summaryrefslogtreecommitdiffabout
path: root/kaddressbook
authorzautrix <zautrix>2004-10-28 07:46:21 (UTC)
committer zautrix <zautrix>2004-10-28 07:46:21 (UTC)
commitaada2527dee908aa96bfc16f5faddd3b29372bee (patch) (unidiff)
tree7ca9bbe5dc64684ec94110becf63d80ae9ad0edd /kaddressbook
parent2fe1a56682ef4dc1fa0a30f764c7313b583631c5 (diff)
downloadkdepimpi-aada2527dee908aa96bfc16f5faddd3b29372bee.zip
kdepimpi-aada2527dee908aa96bfc16f5faddd3b29372bee.tar.gz
kdepimpi-aada2527dee908aa96bfc16f5faddd3b29372bee.tar.bz2
compile fixes
Diffstat (limited to 'kaddressbook') (more/less context) (ignore whitespace changes)
-rw-r--r--kaddressbook/kabcore.cpp6
-rw-r--r--kaddressbook/viewmanager.cpp4
2 files changed, 6 insertions, 4 deletions
diff --git a/kaddressbook/kabcore.cpp b/kaddressbook/kabcore.cpp
index 638abc9..5ebd3a4 100644
--- a/kaddressbook/kabcore.cpp
+++ b/kaddressbook/kabcore.cpp
@@ -1809,293 +1809,295 @@ void KABCore::initActions()
1809 "kaddressbook_redo" ); 1809 "kaddressbook_redo" );
1810 } else { 1810 } else {
1811 mActionCopy = KStdAction::copy( this, SLOT( copyContacts() ), actionCollection() ); 1811 mActionCopy = KStdAction::copy( this, SLOT( copyContacts() ), actionCollection() );
1812 mActionCut = KStdAction::cut( this, SLOT( cutContacts() ), actionCollection() ); 1812 mActionCut = KStdAction::cut( this, SLOT( cutContacts() ), actionCollection() );
1813 mActionPaste = KStdAction::paste( this, SLOT( pasteContacts() ), actionCollection() ); 1813 mActionPaste = KStdAction::paste( this, SLOT( pasteContacts() ), actionCollection() );
1814 mActionSelectAll = KStdAction::selectAll( this, SLOT( selectAllContacts() ), actionCollection() ); 1814 mActionSelectAll = KStdAction::selectAll( this, SLOT( selectAllContacts() ), actionCollection() );
1815 mActionUndo = KStdAction::undo( this, SLOT( undo() ), actionCollection() ); 1815 mActionUndo = KStdAction::undo( this, SLOT( undo() ), actionCollection() );
1816 mActionRedo = KStdAction::redo( this, SLOT( redo() ), actionCollection() ); 1816 mActionRedo = KStdAction::redo( this, SLOT( redo() ), actionCollection() );
1817 } 1817 }
1818 1818
1819 mActionDelete = new KAction( i18n( "&Delete Contact" ), "editdelete", 1819 mActionDelete = new KAction( i18n( "&Delete Contact" ), "editdelete",
1820 Key_Delete, this, SLOT( deleteContacts() ), 1820 Key_Delete, this, SLOT( deleteContacts() ),
1821 actionCollection(), "edit_delete" ); 1821 actionCollection(), "edit_delete" );
1822 1822
1823 mActionUndo->setEnabled( false ); 1823 mActionUndo->setEnabled( false );
1824 mActionRedo->setEnabled( false ); 1824 mActionRedo->setEnabled( false );
1825 1825
1826 // settings menu 1826 // settings menu
1827#ifdef KAB_EMBEDDED 1827#ifdef KAB_EMBEDDED
1828//US special menuentry to configure the addressbook resources. On KDE 1828//US special menuentry to configure the addressbook resources. On KDE
1829// you do that through the control center !!! 1829// you do that through the control center !!!
1830 mActionConfigResources = new KAction( i18n( "Configure &Resources..." ), "configure_resources", 0, this, 1830 mActionConfigResources = new KAction( i18n( "Configure &Resources..." ), "configure_resources", 0, this,
1831 SLOT( configureResources() ), actionCollection(), 1831 SLOT( configureResources() ), actionCollection(),
1832 "kaddressbook_configure_resources" ); 1832 "kaddressbook_configure_resources" );
1833#endif //KAB_EMBEDDED 1833#endif //KAB_EMBEDDED
1834 1834
1835 if ( mIsPart ) { 1835 if ( mIsPart ) {
1836 mActionConfigKAddressbook = new KAction( i18n( "&Configure KAddressBook..." ), "configure", 0, this, 1836 mActionConfigKAddressbook = new KAction( i18n( "&Configure KAddressBook..." ), "configure", 0, this,
1837 SLOT( openConfigDialog() ), actionCollection(), 1837 SLOT( openConfigDialog() ), actionCollection(),
1838 "kaddressbook_configure" ); 1838 "kaddressbook_configure" );
1839 1839
1840 //US not implemented yet 1840 //US not implemented yet
1841 //mActionConfigShortcuts = new KAction( i18n( "Configure S&hortcuts..." ), "configure_shortcuts", 0, 1841 //mActionConfigShortcuts = new KAction( i18n( "Configure S&hortcuts..." ), "configure_shortcuts", 0,
1842 // this, SLOT( configureKeyBindings() ), actionCollection(), 1842 // this, SLOT( configureKeyBindings() ), actionCollection(),
1843 // "kaddressbook_configure_shortcuts" ); 1843 // "kaddressbook_configure_shortcuts" );
1844#ifdef KAB_EMBEDDED 1844#ifdef KAB_EMBEDDED
1845 mActionConfigureToolbars = KStdAction::configureToolbars( this, SLOT( mMainWindow->configureToolbars() ), actionCollection() ); 1845 mActionConfigureToolbars = KStdAction::configureToolbars( this, SLOT( mMainWindow->configureToolbars() ), actionCollection() );
1846 mActionConfigureToolbars->setEnabled( false ); 1846 mActionConfigureToolbars->setEnabled( false );
1847#endif //KAB_EMBEDDED 1847#endif //KAB_EMBEDDED
1848 1848
1849 } else { 1849 } else {
1850 mActionConfigKAddressbook = KStdAction::preferences( this, SLOT( openConfigDialog() ), actionCollection() ); 1850 mActionConfigKAddressbook = KStdAction::preferences( this, SLOT( openConfigDialog() ), actionCollection() );
1851 1851
1852 //US not implemented yet 1852 //US not implemented yet
1853 //mActionKeyBindings = KStdAction::keyBindings( this, SLOT( configureKeyBindings() ), actionCollection() ); 1853 //mActionKeyBindings = KStdAction::keyBindings( this, SLOT( configureKeyBindings() ), actionCollection() );
1854 } 1854 }
1855 1855
1856 mActionJumpBar = new KToggleAction( i18n( "Show Jump Bar" ), 0, 0, 1856 mActionJumpBar = new KToggleAction( i18n( "Show Jump Bar" ), 0, 0,
1857 actionCollection(), "options_show_jump_bar" ); 1857 actionCollection(), "options_show_jump_bar" );
1858 connect( mActionJumpBar, SIGNAL( toggled( bool ) ), SLOT( setJumpButtonBarVisible( bool ) ) ); 1858 connect( mActionJumpBar, SIGNAL( toggled( bool ) ), SLOT( setJumpButtonBarVisible( bool ) ) );
1859 1859
1860 mActionDetails = new KToggleAction( i18n( "Show Details" ), "listview", 0, 1860 mActionDetails = new KToggleAction( i18n( "Show Details" ), "listview", 0,
1861 actionCollection(), "options_show_details" ); 1861 actionCollection(), "options_show_details" );
1862 connect( mActionDetails, SIGNAL( toggled( bool ) ), SLOT( setDetailsVisible( bool ) ) ); 1862 connect( mActionDetails, SIGNAL( toggled( bool ) ), SLOT( setDetailsVisible( bool ) ) );
1863 1863
1864 1864
1865 mActionBR = new KToggleAction( i18n( "Beam receive enabled" ), "beam", 0, this, 1865 mActionBR = new KToggleAction( i18n( "Beam receive enabled" ), "beam", 0, this,
1866 SLOT( toggleBeamReceive() ), actionCollection(), 1866 SLOT( toggleBeamReceive() ), actionCollection(),
1867 "kaddressbook_beam_rec" ); 1867 "kaddressbook_beam_rec" );
1868 1868
1869 1869
1870 // misc 1870 // misc
1871 // only enable LDAP lookup if we can handle the protocol 1871 // only enable LDAP lookup if we can handle the protocol
1872#ifndef KAB_EMBEDDED 1872#ifndef KAB_EMBEDDED
1873 if ( KProtocolInfo::isKnownProtocol( KURL( "ldap://localhost" ) ) ) { 1873 if ( KProtocolInfo::isKnownProtocol( KURL( "ldap://localhost" ) ) ) {
1874 new KAction( i18n( "&Lookup Addresses in Directory" ), "find", 0, 1874 new KAction( i18n( "&Lookup Addresses in Directory" ), "find", 0,
1875 this, SLOT( openLDAPDialog() ), actionCollection(), 1875 this, SLOT( openLDAPDialog() ), actionCollection(),
1876 "ldap_lookup" ); 1876 "ldap_lookup" );
1877 } 1877 }
1878#else //KAB_EMBEDDED 1878#else //KAB_EMBEDDED
1879 //qDebug("KABCore::initActions() LDAP has to be implemented"); 1879 //qDebug("KABCore::initActions() LDAP has to be implemented");
1880#endif //KAB_EMBEDDED 1880#endif //KAB_EMBEDDED
1881 1881
1882 1882
1883 mActionWhoAmI = new KAction( i18n( "Set Who Am I" ), "personal", 0, this, 1883 mActionWhoAmI = new KAction( i18n( "Set Who Am I" ), "personal", 0, this,
1884 SLOT( setWhoAmI() ), actionCollection(), 1884 SLOT( setWhoAmI() ), actionCollection(),
1885 "set_personal" ); 1885 "set_personal" );
1886 1886
1887 1887
1888 1888
1889 1889
1890 mActionCategories = new KAction( i18n( "Set Categories" ), 0, this, 1890 mActionCategories = new KAction( i18n( "Set Categories" ), 0, this,
1891 SLOT( setCategories() ), actionCollection(), 1891 SLOT( setCategories() ), actionCollection(),
1892 "edit_set_categories" ); 1892 "edit_set_categories" );
1893 1893
1894 mActionRemoveVoice = new KAction( i18n( "Remove \"voice\"..." ), 0, this, 1894 mActionRemoveVoice = new KAction( i18n( "Remove \"voice\"..." ), 0, this,
1895 SLOT( removeVoice() ), actionCollection(), 1895 SLOT( removeVoice() ), actionCollection(),
1896 "remove_voice" ); 1896 "remove_voice" );
1897 mActionImportOL = new KAction( i18n( "Import from Outlook..." ), 0, this, 1897 mActionImportOL = new KAction( i18n( "Import from Outlook..." ), 0, this,
1898 SLOT( importFromOL() ), actionCollection(), 1898 SLOT( importFromOL() ), actionCollection(),
1899 "import_OL" ); 1899 "import_OL" );
1900#ifdef KAB_EMBEDDED 1900#ifdef KAB_EMBEDDED
1901 mActionLicence = new KAction( i18n( "Licence" ), 0, 1901 mActionLicence = new KAction( i18n( "Licence" ), 0,
1902 this, SLOT( showLicence() ), actionCollection(), 1902 this, SLOT( showLicence() ), actionCollection(),
1903 "licence_about_data" ); 1903 "licence_about_data" );
1904 mActionFaq = new KAction( i18n( "Faq" ), 0, 1904 mActionFaq = new KAction( i18n( "Faq" ), 0,
1905 this, SLOT( faq() ), actionCollection(), 1905 this, SLOT( faq() ), actionCollection(),
1906 "faq_about_data" ); 1906 "faq_about_data" );
1907 mActionWN = new KAction( i18n( "What's New?" ), 0, 1907 mActionWN = new KAction( i18n( "What's New?" ), 0,
1908 this, SLOT( whatsnew() ), actionCollection(), 1908 this, SLOT( whatsnew() ), actionCollection(),
1909 "wn" ); 1909 "wn" );
1910 mActionSyncHowto = new KAction( i18n( "Sync HowTo" ), 0, 1910 mActionSyncHowto = new KAction( i18n( "Sync HowTo" ), 0,
1911 this, SLOT( synchowto() ), actionCollection(), 1911 this, SLOT( synchowto() ), actionCollection(),
1912 "sync" ); 1912 "sync" );
1913 1913
1914 mActionAboutKAddressbook = new KAction( i18n( "&About KAddressBook" ), "kaddressbook2", 0, 1914 mActionAboutKAddressbook = new KAction( i18n( "&About KAddressBook" ), "kaddressbook2", 0,
1915 this, SLOT( createAboutData() ), actionCollection(), 1915 this, SLOT( createAboutData() ), actionCollection(),
1916 "kaddressbook_about_data" ); 1916 "kaddressbook_about_data" );
1917#endif //KAB_EMBEDDED 1917#endif //KAB_EMBEDDED
1918 1918
1919 clipboardDataChanged(); 1919 clipboardDataChanged();
1920 connect( UndoStack::instance(), SIGNAL( changed() ), SLOT( updateActionMenu() ) ); 1920 connect( UndoStack::instance(), SIGNAL( changed() ), SLOT( updateActionMenu() ) );
1921 connect( RedoStack::instance(), SIGNAL( changed() ), SLOT( updateActionMenu() ) ); 1921 connect( RedoStack::instance(), SIGNAL( changed() ), SLOT( updateActionMenu() ) );
1922} 1922}
1923 1923
1924//US we need this function, to plug all actions into the correct menues. 1924//US we need this function, to plug all actions into the correct menues.
1925// KDE uses a XML format to plug the actions, but we work her without this overhead. 1925// KDE uses a XML format to plug the actions, but we work her without this overhead.
1926void KABCore::addActionsManually() 1926void KABCore::addActionsManually()
1927{ 1927{
1928//US qDebug("KABCore::initActions(): mIsPart %i", mIsPart); 1928//US qDebug("KABCore::initActions(): mIsPart %i", mIsPart);
1929 1929
1930#ifdef KAB_EMBEDDED 1930#ifdef KAB_EMBEDDED
1931 QPopupMenu *fileMenu = new QPopupMenu( this ); 1931 QPopupMenu *fileMenu = new QPopupMenu( this );
1932 QPopupMenu *editMenu = new QPopupMenu( this ); 1932 QPopupMenu *editMenu = new QPopupMenu( this );
1933 QPopupMenu *helpMenu = new QPopupMenu( this ); 1933 QPopupMenu *helpMenu = new QPopupMenu( this );
1934 1934
1935 KToolBar* tb = mMainWindow->toolBar(); 1935 KToolBar* tb = mMainWindow->toolBar();
1936 1936
1937 1937#ifndef DESKTOP_VERSION
1938 if ( KABPrefs::instance()->mFullMenuBarVisible ) { 1938 if ( KABPrefs::instance()->mFullMenuBarVisible ) {
1939#endif
1939 QMenuBar* mb = mMainWindow->menuBar(); 1940 QMenuBar* mb = mMainWindow->menuBar();
1940 1941
1941 //US setup menubar. 1942 //US setup menubar.
1942 //Disable the following block if you do not want to have a menubar. 1943 //Disable the following block if you do not want to have a menubar.
1943 mb->insertItem( "&File", fileMenu ); 1944 mb->insertItem( "&File", fileMenu );
1944 mb->insertItem( "&Edit", editMenu ); 1945 mb->insertItem( "&Edit", editMenu );
1945 mb->insertItem( "&View", viewMenu ); 1946 mb->insertItem( "&View", viewMenu );
1946 mb->insertItem( "&Settings", settingsMenu ); 1947 mb->insertItem( "&Settings", settingsMenu );
1947 mb->insertItem( i18n("Synchronize"), syncMenu ); 1948 mb->insertItem( i18n("Synchronize"), syncMenu );
1948 mb->insertItem( "&Change selected", changeMenu ); 1949 mb->insertItem( "&Change selected", changeMenu );
1949 mb->insertItem( "&Help", helpMenu ); 1950 mb->insertItem( "&Help", helpMenu );
1950 mIncSearchWidget = new IncSearchWidget( tb ); 1951 mIncSearchWidget = new IncSearchWidget( tb );
1951 // tb->insertWidget(-1, 0, mIncSearchWidget); 1952 // tb->insertWidget(-1, 0, mIncSearchWidget);
1952 1953#ifndef DESKTOP_VERSION
1953 } else { 1954 } else {
1954 //US setup toolbar 1955 //US setup toolbar
1955 QPEMenuBar *menuBarTB = new QPEMenuBar( tb ); 1956 QPEMenuBar *menuBarTB = new QPEMenuBar( tb );
1956 QPopupMenu *popupBarTB = new QPopupMenu( this ); 1957 QPopupMenu *popupBarTB = new QPopupMenu( this );
1957 menuBarTB->insertItem( "ME", popupBarTB); 1958 menuBarTB->insertItem( "ME", popupBarTB);
1958 tb->insertWidget(-1, 0, menuBarTB); 1959 tb->insertWidget(-1, 0, menuBarTB);
1959 mIncSearchWidget = new IncSearchWidget( tb ); 1960 mIncSearchWidget = new IncSearchWidget( tb );
1960 1961
1961 tb->enableMoving(false); 1962 tb->enableMoving(false);
1962 popupBarTB->insertItem( "&File", fileMenu ); 1963 popupBarTB->insertItem( "&File", fileMenu );
1963 popupBarTB->insertItem( "&Edit", editMenu ); 1964 popupBarTB->insertItem( "&Edit", editMenu );
1964 popupBarTB->insertItem( "&View", viewMenu ); 1965 popupBarTB->insertItem( "&View", viewMenu );
1965 popupBarTB->insertItem( "&Settings", settingsMenu ); 1966 popupBarTB->insertItem( "&Settings", settingsMenu );
1966 popupBarTB->insertItem( i18n("Synchronize"), syncMenu ); 1967 popupBarTB->insertItem( i18n("Synchronize"), syncMenu );
1967 mViewManager->getFilterAction()->plug ( popupBarTB); 1968 mViewManager->getFilterAction()->plug ( popupBarTB);
1968 popupBarTB->insertItem( "&Change selected", changeMenu ); 1969 popupBarTB->insertItem( "&Change selected", changeMenu );
1969 popupBarTB->insertItem( "&Help", helpMenu ); 1970 popupBarTB->insertItem( "&Help", helpMenu );
1970 if (QApplication::desktop()->width() > 320 ) { 1971 if (QApplication::desktop()->width() > 320 ) {
1971 // mViewManager->getFilterAction()->plug ( tb); 1972 // mViewManager->getFilterAction()->plug ( tb);
1972 } 1973 }
1973 } 1974 }
1975#endif
1974 // mActionQuit->plug ( mMainWindow->toolBar()); 1976 // mActionQuit->plug ( mMainWindow->toolBar());
1975 1977
1976 1978
1977 1979
1978 //US Now connect the actions with the menue entries. 1980 //US Now connect the actions with the menue entries.
1979 mActionPrint->plug( fileMenu ); 1981 mActionPrint->plug( fileMenu );
1980 mActionMail->plug( fileMenu ); 1982 mActionMail->plug( fileMenu );
1981 fileMenu->insertSeparator(); 1983 fileMenu->insertSeparator();
1982 1984
1983 mActionNewContact->plug( fileMenu ); 1985 mActionNewContact->plug( fileMenu );
1984 mActionNewContact->plug( tb ); 1986 mActionNewContact->plug( tb );
1985 1987
1986 mActionEditAddressee->plug( fileMenu ); 1988 mActionEditAddressee->plug( fileMenu );
1987 // if ((KGlobal::getDesktopSize() > KGlobal::Small ) || 1989 // if ((KGlobal::getDesktopSize() > KGlobal::Small ) ||
1988 // (!KABPrefs::instance()->mMultipleViewsAtOnce )) 1990 // (!KABPrefs::instance()->mMultipleViewsAtOnce ))
1989 mActionEditAddressee->plug( tb ); 1991 mActionEditAddressee->plug( tb );
1990 1992
1991 fileMenu->insertSeparator(); 1993 fileMenu->insertSeparator();
1992 mActionSave->plug( fileMenu ); 1994 mActionSave->plug( fileMenu );
1993 fileMenu->insertItem( "&Import", ImportMenu ); 1995 fileMenu->insertItem( "&Import", ImportMenu );
1994 fileMenu->insertItem( "&Export", ExportMenu ); 1996 fileMenu->insertItem( "&Export", ExportMenu );
1995 fileMenu->insertSeparator(); 1997 fileMenu->insertSeparator();
1996 mActionMailVCard->plug( fileMenu ); 1998 mActionMailVCard->plug( fileMenu );
1997#ifndef DESKTOP_VERSION 1999#ifndef DESKTOP_VERSION
1998 if ( Ir::supported() ) mActionBeamVCard->plug( fileMenu ); 2000 if ( Ir::supported() ) mActionBeamVCard->plug( fileMenu );
1999 if ( Ir::supported() ) mActionBeam->plug(fileMenu ); 2001 if ( Ir::supported() ) mActionBeam->plug(fileMenu );
2000#endif 2002#endif
2001 fileMenu->insertSeparator(); 2003 fileMenu->insertSeparator();
2002 mActionQuit->plug( fileMenu ); 2004 mActionQuit->plug( fileMenu );
2003#ifdef _WIN32_ 2005#ifdef _WIN32_
2004 mActionImportOL->plug( ImportMenu ); 2006 mActionImportOL->plug( ImportMenu );
2005#endif 2007#endif
2006 // edit menu 2008 // edit menu
2007 mActionUndo->plug( editMenu ); 2009 mActionUndo->plug( editMenu );
2008 mActionRedo->plug( editMenu ); 2010 mActionRedo->plug( editMenu );
2009 editMenu->insertSeparator(); 2011 editMenu->insertSeparator();
2010 mActionCut->plug( editMenu ); 2012 mActionCut->plug( editMenu );
2011 mActionCopy->plug( editMenu ); 2013 mActionCopy->plug( editMenu );
2012 mActionPaste->plug( editMenu ); 2014 mActionPaste->plug( editMenu );
2013 mActionDelete->plug( editMenu ); 2015 mActionDelete->plug( editMenu );
2014 editMenu->insertSeparator(); 2016 editMenu->insertSeparator();
2015 mActionSelectAll->plug( editMenu ); 2017 mActionSelectAll->plug( editMenu );
2016 2018
2017 mActionRemoveVoice->plug( changeMenu ); 2019 mActionRemoveVoice->plug( changeMenu );
2018 // settings menu 2020 // settings menu
2019//US special menuentry to configure the addressbook resources. On KDE 2021//US special menuentry to configure the addressbook resources. On KDE
2020// you do that through the control center !!! 2022// you do that through the control center !!!
2021 mActionConfigResources->plug( settingsMenu ); 2023 mActionConfigResources->plug( settingsMenu );
2022 settingsMenu->insertSeparator(); 2024 settingsMenu->insertSeparator();
2023 2025
2024 mActionConfigKAddressbook->plug( settingsMenu ); 2026 mActionConfigKAddressbook->plug( settingsMenu );
2025 2027
2026 if ( mIsPart ) { 2028 if ( mIsPart ) {
2027 //US not implemented yet 2029 //US not implemented yet
2028 //mActionConfigShortcuts->plug( settingsMenu ); 2030 //mActionConfigShortcuts->plug( settingsMenu );
2029 //mActionConfigureToolbars->plug( settingsMenu ); 2031 //mActionConfigureToolbars->plug( settingsMenu );
2030 2032
2031 } else { 2033 } else {
2032 //US not implemented yet 2034 //US not implemented yet
2033 //mActionKeyBindings->plug( settingsMenu ); 2035 //mActionKeyBindings->plug( settingsMenu );
2034 } 2036 }
2035 2037
2036 settingsMenu->insertSeparator(); 2038 settingsMenu->insertSeparator();
2037 2039
2038 mActionJumpBar->plug( settingsMenu ); 2040 mActionJumpBar->plug( settingsMenu );
2039 mActionDetails->plug( settingsMenu ); 2041 mActionDetails->plug( settingsMenu );
2040 //if (!KABPrefs::instance()->mMultipleViewsAtOnce || KGlobal::getDesktopSize() == KGlobal::Desktop ) 2042 //if (!KABPrefs::instance()->mMultipleViewsAtOnce || KGlobal::getDesktopSize() == KGlobal::Desktop )
2041 mActionDetails->plug( tb ); 2043 mActionDetails->plug( tb );
2042 settingsMenu->insertSeparator(); 2044 settingsMenu->insertSeparator();
2043 mActionBR->plug(settingsMenu ); 2045 mActionBR->plug(settingsMenu );
2044 settingsMenu->insertSeparator(); 2046 settingsMenu->insertSeparator();
2045 2047
2046 mActionWhoAmI->plug( settingsMenu ); 2048 mActionWhoAmI->plug( settingsMenu );
2047 mActionCategories->plug( settingsMenu ); 2049 mActionCategories->plug( settingsMenu );
2048 2050
2049 2051
2050 mActionWN->plug( helpMenu ); 2052 mActionWN->plug( helpMenu );
2051 mActionSyncHowto->plug( helpMenu ); 2053 mActionSyncHowto->plug( helpMenu );
2052 mActionLicence->plug( helpMenu ); 2054 mActionLicence->plug( helpMenu );
2053 mActionFaq->plug( helpMenu ); 2055 mActionFaq->plug( helpMenu );
2054 mActionAboutKAddressbook->plug( helpMenu ); 2056 mActionAboutKAddressbook->plug( helpMenu );
2055 2057
2056 if (KGlobal::getDesktopSize() > KGlobal::Small ) { 2058 if (KGlobal::getDesktopSize() > KGlobal::Small ) {
2057 2059
2058 mActionSave->plug( tb ); 2060 mActionSave->plug( tb );
2059 mViewManager->getFilterAction()->plug ( tb); 2061 mViewManager->getFilterAction()->plug ( tb);
2060 if (KGlobal::getDesktopSize() == KGlobal::Desktop ) { 2062 if (KGlobal::getDesktopSize() == KGlobal::Desktop ) {
2061 mActionUndo->plug( tb ); 2063 mActionUndo->plug( tb );
2062 mActionDelete->plug( tb ); 2064 mActionDelete->plug( tb );
2063 mActionRedo->plug( tb ); 2065 mActionRedo->plug( tb );
2064 } 2066 }
2065 } else { 2067 } else {
2066 mActionSave->plug( tb ); 2068 mActionSave->plug( tb );
2067 tb->enableMoving(false); 2069 tb->enableMoving(false);
2068 } 2070 }
2069 //mActionQuit->plug ( tb ); 2071 //mActionQuit->plug ( tb );
2070 // tb->insertWidget(-1, 0, mIncSearchWidget, 6); 2072 // tb->insertWidget(-1, 0, mIncSearchWidget, 6);
2071 2073
2072 //US link the searchwidget first to this. 2074 //US link the searchwidget first to this.
2073 // The real linkage to the toolbar happens later. 2075 // The real linkage to the toolbar happens later.
2074//US mIncSearchWidget->reparent(tb, 0, QPoint(50,0), TRUE); 2076//US mIncSearchWidget->reparent(tb, 0, QPoint(50,0), TRUE);
2075//US tb->insertItem( mIncSearchWidget ); 2077//US tb->insertItem( mIncSearchWidget );
2076/*US 2078/*US
2077 mIncSearchWidget = new IncSearchWidget( tb ); 2079 mIncSearchWidget = new IncSearchWidget( tb );
2078 connect( mIncSearchWidget, SIGNAL( doSearch( const QString& ) ), 2080 connect( mIncSearchWidget, SIGNAL( doSearch( const QString& ) ),
2079 SLOT( incrementalSearch( const QString& ) ) ); 2081 SLOT( incrementalSearch( const QString& ) ) );
2080 2082
2081 mJumpButtonBar = new JumpButtonBar( this, this ); 2083 mJumpButtonBar = new JumpButtonBar( this, this );
2082 2084
2083//US topLayout->addWidget( mJumpButtonBar ); 2085//US topLayout->addWidget( mJumpButtonBar );
2084 this->layout()->add( mJumpButtonBar ); 2086 this->layout()->add( mJumpButtonBar );
2085*/ 2087*/
2086 2088
2087#endif //KAB_EMBEDDED 2089#endif //KAB_EMBEDDED
2088 2090
2089 mActionExport2phone->plug( ExportMenu ); 2091 mActionExport2phone->plug( ExportMenu );
2090 connect ( syncMenu, SIGNAL( activated ( int ) ), syncManager, SLOT (slotSyncMenu( int ) ) ); 2092 connect ( syncMenu, SIGNAL( activated ( int ) ), syncManager, SLOT (slotSyncMenu( int ) ) );
2091 syncManager->fillSyncMenu(); 2093 syncManager->fillSyncMenu();
2092 2094
2093} 2095}
2094void KABCore::showLicence() 2096void KABCore::showLicence()
2095{ 2097{
2096 KApplication::showLicence(); 2098 KApplication::showLicence();
2097} 2099}
2098void KABCore::removeVoice() 2100void KABCore::removeVoice()
2099{ 2101{
2100 if ( KMessageBox::questionYesNo( this, i18n("After importing, phone numbers\nmay have two or more types.\n(E.g. work+voice)\nThese numbers are shown as \"other\".\nClick Yes to remove the voice type\nfrom numbers with more than one type.\n\nRemove voice type?") ) == KMessageBox::No ) 2102 if ( KMessageBox::questionYesNo( this, i18n("After importing, phone numbers\nmay have two or more types.\n(E.g. work+voice)\nThese numbers are shown as \"other\".\nClick Yes to remove the voice type\nfrom numbers with more than one type.\n\nRemove voice type?") ) == KMessageBox::No )
2101 return; 2103 return;
diff --git a/kaddressbook/viewmanager.cpp b/kaddressbook/viewmanager.cpp
index 3d0c275..0d91c12 100644
--- a/kaddressbook/viewmanager.cpp
+++ b/kaddressbook/viewmanager.cpp
@@ -1,237 +1,237 @@
1/* 1/*
2 This file is part of KAddressBook. 2 This file is part of KAddressBook.
3 Copyright (c) 2002 Mike Pilone <mpilone@slac.com> 3 Copyright (c) 2002 Mike Pilone <mpilone@slac.com>
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/* 24/*
25Enhanced Version of the file for platform independent KDE tools. 25Enhanced Version of the file for platform independent KDE tools.
26Copyright (c) 2004 Ulf Schenk 26Copyright (c) 2004 Ulf Schenk
27 27
28$Id$ 28$Id$
29*/ 29*/
30 30
31 31
32#ifndef KAB_EMBEDDED 32#ifndef KAB_EMBEDDED
33#include <libkdepim/kvcarddrag.h> 33#include <libkdepim/kvcarddrag.h>
34#include <kabc/vcardconverter.h> 34#include <kabc/vcardconverter.h>
35#include <kconfig.h> 35#include <kconfig.h>
36#include <kdeversion.h> 36#include <kdeversion.h>
37#include <kiconloader.h> 37#include <kiconloader.h>
38#include <klocale.h> 38#include <klocale.h>
39#include <kmessagebox.h> 39#include <kmessagebox.h>
40#include <kmultipledrag.h> 40#include <kmultipledrag.h>
41#include <ktrader.h> 41#include <ktrader.h>
42#include <kurldrag.h> 42#include <kurldrag.h>
43 43
44#include "addresseeutil.h" 44#include "addresseeutil.h"
45#else //KAB_EMBEDDED 45#else //KAB_EMBEDDED
46#include "views/kaddressbookiconview.h" 46#include "views/kaddressbookiconview.h"
47#include "views/kaddressbooktableview.h" 47#include "views/kaddressbooktableview.h"
48#include "views/kaddressbookcardview.h" 48#include "views/kaddressbookcardview.h"
49#include "kaddressbookview.h" 49#include "kaddressbookview.h"
50 50
51#include <qaction.h> 51#include <qaction.h>
52#include <qmessagebox.h> 52#include <qmessagebox.h>
53#include <qpopupmenu.h> 53#include <qpopupmenu.h>
54#include <kconfigbase.h> 54#include <kconfigbase.h>
55 55
56#endif //KAB_EMBEDDED 56#endif //KAB_EMBEDDED
57 57
58 58
59#include <kdebug.h> 59#include <kdebug.h>
60#include <kactionclasses.h> 60#include <kactionclasses.h>
61 61
62#include <qlayout.h> 62#include <qlayout.h>
63#include <qwidgetstack.h> 63#include <qwidgetstack.h>
64 64
65#include <kabc/addressbook.h> 65#include <kabc/addressbook.h>
66#include "filtereditdialog.h" 66#include "filtereditdialog.h"
67#include "addviewdialog.h" 67#include "addviewdialog.h"
68#include "kabcore.h" 68#include "kabcore.h"
69#include "kabprefs.h" 69#include "kabprefs.h"
70#include "viewmanager.h" 70#include "viewmanager.h"
71 71
72ViewManager::ViewManager( KABCore *core, QWidget *parent, const char *name ) 72ViewManager::ViewManager( KABCore *core, QWidget *parent, const char *name )
73 : QWidget( parent, name ), mCore( core ), mActiveView( 0 ) 73 : QWidget( parent, name ), mCore( core ), mActiveView( 0 )
74{ 74{
75 initGUI(); 75 initGUI();
76 initActions(); 76 initActions();
77 77
78 mViewDict.setAutoDelete( true ); 78 mViewDict.setAutoDelete( true );
79 79
80 createViewFactories(); 80 createViewFactories();
81} 81}
82 82
83ViewManager::~ViewManager() 83ViewManager::~ViewManager()
84{ 84{
85 unloadViews(); 85 unloadViews();
86 mViewFactoryDict.clear(); 86 mViewFactoryDict.clear();
87} 87}
88void ViewManager::scrollUP() 88void ViewManager::scrollUP()
89{ 89{
90 if ( mActiveView ) 90 if ( mActiveView )
91 mActiveView->scrollUP(); 91 mActiveView->scrollUP();
92} 92}
93void ViewManager::scrollDOWN() 93void ViewManager::scrollDOWN()
94{ 94{
95 if ( mActiveView ) 95 if ( mActiveView )
96 mActiveView->scrollDOWN(); 96 mActiveView->scrollDOWN();
97} 97}
98void ViewManager::restoreSettings() 98void ViewManager::restoreSettings()
99{ 99{
100 mViewNameList = KABPrefs::instance()->mViewNames; 100 mViewNameList = KABPrefs::instance()->mViewNames;
101 QString activeViewName = KABPrefs::instance()->mCurrentView; 101 QString activeViewName = KABPrefs::instance()->mCurrentView;
102 102
103 mActionSelectView->setItems( mViewNameList ); 103 mActionSelectView->setItems( mViewNameList );
104 104
105 // Filter 105 // Filter
106 mFilterList = Filter::restore( mCore->config(), "Filter" ); 106 mFilterList = Filter::restore( mCore->config(), "Filter" );
107 mActionSelectFilter->setItems( filterNames() ); 107 mActionSelectFilter->setItems( filterNames() );
108 mActionSelectFilter->setCurrentItem( KABPrefs::instance()->mCurrentFilter ); 108 mActionSelectFilter->setCurrentItem( KABPrefs::instance()->mCurrentFilter );
109 mActionSelectFilter->setComboWidth( 100 ); 109 mActionSelectFilter->setComboWidth( 150 );
110 // Tell the views to reread their config, since they may have 110 // Tell the views to reread their config, since they may have
111 // been modified by global settings 111 // been modified by global settings
112 QString _oldgroup = mCore->config()->group(); 112 QString _oldgroup = mCore->config()->group();
113 113
114 QDictIterator<KAddressBookView> it( mViewDict ); 114 QDictIterator<KAddressBookView> it( mViewDict );
115 for ( it.toFirst(); it.current(); ++it ) { 115 for ( it.toFirst(); it.current(); ++it ) {
116 KConfigGroupSaver saver( mCore->config(), it.currentKey() ); 116 KConfigGroupSaver saver( mCore->config(), it.currentKey() );
117 it.current()->readConfig( mCore->config() ); 117 it.current()->readConfig( mCore->config() );
118 } 118 }
119 setActiveView( activeViewName ); 119 setActiveView( activeViewName );
120 120
121 mActionDeleteView->setEnabled( mViewNameList.count() > 1 ); 121 mActionDeleteView->setEnabled( mViewNameList.count() > 1 );
122} 122}
123 123
124void ViewManager::saveSettings() 124void ViewManager::saveSettings()
125{ 125{
126 QString _oldgroup = mCore->config()->group(); 126 QString _oldgroup = mCore->config()->group();
127 127
128 QDictIterator<KAddressBookView> it( mViewDict ); 128 QDictIterator<KAddressBookView> it( mViewDict );
129 for ( it.toFirst(); it.current(); ++it ) { 129 for ( it.toFirst(); it.current(); ++it ) {
130 KConfigGroupSaver saver( mCore->config(), it.currentKey() ); 130 KConfigGroupSaver saver( mCore->config(), it.currentKey() );
131#ifdef DESKTOP_VERSION 131#ifdef DESKTOP_VERSION
132 (*it)->writeConfig( mCore->config() ); 132 (*it)->writeConfig( mCore->config() );
133#else 133#else
134 (*it).writeConfig( mCore->config() ); 134 (*it).writeConfig( mCore->config() );
135#endif 135#endif
136 } 136 }
137 137
138 Filter::save( mCore->config(), "Filter", mFilterList ); 138 Filter::save( mCore->config(), "Filter", mFilterList );
139 KABPrefs::instance()->mCurrentFilter = mActionSelectFilter->currentItem(); 139 KABPrefs::instance()->mCurrentFilter = mActionSelectFilter->currentItem();
140 140
141 // write the view name list 141 // write the view name list
142 KABPrefs::instance()->mViewNames = mViewNameList; 142 KABPrefs::instance()->mViewNames = mViewNameList;
143 KABPrefs::instance()->mCurrentView = mActiveView->caption(); 143 KABPrefs::instance()->mCurrentView = mActiveView->caption();
144 144
145} 145}
146 146
147QStringList ViewManager::selectedUids() const 147QStringList ViewManager::selectedUids() const
148{ 148{
149 if ( mActiveView ) 149 if ( mActiveView )
150 return mActiveView->selectedUids(); 150 return mActiveView->selectedUids();
151 else 151 else
152 return QStringList(); 152 return QStringList();
153} 153}
154 154
155QStringList ViewManager::selectedEmails() const 155QStringList ViewManager::selectedEmails() const
156{ 156{
157 if ( mActiveView ) 157 if ( mActiveView )
158 return mActiveView->selectedEmails(); 158 return mActiveView->selectedEmails();
159 else 159 else
160 return QStringList(); 160 return QStringList();
161} 161}
162 162
163KABC::Addressee::List ViewManager::selectedAddressees() const 163KABC::Addressee::List ViewManager::selectedAddressees() const
164{ 164{
165 KABC::Addressee::List list; 165 KABC::Addressee::List list;
166 if ( mActiveView ) { 166 if ( mActiveView ) {
167 QStringList uids = mActiveView->selectedUids(); 167 QStringList uids = mActiveView->selectedUids();
168 QStringList::Iterator it; 168 QStringList::Iterator it;
169 for ( it = uids.begin(); it != uids.end(); ++it ) { 169 for ( it = uids.begin(); it != uids.end(); ++it ) {
170 KABC::Addressee addr = mCore->addressBook()->findByUid( *it ); 170 KABC::Addressee addr = mCore->addressBook()->findByUid( *it );
171 if ( !addr.isEmpty() ) 171 if ( !addr.isEmpty() )
172 list.append( addr ); 172 list.append( addr );
173 } 173 }
174 } 174 }
175 175
176 return list; 176 return list;
177} 177}
178//US added another method with no parameter, since my moc compiler does not support default parameters. 178//US added another method with no parameter, since my moc compiler does not support default parameters.
179void ViewManager::setSelected() 179void ViewManager::setSelected()
180{ 180{
181 setSelected( QString::null, true ); 181 setSelected( QString::null, true );
182} 182}
183 183
184void ViewManager::setSelected( const QString &uid, bool selected ) 184void ViewManager::setSelected( const QString &uid, bool selected )
185{ 185{
186 if ( mActiveView ) 186 if ( mActiveView )
187 mActiveView->setSelected( uid, selected ); 187 mActiveView->setSelected( uid, selected );
188} 188}
189 189
190void ViewManager::setListSelected(QStringList list) 190void ViewManager::setListSelected(QStringList list)
191{ 191{
192 int i, count = list.count(); 192 int i, count = list.count();
193 for ( i = 0; i < count;++i ) 193 for ( i = 0; i < count;++i )
194 setSelected( list[i], true ); 194 setSelected( list[i], true );
195 195
196} 196}
197void ViewManager::unloadViews() 197void ViewManager::unloadViews()
198{ 198{
199 mViewDict.clear(); 199 mViewDict.clear();
200 mActiveView = 0; 200 mActiveView = 0;
201} 201}
202 202
203void ViewManager::setActiveView( const QString &name ) 203void ViewManager::setActiveView( const QString &name )
204{ 204{
205 KAddressBookView *view = 0; 205 KAddressBookView *view = 0;
206 206
207 // Check that this isn't the same as the current active view 207 // Check that this isn't the same as the current active view
208 if ( mActiveView && ( mActiveView->caption() == name ) ) 208 if ( mActiveView && ( mActiveView->caption() == name ) )
209 return; 209 return;
210 210
211 // At this point we know the view that should be active is not 211 // At this point we know the view that should be active is not
212 // currently active. We will try to find the new on in the list. If 212 // currently active. We will try to find the new on in the list. If
213 // we can't find it, it means it hasn't been instantiated, so we will 213 // we can't find it, it means it hasn't been instantiated, so we will
214 // create it on demand. 214 // create it on demand.
215 215
216 view = mViewDict.find( name ); 216 view = mViewDict.find( name );
217 217
218 // Check if we found the view. If we didn't, then we need to create it 218 // Check if we found the view. If we didn't, then we need to create it
219 if ( view == 0 ) { 219 if ( view == 0 ) {
220 KConfig *config = mCore->config(); 220 KConfig *config = mCore->config();
221 221
222 KConfigGroupSaver saver( config, name ); 222 KConfigGroupSaver saver( config, name );
223 223
224 QString type = config->readEntry( "Type", "Table" ); 224 QString type = config->readEntry( "Type", "Table" );
225 225
226 kdDebug(5720) << "ViewManager::setActiveView: creating view - " << name << endl; 226 kdDebug(5720) << "ViewManager::setActiveView: creating view - " << name << endl;
227 227
228 ViewFactory *factory = mViewFactoryDict.find( type ); 228 ViewFactory *factory = mViewFactoryDict.find( type );
229 if ( factory ) 229 if ( factory )
230 view = factory->view( mCore->addressBook(), mViewWidgetStack ); 230 view = factory->view( mCore->addressBook(), mViewWidgetStack );
231 231
232 if ( view ) { 232 if ( view ) {
233 view->setCaption( name ); 233 view->setCaption( name );
234 mViewDict.insert( name, view ); 234 mViewDict.insert( name, view );
235//US my version needs an int as second parameter to addWidget 235//US my version needs an int as second parameter to addWidget
236 mViewWidgetStack->addWidget( view, -1 ); 236 mViewWidgetStack->addWidget( view, -1 );
237 view->readConfig( config ); 237 view->readConfig( config );
@@ -472,247 +472,247 @@ void ViewManager::createViewFactories()
472 mViewFactoryDict.insert( viewFactory->type(), viewFactory ); 472 mViewFactoryDict.insert( viewFactory->type(), viewFactory );
473// qDebug("ViewManager::createViewFactories() Loading factory: %s", viewFactory->type().latin1()); 473// qDebug("ViewManager::createViewFactories() Loading factory: %s", viewFactory->type().latin1());
474 474
475 viewFactory = new TableViewFactory(); 475 viewFactory = new TableViewFactory();
476 mViewFactoryDict.insert( viewFactory->type(), viewFactory ); 476 mViewFactoryDict.insert( viewFactory->type(), viewFactory );
477// qDebug("ViewManager::createViewFactories() Loading factory: %s", viewFactory->type().latin1()); 477// qDebug("ViewManager::createViewFactories() Loading factory: %s", viewFactory->type().latin1());
478 478
479 viewFactory = new CardViewFactory(); 479 viewFactory = new CardViewFactory();
480 mViewFactoryDict.insert( viewFactory->type(), viewFactory ); 480 mViewFactoryDict.insert( viewFactory->type(), viewFactory );
481// qDebug("ViewManager::createViewFactories() Loading factory: %s", viewFactory->type().latin1()); 481// qDebug("ViewManager::createViewFactories() Loading factory: %s", viewFactory->type().latin1());
482 482
483#endif //KAB_EMBEDDED 483#endif //KAB_EMBEDDED
484 484
485} 485}
486 486
487void ViewManager::dropped( QDropEvent *e ) 487void ViewManager::dropped( QDropEvent *e )
488{ 488{
489 kdDebug(5720) << "ViewManager::dropped: got a drop event" << endl; 489 kdDebug(5720) << "ViewManager::dropped: got a drop event" << endl;
490 490
491#ifndef KAB_EMBEDDED 491#ifndef KAB_EMBEDDED
492 492
493 QString clipText, vcards; 493 QString clipText, vcards;
494 KURL::List urls; 494 KURL::List urls;
495 495
496 if ( KURLDrag::decode( e, urls) ) { 496 if ( KURLDrag::decode( e, urls) ) {
497 KURL::List::Iterator it = urls.begin(); 497 KURL::List::Iterator it = urls.begin();
498 int c = urls.count(); 498 int c = urls.count();
499 if ( c > 1 ) { 499 if ( c > 1 ) {
500 QString questionString = i18n( "Import one contact into your addressbook?", "Import %n contacts into your addressbook?", c ); 500 QString questionString = i18n( "Import one contact into your addressbook?", "Import %n contacts into your addressbook?", c );
501 if ( KMessageBox::questionYesNo( this, questionString, i18n( "Import Contacts?" ) ) == KMessageBox::Yes ) { 501 if ( KMessageBox::questionYesNo( this, questionString, i18n( "Import Contacts?" ) ) == KMessageBox::Yes ) {
502 for ( ; it != urls.end(); ++it ) 502 for ( ; it != urls.end(); ++it )
503 emit urlDropped( *it ); 503 emit urlDropped( *it );
504 } 504 }
505 } else if ( c == 1 ) 505 } else if ( c == 1 )
506 emit urlDropped( *it ); 506 emit urlDropped( *it );
507 } else if ( KVCardDrag::decode( e, vcards ) ) { 507 } else if ( KVCardDrag::decode( e, vcards ) ) {
508 KABC::Addressee addr; 508 KABC::Addressee addr;
509 KABC::VCardConverter converter; 509 KABC::VCardConverter converter;
510 QStringList list = QStringList::split( "\r\n\r\n", vcards ); 510 QStringList list = QStringList::split( "\r\n\r\n", vcards );
511 QStringList::Iterator it; 511 QStringList::Iterator it;
512 for ( it = list.begin(); it != list.end(); ++it ) { 512 for ( it = list.begin(); it != list.end(); ++it ) {
513 if ( converter.vCardToAddressee( (*it).stripWhiteSpace(), addr ) ) { 513 if ( converter.vCardToAddressee( (*it).stripWhiteSpace(), addr ) ) {
514 KABC::Addressee a = mCore->addressBook()->findByUid( addr.uid() ); 514 KABC::Addressee a = mCore->addressBook()->findByUid( addr.uid() );
515 if ( a.isEmpty() ) { 515 if ( a.isEmpty() ) {
516 mCore->addressBook()->insertAddressee( addr ); 516 mCore->addressBook()->insertAddressee( addr );
517 emit modified(); 517 emit modified();
518 } 518 }
519 } 519 }
520 } 520 }
521 521
522 mActiveView->refresh(); 522 mActiveView->refresh();
523 } 523 }
524#else //KAB_EMBEDDED 524#else //KAB_EMBEDDED
525qDebug("ViewManager::dropped() has to be changed!!" ); 525qDebug("ViewManager::dropped() has to be changed!!" );
526#endif //KAB_EMBEDDED 526#endif //KAB_EMBEDDED
527 527
528} 528}
529 529
530void ViewManager::startDrag() 530void ViewManager::startDrag()
531{ 531{
532 kdDebug(5720) << "ViewManager::startDrag: starting to drag" << endl; 532 kdDebug(5720) << "ViewManager::startDrag: starting to drag" << endl;
533 533
534#ifndef KAB_EMBEDDED 534#ifndef KAB_EMBEDDED
535 535
536 // Get the list of all the selected addressees 536 // Get the list of all the selected addressees
537 KABC::Addressee::List addrList; 537 KABC::Addressee::List addrList;
538 QStringList uidList = selectedUids(); 538 QStringList uidList = selectedUids();
539 QStringList::Iterator iter; 539 QStringList::Iterator iter;
540 for ( iter = uidList.begin(); iter != uidList.end(); ++iter ) 540 for ( iter = uidList.begin(); iter != uidList.end(); ++iter )
541 addrList.append( mCore->addressBook()->findByUid( *iter ) ); 541 addrList.append( mCore->addressBook()->findByUid( *iter ) );
542 542
543 KMultipleDrag *drag = new KMultipleDrag( this ); 543 KMultipleDrag *drag = new KMultipleDrag( this );
544 drag->addDragObject( new QTextDrag( AddresseeUtil::addresseesToClipboard(addrList), this ) ); 544 drag->addDragObject( new QTextDrag( AddresseeUtil::addresseesToClipboard(addrList), this ) );
545 KABC::Addressee::List::Iterator it; 545 KABC::Addressee::List::Iterator it;
546 QStringList vcards; 546 QStringList vcards;
547 for ( it = addrList.begin(); it != addrList.end(); ++it ) { 547 for ( it = addrList.begin(); it != addrList.end(); ++it ) {
548 QString vcard = QString::null; 548 QString vcard = QString::null;
549 KABC::VCardConverter converter; 549 KABC::VCardConverter converter;
550 if ( converter.addresseeToVCard( *it, vcard ) ) 550 if ( converter.addresseeToVCard( *it, vcard ) )
551 vcards.append( vcard ); 551 vcards.append( vcard );
552 } 552 }
553 drag->addDragObject( new KVCardDrag( vcards.join( "\r\n" ), this ) ); 553 drag->addDragObject( new KVCardDrag( vcards.join( "\r\n" ), this ) );
554 554
555 drag->setPixmap( KGlobal::iconLoader()->loadIcon( "vcard", KIcon::Desktop ) ); 555 drag->setPixmap( KGlobal::iconLoader()->loadIcon( "vcard", KIcon::Desktop ) );
556 drag->dragCopy(); 556 drag->dragCopy();
557 557
558#else //KAB_EMBEDDED 558#else //KAB_EMBEDDED
559qDebug("ViewManager::startDrag() has to be changed!!" ); 559qDebug("ViewManager::startDrag() has to be changed!!" );
560#endif //KAB_EMBEDDED 560#endif //KAB_EMBEDDED
561 561
562} 562}
563void ViewManager::doSearch( const QString& s,KABC::Field *field ) 563void ViewManager::doSearch( const QString& s,KABC::Field *field )
564{ 564{
565 if ( mActiveView ) 565 if ( mActiveView )
566 mActiveView->doSearch( s, field ); 566 mActiveView->doSearch( s, field );
567 567
568} 568}
569void ViewManager::setActiveFilter( int index ) 569void ViewManager::setActiveFilter( int index )
570{ 570{
571 Filter currentFilter; 571 Filter currentFilter;
572 572
573 if ( ( index - 1 ) < 0 ) 573 if ( ( index - 1 ) < 0 )
574 currentFilter = Filter(); 574 currentFilter = Filter();
575 else 575 else
576 currentFilter = mFilterList[ index - 1 ]; 576 currentFilter = mFilterList[ index - 1 ];
577 577
578 // Check if we have a view. Since the filter combo is created before 578 // Check if we have a view. Since the filter combo is created before
579 // the view, this slot could be called before there is a valid view. 579 // the view, this slot could be called before there is a valid view.
580 if ( mActiveView ) { 580 if ( mActiveView ) {
581 mActiveView->setFilter( currentFilter ); 581 mActiveView->setFilter( currentFilter );
582 mActiveView->refresh(); 582 mActiveView->refresh();
583 emit selected( QString::null ); 583 emit selected( QString::null );
584 } 584 }
585} 585}
586 586
587void ViewManager::configureFilters() 587void ViewManager::configureFilters()
588{ 588{
589 FilterDialog dlg( this ); 589 FilterDialog dlg( this );
590 590
591 dlg.setFilters( mFilterList ); 591 dlg.setFilters( mFilterList );
592 592
593 if ( dlg.exec() ) 593 if ( dlg.exec() )
594 mFilterList = dlg.filters(); 594 mFilterList = dlg.filters();
595 595
596 uint pos = mActionSelectFilter->currentItem(); 596 uint pos = mActionSelectFilter->currentItem();
597 mActionSelectFilter->setItems( filterNames() ); 597 mActionSelectFilter->setItems( filterNames() );
598 mActionSelectFilter->setCurrentItem( pos ); 598 mActionSelectFilter->setCurrentItem( pos );
599 setActiveFilter( pos ); 599 setActiveFilter( pos );
600 //mActionSelectFilter->setComboWidth( 150 ); 600 mActionSelectFilter->setComboWidth( 150 );
601} 601}
602 602
603QStringList ViewManager::filterNames() const 603QStringList ViewManager::filterNames() const
604{ 604{
605 QStringList names( i18n( "No Filter" ) ); 605 QStringList names( i18n( "No Filter" ) );
606 606
607 Filter::List::ConstIterator it; 607 Filter::List::ConstIterator it;
608 for ( it = mFilterList.begin(); it != mFilterList.end(); ++it ) 608 for ( it = mFilterList.begin(); it != mFilterList.end(); ++it )
609 names.append( (*it).name() ); 609 names.append( (*it).name() );
610 610
611 return names; 611 return names;
612} 612}
613 613
614int ViewManager::filterPosition( const QString &name ) const 614int ViewManager::filterPosition( const QString &name ) const
615{ 615{
616 int pos = 0; 616 int pos = 0;
617 617
618 Filter::List::ConstIterator it; 618 Filter::List::ConstIterator it;
619 for ( it = mFilterList.begin(); it != mFilterList.end(); ++it, ++pos ) 619 for ( it = mFilterList.begin(); it != mFilterList.end(); ++it, ++pos )
620 if ( name == (*it).name() ) 620 if ( name == (*it).name() )
621 return pos + 1; 621 return pos + 1;
622 622
623 return 0; 623 return 0;
624} 624}
625 625
626void ViewManager::initActions() 626void ViewManager::initActions()
627{ 627{
628//US <ActionList name="view_loadedviews"/> 628//US <ActionList name="view_loadedviews"/>
629//US <Separator/> 629//US <Separator/>
630 630
631#ifdef KAB_EMBEDDED 631#ifdef KAB_EMBEDDED
632 QPopupMenu *viewmenu = (QPopupMenu*)mCore->getViewMenu(); 632 QPopupMenu *viewmenu = (QPopupMenu*)mCore->getViewMenu();
633 QPopupMenu *settingsmenu = (QPopupMenu*)mCore->getSettingsMenu(); 633 QPopupMenu *settingsmenu = (QPopupMenu*)mCore->getSettingsMenu();
634 QPopupMenu *filtermenu = (QPopupMenu*)mCore->getFilterMenu(); 634 QPopupMenu *filtermenu = (QPopupMenu*)mCore->getFilterMenu();
635#endif //KAB_EMBEDDED 635#endif //KAB_EMBEDDED
636 636
637 mActionSelectView = new KSelectAction( i18n( "Select View" ), 0, mCore->actionCollection(), "select_view" ); 637 mActionSelectView = new KSelectAction( i18n( "Select View" ), 0, mCore->actionCollection(), "select_view" );
638#if KDE_VERSION >= 309 638#if KDE_VERSION >= 309
639 mActionSelectView->setMenuAccelsEnabled( false ); 639 mActionSelectView->setMenuAccelsEnabled( false );
640#endif 640#endif
641 connect( mActionSelectView, SIGNAL( activated( const QString& ) ), 641 connect( mActionSelectView, SIGNAL( activated( const QString& ) ),
642 SLOT( setActiveView( const QString& ) ) ); 642 SLOT( setActiveView( const QString& ) ) );
643 643
644 644
645#ifdef KAB_EMBEDDED 645#ifdef KAB_EMBEDDED
646 mActionSelectView->plug(viewmenu); 646 mActionSelectView->plug(viewmenu);
647 viewmenu->insertSeparator(); 647 viewmenu->insertSeparator();
648#endif //KAB_EMBEDDED 648#endif //KAB_EMBEDDED
649 649
650 KAction *action; 650 KAction *action;
651 651
652 action = new KAction( i18n( "Modify View..." ), "configure", 0, this, 652 action = new KAction( i18n( "Modify View..." ), "configure", 0, this,
653 SLOT( editView() ), mCore->actionCollection(), "view_modify" ); 653 SLOT( editView() ), mCore->actionCollection(), "view_modify" );
654#ifndef KAB_EMBEDDED 654#ifndef KAB_EMBEDDED
655 action->setWhatsThis( i18n( "By pressing this button a dialog opens that allows you to modify the view of the addressbook. There you can add or remove fields that you want to be shown or hidden in the addressbook like the name for example." ) ); 655 action->setWhatsThis( i18n( "By pressing this button a dialog opens that allows you to modify the view of the addressbook. There you can add or remove fields that you want to be shown or hidden in the addressbook like the name for example." ) );
656#else //KAB_EMBEDDED 656#else //KAB_EMBEDDED
657 action->plug(viewmenu); 657 action->plug(viewmenu);
658#endif //KAB_EMBEDDED 658#endif //KAB_EMBEDDED
659 659
660 action = new KAction( i18n( "Add View..." ), "window_new", 0, this, 660 action = new KAction( i18n( "Add View..." ), "window_new", 0, this,
661 SLOT( addView() ), mCore->actionCollection(), "view_add" ); 661 SLOT( addView() ), mCore->actionCollection(), "view_add" );
662#ifndef KAB_EMBEDDED 662#ifndef KAB_EMBEDDED
663 action->setWhatsThis( i18n( "You can add a new view by choosing one of the dialog that appears after pressing the button. You have to give the view a name, so that you can distinguish between the different views." ) ); 663 action->setWhatsThis( i18n( "You can add a new view by choosing one of the dialog that appears after pressing the button. You have to give the view a name, so that you can distinguish between the different views." ) );
664#else //KAB_EMBEDDED 664#else //KAB_EMBEDDED
665 action->plug(viewmenu); 665 action->plug(viewmenu);
666#endif //KAB_EMBEDDED 666#endif //KAB_EMBEDDED
667 667
668 mActionDeleteView = new KAction( i18n( "Delete View" ), "view_remove", 0, 668 mActionDeleteView = new KAction( i18n( "Delete View" ), "view_remove", 0,
669 this, SLOT( deleteView() ), 669 this, SLOT( deleteView() ),
670 mCore->actionCollection(), "view_delete" ); 670 mCore->actionCollection(), "view_delete" );
671#ifndef KAB_EMBEDDED 671#ifndef KAB_EMBEDDED
672 mActionDeleteView->setWhatsThis( i18n( "By pressing this button you can delete the actual view, which you have added before." ) ); 672 mActionDeleteView->setWhatsThis( i18n( "By pressing this button you can delete the actual view, which you have added before." ) );
673#else //KAB_EMBEDDED 673#else //KAB_EMBEDDED
674 mActionDeleteView->plug(viewmenu); 674 mActionDeleteView->plug(viewmenu);
675 viewmenu->insertSeparator(); 675 viewmenu->insertSeparator();
676#endif //KAB_EMBEDDED 676#endif //KAB_EMBEDDED
677 677
678#ifndef KAB_EMBEDDED 678#ifndef KAB_EMBEDDED
679 action = new KAction( i18n( "Refresh View" ), "reload", 0, this, 679 action = new KAction( i18n( "Refresh View" ), "reload", 0, this,
680 SLOT( refreshView(const QString &) ), mCore->actionCollection(), 680 SLOT( refreshView(const QString &) ), mCore->actionCollection(),
681 "view_refresh" ); 681 "view_refresh" );
682 action->setWhatsThis( i18n( "The view will be refreshed by pressing this button." ) ); 682 action->setWhatsThis( i18n( "The view will be refreshed by pressing this button." ) );
683#else //KAB_EMBEDDED 683#else //KAB_EMBEDDED
684 action = new KAction( i18n( "Refresh View" ), "reload", 0, this, 684 action = new KAction( i18n( "Refresh View" ), "reload", 0, this,
685 SLOT( refreshView()), mCore->actionCollection(), 685 SLOT( refreshView()), mCore->actionCollection(),
686 "view_refresh" ); 686 "view_refresh" );
687 action->plug(viewmenu); 687 action->plug(viewmenu);
688 viewmenu->insertSeparator(); 688 viewmenu->insertSeparator();
689#endif //KAB_EMBEDDED 689#endif //KAB_EMBEDDED
690 690
691 action = new KAction( i18n( "Edit &Filters..." ), "filter", 0, this, 691 action = new KAction( i18n( "Edit &Filters..." ), "filter", 0, this,
692 SLOT( configureFilters() ), mCore->actionCollection(), 692 SLOT( configureFilters() ), mCore->actionCollection(),
693 "options_edit_filters" ); 693 "options_edit_filters" );
694 694
695 mActionSelectFilter = new KSelectAction( i18n( "Select Filter" ), "filter", mCore->actionCollection(), "select_filter" ); 695 mActionSelectFilter = new KSelectAction( i18n( "Select Filter" ), "filter", mCore->actionCollection(), "select_filter" );
696#if KDE_VERSION >= 309 696#if KDE_VERSION >= 309
697 mActionSelectFilter->setMenuAccelsEnabled( false ); 697 mActionSelectFilter->setMenuAccelsEnabled( false );
698#endif 698#endif
699 connect( mActionSelectFilter, SIGNAL( activated( int ) ), 699 connect( mActionSelectFilter, SIGNAL( activated( int ) ),
700 SLOT( setActiveFilter( int ) ) ); 700 SLOT( setActiveFilter( int ) ) );
701 701
702#ifdef KAB_EMBEDDED 702#ifdef KAB_EMBEDDED
703 action->plug(settingsmenu); 703 action->plug(settingsmenu);
704 mActionSelectFilter->plug(viewmenu); 704 mActionSelectFilter->plug(viewmenu);
705#endif //KAB_EMBEDDED 705#endif //KAB_EMBEDDED
706 706
707} 707}
708 708
709void ViewManager::initGUI() 709void ViewManager::initGUI()
710{ 710{
711 QHBoxLayout *layout = new QHBoxLayout( this, 0, 0 ); 711 QHBoxLayout *layout = new QHBoxLayout( this, 0, 0 );
712 mViewWidgetStack = new QWidgetStack( this ); 712 mViewWidgetStack = new QWidgetStack( this );
713 layout->addWidget( mViewWidgetStack ); 713 layout->addWidget( mViewWidgetStack );
714} 714}
715 715
716#ifndef KAB_EMBEDDED 716#ifndef KAB_EMBEDDED
717#include "viewmanager.moc" 717#include "viewmanager.moc"
718#endif //KAB_EMBEDDED 718#endif //KAB_EMBEDDED