-rw-r--r-- | kabc/addresseedialog.cpp | 38 |
1 files changed, 27 insertions, 11 deletions
diff --git a/kabc/addresseedialog.cpp b/kabc/addresseedialog.cpp index 34f4160..b3429e3 100644 --- a/kabc/addresseedialog.cpp +++ b/kabc/addresseedialog.cpp @@ -1,151 +1,167 @@ /* This file is part of libkabc. Copyright (c) 2001 Cornelius Schumacher <schumacher@kde.org> This library is free software; you can redistribute it and/or modify it under the terms of the GNU Library General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public License for more details. You should have received a copy of the GNU Library General Public License along with this library; see the file COPYING.LIB. If not, write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ #include <qlayout.h> #include <qpushbutton.h> #include <qgroupbox.h> #include <qapplication.h> #include <qregexp.h> +#include <qvbox.h> +#include <qlabel.h> #include <klocale.h> #include <kdebug.h> #include <kglobalsettings.h> #include "stdaddressbook.h" #include "addresseedialog.h" +#include "KDGanttMinimizeSplitter.h" //#include "addresseedialog.moc" using namespace KABC; AddresseeItem::AddresseeItem( QListView *parent, const Addressee &addressee ) : QListViewItem( parent ), mAddressee( addressee ) { QString name = addressee.familyName()+", "+ addressee.givenName(); if ( name.length() == 2 ) name = addressee.organization(); setText( Name,name); setText( Email, addressee.preferredEmail() ); } QString AddresseeItem::key( int column, bool ) const { if (column == Email) { QString value = text(Email); 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 ) + Ok|Cancel, No, parent ), mMultiple( multiple ) { QWidget *topWidget = plainPage(); QBoxLayout *topLayout = new QHBoxLayout( topWidget ); - QBoxLayout *listLayout = new QVBoxLayout; - topLayout->addLayout( listLayout ); - mAddresseeList = new KListView( topWidget ); + + KDGanttMinimizeSplitter* mMiniSplitter = new KDGanttMinimizeSplitter( Qt::Horizontal, topWidget); + mMiniSplitter->setMinimizeDirection ( KDGanttMinimizeSplitter::Right ); + + topLayout->addWidget(mMiniSplitter ); + + QWidget *listWidget = new QWidget( mMiniSplitter ); + + QBoxLayout *listLayout = new QVBoxLayout (listWidget) ; + //topLayout->addLayout( listLayout ); + + mAddresseeList = new KListView( listWidget ); 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 ); + mAddresseeEdit = new QLineEdit( listWidget ); connect( mAddresseeEdit, SIGNAL( returnPressed() ), SLOT( loadAddressBook() ) ); mAddresseeEdit->setFocus(); listLayout->addWidget( mAddresseeEdit ); if ( mMultiple ) { - QBoxLayout *selectedLayout = new QVBoxLayout; - topLayout->addLayout( selectedLayout ); - topLayout->setSpacing( spacingHint() ); + //QBoxLayout *selectedLayout = new QVBoxLayout; + //topLayout->addLayout( selectedLayout ); + //topLayout->setSpacing( spacingHint() ); - QGroupBox *selectedGroup = new QGroupBox( 1, Horizontal, i18n("Selected"), - topWidget ); - selectedLayout->addWidget( selectedGroup ); + QVBox *selectedGroup = new QVBox( mMiniSplitter ); + new QLabel ( i18n("Selected:"), selectedGroup ); + //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(); + QValueList<int> splitterSize; + splitterSize.append( ( width() / 5 ) * 3 ); + splitterSize.append( ( width() / 5 ) *2 ); + mMiniSplitter->setSizes( splitterSize ); } AddresseeDialog::~AddresseeDialog() { } void AddresseeDialog::loadAddressBook() { mAddresseeList->clear(); mItemDict.clear(); if ( mAddresseeEdit->text().isEmpty() ) { AddressBook::Iterator it; for( it = mAddressBook->begin(); it != mAddressBook->end(); ++it ) { if ( (*it).uid().left(2) == "la" && (*it).uid().left(19) == QString("last-syncAddressee-") ) continue; 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 ) { if ( (*it).uid().left(2) == "la" && (*it).uid().left(19) == QString("last-syncAddressee-") ) continue; QString name = (*it).familyName()+", "+ (*it).givenName(); if ( name.length() == 2 ) name = (*it).realName(); |