summaryrefslogtreecommitdiffabout
path: root/kaddressbook/kaddressbookview.h
Unidiff
Diffstat (limited to 'kaddressbook/kaddressbookview.h') (more/less context) (ignore whitespace changes)
-rw-r--r--kaddressbook/kaddressbookview.h2
1 files changed, 2 insertions, 0 deletions
diff --git a/kaddressbook/kaddressbookview.h b/kaddressbook/kaddressbookview.h
index 17106e8..c134e96 100644
--- a/kaddressbook/kaddressbookview.h
+++ b/kaddressbook/kaddressbookview.h
@@ -1,163 +1,165 @@
1/* 1/*
2 This file is part of KAddressBook. 2 This file is part of KAddressBook.
3 Copyright (c) 2002 Mike Pilone <mpilone@slac.com> 3 Copyright (c) 2002 Mike Pilone <mpilone@slac.com>
4 4
5 This program is free software; you can redistribute it and/or modify 5 This program is free software; you can redistribute it and/or modify
6 it under the terms of the GNU General Public License as published by 6 it under the terms of the GNU General Public License as published by
7 the Free Software Foundation; either version 2 of the License, or 7 the Free Software Foundation; either version 2 of the License, or
8 (at your option) any later version. 8 (at your option) any later version.
9 9
10 This program is distributed in the hope that it will be useful, 10 This program is distributed in the hope that it will be useful,
11 but WITHOUT ANY WARRANTY; without even the implied warranty of 11 but WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 GNU General Public License for more details. 13 GNU General Public License for more details.
14 14
15 You should have received a copy of the GNU General Public License 15 You should have received a copy of the GNU General Public License
16 along with this program; if not, write to the Free Software 16 along with this program; if not, write to the Free Software
17 Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. 17 Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
18 18
19 As a special exception, permission is given to link this program 19 As a special exception, permission is given to link this program
20 with any edition of Qt, and distribute the resulting executable, 20 with any edition of Qt, and distribute the resulting executable,
21 without including the source code for Qt in the source distribution. 21 without including the source code for Qt in the source distribution.
22*/ 22*/
23 23
24#ifndef KADDRESSBOOKVIEW_H 24#ifndef KADDRESSBOOKVIEW_H
25#define KADDRESSBOOKVIEW_H 25#define KADDRESSBOOKVIEW_H
26 26
27#ifndef KAB_EMBEDDED 27#ifndef KAB_EMBEDDED
28#include <klibloader.h> 28#include <klibloader.h>
29#endif //KAB_EMBEDDED 29#endif //KAB_EMBEDDED
30 30
31class KConfig; 31class KConfig;
32class QDropEvent; 32class QDropEvent;
33 33
34#include <qstringlist.h> 34#include <qstringlist.h>
35#include <kabc/field.h> 35#include <kabc/field.h>
36#include <qwidget.h> 36#include <qwidget.h>
37 37
38#include "viewconfigurewidget.h" 38#include "viewconfigurewidget.h"
39#include "filter.h" 39#include "filter.h"
40 40
41namespace KABC { class AddressBook; } 41namespace KABC { class AddressBook; }
42 42
43/** 43/**
44 Base class for all views in kaddressbook. This class implements 44 Base class for all views in kaddressbook. This class implements
45 all the common methods needed to provide a view to the user. 45 all the common methods needed to provide a view to the user.
46 46
47 To implement a specific view (table, card, etc), just inherit from 47 To implement a specific view (table, card, etc), just inherit from
48 this class and implement all the pure virtuals. 48 this class and implement all the pure virtuals.
49 49
50 @author Mike Pilone <mpilone@slac.com> 50 @author Mike Pilone <mpilone@slac.com>
51 */ 51 */
52class KAddressBookView : public QWidget 52class KAddressBookView : public QWidget
53{ 53{
54 Q_OBJECT 54 Q_OBJECT
55 55
56 public: 56 public:
57 enum DefaultFilterType { None = 0, Active = 1, Specific = 2 }; 57 enum DefaultFilterType { None = 0, Active = 1, Specific = 2 };
58 58
59 KAddressBookView( KABC::AddressBook *ab, QWidget *parent, const char *name ); 59 KAddressBookView( KABC::AddressBook *ab, QWidget *parent, const char *name );
60 virtual ~KAddressBookView(); 60 virtual ~KAddressBookView();
61 61
62 /** 62 /**
63 Must be overloaded in subclasses. Should return a list of 63 Must be overloaded in subclasses. Should return a list of
64 all the uids of selected contacts. 64 all the uids of selected contacts.
65 */ 65 */
66 virtual QStringList selectedUids() = 0; 66 virtual QStringList selectedUids() = 0;
67 virtual void doSearch( const QString& s ,KABC::Field *field ) = 0; 67 virtual void doSearch( const QString& s ,KABC::Field *field ) = 0;
68 virtual void scrollUP() = 0;
69 virtual void scrollDOWN() = 0;
68 70
69 /** 71 /**
70 Called whenever this view should read the config. This can be used 72 Called whenever this view should read the config. This can be used
71 as a sign that the config has changed, therefore the view should 73 as a sign that the config has changed, therefore the view should
72 assume the worst and rebuild itself if necessary. For example, 74 assume the worst and rebuild itself if necessary. For example,
73 in a table view this method may be called when the user adds or 75 in a table view this method may be called when the user adds or
74 removes columns from the view. 76 removes columns from the view.
75 77
76 If overloaded in the subclass, do not forget to call super class's 78 If overloaded in the subclass, do not forget to call super class's
77 method. 79 method.
78 80
79 @param config The KConfig object to read from. The group will already 81 @param config The KConfig object to read from. The group will already
80 be set, so do not change the group. 82 be set, so do not change the group.
81 */ 83 */
82 virtual void readConfig( KConfig *config ); 84 virtual void readConfig( KConfig *config );
83 85
84 /** 86 /**
85 Called whenever this view should write the config. The view should not 87 Called whenever this view should write the config. The view should not
86 write out information handled by the application, such as which fields 88 write out information handled by the application, such as which fields
87 are visible. The view should only write out information specific 89 are visible. The view should only write out information specific
88 to itself (i.e.: All information in the ViewConfigWidget) 90 to itself (i.e.: All information in the ViewConfigWidget)
89 91
90 If overloaded in the subclass, do not forget to call the super class's 92 If overloaded in the subclass, do not forget to call the super class's
91 method. 93 method.
92 94
93 @param config The KConfig object to read from. The group will already 95 @param config The KConfig object to read from. The group will already
94 be set, so do not change the group. 96 be set, so do not change the group.
95 */ 97 */
96 virtual void writeConfig( KConfig *config ); 98 virtual void writeConfig( KConfig *config );
97 99
98 /** 100 /**
99 Returns a QString with all the selected email addresses concatenated 101 Returns a QString with all the selected email addresses concatenated
100 together with a ',' seperator. 102 together with a ',' seperator.
101 */ 103 */
102 virtual QString selectedEmails(); 104 virtual QString selectedEmails();
103 105
104 /** 106 /**
105 Return the type of the view: Icon, Table, etc. Please make sure that 107 Return the type of the view: Icon, Table, etc. Please make sure that
106 this is the same value that ViewWrapper::type() will return for your 108 this is the same value that ViewWrapper::type() will return for your
107 view. 109 view.
108 */ 110 */
109 virtual QString type() const = 0; 111 virtual QString type() const = 0;
110 112
111 /** 113 /**
112 Returns a list of the fields that should be displayed. The list 114 Returns a list of the fields that should be displayed. The list
113 is composed of the fields proper names (ie: Home Address), so 115 is composed of the fields proper names (ie: Home Address), so
114 the view may need to translate them in order to get the 116 the view may need to translate them in order to get the
115 value from the addressee. 117 value from the addressee.
116 118
117 This list is generated from the config file, so it is advisable to call 119 This list is generated from the config file, so it is advisable to call
118 this method whenever a readConfig() is called in order to get the newest 120 this method whenever a readConfig() is called in order to get the newest
119 list of fields. 121 list of fields.
120 */ 122 */
121 KABC::Field::List fields() const; 123 KABC::Field::List fields() const;
122 124
123 /** 125 /**
124 Sets the active filter. This filter will be used for filtering 126 Sets the active filter. This filter will be used for filtering
125 the list of addressees to display. The view will <b>not</b> 127 the list of addressees to display. The view will <b>not</b>
126 automatically refresh itself, so in most cases you will want to call 128 automatically refresh itself, so in most cases you will want to call
127 KAddressBookView::refresh() after this method. 129 KAddressBookView::refresh() after this method.
128 */ 130 */
129 void setFilter( const Filter& ); 131 void setFilter( const Filter& );
130 132
131 /** 133 /**
132 @return The default filter type selection. If the selection 134 @return The default filter type selection. If the selection
133 is SpecificFilter, the name of the filter can be retrieved with 135 is SpecificFilter, the name of the filter can be retrieved with
134 defaultFilterName() 136 defaultFilterName()
135 */ 137 */
136 DefaultFilterType defaultFilterType() const; 138 DefaultFilterType defaultFilterType() const;
137 139
138 /** 140 /**
139 @return The name of the default filter. This string is 141 @return The name of the default filter. This string is
140 only valid if defaultFilterType() is returning SpecificFilter. 142 only valid if defaultFilterType() is returning SpecificFilter.
141 */ 143 */
142 const QString &defaultFilterName() const; 144 const QString &defaultFilterName() const;
143 145
144 /** 146 /**
145 @return The address book. 147 @return The address book.
146 */ 148 */
147 KABC::AddressBook *addressBook() const; 149 KABC::AddressBook *addressBook() const;
148 150
149 public slots: 151 public slots:
150 /** 152 /**
151 Must be overloaded in subclasses to refresh the view. 153 Must be overloaded in subclasses to refresh the view.
152 Refreshing includes updating the view to ensure that only items 154 Refreshing includes updating the view to ensure that only items
153 in the document are visible. If <i>uid</i> is valid, only the 155 in the document are visible. If <i>uid</i> is valid, only the
154 addressee with uid needs to be refreshed. This is an optimization 156 addressee with uid needs to be refreshed. This is an optimization
155 only. 157 only.
156 */ 158 */
157 virtual void refresh( QString uid = QString::null ) = 0; 159 virtual void refresh( QString uid = QString::null ) = 0;
158 160
159 /** 161 /**
160 This method must be overloaded in subclasses. Select (highlight) 162 This method must be overloaded in subclasses. Select (highlight)
161 the addressee matching <i>uid</i>. If uid 163 the addressee matching <i>uid</i>. If uid
162 is equal to QString::null, then all addressees should be selected. 164 is equal to QString::null, then all addressees should be selected.
163 */ 165 */