summaryrefslogtreecommitdiffabout
path: root/kaddressbook/kabcore.cpp
Side-by-side diff
Diffstat (limited to 'kaddressbook/kabcore.cpp') (more/less context) (ignore whitespace changes)
-rw-r--r--kaddressbook/kabcore.cpp44
1 files changed, 19 insertions, 25 deletions
diff --git a/kaddressbook/kabcore.cpp b/kaddressbook/kabcore.cpp
index 8d08713..b06e1bc 100644
--- a/kaddressbook/kabcore.cpp
+++ b/kaddressbook/kabcore.cpp
@@ -54,24 +54,25 @@
#include <kaboutdata.h>
#include <libkdepim/categoryselectdialog.h>
#include "addresseeutil.h"
#include "addresseeeditordialog.h"
#include "extensionmanager.h"
#include "kstdaction.h"
#include "kaddressbookservice.h"
#include "ldapsearchdialog.h"
#include "printing/printingwizard.h"
#else // KAB_EMBEDDED
+#include <kapplication.h>
#include "KDGanttMinimizeSplitter.h"
#include "kaddressbookmain.h"
#include "kactioncollection.h"
#include <qapp.h>
#include <qmenubar.h>
//#include <qtoolbar.h>
#include <qmessagebox.h>
#include <kdebug.h>
#include <kiconloader.h> // needed for SmallIcon
#include <kresources/kcmkresources.h>
#include <ktoolbar.h>
@@ -189,25 +190,26 @@ KABCore::KABCore( KXMLGUIClient *client, bool readWrite, QWidget *parent, const
#ifndef KAB_EMBEDDED
connect( mViewManager, SIGNAL( urlDropped( const KURL& ) ),
mXXPortManager, SLOT( importVCard( const KURL& ) ) );
connect( mDetails, SIGNAL( sendEmail( const QString& ) ),
SLOT( sendMail( const QString& ) ) );
connect( mDetails, SIGNAL( browse( const QString& ) ),
SLOT( browse( const QString& ) ) );
mAddressBookService = new KAddressBookService( this );
#endif //KAB_EMBEDDED
-
+ mEditorDialog = 0;
+ createAddresseeEditorDialog( this );
setModified( false );
}
KABCore::~KABCore()
{
// save();
//saveSettings();
//KABPrefs::instance()->writeConfig();
delete AddresseeConfig::instance();
mAddressBook = 0;
KABC::StdAddressBook::close();
@@ -781,31 +783,31 @@ void KABCore::newContact()
KRES::Resource *res = static_cast<KRES::Resource*>( resource );
if ( res )
kresResources.append( res );
}
}
KRES::Resource *res = KRES::SelectDialog::getResource( kresResources, this );
resource = static_cast<KABC::Resource*>( res );
if ( resource ) {
KABC::Addressee addr;
addr.setResource( resource );
- dialog = createAddresseeEditorDialog( this );
- dialog->setAddressee( addr );
+ mEditorDialog->setAddressee( addr );
+ KApplication::execDialog ( mEditorDialog );
} else
return;
- mEditorDict.insert( dialog->addressee().uid(), dialog );
+ // mEditorDict.insert( dialog->addressee().uid(), dialog );
dialog->show();
}
void KABCore::addEmail( QString aStr )
{
#ifndef KAB_EMBEDDED
QString fullName, email;
KABC::Addressee::parseEmailAddress( aStr, fullName, email );
@@ -858,35 +860,26 @@ void KABCore::editContact( const QString &uid )
return;
// First, locate the contact entry
QString localUID = uid;
if ( localUID.isNull() ) {
QStringList uidList = mViewManager->selectedUids();
if ( uidList.count() > 0 )
localUID = *( uidList.at( 0 ) );
}
KABC::Addressee addr = mAddressBook->findByUid( localUID );
if ( !addr.isEmpty() ) {
- AddresseeEditorDialog *dialog = mEditorDict.find( addr.uid() );
- if ( !dialog ) {
- dialog = createAddresseeEditorDialog( this );
-
- mEditorDict.insert( addr.uid(), dialog );
-
- dialog->setAddressee( addr );
- }
-
- dialog->raise();
- dialog->show();
+ mEditorDialog->setAddressee( addr );
+ KApplication::execDialog ( mEditorDialog );
}
}
void KABCore::save()
{
if ( !mModified )
return;
QString text = i18n( "There was an error while attempting to save\n the "
"address book. Please check that some \nother application is "
"not using it. " );
statusMessage(i18n("Saving addressbook ... "));
#ifndef KAB_EMBEDDED
@@ -1079,42 +1072,43 @@ void KABCore::addressBookChanged()
++it;
}
mViewManager->refreshView();
#else //KAB_EMBEDDED
qDebug("KABCore::addressBookChanged() finsih method");
#endif //KAB_EMBEDDED
}
AddresseeEditorDialog *KABCore::createAddresseeEditorDialog( QWidget *parent,
const char *name )
{
- AddresseeEditorDialog *dialog = new AddresseeEditorDialog( this, parent,
+
+ if ( mEditorDialog == 0 ) {
+ mEditorDialog = new AddresseeEditorDialog( this, parent,
name ? name : "editorDialog" );
-//US
- dialog->setMaximumSize( 640, 480 );
- dialog->showMaximized();
-
- connect( dialog, SIGNAL( contactModified( const KABC::Addressee& ) ),
+
+ connect( mEditorDialog, SIGNAL( contactModified( const KABC::Addressee& ) ),
SLOT( contactModified( const KABC::Addressee& ) ) );
- connect( dialog, SIGNAL( editorDestroyed( const QString& ) ),
- SLOT( slotEditorDestroyed( const QString& ) ) );
+ //connect( mEditorDialog, SIGNAL( editorDestroyed( const QString& ) ),
+ // SLOT( slotEditorDestroyed( const QString& ) ) );
+ }
- return dialog;
+ return mEditorDialog;
}
void KABCore::slotEditorDestroyed( const QString &uid )
{
- mEditorDict.remove( uid );
+ qDebug("KABCore::slotEditorDestroyed called. maybe a problem! ");
+ //mEditorDict.remove( uid );
}
void KABCore::initGUI()
{
#ifndef KAB_EMBEDDED
QHBoxLayout *topLayout = new QHBoxLayout( this );
topLayout->setSpacing( KDialogBase::spacingHint() );
mExtensionBarSplitter = new QSplitter( this );
mExtensionBarSplitter->setOrientation( Qt::Vertical );
mDetailsSplitter = new QSplitter( mExtensionBarSplitter );