[prev in list] [next in list] [prev in thread] [next in thread]
List: kde-commits
Subject: osnabrueck_branch: kdepim/kmail
From: Andreas Gungl <a.gungl () gmx ! de>
Date: 2004-01-02 21:12:16
Message-ID: 20040102211216.CCF4693EA () office ! kde ! org
[Download RAW message or body]
CVS commit by gungl:
fix #68249 - vcard viewer ignores multiple cards (shows only the first one)
M +33 -12 vcardviewer.cpp 1.4.2.2
M +10 -1 vcardviewer.h 1.2.4.1
--- kdepim/kmail/vcardviewer.cpp #1.4.2.1:1.4.2.2
@@ -33,9 +33,7 @@ using KABC::Addressee;
#include <qstring.h>
-// FIXME The title should be "VCard Viewer" instead of "VCard viewer",
-// can't change now because of KDE 3.2 string freeze
KMail::VCardViewer::VCardViewer(QWidget *parent, const QString& vCard, const char* name)
- : KDialogBase( parent, name, false, i18n("VCard viewer"), User1|Close, Close,
- true, i18n("&Import"))
+ : KDialogBase( parent, name, false, i18n("VCard Viewer"), User1|User2|User3|Close, Close,
+ true, i18n("&Import"), QString("&Next Card"), QString("&Previous Card") )
{
mAddresseeView = new AddresseeView(this);
@@ -43,10 +41,16 @@ KMail::VCardViewer::VCardViewer(QWidget
setMainWidget(mAddresseeView);
- Addressee::List al;
- VCardConverter t;
-
- al = t.parseVCards( vCard );
- if ( !al.empty() )
- mAddresseeView->setAddressee( *(al.begin()) );
+ 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!"));
@@ -63,6 +67,23 @@ KMail::VCardViewer::~VCardViewer()
void KMail::VCardViewer::slotUser1()
{
- if (KMAddrBookExternal::addVCard(mAddresseeView->addressee(), this))
- enableButton(User1, false);
+ KMAddrBookExternal::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);
}
--- kdepim/kmail/vcardviewer.h #1.2:1.2.4.1
@@ -22,4 +22,7 @@
#include <kdialogbase.h>
+#include <kabc/addressee.h>
+
+#include <qvaluelist.h>
class QString;
@@ -39,7 +43,12 @@ namespace KMail {
protected:
virtual void slotUser1();
+ virtual void slotUser2();
+ virtual void slotUser3();
private:
KPIM::AddresseeView * mAddresseeView;
+ KABC::Addressee::List mAddresseeList;
+
+ QValueListIterator<KABC::Addressee> itAddresseeList;
};
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic