summaryrefslogtreecommitdiffabout
path: root/kabc/addresseedialog.cpp
Side-by-side diff
Diffstat (limited to 'kabc/addresseedialog.cpp') (more/less context) (ignore whitespace changes)
-rw-r--r--kabc/addresseedialog.cpp7
1 files changed, 6 insertions, 1 deletions
diff --git a/kabc/addresseedialog.cpp b/kabc/addresseedialog.cpp
index 9197850..0cf75a0 100644
--- a/kabc/addresseedialog.cpp
+++ b/kabc/addresseedialog.cpp
@@ -18,96 +18,97 @@
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 )
{
setText( Name,addressee.realName());
setText( Email, addressee.preferredEmail() );
setText( Category, addressee.categories().join(";") );
}
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, No, parent ), mMultiple( multiple )
{
qDebug("NEW AddresseeDialog ");
+
QWidget *topWidget = plainPage();
QBoxLayout *topLayout = new QHBoxLayout( topWidget );
KDGanttMinimizeSplitter* mMiniSplitter = new KDGanttMinimizeSplitter( Qt::Horizontal, topWidget);
mMiniSplitter->setMinimizeDirection ( KDGanttMinimizeSplitter::Right );
topLayout->addWidget(mMiniSplitter );
QWidget *listWidget = new QWidget( mMiniSplitter );
QVBoxLayout *listLayout = new QVBoxLayout (listWidget) ;
//topLayout->addLayout( listLayout );
mAddresseeList = new KListView( listWidget );
mAddresseeList->addColumn( i18n("Name") );
mAddresseeList->addColumn( i18n("Email") );
mAddresseeList->addColumn( i18n("Category") );
mAddresseeList->setAllColumnsShowFocus( true );
mAddresseeList->setFullWidth( true );
listLayout->addWidget( mAddresseeList );
connect( mAddresseeList, SIGNAL( doubleClicked( QListViewItem * ) ),
SLOT( slotOk() ) );
//QHBox* searchBox = new QHBox ( listWidget );
mAddresseeEdit = new QLineEdit( listWidget );
connect( mAddresseeEdit, SIGNAL( returnPressed() ),
SLOT( loadAddressBook() ) );
mAddresseeEdit->setFocus();
QPushButton *searchButton = new QPushButton( i18n("Search!"), listWidget );
connect ( searchButton, SIGNAL( clicked() ), SLOT( loadAddressBook() ) );
QHBoxLayout *searchLayout = new QHBoxLayout (listLayout) ;
searchLayout->addWidget( mAddresseeEdit );
searchLayout->addWidget( searchButton );
//listLayout->addWidget( searchBox );
if ( mMultiple ) {
//QBoxLayout *selectedLayout = new QVBoxLayout;
//topLayout->addLayout( selectedLayout );
//topLayout->setSpacing( spacingHint() );
QVBox *selectedGroup = new QVBox( mMiniSplitter );
new QLabel ( i18n("Selected:"), selectedGroup );
//selectedLayout->addWidget( selectedGroup );
mSelectedList = new KListView( selectedGroup );
@@ -279,85 +280,89 @@ Addressee::List AddresseeDialog::addressees()
}
}
else
{
aItem = (AddresseeItem *)( mAddresseeList->selectedItem() );
if (aItem) al.append( aItem->addressee() );
}
return al;
}
Addressee AddresseeDialog::getAddressee( QWidget *parent )
{
AddresseeDialog *dlg = new AddresseeDialog( parent );
Addressee addressee;
#ifdef DESKTOP_VERSION
static int geoX = 0;
static int geoY = 0;
static int geoW = 0;
static int geoH = 0;
if ( !geoX && ! geoY && !geoW &&!geoH ) {
geoX = dlg->geometry().x();
geoY = dlg->geometry().y();
geoW = dlg->width();
geoH = dlg->height();
} else {
dlg->show();
dlg->setGeometry(geoX , geoY,geoW , geoH );
}
#endif
int result = dlg->exec();
#ifdef DESKTOP_VERSION
geoX = dlg->geometry().x();
geoY = dlg->geometry().y();
geoW = dlg->width();
geoH = dlg->height();
#endif
if ( result == QDialog::Accepted ) {
addressee = dlg->addressee();
}
delete dlg;
return addressee;
}
Addressee::List AddresseeDialog::getAddressees( QWidget *parent )
{
- AddresseeDialog *dlg = new AddresseeDialog( parent, true );
Addressee::List addressees;
+ static bool running = false;
+ if ( running ) return addressees;
+ running = true;
+ AddresseeDialog *dlg = new AddresseeDialog( parent, true );
static int geoX = 0;
static int geoY = 0;
static int geoW = 0;
static int geoH = 0;
if ( QApplication::desktop()->width() <= 640 )
dlg->showMaximized();
else {
if ( !geoX && ! geoY && !geoW &&!geoH ) {
geoX = dlg->geometry().x();
geoY = dlg->geometry().y();
geoW = dlg->width();
geoH = dlg->height();
} else {
dlg->show();
dlg->setGeometry(geoX , geoY,geoW , geoH );
}
}
int result = dlg->exec();
geoX = dlg->geometry().x();
geoY = dlg->geometry().y();
geoW = dlg->width();
geoH = dlg->height();
if ( result == QDialog::Accepted ) {
addressees = dlg->addressees();
}
delete dlg;
+ running = false;
return addressees;
}
void AddresseeDialog::addressBookChanged()
{
loadAddressBook();
}