diff --git a/kmaddrbook.cpp b/kmaddrbook.cpp index 6aad5d487..c0613d210 100644 --- a/kmaddrbook.cpp +++ b/kmaddrbook.cpp @@ -16,6 +16,7 @@ #include "kmmessage.h" // for KabBridge #include "kmaddrbookdlg.h" // for kmaddrbookexternal #include // for kmaddrbookexternal +#include "addtoaddressbook.h" //----------------------------------------------------------------------------- KMAddrBook::KMAddrBook(): KMAddrBookInherited() @@ -295,8 +296,28 @@ bool KabBridge::replace(QString address, KabKey kabKey) //----------------------------------------------------------------------------- +void KMAddrBookExternal::addEmail(QString addr, QWidget *parent) { + KConfig *config = kapp->config(); + config->setGroup("General"); + int ab = config->readNumEntry("addressbook", -1); + KURL::List list; + if (ab == 3) { + KURL::List list; + KRun::run( "abbrowser -a \"" + addr + "\"", list ); + return; + } + if (!kernel->useKAB()) { + if (addr.isEmpty()) return; + kernel->addrBook()->insert(addr); + // statusMsg(i18n("Address added to addressbook.")); + } + else { + AddToKabDialog dialog(addr, kernel->KABaddrBook(), parent); + dialog.exec(); + } +} + void KMAddrBookExternal::launch(QWidget *parent) { - debug( "first" ); KConfig *config = kapp->config(); config->setGroup("General"); int ab = config->readNumEntry("addressbook", -1); diff --git a/kmaddrbook.h b/kmaddrbook.h index df12e0755..a3ef52b99 100644 --- a/kmaddrbook.h +++ b/kmaddrbook.h @@ -75,7 +75,7 @@ public: class KMAddrBookExternal { public: - static void addEntry(QString) {}; + static void addEmail(QString addr, QWidget *parent); static void launch(QWidget *parent); }; diff --git a/kmmainwin.cpp b/kmmainwin.cpp index 412ea333f..e5bf167dc 100644 --- a/kmmainwin.cpp +++ b/kmmainwin.cpp @@ -60,7 +60,6 @@ #include "kmaddrbookdlg.h" #include "kmaddrbook.h" #include "kwin.h" -#include "addtoaddressbook.h" #include #include @@ -1142,15 +1141,7 @@ void KMMainWin::slotMailtoForward() //----------------------------------------------------------------------------- void KMMainWin::slotMailtoAddAddrBook() { - if (!kernel->useKAB()) { - if (mUrlCurrent.isEmpty()) return; - kernel->addrBook()->insert(mUrlCurrent.path()); - statusMsg(i18n("Address added to addressbook.")); - } - else { - AddToKabDialog dialog(mUrlCurrent.path(), kernel->KABaddrBook(), this); - dialog.exec(); - } + KMAddrBookExternal::addEmail(mUrlCurrent.path(), this); }