summaryrefslogtreecommitdiffabout
path: root/kabc
Side-by-side diff
Diffstat (limited to 'kabc') (more/less context) (ignore whitespace changes)
-rw-r--r--kabc/addresseedialog.cpp80
1 files changed, 61 insertions, 19 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 );
}
@@ -275,37 +276,78 @@ Addressee::List AddresseeDialog::addressees()
return al;
}
Addressee AddresseeDialog::getAddressee( QWidget *parent )
{
- AddresseeDialog *dlg = new AddresseeDialog( parent );
- Addressee addressee;
- int result = dlg->exec();
+ 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 );
- if ( result == QDialog::Accepted ) {
- addressee = dlg->addressee();
- }
+ }
+#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;
+ delete dlg;
+ return addressee;
}
Addressee::List AddresseeDialog::getAddressees( QWidget *parent )
{
- AddresseeDialog *dlg = new AddresseeDialog( parent, true );
- Addressee::List addressees;
- if ( QApplication::desktop()->width() <= 640 )
- dlg->showMaximized();
- int result = dlg->exec();
- if ( result == QDialog::Accepted ) {
- addressees = dlg->addressees();
- }
+ 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;
+ delete dlg;
+ return addressees;
}
void AddresseeDialog::addressBookChanged()
{
loadAddressBook();
}