Diffstat (limited to 'kaddressbook/views/kaddressbookiconview.cpp') (more/less context) (ignore whitespace changes)
-rw-r--r-- | kaddressbook/views/kaddressbookiconview.cpp | 47 |
1 files changed, 47 insertions, 0 deletions
diff --git a/kaddressbook/views/kaddressbookiconview.cpp b/kaddressbook/views/kaddressbookiconview.cpp index 50ff285..78d63b0 100644 --- a/kaddressbook/views/kaddressbookiconview.cpp +++ b/kaddressbook/views/kaddressbookiconview.cpp | |||
@@ -87,24 +87,25 @@ AddresseeIconView::AddresseeIconView(QWidget *parent, const char *name) | |||
87 | 87 | ||
88 | #ifndef KAB_EMBEDDED | 88 | #ifndef KAB_EMBEDDED |
89 | 89 | ||
90 | connect(this, SIGNAL(dropped(QDropEvent*, const QValueList<QIconDragItem>&)), | 90 | connect(this, SIGNAL(dropped(QDropEvent*, const QValueList<QIconDragItem>&)), |
91 | this, SLOT(itemDropped(QDropEvent*, const QValueList<QIconDragItem>&))); | 91 | this, SLOT(itemDropped(QDropEvent*, const QValueList<QIconDragItem>&))); |
92 | #endif //KAB_EMBEDDED | 92 | #endif //KAB_EMBEDDED |
93 | } | 93 | } |
94 | 94 | ||
95 | AddresseeIconView::~AddresseeIconView() | 95 | AddresseeIconView::~AddresseeIconView() |
96 | { | 96 | { |
97 | } | 97 | } |
98 | 98 | ||
99 | |||
99 | void AddresseeIconView::itemDropped(QDropEvent *e, | 100 | void AddresseeIconView::itemDropped(QDropEvent *e, |
100 | const QValueList<QIconDragItem> &) | 101 | const QValueList<QIconDragItem> &) |
101 | { | 102 | { |
102 | emit addresseeDropped(e); | 103 | emit addresseeDropped(e); |
103 | } | 104 | } |
104 | 105 | ||
105 | QDragObject *AddresseeIconView::dragObject() | 106 | QDragObject *AddresseeIconView::dragObject() |
106 | { | 107 | { |
107 | emit startAddresseeDrag(); | 108 | emit startAddresseeDrag(); |
108 | 109 | ||
109 | // We never want IconView to start the drag | 110 | // We never want IconView to start the drag |
110 | return 0; | 111 | return 0; |
@@ -223,25 +224,71 @@ void KAddressBookIconView::readConfig(KConfig *config) | |||
223 | /*US | 224 | /*US |
224 | if (KABPrefs::instance()->mHonorSingleClick) | 225 | if (KABPrefs::instance()->mHonorSingleClick) |
225 | connect(mIconView, SIGNAL(executed(QIconViewItem *)), | 226 | connect(mIconView, SIGNAL(executed(QIconViewItem *)), |
226 | this, SLOT(addresseeExecuted(QIconViewItem *))); | 227 | this, SLOT(addresseeExecuted(QIconViewItem *))); |
227 | else | 228 | else |
228 | connect(mIconView, SIGNAL(doubleClicked(QIconViewItem *)), | 229 | connect(mIconView, SIGNAL(doubleClicked(QIconViewItem *)), |
229 | this, SLOT(addresseeExecuted(QIconViewItem *))); | 230 | this, SLOT(addresseeExecuted(QIconViewItem *))); |
230 | */ | 231 | */ |
231 | connect(mIconView, SIGNAL(selectionChanged(QIconViewItem *)), | 232 | connect(mIconView, SIGNAL(selectionChanged(QIconViewItem *)), |
232 | this, SLOT(addresseeExecuted(QIconViewItem *))); | 233 | this, SLOT(addresseeExecuted(QIconViewItem *))); |
233 | 234 | ||
234 | } | 235 | } |
236 | void KAddressBookIconView::doSearch( const QString& s ,KABC::Field *field ) | ||
237 | { | ||
238 | mIconView->clear(); | ||
239 | mIconList.clear(); | ||
240 | if ( s.isEmpty() || s == "*" ) { | ||
241 | refresh(); | ||
242 | return; | ||
243 | } | ||
244 | QString pattern = s.lower()+"*"; | ||
245 | QRegExp re; | ||
246 | re.setWildcard(true); // most people understand these better. | ||
247 | re.setCaseSensitive(false); | ||
248 | re.setPattern( pattern ); | ||
249 | if (!re.isValid()) | ||
250 | return; | ||
251 | KABC::Addressee::List addresseeList = addressees(); | ||
252 | KABC::Addressee::List::Iterator it; | ||
253 | if ( field ) { | ||
254 | for (it = addresseeList.begin(); it != addresseeList.end(); ++it ) { | ||
255 | #if QT_VERSION >= 300 | ||
256 | if (re.search(field->value( *it ).lower()) != -1) | ||
257 | #else | ||
258 | if (re.match(field->value( *it ).lower()) != -1) | ||
259 | #endif | ||
260 | mIconList.append(new AddresseeIconViewItem( fields(), addressBook(), *it, mIconView )); | ||
261 | |||
235 | 262 | ||
263 | } | ||
264 | } else { | ||
265 | KABC::Field::List fieldList = fields(); | ||
266 | KABC::Field::List::ConstIterator fieldIt; | ||
267 | for (it = addresseeList.begin(); it != addresseeList.end(); ++it ) { | ||
268 | for ( fieldIt = fieldList.begin(); fieldIt != fieldList.end(); ++fieldIt ) { | ||
269 | #if QT_VERSION >= 300 | ||
270 | if (re.search((*fieldIt)->value( *it ).lower()) != -1) | ||
271 | #else | ||
272 | if (re.match((*fieldIt)->value( *it ).lower()) != -1) | ||
273 | #endif | ||
274 | { | ||
275 | mIconList.append( new AddresseeIconViewItem( fields(), addressBook(), *it, mIconView )); | ||
276 | continue; | ||
277 | } | ||
278 | } | ||
279 | } | ||
280 | } | ||
281 | mIconView->arrangeItemsInGrid( true ); | ||
282 | } | ||
236 | QStringList KAddressBookIconView::selectedUids() | 283 | QStringList KAddressBookIconView::selectedUids() |
237 | { | 284 | { |
238 | QStringList uidList; | 285 | QStringList uidList; |
239 | QIconViewItem *item; | 286 | QIconViewItem *item; |
240 | AddresseeIconViewItem *aItem; | 287 | AddresseeIconViewItem *aItem; |
241 | 288 | ||
242 | for (item = mIconView->firstItem(); item; item = item->nextItem()) | 289 | for (item = mIconView->firstItem(); item; item = item->nextItem()) |
243 | { | 290 | { |
244 | if (item->isSelected()) | 291 | if (item->isSelected()) |
245 | { | 292 | { |
246 | #ifndef KAB_EMBEDDED | 293 | #ifndef KAB_EMBEDDED |
247 | aItem = dynamic_cast<AddresseeIconViewItem*>(item); | 294 | aItem = dynamic_cast<AddresseeIconViewItem*>(item); |