summaryrefslogtreecommitdiffstats
path: root/kaddressbook/simpleaddresseeeditor.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'kaddressbook/simpleaddresseeeditor.cpp')
-rw-r--r--kaddressbook/simpleaddresseeeditor.cpp129
1 files changed, 129 insertions, 0 deletions
diff --git a/kaddressbook/simpleaddresseeeditor.cpp b/kaddressbook/simpleaddresseeeditor.cpp
new file mode 100644
index 000000000..e377feeed
--- /dev/null
+++ b/kaddressbook/simpleaddresseeeditor.cpp
@@ -0,0 +1,129 @@
+/*
+ This file is part of KAddressBook.
+ Copyright (c) 2002 Mike Pilone <mpilone@slac.com>
+
+ 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.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program; if not, write to the Free Software
+ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+
+ As a special exception, permission is given to link this program
+ with any edition of Qt, and distribute the resulting executable,
+ without including the source code for Qt in the source distribution.
+*/
+
+#include <qlayout.h>
+#include <qlabel.h>
+
+#include <klineedit.h>
+#include <klocale.h>
+#include <kdialog.h>
+
+#include "simpleaddresseeeditor.h"
+
+SimpleAddresseeEditor::SimpleAddresseeEditor( QWidget *parent, const char *name )
+ : AddresseeEditorBase( parent, name ),
+ mDirty( false ),
+ mBlockModified( false )
+{
+ kdDebug(5720) << "SimpleAddresseeEditor()" << endl;
+
+ initGui();
+}
+
+SimpleAddresseeEditor::~SimpleAddresseeEditor()
+{
+ kdDebug(5720) << "~SimpleAddresseeEditor()" << endl;
+}
+
+void SimpleAddresseeEditor::setAddressee( const KABC::Addressee &addr )
+{
+ mAddressee = addr;
+
+ load();
+}
+
+const KABC::Addressee &SimpleAddresseeEditor::addressee()
+{
+ return mAddressee;
+}
+
+void SimpleAddresseeEditor::setInitialFocus()
+{
+ mNameEdit->setFocus();
+}
+
+void SimpleAddresseeEditor::initGui()
+{
+ QGridLayout *topLayout = new QGridLayout( this, 2, 2, KDialog::marginHint(),
+ KDialog::spacingHint() );
+
+ QLabel *label = new QLabel( i18n( "Name:" ), this );
+ topLayout->addWidget( label, 0, 0 );
+
+ mNameEdit = new KLineEdit( this );
+ topLayout->addWidget( mNameEdit, 0, 1 );
+ connect( mNameEdit, SIGNAL( textChanged( const QString & ) ),
+ SLOT( emitModified() ) );
+
+ label = new QLabel( i18n( "Email:" ), this );
+ topLayout->addWidget( label, 1, 0 );
+
+ mEmailEdit = new KLineEdit( this );
+ topLayout->addWidget( mEmailEdit, 1, 1 );
+ connect( mEmailEdit, SIGNAL( textChanged( const QString & ) ),
+ SLOT( emitModified() ) );
+}
+
+void SimpleAddresseeEditor::load()
+{
+ kdDebug(5720) << "SimpleAddresseeEditor::load()" << endl;
+
+ kdDebug(5720) << "ASSEMBLED NAME: " << mAddressee.assembledName() << endl;
+ kdDebug(5720) << "EMAIL NAME: " << mAddressee.preferredEmail() << endl;
+
+ mBlockModified = true;
+
+ mNameEdit->setText( mAddressee.assembledName() );
+ mEmailEdit->setText( mAddressee.preferredEmail() );
+
+ mBlockModified = false;
+
+ mDirty = false;
+}
+
+void SimpleAddresseeEditor::save()
+{
+ if ( !mDirty ) return;
+
+ mAddressee.setNameFromString( mNameEdit->text() );
+ mAddressee.insertEmail( mEmailEdit->text(), true );
+
+ mDirty = false;
+}
+
+bool SimpleAddresseeEditor::dirty()
+{
+ return mDirty;
+}
+
+void SimpleAddresseeEditor::emitModified()
+{
+ if ( mBlockModified )
+ return;
+
+ mDirty = true;
+
+ emit modified();
+}
+
+#include "simpleaddresseeeditor.moc"