summaryrefslogtreecommitdiffstats
path: root/kmymoney2/dialogs/knewfiledlg.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'kmymoney2/dialogs/knewfiledlg.cpp')
-rw-r--r--kmymoney2/dialogs/knewfiledlg.cpp138
1 files changed, 138 insertions, 0 deletions
diff --git a/kmymoney2/dialogs/knewfiledlg.cpp b/kmymoney2/dialogs/knewfiledlg.cpp
new file mode 100644
index 0000000..2ea043f
--- /dev/null
+++ b/kmymoney2/dialogs/knewfiledlg.cpp
@@ -0,0 +1,138 @@
+/***************************************************************************
+ knewfiledlg.cpp
+ -------------------
+ copyright : (C) 2000 by Michael Edwardes
+ email : mte@users.sourceforge.net
+ ***************************************************************************/
+
+/***************************************************************************
+ * *
+ * This program is free software; you can redistribute it and/or modify *
+ * it under the terms of the GNU General Public License as published by *
+ * the Free Software Foundation; either version 2 of the License, or *
+ * (at your option) any later version. *
+ * *
+ ***************************************************************************/
+
+#include "kdecompat.h"
+
+// ----------------------------------------------------------------------------
+// QT Includes
+
+#include <qpixmap.h>
+#include <qlineedit.h>
+#include <qlabel.h>
+
+// ----------------------------------------------------------------------------
+// KDE Headers
+
+#include <kglobal.h>
+#include <klocale.h>
+#include <kstandarddirs.h>
+#include <kstdguiitem.h>
+#include <kpushbutton.h>
+#include <kmessagebox.h>
+
+#if KDE_IS_VERSION(3,1,90)
+#include <kabc/addressee.h>
+#include <kabc/stdaddressbook.h>
+#endif
+
+// ----------------------------------------------------------------------------
+// Project Includes
+
+#include "knewfiledlg.h"
+
+KNewFileDlg::KNewFileDlg(QWidget *parent, const char *name, const QString& title)
+ : KNewFileDlgDecl(parent,name,true)
+{
+ init(title);
+}
+
+KNewFileDlg::KNewFileDlg(QString userName, QString userStreet,
+ QString userTown, QString userCounty, QString userPostcode, QString userTelephone,
+ QString userEmail, QWidget *parent, const char *name, const QString& title)
+ : KNewFileDlgDecl(parent,name,true)
+{
+ userNameEdit->setText(userName);
+ streetEdit->setText(userStreet);
+ townEdit->setText(userTown);
+ countyEdit->setText(userCounty);
+ postcodeEdit->setText(userPostcode);
+ telephoneEdit->setText(userTelephone);
+ emailEdit->setText(userEmail);
+
+ init(title);
+}
+
+void KNewFileDlg::init(const QString& title)
+{
+ bool showLoadButton = false;
+ okBtn->setGuiItem(KStdGuiItem::ok());
+ cancelBtn->setGuiItem(KStdGuiItem::cancel());
+
+ if (!title.isEmpty())
+ setCaption(title);
+
+#if KDE_IS_VERSION( 3, 1, 90 )
+ KABC::StdAddressBook *ab = static_cast<KABC::StdAddressBook*>
+ ( KABC::StdAddressBook::self() );
+ if ( ab && !ab->whoAmI().isEmpty() )
+ showLoadButton = true;
+#endif
+
+ if(!showLoadButton)
+ kabcBtn->hide();
+
+ userNameEdit->setFocus();
+
+ connect(cancelBtn, SIGNAL(clicked()), this, SLOT(reject()));
+ connect(okBtn, SIGNAL(clicked()), this, SLOT(okClicked()));
+ connect(kabcBtn, SIGNAL(clicked()), this, SLOT(loadFromKABC()));
+}
+
+KNewFileDlg::~KNewFileDlg(){
+}
+
+void KNewFileDlg::okClicked()
+{
+ userNameText = userNameEdit->text();
+ userStreetText = streetEdit->text();
+ userTownText = townEdit->text();
+ userCountyText = countyEdit->text();
+ userPostcodeText = postcodeEdit->text();
+ userTelephoneText = telephoneEdit->text();
+ userEmailText = emailEdit->text();
+
+ accept();
+}
+
+void KNewFileDlg::loadFromKABC(void)
+{
+#if KDE_IS_VERSION( 3, 1, 90 )
+ KABC::StdAddressBook *ab = static_cast<KABC::StdAddressBook*>
+ ( KABC::StdAddressBook::self() );
+ if ( !ab )
+ return;
+
+ KABC::Addressee addr = ab->whoAmI();
+ if ( addr.isEmpty() ) {
+ KMessageBox::sorry(this, i18n("Unable to load data, because no contact has been associated with the owner of the standard addressbook."), i18n("Addressbook import"));
+ return;
+ }
+
+ userNameEdit->setText( addr.formattedName() );
+ emailEdit->setText( addr.preferredEmail() );
+
+ KABC::PhoneNumber phone = addr.phoneNumber( KABC::PhoneNumber::Home );
+ telephoneEdit->setText( phone.number() );
+
+ KABC::Address a = addr.address( KABC::Address::Home );
+ countyEdit->setText( a.country() + " / " + a.region() );
+ postcodeEdit->setText( a.postalCode() );
+ townEdit->setText( a.locality() );
+ streetEdit->setText( a.street() );
+#endif
+}
+
+#include "knewfiledlg.moc"