summaryrefslogtreecommitdiffabout
path: root/kaddressbook/kaddressbookview.cpp
Side-by-side diff
Diffstat (limited to 'kaddressbook/kaddressbookview.cpp') (more/less context) (ignore whitespace changes)
-rw-r--r--kaddressbook/kaddressbookview.cpp171
1 files changed, 171 insertions, 0 deletions
diff --git a/kaddressbook/kaddressbookview.cpp b/kaddressbook/kaddressbookview.cpp
new file mode 100644
index 0000000..a44fd82
--- a/dev/null
+++ b/kaddressbook/kaddressbookview.cpp
@@ -0,0 +1,171 @@
+/*
+ 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., 59 Temple Place - Suite 330, Boston, MA 02111-1307, 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.
+*/
+
+#ifndef KAB_EMBEDDED
+#include <qapplication.h>
+
+#include <kabc/distributionlistdialog.h>
+#include <kconfig.h>
+#include <klocale.h>
+
+#include "viewmanager.h"
+
+#endif //KAB_EMBEDDED
+#include <qlayout.h>
+
+#include <kabc/addressbook.h>
+#include <kdebug.h>
+
+#include "kaddressbookview.h"
+
+KAddressBookView::KAddressBookView( KABC::AddressBook *ab, QWidget *parent,
+ const char *name )
+ : QWidget( parent, name ), mAddressBook( ab ), mFieldList()
+{
+ initGUI();
+}
+
+KAddressBookView::~KAddressBookView()
+{
+ kdDebug(5720) << "KAddressBookView::~KAddressBookView: destroying - "
+ << name() << endl;
+}
+
+void KAddressBookView::readConfig( KConfig *config )
+{
+ mFieldList = KABC::Field::restoreFields( config, "KABCFields" );
+
+ if ( mFieldList.isEmpty() )
+ mFieldList = KABC::Field::defaultFields();
+
+ mDefaultFilterType = (DefaultFilterType)config->readNumEntry( "DefaultFilterType", 1 );
+ mDefaultFilterName = config->readEntry( "DefaultFilterName", QString::null );
+}
+
+void KAddressBookView::writeConfig( KConfig* )
+{
+ // Most of writing the config is handled by the ConfigureViewDialog
+}
+
+QString KAddressBookView::selectedEmails()
+{
+#ifndef KAB_EMBEDDED
+
+ bool first = true;
+ QString emailAddrs;
+ QStringList uidList = selectedUids();
+ KABC::Addressee addr;
+ QString email;
+
+ QStringList::Iterator it;
+ for ( it = uidList.begin(); it != uidList.end(); ++it ) {
+ addr = mAddressBook->findByUid( *it );
+
+ if ( !addr.isEmpty() ) {
+ QString m = QString::null;
+
+ if ( addr.emails().count() > 1 )
+ m = KABC::EmailSelector::getEmail( addr.emails(), addr.preferredEmail(), this );
+
+ email = addr.fullEmail( m );
+
+ if ( !first )
+ emailAddrs += ", ";
+ else
+ first = false;
+
+ emailAddrs += email;
+ }
+ }
+
+ return emailAddrs;
+#else //KAB_EMBEDDED
+qDebug("KAddressBookView::selectedEmails() update method");
+return 0;
+#endif //KAB_EMBEDDED
+
+}
+
+KABC::Addressee::List KAddressBookView::addressees()
+{
+ KABC::Addressee::List addresseeList;
+
+ KABC::AddressBook::Iterator it;
+ for (it = mAddressBook->begin(); it != mAddressBook->end(); ++it ) {
+ if ( mFilter.filterAddressee( *it ) )
+ addresseeList.append( *it );
+ }
+
+ return addresseeList;
+}
+
+void KAddressBookView::initGUI()
+{
+ // Create the layout
+ QVBoxLayout *layout = new QVBoxLayout( this );
+
+ // Add the view widget
+ mViewWidget = new QWidget( this );
+ layout->addWidget( mViewWidget );
+}
+
+KABC::Field::List KAddressBookView::fields() const
+{
+ return mFieldList;
+}
+
+void KAddressBookView::setFilter( const Filter &filter )
+{
+ mFilter = filter;
+}
+
+KAddressBookView::DefaultFilterType KAddressBookView::defaultFilterType() const
+{
+ return mDefaultFilterType;
+}
+
+const QString &KAddressBookView::defaultFilterName() const
+{
+ return mDefaultFilterName;
+}
+
+KABC::AddressBook *KAddressBookView::addressBook() const
+{
+ return mAddressBook;
+}
+
+QWidget *KAddressBookView::viewWidget()
+{
+ return mViewWidget;
+}
+
+ViewConfigureWidget *ViewFactory::configureWidget( KABC::AddressBook *ab,
+ QWidget *parent,
+ const char *name )
+{
+ return new ViewConfigureWidget( ab, parent, name );
+}
+
+#ifndef KAB_EMBEDDED
+#include "kaddressbookview.moc"
+#endif //KAB_EMBEDDED