From 460c52653ab0dcca6f19a4f492ed2c5e4e963ab0 Mon Sep 17 00:00:00 2001 From: toma Date: Wed, 25 Nov 2009 17:56:58 +0000 Subject: Copy the KDE 3.5 branch to branches/trinity for new KDE 3.5 features. BUG:215923 git-svn-id: svn://anonsvn.kde.org/home/kde/branches/trinity/kdepim@1054174 283d02a7-25f6-0310-bc7c-ecb5cbfe19da --- kmail/vcardviewer.cpp | 96 +++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 96 insertions(+) create mode 100644 kmail/vcardviewer.cpp (limited to 'kmail/vcardviewer.cpp') diff --git a/kmail/vcardviewer.cpp b/kmail/vcardviewer.cpp new file mode 100644 index 000000000..87bb2bad1 --- /dev/null +++ b/kmail/vcardviewer.cpp @@ -0,0 +1,96 @@ +/* This file is part of the KDE project + Copyright (C) 2002 Daniel Molkentin + + 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; see the file COPYING. If not, write to + the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, + Boston, MA 02110-1301, USA. + */ + +#ifdef HAVE_CONFIG_H +#include +#endif + +#include "vcardviewer.h" +#include "kmaddrbook.h" +#include + +#include +using KPIM::AddresseeView; + +#include +#include +using KABC::VCardConverter; +using KABC::Addressee; + +#include + +#include + +KMail::VCardViewer::VCardViewer(QWidget *parent, const QString& vCard, const char* name) + : KDialogBase( parent, name, false, i18n("VCard Viewer"), User1|User2|User3|Close, Close, + true, i18n("&Import"), i18n("&Next Card"), i18n("&Previous Card") ) +{ + mAddresseeView = new AddresseeView(this); + mAddresseeView->enableLinks( 0 ); + mAddresseeView->setVScrollBarMode(QScrollView::Auto); + setMainWidget(mAddresseeView); + + VCardConverter vcc; + mAddresseeList = vcc.parseVCards( vCard ); + if ( !mAddresseeList.empty() ) { + itAddresseeList = mAddresseeList.begin(); + mAddresseeView->setAddressee( *itAddresseeList ); + if ( mAddresseeList.size() <= 1 ) { + showButton(User2, false); + showButton(User3, false); + } + else + enableButton(User3, false); + } + else { + mAddresseeView->setText(i18n("Failed to parse vCard.")); + enableButton(User1, false); + } + + resize(300,400); +} + +KMail::VCardViewer::~VCardViewer() +{ +} + +void KMail::VCardViewer::slotUser1() +{ + KAddrBookExternal::addVCard( *itAddresseeList, this ); +} + +void KMail::VCardViewer::slotUser2() +{ + // next vcard + mAddresseeView->setAddressee( *(++itAddresseeList) ); + if ( itAddresseeList == --(mAddresseeList.end()) ) + enableButton(User2, false); + enableButton(User3, true); +} + +void KMail::VCardViewer::slotUser3() +{ + // previous vcard + mAddresseeView->setAddressee( *(--itAddresseeList) ); + if ( itAddresseeList == mAddresseeList.begin() ) + enableButton(User3, false); + enableButton(User2, true); +} + +#include "vcardviewer.moc" -- cgit v1.2.1