summaryrefslogtreecommitdiffabout
path: root/kabc/addresseedialog.cpp
Unidiff
Diffstat (limited to 'kabc/addresseedialog.cpp') (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 cb6c12f..eb9bfc9 100644
--- a/kabc/addresseedialog.cpp
+++ b/kabc/addresseedialog.cpp
@@ -54,193 +54,193 @@ QString AddresseeItem::key( int column, bool ) const
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 new AddresseeItem( mAddresseeList, (*it) ); 133 new AddresseeItem( mAddresseeList, (*it) );
134 } 134 }
135 return; 135 return;
136 } 136 }
137 //mAddresseeEdit->completionObject()->clear(); 137 //mAddresseeEdit->completionObject()->clear();
138 QRegExp re; 138 QRegExp re;
139 re.setWildcard(true); // most people understand these better. 139 re.setWildcard(true); // most people understand these better.
140 re.setCaseSensitive(false); 140 re.setCaseSensitive(false);
141 re.setPattern( "*"+ mAddresseeEdit->text() + "*"); 141 re.setPattern( "*"+ mAddresseeEdit->text() + "*");
142 142
143 AddressBook::Iterator it; 143 AddressBook::Iterator it;
144 for( it = mAddressBook->begin(); it != mAddressBook->end(); ++it ) { 144 for( it = mAddressBook->begin(); it != mAddressBook->end(); ++it ) {
145 QString name = (*it).familyName()+", "+ (*it).givenName(); 145 QString name = (*it).familyName()+", "+ (*it).givenName();
146 if ( name.length() == 2 ) 146 if ( name.length() == 2 )
147 name = (*it).realName(); 147 name = (*it).realName();
148 name += (*it).preferredEmail(); 148 name += (*it).preferredEmail();
149#if QT_VERSION >= 300 149#if QT_VERSION >= 300
150 if (re.search(name)) != -1) 150 if (re.search(name) != -1)
151#else 151#else
152 if (re.match(name) != -1) 152 if (re.match(name) != -1)
153#endif 153#endif
154 AddresseeItem *item = new AddresseeItem( mAddresseeList, (*it) ); 154 AddresseeItem *item = new AddresseeItem( mAddresseeList, (*it) );
155 } 155 }
156} 156}
157 157
158void AddresseeDialog::addCompletionItem( const QString &str, QListViewItem *item ) 158void AddresseeDialog::addCompletionItem( const QString &str, QListViewItem *item )
159{ 159{
160 if ( str.isEmpty() ) return; 160 if ( str.isEmpty() ) return;
161 161
162 mItemDict.insert( str, item ); 162 mItemDict.insert( str, item );
163 //mAddresseeEdit->completionObject()->addItem( str ); 163 //mAddresseeEdit->completionObject()->addItem( str );
164} 164}
165 165
166void AddresseeDialog::selectItem( const QString &str ) 166void AddresseeDialog::selectItem( const QString &str )
167{ 167{
168 if ( str.isEmpty() ) return; 168 if ( str.isEmpty() ) return;
169 169
170 QListViewItem *item = mItemDict.find( str ); 170 QListViewItem *item = mItemDict.find( str );
171 if ( item ) { 171 if ( item ) {
172 mAddresseeList->blockSignals( true ); 172 mAddresseeList->blockSignals( true );
173 mAddresseeList->setSelected( item, true ); 173 mAddresseeList->setSelected( item, true );
174 mAddresseeList->ensureItemVisible( item ); 174 mAddresseeList->ensureItemVisible( item );
175 mAddresseeList->blockSignals( false ); 175 mAddresseeList->blockSignals( false );
176 } 176 }
177} 177}
178 178
179void AddresseeDialog::updateEdit( QListViewItem *item ) 179void AddresseeDialog::updateEdit( QListViewItem *item )
180{ 180{
181 mAddresseeEdit->setText( item->text( 0 ) ); 181 mAddresseeEdit->setText( item->text( 0 ) );
182 mAddresseeEdit->setSelection( 0, item->text( 0 ).length() ); 182 mAddresseeEdit->setSelection( 0, item->text( 0 ).length() );
183} 183}
184 184
185void AddresseeDialog::selectNextItem( QListViewItem *item ) 185void AddresseeDialog::selectNextItem( QListViewItem *item )
186{ 186{
187 addSelected( item ); 187 addSelected( item );
188 QListViewItem *next = item->nextSibling(); 188 QListViewItem *next = item->nextSibling();
189 if ( next ) { 189 if ( next ) {
190 next->setSelected( true ); 190 next->setSelected( true );
191 item->setSelected( false ); 191 item->setSelected( false );
192 mAddresseeList->setCurrentItem( next ); 192 mAddresseeList->setCurrentItem( next );
193 } 193 }
194} 194}
195void AddresseeDialog::addSelected( QListViewItem *item ) 195void AddresseeDialog::addSelected( QListViewItem *item )
196{ 196{
197 AddresseeItem *addrItem = (AddresseeItem *)( item ); 197 AddresseeItem *addrItem = (AddresseeItem *)( item );
198 if ( !addrItem ) return; 198 if ( !addrItem ) return;
199 199
200 Addressee a = addrItem->addressee(); 200 Addressee a = addrItem->addressee();
201 201
202 QListViewItem *selectedItem = mSelectedDict.find( a.uid() ); 202 QListViewItem *selectedItem = mSelectedDict.find( a.uid() );
203 if ( !selectedItem ) { 203 if ( !selectedItem ) {
204 selectedItem = new AddresseeItem( mSelectedList, a ); 204 selectedItem = new AddresseeItem( mSelectedList, a );
205 mSelectedDict.insert( a.uid(), selectedItem ); 205 mSelectedDict.insert( a.uid(), selectedItem );
206 } 206 }
207 207
208} 208}
209 209
210void AddresseeDialog::removeSelected() 210void AddresseeDialog::removeSelected()
211{ 211{
212 QListViewItem *item = mSelectedList->selectedItem(); 212 QListViewItem *item = mSelectedList->selectedItem();
213 AddresseeItem *addrItem = (AddresseeItem *)( item ); 213 AddresseeItem *addrItem = (AddresseeItem *)( item );
214 if ( !addrItem ) return; 214 if ( !addrItem ) return;
215 QListViewItem *next = item->nextSibling(); 215 QListViewItem *next = item->nextSibling();
216 mSelectedDict.remove( addrItem->addressee().uid() ); 216 mSelectedDict.remove( addrItem->addressee().uid() );
217 delete addrItem; 217 delete addrItem;
218 if ( next ) 218 if ( next )
219 next->setSelected( true ); 219 next->setSelected( true );
220} 220}
221 221
222Addressee AddresseeDialog::addressee() 222Addressee AddresseeDialog::addressee()
223{ 223{
224 AddresseeItem *aItem = 0; 224 AddresseeItem *aItem = 0;
225 225
226 if ( mMultiple ) 226 if ( mMultiple )
227 aItem = (AddresseeItem *)( mSelectedList->firstChild() ); 227 aItem = (AddresseeItem *)( mSelectedList->firstChild() );
228 else 228 else
229 aItem = (AddresseeItem *)( mAddresseeList->selectedItem() ); 229 aItem = (AddresseeItem *)( mAddresseeList->selectedItem() );
230 230
231 if (aItem) return aItem->addressee(); 231 if (aItem) return aItem->addressee();
232 return Addressee(); 232 return Addressee();
233} 233}
234 234
235Addressee::List AddresseeDialog::addressees() 235Addressee::List AddresseeDialog::addressees()
236{ 236{
237 Addressee::List al; 237 Addressee::List al;
238 AddresseeItem *aItem = 0; 238 AddresseeItem *aItem = 0;
239 239
240 if ( mMultiple ) { 240 if ( mMultiple ) {
241 QListViewItem *item = mSelectedList->firstChild(); 241 QListViewItem *item = mSelectedList->firstChild();
242 while( item ) { 242 while( item ) {
243 aItem = (AddresseeItem *)( item ); 243 aItem = (AddresseeItem *)( item );
244 if ( aItem ) al.append( aItem->addressee() ); 244 if ( aItem ) al.append( aItem->addressee() );
245 item = item->nextSibling(); 245 item = item->nextSibling();
246 } 246 }