-rw-r--r-- | kabc/addresseedialog.cpp | 46 |
1 files changed, 44 insertions, 2 deletions
diff --git a/kabc/addresseedialog.cpp b/kabc/addresseedialog.cpp index 648e780..19b52bb 100644 --- a/kabc/addresseedialog.cpp +++ b/kabc/addresseedialog.cpp @@ -123,15 +123,16 @@ AddresseeDialog::AddresseeDialog( QWidget *parent, bool multiple ) : } mAddressBook = StdAddressBook::self( true ); connect( mAddressBook, SIGNAL( addressBookChanged( AddressBook* ) ), SLOT( addressBookChanged() ) ); +#if 0 connect( mAddressBook, SIGNAL( loadingFinished( Resource* ) ), SLOT( addressBookChanged() ) ); - +#endif loadAddressBook(); QValueList<int> splitterSize; splitterSize.append( ( width() / 5 ) * 3 ); splitterSize.append( ( width() / 5 ) *2 ); mMiniSplitter->setSizes( splitterSize ); } @@ -277,29 +278,70 @@ Addressee::List AddresseeDialog::addressees() } Addressee AddresseeDialog::getAddressee( QWidget *parent ) { AddresseeDialog *dlg = new AddresseeDialog( parent ); Addressee addressee; - int result = dlg->exec(); +#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 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; return addressees; |