-rw-r--r-- | kaddressbook/kabcore.cpp | 11 |
1 files changed, 8 insertions, 3 deletions
diff --git a/kaddressbook/kabcore.cpp b/kaddressbook/kabcore.cpp index 2dea619..5d377bf 100644 --- a/kaddressbook/kabcore.cpp +++ b/kaddressbook/kabcore.cpp | |||
@@ -1747,385 +1747,385 @@ void KABCore::addGUIClient( KXMLGUIClient *client ) | |||
1747 | 1747 | ||
1748 | 1748 | ||
1749 | void KABCore::configurationChanged() | 1749 | void KABCore::configurationChanged() |
1750 | { | 1750 | { |
1751 | mExtensionManager->reconfigure(); | 1751 | mExtensionManager->reconfigure(); |
1752 | } | 1752 | } |
1753 | 1753 | ||
1754 | void KABCore::addressBookChanged() | 1754 | void KABCore::addressBookChanged() |
1755 | { | 1755 | { |
1756 | /*US | 1756 | /*US |
1757 | QDictIterator<AddresseeEditorDialog> it( mEditorDict ); | 1757 | QDictIterator<AddresseeEditorDialog> it( mEditorDict ); |
1758 | while ( it.current() ) { | 1758 | while ( it.current() ) { |
1759 | if ( it.current()->dirty() ) { | 1759 | if ( it.current()->dirty() ) { |
1760 | QString text = i18n( "Data has been changed externally. Unsaved " | 1760 | QString text = i18n( "Data has been changed externally. Unsaved " |
1761 | "changes will be lost." ); | 1761 | "changes will be lost." ); |
1762 | KMessageBox::information( this, text ); | 1762 | KMessageBox::information( this, text ); |
1763 | } | 1763 | } |
1764 | it.current()->setAddressee( mAddressBook->findByUid( it.currentKey() ) ); | 1764 | it.current()->setAddressee( mAddressBook->findByUid( it.currentKey() ) ); |
1765 | ++it; | 1765 | ++it; |
1766 | } | 1766 | } |
1767 | */ | 1767 | */ |
1768 | if (mEditorDialog) | 1768 | if (mEditorDialog) |
1769 | { | 1769 | { |
1770 | if (mEditorDialog->dirty()) | 1770 | if (mEditorDialog->dirty()) |
1771 | { | 1771 | { |
1772 | QString text = i18n( "Data has been changed externally. Unsaved " | 1772 | QString text = i18n( "Data has been changed externally. Unsaved " |
1773 | "changes will be lost." ); | 1773 | "changes will be lost." ); |
1774 | KMessageBox::information( this, text ); | 1774 | KMessageBox::information( this, text ); |
1775 | } | 1775 | } |
1776 | QString currentuid = mEditorDialog->addressee().uid(); | 1776 | QString currentuid = mEditorDialog->addressee().uid(); |
1777 | mEditorDialog->setAddressee( mAddressBook->findByUid( currentuid ) ); | 1777 | mEditorDialog->setAddressee( mAddressBook->findByUid( currentuid ) ); |
1778 | } | 1778 | } |
1779 | mViewManager->refreshView(); | 1779 | mViewManager->refreshView(); |
1780 | 1780 | ||
1781 | 1781 | ||
1782 | } | 1782 | } |
1783 | 1783 | ||
1784 | AddresseeEditorDialog *KABCore::createAddresseeEditorDialog( QWidget *parent, | 1784 | AddresseeEditorDialog *KABCore::createAddresseeEditorDialog( QWidget *parent, |
1785 | const char *name ) | 1785 | const char *name ) |
1786 | { | 1786 | { |
1787 | 1787 | ||
1788 | if ( mEditorDialog == 0 ) { | 1788 | if ( mEditorDialog == 0 ) { |
1789 | mEditorDialog = new AddresseeEditorDialog( this, parent, | 1789 | mEditorDialog = new AddresseeEditorDialog( this, parent, |
1790 | name ? name : "editorDialog" ); | 1790 | name ? name : "editorDialog" ); |
1791 | 1791 | ||
1792 | 1792 | ||
1793 | connect( mEditorDialog, SIGNAL( contactModified( const KABC::Addressee& ) ), | 1793 | connect( mEditorDialog, SIGNAL( contactModified( const KABC::Addressee& ) ), |
1794 | SLOT( contactModified( const KABC::Addressee& ) ) ); | 1794 | SLOT( contactModified( const KABC::Addressee& ) ) ); |
1795 | //connect( mEditorDialog, SIGNAL( editorDestroyed( const QString& ) ), | 1795 | //connect( mEditorDialog, SIGNAL( editorDestroyed( const QString& ) ), |
1796 | // SLOT( slotEditorDestroyed( const QString& ) ) ; | 1796 | // SLOT( slotEditorDestroyed( const QString& ) ) ; |
1797 | } | 1797 | } |
1798 | 1798 | ||
1799 | return mEditorDialog; | 1799 | return mEditorDialog; |
1800 | } | 1800 | } |
1801 | 1801 | ||
1802 | void KABCore::slotEditorDestroyed( const QString &uid ) | 1802 | void KABCore::slotEditorDestroyed( const QString &uid ) |
1803 | { | 1803 | { |
1804 | //mEditorDict.remove( uid ); | 1804 | //mEditorDict.remove( uid ); |
1805 | } | 1805 | } |
1806 | 1806 | ||
1807 | void KABCore::initGUI() | 1807 | void KABCore::initGUI() |
1808 | { | 1808 | { |
1809 | #ifndef KAB_EMBEDDED | 1809 | #ifndef KAB_EMBEDDED |
1810 | QHBoxLayout *topLayout = new QHBoxLayout( this ); | 1810 | QHBoxLayout *topLayout = new QHBoxLayout( this ); |
1811 | topLayout->setSpacing( KDialogBase::spacingHint() ); | 1811 | topLayout->setSpacing( KDialogBase::spacingHint() ); |
1812 | 1812 | ||
1813 | mExtensionBarSplitter = new QSplitter( this ); | 1813 | mExtensionBarSplitter = new QSplitter( this ); |
1814 | mExtensionBarSplitter->setOrientation( Qt::Vertical ); | 1814 | mExtensionBarSplitter->setOrientation( Qt::Vertical ); |
1815 | 1815 | ||
1816 | mDetailsSplitter = new QSplitter( mExtensionBarSplitter ); | 1816 | mDetailsSplitter = new QSplitter( mExtensionBarSplitter ); |
1817 | 1817 | ||
1818 | QVBox *viewSpace = new QVBox( mDetailsSplitter ); | 1818 | QVBox *viewSpace = new QVBox( mDetailsSplitter ); |
1819 | mIncSearchWidget = new IncSearchWidget( viewSpace ); | 1819 | mIncSearchWidget = new IncSearchWidget( viewSpace ); |
1820 | connect( mIncSearchWidget, SIGNAL( doSearch( const QString& ) ), | 1820 | connect( mIncSearchWidget, SIGNAL( doSearch( const QString& ) ), |
1821 | SLOT( incrementalSearch( const QString& ) ) ); | 1821 | SLOT( incrementalSearch( const QString& ) ) ); |
1822 | 1822 | ||
1823 | mViewManager = new ViewManager( this, viewSpace ); | 1823 | mViewManager = new ViewManager( this, viewSpace ); |
1824 | viewSpace->setStretchFactor( mViewManager, 1 ); | 1824 | viewSpace->setStretchFactor( mViewManager, 1 ); |
1825 | 1825 | ||
1826 | mDetails = new ViewContainer( mDetailsSplitter ); | 1826 | mDetails = new ViewContainer( mDetailsSplitter ); |
1827 | 1827 | ||
1828 | mJumpButtonBar = new JumpButtonBar( this, this ); | 1828 | mJumpButtonBar = new JumpButtonBar( this, this ); |
1829 | 1829 | ||
1830 | mExtensionManager = new ExtensionManager( this, mExtensionBarSplitter ); | 1830 | mExtensionManager = new ExtensionManager( this, mExtensionBarSplitter ); |
1831 | 1831 | ||
1832 | topLayout->addWidget( mExtensionBarSplitter ); | 1832 | topLayout->addWidget( mExtensionBarSplitter ); |
1833 | topLayout->setStretchFactor( mExtensionBarSplitter, 100 ); | 1833 | topLayout->setStretchFactor( mExtensionBarSplitter, 100 ); |
1834 | topLayout->addWidget( mJumpButtonBar ); | 1834 | topLayout->addWidget( mJumpButtonBar ); |
1835 | //topLayout->setStretchFactor( mJumpButtonBar, 1 ); | 1835 | //topLayout->setStretchFactor( mJumpButtonBar, 1 ); |
1836 | 1836 | ||
1837 | mXXPortManager = new XXPortManager( this, this ); | 1837 | mXXPortManager = new XXPortManager( this, this ); |
1838 | 1838 | ||
1839 | #else //KAB_EMBEDDED | 1839 | #else //KAB_EMBEDDED |
1840 | //US initialize viewMenu before settingup viewmanager. | 1840 | //US initialize viewMenu before settingup viewmanager. |
1841 | // Viewmanager needs this menu to plugin submenues. | 1841 | // Viewmanager needs this menu to plugin submenues. |
1842 | viewMenu = new QPopupMenu( this ); | 1842 | viewMenu = new QPopupMenu( this ); |
1843 | settingsMenu = new QPopupMenu( this ); | 1843 | settingsMenu = new QPopupMenu( this ); |
1844 | //filterMenu = new QPopupMenu( this ); | 1844 | //filterMenu = new QPopupMenu( this ); |
1845 | ImportMenu = new QPopupMenu( this ); | 1845 | ImportMenu = new QPopupMenu( this ); |
1846 | ExportMenu = new QPopupMenu( this ); | 1846 | ExportMenu = new QPopupMenu( this ); |
1847 | syncMenu = new QPopupMenu( this ); | 1847 | syncMenu = new QPopupMenu( this ); |
1848 | changeMenu= new QPopupMenu( this ); | 1848 | changeMenu= new QPopupMenu( this ); |
1849 | beamMenu= new QPopupMenu( this ); | 1849 | beamMenu= new QPopupMenu( this ); |
1850 | 1850 | ||
1851 | //US since we have no splitter for the embedded system, setup | 1851 | //US since we have no splitter for the embedded system, setup |
1852 | // a layout with two frames. One left and one right. | 1852 | // a layout with two frames. One left and one right. |
1853 | 1853 | ||
1854 | QBoxLayout *topLayout; | 1854 | QBoxLayout *topLayout; |
1855 | 1855 | ||
1856 | // = new QHBoxLayout( this ); | 1856 | // = new QHBoxLayout( this ); |
1857 | // QBoxLayout *topLayout = (QBoxLayout*)layout(); | 1857 | // QBoxLayout *topLayout = (QBoxLayout*)layout(); |
1858 | 1858 | ||
1859 | // QWidget *mainBox = new QWidget( this ); | 1859 | // QWidget *mainBox = new QWidget( this ); |
1860 | // QBoxLayout * mainBoxLayout = new QHBoxLayout(mainBox); | 1860 | // QBoxLayout * mainBoxLayout = new QHBoxLayout(mainBox); |
1861 | 1861 | ||
1862 | #ifdef DESKTOP_VERSION | 1862 | #ifdef DESKTOP_VERSION |
1863 | topLayout = new QHBoxLayout( this ); | 1863 | topLayout = new QHBoxLayout( this ); |
1864 | 1864 | ||
1865 | 1865 | ||
1866 | mMiniSplitter = new KDGanttMinimizeSplitter( Qt::Horizontal, this); | 1866 | mMiniSplitter = new KDGanttMinimizeSplitter( Qt::Horizontal, this); |
1867 | mMiniSplitter->setMinimizeDirection ( KDGanttMinimizeSplitter::Right ); | 1867 | mMiniSplitter->setMinimizeDirection ( KDGanttMinimizeSplitter::Right ); |
1868 | 1868 | ||
1869 | topLayout->addWidget(mMiniSplitter ); | 1869 | topLayout->addWidget(mMiniSplitter ); |
1870 | 1870 | ||
1871 | mExtensionBarSplitter = new KDGanttMinimizeSplitter( Qt::Vertical,mMiniSplitter ); | 1871 | mExtensionBarSplitter = new KDGanttMinimizeSplitter( Qt::Vertical,mMiniSplitter ); |
1872 | mExtensionBarSplitter->setMinimizeDirection ( KDGanttMinimizeSplitter::Down ); | 1872 | mExtensionBarSplitter->setMinimizeDirection ( KDGanttMinimizeSplitter::Down ); |
1873 | mViewManager = new ViewManager( this, mExtensionBarSplitter ); | 1873 | mViewManager = new ViewManager( this, mExtensionBarSplitter ); |
1874 | mDetails = new ViewContainer( mMiniSplitter ); | 1874 | mDetails = new ViewContainer( mMiniSplitter ); |
1875 | mExtensionManager = new ExtensionManager( this, mExtensionBarSplitter ); | 1875 | mExtensionManager = new ExtensionManager( this, mExtensionBarSplitter ); |
1876 | #else | 1876 | #else |
1877 | if ( QApplication::desktop()->width() > 480 ) { | 1877 | if ( QApplication::desktop()->width() > 480 ) { |
1878 | topLayout = new QHBoxLayout( this ); | 1878 | topLayout = new QHBoxLayout( this ); |
1879 | mMiniSplitter = new KDGanttMinimizeSplitter( Qt::Horizontal, this); | 1879 | mMiniSplitter = new KDGanttMinimizeSplitter( Qt::Horizontal, this); |
1880 | mMiniSplitter->setMinimizeDirection ( KDGanttMinimizeSplitter::Right ); | 1880 | mMiniSplitter->setMinimizeDirection ( KDGanttMinimizeSplitter::Right ); |
1881 | } else { | 1881 | } else { |
1882 | 1882 | ||
1883 | topLayout = new QHBoxLayout( this ); | 1883 | topLayout = new QHBoxLayout( this ); |
1884 | mMiniSplitter = new KDGanttMinimizeSplitter( Qt::Vertical, this); | 1884 | mMiniSplitter = new KDGanttMinimizeSplitter( Qt::Vertical, this); |
1885 | mMiniSplitter->setMinimizeDirection ( KDGanttMinimizeSplitter::Down ); | 1885 | mMiniSplitter->setMinimizeDirection ( KDGanttMinimizeSplitter::Down ); |
1886 | } | 1886 | } |
1887 | 1887 | ||
1888 | topLayout->addWidget(mMiniSplitter ); | 1888 | topLayout->addWidget(mMiniSplitter ); |
1889 | mViewManager = new ViewManager( this, mMiniSplitter ); | 1889 | mViewManager = new ViewManager( this, mMiniSplitter ); |
1890 | mDetails = new ViewContainer( mMiniSplitter ); | 1890 | mDetails = new ViewContainer( mMiniSplitter ); |
1891 | 1891 | ||
1892 | 1892 | ||
1893 | mExtensionManager = new ExtensionManager( this, mMiniSplitter ); | 1893 | mExtensionManager = new ExtensionManager( this, mMiniSplitter ); |
1894 | #endif | 1894 | #endif |
1895 | //eh->hide(); | 1895 | //eh->hide(); |
1896 | // topLayout->addWidget(mExtensionManager ); | 1896 | // topLayout->addWidget(mExtensionManager ); |
1897 | 1897 | ||
1898 | 1898 | ||
1899 | /*US | 1899 | /*US |
1900 | #ifndef KAB_NOSPLITTER | 1900 | #ifndef KAB_NOSPLITTER |
1901 | QHBoxLayout *topLayout = new QHBoxLayout( this ); | 1901 | QHBoxLayout *topLayout = new QHBoxLayout( this ); |
1902 | //US topLayout->setSpacing( KDialogBase::spacingHint() ); | 1902 | //US topLayout->setSpacing( KDialogBase::spacingHint() ); |
1903 | topLayout->setSpacing( 10 ); | 1903 | topLayout->setSpacing( 10 ); |
1904 | 1904 | ||
1905 | mDetailsSplitter = new QSplitter( this ); | 1905 | mDetailsSplitter = new QSplitter( this ); |
1906 | 1906 | ||
1907 | QVBox *viewSpace = new QVBox( mDetailsSplitter ); | 1907 | QVBox *viewSpace = new QVBox( mDetailsSplitter ); |
1908 | 1908 | ||
1909 | mViewManager = new ViewManager( this, viewSpace ); | 1909 | mViewManager = new ViewManager( this, viewSpace ); |
1910 | viewSpace->setStretchFactor( mViewManager, 1 ); | 1910 | viewSpace->setStretchFactor( mViewManager, 1 ); |
1911 | 1911 | ||
1912 | mDetails = new ViewContainer( mDetailsSplitter ); | 1912 | mDetails = new ViewContainer( mDetailsSplitter ); |
1913 | 1913 | ||
1914 | topLayout->addWidget( mDetailsSplitter ); | 1914 | topLayout->addWidget( mDetailsSplitter ); |
1915 | topLayout->setStretchFactor( mDetailsSplitter, 100 ); | 1915 | topLayout->setStretchFactor( mDetailsSplitter, 100 ); |
1916 | #else //KAB_NOSPLITTER | 1916 | #else //KAB_NOSPLITTER |
1917 | QHBoxLayout *topLayout = new QHBoxLayout( this ); | 1917 | QHBoxLayout *topLayout = new QHBoxLayout( this ); |
1918 | //US topLayout->setSpacing( KDialogBase::spacingHint() ); | 1918 | //US topLayout->setSpacing( KDialogBase::spacingHint() ); |
1919 | topLayout->setSpacing( 10 ); | 1919 | topLayout->setSpacing( 10 ); |
1920 | 1920 | ||
1921 | // mDetailsSplitter = new QSplitter( this ); | 1921 | // mDetailsSplitter = new QSplitter( this ); |
1922 | 1922 | ||
1923 | QVBox *viewSpace = new QVBox( this ); | 1923 | QVBox *viewSpace = new QVBox( this ); |
1924 | 1924 | ||
1925 | mViewManager = new ViewManager( this, viewSpace ); | 1925 | mViewManager = new ViewManager( this, viewSpace ); |
1926 | viewSpace->setStretchFactor( mViewManager, 1 ); | 1926 | viewSpace->setStretchFactor( mViewManager, 1 ); |
1927 | 1927 | ||
1928 | mDetails = new ViewContainer( this ); | 1928 | mDetails = new ViewContainer( this ); |
1929 | 1929 | ||
1930 | topLayout->addWidget( viewSpace ); | 1930 | topLayout->addWidget( viewSpace ); |
1931 | // topLayout->setStretchFactor( mDetailsSplitter, 100 ); | 1931 | // topLayout->setStretchFactor( mDetailsSplitter, 100 ); |
1932 | topLayout->addWidget( mDetails ); | 1932 | topLayout->addWidget( mDetails ); |
1933 | #endif //KAB_NOSPLITTER | 1933 | #endif //KAB_NOSPLITTER |
1934 | */ | 1934 | */ |
1935 | 1935 | ||
1936 | syncManager = new KSyncManager((QWidget*)this, (KSyncInterface*)this, KSyncManager::KAPI, KABPrefs::instance(), syncMenu); | 1936 | syncManager = new KSyncManager((QWidget*)this, (KSyncInterface*)this, KSyncManager::KAPI, KABPrefs::instance(), syncMenu); |
1937 | syncManager->setBlockSave(false); | 1937 | syncManager->setBlockSave(false); |
1938 | 1938 | ||
1939 | connect(syncManager , SIGNAL( request_file() ), this, SLOT( syncFileRequest() ) ); | 1939 | connect(syncManager , SIGNAL( request_file(const QString &) ), this, SLOT( syncFileRequest(const QString &) ) ); |
1940 | connect(syncManager , SIGNAL( getFile( bool )), this, SLOT(getFile( bool ) ) ); | 1940 | connect(syncManager , SIGNAL( getFile( bool )), this, SLOT(getFile( bool ) ) ); |
1941 | QString sync_file = sentSyncFile(); | 1941 | QString sync_file = sentSyncFile(); |
1942 | //qDebug("KABCore::initGUI()::setting tmp sync file to:%s ",sync_file.latin1()); | 1942 | //qDebug("KABCore::initGUI()::setting tmp sync file to:%s ",sync_file.latin1()); |
1943 | syncManager->setDefaultFileName( sync_file ); | 1943 | syncManager->setDefaultFileName( sync_file ); |
1944 | //connect(syncManager , SIGNAL( ), this, SLOT( ) ); | 1944 | //connect(syncManager , SIGNAL( ), this, SLOT( ) ); |
1945 | 1945 | ||
1946 | #endif //KAB_EMBEDDED | 1946 | #endif //KAB_EMBEDDED |
1947 | initActions(); | 1947 | initActions(); |
1948 | 1948 | ||
1949 | #ifdef KAB_EMBEDDED | 1949 | #ifdef KAB_EMBEDDED |
1950 | addActionsManually(); | 1950 | addActionsManually(); |
1951 | //US make sure the export and import menues are initialized before creating the xxPortManager. | 1951 | //US make sure the export and import menues are initialized before creating the xxPortManager. |
1952 | mXXPortManager = new XXPortManager( this, this ); | 1952 | mXXPortManager = new XXPortManager( this, this ); |
1953 | 1953 | ||
1954 | // LR mIncSearchWidget = new IncSearchWidget( mMainWindow->getIconToolBar() ); | 1954 | // LR mIncSearchWidget = new IncSearchWidget( mMainWindow->getIconToolBar() ); |
1955 | //mMainWindow->toolBar()->insertWidget(-1, 4, mIncSearchWidget); | 1955 | //mMainWindow->toolBar()->insertWidget(-1, 4, mIncSearchWidget); |
1956 | // mActionQuit->plug ( mMainWindow->toolBar()); | 1956 | // mActionQuit->plug ( mMainWindow->toolBar()); |
1957 | //mIncSearchWidget = new IncSearchWidget( mMainWindow->toolBar() ); | 1957 | //mIncSearchWidget = new IncSearchWidget( mMainWindow->toolBar() ); |
1958 | //mMainWindow->toolBar()->insertWidget(-1, 0, mIncSearchWidget); | 1958 | //mMainWindow->toolBar()->insertWidget(-1, 0, mIncSearchWidget); |
1959 | // mIncSearchWidget->hide(); | 1959 | // mIncSearchWidget->hide(); |
1960 | connect( mIncSearchWidget, SIGNAL( doSearch( const QString& ) ), | 1960 | connect( mIncSearchWidget, SIGNAL( doSearch( const QString& ) ), |
1961 | SLOT( incrementalSearch( const QString& ) ) ); | 1961 | SLOT( incrementalSearch( const QString& ) ) ); |
1962 | connect( mIncSearchWidget, SIGNAL( scrollUP() ),mViewManager, SLOT( scrollUP() ) ); | 1962 | connect( mIncSearchWidget, SIGNAL( scrollUP() ),mViewManager, SLOT( scrollUP() ) ); |
1963 | connect( mIncSearchWidget, SIGNAL( scrollDOWN() ),mViewManager, SLOT( scrollDOWN() ) ); | 1963 | connect( mIncSearchWidget, SIGNAL( scrollDOWN() ),mViewManager, SLOT( scrollDOWN() ) ); |
1964 | 1964 | ||
1965 | mJumpButtonBar = new JumpButtonBar( this, this ); | 1965 | mJumpButtonBar = new JumpButtonBar( this, this ); |
1966 | 1966 | ||
1967 | topLayout->addWidget( mJumpButtonBar ); | 1967 | topLayout->addWidget( mJumpButtonBar ); |
1968 | //US topLayout->setStretchFactor( mJumpButtonBar, 10 ); | 1968 | //US topLayout->setStretchFactor( mJumpButtonBar, 10 ); |
1969 | 1969 | ||
1970 | // mMainWindow->getIconToolBar()->raise(); | 1970 | // mMainWindow->getIconToolBar()->raise(); |
1971 | 1971 | ||
1972 | #endif //KAB_EMBEDDED | 1972 | #endif //KAB_EMBEDDED |
1973 | 1973 | ||
1974 | } | 1974 | } |
1975 | void KABCore::initActions() | 1975 | void KABCore::initActions() |
1976 | { | 1976 | { |
1977 | //US qDebug("KABCore::initActions(): mIsPart %i", mIsPart); | 1977 | //US qDebug("KABCore::initActions(): mIsPart %i", mIsPart); |
1978 | 1978 | ||
1979 | #ifndef KAB_EMBEDDED | 1979 | #ifndef KAB_EMBEDDED |
1980 | connect( QApplication::clipboard(), SIGNAL( dataChanged() ), | 1980 | connect( QApplication::clipboard(), SIGNAL( dataChanged() ), |
1981 | SLOT( clipboardDataChanged() ) ); | 1981 | SLOT( clipboardDataChanged() ) ); |
1982 | #endif //KAB_EMBEDDED | 1982 | #endif //KAB_EMBEDDED |
1983 | 1983 | ||
1984 | // file menu | 1984 | // file menu |
1985 | 1985 | ||
1986 | mActionMail = KStdAction::mail( this, SLOT( sendMail() ), actionCollection() ); | 1986 | mActionMail = KStdAction::mail( this, SLOT( sendMail() ), actionCollection() ); |
1987 | //mActionPrint = KStdAction::print( this, SLOT( print() ), actionCollection() ); | 1987 | //mActionPrint = KStdAction::print( this, SLOT( print() ), actionCollection() ); |
1988 | mActionPrint = new KAction( i18n( "&Print View" ), "fileprint", CTRL + Key_P, mViewManager, | 1988 | mActionPrint = new KAction( i18n( "&Print View" ), "fileprint", CTRL + Key_P, mViewManager, |
1989 | SLOT( printView() ), actionCollection(), "kaddressbook_print" ); | 1989 | SLOT( printView() ), actionCollection(), "kaddressbook_print" ); |
1990 | 1990 | ||
1991 | 1991 | ||
1992 | mActionPrintDetails = new KAction( i18n( "&Print Details" ), "fileprint", 0, mDetails, | 1992 | mActionPrintDetails = new KAction( i18n( "&Print Details" ), "fileprint", 0, mDetails, |
1993 | SLOT( printView() ), actionCollection(), "kaddressbook_print2" ); | 1993 | SLOT( printView() ), actionCollection(), "kaddressbook_print2" ); |
1994 | 1994 | ||
1995 | mActionSave = new KAction( i18n( "&Save" ), "filesave", CTRL+Key_S, this, | 1995 | mActionSave = new KAction( i18n( "&Save" ), "filesave", CTRL+Key_S, this, |
1996 | SLOT( save() ), actionCollection(), "file_sync" ); | 1996 | SLOT( save() ), actionCollection(), "file_sync" ); |
1997 | 1997 | ||
1998 | mActionNewContact = new KAction( i18n( "&New Contact..." ), "filenew", CTRL+Key_N, this, | 1998 | mActionNewContact = new KAction( i18n( "&New Contact..." ), "filenew", CTRL+Key_N, this, |
1999 | SLOT( newContact() ), actionCollection(), "file_new_contact" ); | 1999 | SLOT( newContact() ), actionCollection(), "file_new_contact" ); |
2000 | 2000 | ||
2001 | mActionMailVCard = new KAction(i18n("Mail &vCard..."), "mail_post_to", 0, | 2001 | mActionMailVCard = new KAction(i18n("Mail &vCard..."), "mail_post_to", 0, |
2002 | this, SLOT( mailVCard() ), | 2002 | this, SLOT( mailVCard() ), |
2003 | actionCollection(), "file_mail_vcard"); | 2003 | actionCollection(), "file_mail_vcard"); |
2004 | 2004 | ||
2005 | mActionExport2phone = new KAction( i18n( "Export to phone" ), "ex2phone", 0, this, | 2005 | mActionExport2phone = new KAction( i18n( "Export to phone" ), "ex2phone", 0, this, |
2006 | SLOT( export2phone() ), actionCollection(), | 2006 | SLOT( export2phone() ), actionCollection(), |
2007 | "kaddressbook_ex2phone" ); | 2007 | "kaddressbook_ex2phone" ); |
2008 | 2008 | ||
2009 | mActionBeamVCard = 0; | 2009 | mActionBeamVCard = 0; |
2010 | mActionBeam = 0; | 2010 | mActionBeam = 0; |
2011 | 2011 | ||
2012 | #ifndef DESKTOP_VERSION | 2012 | #ifndef DESKTOP_VERSION |
2013 | if ( Ir::supported() ) { | 2013 | if ( Ir::supported() ) { |
2014 | mActionBeamVCard = new KAction( i18n( "Beam v&Card(s)..." ), "beam", 0, this, | 2014 | mActionBeamVCard = new KAction( i18n( "Beam v&Card(s)..." ), "beam", 0, this, |
2015 | SLOT( beamVCard() ), actionCollection(), | 2015 | SLOT( beamVCard() ), actionCollection(), |
2016 | "kaddressbook_beam_vcard" ); | 2016 | "kaddressbook_beam_vcard" ); |
2017 | 2017 | ||
2018 | mActionBeam = new KAction( i18n( "&Beam personal vCard" ), "beam", 0, this, | 2018 | mActionBeam = new KAction( i18n( "&Beam personal vCard" ), "beam", 0, this, |
2019 | SLOT( beamMySelf() ), actionCollection(), | 2019 | SLOT( beamMySelf() ), actionCollection(), |
2020 | "kaddressbook_beam_myself" ); | 2020 | "kaddressbook_beam_myself" ); |
2021 | } | 2021 | } |
2022 | #endif | 2022 | #endif |
2023 | 2023 | ||
2024 | mActionEditAddressee = new KAction( i18n( "&Edit Contact..." ), "edit", 0, | 2024 | mActionEditAddressee = new KAction( i18n( "&Edit Contact..." ), "edit", 0, |
2025 | this, SLOT( editContact2() ), | 2025 | this, SLOT( editContact2() ), |
2026 | actionCollection(), "file_properties" ); | 2026 | actionCollection(), "file_properties" ); |
2027 | 2027 | ||
2028 | #ifdef KAB_EMBEDDED | 2028 | #ifdef KAB_EMBEDDED |
2029 | // mActionQuit = KStdAction::quit( mMainWindow, SLOT( exit() ), actionCollection() ); | 2029 | // mActionQuit = KStdAction::quit( mMainWindow, SLOT( exit() ), actionCollection() ); |
2030 | mActionQuit = new KAction( i18n( "&Exit" ), "exit", 0, | 2030 | mActionQuit = new KAction( i18n( "&Exit" ), "exit", 0, |
2031 | mMainWindow, SLOT( exit() ), | 2031 | mMainWindow, SLOT( exit() ), |
2032 | actionCollection(), "quit" ); | 2032 | actionCollection(), "quit" ); |
2033 | #endif //KAB_EMBEDDED | 2033 | #endif //KAB_EMBEDDED |
2034 | 2034 | ||
2035 | // edit menu | 2035 | // edit menu |
2036 | if ( mIsPart ) { | 2036 | if ( mIsPart ) { |
2037 | mActionCopy = new KAction( i18n( "&Copy" ), "editcopy", CTRL + Key_C, this, | 2037 | mActionCopy = new KAction( i18n( "&Copy" ), "editcopy", CTRL + Key_C, this, |
2038 | SLOT( copyContacts() ), actionCollection(), | 2038 | SLOT( copyContacts() ), actionCollection(), |
2039 | "kaddressbook_copy" ); | 2039 | "kaddressbook_copy" ); |
2040 | mActionCut = new KAction( i18n( "Cu&t" ), "editcut", CTRL + Key_X, this, | 2040 | mActionCut = new KAction( i18n( "Cu&t" ), "editcut", CTRL + Key_X, this, |
2041 | SLOT( cutContacts() ), actionCollection(), | 2041 | SLOT( cutContacts() ), actionCollection(), |
2042 | "kaddressbook_cut" ); | 2042 | "kaddressbook_cut" ); |
2043 | mActionPaste = new KAction( i18n( "&Paste" ), "editpaste", CTRL + Key_V, this, | 2043 | mActionPaste = new KAction( i18n( "&Paste" ), "editpaste", CTRL + Key_V, this, |
2044 | SLOT( pasteContacts() ), actionCollection(), | 2044 | SLOT( pasteContacts() ), actionCollection(), |
2045 | "kaddressbook_paste" ); | 2045 | "kaddressbook_paste" ); |
2046 | mActionSelectAll = new KAction( i18n( "Select &All" ), CTRL + Key_A, this, | 2046 | mActionSelectAll = new KAction( i18n( "Select &All" ), CTRL + Key_A, this, |
2047 | SLOT( selectAllContacts() ), actionCollection(), | 2047 | SLOT( selectAllContacts() ), actionCollection(), |
2048 | "kaddressbook_select_all" ); | 2048 | "kaddressbook_select_all" ); |
2049 | mActionUndo = new KAction( i18n( "&Undo" ), "undo", CTRL + Key_Z, this, | 2049 | mActionUndo = new KAction( i18n( "&Undo" ), "undo", CTRL + Key_Z, this, |
2050 | SLOT( undo() ), actionCollection(), | 2050 | SLOT( undo() ), actionCollection(), |
2051 | "kaddressbook_undo" ); | 2051 | "kaddressbook_undo" ); |
2052 | mActionRedo = new KAction( i18n( "Re&do" ), "redo", CTRL + SHIFT + Key_Z, | 2052 | mActionRedo = new KAction( i18n( "Re&do" ), "redo", CTRL + SHIFT + Key_Z, |
2053 | this, SLOT( redo() ), actionCollection(), | 2053 | this, SLOT( redo() ), actionCollection(), |
2054 | "kaddressbook_redo" ); | 2054 | "kaddressbook_redo" ); |
2055 | } else { | 2055 | } else { |
2056 | mActionCopy = KStdAction::copy( this, SLOT( copyContacts() ), actionCollection() ); | 2056 | mActionCopy = KStdAction::copy( this, SLOT( copyContacts() ), actionCollection() ); |
2057 | mActionCut = KStdAction::cut( this, SLOT( cutContacts() ), actionCollection() ); | 2057 | mActionCut = KStdAction::cut( this, SLOT( cutContacts() ), actionCollection() ); |
2058 | mActionPaste = KStdAction::paste( this, SLOT( pasteContacts() ), actionCollection() ); | 2058 | mActionPaste = KStdAction::paste( this, SLOT( pasteContacts() ), actionCollection() ); |
2059 | mActionSelectAll = KStdAction::selectAll( this, SLOT( selectAllContacts() ), actionCollection() ); | 2059 | mActionSelectAll = KStdAction::selectAll( this, SLOT( selectAllContacts() ), actionCollection() ); |
2060 | mActionUndo = KStdAction::undo( this, SLOT( undo() ), actionCollection() ); | 2060 | mActionUndo = KStdAction::undo( this, SLOT( undo() ), actionCollection() ); |
2061 | mActionRedo = KStdAction::redo( this, SLOT( redo() ), actionCollection() ); | 2061 | mActionRedo = KStdAction::redo( this, SLOT( redo() ), actionCollection() ); |
2062 | } | 2062 | } |
2063 | 2063 | ||
2064 | mActionDelete = new KAction( i18n( "&Delete Contact" ), "editdelete", | 2064 | mActionDelete = new KAction( i18n( "&Delete Contact" ), "editdelete", |
2065 | Key_Delete, this, SLOT( deleteContacts() ), | 2065 | Key_Delete, this, SLOT( deleteContacts() ), |
2066 | actionCollection(), "edit_delete" ); | 2066 | actionCollection(), "edit_delete" ); |
2067 | 2067 | ||
2068 | mActionUndo->setEnabled( false ); | 2068 | mActionUndo->setEnabled( false ); |
2069 | mActionRedo->setEnabled( false ); | 2069 | mActionRedo->setEnabled( false ); |
2070 | 2070 | ||
2071 | // settings menu | 2071 | // settings menu |
2072 | #ifdef KAB_EMBEDDED | 2072 | #ifdef KAB_EMBEDDED |
2073 | //US special menuentry to configure the addressbook resources. On KDE | 2073 | //US special menuentry to configure the addressbook resources. On KDE |
2074 | // you do that through the control center !!! | 2074 | // you do that through the control center !!! |
2075 | mActionConfigResources = new KAction( i18n( "Configure &Resources..." ), "configure_resources", 0, this, | 2075 | mActionConfigResources = new KAction( i18n( "Configure &Resources..." ), "configure_resources", 0, this, |
2076 | SLOT( configureResources() ), actionCollection(), | 2076 | SLOT( configureResources() ), actionCollection(), |
2077 | "kaddressbook_configure_resources" ); | 2077 | "kaddressbook_configure_resources" ); |
2078 | #endif //KAB_EMBEDDED | 2078 | #endif //KAB_EMBEDDED |
2079 | 2079 | ||
2080 | if ( mIsPart ) { | 2080 | if ( mIsPart ) { |
2081 | mActionConfigKAddressbook = new KAction( i18n( "&Configure KAddressBook..." ), "configure", 0, this, | 2081 | mActionConfigKAddressbook = new KAction( i18n( "&Configure KAddressBook..." ), "configure", 0, this, |
2082 | SLOT( openConfigDialog() ), actionCollection(), | 2082 | SLOT( openConfigDialog() ), actionCollection(), |
2083 | "kaddressbook_configure" ); | 2083 | "kaddressbook_configure" ); |
2084 | 2084 | ||
2085 | //US not implemented yet | 2085 | //US not implemented yet |
2086 | //mActionConfigShortcuts = new KAction( i18n( "Configure S&hortcuts..." ), "configure_shortcuts", 0, | 2086 | //mActionConfigShortcuts = new KAction( i18n( "Configure S&hortcuts..." ), "configure_shortcuts", 0, |
2087 | // this, SLOT( configureKeyBindings() ), actionCollection(), | 2087 | // this, SLOT( configureKeyBindings() ), actionCollection(), |
2088 | // "kaddressbook_configure_shortcuts" ); | 2088 | // "kaddressbook_configure_shortcuts" ); |
2089 | #ifdef KAB_EMBEDDED | 2089 | #ifdef KAB_EMBEDDED |
2090 | mActionConfigureToolbars = KStdAction::configureToolbars( this, SLOT( mMainWindow->configureToolbars() ), actionCollection() ); | 2090 | mActionConfigureToolbars = KStdAction::configureToolbars( this, SLOT( mMainWindow->configureToolbars() ), actionCollection() ); |
2091 | mActionConfigureToolbars->setEnabled( false ); | 2091 | mActionConfigureToolbars->setEnabled( false ); |
2092 | #endif //KAB_EMBEDDED | 2092 | #endif //KAB_EMBEDDED |
2093 | 2093 | ||
2094 | } else { | 2094 | } else { |
2095 | mActionConfigKAddressbook = new KAction( i18n( "&Configure KA/Pi..." ), "configure", 0, this, | 2095 | mActionConfigKAddressbook = new KAction( i18n( "&Configure KA/Pi..." ), "configure", 0, this, |
2096 | SLOT( openConfigDialog() ), actionCollection(), | 2096 | SLOT( openConfigDialog() ), actionCollection(), |
2097 | "kaddressbook_configure" ); | 2097 | "kaddressbook_configure" ); |
2098 | mActionConfigGlobal = new KAction( i18n( "Global Settings..." ), "configure", 0, this, | 2098 | mActionConfigGlobal = new KAction( i18n( "Global Settings..." ), "configure", 0, this, |
2099 | SLOT( openConfigGlobalDialog() ), actionCollection(), | 2099 | SLOT( openConfigGlobalDialog() ), actionCollection(), |
2100 | "kaddressbook_configure" ); | 2100 | "kaddressbook_configure" ); |
2101 | } | 2101 | } |
2102 | mActionJumpBar = new KToggleAction( i18n( "Show Jump Bar" ), 0, 0, | 2102 | mActionJumpBar = new KToggleAction( i18n( "Show Jump Bar" ), 0, 0, |
2103 | actionCollection(), "options_show_jump_bar" ); | 2103 | actionCollection(), "options_show_jump_bar" ); |
2104 | connect( mActionJumpBar, SIGNAL( toggled( bool ) ), SLOT( setJumpButtonBar( bool ) ) ); | 2104 | connect( mActionJumpBar, SIGNAL( toggled( bool ) ), SLOT( setJumpButtonBar( bool ) ) ); |
2105 | 2105 | ||
2106 | mActionDetails = new KToggleAction( i18n( "Show Details" ), "listview", 0, | 2106 | mActionDetails = new KToggleAction( i18n( "Show Details" ), "listview", 0, |
2107 | actionCollection(), "options_show_details" ); | 2107 | actionCollection(), "options_show_details" ); |
2108 | connect( mActionDetails, SIGNAL( toggled( bool ) ), SLOT( setDetailsVisible( bool ) ) ); | 2108 | connect( mActionDetails, SIGNAL( toggled( bool ) ), SLOT( setDetailsVisible( bool ) ) ); |
2109 | 2109 | ||
2110 | 2110 | ||
2111 | mActionBR = new KToggleAction( i18n( "Beam receive enabled" ), "beam", 0, this, | 2111 | mActionBR = new KToggleAction( i18n( "Beam receive enabled" ), "beam", 0, this, |
2112 | SLOT( toggleBeamReceive() ), actionCollection(), | 2112 | SLOT( toggleBeamReceive() ), actionCollection(), |
2113 | "kaddressbook_beam_rec" ); | 2113 | "kaddressbook_beam_rec" ); |
2114 | 2114 | ||
2115 | 2115 | ||
2116 | // misc | 2116 | // misc |
2117 | // only enable LDAP lookup if we can handle the protocol | 2117 | // only enable LDAP lookup if we can handle the protocol |
2118 | #ifndef KAB_EMBEDDED | 2118 | #ifndef KAB_EMBEDDED |
2119 | if ( KProtocolInfo::isKnownProtocol( KURL( "ldap://localhost" ) ) ) { | 2119 | if ( KProtocolInfo::isKnownProtocol( KURL( "ldap://localhost" ) ) ) { |
2120 | new KAction( i18n( "&Lookup Addresses in Directory" ), "find", 0, | 2120 | new KAction( i18n( "&Lookup Addresses in Directory" ), "find", 0, |
2121 | this, SLOT( openLDAPDialog() ), actionCollection(), | 2121 | this, SLOT( openLDAPDialog() ), actionCollection(), |
2122 | "ldap_lookup" ); | 2122 | "ldap_lookup" ); |
2123 | } | 2123 | } |
2124 | #else //KAB_EMBEDDED | 2124 | #else //KAB_EMBEDDED |
2125 | //qDebug("KABCore::initActions() LDAP has to be implemented"); | 2125 | //qDebug("KABCore::initActions() LDAP has to be implemented"); |
2126 | #endif //KAB_EMBEDDED | 2126 | #endif //KAB_EMBEDDED |
2127 | 2127 | ||
2128 | 2128 | ||
2129 | mActionWhoAmI = new KAction( i18n( "Set Who Am I" ), "personal", 0, this, | 2129 | mActionWhoAmI = new KAction( i18n( "Set Who Am I" ), "personal", 0, this, |
2130 | SLOT( setWhoAmI() ), actionCollection(), | 2130 | SLOT( setWhoAmI() ), actionCollection(), |
2131 | "set_personal" ); | 2131 | "set_personal" ); |
@@ -3283,213 +3283,218 @@ bool KABCore::synchronizeAddressbooks( KABC::AddressBook* local, KABC::AddressBo | |||
3283 | addresseeRSync.setOrganization( "!"+mLastAddressbookSync.toString() ) ; | 3283 | addresseeRSync.setOrganization( "!"+mLastAddressbookSync.toString() ) ; |
3284 | addresseeLSync.setOrganization("!"+ mLastAddressbookSync.toString() ); | 3284 | addresseeLSync.setOrganization("!"+ mLastAddressbookSync.toString() ); |
3285 | addresseeRSync.setNote( "" ) ; | 3285 | addresseeRSync.setNote( "" ) ; |
3286 | addresseeLSync.setNote( "" ); | 3286 | addresseeLSync.setNote( "" ); |
3287 | 3287 | ||
3288 | if ( mGlobalSyncMode == SYNC_MODE_NORMAL) | 3288 | if ( mGlobalSyncMode == SYNC_MODE_NORMAL) |
3289 | remote->insertAddressee( addresseeRSync, false ); | 3289 | remote->insertAddressee( addresseeRSync, false ); |
3290 | local->insertAddressee( addresseeLSync, false ); | 3290 | local->insertAddressee( addresseeLSync, false ); |
3291 | QString mes; | 3291 | QString mes; |
3292 | mes .sprintf( i18n("Synchronization summary:\n\n %d items added to local\n %d items added to remote\n %d items updated on local\n %d items updated on remote\n %d items deleted on local\n %d items deleted on remote\n %d incoming filtered out\n %d outgoing filtered out"),addedAddressee, addedAddresseeR, changedLocal, changedRemote, deletedAddresseeL, deletedAddresseeR, filteredIN, filteredOUT ); | 3292 | mes .sprintf( i18n("Synchronization summary:\n\n %d items added to local\n %d items added to remote\n %d items updated on local\n %d items updated on remote\n %d items deleted on local\n %d items deleted on remote\n %d incoming filtered out\n %d outgoing filtered out"),addedAddressee, addedAddresseeR, changedLocal, changedRemote, deletedAddresseeL, deletedAddresseeR, filteredIN, filteredOUT ); |
3293 | qDebug( mes ); | 3293 | qDebug( mes ); |
3294 | mes = i18n("Local addressbook changed!\n") +mes; | 3294 | mes = i18n("Local addressbook changed!\n") +mes; |
3295 | if ( syncManager->mShowSyncSummary ) { | 3295 | if ( syncManager->mShowSyncSummary ) { |
3296 | if ( KMessageBox::Cancel == KMessageBox::warningContinueCancel(this, mes, | 3296 | if ( KMessageBox::Cancel == KMessageBox::warningContinueCancel(this, mes, |
3297 | i18n("KA/Pi Synchronization"),i18n("Write back"))) { | 3297 | i18n("KA/Pi Synchronization"),i18n("Write back"))) { |
3298 | qDebug("KA: WB cancelled "); | 3298 | qDebug("KA: WB cancelled "); |
3299 | syncManager->mWriteBackFile = false; | 3299 | syncManager->mWriteBackFile = false; |
3300 | return syncOK; | 3300 | return syncOK; |
3301 | } | 3301 | } |
3302 | } | 3302 | } |
3303 | return syncOK; | 3303 | return syncOK; |
3304 | } | 3304 | } |
3305 | 3305 | ||
3306 | 3306 | ||
3307 | //this is a overwritten callbackmethods from the syncinterface | 3307 | //this is a overwritten callbackmethods from the syncinterface |
3308 | bool KABCore::sync(KSyncManager* manager, QString filename, int mode,QString resource) | 3308 | bool KABCore::sync(KSyncManager* manager, QString filename, int mode,QString resource) |
3309 | { | 3309 | { |
3310 | 3310 | ||
3311 | //pending prepare addresseeview for output | 3311 | //pending prepare addresseeview for output |
3312 | //pending detect, if remote file has REV field. if not switch to external sync | 3312 | //pending detect, if remote file has REV field. if not switch to external sync |
3313 | mGlobalSyncMode = SYNC_MODE_NORMAL; | 3313 | mGlobalSyncMode = SYNC_MODE_NORMAL; |
3314 | if ( manager != syncManager ) | 3314 | if ( manager != syncManager ) |
3315 | qDebug("KABCore::sync:: ERROR! :: manager != syncManager "); | 3315 | qDebug("KABCore::sync:: ERROR! :: manager != syncManager "); |
3316 | QString mCurrentSyncDevice = manager->getCurrentSyncDevice(); | 3316 | QString mCurrentSyncDevice = manager->getCurrentSyncDevice(); |
3317 | 3317 | ||
3318 | AddressBook abLocal(filename,"syncContact"); | 3318 | AddressBook abLocal(filename,"syncContact"); |
3319 | bool syncOK = false; | 3319 | bool syncOK = false; |
3320 | if ( abLocal.load() ) { | 3320 | if ( abLocal.load() ) { |
3321 | qDebug("KA: Sync::AB loaded %s,sync mode %d",filename.latin1(), mode ); | 3321 | qDebug("KA: Sync::AB loaded %s,sync mode %d",filename.latin1(), mode ); |
3322 | bool external = false; | 3322 | bool external = false; |
3323 | bool isXML = false; | 3323 | bool isXML = false; |
3324 | if ( filename.right(4) == ".xml") { | 3324 | if ( filename.right(4) == ".xml") { |
3325 | mGlobalSyncMode = SYNC_MODE_EXTERNAL; | 3325 | mGlobalSyncMode = SYNC_MODE_EXTERNAL; |
3326 | isXML = true; | 3326 | isXML = true; |
3327 | abLocal.preExternSync( mAddressBook ,mCurrentSyncDevice, true ); | 3327 | abLocal.preExternSync( mAddressBook ,mCurrentSyncDevice, true ); |
3328 | } else { | 3328 | } else { |
3329 | external = !manager->mIsKapiFile; | 3329 | external = !manager->mIsKapiFile; |
3330 | if ( external ) { | 3330 | if ( external ) { |
3331 | qDebug("KA: Sync::Setting vcf mode to external "); | 3331 | qDebug("KA: Sync::Setting vcf mode to external "); |
3332 | mGlobalSyncMode = SYNC_MODE_EXTERNAL; | 3332 | mGlobalSyncMode = SYNC_MODE_EXTERNAL; |
3333 | AddressBook::Iterator it; | 3333 | AddressBook::Iterator it; |
3334 | for ( it = abLocal.begin(); it != abLocal.end(); ++it ) { | 3334 | for ( it = abLocal.begin(); it != abLocal.end(); ++it ) { |
3335 | (*it).setID( mCurrentSyncDevice, (*it).uid() ); | 3335 | (*it).setID( mCurrentSyncDevice, (*it).uid() ); |
3336 | (*it).computeCsum( mCurrentSyncDevice ); | 3336 | (*it).computeCsum( mCurrentSyncDevice ); |
3337 | } | 3337 | } |
3338 | } | 3338 | } |
3339 | } | 3339 | } |
3340 | //AddressBook::Iterator it; | 3340 | //AddressBook::Iterator it; |
3341 | //QStringList vcards; | 3341 | //QStringList vcards; |
3342 | //for ( it = abLocal.begin(); it != abLocal.end(); ++it ) { | 3342 | //for ( it = abLocal.begin(); it != abLocal.end(); ++it ) { |
3343 | // qDebug("Name %s ", (*it).familyName().latin1()); | 3343 | // qDebug("Name %s ", (*it).familyName().latin1()); |
3344 | //} | 3344 | //} |
3345 | syncOK = synchronizeAddressbooks( mAddressBook, &abLocal, mode ); | 3345 | syncOK = synchronizeAddressbooks( mAddressBook, &abLocal, mode ); |
3346 | syncManager->hideProgressBar(); | 3346 | syncManager->hideProgressBar(); |
3347 | if ( syncOK ) { | 3347 | if ( syncOK ) { |
3348 | if ( syncManager->mWriteBackFile ) | 3348 | if ( syncManager->mWriteBackFile ) |
3349 | { | 3349 | { |
3350 | if ( external ) | 3350 | if ( external ) |
3351 | abLocal.removeSyncAddressees( !isXML); | 3351 | abLocal.removeSyncAddressees( !isXML); |
3352 | qDebug("KA: Sync::Saving remote AB "); | 3352 | qDebug("KA: Sync::Saving remote AB "); |
3353 | if ( ! abLocal.saveAB()) | 3353 | if ( ! abLocal.saveAB()) |
3354 | qDebug("KA: sync::Error writing back AB to file "); | 3354 | qDebug("KA: sync::Error writing back AB to file "); |
3355 | if ( external ) { | 3355 | if ( external ) { |
3356 | // afterwrite processing | 3356 | // afterwrite processing |
3357 | abLocal.postExternSync( mAddressBook,mCurrentSyncDevice ,isXML); | 3357 | abLocal.postExternSync( mAddressBook,mCurrentSyncDevice ,isXML); |
3358 | } | 3358 | } |
3359 | } | 3359 | } |
3360 | } | 3360 | } |
3361 | setModified(); | 3361 | setModified(); |
3362 | 3362 | ||
3363 | } | 3363 | } |
3364 | abLocal.removeResources(); | 3364 | abLocal.removeResources(); |
3365 | if ( syncOK ) | 3365 | if ( syncOK ) |
3366 | mViewManager->refreshView(); | 3366 | mViewManager->refreshView(); |
3367 | return syncOK; | 3367 | return syncOK; |
3368 | 3368 | ||
3369 | } | 3369 | } |
3370 | void KABCore::removeSyncInfo( QString syncProfile) | 3370 | void KABCore::removeSyncInfo( QString syncProfile) |
3371 | { | 3371 | { |
3372 | qDebug("KA: AB:removeSyncInfo for profile %s ", syncProfile.latin1()); | 3372 | qDebug("KA: AB:removeSyncInfo for profile %s ", syncProfile.latin1()); |
3373 | mAddressBook->removeSyncInfo( syncProfile ); | 3373 | mAddressBook->removeSyncInfo( syncProfile ); |
3374 | setModified(); | 3374 | setModified(); |
3375 | } | 3375 | } |
3376 | 3376 | ||
3377 | 3377 | ||
3378 | //this is a overwritten callbackmethods from the syncinterface | 3378 | //this is a overwritten callbackmethods from the syncinterface |
3379 | bool KABCore::syncExternal(KSyncManager* manager, QString resource) | 3379 | bool KABCore::syncExternal(KSyncManager* manager, QString resource) |
3380 | { | 3380 | { |
3381 | if ( resource == "phone" ) | 3381 | if ( resource == "phone" ) |
3382 | return syncPhone(); | 3382 | return syncPhone(); |
3383 | disableBR( true ); | 3383 | disableBR( true ); |
3384 | if ( manager != syncManager ) | 3384 | if ( manager != syncManager ) |
3385 | qDebug("KABCore::syncExternal:: ERROR! :: manager != syncManager "); | 3385 | qDebug("KABCore::syncExternal:: ERROR! :: manager != syncManager "); |
3386 | QString mCurrentSyncDevice = manager->getCurrentSyncDevice(); | 3386 | QString mCurrentSyncDevice = manager->getCurrentSyncDevice(); |
3387 | 3387 | ||
3388 | AddressBook abLocal( resource,"syncContact"); | 3388 | AddressBook abLocal( resource,"syncContact"); |
3389 | bool syncOK = false; | 3389 | bool syncOK = false; |
3390 | message(i18n("Loading DTM address data..."), false); | 3390 | message(i18n("Loading DTM address data..."), false); |
3391 | if ( abLocal.load() ) { | 3391 | if ( abLocal.load() ) { |
3392 | qDebug("KA: AB sharp loaded ,sync device %s",mCurrentSyncDevice.latin1()); | 3392 | qDebug("KA: AB sharp loaded ,sync device %s",mCurrentSyncDevice.latin1()); |
3393 | mGlobalSyncMode = SYNC_MODE_EXTERNAL; | 3393 | mGlobalSyncMode = SYNC_MODE_EXTERNAL; |
3394 | message(i18n("Sync preprocessing..."),false); | 3394 | message(i18n("Sync preprocessing..."),false); |
3395 | abLocal.preExternSync( mAddressBook ,mCurrentSyncDevice, false ); | 3395 | abLocal.preExternSync( mAddressBook ,mCurrentSyncDevice, false ); |
3396 | message(i18n("Synchronizing..."),false); | 3396 | message(i18n("Synchronizing..."),false); |
3397 | syncOK = synchronizeAddressbooks( mAddressBook, &abLocal, syncManager->mSyncAlgoPrefs ); | 3397 | syncOK = synchronizeAddressbooks( mAddressBook, &abLocal, syncManager->mSyncAlgoPrefs ); |
3398 | syncManager->hideProgressBar(); | 3398 | syncManager->hideProgressBar(); |
3399 | if ( syncOK ) { | 3399 | if ( syncOK ) { |
3400 | if ( syncManager->mWriteBackFile ) { | 3400 | if ( syncManager->mWriteBackFile ) { |
3401 | abLocal.removeSyncAddressees( false ); | 3401 | abLocal.removeSyncAddressees( false ); |
3402 | message(i18n("Saving DTM address data..."),false); | 3402 | message(i18n("Saving DTM address data..."),false); |
3403 | abLocal.saveAB(); | 3403 | abLocal.saveAB(); |
3404 | message(i18n("Sync postprocessing..."),false); | 3404 | message(i18n("Sync postprocessing..."),false); |
3405 | abLocal.postExternSync( mAddressBook,mCurrentSyncDevice, true ); | 3405 | abLocal.postExternSync( mAddressBook,mCurrentSyncDevice, true ); |
3406 | } | 3406 | } |
3407 | } else | 3407 | } else |
3408 | message( i18n("Sync cancelled or failed.") ); | 3408 | message( i18n("Sync cancelled or failed.") ); |
3409 | setModified(); | 3409 | setModified(); |
3410 | } | 3410 | } |
3411 | abLocal.removeResources(); | 3411 | abLocal.removeResources(); |
3412 | if ( syncOK ) { | 3412 | if ( syncOK ) { |
3413 | mViewManager->refreshView(); | 3413 | mViewManager->refreshView(); |
3414 | message(i18n("DTM syncing finished.")); | 3414 | message(i18n("DTM syncing finished.")); |
3415 | } | 3415 | } |
3416 | disableBR( false ); | 3416 | disableBR( false ); |
3417 | return syncOK; | 3417 | return syncOK; |
3418 | 3418 | ||
3419 | } | 3419 | } |
3420 | void KABCore::message( QString m, bool startTimer) | 3420 | void KABCore::message( QString m, bool startTimer) |
3421 | { | 3421 | { |
3422 | topLevelWidget()->setCaption( m ); | 3422 | topLevelWidget()->setCaption( m ); |
3423 | qApp->processEvents(); | 3423 | qApp->processEvents(); |
3424 | if ( startTimer ) | 3424 | if ( startTimer ) |
3425 | mMessageTimer->start( 15000, true ); | 3425 | mMessageTimer->start( 15000, true ); |
3426 | else | 3426 | else |
3427 | mMessageTimer->stop(); | 3427 | mMessageTimer->stop(); |
3428 | } | 3428 | } |
3429 | bool KABCore::syncPhone() | 3429 | bool KABCore::syncPhone() |
3430 | { | 3430 | { |
3431 | QString mCurrentSyncDevice = syncManager->getCurrentSyncDevice(); | 3431 | QString mCurrentSyncDevice = syncManager->getCurrentSyncDevice(); |
3432 | QString fileName = getPhoneFile(); | 3432 | QString fileName = getPhoneFile(); |
3433 | if ( !PhoneAccess::readFromPhone( fileName) ) { | 3433 | if ( !PhoneAccess::readFromPhone( fileName) ) { |
3434 | message(i18n("Phone access failed!")); | 3434 | message(i18n("Phone access failed!")); |
3435 | return false; | 3435 | return false; |
3436 | } | 3436 | } |
3437 | AddressBook abLocal( fileName,"syncContact"); | 3437 | AddressBook abLocal( fileName,"syncContact"); |
3438 | bool syncOK = false; | 3438 | bool syncOK = false; |
3439 | { | 3439 | { |
3440 | abLocal.importFromFile( fileName ); | 3440 | abLocal.importFromFile( fileName ); |
3441 | qDebug("KA: AB phone loaded ,sync device %s",mCurrentSyncDevice.latin1()); | 3441 | qDebug("KA: AB phone loaded ,sync device %s",mCurrentSyncDevice.latin1()); |
3442 | mGlobalSyncMode = SYNC_MODE_EXTERNAL; | 3442 | mGlobalSyncMode = SYNC_MODE_EXTERNAL; |
3443 | abLocal.preparePhoneSync( mCurrentSyncDevice, true ); | 3443 | abLocal.preparePhoneSync( mCurrentSyncDevice, true ); |
3444 | abLocal.preExternSync( mAddressBook ,mCurrentSyncDevice, true ); | 3444 | abLocal.preExternSync( mAddressBook ,mCurrentSyncDevice, true ); |
3445 | syncOK = synchronizeAddressbooks( mAddressBook, &abLocal, syncManager->mSyncAlgoPrefs ); | 3445 | syncOK = synchronizeAddressbooks( mAddressBook, &abLocal, syncManager->mSyncAlgoPrefs ); |
3446 | syncManager->hideProgressBar(); | 3446 | syncManager->hideProgressBar(); |
3447 | if ( syncOK ) { | 3447 | if ( syncOK ) { |
3448 | if ( syncManager->mWriteBackFile ) { | 3448 | if ( syncManager->mWriteBackFile ) { |
3449 | abLocal.removeSyncAddressees( true ); | 3449 | abLocal.removeSyncAddressees( true ); |
3450 | abLocal.saveABphone( fileName ); | 3450 | abLocal.saveABphone( fileName ); |
3451 | abLocal.findNewExtIds( fileName, mCurrentSyncDevice ); | 3451 | abLocal.findNewExtIds( fileName, mCurrentSyncDevice ); |
3452 | //abLocal.preparePhoneSync( mCurrentSyncDevice, false ); | 3452 | //abLocal.preparePhoneSync( mCurrentSyncDevice, false ); |
3453 | abLocal.postExternSync( mAddressBook,mCurrentSyncDevice, true ); | 3453 | abLocal.postExternSync( mAddressBook,mCurrentSyncDevice, true ); |
3454 | } | 3454 | } |
3455 | } | 3455 | } |
3456 | setModified(); | 3456 | setModified(); |
3457 | } | 3457 | } |
3458 | abLocal.removeResources(); | 3458 | abLocal.removeResources(); |
3459 | if ( syncOK ) | 3459 | if ( syncOK ) |
3460 | mViewManager->refreshView(); | 3460 | mViewManager->refreshView(); |
3461 | return syncOK; | 3461 | return syncOK; |
3462 | } | 3462 | } |
3463 | void KABCore::getFile( bool success ) | 3463 | void KABCore::getFile( bool success ) |
3464 | { | 3464 | { |
3465 | if ( ! success ) { | 3465 | if ( ! success ) { |
3466 | message( i18n("Error receiving file. Nothing changed!") ); | 3466 | message( i18n("Error receiving file. Nothing changed!") ); |
3467 | return; | 3467 | return; |
3468 | } | 3468 | } |
3469 | int count = mAddressBook->importFromFile( sentSyncFile() , false, true ); | 3469 | int count = mAddressBook->importFromFile( sentSyncFile() , false, true ); |
3470 | if ( count ) | 3470 | if ( count ) |
3471 | setModified( true ); | 3471 | setModified( true ); |
3472 | message( i18n("Pi-Sync successful!") ); | 3472 | message( i18n("Pi-Sync successful!") ); |
3473 | mViewManager->refreshView(); | 3473 | mViewManager->refreshView(); |
3474 | } | 3474 | } |
3475 | void KABCore::syncFileRequest() | 3475 | void KABCore::syncFileRequest(const QString & resource) |
3476 | { | 3476 | { |
3477 | if ( KABPrefs::instance()->mPassiveSyncWithDesktop ) { | 3477 | if ( KABPrefs::instance()->mPassiveSyncWithDesktop ) { |
3478 | syncManager->slotSyncMenu( 999 ); | 3478 | syncManager->slotSyncMenu( 999 ); |
3479 | } | 3479 | } |
3480 | mAddressBook->export2File( sentSyncFile() ); | 3480 | |
3481 | if ( resource == "ALL" ) { | ||
3482 | mAddressBook->export2File( sentSyncFile() ); | ||
3483 | } | ||
3484 | else | ||
3485 | mAddressBook->export2File( sentSyncFile(), resource); | ||
3481 | } | 3486 | } |
3482 | QString KABCore::sentSyncFile() | 3487 | QString KABCore::sentSyncFile() |
3483 | { | 3488 | { |
3484 | #ifdef DESKTOP_VERSION | 3489 | #ifdef DESKTOP_VERSION |
3485 | return locateLocal( "tmp", "copysyncab.vcf" ); | 3490 | return locateLocal( "tmp", "copysyncab.vcf" ); |
3486 | #else | 3491 | #else |
3487 | return QString( "/tmp/copysyncab.vcf" ); | 3492 | return QString( "/tmp/copysyncab.vcf" ); |
3488 | #endif | 3493 | #endif |
3489 | } | 3494 | } |
3490 | 3495 | ||
3491 | void KABCore::setCaptionBack() | 3496 | void KABCore::setCaptionBack() |
3492 | { | 3497 | { |
3493 | mMessageTimer->stop(); | 3498 | mMessageTimer->stop(); |
3494 | topLevelWidget()->setCaption( i18n("KA/Pi") ); | 3499 | topLevelWidget()->setCaption( i18n("KA/Pi") ); |
3495 | } | 3500 | } |