summaryrefslogtreecommitdiffabout
path: root/kaddressbook
Unidiff
Diffstat (limited to 'kaddressbook') (more/less context) (ignore whitespace changes)
-rw-r--r--kaddressbook/kabcore.cpp33
-rw-r--r--kaddressbook/kabcore.h3
2 files changed, 29 insertions, 7 deletions
diff --git a/kaddressbook/kabcore.cpp b/kaddressbook/kabcore.cpp
index dabb8e9..cb9b992 100644
--- a/kaddressbook/kabcore.cpp
+++ b/kaddressbook/kabcore.cpp
@@ -1,47 +1,54 @@
1/* 1/*
2 This file is part of KAddressbook. 2 This file is part of KAddressbook.
3 Copyright (c) 2003 Tobias Koenig <tokoe@kde.org> 3 Copyright (c) 2003 Tobias Koenig <tokoe@kde.org>
4 4
5 This program is free software; you can redistribute it and/or modify 5 This program is free software; you can redistribute it and/or modify
6 it under the terms of the GNU General Public License as published by 6 it under the terms of the GNU General Public License as published by
7 the Free Software Foundation; either version 2 of the License, or 7 the Free Software Foundation; either version 2 of the License, or
8 (at your option) any later version. 8 (at your option) any later version.
9 9
10 This program is distributed in the hope that it will be useful, 10 This program is distributed in the hope that it will be useful,
11 but WITHOUT ANY WARRANTY; without even the implied warranty of 11 but WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 GNU General Public License for more details. 13 GNU General Public License for more details.
14 14
15 You should have received a copy of the GNU General Public License 15 You should have received a copy of the GNU General Public License
16 along with this program; if not, write to the Free Software 16 along with this program; if not, write to the Free Software
17 Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. 17 Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
18 18
19 As a special exception, permission is given to link this program 19 As a special exception, permission is given to link this program
20 with any edition of Qt, and distribute the resulting executable, 20 with any edition of Qt, and distribute the resulting executable,
21 without including the source code for Qt in the source distribution. 21 without including the source code for Qt in the source distribution.
22*/ 22*/
23 23
24/*
25Enhanced Version of the file for platform independent KDE tools.
26Copyright (c) 2004 Ulf Schenk
27
28$Id$
29*/
30
24#include "kabcore.h" 31#include "kabcore.h"
25 32
26#include <stdaddressbook.h> 33#include <stdaddressbook.h>
27#include <klocale.h> 34#include <klocale.h>
28 35
29#ifndef KAB_EMBEDDED 36#ifndef KAB_EMBEDDED
30#include <qclipboard.h> 37#include <qclipboard.h>
31#include <qdir.h> 38#include <qdir.h>
32#include <qfile.h> 39#include <qfile.h>
33#include <qapplicaton.h> 40#include <qapplicaton.h>
34#include <qlayout.h> 41#include <qlayout.h>
35#include <qregexp.h> 42#include <qregexp.h>
36#include <qvbox.h> 43#include <qvbox.h>
37#include <kabc/addresseelist.h> 44#include <kabc/addresseelist.h>
38#include <kabc/errorhandler.h> 45#include <kabc/errorhandler.h>
39#include <kabc/resource.h> 46#include <kabc/resource.h>
40#include <kabc/vcardconverter.h> 47#include <kabc/vcardconverter.h>
41#include <kapplication.h> 48#include <kapplication.h>
42#include <kactionclasses.h> 49#include <kactionclasses.h>
43#include <kcmultidialog.h> 50#include <kcmultidialog.h>
44#include <kdebug.h> 51#include <kdebug.h>
45#include <kdeversion.h> 52#include <kdeversion.h>
46#include <kkeydialog.h> 53#include <kkeydialog.h>
47#include <kmessagebox.h> 54#include <kmessagebox.h>
@@ -397,59 +404,60 @@ void KABCore::createAboutData()
397 "mpilone@slac.com" ); 404 "mpilone@slac.com" );
398 about->addAuthor( "Greg Stern", I18N_NOOP( "DCOP interface" ) ); 405 about->addAuthor( "Greg Stern", I18N_NOOP( "DCOP interface" ) );
399 about->addAuthor( "Mark Westcott", I18N_NOOP( "Contact pinning" ) ); 406 about->addAuthor( "Mark Westcott", I18N_NOOP( "Contact pinning" ) );
400 about->addAuthor( "Michel Boyer de la Giroday", I18N_NOOP( "LDAP Lookup\n" ), 407 about->addAuthor( "Michel Boyer de la Giroday", I18N_NOOP( "LDAP Lookup\n" ),
401 "michel@klaralvdalens-datakonsult.se" ); 408 "michel@klaralvdalens-datakonsult.se" );
402 about->addAuthor( "Steffen Hansen", I18N_NOOP( "LDAP Lookup " ), 409 about->addAuthor( "Steffen Hansen", I18N_NOOP( "LDAP Lookup " ),
403 "hansen@kde.org" ); 410 "hansen@kde.org" );
404 411
405 return about; 412 return about;
406#endif //KAB_EMBEDDED 413#endif //KAB_EMBEDDED
407 414
408 QString version; 415 QString version;
409#include <../version> 416#include <../version>
410 QMessageBox::about( this, "About KAddressbook/Pi", 417 QMessageBox::about( this, "About KAddressbook/Pi",
411 "KAddressbook/Platform-independent\n" 418 "KAddressbook/Platform-independent\n"
412 "(KA/Pi) " +version + " - " + 419 "(KA/Pi) " +version + " - " +
413#ifdef DESKTOP_VERSION 420#ifdef DESKTOP_VERSION
414 "Desktop Edition\n" 421 "Desktop Edition\n"
415#else 422#else
416 "PDA-Edition\n" 423 "PDA-Edition\n"
417 "for: Zaurus 5500 / 7x0 / 8x0\n" 424 "for: Zaurus 5500 / 7x0 / 8x0\n"
418#endif 425#endif
419 426
420 "(c) 2004 Ulf Schenk\n" 427 "(c) 2004 Ulf Schenk\n"
428 "(c) 2004 Lutz Rogowski\n"
421 "(c) 1997-2003, The KDE PIM Team\n" 429 "(c) 1997-2003, The KDE PIM Team\n"
422 "Tobias Koenig Current maintainer tokoe@kde.org\n" 430 "Tobias Koenig Current maintainer\ntokoe@kde.org\n"
423 "Don Sanders Original author\n" 431 "Don Sanders Original author\n"
424 "Cornelius Schumacher Co-maintainer schumacher@kde.org\n" 432 "Cornelius Schumacher Co-maintainer\nschumacher@kde.org\n"
425 "Mike Pilone GUI and framework redesign mpilone@slac.com\n" 433 "Mike Pilone GUI and framework redesign\nmpilone@slac.com\n"
426 "Greg Stern DCOP interface\n" 434 "Greg Stern DCOP interface\n"
427 "Mark Westcot Contact pinning\n" 435 "Mark Westcot Contact pinning\n"
428 "Michel Boyer de la Giroday LDAP Lookup\n" "michel@klaralvdalens-datakonsult.se\n" 436 "Michel Boyer de la Giroday LDAP Lookup\n" "michel@klaralvdalens-datakonsult.se\n"
429 "Steffen Hansen LDAP Lookup hansen@kde.org\n" 437 "Steffen Hansen LDAP Lookup\nhansen@kde.org\n"
430#ifdef _WIN32_ 438#ifdef _WIN32_
431 "(c) 2004 Lutz Rogowski Import from OL rogowski@kde.org\n" 439 "(c) 2004 Lutz Rogowski Import from OL\nrogowski@kde.org\n"
432#endif 440#endif
433 ); 441 );
434} 442}
435 443
436void KABCore::setContactSelected( const QString &uid ) 444void KABCore::setContactSelected( const QString &uid )
437{ 445{
438 KABC::Addressee addr = mAddressBook->findByUid( uid ); 446 KABC::Addressee addr = mAddressBook->findByUid( uid );
439 if ( !mDetails->isHidden() ) 447 if ( !mDetails->isHidden() )
440 mDetails->setAddressee( addr ); 448 mDetails->setAddressee( addr );
441 449
442 if ( !addr.isEmpty() ) { 450 if ( !addr.isEmpty() ) {
443 emit contactSelected( addr.formattedName() ); 451 emit contactSelected( addr.formattedName() );
444 KABC::Picture pic = addr.photo(); 452 KABC::Picture pic = addr.photo();
445 if ( pic.isIntern() ) { 453 if ( pic.isIntern() ) {
446//US emit contactSelected( pic.data() ); 454//US emit contactSelected( pic.data() );
447//US instead use: 455//US instead use:
448 QPixmap px; 456 QPixmap px;
449 if (pic.data().isNull() != true) 457 if (pic.data().isNull() != true)
450 { 458 {
451 px.convertFromImage(pic.data()); 459 px.convertFromImage(pic.data());
452 } 460 }
453 461
454 emit contactSelected( px ); 462 emit contactSelected( px );
455 } 463 }
@@ -1713,51 +1721,55 @@ void KABCore::initActions()
1713 } 1721 }
1714#else //KAB_EMBEDDED 1722#else //KAB_EMBEDDED
1715 //qDebug("KABCore::initActions() LDAP has to be implemented"); 1723 //qDebug("KABCore::initActions() LDAP has to be implemented");
1716#endif //KAB_EMBEDDED 1724#endif //KAB_EMBEDDED
1717 1725
1718 1726
1719 mActionWhoAmI = new KAction( i18n( "Set Who Am I" ), "personal", 0, this, 1727 mActionWhoAmI = new KAction( i18n( "Set Who Am I" ), "personal", 0, this,
1720 SLOT( setWhoAmI() ), actionCollection(), 1728 SLOT( setWhoAmI() ), actionCollection(),
1721 "set_personal" ); 1729 "set_personal" );
1722 1730
1723 1731
1724 1732
1725 1733
1726 mActionCategories = new KAction( i18n( "Set Categories" ), 0, this, 1734 mActionCategories = new KAction( i18n( "Set Categories" ), 0, this,
1727 SLOT( setCategories() ), actionCollection(), 1735 SLOT( setCategories() ), actionCollection(),
1728 "edit_set_categories" ); 1736 "edit_set_categories" );
1729 1737
1730 mActionRemoveVoice = new KAction( i18n( "Remove \"voice\"..." ), 0, this, 1738 mActionRemoveVoice = new KAction( i18n( "Remove \"voice\"..." ), 0, this,
1731 SLOT( removeVoice() ), actionCollection(), 1739 SLOT( removeVoice() ), actionCollection(),
1732 "remove_voice" ); 1740 "remove_voice" );
1733 mActionImportOL = new KAction( i18n( "Import from OL..." ), 0, this, 1741 mActionImportOL = new KAction( i18n( "Import from OL..." ), 0, this,
1734 SLOT( importFromOL() ), actionCollection(), 1742 SLOT( importFromOL() ), actionCollection(),
1735 "import_OL" ); 1743 "import_OL" );
1736#ifdef KAB_EMBEDDED 1744#ifdef KAB_EMBEDDED
1737 mActionLicence = new KAction( i18n( "Licence" ), "licence", 0, 1745 mActionLicence = new KAction( i18n( "Licence" ), 0,
1738 this, SLOT( showLicence() ), actionCollection(), 1746 this, SLOT( showLicence() ), actionCollection(),
1739 "licence_about_data" ); 1747 "licence_about_data" );
1748 mActionFaq = new KAction( i18n( "Faq" ), 0,
1749 this, SLOT( faq() ), actionCollection(),
1750 "faq_about_data" );
1751
1740 mActionAboutKAddressbook = new KAction( i18n( "&About KAddressBook" ), "kaddressbook2", 0, 1752 mActionAboutKAddressbook = new KAction( i18n( "&About KAddressBook" ), "kaddressbook2", 0,
1741 this, SLOT( createAboutData() ), actionCollection(), 1753 this, SLOT( createAboutData() ), actionCollection(),
1742 "kaddressbook_about_data" ); 1754 "kaddressbook_about_data" );
1743#endif //KAB_EMBEDDED 1755#endif //KAB_EMBEDDED
1744 1756
1745 clipboardDataChanged(); 1757 clipboardDataChanged();
1746 connect( UndoStack::instance(), SIGNAL( changed() ), SLOT( updateActionMenu() ) ); 1758 connect( UndoStack::instance(), SIGNAL( changed() ), SLOT( updateActionMenu() ) );
1747 connect( RedoStack::instance(), SIGNAL( changed() ), SLOT( updateActionMenu() ) ); 1759 connect( RedoStack::instance(), SIGNAL( changed() ), SLOT( updateActionMenu() ) );
1748} 1760}
1749 1761
1750//US we need this function, to plug all actions into the correct menues. 1762//US we need this function, to plug all actions into the correct menues.
1751// KDE uses a XML format to plug the actions, but we work her without this overhead. 1763// KDE uses a XML format to plug the actions, but we work her without this overhead.
1752void KABCore::addActionsManually() 1764void KABCore::addActionsManually()
1753{ 1765{
1754//US qDebug("KABCore::initActions(): mIsPart %i", mIsPart); 1766//US qDebug("KABCore::initActions(): mIsPart %i", mIsPart);
1755 1767
1756#ifdef KAB_EMBEDDED 1768#ifdef KAB_EMBEDDED
1757 QPopupMenu *fileMenu = new QPopupMenu( this ); 1769 QPopupMenu *fileMenu = new QPopupMenu( this );
1758 QPopupMenu *editMenu = new QPopupMenu( this ); 1770 QPopupMenu *editMenu = new QPopupMenu( this );
1759 QPopupMenu *helpMenu = new QPopupMenu( this ); 1771 QPopupMenu *helpMenu = new QPopupMenu( this );
1760 1772
1761 KToolBar* tb = mMainWindow->toolBar(); 1773 KToolBar* tb = mMainWindow->toolBar();
1762 1774
1763#ifdef DESKTOP_VERSION 1775#ifdef DESKTOP_VERSION
@@ -1844,50 +1856,51 @@ void KABCore::addActionsManually()
1844 mActionConfigResources->plug( settingsMenu ); 1856 mActionConfigResources->plug( settingsMenu );
1845 settingsMenu->insertSeparator(); 1857 settingsMenu->insertSeparator();
1846 1858
1847 mActionConfigKAddressbook->plug( settingsMenu ); 1859 mActionConfigKAddressbook->plug( settingsMenu );
1848 1860
1849 if ( mIsPart ) { 1861 if ( mIsPart ) {
1850 mActionConfigShortcuts->plug( settingsMenu ); 1862 mActionConfigShortcuts->plug( settingsMenu );
1851 mActionConfigureToolbars->plug( settingsMenu ); 1863 mActionConfigureToolbars->plug( settingsMenu );
1852 1864
1853 } else { 1865 } else {
1854 mActionKeyBindings->plug( settingsMenu ); 1866 mActionKeyBindings->plug( settingsMenu );
1855 } 1867 }
1856 1868
1857 settingsMenu->insertSeparator(); 1869 settingsMenu->insertSeparator();
1858 1870
1859 mActionJumpBar->plug( settingsMenu ); 1871 mActionJumpBar->plug( settingsMenu );
1860 mActionDetails->plug( settingsMenu ); 1872 mActionDetails->plug( settingsMenu );
1861 if (!KABPrefs::instance()->mMultipleViewsAtOnce ) 1873 if (!KABPrefs::instance()->mMultipleViewsAtOnce )
1862 mActionDetails->plug( tb ); 1874 mActionDetails->plug( tb );
1863 settingsMenu->insertSeparator(); 1875 settingsMenu->insertSeparator();
1864 1876
1865 mActionWhoAmI->plug( settingsMenu ); 1877 mActionWhoAmI->plug( settingsMenu );
1866 mActionCategories->plug( settingsMenu ); 1878 mActionCategories->plug( settingsMenu );
1867 1879
1868 mActionAboutKAddressbook->plug( helpMenu );
1869 mActionLicence->plug( helpMenu ); 1880 mActionLicence->plug( helpMenu );
1881 mActionFaq->plug( helpMenu );
1882 mActionAboutKAddressbook->plug( helpMenu );
1870 1883
1871 if (KGlobal::getDesktopSize() > KGlobal::Small ) { 1884 if (KGlobal::getDesktopSize() > KGlobal::Small ) {
1872 1885
1873 mActionSave->plug( tb ); 1886 mActionSave->plug( tb );
1874 mViewManager->getFilterAction()->plug ( tb); 1887 mViewManager->getFilterAction()->plug ( tb);
1875 if (KGlobal::getDesktopSize() == KGlobal::Desktop ) { 1888 if (KGlobal::getDesktopSize() == KGlobal::Desktop ) {
1876 mActionUndo->plug( tb ); 1889 mActionUndo->plug( tb );
1877 mActionDelete->plug( tb ); 1890 mActionDelete->plug( tb );
1878 mActionRedo->plug( tb ); 1891 mActionRedo->plug( tb );
1879 } 1892 }
1880 } 1893 }
1881 //mActionQuit->plug ( tb ); 1894 //mActionQuit->plug ( tb );
1882 // tb->insertWidget(-1, 0, mIncSearchWidget, 6); 1895 // tb->insertWidget(-1, 0, mIncSearchWidget, 6);
1883 1896
1884 //US link the searchwidget first to this. 1897 //US link the searchwidget first to this.
1885 // The real linkage to the toolbar happens later. 1898 // The real linkage to the toolbar happens later.
1886//US mIncSearchWidget->reparent(tb, 0, QPoint(50,0), TRUE); 1899//US mIncSearchWidget->reparent(tb, 0, QPoint(50,0), TRUE);
1887//US tb->insertItem( mIncSearchWidget ); 1900//US tb->insertItem( mIncSearchWidget );
1888/*US 1901/*US
1889 mIncSearchWidget = new IncSearchWidget( tb ); 1902 mIncSearchWidget = new IncSearchWidget( tb );
1890 connect( mIncSearchWidget, SIGNAL( doSearch( const QString& ) ), 1903 connect( mIncSearchWidget, SIGNAL( doSearch( const QString& ) ),
1891 SLOT( incrementalSearch( const QString& ) ) ); 1904 SLOT( incrementalSearch( const QString& ) ) );
1892 1905
1893 mJumpButtonBar = new JumpButtonBar( this, this ); 1906 mJumpButtonBar = new JumpButtonBar( this, this );
@@ -2047,29 +2060,35 @@ void KABCore::requestForDetails(const QString& sourceChannel, const QString& ses
2047 { 2060 {
2048 // raise Ka/Pi if it is in the background 2061 // raise Ka/Pi if it is in the background
2049#ifndef DESKTOP_VERSION 2062#ifndef DESKTOP_VERSION
2050#ifndef KORG_NODCOP 2063#ifndef KORG_NODCOP
2051 QCopEnvelope e("QPE/Application/kapi", "raise()"); 2064 QCopEnvelope e("QPE/Application/kapi", "raise()");
2052#endif 2065#endif
2053#endif 2066#endif
2054 2067
2055 mMainWindow->showMaximized(); 2068 mMainWindow->showMaximized();
2056 2069
2057 mViewManager->setSelected( "", false); 2070 mViewManager->setSelected( "", false);
2058 mViewManager->refreshView( "" ); 2071 mViewManager->refreshView( "" );
2059 mViewManager->setSelected( foundUid, true ); 2072 mViewManager->setSelected( foundUid, true );
2060 mViewManager->refreshView( foundUid ); 2073 mViewManager->refreshView( foundUid );
2061 2074
2062 if ( !mMultipleViewsAtOnce ) 2075 if ( !mMultipleViewsAtOnce )
2063 { 2076 {
2064 setDetailsVisible( true ); 2077 setDetailsVisible( true );
2065 mActionDetails->setChecked(true); 2078 mActionDetails->setChecked(true);
2066 } 2079 }
2067 } 2080 }
2068} 2081}
2069 2082
2070 2083
2084void KABCore::faq()
2085{
2086 KApplication::showFile( "KA/Pi FAQ", "kdepim/kaddressbook/kapiFAQ.txt" );
2087}
2088
2089
2071 2090
2072 2091
2073#ifndef KAB_EMBEDDED 2092#ifndef KAB_EMBEDDED
2074#include "kabcore.moc" 2093#include "kabcore.moc"
2075#endif //KAB_EMBEDDED 2094#endif //KAB_EMBEDDED
diff --git a/kaddressbook/kabcore.h b/kaddressbook/kabcore.h
index 040b6aa..39d043f 100644
--- a/kaddressbook/kabcore.h
+++ b/kaddressbook/kabcore.h
@@ -122,48 +122,50 @@ class KABCore : public QWidget
122 122
123 /** 123 /**
124 Displays the ResourceSelectDialog and returns the selected 124 Displays the ResourceSelectDialog and returns the selected
125 resource or a null pointer if no resource was selected by 125 resource or a null pointer if no resource was selected by
126 the user. 126 the user.
127 */ 127 */
128 KABC::Resource *requestResource( QWidget *parent ); 128 KABC::Resource *requestResource( QWidget *parent );
129 129
130#ifndef KAB_EMBEDDED 130#ifndef KAB_EMBEDDED
131 static KAboutData *createAboutData(); 131 static KAboutData *createAboutData();
132#endif //KAB_EMBEDDED 132#endif //KAB_EMBEDDED
133 133
134#ifdef KAB_EMBEDDED 134#ifdef KAB_EMBEDDED
135 inline QPopupMenu* getImportMenu() { return ImportMenu;} 135 inline QPopupMenu* getImportMenu() { return ImportMenu;}
136 inline QPopupMenu* getExportMenu() { return ExportMenu;} 136 inline QPopupMenu* getExportMenu() { return ExportMenu;}
137#endif //KAB_EMBEDDED 137#endif //KAB_EMBEDDED
138 138
139 public slots: 139 public slots:
140#ifdef KAB_EMBEDDED 140#ifdef KAB_EMBEDDED
141 void createAboutData(); 141 void createAboutData();
142#endif //KAB_EMBEDDED 142#endif //KAB_EMBEDDED
143 143
144 void statusMessage(QString, int time = 0 ); 144 void statusMessage(QString, int time = 0 );
145 void showLicence(); 145 void showLicence();
146 void faq();
147
146 /** 148 /**
147 Is called whenever a contact is selected in the view. 149 Is called whenever a contact is selected in the view.
148 */ 150 */
149 void setContactSelected( const QString &uid ); 151 void setContactSelected( const QString &uid );
150 152
151 /** 153 /**
152 Opens the preferred mail composer with all selected contacts as 154 Opens the preferred mail composer with all selected contacts as
153 arguments. 155 arguments.
154 */ 156 */
155 void sendMail(); 157 void sendMail();
156 158
157 /** 159 /**
158 Opens the preferred mail composer with the given contacts as 160 Opens the preferred mail composer with the given contacts as
159 arguments. 161 arguments.
160 */ 162 */
161 void sendMail( const QString& email ); 163 void sendMail( const QString& email );
162 164
163 165
164 void mailVCard(); 166 void mailVCard();
165 void mailVCard(const QStringList& uids); 167 void mailVCard(const QStringList& uids);
166 168
167 /** 169 /**
168 Beams the "WhoAmI contact. 170 Beams the "WhoAmI contact.
169 */ 171 */
@@ -401,48 +403,49 @@ class KABCore : public QWidget
401 403
402 KAction *mActionQuit; 404 KAction *mActionQuit;
403 405
404 //US edit menu 406 //US edit menu
405 KAction *mActionCopy; 407 KAction *mActionCopy;
406 KAction *mActionCut; 408 KAction *mActionCut;
407 KAction *mActionPaste; 409 KAction *mActionPaste;
408 KAction *mActionSelectAll; 410 KAction *mActionSelectAll;
409 KAction *mActionUndo; 411 KAction *mActionUndo;
410 KAction *mActionRedo; 412 KAction *mActionRedo;
411 KAction *mActionDelete; 413 KAction *mActionDelete;
412 414
413 //US settings menu 415 //US settings menu
414 KAction *mActionConfigResources; 416 KAction *mActionConfigResources;
415 KAction *mActionConfigKAddressbook; 417 KAction *mActionConfigKAddressbook;
416 KAction *mActionConfigShortcuts; 418 KAction *mActionConfigShortcuts;
417 KAction *mActionConfigureToolbars; 419 KAction *mActionConfigureToolbars;
418 KAction *mActionKeyBindings; 420 KAction *mActionKeyBindings;
419 KToggleAction *mActionJumpBar; 421 KToggleAction *mActionJumpBar;
420 KToggleAction *mActionDetails; 422 KToggleAction *mActionDetails;
421 KAction *mActionWhoAmI; 423 KAction *mActionWhoAmI;
422 KAction *mActionCategories; 424 KAction *mActionCategories;
423 KAction *mActionAboutKAddressbook; 425 KAction *mActionAboutKAddressbook;
424 KAction *mActionLicence; 426 KAction *mActionLicence;
427 KAction *mActionFaq;
425 428
426 KAction *mActionDeleteView; 429 KAction *mActionDeleteView;
427 430
428 QPopupMenu *viewMenu; 431 QPopupMenu *viewMenu;
429 QPopupMenu *filterMenu; 432 QPopupMenu *filterMenu;
430 QPopupMenu *settingsMenu; 433 QPopupMenu *settingsMenu;
431 QPopupMenu *changeMenu; 434 QPopupMenu *changeMenu;
432 435
433//US QAction *mActionSave; 436//US QAction *mActionSave;
434 QPopupMenu *ImportMenu; 437 QPopupMenu *ImportMenu;
435 QPopupMenu *ExportMenu; 438 QPopupMenu *ExportMenu;
436 //LR additional methods 439 //LR additional methods
437 KAction *mActionRemoveVoice; 440 KAction *mActionRemoveVoice;
438 KAction * mActionImportOL; 441 KAction * mActionImportOL;
439 442
440#ifndef KAB_EMBEDDED 443#ifndef KAB_EMBEDDED
441 KAddressBookService *mAddressBookService; 444 KAddressBookService *mAddressBookService;
442#endif //KAB_EMBEDDED 445#endif //KAB_EMBEDDED
443 446
444 class KABCorePrivate; 447 class KABCorePrivate;
445 KABCorePrivate *d; 448 KABCorePrivate *d;
446 449
447#ifdef KAB_EMBEDDED 450#ifdef KAB_EMBEDDED
448 KAddressBookMain *mMainWindow; // should be the same like mGUIClient 451 KAddressBookMain *mMainWindow; // should be the same like mGUIClient