summaryrefslogtreecommitdiffstats
path: root/kresources/slox/sloxbase.h
blob: 90afb16fa1fadd0fa5fb357a04a24a8cce109c7c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
/*
    Copyright (c) 2005 by Volker Krause <volker.krause@rwth-aachen.de>
    Copyright (c) 2005 by Florian Schröder <florian@deltatauchi.de>

    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
    the Free Software Foundation; either version 2 of the License, or
    (at your option) any later version.

    This program is distributed in the hope that it will be useful,
    but WITHOUT ANY WARRANTY; without even the implied warranty of
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
    GNU General Public License for more details.

    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
    Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
*/

#ifndef SLOXUTILS_H
#define SLOXUTILS_H

#include <qstring.h>
#include <kdepimmacros.h>

namespace KRES {
class Resource;
}

class KDE_EXPORT SloxBase {
  public:
    enum Field {
      ObjectId = 0, // system fields
      ClientId,
      FolderId,
      LastSync,
      ObjectType,
      ObjectStatus,
      CreatedBy,
      Categories,
      IncidenceTitle, // incidence fields
      Description,
      Participants,
      Participant,
      Reminder,
      RecurrenceType, // recurrence fields
      RecurrenceEnd,
      RecurrenceDailyFreq,
      RecurrenceWeeklyFreq,
      RecurrenceMonthlyFreq,
      RecurrenceMonthlyDay,
      RecurrenceYearlyDay,
      RecurrenceYearlyMonth,
      RecurrenceMonthly2Freq,
      RecurrenceMonthly2Day,
      RecurrenceMonthly2Pos,
      RecurrenceYearly2Day,
      RecurrenceYearly2Pos,
      RecurrenceYearly2Month,
      RecurrenceDelEx,
      EventBegin,   // event fields
      EventEnd,
      Location,
      FullTime,
      TaskBegin,    // task fields
      TaskEnd,
      Priority,
      PercentComplete,
      FamilyName,   // contact fields
      GivenName,
      SecondName,
      DisplayName,
      Title,
      Suffix,
      Role,
      Organization,
      Department,
      PrimaryEmail,
      SecondaryEmail1,
      SecondaryEmail2,
      SecondaryEmail3,
      Birthday,
      Url,
      Comment,
      Image,
      InstantMsg,
      Office,
      Profession,
      ManagersName,
      AssistantsName,
      SpousesName,
      Anniversary,
      NickName,
      Street,      // address fields
      PostalCode,
      City,
      State,
      Country,
      HomePrefix,  // address type prefixes
      BusinessPrefix,
      OtherPrefix
    };

    SloxBase( KRES::Resource *res );

    QString decodeText( const QString &text );
    QString fieldName( Field f );
    QString resType() const;
    QString boolToStr( bool b );

  private:
    KRES::Resource *mRes;
};

#endif