summaryrefslogtreecommitdiffabout
Unidiff
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--kaddressbook/kabcore.cpp2
-rw-r--r--microkde/kdecore/klocale.cpp2
-rw-r--r--microkde/kresources/configpage.cpp7
-rw-r--r--microkde/kresources/configwidget.h2
4 files changed, 5 insertions, 8 deletions
diff --git a/kaddressbook/kabcore.cpp b/kaddressbook/kabcore.cpp
index e88706e..505cbf4 100644
--- a/kaddressbook/kabcore.cpp
+++ b/kaddressbook/kabcore.cpp
@@ -1589,513 +1589,513 @@ void KABCore::openConfigDialog()
1589 ConfigureDialog->addModule(kabcfg ); 1589 ConfigureDialog->addModule(kabcfg );
1590 KCMKdePimConfig* kdelibcfg = new KCMKdePimConfig( ConfigureDialog->getNewVBoxPage(i18n( "Global")) , "KCMKdeLibConfig" ); 1590 KCMKdePimConfig* kdelibcfg = new KCMKdePimConfig( ConfigureDialog->getNewVBoxPage(i18n( "Global")) , "KCMKdeLibConfig" );
1591 ConfigureDialog->addModule(kdelibcfg ); 1591 ConfigureDialog->addModule(kdelibcfg );
1592 1592
1593 connect( ConfigureDialog, SIGNAL( applyClicked() ), 1593 connect( ConfigureDialog, SIGNAL( applyClicked() ),
1594 this, SLOT( configurationChanged() ) ); 1594 this, SLOT( configurationChanged() ) );
1595 connect( ConfigureDialog, SIGNAL( okClicked() ), 1595 connect( ConfigureDialog, SIGNAL( okClicked() ),
1596 this, SLOT( configurationChanged() ) ); 1596 this, SLOT( configurationChanged() ) );
1597 saveSettings(); 1597 saveSettings();
1598#ifndef DESKTOP_VERSION 1598#ifndef DESKTOP_VERSION
1599 ConfigureDialog->showMaximized(); 1599 ConfigureDialog->showMaximized();
1600#endif 1600#endif
1601 if ( ConfigureDialog->exec() ) 1601 if ( ConfigureDialog->exec() )
1602 KMessageBox::information( this, i18n("Some changes are only\neffective after a restart!\n") ); 1602 KMessageBox::information( this, i18n("Some changes are only\neffective after a restart!\n") );
1603 delete ConfigureDialog; 1603 delete ConfigureDialog;
1604} 1604}
1605 1605
1606void KABCore::openLDAPDialog() 1606void KABCore::openLDAPDialog()
1607{ 1607{
1608#ifndef KAB_EMBEDDED 1608#ifndef KAB_EMBEDDED
1609 if ( !mLdapSearchDialog ) { 1609 if ( !mLdapSearchDialog ) {
1610 mLdapSearchDialog = new LDAPSearchDialog( mAddressBook, this ); 1610 mLdapSearchDialog = new LDAPSearchDialog( mAddressBook, this );
1611 connect( mLdapSearchDialog, SIGNAL( addresseesAdded() ), mViewManager, 1611 connect( mLdapSearchDialog, SIGNAL( addresseesAdded() ), mViewManager,
1612 SLOT( refreshView() ) ); 1612 SLOT( refreshView() ) );
1613 connect( mLdapSearchDialog, SIGNAL( addresseesAdded() ), this, 1613 connect( mLdapSearchDialog, SIGNAL( addresseesAdded() ), this,
1614 SLOT( setModified() ) ); 1614 SLOT( setModified() ) );
1615 } else 1615 } else
1616 mLdapSearchDialog->restoreSettings(); 1616 mLdapSearchDialog->restoreSettings();
1617 1617
1618 if ( mLdapSearchDialog->isOK() ) 1618 if ( mLdapSearchDialog->isOK() )
1619 mLdapSearchDialog->exec(); 1619 mLdapSearchDialog->exec();
1620#else //KAB_EMBEDDED 1620#else //KAB_EMBEDDED
1621 qDebug("KABCore::openLDAPDialog() finsih method"); 1621 qDebug("KABCore::openLDAPDialog() finsih method");
1622#endif //KAB_EMBEDDED 1622#endif //KAB_EMBEDDED
1623} 1623}
1624 1624
1625void KABCore::print() 1625void KABCore::print()
1626{ 1626{
1627#ifndef KAB_EMBEDDED 1627#ifndef KAB_EMBEDDED
1628 KPrinter printer; 1628 KPrinter printer;
1629 if ( !printer.setup( this ) ) 1629 if ( !printer.setup( this ) )
1630 return; 1630 return;
1631 1631
1632 KABPrinting::PrintingWizard wizard( &printer, mAddressBook, 1632 KABPrinting::PrintingWizard wizard( &printer, mAddressBook,
1633 mViewManager->selectedUids(), this ); 1633 mViewManager->selectedUids(), this );
1634 1634
1635 wizard.exec(); 1635 wizard.exec();
1636#else //KAB_EMBEDDED 1636#else //KAB_EMBEDDED
1637 qDebug("KABCore::print() finsih method"); 1637 qDebug("KABCore::print() finsih method");
1638#endif //KAB_EMBEDDED 1638#endif //KAB_EMBEDDED
1639 1639
1640} 1640}
1641 1641
1642 1642
1643void KABCore::addGUIClient( KXMLGUIClient *client ) 1643void KABCore::addGUIClient( KXMLGUIClient *client )
1644{ 1644{
1645 if ( mGUIClient ) 1645 if ( mGUIClient )
1646 mGUIClient->insertChildClient( client ); 1646 mGUIClient->insertChildClient( client );
1647 else 1647 else
1648 KMessageBox::error( this, "no KXMLGUICLient"); 1648 KMessageBox::error( this, "no KXMLGUICLient");
1649} 1649}
1650 1650
1651 1651
1652void KABCore::configurationChanged() 1652void KABCore::configurationChanged()
1653{ 1653{
1654 mExtensionManager->reconfigure(); 1654 mExtensionManager->reconfigure();
1655} 1655}
1656 1656
1657void KABCore::addressBookChanged() 1657void KABCore::addressBookChanged()
1658{ 1658{
1659/*US 1659/*US
1660 QDictIterator<AddresseeEditorDialog> it( mEditorDict ); 1660 QDictIterator<AddresseeEditorDialog> it( mEditorDict );
1661 while ( it.current() ) { 1661 while ( it.current() ) {
1662 if ( it.current()->dirty() ) { 1662 if ( it.current()->dirty() ) {
1663 QString text = i18n( "Data has been changed externally. Unsaved " 1663 QString text = i18n( "Data has been changed externally. Unsaved "
1664 "changes will be lost." ); 1664 "changes will be lost." );
1665 KMessageBox::information( this, text ); 1665 KMessageBox::information( this, text );
1666 } 1666 }
1667 it.current()->setAddressee( mAddressBook->findByUid( it.currentKey() ) ); 1667 it.current()->setAddressee( mAddressBook->findByUid( it.currentKey() ) );
1668 ++it; 1668 ++it;
1669 } 1669 }
1670*/ 1670*/
1671 if (mEditorDialog) 1671 if (mEditorDialog)
1672 { 1672 {
1673 if (mEditorDialog->dirty()) 1673 if (mEditorDialog->dirty())
1674 { 1674 {
1675 QString text = i18n( "Data has been changed externally. Unsaved " 1675 QString text = i18n( "Data has been changed externally. Unsaved "
1676 "changes will be lost." ); 1676 "changes will be lost." );
1677 KMessageBox::information( this, text ); 1677 KMessageBox::information( this, text );
1678 } 1678 }
1679 QString currentuid = mEditorDialog->addressee().uid(); 1679 QString currentuid = mEditorDialog->addressee().uid();
1680 mEditorDialog->setAddressee( mAddressBook->findByUid( currentuid ) ); 1680 mEditorDialog->setAddressee( mAddressBook->findByUid( currentuid ) );
1681 } 1681 }
1682 mViewManager->refreshView(); 1682 mViewManager->refreshView();
1683 1683
1684 1684
1685} 1685}
1686 1686
1687AddresseeEditorDialog *KABCore::createAddresseeEditorDialog( QWidget *parent, 1687AddresseeEditorDialog *KABCore::createAddresseeEditorDialog( QWidget *parent,
1688 const char *name ) 1688 const char *name )
1689{ 1689{
1690 1690
1691 if ( mEditorDialog == 0 ) { 1691 if ( mEditorDialog == 0 ) {
1692 mEditorDialog = new AddresseeEditorDialog( this, parent, 1692 mEditorDialog = new AddresseeEditorDialog( this, parent,
1693 name ? name : "editorDialog" ); 1693 name ? name : "editorDialog" );
1694 1694
1695 1695
1696 connect( mEditorDialog, SIGNAL( contactModified( const KABC::Addressee& ) ), 1696 connect( mEditorDialog, SIGNAL( contactModified( const KABC::Addressee& ) ),
1697 SLOT( contactModified( const KABC::Addressee& ) ) ); 1697 SLOT( contactModified( const KABC::Addressee& ) ) );
1698 //connect( mEditorDialog, SIGNAL( editorDestroyed( const QString& ) ), 1698 //connect( mEditorDialog, SIGNAL( editorDestroyed( const QString& ) ),
1699 // SLOT( slotEditorDestroyed( const QString& ) ) ; 1699 // SLOT( slotEditorDestroyed( const QString& ) ) ;
1700 } 1700 }
1701 1701
1702 return mEditorDialog; 1702 return mEditorDialog;
1703} 1703}
1704 1704
1705void KABCore::slotEditorDestroyed( const QString &uid ) 1705void KABCore::slotEditorDestroyed( const QString &uid )
1706{ 1706{
1707 //mEditorDict.remove( uid ); 1707 //mEditorDict.remove( uid );
1708} 1708}
1709 1709
1710void KABCore::initGUI() 1710void KABCore::initGUI()
1711{ 1711{
1712#ifndef KAB_EMBEDDED 1712#ifndef KAB_EMBEDDED
1713 QHBoxLayout *topLayout = new QHBoxLayout( this ); 1713 QHBoxLayout *topLayout = new QHBoxLayout( this );
1714 topLayout->setSpacing( KDialogBase::spacingHint() ); 1714 topLayout->setSpacing( KDialogBase::spacingHint() );
1715 1715
1716 mExtensionBarSplitter = new QSplitter( this ); 1716 mExtensionBarSplitter = new QSplitter( this );
1717 mExtensionBarSplitter->setOrientation( Qt::Vertical ); 1717 mExtensionBarSplitter->setOrientation( Qt::Vertical );
1718 1718
1719 mDetailsSplitter = new QSplitter( mExtensionBarSplitter ); 1719 mDetailsSplitter = new QSplitter( mExtensionBarSplitter );
1720 1720
1721 QVBox *viewSpace = new QVBox( mDetailsSplitter ); 1721 QVBox *viewSpace = new QVBox( mDetailsSplitter );
1722 mIncSearchWidget = new IncSearchWidget( viewSpace ); 1722 mIncSearchWidget = new IncSearchWidget( viewSpace );
1723 connect( mIncSearchWidget, SIGNAL( doSearch( const QString& ) ), 1723 connect( mIncSearchWidget, SIGNAL( doSearch( const QString& ) ),
1724 SLOT( incrementalSearch( const QString& ) ) ); 1724 SLOT( incrementalSearch( const QString& ) ) );
1725 1725
1726 mViewManager = new ViewManager( this, viewSpace ); 1726 mViewManager = new ViewManager( this, viewSpace );
1727 viewSpace->setStretchFactor( mViewManager, 1 ); 1727 viewSpace->setStretchFactor( mViewManager, 1 );
1728 1728
1729 mDetails = new ViewContainer( mDetailsSplitter ); 1729 mDetails = new ViewContainer( mDetailsSplitter );
1730 1730
1731 mJumpButtonBar = new JumpButtonBar( this, this ); 1731 mJumpButtonBar = new JumpButtonBar( this, this );
1732 1732
1733 mExtensionManager = new ExtensionManager( this, mExtensionBarSplitter ); 1733 mExtensionManager = new ExtensionManager( this, mExtensionBarSplitter );
1734 1734
1735 topLayout->addWidget( mExtensionBarSplitter ); 1735 topLayout->addWidget( mExtensionBarSplitter );
1736 topLayout->setStretchFactor( mExtensionBarSplitter, 100 ); 1736 topLayout->setStretchFactor( mExtensionBarSplitter, 100 );
1737 topLayout->addWidget( mJumpButtonBar ); 1737 topLayout->addWidget( mJumpButtonBar );
1738 topLayout->setStretchFactor( mJumpButtonBar, 1 ); 1738 topLayout->setStretchFactor( mJumpButtonBar, 1 );
1739 1739
1740 mXXPortManager = new XXPortManager( this, this ); 1740 mXXPortManager = new XXPortManager( this, this );
1741 1741
1742#else //KAB_EMBEDDED 1742#else //KAB_EMBEDDED
1743 //US initialize viewMenu before settingup viewmanager. 1743 //US initialize viewMenu before settingup viewmanager.
1744 // Viewmanager needs this menu to plugin submenues. 1744 // Viewmanager needs this menu to plugin submenues.
1745 viewMenu = new QPopupMenu( this ); 1745 viewMenu = new QPopupMenu( this );
1746 settingsMenu = new QPopupMenu( this ); 1746 settingsMenu = new QPopupMenu( this );
1747 //filterMenu = new QPopupMenu( this ); 1747 //filterMenu = new QPopupMenu( this );
1748 ImportMenu = new QPopupMenu( this ); 1748 ImportMenu = new QPopupMenu( this );
1749 ExportMenu = new QPopupMenu( this ); 1749 ExportMenu = new QPopupMenu( this );
1750 syncMenu = new QPopupMenu( this ); 1750 syncMenu = new QPopupMenu( this );
1751 changeMenu= new QPopupMenu( this ); 1751 changeMenu= new QPopupMenu( this );
1752 beamMenu= new QPopupMenu( this ); 1752 beamMenu= new QPopupMenu( this );
1753 1753
1754//US since we have no splitter for the embedded system, setup 1754//US since we have no splitter for the embedded system, setup
1755// a layout with two frames. One left and one right. 1755// a layout with two frames. One left and one right.
1756 1756
1757 QBoxLayout *topLayout; 1757 QBoxLayout *topLayout;
1758 1758
1759 // = new QHBoxLayout( this ); 1759 // = new QHBoxLayout( this );
1760// QBoxLayout *topLayout = (QBoxLayout*)layout(); 1760// QBoxLayout *topLayout = (QBoxLayout*)layout();
1761 1761
1762// QWidget *mainBox = new QWidget( this ); 1762// QWidget *mainBox = new QWidget( this );
1763// QBoxLayout * mainBoxLayout = new QHBoxLayout(mainBox); 1763// QBoxLayout * mainBoxLayout = new QHBoxLayout(mainBox);
1764 1764
1765#ifdef DESKTOP_VERSION 1765#ifdef DESKTOP_VERSION
1766 topLayout = new QHBoxLayout( this ); 1766 topLayout = new QHBoxLayout( this );
1767 1767
1768 1768
1769 mMiniSplitter = new KDGanttMinimizeSplitter( Qt::Horizontal, this); 1769 mMiniSplitter = new KDGanttMinimizeSplitter( Qt::Horizontal, this);
1770 mMiniSplitter->setMinimizeDirection ( KDGanttMinimizeSplitter::Right ); 1770 mMiniSplitter->setMinimizeDirection ( KDGanttMinimizeSplitter::Right );
1771 1771
1772 topLayout->addWidget(mMiniSplitter ); 1772 topLayout->addWidget(mMiniSplitter );
1773 1773
1774 mExtensionBarSplitter = new KDGanttMinimizeSplitter( Qt::Vertical,mMiniSplitter ); 1774 mExtensionBarSplitter = new KDGanttMinimizeSplitter( Qt::Vertical,mMiniSplitter );
1775 mExtensionBarSplitter->setMinimizeDirection ( KDGanttMinimizeSplitter::Down ); 1775 mExtensionBarSplitter->setMinimizeDirection ( KDGanttMinimizeSplitter::Down );
1776 mViewManager = new ViewManager( this, mExtensionBarSplitter ); 1776 mViewManager = new ViewManager( this, mExtensionBarSplitter );
1777 mDetails = new ViewContainer( mMiniSplitter ); 1777 mDetails = new ViewContainer( mMiniSplitter );
1778 mExtensionManager = new ExtensionManager( this, mExtensionBarSplitter ); 1778 mExtensionManager = new ExtensionManager( this, mExtensionBarSplitter );
1779#else 1779#else
1780 if ( QApplication::desktop()->width() > 480 ) { 1780 if ( QApplication::desktop()->width() > 480 ) {
1781 topLayout = new QHBoxLayout( this ); 1781 topLayout = new QHBoxLayout( this );
1782 mMiniSplitter = new KDGanttMinimizeSplitter( Qt::Horizontal, this); 1782 mMiniSplitter = new KDGanttMinimizeSplitter( Qt::Horizontal, this);
1783 mMiniSplitter->setMinimizeDirection ( KDGanttMinimizeSplitter::Right ); 1783 mMiniSplitter->setMinimizeDirection ( KDGanttMinimizeSplitter::Right );
1784 } else { 1784 } else {
1785 1785
1786 topLayout = new QHBoxLayout( this ); 1786 topLayout = new QHBoxLayout( this );
1787 mMiniSplitter = new KDGanttMinimizeSplitter( Qt::Vertical, this); 1787 mMiniSplitter = new KDGanttMinimizeSplitter( Qt::Vertical, this);
1788 mMiniSplitter->setMinimizeDirection ( KDGanttMinimizeSplitter::Down ); 1788 mMiniSplitter->setMinimizeDirection ( KDGanttMinimizeSplitter::Down );
1789 } 1789 }
1790 1790
1791 topLayout->addWidget(mMiniSplitter ); 1791 topLayout->addWidget(mMiniSplitter );
1792 mViewManager = new ViewManager( this, mMiniSplitter ); 1792 mViewManager = new ViewManager( this, mMiniSplitter );
1793 mDetails = new ViewContainer( mMiniSplitter ); 1793 mDetails = new ViewContainer( mMiniSplitter );
1794 1794
1795 1795
1796 mExtensionManager = new ExtensionManager( this, mMiniSplitter ); 1796 mExtensionManager = new ExtensionManager( this, mMiniSplitter );
1797#endif 1797#endif
1798 //eh->hide(); 1798 //eh->hide();
1799 // topLayout->addWidget(mExtensionManager ); 1799 // topLayout->addWidget(mExtensionManager );
1800 1800
1801 1801
1802/*US 1802/*US
1803#ifndef KAB_NOSPLITTER 1803#ifndef KAB_NOSPLITTER
1804 QHBoxLayout *topLayout = new QHBoxLayout( this ); 1804 QHBoxLayout *topLayout = new QHBoxLayout( this );
1805//US topLayout->setSpacing( KDialogBase::spacingHint() ); 1805//US topLayout->setSpacing( KDialogBase::spacingHint() );
1806 topLayout->setSpacing( 10 ); 1806 topLayout->setSpacing( 10 );
1807 1807
1808 mDetailsSplitter = new QSplitter( this ); 1808 mDetailsSplitter = new QSplitter( this );
1809 1809
1810 QVBox *viewSpace = new QVBox( mDetailsSplitter ); 1810 QVBox *viewSpace = new QVBox( mDetailsSplitter );
1811 1811
1812 mViewManager = new ViewManager( this, viewSpace ); 1812 mViewManager = new ViewManager( this, viewSpace );
1813 viewSpace->setStretchFactor( mViewManager, 1 ); 1813 viewSpace->setStretchFactor( mViewManager, 1 );
1814 1814
1815 mDetails = new ViewContainer( mDetailsSplitter ); 1815 mDetails = new ViewContainer( mDetailsSplitter );
1816 1816
1817 topLayout->addWidget( mDetailsSplitter ); 1817 topLayout->addWidget( mDetailsSplitter );
1818 topLayout->setStretchFactor( mDetailsSplitter, 100 ); 1818 topLayout->setStretchFactor( mDetailsSplitter, 100 );
1819#else //KAB_NOSPLITTER 1819#else //KAB_NOSPLITTER
1820 QHBoxLayout *topLayout = new QHBoxLayout( this ); 1820 QHBoxLayout *topLayout = new QHBoxLayout( this );
1821//US topLayout->setSpacing( KDialogBase::spacingHint() ); 1821//US topLayout->setSpacing( KDialogBase::spacingHint() );
1822 topLayout->setSpacing( 10 ); 1822 topLayout->setSpacing( 10 );
1823 1823
1824// mDetailsSplitter = new QSplitter( this ); 1824// mDetailsSplitter = new QSplitter( this );
1825 1825
1826 QVBox *viewSpace = new QVBox( this ); 1826 QVBox *viewSpace = new QVBox( this );
1827 1827
1828 mViewManager = new ViewManager( this, viewSpace ); 1828 mViewManager = new ViewManager( this, viewSpace );
1829 viewSpace->setStretchFactor( mViewManager, 1 ); 1829 viewSpace->setStretchFactor( mViewManager, 1 );
1830 1830
1831 mDetails = new ViewContainer( this ); 1831 mDetails = new ViewContainer( this );
1832 1832
1833 topLayout->addWidget( viewSpace ); 1833 topLayout->addWidget( viewSpace );
1834// topLayout->setStretchFactor( mDetailsSplitter, 100 ); 1834// topLayout->setStretchFactor( mDetailsSplitter, 100 );
1835 topLayout->addWidget( mDetails ); 1835 topLayout->addWidget( mDetails );
1836#endif //KAB_NOSPLITTER 1836#endif //KAB_NOSPLITTER
1837*/ 1837*/
1838 1838
1839 syncManager = new KSyncManager((QWidget*)this, (KSyncInterface*)this, KSyncManager::KAPI, KABPrefs::instance(), syncMenu); 1839 syncManager = new KSyncManager((QWidget*)this, (KSyncInterface*)this, KSyncManager::KAPI, KABPrefs::instance(), syncMenu);
1840 syncManager->setBlockSave(false); 1840 syncManager->setBlockSave(false);
1841 1841
1842 connect(syncManager , SIGNAL( request_file() ), this, SLOT( syncFileRequest() ) ); 1842 connect(syncManager , SIGNAL( request_file() ), this, SLOT( syncFileRequest() ) );
1843 connect(syncManager , SIGNAL( getFile( bool )), this, SLOT(getFile( bool ) ) ); 1843 connect(syncManager , SIGNAL( getFile( bool )), this, SLOT(getFile( bool ) ) );
1844 QString sync_file = sentSyncFile(); 1844 QString sync_file = sentSyncFile();
1845 qDebug("KABCore::initGUI()::setting tmp sync file to:%s ",sync_file.latin1()); 1845 //qDebug("KABCore::initGUI()::setting tmp sync file to:%s ",sync_file.latin1());
1846 syncManager->setDefaultFileName( sync_file ); 1846 syncManager->setDefaultFileName( sync_file );
1847 //connect(syncManager , SIGNAL( ), this, SLOT( ) ); 1847 //connect(syncManager , SIGNAL( ), this, SLOT( ) );
1848 1848
1849#endif //KAB_EMBEDDED 1849#endif //KAB_EMBEDDED
1850 initActions(); 1850 initActions();
1851 1851
1852#ifdef KAB_EMBEDDED 1852#ifdef KAB_EMBEDDED
1853 addActionsManually(); 1853 addActionsManually();
1854 //US make sure the export and import menues are initialized before creating the xxPortManager. 1854 //US make sure the export and import menues are initialized before creating the xxPortManager.
1855 mXXPortManager = new XXPortManager( this, this ); 1855 mXXPortManager = new XXPortManager( this, this );
1856 1856
1857 // LR mIncSearchWidget = new IncSearchWidget( mMainWindow->getIconToolBar() ); 1857 // LR mIncSearchWidget = new IncSearchWidget( mMainWindow->getIconToolBar() );
1858 //mMainWindow->toolBar()->insertWidget(-1, 4, mIncSearchWidget); 1858 //mMainWindow->toolBar()->insertWidget(-1, 4, mIncSearchWidget);
1859 // mActionQuit->plug ( mMainWindow->toolBar()); 1859 // mActionQuit->plug ( mMainWindow->toolBar());
1860 //mIncSearchWidget = new IncSearchWidget( mMainWindow->toolBar() ); 1860 //mIncSearchWidget = new IncSearchWidget( mMainWindow->toolBar() );
1861 //mMainWindow->toolBar()->insertWidget(-1, 0, mIncSearchWidget); 1861 //mMainWindow->toolBar()->insertWidget(-1, 0, mIncSearchWidget);
1862 // mIncSearchWidget->hide(); 1862 // mIncSearchWidget->hide();
1863 connect( mIncSearchWidget, SIGNAL( doSearch( const QString& ) ), 1863 connect( mIncSearchWidget, SIGNAL( doSearch( const QString& ) ),
1864 SLOT( incrementalSearch( const QString& ) ) ); 1864 SLOT( incrementalSearch( const QString& ) ) );
1865 connect( mIncSearchWidget, SIGNAL( scrollUP() ),mViewManager, SLOT( scrollUP() ) ); 1865 connect( mIncSearchWidget, SIGNAL( scrollUP() ),mViewManager, SLOT( scrollUP() ) );
1866 connect( mIncSearchWidget, SIGNAL( scrollDOWN() ),mViewManager, SLOT( scrollDOWN() ) ); 1866 connect( mIncSearchWidget, SIGNAL( scrollDOWN() ),mViewManager, SLOT( scrollDOWN() ) );
1867 1867
1868 mJumpButtonBar = new JumpButtonBar( this, this ); 1868 mJumpButtonBar = new JumpButtonBar( this, this );
1869 1869
1870 topLayout->addWidget( mJumpButtonBar ); 1870 topLayout->addWidget( mJumpButtonBar );
1871//US topLayout->setStretchFactor( mJumpButtonBar, 10 ); 1871//US topLayout->setStretchFactor( mJumpButtonBar, 10 );
1872 1872
1873// mMainWindow->getIconToolBar()->raise(); 1873// mMainWindow->getIconToolBar()->raise();
1874 1874
1875#endif //KAB_EMBEDDED 1875#endif //KAB_EMBEDDED
1876 1876
1877} 1877}
1878void KABCore::initActions() 1878void KABCore::initActions()
1879{ 1879{
1880//US qDebug("KABCore::initActions(): mIsPart %i", mIsPart); 1880//US qDebug("KABCore::initActions(): mIsPart %i", mIsPart);
1881 1881
1882#ifndef KAB_EMBEDDED 1882#ifndef KAB_EMBEDDED
1883 connect( QApplication::clipboard(), SIGNAL( dataChanged() ), 1883 connect( QApplication::clipboard(), SIGNAL( dataChanged() ),
1884 SLOT( clipboardDataChanged() ) ); 1884 SLOT( clipboardDataChanged() ) );
1885#endif //KAB_EMBEDDED 1885#endif //KAB_EMBEDDED
1886 1886
1887 // file menu 1887 // file menu
1888 1888
1889 mActionMail = KStdAction::mail( this, SLOT( sendMail() ), actionCollection() ); 1889 mActionMail = KStdAction::mail( this, SLOT( sendMail() ), actionCollection() );
1890 //mActionPrint = KStdAction::print( this, SLOT( print() ), actionCollection() ); 1890 //mActionPrint = KStdAction::print( this, SLOT( print() ), actionCollection() );
1891 mActionPrint = new KAction( i18n( "&Print View" ), "fileprint", CTRL + Key_P, mViewManager, 1891 mActionPrint = new KAction( i18n( "&Print View" ), "fileprint", CTRL + Key_P, mViewManager,
1892 SLOT( printView() ), actionCollection(), "kaddressbook_print" ); 1892 SLOT( printView() ), actionCollection(), "kaddressbook_print" );
1893 1893
1894 1894
1895 mActionPrintDetails = new KAction( i18n( "&Print Details" ), "fileprint", 0, mDetails, 1895 mActionPrintDetails = new KAction( i18n( "&Print Details" ), "fileprint", 0, mDetails,
1896 SLOT( printView() ), actionCollection(), "kaddressbook_print2" ); 1896 SLOT( printView() ), actionCollection(), "kaddressbook_print2" );
1897 1897
1898 mActionSave = new KAction( i18n( "&Save" ), "filesave", CTRL+Key_S, this, 1898 mActionSave = new KAction( i18n( "&Save" ), "filesave", CTRL+Key_S, this,
1899 SLOT( save() ), actionCollection(), "file_sync" ); 1899 SLOT( save() ), actionCollection(), "file_sync" );
1900 1900
1901 mActionNewContact = new KAction( i18n( "&New Contact..." ), "filenew", CTRL+Key_N, this, 1901 mActionNewContact = new KAction( i18n( "&New Contact..." ), "filenew", CTRL+Key_N, this,
1902 SLOT( newContact() ), actionCollection(), "file_new_contact" ); 1902 SLOT( newContact() ), actionCollection(), "file_new_contact" );
1903 1903
1904 mActionMailVCard = new KAction(i18n("Mail &vCard..."), "mail_post_to", 0, 1904 mActionMailVCard = new KAction(i18n("Mail &vCard..."), "mail_post_to", 0,
1905 this, SLOT( mailVCard() ), 1905 this, SLOT( mailVCard() ),
1906 actionCollection(), "file_mail_vcard"); 1906 actionCollection(), "file_mail_vcard");
1907 1907
1908 mActionExport2phone = new KAction( i18n( "Export to phone" ), "ex2phone", 0, this, 1908 mActionExport2phone = new KAction( i18n( "Export to phone" ), "ex2phone", 0, this,
1909 SLOT( export2phone() ), actionCollection(), 1909 SLOT( export2phone() ), actionCollection(),
1910 "kaddressbook_ex2phone" ); 1910 "kaddressbook_ex2phone" );
1911 1911
1912 mActionBeamVCard = 0; 1912 mActionBeamVCard = 0;
1913 mActionBeam = 0; 1913 mActionBeam = 0;
1914 1914
1915#ifndef DESKTOP_VERSION 1915#ifndef DESKTOP_VERSION
1916 if ( Ir::supported() ) { 1916 if ( Ir::supported() ) {
1917 mActionBeamVCard = new KAction( i18n( "Beam v&Card(s)..." ), "beam", 0, this, 1917 mActionBeamVCard = new KAction( i18n( "Beam v&Card(s)..." ), "beam", 0, this,
1918 SLOT( beamVCard() ), actionCollection(), 1918 SLOT( beamVCard() ), actionCollection(),
1919 "kaddressbook_beam_vcard" ); 1919 "kaddressbook_beam_vcard" );
1920 1920
1921 mActionBeam = new KAction( i18n( "&Beam personal vCard" ), "beam", 0, this, 1921 mActionBeam = new KAction( i18n( "&Beam personal vCard" ), "beam", 0, this,
1922 SLOT( beamMySelf() ), actionCollection(), 1922 SLOT( beamMySelf() ), actionCollection(),
1923 "kaddressbook_beam_myself" ); 1923 "kaddressbook_beam_myself" );
1924 } 1924 }
1925#endif 1925#endif
1926 1926
1927 mActionEditAddressee = new KAction( i18n( "&Edit Contact..." ), "edit", 0, 1927 mActionEditAddressee = new KAction( i18n( "&Edit Contact..." ), "edit", 0,
1928 this, SLOT( editContact2() ), 1928 this, SLOT( editContact2() ),
1929 actionCollection(), "file_properties" ); 1929 actionCollection(), "file_properties" );
1930 1930
1931#ifdef KAB_EMBEDDED 1931#ifdef KAB_EMBEDDED
1932 // mActionQuit = KStdAction::quit( mMainWindow, SLOT( exit() ), actionCollection() ); 1932 // mActionQuit = KStdAction::quit( mMainWindow, SLOT( exit() ), actionCollection() );
1933 mActionQuit = new KAction( i18n( "&Exit" ), "exit", 0, 1933 mActionQuit = new KAction( i18n( "&Exit" ), "exit", 0,
1934 mMainWindow, SLOT( exit() ), 1934 mMainWindow, SLOT( exit() ),
1935 actionCollection(), "quit" ); 1935 actionCollection(), "quit" );
1936#endif //KAB_EMBEDDED 1936#endif //KAB_EMBEDDED
1937 1937
1938 // edit menu 1938 // edit menu
1939 if ( mIsPart ) { 1939 if ( mIsPart ) {
1940 mActionCopy = new KAction( i18n( "&Copy" ), "editcopy", CTRL + Key_C, this, 1940 mActionCopy = new KAction( i18n( "&Copy" ), "editcopy", CTRL + Key_C, this,
1941 SLOT( copyContacts() ), actionCollection(), 1941 SLOT( copyContacts() ), actionCollection(),
1942 "kaddressbook_copy" ); 1942 "kaddressbook_copy" );
1943 mActionCut = new KAction( i18n( "Cu&t" ), "editcut", CTRL + Key_X, this, 1943 mActionCut = new KAction( i18n( "Cu&t" ), "editcut", CTRL + Key_X, this,
1944 SLOT( cutContacts() ), actionCollection(), 1944 SLOT( cutContacts() ), actionCollection(),
1945 "kaddressbook_cut" ); 1945 "kaddressbook_cut" );
1946 mActionPaste = new KAction( i18n( "&Paste" ), "editpaste", CTRL + Key_V, this, 1946 mActionPaste = new KAction( i18n( "&Paste" ), "editpaste", CTRL + Key_V, this,
1947 SLOT( pasteContacts() ), actionCollection(), 1947 SLOT( pasteContacts() ), actionCollection(),
1948 "kaddressbook_paste" ); 1948 "kaddressbook_paste" );
1949 mActionSelectAll = new KAction( i18n( "Select &All" ), CTRL + Key_A, this, 1949 mActionSelectAll = new KAction( i18n( "Select &All" ), CTRL + Key_A, this,
1950 SLOT( selectAllContacts() ), actionCollection(), 1950 SLOT( selectAllContacts() ), actionCollection(),
1951 "kaddressbook_select_all" ); 1951 "kaddressbook_select_all" );
1952 mActionUndo = new KAction( i18n( "&Undo" ), "undo", CTRL + Key_Z, this, 1952 mActionUndo = new KAction( i18n( "&Undo" ), "undo", CTRL + Key_Z, this,
1953 SLOT( undo() ), actionCollection(), 1953 SLOT( undo() ), actionCollection(),
1954 "kaddressbook_undo" ); 1954 "kaddressbook_undo" );
1955 mActionRedo = new KAction( i18n( "Re&do" ), "redo", CTRL + SHIFT + Key_Z, 1955 mActionRedo = new KAction( i18n( "Re&do" ), "redo", CTRL + SHIFT + Key_Z,
1956 this, SLOT( redo() ), actionCollection(), 1956 this, SLOT( redo() ), actionCollection(),
1957 "kaddressbook_redo" ); 1957 "kaddressbook_redo" );
1958 } else { 1958 } else {
1959 mActionCopy = KStdAction::copy( this, SLOT( copyContacts() ), actionCollection() ); 1959 mActionCopy = KStdAction::copy( this, SLOT( copyContacts() ), actionCollection() );
1960 mActionCut = KStdAction::cut( this, SLOT( cutContacts() ), actionCollection() ); 1960 mActionCut = KStdAction::cut( this, SLOT( cutContacts() ), actionCollection() );
1961 mActionPaste = KStdAction::paste( this, SLOT( pasteContacts() ), actionCollection() ); 1961 mActionPaste = KStdAction::paste( this, SLOT( pasteContacts() ), actionCollection() );
1962 mActionSelectAll = KStdAction::selectAll( this, SLOT( selectAllContacts() ), actionCollection() ); 1962 mActionSelectAll = KStdAction::selectAll( this, SLOT( selectAllContacts() ), actionCollection() );
1963 mActionUndo = KStdAction::undo( this, SLOT( undo() ), actionCollection() ); 1963 mActionUndo = KStdAction::undo( this, SLOT( undo() ), actionCollection() );
1964 mActionRedo = KStdAction::redo( this, SLOT( redo() ), actionCollection() ); 1964 mActionRedo = KStdAction::redo( this, SLOT( redo() ), actionCollection() );
1965 } 1965 }
1966 1966
1967 mActionDelete = new KAction( i18n( "&Delete Contact" ), "editdelete", 1967 mActionDelete = new KAction( i18n( "&Delete Contact" ), "editdelete",
1968 Key_Delete, this, SLOT( deleteContacts() ), 1968 Key_Delete, this, SLOT( deleteContacts() ),
1969 actionCollection(), "edit_delete" ); 1969 actionCollection(), "edit_delete" );
1970 1970
1971 mActionUndo->setEnabled( false ); 1971 mActionUndo->setEnabled( false );
1972 mActionRedo->setEnabled( false ); 1972 mActionRedo->setEnabled( false );
1973 1973
1974 // settings menu 1974 // settings menu
1975#ifdef KAB_EMBEDDED 1975#ifdef KAB_EMBEDDED
1976//US special menuentry to configure the addressbook resources. On KDE 1976//US special menuentry to configure the addressbook resources. On KDE
1977// you do that through the control center !!! 1977// you do that through the control center !!!
1978 mActionConfigResources = new KAction( i18n( "Configure &Resources..." ), "configure_resources", 0, this, 1978 mActionConfigResources = new KAction( i18n( "Configure &Resources..." ), "configure_resources", 0, this,
1979 SLOT( configureResources() ), actionCollection(), 1979 SLOT( configureResources() ), actionCollection(),
1980 "kaddressbook_configure_resources" ); 1980 "kaddressbook_configure_resources" );
1981#endif //KAB_EMBEDDED 1981#endif //KAB_EMBEDDED
1982 1982
1983 if ( mIsPart ) { 1983 if ( mIsPart ) {
1984 mActionConfigKAddressbook = new KAction( i18n( "&Configure KAddressBook..." ), "configure", 0, this, 1984 mActionConfigKAddressbook = new KAction( i18n( "&Configure KAddressBook..." ), "configure", 0, this,
1985 SLOT( openConfigDialog() ), actionCollection(), 1985 SLOT( openConfigDialog() ), actionCollection(),
1986 "kaddressbook_configure" ); 1986 "kaddressbook_configure" );
1987 1987
1988 //US not implemented yet 1988 //US not implemented yet
1989 //mActionConfigShortcuts = new KAction( i18n( "Configure S&hortcuts..." ), "configure_shortcuts", 0, 1989 //mActionConfigShortcuts = new KAction( i18n( "Configure S&hortcuts..." ), "configure_shortcuts", 0,
1990 // this, SLOT( configureKeyBindings() ), actionCollection(), 1990 // this, SLOT( configureKeyBindings() ), actionCollection(),
1991 // "kaddressbook_configure_shortcuts" ); 1991 // "kaddressbook_configure_shortcuts" );
1992#ifdef KAB_EMBEDDED 1992#ifdef KAB_EMBEDDED
1993 mActionConfigureToolbars = KStdAction::configureToolbars( this, SLOT( mMainWindow->configureToolbars() ), actionCollection() ); 1993 mActionConfigureToolbars = KStdAction::configureToolbars( this, SLOT( mMainWindow->configureToolbars() ), actionCollection() );
1994 mActionConfigureToolbars->setEnabled( false ); 1994 mActionConfigureToolbars->setEnabled( false );
1995#endif //KAB_EMBEDDED 1995#endif //KAB_EMBEDDED
1996 1996
1997 } else { 1997 } else {
1998 mActionConfigKAddressbook = KStdAction::preferences( this, SLOT( openConfigDialog() ), actionCollection() ); 1998 mActionConfigKAddressbook = KStdAction::preferences( this, SLOT( openConfigDialog() ), actionCollection() );
1999 1999
2000 //US not implemented yet 2000 //US not implemented yet
2001 //mActionKeyBindings = KStdAction::keyBindings( this, SLOT( configureKeyBindings() ), actionCollection() ); 2001 //mActionKeyBindings = KStdAction::keyBindings( this, SLOT( configureKeyBindings() ), actionCollection() );
2002 } 2002 }
2003 2003
2004 mActionJumpBar = new KToggleAction( i18n( "Show Jump Bar" ), 0, 0, 2004 mActionJumpBar = new KToggleAction( i18n( "Show Jump Bar" ), 0, 0,
2005 actionCollection(), "options_show_jump_bar" ); 2005 actionCollection(), "options_show_jump_bar" );
2006 connect( mActionJumpBar, SIGNAL( toggled( bool ) ), SLOT( setJumpButtonBarVisible( bool ) ) ); 2006 connect( mActionJumpBar, SIGNAL( toggled( bool ) ), SLOT( setJumpButtonBarVisible( bool ) ) );
2007 2007
2008 mActionDetails = new KToggleAction( i18n( "Show Details" ), "listview", 0, 2008 mActionDetails = new KToggleAction( i18n( "Show Details" ), "listview", 0,
2009 actionCollection(), "options_show_details" ); 2009 actionCollection(), "options_show_details" );
2010 connect( mActionDetails, SIGNAL( toggled( bool ) ), SLOT( setDetailsVisible( bool ) ) ); 2010 connect( mActionDetails, SIGNAL( toggled( bool ) ), SLOT( setDetailsVisible( bool ) ) );
2011 2011
2012 2012
2013 mActionBR = new KToggleAction( i18n( "Beam receive enabled" ), "beam", 0, this, 2013 mActionBR = new KToggleAction( i18n( "Beam receive enabled" ), "beam", 0, this,
2014 SLOT( toggleBeamReceive() ), actionCollection(), 2014 SLOT( toggleBeamReceive() ), actionCollection(),
2015 "kaddressbook_beam_rec" ); 2015 "kaddressbook_beam_rec" );
2016 2016
2017 2017
2018 // misc 2018 // misc
2019 // only enable LDAP lookup if we can handle the protocol 2019 // only enable LDAP lookup if we can handle the protocol
2020#ifndef KAB_EMBEDDED 2020#ifndef KAB_EMBEDDED
2021 if ( KProtocolInfo::isKnownProtocol( KURL( "ldap://localhost" ) ) ) { 2021 if ( KProtocolInfo::isKnownProtocol( KURL( "ldap://localhost" ) ) ) {
2022 new KAction( i18n( "&Lookup Addresses in Directory" ), "find", 0, 2022 new KAction( i18n( "&Lookup Addresses in Directory" ), "find", 0,
2023 this, SLOT( openLDAPDialog() ), actionCollection(), 2023 this, SLOT( openLDAPDialog() ), actionCollection(),
2024 "ldap_lookup" ); 2024 "ldap_lookup" );
2025 } 2025 }
2026#else //KAB_EMBEDDED 2026#else //KAB_EMBEDDED
2027 //qDebug("KABCore::initActions() LDAP has to be implemented"); 2027 //qDebug("KABCore::initActions() LDAP has to be implemented");
2028#endif //KAB_EMBEDDED 2028#endif //KAB_EMBEDDED
2029 2029
2030 2030
2031 mActionWhoAmI = new KAction( i18n( "Set Who Am I" ), "personal", 0, this, 2031 mActionWhoAmI = new KAction( i18n( "Set Who Am I" ), "personal", 0, this,
2032 SLOT( setWhoAmI() ), actionCollection(), 2032 SLOT( setWhoAmI() ), actionCollection(),
2033 "set_personal" ); 2033 "set_personal" );
2034 2034
2035 2035
2036 mActionCategories = new KAction( i18n( "Set Categories" ), 0, this, 2036 mActionCategories = new KAction( i18n( "Set Categories" ), 0, this,
2037 SLOT( setCategories() ), actionCollection(), 2037 SLOT( setCategories() ), actionCollection(),
2038 "edit_set_categories" ); 2038 "edit_set_categories" );
2039 mActionEditCategories = new KAction( i18n( "Edit Categories" ), 0, this, 2039 mActionEditCategories = new KAction( i18n( "Edit Categories" ), 0, this,
2040 SLOT( editCategories() ), actionCollection(), 2040 SLOT( editCategories() ), actionCollection(),
2041 "edit__categories" ); 2041 "edit__categories" );
2042 2042
2043 mActionRemoveVoice = new KAction( i18n( "Remove \"voice\"..." ), 0, this, 2043 mActionRemoveVoice = new KAction( i18n( "Remove \"voice\"..." ), 0, this,
2044 SLOT( removeVoice() ), actionCollection(), 2044 SLOT( removeVoice() ), actionCollection(),
2045 "remove_voice" ); 2045 "remove_voice" );
2046 mActionSetFormattedName = new KAction( i18n( "Set formatted name..." ), 0, this, 2046 mActionSetFormattedName = new KAction( i18n( "Set formatted name..." ), 0, this,
2047 SLOT( setFormattedName() ), actionCollection(), 2047 SLOT( setFormattedName() ), actionCollection(),
2048 "set_formatted" ); 2048 "set_formatted" );
2049 2049
2050 mActionManageCategories= new KAction( i18n( "Manage new categories..." ), 0, this, 2050 mActionManageCategories= new KAction( i18n( "Manage new categories..." ), 0, this,
2051 SLOT( manageCategories() ), actionCollection(), 2051 SLOT( manageCategories() ), actionCollection(),
2052 "remove_voice" ); 2052 "remove_voice" );
2053 2053
2054 2054
2055 mActionImportOL = new KAction( i18n( "Import from Outlook..." ), 0, this, 2055 mActionImportOL = new KAction( i18n( "Import from Outlook..." ), 0, this,
2056 SLOT( importFromOL() ), actionCollection(), 2056 SLOT( importFromOL() ), actionCollection(),
2057 "import_OL" ); 2057 "import_OL" );
2058#ifdef KAB_EMBEDDED 2058#ifdef KAB_EMBEDDED
2059 mActionLicence = new KAction( i18n( "Licence" ), 0, 2059 mActionLicence = new KAction( i18n( "Licence" ), 0,
2060 this, SLOT( showLicence() ), actionCollection(), 2060 this, SLOT( showLicence() ), actionCollection(),
2061 "licence_about_data" ); 2061 "licence_about_data" );
2062 mActionFaq = new KAction( i18n( "Faq" ), 0, 2062 mActionFaq = new KAction( i18n( "Faq" ), 0,
2063 this, SLOT( faq() ), actionCollection(), 2063 this, SLOT( faq() ), actionCollection(),
2064 "faq_about_data" ); 2064 "faq_about_data" );
2065 mActionWN = new KAction( i18n( "What's New?" ), 0, 2065 mActionWN = new KAction( i18n( "What's New?" ), 0,
2066 this, SLOT( whatsnew() ), actionCollection(), 2066 this, SLOT( whatsnew() ), actionCollection(),
2067 "wn" ); 2067 "wn" );
2068 mActionSyncHowto = new KAction( i18n( "Sync HowTo" ), 0, 2068 mActionSyncHowto = new KAction( i18n( "Sync HowTo" ), 0,
2069 this, SLOT( synchowto() ), actionCollection(), 2069 this, SLOT( synchowto() ), actionCollection(),
2070 "sync" ); 2070 "sync" );
2071 mActionKdeSyncHowto = new KAction( i18n( "Kde Sync HowTo" ), 0, 2071 mActionKdeSyncHowto = new KAction( i18n( "Kde Sync HowTo" ), 0,
2072 this, SLOT( kdesynchowto() ), actionCollection(), 2072 this, SLOT( kdesynchowto() ), actionCollection(),
2073 "kdesync" ); 2073 "kdesync" );
2074 mActionMultiSyncHowto = new KAction( i18n( "Multi Sync HowTo" ), 0, 2074 mActionMultiSyncHowto = new KAction( i18n( "Multi Sync HowTo" ), 0,
2075 this, SLOT( multisynchowto() ), actionCollection(), 2075 this, SLOT( multisynchowto() ), actionCollection(),
2076 "multisync" ); 2076 "multisync" );
2077 2077
2078 mActionAboutKAddressbook = new KAction( i18n( "&About KAddressBook" ), "kaddressbook2", 0, 2078 mActionAboutKAddressbook = new KAction( i18n( "&About KAddressBook" ), "kaddressbook2", 0,
2079 this, SLOT( createAboutData() ), actionCollection(), 2079 this, SLOT( createAboutData() ), actionCollection(),
2080 "kaddressbook_about_data" ); 2080 "kaddressbook_about_data" );
2081#endif //KAB_EMBEDDED 2081#endif //KAB_EMBEDDED
2082 2082
2083 clipboardDataChanged(); 2083 clipboardDataChanged();
2084 connect( UndoStack::instance(), SIGNAL( changed() ), SLOT( updateActionMenu() ) ); 2084 connect( UndoStack::instance(), SIGNAL( changed() ), SLOT( updateActionMenu() ) );
2085 connect( RedoStack::instance(), SIGNAL( changed() ), SLOT( updateActionMenu() ) ); 2085 connect( RedoStack::instance(), SIGNAL( changed() ), SLOT( updateActionMenu() ) );
2086} 2086}
2087 2087
2088//US we need this function, to plug all actions into the correct menues. 2088//US we need this function, to plug all actions into the correct menues.
2089// KDE uses a XML format to plug the actions, but we work her without this overhead. 2089// KDE uses a XML format to plug the actions, but we work her without this overhead.
2090void KABCore::addActionsManually() 2090void KABCore::addActionsManually()
2091{ 2091{
2092//US qDebug("KABCore::initActions(): mIsPart %i", mIsPart); 2092//US qDebug("KABCore::initActions(): mIsPart %i", mIsPart);
2093 2093
2094#ifdef KAB_EMBEDDED 2094#ifdef KAB_EMBEDDED
2095 QPopupMenu *fileMenu = new QPopupMenu( this ); 2095 QPopupMenu *fileMenu = new QPopupMenu( this );
2096 QPopupMenu *editMenu = new QPopupMenu( this ); 2096 QPopupMenu *editMenu = new QPopupMenu( this );
2097 QPopupMenu *helpMenu = new QPopupMenu( this ); 2097 QPopupMenu *helpMenu = new QPopupMenu( this );
2098 2098
2099 KToolBar* tb = mMainWindow->toolBar(); 2099 KToolBar* tb = mMainWindow->toolBar();
2100 2100
2101#ifndef DESKTOP_VERSION 2101#ifndef DESKTOP_VERSION
diff --git a/microkde/kdecore/klocale.cpp b/microkde/kdecore/klocale.cpp
index aec74fa..7f31ab1 100644
--- a/microkde/kdecore/klocale.cpp
+++ b/microkde/kdecore/klocale.cpp
@@ -1,267 +1,267 @@
1#include <qregexp.h> 1#include <qregexp.h>
2#include <qapplication.h> 2#include <qapplication.h>
3 3
4#include "kdebug.h" 4#include "kdebug.h"
5#include "kcalendarsystemgregorian.h" 5#include "kcalendarsystemgregorian.h"
6 6
7#include "klocale.h" 7#include "klocale.h"
8 8
9#include <qstringlist.h> 9#include <qstringlist.h>
10 10
11#define COLLECT_TRANSLATION 11//#define COLLECT_TRANSLATION
12 12
13 13
14QDict<QString> *mLocaleDict = 0; 14QDict<QString> *mLocaleDict = 0;
15void setLocaleDict( QDict<QString> * dict ) 15void setLocaleDict( QDict<QString> * dict )
16{ 16{
17 mLocaleDict = dict; 17 mLocaleDict = dict;
18 18
19} 19}
20 20
21#ifdef COLLECT_TRANSLATION 21#ifdef COLLECT_TRANSLATION
22 22
23QStringList missingTrans; 23QStringList missingTrans;
24QStringList existingTrans1; 24QStringList existingTrans1;
25QStringList existingTrans2; 25QStringList existingTrans2;
26 26
27void addMissing(const char *text) 27void addMissing(const char *text)
28{ 28{
29 29
30 QString mis ( text ); 30 QString mis ( text );
31 if ( !missingTrans.contains( mis ) ) 31 if ( !missingTrans.contains( mis ) )
32 missingTrans.append(mis); 32 missingTrans.append(mis);
33 33
34} 34}
35void addExist(const char *text,QString trans ) 35void addExist(const char *text,QString trans )
36{ 36{
37 //return; 37 //return;
38 QString mis ( text ); 38 QString mis ( text );
39 if ( !existingTrans1.contains( mis ) ) { 39 if ( !existingTrans1.contains( mis ) ) {
40 existingTrans1.append(mis); 40 existingTrans1.append(mis);
41 existingTrans2.append(trans); 41 existingTrans2.append(trans);
42 42
43 } 43 }
44 44
45} 45}
46 46
47#include <qfile.h> 47#include <qfile.h>
48#include <qtextstream.h> 48#include <qtextstream.h>
49#include <qtextcodec.h> 49#include <qtextcodec.h>
50#endif 50#endif
51void dumpMissing() 51void dumpMissing()
52{ 52{
53#ifdef COLLECT_TRANSLATION 53#ifdef COLLECT_TRANSLATION
54 QString fileName = "/tmp/usernewtrans.txt"; 54 QString fileName = "/tmp/usernewtrans.txt";
55 QFile file( fileName ); 55 QFile file( fileName );
56 if (!file.open( IO_WriteOnly ) ) { 56 if (!file.open( IO_WriteOnly ) ) {
57 return ; 57 return ;
58 } 58 }
59 QTextStream ts( &file ); 59 QTextStream ts( &file );
60 ts.setCodec( QTextCodec::codecForName("utf8") ); 60 ts.setCodec( QTextCodec::codecForName("utf8") );
61 61
62 int i; 62 int i;
63 for ( i = 0; i< missingTrans.count(); ++i ) { 63 for ( i = 0; i< missingTrans.count(); ++i ) {
64 64
65 QString text = missingTrans[i].replace( QRegExp("\n"),"\\n" ); 65 QString text = missingTrans[i].replace( QRegExp("\n"),"\\n" );
66 ts << "{ \""<<text<< "\",\""<< text <<"\" },\n"; 66 ts << "{ \""<<text<< "\",\""<< text <<"\" },\n";
67 67
68 } 68 }
69 file.close(); 69 file.close();
70 { 70 {
71 QString fileName = "/tmp/usertrans.txt"; 71 QString fileName = "/tmp/usertrans.txt";
72 QFile file( fileName ); 72 QFile file( fileName );
73 if (!file.open( IO_WriteOnly ) ) { 73 if (!file.open( IO_WriteOnly ) ) {
74 return ; 74 return ;
75 } 75 }
76 QTextStream ts( &file ); 76 QTextStream ts( &file );
77 ts.setCodec( QTextCodec::codecForName("utf8") ); 77 ts.setCodec( QTextCodec::codecForName("utf8") );
78 78
79 int i; 79 int i;
80 for ( i = 0; i< existingTrans1.count(); ++i ) { 80 for ( i = 0; i< existingTrans1.count(); ++i ) {
81 81
82 QString text = existingTrans1[i].replace( QRegExp("\n"),"\\n" ); 82 QString text = existingTrans1[i].replace( QRegExp("\n"),"\\n" );
83 QString text2 = existingTrans2[i].replace( QRegExp("\n"),"\\n" ); 83 QString text2 = existingTrans2[i].replace( QRegExp("\n"),"\\n" );
84 ts << "{ \""<<text<< "\",\""<< text2 <<"\" },\n"; 84 ts << "{ \""<<text<< "\",\""<< text2 <<"\" },\n";
85 85
86 } 86 }
87 file.close(); 87 file.close();
88 } 88 }
89#endif 89#endif
90} 90}
91QString i18n(const char *text) 91QString i18n(const char *text)
92{ 92{
93 if ( ! mLocaleDict ) { 93 if ( ! mLocaleDict ) {
94#ifdef COLLECT_TRANSLATION 94#ifdef COLLECT_TRANSLATION
95 addMissing( text ); 95 addMissing( text );
96#endif 96#endif
97 return QString( text ); 97 return QString( text );
98 } 98 }
99 else { 99 else {
100 QString* ret = mLocaleDict->find(QString(text)) ; 100 QString* ret = mLocaleDict->find(QString(text)) ;
101 if ( ret == 0 ) { 101 if ( ret == 0 ) {
102#ifdef COLLECT_TRANSLATION 102#ifdef COLLECT_TRANSLATION
103 addMissing( text ); 103 addMissing( text );
104#endif 104#endif
105 return QString( text ); 105 return QString( text );
106 } 106 }
107 else { 107 else {
108 if ( (*ret).isEmpty() ) { 108 if ( (*ret).isEmpty() ) {
109#ifdef COLLECT_TRANSLATION 109#ifdef COLLECT_TRANSLATION
110 addMissing( text ); 110 addMissing( text );
111#endif 111#endif
112 return QString( text ); 112 return QString( text );
113 } 113 }
114 else { 114 else {
115#ifdef COLLECT_TRANSLATION 115#ifdef COLLECT_TRANSLATION
116 addExist( text, *ret ); 116 addExist( text, *ret );
117#endif 117#endif
118 return (*ret); 118 return (*ret);
119 } 119 }
120 } 120 }
121 } 121 }
122 122
123} 123}
124 124
125QString i18n(const char *,const char *text) 125QString i18n(const char *,const char *text)
126{ 126{
127 return i18n( text ); 127 return i18n( text );
128} 128}
129 129
130QString i18n(const char *text1, const char *textn, int num) 130QString i18n(const char *text1, const char *textn, int num)
131{ 131{
132 if ( num == 1 ) return i18n( text1 ); 132 if ( num == 1 ) return i18n( text1 );
133 else { 133 else {
134 QString text = i18n( textn ); 134 QString text = i18n( textn );
135 int pos = text.find( "%n" ); 135 int pos = text.find( "%n" );
136 if ( pos >= 0 ) text.replace( pos, 2, QString::number( num ) ); 136 if ( pos >= 0 ) text.replace( pos, 2, QString::number( num ) );
137 return text; 137 return text;
138 } 138 }
139} 139}
140 140
141inline void put_it_in( QChar *buffer, uint& index, const QString &s ) 141inline void put_it_in( QChar *buffer, uint& index, const QString &s )
142{ 142{
143 for ( uint l = 0; l < s.length(); l++ ) 143 for ( uint l = 0; l < s.length(); l++ )
144 buffer[index++] = s.at( l ); 144 buffer[index++] = s.at( l );
145} 145}
146 146
147inline void put_it_in( QChar *buffer, uint& index, int number ) 147inline void put_it_in( QChar *buffer, uint& index, int number )
148{ 148{
149 buffer[index++] = number / 10 + '0'; 149 buffer[index++] = number / 10 + '0';
150 buffer[index++] = number % 10 + '0'; 150 buffer[index++] = number % 10 + '0';
151} 151}
152 152
153static int readInt(const QString &str, uint &pos) 153static int readInt(const QString &str, uint &pos)
154{ 154{
155 if (!str.at(pos).isDigit()) return -1; 155 if (!str.at(pos).isDigit()) return -1;
156 int result = 0; 156 int result = 0;
157 for (; str.length() > pos && str.at(pos).isDigit(); pos++) 157 for (; str.length() > pos && str.at(pos).isDigit(); pos++)
158 { 158 {
159 result *= 10; 159 result *= 10;
160 result += str.at(pos).digitValue(); 160 result += str.at(pos).digitValue();
161 } 161 }
162 162
163 return result; 163 return result;
164} 164}
165 165
166KLocale::KLocale() : mCalendarSystem( 0 ) 166KLocale::KLocale() : mCalendarSystem( 0 )
167{ 167{
168 168
169 m_decimalSymbol = "."; 169 m_decimalSymbol = ".";
170 m_positiveSign = ""; 170 m_positiveSign = "";
171 m_negativeSign = "-"; 171 m_negativeSign = "-";
172 m_thousandsSeparator = ","; 172 m_thousandsSeparator = ",";
173 173
174 174
175 175
176 176
177 mWeekStartsMonday = true; 177 mWeekStartsMonday = true;
178 mHourF24Format = true; 178 mHourF24Format = true;
179 mIntDateFormat = Default; 179 mIntDateFormat = Default;
180 mIntTimeFormat = Default; 180 mIntTimeFormat = Default;
181 mLanguage = 0; 181 mLanguage = 0;
182 mDateFormat = "%a %Y %b %d"; 182 mDateFormat = "%a %Y %b %d";
183 mDateFormatShort = "%Y-%m-%d"; 183 mDateFormatShort = "%Y-%m-%d";
184 mTimeZoneList << ("-11:00 US/Samoa") 184 mTimeZoneList << ("-11:00 US/Samoa")
185 << ("-10:00 US/Hawaii") 185 << ("-10:00 US/Hawaii")
186 << ("-09:00 US/Alaska") 186 << ("-09:00 US/Alaska")
187 << ("-08:00 US/Pacific") 187 << ("-08:00 US/Pacific")
188 << ("-07:00 US/Mountain") 188 << ("-07:00 US/Mountain")
189 << ("-06:00 US/Central") 189 << ("-06:00 US/Central")
190 << ("-05:00 US/Eastern") 190 << ("-05:00 US/Eastern")
191 << ("-04:00 Brazil/West") 191 << ("-04:00 Brazil/West")
192 << ("-03:00 Brazil/East") 192 << ("-03:00 Brazil/East")
193 << ("-02:00 Brazil/DeNoronha") 193 << ("-02:00 Brazil/DeNoronha")
194 << ("-01:00 Atlantic/Azores") 194 << ("-01:00 Atlantic/Azores")
195 << (" 00:00 Europe/London(UTC)") 195 << (" 00:00 Europe/London(UTC)")
196 << ("+01:00 Europe/Oslo(CET)") 196 << ("+01:00 Europe/Oslo(CET)")
197 << ("+02:00 Europe/Helsinki") 197 << ("+02:00 Europe/Helsinki")
198 << ("+03:00 Europe/Moscow") 198 << ("+03:00 Europe/Moscow")
199 << ("+04:00 Indian/Mauritius") 199 << ("+04:00 Indian/Mauritius")
200 << ("+05:00 Indian/Maldives") 200 << ("+05:00 Indian/Maldives")
201 << ("+06:00 Indian/Chagos") 201 << ("+06:00 Indian/Chagos")
202 << ("+07:00 Asia/Bangkok") 202 << ("+07:00 Asia/Bangkok")
203 << ("+08:00 Asia/Hongkong") 203 << ("+08:00 Asia/Hongkong")
204 << ("+09:00 Asia/Tokyo") 204 << ("+09:00 Asia/Tokyo")
205 << ("+10:00 Asia/Vladivostok") 205 << ("+10:00 Asia/Vladivostok")
206 << ("+11:00 Asia/Magadan") 206 << ("+11:00 Asia/Magadan")
207 << ("+12:00 Asia/Kamchatka") 207 << ("+12:00 Asia/Kamchatka")
208 // << (" xx:xx User defined offset") 208 // << (" xx:xx User defined offset")
209 << i18n (" Local Time"); 209 << i18n (" Local Time");
210 mSouthDaylight = false; 210 mSouthDaylight = false;
211 mTimeZoneOffset = 0; 211 mTimeZoneOffset = 0;
212 daylightEnabled = false; 212 daylightEnabled = false;
213} 213}
214 214
215void KLocale::setDateFormat( QString s ) 215void KLocale::setDateFormat( QString s )
216{ 216{
217 mDateFormat = s; 217 mDateFormat = s;
218} 218}
219 219
220void KLocale::setDateFormatShort( QString s ) 220void KLocale::setDateFormatShort( QString s )
221{ 221{
222 mDateFormatShort = s; 222 mDateFormatShort = s;
223} 223}
224 224
225void KLocale::setHore24Format ( bool b ) 225void KLocale::setHore24Format ( bool b )
226{ 226{
227 mHourF24Format = b; 227 mHourF24Format = b;
228} 228}
229void KLocale::setWeekStartMonday( bool b ) 229void KLocale::setWeekStartMonday( bool b )
230{ 230{
231 mWeekStartsMonday = b; 231 mWeekStartsMonday = b;
232} 232}
233 233
234KLocale::IntDateFormat KLocale::getIntDateFormat( ) 234KLocale::IntDateFormat KLocale::getIntDateFormat( )
235{ 235{
236 return mIntDateFormat; 236 return mIntDateFormat;
237 237
238} 238}
239void KLocale::setIntDateFormat( KLocale::IntDateFormat i ) 239void KLocale::setIntDateFormat( KLocale::IntDateFormat i )
240{ 240{
241 mIntDateFormat = i; 241 mIntDateFormat = i;
242} 242}
243KLocale::IntDateFormat KLocale::getIntTimeFormat( ) 243KLocale::IntDateFormat KLocale::getIntTimeFormat( )
244{ 244{
245 return mIntTimeFormat; 245 return mIntTimeFormat;
246 246
247} 247}
248void KLocale::setIntTimeFormat( KLocale::IntDateFormat i ) 248void KLocale::setIntTimeFormat( KLocale::IntDateFormat i )
249{ 249{
250 mIntTimeFormat = i; 250 mIntTimeFormat = i;
251} 251}
252 252
253void KLocale::setLanguage( int i ) 253void KLocale::setLanguage( int i )
254{ 254{
255 mLanguage = i; 255 mLanguage = i;
256} 256}
257int KLocale::language( ) 257int KLocale::language( )
258{ 258{
259 return mLanguage; 259 return mLanguage;
260} 260}
261QString KLocale::translate( const char *index ) const 261QString KLocale::translate( const char *index ) const
262{ 262{
263 return i18n( index ); 263 return i18n( index );
264} 264}
265 265
266QString KLocale::translate( const char *, const char *fallback) const 266QString KLocale::translate( const char *, const char *fallback) const
267{ 267{
diff --git a/microkde/kresources/configpage.cpp b/microkde/kresources/configpage.cpp
index 533be51..011e47e 100644
--- a/microkde/kresources/configpage.cpp
+++ b/microkde/kresources/configpage.cpp
@@ -204,330 +204,327 @@ void ConfigPage::load()
204 info.mConfig = new KConfig( locateLocal( "config", "kcalrc" ) ); 204 info.mConfig = new KConfig( locateLocal( "config", "kcalrc" ) );
205 } else { 205 } else {
206 QString configFile = locateLocal( "config", QString( "kresources/%1/stdrc" ).arg( family ) ); 206 QString configFile = locateLocal( "config", QString( "kresources/%1/stdrc" ).arg( family ) );
207 info.mConfig = new KConfig( configFile ); 207 info.mConfig = new KConfig( configFile );
208 } 208 }
209 info.mManager->readConfig( info.mConfig ); 209 info.mManager->readConfig( info.mConfig );
210 210
211 mInfoMap.append( info ); 211 mInfoMap.append( info );
212 } 212 }
213 } 213 }
214 } 214 }
215 } 215 }
216 mCurrentManager = 0; 216 mCurrentManager = 0;
217 217
218 mFamilyCombo->insertStringList( mFamilyMap ); 218 mFamilyCombo->insertStringList( mFamilyMap );
219 219
220 int currentFamily = mConfig->readNumEntry( "CurrentFamily", 0 ); 220 int currentFamily = mConfig->readNumEntry( "CurrentFamily", 0 );
221 mFamilyCombo->setCurrentItem( currentFamily ); 221 mFamilyCombo->setCurrentItem( currentFamily );
222 slotFamilyChanged( currentFamily ); 222 slotFamilyChanged( currentFamily );
223} 223}
224 224
225void ConfigPage::save() 225void ConfigPage::save()
226{ 226{
227 saveResourceSettings(); 227 saveResourceSettings();
228 228
229 QValueList<ResourcePageInfo>::Iterator it; 229 QValueList<ResourcePageInfo>::Iterator it;
230 for ( it = mInfoMap.begin(); it != mInfoMap.end(); ++it ) 230 for ( it = mInfoMap.begin(); it != mInfoMap.end(); ++it )
231 (*it).mManager->writeConfig( (*it).mConfig ); 231 (*it).mManager->writeConfig( (*it).mConfig );
232 232
233 emit changed( false ); 233 emit changed( false );
234} 234}
235 235
236void ConfigPage::defaults() 236void ConfigPage::defaults()
237{ 237{
238} 238}
239 239
240void ConfigPage::slotFamilyChanged( int pos ) 240void ConfigPage::slotFamilyChanged( int pos )
241{ 241{
242 if ( pos < 0 || pos >= (int)mFamilyMap.count() ) 242 if ( pos < 0 || pos >= (int)mFamilyMap.count() )
243 return; 243 return;
244 244
245 saveResourceSettings(); 245 saveResourceSettings();
246 246
247 mFamily = mFamilyMap[ pos ]; 247 mFamily = mFamilyMap[ pos ];
248 248
249//US qDebug("ConfigPage::slotFamilyChanged 4 family=%s", mFamily.latin1()); 249//US qDebug("ConfigPage::slotFamilyChanged 4 family=%s", mFamily.latin1());
250 250
251 mCurrentManager = mInfoMap[ pos ].mManager; 251 mCurrentManager = mInfoMap[ pos ].mManager;
252 mCurrentConfig = mInfoMap[ pos ].mConfig; 252 mCurrentConfig = mInfoMap[ pos ].mConfig;
253 253
254 if ( !mCurrentManager ) 254 if ( !mCurrentManager )
255 kdDebug(5650) << "ERROR: cannot create ResourceManager<Resource>( mFamily )" << endl; 255 kdDebug(5650) << "ERROR: cannot create ResourceManager<Resource>( mFamily )" << endl;
256 256
257 mListView->clear(); 257 mListView->clear();
258 258
259 if ( mCurrentManager->isEmpty() ) { 259 if ( mCurrentManager->isEmpty() ) {
260//US qDebug("ConfigPage::slotFamilyChanged 4.1 mCurrentManager=%ul", mCurrentManager ); 260//US qDebug("ConfigPage::slotFamilyChanged 4.1 mCurrentManager=%ul", mCurrentManager );
261 261
262 defaults(); 262 defaults();
263 } 263 }
264 264
265 Resource *standardResource = mCurrentManager->standardResource(); 265 Resource *standardResource = mCurrentManager->standardResource();
266 266
267//US qDebug("ConfigPage::slotFamilyChanged 4.4 resourcename=%s", standardResource->resourceName().latin1()); 267//US qDebug("ConfigPage::slotFamilyChanged 4.4 resourcename=%s", standardResource->resourceName().latin1());
268 268
269 269
270 Manager<Resource>::Iterator it; 270 Manager<Resource>::Iterator it;
271 for ( it = mCurrentManager->begin(); it != mCurrentManager->end(); ++it ) { 271 for ( it = mCurrentManager->begin(); it != mCurrentManager->end(); ++it ) {
272 ConfigViewItem *item = new ConfigViewItem( mListView, *it ); 272 ConfigViewItem *item = new ConfigViewItem( mListView, *it );
273 if ( *it == standardResource ) 273 if ( *it == standardResource )
274 item->setStandard( true ); 274 item->setStandard( true );
275 } 275 }
276 276
277 if ( mListView->childCount() == 0 ) { 277 if ( mListView->childCount() == 0 ) {
278//US qDebug("ConfigPage::slotFamilyChanged 4.5 "); 278//US qDebug("ConfigPage::slotFamilyChanged 4.5 ");
279 279
280 defaults(); 280 defaults();
281 emit changed( true ); 281 emit changed( true );
282 mCurrentManager->writeConfig( mCurrentConfig ); 282 mCurrentManager->writeConfig( mCurrentConfig );
283 } else { 283 } else {
284//US qDebug("ConfigPage::slotFamilyChanged 4.6 "); 284//US qDebug("ConfigPage::slotFamilyChanged 4.6 ");
285 285
286 if ( !standardResource ) { 286 if ( !standardResource ) {
287 KMessageBox::sorry( this, i18n( "There is no standard resource!<br> Please select one." ) ); 287 KMessageBox::sorry( this, i18n( "There is no standard resource!<br> Please select one." ) );
288 288
289//US qDebug("ConfigPage::slotFamilyChanged 4.7" ); 289//US qDebug("ConfigPage::slotFamilyChanged 4.7" );
290 290
291 } 291 }
292 292
293 emit changed( false ); 293 emit changed( false );
294 } 294 }
295} 295}
296 296
297void ConfigPage::slotAdd() 297void ConfigPage::slotAdd()
298{ 298{
299 if ( !mCurrentManager ) 299 if ( !mCurrentManager )
300 return; 300 return;
301 301
302 QStringList types = mCurrentManager->resourceTypeNames(); 302 QStringList types = mCurrentManager->resourceTypeNames();
303 QStringList descs = mCurrentManager->resourceTypeDescriptions(); 303 QStringList descs = mCurrentManager->resourceTypeDescriptions();
304 bool ok = false; 304 bool ok = false;
305 305
306 QString desc; 306 QString desc;
307 307
308 desc = QInputDialog::getItem( i18n( "Resource Configuration" ), 308 desc = QInputDialog::getItem( i18n( "Resource Configuration" ),
309 i18n( "Select type of the new resource:" ), descs, 0, 309 i18n( "Select type of the new resource:" ), descs, 0,
310 false, &ok, this ); 310 false, &ok, this );
311 311
312 if ( !ok ) 312 if ( !ok )
313 return; 313 return;
314 314
315 QString type = types[ descs.findIndex( desc ) ]; 315 QString type = types[ descs.findIndex( desc ) ];
316 316
317 // Create new resource 317 // Create new resource
318 Resource *resource = mCurrentManager->createResource( type ); 318 Resource *resource = mCurrentManager->createResource( type );
319 if ( !resource ) { 319 if ( !resource ) {
320 KMessageBox::error( this, i18n("Unable to create resource of type '%1'.") 320 KMessageBox::error( this, i18n("Unable to create resource of type '%1'.")
321 .arg( type ) ); 321 .arg( type ) );
322 return; 322 return;
323 } 323 }
324 324
325 resource->setResourceName( type + "-resource" ); 325 resource->setResourceName( type + "-resource" );
326 326
327 ConfigDialog dlg( this, mFamily, resource, "KRES::ConfigDialog" ); 327 ConfigDialog dlg( this, mFamily, resource, "KRES::ConfigDialog" );
328 328
329 if ( dlg.exec() ) { 329 if ( dlg.exec() ) {
330 mCurrentManager->add( resource ); 330 mCurrentManager->add( resource );
331 331
332 ConfigViewItem *item = new ConfigViewItem( mListView, resource ); 332 ConfigViewItem *item = new ConfigViewItem( mListView, resource );
333 333
334 mLastItem = item; 334 mLastItem = item;
335 335
336 // if there are only read-only resources we'll set this resource 336 // if there are only read-only resources we'll set this resource
337 // as standard resource 337 // as standard resource
338 if ( !resource->readOnly() ) { 338 if ( !resource->readOnly() ) {
339 bool onlyReadOnly = true; 339 bool onlyReadOnly = true;
340 QListViewItem *it = mListView->firstChild(); 340 QListViewItem *it = mListView->firstChild();
341 while ( it != 0 ) { 341 while ( it != 0 ) {
342 ConfigViewItem *confIt = static_cast<ConfigViewItem*>( it ); 342 ConfigViewItem *confIt = static_cast<ConfigViewItem*>( it );
343 if ( !confIt->readOnly() && confIt != item ) 343 if ( !confIt->readOnly() && confIt != item )
344 onlyReadOnly = false; 344 onlyReadOnly = false;
345 345
346 it = it->itemBelow(); 346 it = it->itemBelow();
347 } 347 }
348 348
349 if ( onlyReadOnly ) 349 if ( onlyReadOnly )
350 item->setStandard( true ); 350 item->setStandard( true );
351 } 351 }
352 352
353 emit changed( true ); 353 emit changed( true );
354 } else { 354 } else {
355 delete resource; 355 delete resource;
356 resource = 0; 356 resource = 0;
357 } 357 }
358} 358}
359 359
360void ConfigPage::slotRemove() 360void ConfigPage::slotRemove()
361{ 361{
362 if ( !mCurrentManager ) 362 if ( !mCurrentManager )
363 return; 363 return;
364 364
365 QListViewItem *item = mListView->currentItem(); 365 QListViewItem *item = mListView->currentItem();
366 ConfigViewItem *confItem = static_cast<ConfigViewItem*>( item ); 366 ConfigViewItem *confItem = static_cast<ConfigViewItem*>( item );
367 367
368 if ( !confItem ) 368 if ( !confItem )
369 return; 369 return;
370 370
371 if ( confItem->standard() ) { 371 if ( confItem->standard() ) {
372 KMessageBox::sorry( this, i18n( "You cannot remove your standard resource!\n Please select a new standard resource first." ) ); 372 KMessageBox::sorry( this, i18n( "You cannot remove your standard resource!\n Please select a new standard resource first." ) );
373 return; 373 return;
374 } 374 }
375 375
376 mCurrentManager->remove( confItem->resource() ); 376 mCurrentManager->remove( confItem->resource() );
377 377
378 if ( item == mLastItem ) 378 if ( item == mLastItem )
379 mLastItem = 0; 379 mLastItem = 0;
380 380
381 mListView->takeItem( item ); 381 mListView->takeItem( item );
382 delete item; 382 delete item;
383 383
384 emit changed( true ); 384 emit changed( true );
385} 385}
386 386
387void ConfigPage::slotEdit() 387void ConfigPage::slotEdit()
388{ 388{
389 if ( !mCurrentManager ) 389 if ( !mCurrentManager )
390 return; 390 return;
391 391
392 QListViewItem *item = mListView->currentItem(); 392 QListViewItem *item = mListView->currentItem();
393 ConfigViewItem *configItem = static_cast<ConfigViewItem*>( item ); 393 ConfigViewItem *configItem = static_cast<ConfigViewItem*>( item );
394 if ( !configItem ) 394 if ( !configItem )
395 return; 395 return;
396 396
397 Resource *resource = configItem->resource(); 397 Resource *resource = configItem->resource();
398 398
399 ConfigDialog dlg( this, mFamily, resource, "KRES::ConfigDialog" ); 399 ConfigDialog dlg( this, mFamily, resource, "KRES::ConfigDialog" );
400 400
401 if ( dlg.exec() ) { 401 if ( dlg.exec() ) {
402 configItem->setText( 0, resource->resourceName() ); 402 configItem->setText( 0, resource->resourceName() );
403 configItem->setText( 1, resource->type() ); 403 configItem->setText( 1, resource->type() );
404 404
405 if ( configItem->standard() && configItem->readOnly() ) { 405 if ( configItem->standard() && configItem->readOnly() ) {
406 KMessageBox::sorry( this, i18n( "You cannot use a read-only<br> resource as standard!" ) ); 406 KMessageBox::sorry( this, i18n( "You cannot use a read-only<br> resource as standard!" ) );
407 configItem->setStandard( false ); 407 configItem->setStandard( false );
408 } 408 }
409 409
410 mCurrentManager->resourceChanged( resource ); 410 mCurrentManager->resourceChanged( resource );
411 emit changed( true ); 411 emit changed( true );
412 } 412 }
413} 413}
414 414
415void ConfigPage::slotStandard() 415void ConfigPage::slotStandard()
416{ 416{
417 if ( !mCurrentManager ) 417 if ( !mCurrentManager )
418 return; 418 return;
419 419
420 ConfigViewItem *item = static_cast<ConfigViewItem*>( mListView->currentItem() ); 420 ConfigViewItem *item = static_cast<ConfigViewItem*>( mListView->currentItem() );
421 if ( !item ) 421 if ( !item )
422 return; 422 return;
423 423
424 if ( item->readOnly() ) { 424 if ( item->readOnly() ) {
425 KMessageBox::sorry( this, i18n( "You cannot use a read-only<br>resource as standard!" ) ); 425 KMessageBox::sorry( this, i18n( "You cannot use a read-only<br>resource as standard!" ) );
426 return; 426 return;
427 } 427 }
428 428
429 if ( !item->isOn() ) { 429 if ( !item->isOn() ) {
430 KMessageBox::sorry( this, i18n( "You cannot use an inactive<br>resource as standard!" ) ); 430 KMessageBox::sorry( this, i18n( "You cannot use an inactive<br>resource as standard!" ) );
431 return; 431 return;
432 } 432 }
433 433
434 QListViewItem *it = mListView->firstChild(); 434 QListViewItem *it = mListView->firstChild();
435 while ( it != 0 ) { 435 while ( it != 0 ) {
436 ConfigViewItem *configItem = static_cast<ConfigViewItem*>( it ); 436 ConfigViewItem *configItem = static_cast<ConfigViewItem*>( it );
437 if ( configItem->standard() ) 437 if ( configItem->standard() )
438 configItem->setStandard( false ); 438 configItem->setStandard( false );
439 it = it->itemBelow(); 439 it = it->itemBelow();
440 } 440 }
441 441
442 item->setStandard( true ); 442 item->setStandard( true );
443 mCurrentManager->setStandardResource( item->resource() ); 443 mCurrentManager->setStandardResource( item->resource() );
444 emit changed( true ); 444 emit changed( true );
445 445
446} 446}
447 447
448void ConfigPage::slotSelectionChanged() 448void ConfigPage::slotSelectionChanged()
449{ 449{
450 bool state = ( mListView->currentItem() != 0 ); 450 bool state = ( mListView->currentItem() != 0 );
451 451
452 mRemoveButton->setEnabled( state ); 452 mRemoveButton->setEnabled( state );
453 mEditButton->setEnabled( state ); 453 mEditButton->setEnabled( state );
454 mStandardButton->setEnabled( state ); 454 mStandardButton->setEnabled( state );
455} 455}
456 456
457void ConfigPage::resourceAdded( Resource* resource ) 457void ConfigPage::resourceAdded( Resource* resource )
458{ 458{
459 qDebug("ConfigPage::resourceAdded : %s", resource->resourceName().latin1()); 459 qDebug("ConfigPage::resourceAdded : %s", resource->resourceName().latin1());
460 kdDebug(5650) << "ConfigPage::resourceAdded( " << resource->resourceName() << " )" << endl;
461 ConfigViewItem *item = new ConfigViewItem( mListView, resource ); 460 ConfigViewItem *item = new ConfigViewItem( mListView, resource );
462 461
463 // FIXME: this sucks. This should be in the config file, 462 // FIXME: this sucks. This should be in the config file,
464 // or application-dependent, in which case it's always Off 463 // or application-dependent, in which case it's always Off
465 item->setOn( false ); 464 item->setOn( false );
466 465
467 mLastItem = item; 466 mLastItem = item;
468 467
469 emit changed( true ); 468 emit changed( true );
470} 469}
471 470
472void ConfigPage::resourceModified( Resource* resource ) 471void ConfigPage::resourceModified( Resource* resource )
473{ 472{
474 qDebug("ConfigPage::resourceModified : %s", resource->resourceName().latin1()); 473 qDebug("ConfigPage::resourceModified : %s", resource->resourceName().latin1());
475 kdDebug(5650) << "ConfigPage::resourceModified( " << resource->resourceName() << " )" << endl;
476} 474}
477 475
478void ConfigPage::resourceDeleted( Resource* resource ) 476void ConfigPage::resourceDeleted( Resource* resource )
479{ 477{
480 qDebug("ConfigPage::resourceDeleted : %s", resource->resourceName().latin1()); 478 qDebug("ConfigPage::resourceDeleted : %s", resource->resourceName().latin1());
481 kdDebug(5650) << "ConfigPage::resourceDeleted( " << resource->resourceName() << " )" << endl;
482} 479}
483 480
484void ConfigPage::slotItemClicked( QListViewItem *item ) 481void ConfigPage::slotItemClicked( QListViewItem *item )
485{ 482{
486 ConfigViewItem *configItem = static_cast<ConfigViewItem *>( item ); 483 ConfigViewItem *configItem = static_cast<ConfigViewItem *>( item );
487 if ( !configItem ) return; 484 if ( !configItem ) return;
488 485
489 if ( configItem->standard() && !configItem->isOn() ) { 486 if ( configItem->standard() && !configItem->isOn() ) {
490 KMessageBox::sorry( this, i18n( "You cannot deactivate the<br>standard resource. Choose<br>another standard resource first." ) ); 487 KMessageBox::sorry( this, i18n( "You cannot deactivate the<br>standard resource. Choose<br>another standard resource first." ) );
491 configItem->setOn( true ); 488 configItem->setOn( true );
492 return; 489 return;
493 } 490 }
494 491
495 if ( configItem->isOn() != configItem->resource()->isActive() ) { 492 if ( configItem->isOn() != configItem->resource()->isActive() ) {
496 emit changed( true ); 493 emit changed( true );
497 } 494 }
498} 495}
499 496
500void ConfigPage::saveResourceSettings() 497void ConfigPage::saveResourceSettings()
501{ 498{
502 qDebug("ConfigPage::saveResourceSettings() begin"); 499 //qDebug("ConfigPage::saveResourceSettings() begin");
503 500
504 if ( mCurrentManager ) { 501 if ( mCurrentManager ) {
505 502
506 QListViewItem *item = mListView->firstChild(); 503 QListViewItem *item = mListView->firstChild();
507 while ( item ) { 504 while ( item ) {
508 ConfigViewItem *configItem = static_cast<ConfigViewItem*>( item ); 505 ConfigViewItem *configItem = static_cast<ConfigViewItem*>( item );
509 506
510 // check if standard resource 507 // check if standard resource
511 if ( configItem->standard() && !configItem->readOnly() && 508 if ( configItem->standard() && !configItem->readOnly() &&
512 configItem->isOn() ) { 509 configItem->isOn() ) {
513 510
514 mCurrentManager->setStandardResource( configItem->resource() ); 511 mCurrentManager->setStandardResource( configItem->resource() );
515 } 512 }
516 513
517 // check if active or passive resource 514 // check if active or passive resource
518 configItem->resource()->setActive( configItem->isOn() ); 515 configItem->resource()->setActive( configItem->isOn() );
519 516
520 item = item->nextSibling(); 517 item = item->nextSibling();
521 } 518 }
522 mCurrentManager->writeConfig( mCurrentConfig ); 519 mCurrentManager->writeConfig( mCurrentConfig );
523 520
524 if ( !mCurrentManager->standardResource() ) 521 if ( !mCurrentManager->standardResource() )
525 KMessageBox::sorry( this, i18n( "There is no valid standard resource!<br>Please select one which is neither read-only nor inactive." ) ); 522 KMessageBox::sorry( this, i18n( "There is no valid standard resource!<br>Please select one which is neither read-only nor inactive." ) );
526 } 523 }
527 524
528 qDebug("ConfigPage::saveResourceSettings() end"); 525 //qDebug("ConfigPage::saveResourceSettings() end");
529 526
530} 527}
531 528
532//US #include "configpage.moc" 529//US #include "configpage.moc"
533 530
diff --git a/microkde/kresources/configwidget.h b/microkde/kresources/configwidget.h
index b97e278..aecdda9 100644
--- a/microkde/kresources/configwidget.h
+++ b/microkde/kresources/configwidget.h
@@ -1,61 +1,61 @@
1/* 1/*
2 This file is part of libkresources. 2 This file is part of libkresources.
3 Copyright (c) 2002 Tobias Koenig <tokoe@kde.org> 3 Copyright (c) 2002 Tobias Koenig <tokoe@kde.org>
4 Copyright (c) 2002 Jan-Pascal van Best <janpascal@vanbest.org> 4 Copyright (c) 2002 Jan-Pascal van Best <janpascal@vanbest.org>
5 5
6 This library is free software; you can redistribute it and/or 6 This library is free software; you can redistribute it and/or
7 modify it under the terms of the GNU Library General Public 7 modify it under the terms of the GNU Library General Public
8 License as published by the Free Software Foundation; either 8 License as published by the Free Software Foundation; either
9 version 2 of the License, or (at your option) any later version. 9 version 2 of the License, or (at your option) any later version.
10 10
11 This library is distributed in the hope that it will be useful, 11 This library is distributed in the hope that it will be useful,
12 but WITHOUT ANY WARRANTY; without even the implied warranty of 12 but WITHOUT ANY WARRANTY; without even the implied warranty of
13 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 13 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
14 Library General Public License for more details. 14 Library General Public License for more details.
15 15
16 You should have received a copy of the GNU Library General Public License 16 You should have received a copy of the GNU Library General Public License
17 along with this library; see the file COPYING.LIB. If not, write to 17 along with this library; see the file COPYING.LIB. If not, write to
18 the Free Software Foundation, Inc., 59 Temple Place - Suite 330, 18 the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
19 Boston, MA 02111-1307, USA. 19 Boston, MA 02111-1307, USA.
20*/ 20*/
21 21
22#ifndef KRESOURCES_CONFIGWIDGET_H 22#ifndef KRESOURCES_CONFIGWIDGET_H
23#define KRESOURCES_CONFIGWIDGET_H 23#define KRESOURCES_CONFIGWIDGET_H
24 24
25#include <qwidget.h> 25#include <qwidget.h>
26 26
27#include <kconfig.h> 27#include <kconfig.h>
28 28
29#include "resource.h" 29#include "resource.h"
30 30
31namespace KRES { 31namespace KRES {
32 32
33class ConfigWidget : public QWidget 33class ConfigWidget : public QWidget
34{ 34{
35 Q_OBJECT 35 Q_OBJECT
36 36
37public: 37public:
38 ConfigWidget( QWidget *parent = 0, const char *name = 0 ); 38 ConfigWidget( QWidget *parent = 0, const char *name = 0 );
39 39
40 /** 40 /**
41 Sets the widget to 'edit' mode. Reimplement this method if you are 41 Sets the widget to 'edit' mode. Reimplement this method if you are
42 interested in the mode change (to disable some GUI element for 42 interested in the mode change (to disable some GUI element for
43 example). By default the widget is in 'create new' mode. 43 example). By default the widget is in 'create new' mode.
44 */ 44 */
45 virtual void setInEditMode( bool value ); 45 virtual void setInEditMode( bool value );
46 46
47public slots: 47public slots:
48 virtual void loadSettings( Resource *resource ); 48 virtual void loadSettings( Resource *resource );
49 virtual void saveSettings( Resource *resource ); 49 virtual void saveSettings( Resource *resource );
50 50
51signals: 51signals:
52 void setReadOnly( bool value ); 52 void setReadOnly( bool value );
53 void setPersistentReadOnly( bool value ); 53 void setPersistentReadOnly( bool value );
54 54 void setIncludeInSync(bool);
55 55
56protected: 56protected:
57 Resource* mResource; 57 Resource* mResource;
58}; 58};
59 59
60} 60}
61#endif 61#endif