-rw-r--r-- | kabc/addresseedialog.cpp | 2 |
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 int val = value.findRev("@"); return value.mid( val) + value.left( val ); } return text(column).lower(); } AddresseeDialog::AddresseeDialog( QWidget *parent, bool multiple ) : KDialogBase( KDialogBase::Plain, i18n("Select Addressee"), Ok|Cancel, Ok, parent ), mMultiple( multiple ) { QWidget *topWidget = plainPage(); QBoxLayout *topLayout = new QHBoxLayout( topWidget ); QBoxLayout *listLayout = new QVBoxLayout; topLayout->addLayout( listLayout ); mAddresseeList = new KListView( topWidget ); mAddresseeList->addColumn( i18n("Name") ); mAddresseeList->addColumn( i18n("Email") ); mAddresseeList->setAllColumnsShowFocus( true ); mAddresseeList->setFullWidth( true ); listLayout->addWidget( mAddresseeList ); connect( mAddresseeList, SIGNAL( doubleClicked( QListViewItem * ) ), SLOT( slotOk() ) ); mAddresseeEdit = new QLineEdit( topWidget ); connect( mAddresseeEdit, SIGNAL( returnPressed() ), SLOT( loadAddressBook() ) ); mAddresseeEdit->setFocus(); listLayout->addWidget( mAddresseeEdit ); if ( mMultiple ) { QBoxLayout *selectedLayout = new QVBoxLayout; topLayout->addLayout( selectedLayout ); topLayout->setSpacing( spacingHint() ); QGroupBox *selectedGroup = new QGroupBox( 1, Horizontal, i18n("Selected"), topWidget ); selectedLayout->addWidget( selectedGroup ); mSelectedList = new KListView( selectedGroup ); mSelectedList->addColumn( i18n("Name") ); mSelectedList->addColumn( i18n("Email") ); mSelectedList->setAllColumnsShowFocus( true ); mSelectedList->setFullWidth( true ); connect( mSelectedList, SIGNAL( doubleClicked( QListViewItem * ) ), SLOT( removeSelected() ) ); QPushButton *unselectButton = new QPushButton( i18n("Unselect"), selectedGroup ); connect ( unselectButton, SIGNAL( clicked() ), SLOT( removeSelected() ) ); connect( mAddresseeList, SIGNAL( clicked( QListViewItem * ) ), SLOT( addSelected( QListViewItem * ) ) ); connect( mAddresseeList, SIGNAL( returnPressed( QListViewItem * ) ), SLOT( selectNextItem( QListViewItem * ) ) ); } mAddressBook = StdAddressBook::self( true ); connect( mAddressBook, SIGNAL( addressBookChanged( AddressBook* ) ), SLOT( addressBookChanged() ) ); connect( mAddressBook, SIGNAL( loadingFinished( Resource* ) ), SLOT( addressBookChanged() ) ); loadAddressBook(); } AddresseeDialog::~AddresseeDialog() { } void AddresseeDialog::loadAddressBook() { mAddresseeList->clear(); mItemDict.clear(); if ( mAddresseeEdit->text().isEmpty() ) { AddressBook::Iterator it; for( it = mAddressBook->begin(); it != mAddressBook->end(); ++it ) { new AddresseeItem( mAddresseeList, (*it) ); } return; } //mAddresseeEdit->completionObject()->clear(); QRegExp re; re.setWildcard(true); // most people understand these better. re.setCaseSensitive(false); re.setPattern( "*"+ mAddresseeEdit->text() + "*"); AddressBook::Iterator it; for( it = mAddressBook->begin(); it != mAddressBook->end(); ++it ) { QString name = (*it).familyName()+", "+ (*it).givenName(); if ( name.length() == 2 ) name = (*it).realName(); name += (*it).preferredEmail(); #if QT_VERSION >= 300 - if (re.search(name)) != -1) + if (re.search(name) != -1) #else if (re.match(name) != -1) #endif AddresseeItem *item = new AddresseeItem( mAddresseeList, (*it) ); } } void AddresseeDialog::addCompletionItem( const QString &str, QListViewItem *item ) { if ( str.isEmpty() ) return; mItemDict.insert( str, item ); //mAddresseeEdit->completionObject()->addItem( str ); } void AddresseeDialog::selectItem( const QString &str ) { if ( str.isEmpty() ) return; QListViewItem *item = mItemDict.find( str ); if ( item ) { mAddresseeList->blockSignals( true ); mAddresseeList->setSelected( item, true ); mAddresseeList->ensureItemVisible( item ); mAddresseeList->blockSignals( false ); } } void AddresseeDialog::updateEdit( QListViewItem *item ) { mAddresseeEdit->setText( item->text( 0 ) ); mAddresseeEdit->setSelection( 0, item->text( 0 ).length() ); } void AddresseeDialog::selectNextItem( QListViewItem *item ) { addSelected( item ); QListViewItem *next = item->nextSibling(); if ( next ) { next->setSelected( true ); item->setSelected( false ); mAddresseeList->setCurrentItem( next ); } } void AddresseeDialog::addSelected( QListViewItem *item ) { AddresseeItem *addrItem = (AddresseeItem *)( item ); if ( !addrItem ) return; Addressee a = addrItem->addressee(); QListViewItem *selectedItem = mSelectedDict.find( a.uid() ); if ( !selectedItem ) { selectedItem = new AddresseeItem( mSelectedList, a ); mSelectedDict.insert( a.uid(), selectedItem ); } } void AddresseeDialog::removeSelected() { QListViewItem *item = mSelectedList->selectedItem(); AddresseeItem *addrItem = (AddresseeItem *)( item ); if ( !addrItem ) return; QListViewItem *next = item->nextSibling(); mSelectedDict.remove( addrItem->addressee().uid() ); delete addrItem; if ( next ) next->setSelected( true ); } Addressee AddresseeDialog::addressee() { AddresseeItem *aItem = 0; if ( mMultiple ) aItem = (AddresseeItem *)( mSelectedList->firstChild() ); else aItem = (AddresseeItem *)( mAddresseeList->selectedItem() ); if (aItem) return aItem->addressee(); return Addressee(); } Addressee::List AddresseeDialog::addressees() { Addressee::List al; AddresseeItem *aItem = 0; if ( mMultiple ) { QListViewItem *item = mSelectedList->firstChild(); while( item ) { aItem = (AddresseeItem *)( item ); if ( aItem ) al.append( aItem->addressee() ); item = item->nextSibling(); } |