[prev in list] [next in list] [prev in thread] [next in thread]
List: kmail-devel
Subject: [PATCH] for #68249 - vcard viewer ignores multiple cards (shows
From: Andreas Gungl <a.gungl () gmx ! de>
Date: 2004-01-02 10:43:26
Message-ID: 200401021143.44407 () gungl-dd ! de
[Download RAW message or body]
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
Hi,
the attached patch fixes bug 68249. It allows to display multiple vcards
when they are in the same attachment.
So far I didn't introduce new strings which need translation, so I think, it
can go into 3.2. However there is a FIXME left for after 3.2 to fix three
strings.
Please review.
TIA,
Andreas
- --
~
' v '
// \\
/( )\ Powered by Penguin.
^ ' ^
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.2-rc1-SuSE (GNU/Linux)
iD8DBQE/9UtcVhjiFd4beU8RAh4aAKD7grh9mF5yYZ90AF+1LenTsPN7fwCglFSo
OC5xRNRjBn7RKZ9hBWB94Xs=
=8NSY
-----END PGP SIGNATURE-----
["vcardviewer.diff" (text/x-diff)]
Index: vcardviewer.h
===================================================================
RCS file: /home/kde/kdepim/kmail/vcardviewer.h,v
retrieving revision 1.2
diff -u -3 -p -r1.2 vcardviewer.h
--- vcardviewer.h 8 Jul 2003 19:31:29 -0000 1.2
+++ vcardviewer.h 2 Jan 2004 10:34:03 -0000
@@ -21,8 +21,12 @@
#define VCARDVIEWER_H
#include <kdialogbase.h>
+#include <kabc/addressee.h>
+
+#include <qvaluelist.h>
class QString;
+
namespace KPIM {
class AddresseeView;
}
@@ -38,9 +42,14 @@ namespace KMail {
protected:
virtual void slotUser1();
+ virtual void slotUser2();
+ virtual void slotUser3();
private:
- KPIM::AddresseeView * mAddresseeView;
+ KPIM::AddresseeView * mAddresseeView;
+ KABC::Addressee::List mAddresseeList;
+
+ QValueListIterator<KABC::Addressee> itAddresseeList;
};
}
Index: vcardviewer.cpp
===================================================================
RCS file: /home/kde/kdepim/kmail/vcardviewer.cpp,v
retrieving revision 1.4
diff -u -3 -p -r1.4 vcardviewer.cpp
--- vcardviewer.cpp 30 Dec 2003 11:52:14 -0000 1.4
+++ vcardviewer.cpp 2 Jan 2004 10:34:03 -0000
@@ -34,20 +34,27 @@ using KABC::Addressee;
// FIXME The title should be "VCard Viewer" instead of "VCard viewer",
// can't change now because of KDE 3.2 string freeze
+// also the user buttons 2 and 3 should have better texts
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("->"), QString("<-") )
{
mAddresseeView = new AddresseeView(this);
mAddresseeView->setVScrollBarMode(QScrollView::Auto);
setMainWidget(mAddresseeView);
- Addressee::List al;
VCardTool t;
-
- al = t.parseVCards( vCard );
- if ( !al.empty() )
- mAddresseeView->setAddressee( *(al.begin()) );
+ mAddresseeList = t.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);
@@ -62,8 +69,25 @@ 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);
}
#include "vcardviewer.moc"
_______________________________________________
KMail developers mailing list
KMail-devel@kde.org
https://mail.kde.org/mailman/listinfo/kmail-devel
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic