summaryrefslogtreecommitdiffabout
path: root/kabc
authorzautrix <zautrix>2005-01-16 23:41:18 (UTC)
committer zautrix <zautrix>2005-01-16 23:41:18 (UTC)
commit33c04477896c52e9cfea2a29facd959f82cbf17a (patch) (unidiff)
treed7e5a882604b3bfb64087738dd61d702d2d96a60 /kabc
parent507b362d42d5eed6277ad17422b6ba61acca636e (diff)
downloadkdepimpi-33c04477896c52e9cfea2a29facd959f82cbf17a.zip
kdepimpi-33c04477896c52e9cfea2a29facd959f82cbf17a.tar.gz
kdepimpi-33c04477896c52e9cfea2a29facd959f82cbf17a.tar.bz2
several fixes
Diffstat (limited to 'kabc') (more/less context) (ignore whitespace changes)
-rw-r--r--kabc/addresseedialog.cpp2
1 files changed, 1 insertions, 1 deletions
diff --git a/kabc/addresseedialog.cpp b/kabc/addresseedialog.cpp
index ae67968..9ea9d04 100644
--- a/kabc/addresseedialog.cpp
+++ b/kabc/addresseedialog.cpp
@@ -1,172 +1,172 @@
1/* 1/*
2 This file is part of libkabc. 2 This file is part of libkabc.
3 Copyright (c) 2001 Cornelius Schumacher <schumacher@kde.org> 3 Copyright (c) 2001 Cornelius Schumacher <schumacher@kde.org>
4 4
5 This library is free software; you can redistribute it and/or 5 This library is free software; you can redistribute it and/or
6 modify it under the terms of the GNU Library General Public 6 modify it under the terms of the GNU Library General Public
7 License as published by the Free Software Foundation; either 7 License as published by the Free Software Foundation; either
8 version 2 of the License, or (at your option) any later version. 8 version 2 of the License, or (at your option) any later version.
9 9
10 This library is distributed in the hope that it will be useful, 10 This library 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 GNU 12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13 Library General Public License for more details. 13 Library General Public License for more details.
14 14
15 You should have received a copy of the GNU Library General Public License 15 You should have received a copy of the GNU Library General Public License
16 along with this library; see the file COPYING.LIB. If not, write to 16 along with this library; see the file COPYING.LIB. If not, write to
17 the Free Software Foundation, Inc., 59 Temple Place - Suite 330, 17 the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
18 Boston, MA 02111-1307, USA. 18 Boston, MA 02111-1307, USA.
19*/ 19*/
20 20
21#include <qlayout.h> 21#include <qlayout.h>
22#include <qpushbutton.h> 22#include <qpushbutton.h>
23#include <qgroupbox.h> 23#include <qgroupbox.h>
24#include <qapplication.h> 24#include <qapplication.h>
25#include <qregexp.h> 25#include <qregexp.h>
26 26
27#include <klocale.h> 27#include <klocale.h>
28#include <kdebug.h> 28#include <kdebug.h>
29#include <kglobalsettings.h> 29#include <kglobalsettings.h>
30 30
31#include "stdaddressbook.h" 31#include "stdaddressbook.h"
32 32
33#include "addresseedialog.h" 33#include "addresseedialog.h"
34//#include "addresseedialog.moc" 34//#include "addresseedialog.moc"
35 35
36using namespace KABC; 36using namespace KABC;
37 37
38AddresseeItem::AddresseeItem( QListView *parent, const Addressee &addressee ) : 38AddresseeItem::AddresseeItem( QListView *parent, const Addressee &addressee ) :
39 QListViewItem( parent ), 39 QListViewItem( parent ),
40 mAddressee( addressee ) 40 mAddressee( addressee )
41{ 41{
42 QString name = addressee.familyName()+", "+ addressee.givenName(); 42 QString name = addressee.familyName()+", "+ addressee.givenName();
43 if ( name.length() == 2 ) 43 if ( name.length() == 2 )
44 name = addressee.realName(); 44 name = addressee.organization();
45 setText( Name,name); 45 setText( Name,name);
46 setText( Email, addressee.preferredEmail() ); 46 setText( Email, addressee.preferredEmail() );
47} 47}
48 48
49QString AddresseeItem::key( int column, bool ) const 49QString AddresseeItem::key( int column, bool ) const
50{ 50{
51 51
52 if (column == Email) { 52 if (column == Email) {
53 QString value = text(Email); 53 QString value = text(Email);
54 int val = value.findRev("@"); 54 int val = value.findRev("@");
55 return value.mid( val) + value.left( val ); 55 return value.mid( val) + value.left( val );
56 } 56 }
57 return text(column).lower(); 57 return text(column).lower();
58} 58}
59 59
60AddresseeDialog::AddresseeDialog( QWidget *parent, bool multiple ) : 60AddresseeDialog::AddresseeDialog( QWidget *parent, bool multiple ) :
61 KDialogBase( KDialogBase::Plain, i18n("Select Addressee"), 61 KDialogBase( KDialogBase::Plain, i18n("Select Addressee"),
62 Ok|Cancel, Ok, parent ), mMultiple( multiple ) 62 Ok|Cancel, Ok, parent ), mMultiple( multiple )
63{ 63{
64 QWidget *topWidget = plainPage(); 64 QWidget *topWidget = plainPage();
65 65
66 QBoxLayout *topLayout = new QHBoxLayout( topWidget ); 66 QBoxLayout *topLayout = new QHBoxLayout( topWidget );
67 QBoxLayout *listLayout = new QVBoxLayout; 67 QBoxLayout *listLayout = new QVBoxLayout;
68 topLayout->addLayout( listLayout ); 68 topLayout->addLayout( listLayout );
69 69
70 mAddresseeList = new KListView( topWidget ); 70 mAddresseeList = new KListView( topWidget );
71 mAddresseeList->addColumn( i18n("Name") ); 71 mAddresseeList->addColumn( i18n("Name") );
72 mAddresseeList->addColumn( i18n("Email") ); 72 mAddresseeList->addColumn( i18n("Email") );
73 mAddresseeList->setAllColumnsShowFocus( true ); 73 mAddresseeList->setAllColumnsShowFocus( true );
74 mAddresseeList->setFullWidth( true ); 74 mAddresseeList->setFullWidth( true );
75 listLayout->addWidget( mAddresseeList ); 75 listLayout->addWidget( mAddresseeList );
76 connect( mAddresseeList, SIGNAL( doubleClicked( QListViewItem * ) ), 76 connect( mAddresseeList, SIGNAL( doubleClicked( QListViewItem * ) ),
77 SLOT( slotOk() ) ); 77 SLOT( slotOk() ) );
78 78
79 mAddresseeEdit = new QLineEdit( topWidget ); 79 mAddresseeEdit = new QLineEdit( topWidget );
80 connect( mAddresseeEdit, SIGNAL( returnPressed() ), 80 connect( mAddresseeEdit, SIGNAL( returnPressed() ),
81 SLOT( loadAddressBook() ) ); 81 SLOT( loadAddressBook() ) );
82 mAddresseeEdit->setFocus(); 82 mAddresseeEdit->setFocus();
83 83
84 listLayout->addWidget( mAddresseeEdit ); 84 listLayout->addWidget( mAddresseeEdit );
85 85
86 if ( mMultiple ) { 86 if ( mMultiple ) {
87 QBoxLayout *selectedLayout = new QVBoxLayout; 87 QBoxLayout *selectedLayout = new QVBoxLayout;
88 topLayout->addLayout( selectedLayout ); 88 topLayout->addLayout( selectedLayout );
89 topLayout->setSpacing( spacingHint() ); 89 topLayout->setSpacing( spacingHint() );
90 90
91 QGroupBox *selectedGroup = new QGroupBox( 1, Horizontal, i18n("Selected"), 91 QGroupBox *selectedGroup = new QGroupBox( 1, Horizontal, i18n("Selected"),
92 topWidget ); 92 topWidget );
93 selectedLayout->addWidget( selectedGroup ); 93 selectedLayout->addWidget( selectedGroup );
94 94
95 mSelectedList = new KListView( selectedGroup ); 95 mSelectedList = new KListView( selectedGroup );
96 mSelectedList->addColumn( i18n("Name") ); 96 mSelectedList->addColumn( i18n("Name") );
97 mSelectedList->addColumn( i18n("Email") ); 97 mSelectedList->addColumn( i18n("Email") );
98 mSelectedList->setAllColumnsShowFocus( true ); 98 mSelectedList->setAllColumnsShowFocus( true );
99 mSelectedList->setFullWidth( true ); 99 mSelectedList->setFullWidth( true );
100 connect( mSelectedList, SIGNAL( doubleClicked( QListViewItem * ) ), 100 connect( mSelectedList, SIGNAL( doubleClicked( QListViewItem * ) ),
101 SLOT( removeSelected() ) ); 101 SLOT( removeSelected() ) );
102 102
103 QPushButton *unselectButton = new QPushButton( i18n("Unselect"), selectedGroup ); 103 QPushButton *unselectButton = new QPushButton( i18n("Unselect"), selectedGroup );
104 connect ( unselectButton, SIGNAL( clicked() ), SLOT( removeSelected() ) ); 104 connect ( unselectButton, SIGNAL( clicked() ), SLOT( removeSelected() ) );
105 105
106 connect( mAddresseeList, SIGNAL( clicked( QListViewItem * ) ), 106 connect( mAddresseeList, SIGNAL( clicked( QListViewItem * ) ),
107 SLOT( addSelected( QListViewItem * ) ) ); 107 SLOT( addSelected( QListViewItem * ) ) );
108 connect( mAddresseeList, SIGNAL( returnPressed( QListViewItem * ) ), 108 connect( mAddresseeList, SIGNAL( returnPressed( QListViewItem * ) ),
109 SLOT( selectNextItem( QListViewItem * ) ) ); 109 SLOT( selectNextItem( QListViewItem * ) ) );
110 110
111 } 111 }
112 112
113 mAddressBook = StdAddressBook::self( true ); 113 mAddressBook = StdAddressBook::self( true );
114 connect( mAddressBook, SIGNAL( addressBookChanged( AddressBook* ) ), 114 connect( mAddressBook, SIGNAL( addressBookChanged( AddressBook* ) ),
115 SLOT( addressBookChanged() ) ); 115 SLOT( addressBookChanged() ) );
116 connect( mAddressBook, SIGNAL( loadingFinished( Resource* ) ), 116 connect( mAddressBook, SIGNAL( loadingFinished( Resource* ) ),
117 SLOT( addressBookChanged() ) ); 117 SLOT( addressBookChanged() ) );
118 118
119 loadAddressBook(); 119 loadAddressBook();
120} 120}
121 121
122AddresseeDialog::~AddresseeDialog() 122AddresseeDialog::~AddresseeDialog()
123{ 123{
124} 124}
125 125
126void AddresseeDialog::loadAddressBook() 126void AddresseeDialog::loadAddressBook()
127{ 127{
128 mAddresseeList->clear(); 128 mAddresseeList->clear();
129 mItemDict.clear(); 129 mItemDict.clear();
130 if ( mAddresseeEdit->text().isEmpty() ) { 130 if ( mAddresseeEdit->text().isEmpty() ) {
131 AddressBook::Iterator it; 131 AddressBook::Iterator it;
132 for( it = mAddressBook->begin(); it != mAddressBook->end(); ++it ) { 132 for( it = mAddressBook->begin(); it != mAddressBook->end(); ++it ) {
133 if ( (*it).uid().left(2) == "la" && (*it).uid().left(19) == QString("last-syncAddressee-") ) 133 if ( (*it).uid().left(2) == "la" && (*it).uid().left(19) == QString("last-syncAddressee-") )
134 continue; 134 continue;
135 new AddresseeItem( mAddresseeList, (*it) ); 135 new AddresseeItem( mAddresseeList, (*it) );
136 } 136 }
137 return; 137 return;
138 } 138 }
139 //mAddresseeEdit->completionObject()->clear(); 139 //mAddresseeEdit->completionObject()->clear();
140 QRegExp re; 140 QRegExp re;
141 re.setWildcard(true); // most people understand these better. 141 re.setWildcard(true); // most people understand these better.
142 re.setCaseSensitive(false); 142 re.setCaseSensitive(false);
143 re.setPattern( "*"+ mAddresseeEdit->text() + "*"); 143 re.setPattern( "*"+ mAddresseeEdit->text() + "*");
144 144
145 AddressBook::Iterator it; 145 AddressBook::Iterator it;
146 for( it = mAddressBook->begin(); it != mAddressBook->end(); ++it ) { 146 for( it = mAddressBook->begin(); it != mAddressBook->end(); ++it ) {
147 if ( (*it).uid().left(2) == "la" && (*it).uid().left(19) == QString("last-syncAddressee-") ) 147 if ( (*it).uid().left(2) == "la" && (*it).uid().left(19) == QString("last-syncAddressee-") )
148 continue; 148 continue;
149 QString name = (*it).familyName()+", "+ (*it).givenName(); 149 QString name = (*it).familyName()+", "+ (*it).givenName();
150 if ( name.length() == 2 ) 150 if ( name.length() == 2 )
151 name = (*it).realName(); 151 name = (*it).realName();
152 name += (*it).preferredEmail(); 152 name += (*it).preferredEmail();
153#if QT_VERSION >= 300 153#if QT_VERSION >= 300
154 if (re.search(name) != -1) 154 if (re.search(name) != -1)
155#else 155#else
156 if (re.match(name) != -1) 156 if (re.match(name) != -1)
157#endif 157#endif
158 AddresseeItem *item = new AddresseeItem( mAddresseeList, (*it) ); 158 AddresseeItem *item = new AddresseeItem( mAddresseeList, (*it) );
159 } 159 }
160} 160}
161 161
162void AddresseeDialog::addCompletionItem( const QString &str, QListViewItem *item ) 162void AddresseeDialog::addCompletionItem( const QString &str, QListViewItem *item )
163{ 163{
164 if ( str.isEmpty() ) return; 164 if ( str.isEmpty() ) return;
165 165
166 mItemDict.insert( str, item ); 166 mItemDict.insert( str, item );
167 //mAddresseeEdit->completionObject()->addItem( str ); 167 //mAddresseeEdit->completionObject()->addItem( str );
168} 168}
169 169
170void AddresseeDialog::selectItem( const QString &str ) 170void AddresseeDialog::selectItem( const QString &str )
171{ 171{
172 if ( str.isEmpty() ) return; 172 if ( str.isEmpty() ) return;