author | zautrix <zautrix> | 2005-04-01 09:50:16 (UTC) |
---|---|---|
committer | zautrix <zautrix> | 2005-04-01 09:50:16 (UTC) |
commit | f8e027db1d950ec27a3c47fc2a5ea2fe49ae9772 (patch) (unidiff) | |
tree | 15edcb7a2b053eae5c5391191f71ba5c5c015211 | |
parent | b76ad1e7e329051a47e28c9d132ce3fcd0b25c5c (diff) | |
download | kdepimpi-f8e027db1d950ec27a3c47fc2a5ea2fe49ae9772.zip kdepimpi-f8e027db1d950ec27a3c47fc2a5ea2fe49ae9772.tar.gz kdepimpi-f8e027db1d950ec27a3c47fc2a5ea2fe49ae9772.tar.bz2 |
fixes
-rw-r--r-- | korganizer/calendarview.cpp | 6 | ||||
-rw-r--r-- | korganizer/kodialogmanager.cpp | 4 | ||||
-rw-r--r-- | korganizer/koprefs.h | 11 | ||||
-rw-r--r-- | korganizer/koviewmanager.cpp | 20 | ||||
-rw-r--r-- | korganizer/mainwindow.cpp | 1 | ||||
-rw-r--r-- | korganizer/searchdialog.cpp | 47 | ||||
-rw-r--r-- | korganizer/searchdialog.h | 1 | ||||
-rw-r--r-- | microkde/KDGanttMinimizeSplitter.cpp | 7 | ||||
-rw-r--r-- | microkde/kapplication.cpp | 15 | ||||
-rw-r--r-- | microkde/kapplication.h | 1 | ||||
-rw-r--r-- | microkde/kresources/factory.cpp | 6 |
11 files changed, 100 insertions, 19 deletions
diff --git a/korganizer/calendarview.cpp b/korganizer/calendarview.cpp index 1e83236..beb19d9 100644 --- a/korganizer/calendarview.cpp +++ b/korganizer/calendarview.cpp | |||
@@ -1714,286 +1714,290 @@ bool CalendarView::checkFileChanged(QString fn) | |||
1714 | void CalendarView::watchSavedFile() | 1714 | void CalendarView::watchSavedFile() |
1715 | { | 1715 | { |
1716 | QFileInfo finf ( MainWindow::defaultFileName()); | 1716 | QFileInfo finf ( MainWindow::defaultFileName()); |
1717 | if ( !finf.exists() ) | 1717 | if ( !finf.exists() ) |
1718 | return; | 1718 | return; |
1719 | QDateTime dt = finf.lastModified (); | 1719 | QDateTime dt = finf.lastModified (); |
1720 | if ( dt < loadedFileVersion ) { | 1720 | if ( dt < loadedFileVersion ) { |
1721 | //qDebug("watch %s %s ", dt.toString().latin1(), loadedFileVersion.toString().latin1()); | 1721 | //qDebug("watch %s %s ", dt.toString().latin1(), loadedFileVersion.toString().latin1()); |
1722 | QTimer::singleShot( 1000 , this, SLOT ( watchSavedFile() ) ); | 1722 | QTimer::singleShot( 1000 , this, SLOT ( watchSavedFile() ) ); |
1723 | return; | 1723 | return; |
1724 | } | 1724 | } |
1725 | loadedFileVersion = dt; | 1725 | loadedFileVersion = dt; |
1726 | } | 1726 | } |
1727 | 1727 | ||
1728 | bool CalendarView::checkFileVersion(QString fn) | 1728 | bool CalendarView::checkFileVersion(QString fn) |
1729 | { | 1729 | { |
1730 | QFileInfo finf ( fn ); | 1730 | QFileInfo finf ( fn ); |
1731 | if ( !finf.exists() ) | 1731 | if ( !finf.exists() ) |
1732 | return true; | 1732 | return true; |
1733 | QDateTime dt = finf.lastModified (); | 1733 | QDateTime dt = finf.lastModified (); |
1734 | //qDebug("loaded file version %s",loadedFileVersion.toString().latin1()); | 1734 | //qDebug("loaded file version %s",loadedFileVersion.toString().latin1()); |
1735 | //qDebug("file on disk version %s",dt.toString().latin1()); | 1735 | //qDebug("file on disk version %s",dt.toString().latin1()); |
1736 | if ( dt <= loadedFileVersion ) | 1736 | if ( dt <= loadedFileVersion ) |
1737 | return true; | 1737 | return true; |
1738 | int km = KMessageBox::warningYesNoCancel(this, i18n("\nThe file on disk has changed!\nFile size: %1 bytes.\nLast modified: %2\nDo you want to:\n\n - Save and overwrite file?\n - Sync with file, then save?\n - Cancel without saving? \n").arg( QString::number( finf.size())).arg( KGlobal::locale()->formatDateTime(finf.lastModified (), true, true)) , | 1738 | int km = KMessageBox::warningYesNoCancel(this, i18n("\nThe file on disk has changed!\nFile size: %1 bytes.\nLast modified: %2\nDo you want to:\n\n - Save and overwrite file?\n - Sync with file, then save?\n - Cancel without saving? \n").arg( QString::number( finf.size())).arg( KGlobal::locale()->formatDateTime(finf.lastModified (), true, true)) , |
1739 | i18n("KO/Pi Warning"),i18n("Overwrite"), | 1739 | i18n("KO/Pi Warning"),i18n("Overwrite"), |
1740 | i18n("Sync+save")); | 1740 | i18n("Sync+save")); |
1741 | 1741 | ||
1742 | if ( km == KMessageBox::Cancel ) | 1742 | if ( km == KMessageBox::Cancel ) |
1743 | return false; | 1743 | return false; |
1744 | if ( km == KMessageBox::Yes ) | 1744 | if ( km == KMessageBox::Yes ) |
1745 | return true; | 1745 | return true; |
1746 | 1746 | ||
1747 | setSyncDevice("deleteaftersync" ); | 1747 | setSyncDevice("deleteaftersync" ); |
1748 | mSyncManager->mAskForPreferences = true; | 1748 | mSyncManager->mAskForPreferences = true; |
1749 | mSyncManager->mSyncAlgoPrefs = 3; | 1749 | mSyncManager->mSyncAlgoPrefs = 3; |
1750 | mSyncManager->mWriteBackFile = false; | 1750 | mSyncManager->mWriteBackFile = false; |
1751 | mSyncManager->mWriteBackExistingOnly = false; | 1751 | mSyncManager->mWriteBackExistingOnly = false; |
1752 | mSyncManager->mShowSyncSummary = false; | 1752 | mSyncManager->mShowSyncSummary = false; |
1753 | syncCalendar( fn, 3 ); | 1753 | syncCalendar( fn, 3 ); |
1754 | Event * e = getLastSyncEvent(); | 1754 | Event * e = getLastSyncEvent(); |
1755 | mCalendar->deleteEvent ( e ); | 1755 | mCalendar->deleteEvent ( e ); |
1756 | updateView(); | 1756 | updateView(); |
1757 | return true; | 1757 | return true; |
1758 | } | 1758 | } |
1759 | 1759 | ||
1760 | bool CalendarView::saveCalendar( QString filename ) | 1760 | bool CalendarView::saveCalendar( QString filename ) |
1761 | { | 1761 | { |
1762 | 1762 | ||
1763 | // Store back all unsaved data into calendar object | 1763 | // Store back all unsaved data into calendar object |
1764 | // qDebug("file %s %d ", filename.latin1() , mViewManager->currentView() ); | 1764 | // qDebug("file %s %d ", filename.latin1() , mViewManager->currentView() ); |
1765 | if ( mViewManager->currentView() ) | 1765 | if ( mViewManager->currentView() ) |
1766 | mViewManager->currentView()->flushView(); | 1766 | mViewManager->currentView()->flushView(); |
1767 | 1767 | ||
1768 | 1768 | ||
1769 | QDateTime lfv = QDateTime::currentDateTime().addSecs( -2); | 1769 | QDateTime lfv = QDateTime::currentDateTime().addSecs( -2); |
1770 | mStorage->setSaveFormat( new ICalFormat() ); | 1770 | mStorage->setSaveFormat( new ICalFormat() ); |
1771 | mStorage->setFileName( filename ); | 1771 | mStorage->setFileName( filename ); |
1772 | bool success; | 1772 | bool success; |
1773 | success = mStorage->save(); | 1773 | success = mStorage->save(); |
1774 | if ( !success ) { | 1774 | if ( !success ) { |
1775 | return false; | 1775 | return false; |
1776 | } | 1776 | } |
1777 | if ( filename == MainWindow::defaultFileName() ) { | 1777 | if ( filename == MainWindow::defaultFileName() ) { |
1778 | setLoadedFileVersion( lfv ); | 1778 | setLoadedFileVersion( lfv ); |
1779 | watchSavedFile(); | 1779 | watchSavedFile(); |
1780 | } | 1780 | } |
1781 | return true; | 1781 | return true; |
1782 | } | 1782 | } |
1783 | 1783 | ||
1784 | void CalendarView::closeCalendar() | 1784 | void CalendarView::closeCalendar() |
1785 | { | 1785 | { |
1786 | 1786 | ||
1787 | // child windows no longer valid | 1787 | // child windows no longer valid |
1788 | emit closingDown(); | 1788 | emit closingDown(); |
1789 | 1789 | ||
1790 | mCalendar->close(); | 1790 | mCalendar->close(); |
1791 | setModified(false); | 1791 | setModified(false); |
1792 | updateView(); | 1792 | updateView(); |
1793 | } | 1793 | } |
1794 | 1794 | ||
1795 | void CalendarView::archiveCalendar() | 1795 | void CalendarView::archiveCalendar() |
1796 | { | 1796 | { |
1797 | mDialogManager->showArchiveDialog(); | 1797 | mDialogManager->showArchiveDialog(); |
1798 | } | 1798 | } |
1799 | 1799 | ||
1800 | 1800 | ||
1801 | void CalendarView::readSettings() | 1801 | void CalendarView::readSettings() |
1802 | { | 1802 | { |
1803 | 1803 | ||
1804 | 1804 | ||
1805 | // mViewManager->showAgendaView(); | 1805 | // mViewManager->showAgendaView(); |
1806 | QString str; | 1806 | QString str; |
1807 | //qDebug("CalendarView::readSettings() "); | 1807 | //qDebug("CalendarView::readSettings() "); |
1808 | // read settings from the KConfig, supplying reasonable | 1808 | // read settings from the KConfig, supplying reasonable |
1809 | // defaults where none are to be found | 1809 | // defaults where none are to be found |
1810 | KConfig *config = KOGlobals::config(); | 1810 | KConfig *config = KOGlobals::config(); |
1811 | #ifndef KORG_NOSPLITTER | 1811 | #ifndef KORG_NOSPLITTER |
1812 | config->setGroup("KOrganizer Geometry"); | 1812 | config->setGroup("KOrganizer Geometry"); |
1813 | 1813 | ||
1814 | QValueList<int> sizes = config->readIntListEntry("Separator1"); | 1814 | QValueList<int> sizes = config->readIntListEntry("Separator1"); |
1815 | if (sizes.count() != 2) { | 1815 | if (sizes.count() != 2) { |
1816 | sizes << mDateNavigator->minimumSizeHint().width(); | 1816 | sizes << mDateNavigator->minimumSizeHint().width(); |
1817 | sizes << 300; | 1817 | sizes << 300; |
1818 | } | 1818 | } |
1819 | mPanner->setSizes(sizes); | 1819 | mPanner->setSizes(sizes); |
1820 | 1820 | ||
1821 | sizes = config->readIntListEntry("Separator2"); | 1821 | sizes = config->readIntListEntry("Separator2"); |
1822 | if ( ( mResourceView && sizes.count() == 4 ) || | 1822 | if ( ( mResourceView && sizes.count() == 4 ) || |
1823 | ( !mResourceView && sizes.count() == 3 ) ) { | 1823 | ( !mResourceView && sizes.count() == 3 ) ) { |
1824 | mLeftSplitter->setSizes(sizes); | 1824 | mLeftSplitter->setSizes(sizes); |
1825 | } | 1825 | } |
1826 | #endif | 1826 | #endif |
1827 | globalFlagBlockAgenda = 1; | 1827 | globalFlagBlockAgenda = 1; |
1828 | mViewManager->showAgendaView(); | 1828 | mViewManager->showAgendaView(); |
1829 | //mViewManager->readSettings( config ); | 1829 | //mViewManager->readSettings( config ); |
1830 | mTodoList->restoreLayout(config,QString("Todo Layout")); | 1830 | mTodoList->restoreLayout(config,QString("Todo Layout")); |
1831 | readFilterSettings(config); | 1831 | readFilterSettings(config); |
1832 | 1832 | ||
1833 | #ifdef DESKTOP_VERSION | 1833 | #ifdef DESKTOP_VERSION |
1834 | config->setGroup("WidgetLayout"); | 1834 | config->setGroup("WidgetLayout"); |
1835 | QStringList list; | 1835 | QStringList list; |
1836 | list = config->readListEntry("MainLayout"); | 1836 | list = config->readListEntry("MainLayout"); |
1837 | int x,y,w,h; | 1837 | int x,y,w,h; |
1838 | if ( ! list.isEmpty() ) { | 1838 | if ( ! list.isEmpty() ) { |
1839 | x = list[0].toInt(); | 1839 | x = list[0].toInt(); |
1840 | y = list[1].toInt(); | 1840 | y = list[1].toInt(); |
1841 | w = list[2].toInt(); | 1841 | w = list[2].toInt(); |
1842 | h = list[3].toInt(); | 1842 | h = list[3].toInt(); |
1843 | KApplication::testCoords( &x,&y,&w,&h ); | ||
1843 | topLevelWidget()->setGeometry(x,y,w,h); | 1844 | topLevelWidget()->setGeometry(x,y,w,h); |
1844 | 1845 | ||
1845 | } else { | 1846 | } else { |
1846 | topLevelWidget()->setGeometry( 40 ,40 , 640, 440); | 1847 | topLevelWidget()->setGeometry( 40 ,40 , 640, 440); |
1847 | } | 1848 | } |
1848 | list = config->readListEntry("EditEventLayout"); | 1849 | list = config->readListEntry("EditEventLayout"); |
1849 | if ( ! list.isEmpty() ) { | 1850 | if ( ! list.isEmpty() ) { |
1850 | x = list[0].toInt(); | 1851 | x = list[0].toInt(); |
1851 | y = list[1].toInt(); | 1852 | y = list[1].toInt(); |
1852 | w = list[2].toInt(); | 1853 | w = list[2].toInt(); |
1853 | h = list[3].toInt(); | 1854 | h = list[3].toInt(); |
1855 | KApplication::testCoords( &x,&y,&w,&h ); | ||
1854 | mEventEditor->setGeometry(x,y,w,h); | 1856 | mEventEditor->setGeometry(x,y,w,h); |
1855 | 1857 | ||
1856 | } | 1858 | } |
1857 | list = config->readListEntry("EditTodoLayout"); | 1859 | list = config->readListEntry("EditTodoLayout"); |
1858 | if ( ! list.isEmpty() ) { | 1860 | if ( ! list.isEmpty() ) { |
1859 | x = list[0].toInt(); | 1861 | x = list[0].toInt(); |
1860 | y = list[1].toInt(); | 1862 | y = list[1].toInt(); |
1861 | w = list[2].toInt(); | 1863 | w = list[2].toInt(); |
1862 | h = list[3].toInt(); | 1864 | h = list[3].toInt(); |
1865 | KApplication::testCoords( &x,&y,&w,&h ); | ||
1863 | mTodoEditor->setGeometry(x,y,w,h); | 1866 | mTodoEditor->setGeometry(x,y,w,h); |
1864 | 1867 | ||
1865 | } | 1868 | } |
1866 | list = config->readListEntry("ViewerLayout"); | 1869 | list = config->readListEntry("ViewerLayout"); |
1867 | if ( ! list.isEmpty() ) { | 1870 | if ( ! list.isEmpty() ) { |
1868 | x = list[0].toInt(); | 1871 | x = list[0].toInt(); |
1869 | y = list[1].toInt(); | 1872 | y = list[1].toInt(); |
1870 | w = list[2].toInt(); | 1873 | w = list[2].toInt(); |
1871 | h = list[3].toInt(); | 1874 | h = list[3].toInt(); |
1875 | KApplication::testCoords( &x,&y,&w,&h ); | ||
1872 | getEventViewerDialog()->setGeometry(x,y,w,h); | 1876 | getEventViewerDialog()->setGeometry(x,y,w,h); |
1873 | } | 1877 | } |
1874 | #endif | 1878 | #endif |
1875 | config->setGroup( "Views" ); | 1879 | config->setGroup( "Views" ); |
1876 | int dateCount = config->readNumEntry( "ShownDatesCount", 7 ); | 1880 | int dateCount = config->readNumEntry( "ShownDatesCount", 7 ); |
1877 | 1881 | ||
1878 | QValueList<int> sizes = config->readIntListEntry("Left Splitter Frame"); | 1882 | QValueList<int> sizes = config->readIntListEntry("Left Splitter Frame"); |
1879 | 1883 | ||
1880 | int resetval = 0; | 1884 | int resetval = 0; |
1881 | int maxVal = 0; | 1885 | int maxVal = 0; |
1882 | if (sizes.count() != 3) { | 1886 | if (sizes.count() != 3) { |
1883 | if ( KOPrefs::instance()->mVerticalScreen ) { | 1887 | if ( KOPrefs::instance()->mVerticalScreen ) { |
1884 | resetval = mDateNavigator->sizeHint().width()+2; | 1888 | resetval = mDateNavigator->sizeHint().width()+2; |
1885 | } else { | 1889 | } else { |
1886 | resetval = mDateNavigator->sizeHint().height()+2; | 1890 | resetval = mDateNavigator->sizeHint().height()+2; |
1887 | } | 1891 | } |
1888 | } | 1892 | } |
1889 | if ( resetval ) { | 1893 | if ( resetval ) { |
1890 | sizes.clear(); | 1894 | sizes.clear(); |
1891 | if ( KOPrefs::instance()->mVerticalScreen ) { | 1895 | if ( KOPrefs::instance()->mVerticalScreen ) { |
1892 | maxVal = QApplication::desktop()->width() -10; | 1896 | maxVal = QApplication::desktop()->width() -10; |
1893 | } else { | 1897 | } else { |
1894 | maxVal = QApplication::desktop()->height()-10; | 1898 | maxVal = QApplication::desktop()->height()-10; |
1895 | } | 1899 | } |
1896 | sizes << resetval; | 1900 | sizes << resetval; |
1897 | if ( maxVal < resetval + resetval) | 1901 | if ( maxVal < resetval + resetval) |
1898 | resetval = maxVal - resetval; | 1902 | resetval = maxVal - resetval; |
1899 | sizes << resetval; | 1903 | sizes << resetval; |
1900 | sizes << 100; | 1904 | sizes << 100; |
1901 | } | 1905 | } |
1902 | mLeftFrame->setSizes(sizes); | 1906 | mLeftFrame->setSizes(sizes); |
1903 | sizes = config->readIntListEntry("Main Splitter Frame"); | 1907 | sizes = config->readIntListEntry("Main Splitter Frame"); |
1904 | resetval = 0; | 1908 | resetval = 0; |
1905 | maxVal = 0; | 1909 | maxVal = 0; |
1906 | if (sizes.count() != 2) { | 1910 | if (sizes.count() != 2) { |
1907 | if ( !KOPrefs::instance()->mVerticalScreen ) { | 1911 | if ( !KOPrefs::instance()->mVerticalScreen ) { |
1908 | resetval = mDateNavigator->sizeHint().width()+2; | 1912 | resetval = mDateNavigator->sizeHint().width()+2; |
1909 | } else { | 1913 | } else { |
1910 | resetval = mDateNavigator->sizeHint().height()+2; | 1914 | resetval = mDateNavigator->sizeHint().height()+2; |
1911 | } | 1915 | } |
1912 | } | 1916 | } |
1913 | if ( resetval ) { | 1917 | if ( resetval ) { |
1914 | sizes.clear(); | 1918 | sizes.clear(); |
1915 | if ( !KOPrefs::instance()->mVerticalScreen ) { | 1919 | if ( !KOPrefs::instance()->mVerticalScreen ) { |
1916 | maxVal = QApplication::desktop()->width() -10; | 1920 | maxVal = QApplication::desktop()->width() -10; |
1917 | } else { | 1921 | } else { |
1918 | maxVal = QApplication::desktop()->height()-10; | 1922 | maxVal = QApplication::desktop()->height()-10; |
1919 | } | 1923 | } |
1920 | sizes << resetval; | 1924 | sizes << resetval; |
1921 | if ( maxVal < resetval + resetval) | 1925 | if ( maxVal < resetval + resetval) |
1922 | resetval = maxVal - resetval; | 1926 | resetval = maxVal - resetval; |
1923 | sizes << resetval; | 1927 | sizes << resetval; |
1924 | } | 1928 | } |
1925 | mMainFrame->setSizes(sizes); | 1929 | mMainFrame->setSizes(sizes); |
1926 | if ( dateCount == 5 ) mNavigator->selectWorkWeek(); | 1930 | if ( dateCount == 5 ) mNavigator->selectWorkWeek(); |
1927 | else if ( dateCount == 7 ) mNavigator->selectWeek(); | 1931 | else if ( dateCount == 7 ) mNavigator->selectWeek(); |
1928 | else mNavigator->selectDates( dateCount ); | 1932 | else mNavigator->selectDates( dateCount ); |
1929 | // mViewManager->readSettings( config ); | 1933 | // mViewManager->readSettings( config ); |
1930 | updateConfig(); | 1934 | updateConfig(); |
1931 | globalFlagBlockAgenda = 2; | 1935 | globalFlagBlockAgenda = 2; |
1932 | mViewManager->readSettings( config ); | 1936 | mViewManager->readSettings( config ); |
1933 | QTimer::singleShot( 1, mDateNavigator, SLOT ( setResizeEnabled() ) ); | 1937 | QTimer::singleShot( 1, mDateNavigator, SLOT ( setResizeEnabled() ) ); |
1934 | } | 1938 | } |
1935 | 1939 | ||
1936 | 1940 | ||
1937 | void CalendarView::writeSettings() | 1941 | void CalendarView::writeSettings() |
1938 | { | 1942 | { |
1939 | // kdDebug() << "CalendarView::writeSettings" << endl; | 1943 | // kdDebug() << "CalendarView::writeSettings" << endl; |
1940 | 1944 | ||
1941 | KConfig *config = KOGlobals::config(); | 1945 | KConfig *config = KOGlobals::config(); |
1942 | 1946 | ||
1943 | mViewManager->writeSettings( config ); | 1947 | mViewManager->writeSettings( config ); |
1944 | mTodoList->saveLayout(config,QString("Todo Layout")); | 1948 | mTodoList->saveLayout(config,QString("Todo Layout")); |
1945 | mDialogManager->writeSettings( config ); | 1949 | mDialogManager->writeSettings( config ); |
1946 | //KOPrefs::instance()->usrWriteConfig(); | 1950 | //KOPrefs::instance()->usrWriteConfig(); |
1947 | KOPrefs::instance()->writeConfig(); | 1951 | KOPrefs::instance()->writeConfig(); |
1948 | 1952 | ||
1949 | writeFilterSettings(config); | 1953 | writeFilterSettings(config); |
1950 | 1954 | ||
1951 | config->setGroup( "Views" ); | 1955 | config->setGroup( "Views" ); |
1952 | config->writeEntry( "ShownDatesCount", mNavigator->selectedDates().count() ); | 1956 | config->writeEntry( "ShownDatesCount", mNavigator->selectedDates().count() ); |
1953 | 1957 | ||
1954 | QValueList<int> listINT = mLeftFrame->sizes(); | 1958 | QValueList<int> listINT = mLeftFrame->sizes(); |
1955 | config->writeEntry("Left Splitter Frame",listINT); | 1959 | config->writeEntry("Left Splitter Frame",listINT); |
1956 | QValueList<int> listINT2 = mMainFrame->sizes(); | 1960 | QValueList<int> listINT2 = mMainFrame->sizes(); |
1957 | config->writeEntry("Main Splitter Frame",listINT2); | 1961 | config->writeEntry("Main Splitter Frame",listINT2); |
1958 | #ifdef DESKTOP_VERSION | 1962 | #ifdef DESKTOP_VERSION |
1959 | config->setGroup("WidgetLayout"); | 1963 | config->setGroup("WidgetLayout"); |
1960 | QStringList list ;//= config->readListEntry("MainLayout"); | 1964 | QStringList list ;//= config->readListEntry("MainLayout"); |
1961 | int x,y,w,h; | 1965 | int x,y,w,h; |
1962 | QWidget* wid; | 1966 | QWidget* wid; |
1963 | wid = topLevelWidget(); | 1967 | wid = topLevelWidget(); |
1964 | x = wid->geometry().x(); | 1968 | x = wid->geometry().x(); |
1965 | y = wid->geometry().y(); | 1969 | y = wid->geometry().y(); |
1966 | w = wid->width(); | 1970 | w = wid->width(); |
1967 | h = wid->height(); | 1971 | h = wid->height(); |
1968 | list.clear(); | 1972 | list.clear(); |
1969 | list << QString::number( x ); | 1973 | list << QString::number( x ); |
1970 | list << QString::number( y ); | 1974 | list << QString::number( y ); |
1971 | list << QString::number( w ); | 1975 | list << QString::number( w ); |
1972 | list << QString::number( h ); | 1976 | list << QString::number( h ); |
1973 | config->writeEntry("MainLayout",list ); | 1977 | config->writeEntry("MainLayout",list ); |
1974 | 1978 | ||
1975 | wid = mEventEditor; | 1979 | wid = mEventEditor; |
1976 | x = wid->geometry().x(); | 1980 | x = wid->geometry().x(); |
1977 | y = wid->geometry().y(); | 1981 | y = wid->geometry().y(); |
1978 | w = wid->width(); | 1982 | w = wid->width(); |
1979 | h = wid->height(); | 1983 | h = wid->height(); |
1980 | list.clear(); | 1984 | list.clear(); |
1981 | list << QString::number( x ); | 1985 | list << QString::number( x ); |
1982 | list << QString::number( y ); | 1986 | list << QString::number( y ); |
1983 | list << QString::number( w ); | 1987 | list << QString::number( w ); |
1984 | list << QString::number( h ); | 1988 | list << QString::number( h ); |
1985 | config->writeEntry("EditEventLayout",list ); | 1989 | config->writeEntry("EditEventLayout",list ); |
1986 | 1990 | ||
1987 | wid = mTodoEditor; | 1991 | wid = mTodoEditor; |
1988 | x = wid->geometry().x(); | 1992 | x = wid->geometry().x(); |
1989 | y = wid->geometry().y(); | 1993 | y = wid->geometry().y(); |
1990 | w = wid->width(); | 1994 | w = wid->width(); |
1991 | h = wid->height(); | 1995 | h = wid->height(); |
1992 | list.clear(); | 1996 | list.clear(); |
1993 | list << QString::number( x ); | 1997 | list << QString::number( x ); |
1994 | list << QString::number( y ); | 1998 | list << QString::number( y ); |
1995 | list << QString::number( w ); | 1999 | list << QString::number( w ); |
1996 | list << QString::number( h ); | 2000 | list << QString::number( h ); |
1997 | config->writeEntry("EditTodoLayout",list ); | 2001 | config->writeEntry("EditTodoLayout",list ); |
1998 | wid = getEventViewerDialog(); | 2002 | wid = getEventViewerDialog(); |
1999 | x = wid->geometry().x(); | 2003 | x = wid->geometry().x(); |
diff --git a/korganizer/kodialogmanager.cpp b/korganizer/kodialogmanager.cpp index a8652ea..c927b37 100644 --- a/korganizer/kodialogmanager.cpp +++ b/korganizer/kodialogmanager.cpp | |||
@@ -1,348 +1,350 @@ | |||
1 | /* | 1 | /* |
2 | This file is part of KOrganizer. | 2 | This file is part of KOrganizer. |
3 | 3 | ||
4 | Copyright (c) 2001 | 4 | Copyright (c) 2001 |
5 | Cornelius Schumacher <schumacher@kde.org> | 5 | Cornelius Schumacher <schumacher@kde.org> |
6 | 6 | ||
7 | This program is free software; you can redistribute it and/or modify | 7 | This program is free software; you can redistribute it and/or modify |
8 | it under the terms of the GNU General Public License as published by | 8 | it under the terms of the GNU General Public License as published by |
9 | the Free Software Foundation; either version 2 of the License, or | 9 | the Free Software Foundation; either version 2 of the License, or |
10 | (at your option) any later version. | 10 | (at your option) any later version. |
11 | 11 | ||
12 | This program is distributed in the hope that it will be useful, | 12 | This program is distributed in the hope that it will be useful, |
13 | but WITHOUT ANY WARRANTY; without even the implied warranty of | 13 | but WITHOUT ANY WARRANTY; without even the implied warranty of |
14 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.See the | 14 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.See the |
15 | GNU General Public License for more details. | 15 | GNU General Public License for more details. |
16 | 16 | ||
17 | You should have received a copy of the GNU General Public License | 17 | You should have received a copy of the GNU General Public License |
18 | along with this program; if not, write to the Free Software | 18 | along with this program; if not, write to the Free Software |
19 | Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. | 19 | Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. |
20 | */ | 20 | */ |
21 | 21 | ||
22 | #include <libkdepim/categoryeditdialog.h> | 22 | #include <libkdepim/categoryeditdialog.h> |
23 | 23 | ||
24 | #include "calendarview.h" | 24 | #include "calendarview.h" |
25 | #include "incomingdialog.h" | 25 | #include "incomingdialog.h" |
26 | #include "outgoingdialog.h" | 26 | #include "outgoingdialog.h" |
27 | #include "koprefsdialog.h" | 27 | #include "koprefsdialog.h" |
28 | #include "koeventeditor.h" | 28 | #include "koeventeditor.h" |
29 | #include "koprefs.h" | 29 | #include "koprefs.h" |
30 | #include "datenavigator.h" | 30 | #include "datenavigator.h" |
31 | #include "kotodoeditor.h" | 31 | #include "kotodoeditor.h" |
32 | #include "searchdialog.h" | 32 | #include "searchdialog.h" |
33 | #include "filtereditdialog.h" | 33 | #include "filtereditdialog.h" |
34 | #ifndef KORG_NOPLUGINS | 34 | #ifndef KORG_NOPLUGINS |
35 | #include "plugindialog.h" | 35 | #include "plugindialog.h" |
36 | #endif | 36 | #endif |
37 | #ifndef KORG_NOARCHIVE | 37 | #ifndef KORG_NOARCHIVE |
38 | #include "archivedialog.h" | 38 | #include "archivedialog.h" |
39 | #endif | 39 | #endif |
40 | 40 | ||
41 | #include "kconfig.h" | 41 | #include "kconfig.h" |
42 | #include "kodialogmanager.h" | 42 | #include "kodialogmanager.h" |
43 | #include <kapplication.h> | ||
43 | 44 | ||
44 | KODialogManager::KODialogManager( CalendarView *mainView ) : | 45 | KODialogManager::KODialogManager( CalendarView *mainView ) : |
45 | QObject(), mMainView( mainView ) | 46 | QObject(), mMainView( mainView ) |
46 | { | 47 | { |
47 | mOutgoingDialog = 0; | 48 | mOutgoingDialog = 0; |
48 | mIncomingDialog = 0; | 49 | mIncomingDialog = 0; |
49 | mOptionsDialog = 0; | 50 | mOptionsDialog = 0; |
50 | mSearchDialog = 0; | 51 | mSearchDialog = 0; |
51 | mArchiveDialog = 0; | 52 | mArchiveDialog = 0; |
52 | mFilterEditDialog = 0; | 53 | mFilterEditDialog = 0; |
53 | mPluginDialog = 0; | 54 | mPluginDialog = 0; |
54 | 55 | ||
55 | // mCategoryEditDialog = new KPIM::CategoryEditDialog(KOPrefs::instance(),mMainView); | 56 | // mCategoryEditDialog = new KPIM::CategoryEditDialog(KOPrefs::instance(),mMainView); |
56 | //KOGlobals::fitDialogToScreen( mCategoryEditDialog ); | 57 | //KOGlobals::fitDialogToScreen( mCategoryEditDialog ); |
57 | } | 58 | } |
58 | 59 | ||
59 | KODialogManager::~KODialogManager() | 60 | KODialogManager::~KODialogManager() |
60 | { | 61 | { |
61 | delete mOutgoingDialog; | 62 | delete mOutgoingDialog; |
62 | delete mIncomingDialog; | 63 | delete mIncomingDialog; |
63 | delete mOptionsDialog; | 64 | delete mOptionsDialog; |
64 | delete mSearchDialog; | 65 | delete mSearchDialog; |
65 | #ifndef KORG_NOARCHIVE | 66 | #ifndef KORG_NOARCHIVE |
66 | delete mArchiveDialog; | 67 | delete mArchiveDialog; |
67 | #endif | 68 | #endif |
68 | delete mFilterEditDialog; | 69 | delete mFilterEditDialog; |
69 | #ifndef KORG_NOPLUGINS | 70 | #ifndef KORG_NOPLUGINS |
70 | delete mPluginDialog; | 71 | delete mPluginDialog; |
71 | #endif | 72 | #endif |
72 | } | 73 | } |
73 | 74 | ||
74 | OutgoingDialog *KODialogManager::outgoingDialog() | 75 | OutgoingDialog *KODialogManager::outgoingDialog() |
75 | { | 76 | { |
76 | createOutgoingDialog(); | 77 | createOutgoingDialog(); |
77 | return mOutgoingDialog; | 78 | return mOutgoingDialog; |
78 | } | 79 | } |
79 | 80 | ||
80 | void KODialogManager::createOutgoingDialog() | 81 | void KODialogManager::createOutgoingDialog() |
81 | { | 82 | { |
82 | if (!mOutgoingDialog) { | 83 | if (!mOutgoingDialog) { |
83 | mOutgoingDialog = new OutgoingDialog(mMainView->calendar(),mMainView); | 84 | mOutgoingDialog = new OutgoingDialog(mMainView->calendar(),mMainView); |
84 | if (mIncomingDialog) mIncomingDialog->setOutgoingDialog(mOutgoingDialog); | 85 | if (mIncomingDialog) mIncomingDialog->setOutgoingDialog(mOutgoingDialog); |
85 | connect(mOutgoingDialog,SIGNAL(numMessagesChanged(int)), | 86 | connect(mOutgoingDialog,SIGNAL(numMessagesChanged(int)), |
86 | mMainView,SIGNAL(numOutgoingChanged(int))); | 87 | mMainView,SIGNAL(numOutgoingChanged(int))); |
87 | } | 88 | } |
88 | } | 89 | } |
89 | 90 | ||
90 | void KODialogManager::showOptionsDialog( bool showSync ) | 91 | void KODialogManager::showOptionsDialog( bool showSync ) |
91 | { | 92 | { |
92 | 93 | ||
93 | if (!mOptionsDialog) { | 94 | if (!mOptionsDialog) { |
94 | mOptionsDialog = new KOPrefsDialog(mMainView); | 95 | mOptionsDialog = new KOPrefsDialog(mMainView); |
95 | //mOptionsDialog->readConfig(); | 96 | //mOptionsDialog->readConfig(); |
96 | connect(mOptionsDialog,SIGNAL(configChanged()), | 97 | connect(mOptionsDialog,SIGNAL(configChanged()), |
97 | mMainView,SLOT(updateConfig())); | 98 | mMainView,SLOT(updateConfig())); |
98 | //connect(mCategoryEditDialog,SIGNAL(categoryConfigChanged()), | 99 | //connect(mCategoryEditDialog,SIGNAL(categoryConfigChanged()), |
99 | // mOptionsDialog,SLOT(updateCategories())); | 100 | // mOptionsDialog,SLOT(updateCategories())); |
100 | 101 | ||
101 | } | 102 | } |
102 | mOptionsDialog->readConfig(); | 103 | mOptionsDialog->readConfig(); |
103 | #ifndef DESKTOP_VERSION | 104 | #ifndef DESKTOP_VERSION |
104 | mOptionsDialog->showMaximized(); | 105 | mOptionsDialog->showMaximized(); |
105 | #else | 106 | #else |
106 | mOptionsDialog->show(); | 107 | mOptionsDialog->show(); |
107 | #endif | 108 | #endif |
108 | if ( showSync ) | 109 | if ( showSync ) |
109 | mOptionsDialog->showSyncPage(); | 110 | mOptionsDialog->showSyncPage(); |
110 | mOptionsDialog->exec(); | 111 | mOptionsDialog->exec(); |
111 | 112 | ||
112 | } | 113 | } |
113 | void KODialogManager::showSyncOptions() | 114 | void KODialogManager::showSyncOptions() |
114 | { | 115 | { |
115 | showOptionsDialog( true ); | 116 | showOptionsDialog( true ); |
116 | 117 | ||
117 | } | 118 | } |
118 | void KODialogManager::showOutgoingDialog() | 119 | void KODialogManager::showOutgoingDialog() |
119 | { | 120 | { |
120 | createOutgoingDialog(); | 121 | createOutgoingDialog(); |
121 | mOutgoingDialog->show(); | 122 | mOutgoingDialog->show(); |
122 | mOutgoingDialog->raise(); | 123 | mOutgoingDialog->raise(); |
123 | } | 124 | } |
124 | 125 | ||
125 | IncomingDialog *KODialogManager::incomingDialog() | 126 | IncomingDialog *KODialogManager::incomingDialog() |
126 | { | 127 | { |
127 | createOutgoingDialog(); | 128 | createOutgoingDialog(); |
128 | if (!mIncomingDialog) { | 129 | if (!mIncomingDialog) { |
129 | mIncomingDialog = new IncomingDialog(mMainView->calendar(),mOutgoingDialog,mMainView); | 130 | mIncomingDialog = new IncomingDialog(mMainView->calendar(),mOutgoingDialog,mMainView); |
130 | connect(mIncomingDialog,SIGNAL(numMessagesChanged(int)), | 131 | connect(mIncomingDialog,SIGNAL(numMessagesChanged(int)), |
131 | mMainView,SIGNAL(numIncomingChanged(int))); | 132 | mMainView,SIGNAL(numIncomingChanged(int))); |
132 | connect(mIncomingDialog,SIGNAL(calendarUpdated()), | 133 | connect(mIncomingDialog,SIGNAL(calendarUpdated()), |
133 | mMainView,SLOT(updateView())); | 134 | mMainView,SLOT(updateView())); |
134 | } | 135 | } |
135 | return mIncomingDialog; | 136 | return mIncomingDialog; |
136 | } | 137 | } |
137 | 138 | ||
138 | void KODialogManager::createIncomingDialog() | 139 | void KODialogManager::createIncomingDialog() |
139 | { | 140 | { |
140 | createOutgoingDialog(); | 141 | createOutgoingDialog(); |
141 | if (!mIncomingDialog) { | 142 | if (!mIncomingDialog) { |
142 | mIncomingDialog = new IncomingDialog(mMainView->calendar(),mOutgoingDialog,mMainView); | 143 | mIncomingDialog = new IncomingDialog(mMainView->calendar(),mOutgoingDialog,mMainView); |
143 | connect(mIncomingDialog,SIGNAL(numMessagesChanged(int)), | 144 | connect(mIncomingDialog,SIGNAL(numMessagesChanged(int)), |
144 | mMainView,SIGNAL(numIncomingChanged(int))); | 145 | mMainView,SIGNAL(numIncomingChanged(int))); |
145 | connect(mIncomingDialog,SIGNAL(calendarUpdated()), | 146 | connect(mIncomingDialog,SIGNAL(calendarUpdated()), |
146 | mMainView,SLOT(updateView())); | 147 | mMainView,SLOT(updateView())); |
147 | } | 148 | } |
148 | } | 149 | } |
149 | 150 | ||
150 | void KODialogManager::showIncomingDialog() | 151 | void KODialogManager::showIncomingDialog() |
151 | { | 152 | { |
152 | createIncomingDialog(); | 153 | createIncomingDialog(); |
153 | mIncomingDialog->show(); | 154 | mIncomingDialog->show(); |
154 | mIncomingDialog->raise(); | 155 | mIncomingDialog->raise(); |
155 | } | 156 | } |
156 | /* | 157 | /* |
157 | void KODialogManager::showCategoryEditDialog() | 158 | void KODialogManager::showCategoryEditDialog() |
158 | { | 159 | { |
159 | mCategoryEditDialog->show(); | 160 | mCategoryEditDialog->show(); |
160 | } | 161 | } |
161 | */ | 162 | */ |
162 | void KODialogManager::hideSearchDialog() | 163 | void KODialogManager::hideSearchDialog() |
163 | { | 164 | { |
164 | if (mSearchDialog) | 165 | if (mSearchDialog) |
165 | mSearchDialog->hide(); | 166 | mSearchDialog->hide(); |
166 | } | 167 | } |
167 | 168 | ||
168 | void KODialogManager::showSearchDialog() | 169 | void KODialogManager::showSearchDialog() |
169 | { | 170 | { |
170 | if (!mSearchDialog) { | 171 | if (!mSearchDialog) { |
171 | mSearchDialog = new SearchDialog(mMainView->calendar(),mMainView); | 172 | mSearchDialog = new SearchDialog(mMainView->calendar(),mMainView); |
172 | KOListView * lview = mSearchDialog->listview(); | 173 | KOListView * lview = mSearchDialog->listview(); |
173 | 174 | ||
174 | connect(lview, SIGNAL(showIncidenceSignal(Incidence *)), | 175 | connect(lview, SIGNAL(showIncidenceSignal(Incidence *)), |
175 | mMainView, SLOT(showIncidence(Incidence *))); | 176 | mMainView, SLOT(showIncidence(Incidence *))); |
176 | connect(lview, SIGNAL(editIncidenceSignal(Incidence *)), | 177 | connect(lview, SIGNAL(editIncidenceSignal(Incidence *)), |
177 | mMainView, SLOT(editIncidence(Incidence *))); | 178 | mMainView, SLOT(editIncidence(Incidence *))); |
178 | connect(lview, SIGNAL(deleteIncidenceSignal(Incidence *)), | 179 | connect(lview, SIGNAL(deleteIncidenceSignal(Incidence *)), |
179 | mMainView, SLOT(deleteIncidence(Incidence *))); | 180 | mMainView, SLOT(deleteIncidence(Incidence *))); |
180 | connect(lview, SIGNAL(cloneIncidenceSignal(Incidence *)), | 181 | connect(lview, SIGNAL(cloneIncidenceSignal(Incidence *)), |
181 | mMainView, SLOT(cloneIncidence(Incidence *))); | 182 | mMainView, SLOT(cloneIncidence(Incidence *))); |
182 | connect(lview, SIGNAL(beamIncidenceSignal(Incidence *)), | 183 | connect(lview, SIGNAL(beamIncidenceSignal(Incidence *)), |
183 | mMainView, SLOT(beamIncidence(Incidence *))); | 184 | mMainView, SLOT(beamIncidence(Incidence *))); |
184 | connect(lview, SIGNAL(moveIncidenceSignal(Incidence *)), | 185 | connect(lview, SIGNAL(moveIncidenceSignal(Incidence *)), |
185 | mMainView, SLOT(moveIncidence(Incidence *))); | 186 | mMainView, SLOT(moveIncidence(Incidence *))); |
186 | connect(lview, SIGNAL(beamIncidenceList(QPtrList<Incidence> )), | 187 | connect(lview, SIGNAL(beamIncidenceList(QPtrList<Incidence> )), |
187 | mMainView, SLOT(beamIncidenceList(QPtrList<Incidence> ))); | 188 | mMainView, SLOT(beamIncidenceList(QPtrList<Incidence> ))); |
188 | 189 | ||
189 | connect(mMainView, SIGNAL(configChanged()), mSearchDialog, SLOT(updateConfig())); | 190 | connect(mMainView, SIGNAL(configChanged()), mSearchDialog, SLOT(updateConfig())); |
190 | connect(mMainView, SIGNAL(updateSearchDialog()), mSearchDialog, SLOT(updateList())); | 191 | connect(mMainView, SIGNAL(updateSearchDialog()), mSearchDialog, SLOT(updateList())); |
191 | // connect( lview, SIGNAL( incidenceSelected( Incidence * ) ), | 192 | // connect( lview, SIGNAL( incidenceSelected( Incidence * ) ), |
192 | // mMainView, SLOT( processMainViewSelection( Incidence * ) ) ); | 193 | // mMainView, SLOT( processMainViewSelection( Incidence * ) ) ); |
193 | #ifndef DESKTOP_VERSION | 194 | #ifndef DESKTOP_VERSION |
194 | mSearchDialog->setMaximumSize( QApplication::desktop()->size()); | 195 | mSearchDialog->setMaximumSize( QApplication::desktop()->size()); |
195 | mSearchDialog->showMaximized(); | 196 | mSearchDialog->showMaximized(); |
196 | #else | 197 | #else |
197 | KConfig *config = KOGlobals::config(); | 198 | KConfig *config = KOGlobals::config(); |
198 | config->setGroup("WidgetLayout"); | 199 | config->setGroup("WidgetLayout"); |
199 | QStringList list; | 200 | QStringList list; |
200 | list = config->readListEntry("SearchLayout"); | 201 | list = config->readListEntry("SearchLayout"); |
201 | int x,y,w,h; | 202 | int x,y,w,h; |
202 | if ( ! list.isEmpty() ) { | 203 | if ( ! list.isEmpty() ) { |
203 | x = list[0].toInt(); | 204 | x = list[0].toInt(); |
204 | y = list[1].toInt(); | 205 | y = list[1].toInt(); |
205 | w = list[2].toInt(); | 206 | w = list[2].toInt(); |
206 | h = list[3].toInt(); | 207 | h = list[3].toInt(); |
208 | KApplication::testCoords( &x,&y,&w,&h ); | ||
207 | mSearchDialog->setGeometry(x,y,w,h); | 209 | mSearchDialog->setGeometry(x,y,w,h); |
208 | 210 | ||
209 | } | 211 | } |
210 | 212 | ||
211 | #endif | 213 | #endif |
212 | } | 214 | } |
213 | // make sure the widget is on top again | 215 | // make sure the widget is on top again |
214 | #ifdef DESKTOP_VERSION | 216 | #ifdef DESKTOP_VERSION |
215 | mSearchDialog->show(); | 217 | mSearchDialog->show(); |
216 | #else | 218 | #else |
217 | mSearchDialog->setMaximumSize( QApplication::desktop()->size()); | 219 | mSearchDialog->setMaximumSize( QApplication::desktop()->size()); |
218 | mSearchDialog->showMaximized(); | 220 | mSearchDialog->showMaximized(); |
219 | #endif | 221 | #endif |
220 | mSearchDialog->raise(); | 222 | mSearchDialog->raiseAndSelect(); |
221 | } | 223 | } |
222 | 224 | ||
223 | SearchDialog * KODialogManager::getSearchDialog() | 225 | SearchDialog * KODialogManager::getSearchDialog() |
224 | { | 226 | { |
225 | return mSearchDialog; | 227 | return mSearchDialog; |
226 | } | 228 | } |
227 | void KODialogManager::showArchiveDialog() | 229 | void KODialogManager::showArchiveDialog() |
228 | { | 230 | { |
229 | #ifndef KORG_NOARCHIVE | 231 | #ifndef KORG_NOARCHIVE |
230 | if (!mArchiveDialog) { | 232 | if (!mArchiveDialog) { |
231 | mArchiveDialog = new ArchiveDialog(mMainView->calendar(),mMainView); | 233 | mArchiveDialog = new ArchiveDialog(mMainView->calendar(),mMainView); |
232 | connect(mArchiveDialog,SIGNAL(eventsDeleted()), | 234 | connect(mArchiveDialog,SIGNAL(eventsDeleted()), |
233 | mMainView,SLOT(updateView())); | 235 | mMainView,SLOT(updateView())); |
234 | } | 236 | } |
235 | mArchiveDialog->show(); | 237 | mArchiveDialog->show(); |
236 | mArchiveDialog->raise(); | 238 | mArchiveDialog->raise(); |
237 | 239 | ||
238 | // Workaround. | 240 | // Workaround. |
239 | QApplication::restoreOverrideCursor(); | 241 | QApplication::restoreOverrideCursor(); |
240 | #endif | 242 | #endif |
241 | } | 243 | } |
242 | 244 | ||
243 | void KODialogManager::showFilterEditDialog(QPtrList<CalFilter> *filters) | 245 | void KODialogManager::showFilterEditDialog(QPtrList<CalFilter> *filters) |
244 | { | 246 | { |
245 | if (!mFilterEditDialog) { | 247 | if (!mFilterEditDialog) { |
246 | mFilterEditDialog = new FilterEditDialog(filters,mMainView); | 248 | mFilterEditDialog = new FilterEditDialog(filters,mMainView); |
247 | connect(mFilterEditDialog,SIGNAL(filterChanged()), | 249 | connect(mFilterEditDialog,SIGNAL(filterChanged()), |
248 | mMainView,SLOT(filterEdited())); | 250 | mMainView,SLOT(filterEdited())); |
249 | 251 | ||
250 | } | 252 | } |
251 | 253 | ||
252 | #ifndef DESKTOP_VERSION | 254 | #ifndef DESKTOP_VERSION |
253 | mFilterEditDialog->showMaximized(); | 255 | mFilterEditDialog->showMaximized(); |
254 | #else | 256 | #else |
255 | mFilterEditDialog->show(); | 257 | mFilterEditDialog->show(); |
256 | #endif | 258 | #endif |
257 | mFilterEditDialog->raise(); | 259 | mFilterEditDialog->raise(); |
258 | } | 260 | } |
259 | 261 | ||
260 | void KODialogManager::showPluginDialog() | 262 | void KODialogManager::showPluginDialog() |
261 | { | 263 | { |
262 | #ifndef KORG_NOPLUGINS | 264 | #ifndef KORG_NOPLUGINS |
263 | if (!mPluginDialog) { | 265 | if (!mPluginDialog) { |
264 | mPluginDialog = new PluginDialog(mMainView); | 266 | mPluginDialog = new PluginDialog(mMainView); |
265 | connect(mPluginDialog,SIGNAL(configChanged()), | 267 | connect(mPluginDialog,SIGNAL(configChanged()), |
266 | mMainView,SLOT(updateConfig())); | 268 | mMainView,SLOT(updateConfig())); |
267 | } | 269 | } |
268 | mPluginDialog->show(); | 270 | mPluginDialog->show(); |
269 | mPluginDialog->raise(); | 271 | mPluginDialog->raise(); |
270 | #endif | 272 | #endif |
271 | } | 273 | } |
272 | 274 | ||
273 | KOEventEditor *KODialogManager::getEventEditor() | 275 | KOEventEditor *KODialogManager::getEventEditor() |
274 | { | 276 | { |
275 | KOEventEditor *eventEditor = new KOEventEditor( mMainView->calendar(), | 277 | KOEventEditor *eventEditor = new KOEventEditor( mMainView->calendar(), |
276 | mMainView ); | 278 | mMainView ); |
277 | 279 | ||
278 | connect(eventEditor,SIGNAL(eventAdded(Event *)), | 280 | connect(eventEditor,SIGNAL(eventAdded(Event *)), |
279 | mMainView,SLOT(eventAdded(Event *))); | 281 | mMainView,SLOT(eventAdded(Event *))); |
280 | connect(eventEditor,SIGNAL(eventChanged(Event *)), | 282 | connect(eventEditor,SIGNAL(eventChanged(Event *)), |
281 | mMainView,SLOT(eventChanged(Event *))); | 283 | mMainView,SLOT(eventChanged(Event *))); |
282 | connect(eventEditor,SIGNAL(eventDeleted()), | 284 | connect(eventEditor,SIGNAL(eventDeleted()), |
283 | mMainView,SLOT(eventDeleted())); | 285 | mMainView,SLOT(eventDeleted())); |
284 | connect(eventEditor,SIGNAL(deleteAttendee(Incidence *)), | 286 | connect(eventEditor,SIGNAL(deleteAttendee(Incidence *)), |
285 | mMainView,SLOT(schedule_cancel(Incidence *))); | 287 | mMainView,SLOT(schedule_cancel(Incidence *))); |
286 | connect( eventEditor, SIGNAL(jumpToTime( const QDate &)), | 288 | connect( eventEditor, SIGNAL(jumpToTime( const QDate &)), |
287 | mMainView->dateNavigator(), SLOT( selectWeek( const QDate & ) ) ); | 289 | mMainView->dateNavigator(), SLOT( selectWeek( const QDate & ) ) ); |
288 | connect( eventEditor, SIGNAL( showAgendaView( bool)), | 290 | connect( eventEditor, SIGNAL( showAgendaView( bool)), |
289 | mMainView->viewManager(), SLOT( showAgendaView( bool) ) ); | 291 | mMainView->viewManager(), SLOT( showAgendaView( bool) ) ); |
290 | 292 | ||
291 | // connect(mCategoryEditDialog,SIGNAL(categoryConfigChanged()), | 293 | // connect(mCategoryEditDialog,SIGNAL(categoryConfigChanged()), |
292 | // eventEditor,SLOT(updateCategoryConfig())); | 294 | // eventEditor,SLOT(updateCategoryConfig())); |
293 | // connect(eventEditor,SIGNAL(editCategories()), | 295 | // connect(eventEditor,SIGNAL(editCategories()), |
294 | // mCategoryEditDialog,SLOT(show())); | 296 | // mCategoryEditDialog,SLOT(show())); |
295 | connect(eventEditor,SIGNAL(dialogClose(Incidence*)), | 297 | connect(eventEditor,SIGNAL(dialogClose(Incidence*)), |
296 | mMainView,SLOT(dialogClosing(Incidence*))); | 298 | mMainView,SLOT(dialogClosing(Incidence*))); |
297 | 299 | ||
298 | //connect(mMainView,SIGNAL(closingDown()),eventEditor,SLOT(reject())); | 300 | //connect(mMainView,SIGNAL(closingDown()),eventEditor,SLOT(reject())); |
299 | 301 | ||
300 | #ifndef DESKTOP_VERSION | 302 | #ifndef DESKTOP_VERSION |
301 | eventEditor->resize( QApplication::desktop()->width() -20, 100 ); | 303 | eventEditor->resize( QApplication::desktop()->width() -20, 100 ); |
302 | #endif | 304 | #endif |
303 | return eventEditor; | 305 | return eventEditor; |
304 | } | 306 | } |
305 | 307 | ||
306 | KOTodoEditor *KODialogManager::getTodoEditor() | 308 | KOTodoEditor *KODialogManager::getTodoEditor() |
307 | { | 309 | { |
308 | KOTodoEditor *todoEditor = new KOTodoEditor( mMainView->calendar(), | 310 | KOTodoEditor *todoEditor = new KOTodoEditor( mMainView->calendar(), |
309 | mMainView ); | 311 | mMainView ); |
310 | 312 | ||
311 | // connect(mCategoryEditDialog,SIGNAL(categoryConfigChanged()), | 313 | // connect(mCategoryEditDialog,SIGNAL(categoryConfigChanged()), |
312 | // todoEditor,SLOT(updateCategoryConfig())); | 314 | // todoEditor,SLOT(updateCategoryConfig())); |
313 | // connect(todoEditor,SIGNAL(editCategories()),mCategoryEditDialog,SLOT(show())); | 315 | // connect(todoEditor,SIGNAL(editCategories()),mCategoryEditDialog,SLOT(show())); |
314 | 316 | ||
315 | connect(todoEditor,SIGNAL(todoAdded(Todo *)), | 317 | connect(todoEditor,SIGNAL(todoAdded(Todo *)), |
316 | mMainView,SLOT(todoAdded(Todo *))); | 318 | mMainView,SLOT(todoAdded(Todo *))); |
317 | connect(todoEditor,SIGNAL(todoChanged(Todo *)), | 319 | connect(todoEditor,SIGNAL(todoChanged(Todo *)), |
318 | mMainView,SLOT(todoChanged(Todo *))); | 320 | mMainView,SLOT(todoChanged(Todo *))); |
319 | connect(todoEditor,SIGNAL(todoDeleted()), | 321 | connect(todoEditor,SIGNAL(todoDeleted()), |
320 | mMainView,SLOT(todoDeleted())); | 322 | mMainView,SLOT(todoDeleted())); |
321 | connect(todoEditor,SIGNAL(dialogClose(Incidence*)), | 323 | connect(todoEditor,SIGNAL(dialogClose(Incidence*)), |
322 | mMainView,SLOT(dialogClosing(Incidence*))); | 324 | mMainView,SLOT(dialogClosing(Incidence*))); |
323 | connect( todoEditor, SIGNAL(jumpToTime( const QDate &)), | 325 | connect( todoEditor, SIGNAL(jumpToTime( const QDate &)), |
324 | mMainView->dateNavigator(), SLOT( selectWeek( const QDate & ) ) ); | 326 | mMainView->dateNavigator(), SLOT( selectWeek( const QDate & ) ) ); |
325 | connect( todoEditor, SIGNAL( showAgendaView( bool)), | 327 | connect( todoEditor, SIGNAL( showAgendaView( bool)), |
326 | mMainView->viewManager(), SLOT( showAgendaView( bool) ) ); | 328 | mMainView->viewManager(), SLOT( showAgendaView( bool) ) ); |
327 | // connect(todoEditor,SIGNAL(deleteAttendee(Incidence *)), | 329 | // connect(todoEditor,SIGNAL(deleteAttendee(Incidence *)), |
328 | // mMainView,SLOT(schedule_cancel(Incidence *))); | 330 | // mMainView,SLOT(schedule_cancel(Incidence *))); |
329 | //connect(mMainView,SIGNAL(closingDown()),todoEditor,SLOT(reject())); | 331 | //connect(mMainView,SIGNAL(closingDown()),todoEditor,SLOT(reject())); |
330 | #ifndef DESKTOP_VERSION | 332 | #ifndef DESKTOP_VERSION |
331 | todoEditor->resize( QApplication::desktop()->width() -20, 100 ); | 333 | todoEditor->resize( QApplication::desktop()->width() -20, 100 ); |
332 | #endif | 334 | #endif |
333 | return todoEditor; | 335 | return todoEditor; |
334 | } | 336 | } |
335 | 337 | ||
336 | void KODialogManager::updateSearchDialog() | 338 | void KODialogManager::updateSearchDialog() |
337 | { | 339 | { |
338 | if (mSearchDialog) mSearchDialog->updateView(); | 340 | if (mSearchDialog) mSearchDialog->updateView(); |
339 | } | 341 | } |
340 | 342 | ||
341 | void KODialogManager::setDocumentId( const QString &id ) | 343 | void KODialogManager::setDocumentId( const QString &id ) |
342 | { | 344 | { |
343 | if (mOutgoingDialog) mOutgoingDialog->setDocumentId( id ); | 345 | if (mOutgoingDialog) mOutgoingDialog->setDocumentId( id ); |
344 | } | 346 | } |
345 | 347 | ||
346 | void KODialogManager::writeSettings( KConfig *config ) | 348 | void KODialogManager::writeSettings( KConfig *config ) |
347 | { | 349 | { |
348 | if (mSearchDialog) | 350 | if (mSearchDialog) |
diff --git a/korganizer/koprefs.h b/korganizer/koprefs.h index 3a07348..cf8dae6 100644 --- a/korganizer/koprefs.h +++ b/korganizer/koprefs.h | |||
@@ -1,162 +1,171 @@ | |||
1 | /* | 1 | /* |
2 | This file is part of KOrganizer. | 2 | This file is part of KOrganizer. |
3 | Copyright (c) 2000,2001 Cornelius Schumacher <schumacher@kde.org> | 3 | Copyright (c) 2000,2001 Cornelius Schumacher <schumacher@kde.org> |
4 | 4 | ||
5 | This program is free software; you can redistribute it and/or modify | 5 | This program is free software; you can redistribute it and/or modify |
6 | it under the terms of the GNU General Public License as published by | 6 | it under the terms of the GNU General Public License as published by |
7 | the Free Software Foundation; either version 2 of the License, or | 7 | the Free Software Foundation; either version 2 of the License, or |
8 | (at your option) any later version. | 8 | (at your option) any later version. |
9 | 9 | ||
10 | This program is distributed in the hope that it will be useful, | 10 | This program is distributed in the hope that it will be useful, |
11 | but WITHOUT ANY WARRANTY; without even the implied warranty of | 11 | but WITHOUT ANY WARRANTY; without even the implied warranty of |
12 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | 12 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
13 | GNU General Public License for more details. | 13 | GNU General Public License for more details. |
14 | 14 | ||
15 | You should have received a copy of the GNU General Public License | 15 | You should have received a copy of the GNU General Public License |
16 | along with this program; if not, write to the Free Software | 16 | along with this program; if not, write to the Free Software |
17 | Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. | 17 | Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. |
18 | 18 | ||
19 | As a special exception, permission is given to link this program | 19 | As a special exception, permission is given to link this program |
20 | with any edition of Qt, and distribute the resulting executable, | 20 | with any edition of Qt, and distribute the resulting executable, |
21 | without including the source code for Qt in the source distribution. | 21 | without including the source code for Qt in the source distribution. |
22 | */ | 22 | */ |
23 | #ifndef KOPREFS_H | 23 | #ifndef KOPREFS_H |
24 | #define KOPREFS_H | 24 | #define KOPREFS_H |
25 | 25 | ||
26 | 26 | ||
27 | #include <libkdepim/kpimprefs.h> | 27 | #include <libkdepim/kpimprefs.h> |
28 | #include <qdict.h> | 28 | #include <qdict.h> |
29 | 29 | ||
30 | class KConfig; | 30 | class KConfig; |
31 | class QFont; | 31 | class QFont; |
32 | class QColor; | 32 | class QColor; |
33 | class QStringList; | 33 | class QStringList; |
34 | 34 | ||
35 | #define VIEW_WN_VIEW 1 | ||
36 | #define VIEW_NX_VIEW 2 | ||
37 | #define VIEW_J_VIEW 3 | ||
38 | #define VIEW_A_VIEW 4 | ||
39 | #define VIEW_ML_VIEW 5 | ||
40 | #define VIEW_M_VIEW 6 | ||
41 | #define VIEW_L_VIEW 7 | ||
42 | #define VIEW_T_VIEW 8 | ||
43 | |||
35 | class KOPrefs : public KPimPrefs | 44 | class KOPrefs : public KPimPrefs |
36 | { | 45 | { |
37 | public: | 46 | public: |
38 | enum { FormatVCalendar, FormatICalendar }; | 47 | enum { FormatVCalendar, FormatICalendar }; |
39 | enum { MailClientKMail, MailClientSendmail }; | 48 | enum { MailClientKMail, MailClientSendmail }; |
40 | enum { IMIPDummy, IMIPKMail }; | 49 | enum { IMIPDummy, IMIPKMail }; |
41 | enum { IMIPOutbox, IMIPdirectsend }; | 50 | enum { IMIPOutbox, IMIPdirectsend }; |
42 | enum { neverAuto, addressbookAuto, selectedAuto }; | 51 | enum { neverAuto, addressbookAuto, selectedAuto }; |
43 | enum { standardDestination, askDestination }; | 52 | enum { standardDestination, askDestination }; |
44 | 53 | ||
45 | virtual ~KOPrefs(); | 54 | virtual ~KOPrefs(); |
46 | 55 | ||
47 | /** Get instance of KOPrefs. It is made sure that there is only one | 56 | /** Get instance of KOPrefs. It is made sure that there is only one |
48 | instance. */ | 57 | instance. */ |
49 | static KOPrefs *instance(); | 58 | static KOPrefs *instance(); |
50 | 59 | ||
51 | /** Set preferences to default values */ | 60 | /** Set preferences to default values */ |
52 | void usrSetDefaults(); | 61 | void usrSetDefaults(); |
53 | 62 | ||
54 | /** Read preferences from config file */ | 63 | /** Read preferences from config file */ |
55 | void usrReadConfig(); | 64 | void usrReadConfig(); |
56 | 65 | ||
57 | /** Write preferences to config file */ | 66 | /** Write preferences to config file */ |
58 | void usrWriteConfig(); | 67 | void usrWriteConfig(); |
59 | void setCategoryDefaults(); | 68 | void setCategoryDefaults(); |
60 | void setAllDefaults(); | 69 | void setAllDefaults(); |
61 | 70 | ||
62 | protected: | 71 | protected: |
63 | void setTimeZoneIdDefault(); | 72 | void setTimeZoneIdDefault(); |
64 | 73 | ||
65 | /** Fill empty mail fields with default values. */ | 74 | /** Fill empty mail fields with default values. */ |
66 | void fillMailDefaults(); | 75 | void fillMailDefaults(); |
67 | 76 | ||
68 | private: | 77 | private: |
69 | /** Constructor disabled for public. Use instance() to create a KOPrefs | 78 | /** Constructor disabled for public. Use instance() to create a KOPrefs |
70 | object. */ | 79 | object. */ |
71 | KOPrefs(); | 80 | KOPrefs(); |
72 | 81 | ||
73 | static KOPrefs *mInstance; | 82 | static KOPrefs *mInstance; |
74 | QStringList getDefaultList(); | 83 | QStringList getDefaultList(); |
75 | QStringList getLocationDefaultList(); | 84 | QStringList getLocationDefaultList(); |
76 | public: | 85 | public: |
77 | // preferences data | 86 | // preferences data |
78 | KConfig* getConfig(); | 87 | KConfig* getConfig(); |
79 | void setFullName(const QString &); | 88 | void setFullName(const QString &); |
80 | QString fullName(); | 89 | QString fullName(); |
81 | void setEmail(const QString &); | 90 | void setEmail(const QString &); |
82 | QString email(); | 91 | QString email(); |
83 | 92 | ||
84 | QString mAdditional; | 93 | QString mAdditional; |
85 | 94 | ||
86 | bool mEmailControlCenter; | 95 | bool mEmailControlCenter; |
87 | 96 | ||
88 | bool mBcc; | 97 | bool mBcc; |
89 | bool mAutoSave; | 98 | bool mAutoSave; |
90 | int mAutoSaveInterval; | 99 | int mAutoSaveInterval; |
91 | bool mConfirm; | 100 | bool mConfirm; |
92 | 101 | ||
93 | bool mEnableGroupScheduling; | 102 | bool mEnableGroupScheduling; |
94 | bool mEnableProjectView; | 103 | bool mEnableProjectView; |
95 | 104 | ||
96 | int mDefaultFormat; | 105 | int mDefaultFormat; |
97 | int mMailClient; | 106 | int mMailClient; |
98 | 107 | ||
99 | int mStartTime; | 108 | int mStartTime; |
100 | int mDefaultDuration; | 109 | int mDefaultDuration; |
101 | int mAlarmTime; | 110 | int mAlarmTime; |
102 | 111 | ||
103 | int mWorkingHoursStart; | 112 | int mWorkingHoursStart; |
104 | int mWorkingHoursEnd; | 113 | int mWorkingHoursEnd; |
105 | bool mExcludeHolidays; | 114 | bool mExcludeHolidays; |
106 | bool mExcludeSaturdays; | 115 | bool mExcludeSaturdays; |
107 | bool mMarcusBainsShowSeconds; | 116 | bool mMarcusBainsShowSeconds; |
108 | 117 | ||
109 | QFont mTimeBarFont; | 118 | QFont mTimeBarFont; |
110 | QFont mMonthViewFont; | 119 | QFont mMonthViewFont; |
111 | QFont mAgendaViewFont; | 120 | QFont mAgendaViewFont; |
112 | QFont mMarcusBainsFont; | 121 | QFont mMarcusBainsFont; |
113 | QFont mTimeLabelsFont; | 122 | QFont mTimeLabelsFont; |
114 | QFont mTodoViewFont; | 123 | QFont mTodoViewFont; |
115 | QFont mListViewFont; | 124 | QFont mListViewFont; |
116 | QFont mDateNavigatorFont; | 125 | QFont mDateNavigatorFont; |
117 | QFont mEditBoxFont; | 126 | QFont mEditBoxFont; |
118 | QFont mJornalViewFont; | 127 | QFont mJornalViewFont; |
119 | QFont mWhatsNextFont; | 128 | QFont mWhatsNextFont; |
120 | QFont mEventViewFont; | 129 | QFont mEventViewFont; |
121 | 130 | ||
122 | 131 | ||
123 | 132 | ||
124 | 133 | ||
125 | QColor mHolidayColor; | 134 | QColor mHolidayColor; |
126 | QColor mHighlightColor; | 135 | QColor mHighlightColor; |
127 | QColor mEventColor; | 136 | QColor mEventColor; |
128 | QColor mTodoDoneColor; | 137 | QColor mTodoDoneColor; |
129 | QColor mAgendaBgColor; | 138 | QColor mAgendaBgColor; |
130 | QColor mWorkingHoursColor; | 139 | QColor mWorkingHoursColor; |
131 | QColor mTodoDueTodayColor; | 140 | QColor mTodoDueTodayColor; |
132 | QColor mTodoOverdueColor; | 141 | QColor mTodoOverdueColor; |
133 | QColor mMonthViewEvenColor; | 142 | QColor mMonthViewEvenColor; |
134 | QColor mMonthViewOddColor; | 143 | QColor mMonthViewOddColor; |
135 | QColor mMonthViewHolidayColor; | 144 | QColor mMonthViewHolidayColor; |
136 | bool mMonthViewUsesDayColors; | 145 | bool mMonthViewUsesDayColors; |
137 | bool mMonthViewSatSunTog; | 146 | bool mMonthViewSatSunTog; |
138 | bool mMonthViewWeek; | 147 | bool mMonthViewWeek; |
139 | QColor mAppColor1; | 148 | QColor mAppColor1; |
140 | QColor mAppColor2; | 149 | QColor mAppColor2; |
141 | bool mUseAppColors; | 150 | bool mUseAppColors; |
142 | 151 | ||
143 | int mDayBegins; | 152 | int mDayBegins; |
144 | int mHourSize; | 153 | int mHourSize; |
145 | int mAllDaySize; | 154 | int mAllDaySize; |
146 | bool mShowFullMenu; | 155 | bool mShowFullMenu; |
147 | bool mDailyRecur; | 156 | bool mDailyRecur; |
148 | bool mWeeklyRecur; | 157 | bool mWeeklyRecur; |
149 | bool mMonthDailyRecur; | 158 | bool mMonthDailyRecur; |
150 | bool mMonthWeeklyRecur; | 159 | bool mMonthWeeklyRecur; |
151 | bool mMonthShowIcons; | 160 | bool mMonthShowIcons; |
152 | bool mMonthShowShort; | 161 | bool mMonthShowShort; |
153 | bool mEnableToolTips; | 162 | bool mEnableToolTips; |
154 | bool mEnableMonthScroll; | 163 | bool mEnableMonthScroll; |
155 | bool mFullViewMonth; | 164 | bool mFullViewMonth; |
156 | bool mMonthViewUsesCategoryColor; | 165 | bool mMonthViewUsesCategoryColor; |
157 | bool mFullViewTodo; | 166 | bool mFullViewTodo; |
158 | bool mShowCompletedTodo; | 167 | bool mShowCompletedTodo; |
159 | bool mMarcusBainsEnabled; | 168 | bool mMarcusBainsEnabled; |
160 | int mNextXDays; | 169 | int mNextXDays; |
161 | int mWhatsNextDays; | 170 | int mWhatsNextDays; |
162 | int mWhatsNextPrios; | 171 | int mWhatsNextPrios; |
@@ -165,141 +174,143 @@ class KOPrefs : public KPimPrefs | |||
165 | bool mCompactDialogs; | 174 | bool mCompactDialogs; |
166 | bool mVerticalScreen; | 175 | bool mVerticalScreen; |
167 | 176 | ||
168 | bool mShowIconNewTodo; | 177 | bool mShowIconNewTodo; |
169 | bool mShowIconNewEvent; | 178 | bool mShowIconNewEvent; |
170 | bool mShowIconSearch; | 179 | bool mShowIconSearch; |
171 | bool mShowIconList; | 180 | bool mShowIconList; |
172 | bool mShowIconDay1; | 181 | bool mShowIconDay1; |
173 | bool mShowIconDay5; | 182 | bool mShowIconDay5; |
174 | bool mShowIconDay6; | 183 | bool mShowIconDay6; |
175 | bool mShowIconDay7; | 184 | bool mShowIconDay7; |
176 | bool mShowIconMonth; | 185 | bool mShowIconMonth; |
177 | bool mShowIconTodoview; | 186 | bool mShowIconTodoview; |
178 | bool mShowIconBackFast; | 187 | bool mShowIconBackFast; |
179 | bool mShowIconBack; | 188 | bool mShowIconBack; |
180 | bool mShowIconToday; | 189 | bool mShowIconToday; |
181 | bool mShowIconForward; | 190 | bool mShowIconForward; |
182 | bool mShowIconForwardFast; | 191 | bool mShowIconForwardFast; |
183 | bool mShowIconWhatsThis; | 192 | bool mShowIconWhatsThis; |
184 | bool mShowIconWeekNum; | 193 | bool mShowIconWeekNum; |
185 | bool mShowIconNextDays; | 194 | bool mShowIconNextDays; |
186 | bool mShowIconNext; | 195 | bool mShowIconNext; |
187 | bool mShowIconJournal; | 196 | bool mShowIconJournal; |
188 | bool mShowIconFilter; | 197 | bool mShowIconFilter; |
189 | bool mShowIconOnetoolbar; | 198 | bool mShowIconOnetoolbar; |
190 | bool mShowIconNavigator; | 199 | bool mShowIconNavigator; |
191 | bool mShowIconAllday; | 200 | bool mShowIconAllday; |
192 | bool mShowIconFilterview; | 201 | bool mShowIconFilterview; |
193 | bool mShowIconToggleFull; | 202 | bool mShowIconToggleFull; |
194 | 203 | ||
195 | bool mShowIconStretch; | 204 | bool mShowIconStretch; |
196 | 205 | ||
197 | bool mToolBarHor; | 206 | bool mToolBarHor; |
198 | bool mToolBarUp; | 207 | bool mToolBarUp; |
199 | bool mToolBarHorV; | 208 | bool mToolBarHorV; |
200 | bool mToolBarUpV; | 209 | bool mToolBarUpV; |
201 | bool mToolBarHorN; | 210 | bool mToolBarHorN; |
202 | bool mToolBarUpN; | 211 | bool mToolBarUpN; |
203 | bool mToolBarHorF; | 212 | bool mToolBarHorF; |
204 | bool mToolBarUpF; | 213 | bool mToolBarUpF; |
205 | bool mToolBarMiniIcons; | 214 | bool mToolBarMiniIcons; |
206 | 215 | ||
207 | bool mAskForQuit; | 216 | bool mAskForQuit; |
208 | bool mUsePassWd; | 217 | bool mUsePassWd; |
209 | bool mShowSyncEvents; | 218 | bool mShowSyncEvents; |
210 | bool mShowTodoInAgenda; | 219 | bool mShowTodoInAgenda; |
211 | bool mShowTimeInAgenda; | 220 | bool mShowTimeInAgenda; |
212 | bool mHideNonStartedTodos; | 221 | bool mHideNonStartedTodos; |
213 | 222 | ||
214 | int mLastSyncTime; | 223 | int mLastSyncTime; |
215 | void setCategoryColor(QString cat,const QColor & color); | 224 | void setCategoryColor(QString cat,const QColor & color); |
216 | QColor *categoryColor(QString cat); | 225 | QColor *categoryColor(QString cat); |
217 | 226 | ||
218 | QString mArchiveFile; | 227 | QString mArchiveFile; |
219 | QString mHtmlExportFile; | 228 | QString mHtmlExportFile; |
220 | bool mHtmlWithSave; | 229 | bool mHtmlWithSave; |
221 | 230 | ||
222 | QStringList mSelectedPlugins; | 231 | QStringList mSelectedPlugins; |
223 | 232 | ||
224 | QString mLastImportFile; | 233 | QString mLastImportFile; |
225 | QString mLastVcalFile; | 234 | QString mLastVcalFile; |
226 | QString mLastSaveFile; | 235 | QString mLastSaveFile; |
227 | QString mLastLoadFile; | 236 | QString mLastLoadFile; |
228 | 237 | ||
229 | 238 | ||
230 | QString mDefaultAlarmFile; | 239 | QString mDefaultAlarmFile; |
231 | int mIMIPScheduler; | 240 | int mIMIPScheduler; |
232 | int mIMIPSend; | 241 | int mIMIPSend; |
233 | QStringList mAdditionalMails; | 242 | QStringList mAdditionalMails; |
234 | int mIMIPAutoRefresh; | 243 | int mIMIPAutoRefresh; |
235 | int mIMIPAutoInsertReply; | 244 | int mIMIPAutoInsertReply; |
236 | int mIMIPAutoInsertRequest; | 245 | int mIMIPAutoInsertRequest; |
237 | int mIMIPAutoFreeBusy; | 246 | int mIMIPAutoFreeBusy; |
238 | int mIMIPAutoFreeBusyReply; | 247 | int mIMIPAutoFreeBusyReply; |
239 | 248 | ||
240 | QStringList mTodoTemplates; | 249 | QStringList mTodoTemplates; |
241 | QStringList mEventTemplates; | 250 | QStringList mEventTemplates; |
242 | 251 | ||
243 | int mDestination; | 252 | int mDestination; |
244 | 253 | ||
245 | 254 | ||
246 | bool mEditOnDoubleClick; | 255 | bool mEditOnDoubleClick; |
247 | bool mViewChangeHoldFullscreen; | 256 | bool mViewChangeHoldFullscreen; |
248 | bool mViewChangeHoldNonFullscreen; | 257 | bool mViewChangeHoldNonFullscreen; |
249 | bool mCenterOnCurrentTime; | 258 | bool mCenterOnCurrentTime; |
250 | bool mSetTimeToDayStartAt; | 259 | bool mSetTimeToDayStartAt; |
251 | bool mHighlightCurrentDay; | 260 | bool mHighlightCurrentDay; |
252 | bool mUseHighlightLightColor; | 261 | bool mUseHighlightLightColor; |
253 | bool mListViewMonthTimespan; | 262 | bool mListViewMonthTimespan; |
254 | bool mWNViewShowsParents; | 263 | bool mWNViewShowsParents; |
255 | bool mWNViewShowsPast; | 264 | bool mWNViewShowsPast; |
256 | bool mWNViewShowLocation; | 265 | bool mWNViewShowLocation; |
257 | bool mTodoViewShowsPercentage; | 266 | bool mTodoViewShowsPercentage; |
258 | bool mTodoViewUsesCatColors; | 267 | bool mTodoViewUsesCatColors; |
259 | bool mMonthViewUsesBigFont; | 268 | bool mMonthViewUsesBigFont; |
260 | bool mTodoViewUsesSmallFont; | 269 | bool mTodoViewUsesSmallFont; |
261 | bool mTodoViewUsesForegroundColor; | 270 | bool mTodoViewUsesForegroundColor; |
262 | bool mMonthViewUsesForegroundColor; | 271 | bool mMonthViewUsesForegroundColor; |
263 | 272 | ||
264 | bool mHightlightDateTimeEdit; | 273 | bool mHightlightDateTimeEdit; |
265 | bool mShortDateInViewer; | 274 | bool mShortDateInViewer; |
266 | 275 | ||
267 | bool mShowDateNavigator; | 276 | bool mShowDateNavigator; |
268 | 277 | ||
269 | QStringList mLocationDefaults; | 278 | QStringList mLocationDefaults; |
270 | QStringList mEventSummaryUser; | 279 | QStringList mEventSummaryUser; |
271 | QStringList mTodoSummaryUser; | 280 | QStringList mTodoSummaryUser; |
272 | 281 | ||
273 | bool mUseInternalAlarmNotification; | 282 | bool mUseInternalAlarmNotification; |
274 | int mAlarmPlayBeeps; | 283 | int mAlarmPlayBeeps; |
275 | int mAlarmSuspendTime; | 284 | int mAlarmSuspendTime; |
276 | int mAlarmSuspendCount; | 285 | int mAlarmSuspendCount; |
277 | int mAlarmBeepInterval; | 286 | int mAlarmBeepInterval; |
278 | int mOldLanguage; | 287 | int mOldLanguage; |
279 | int mOldLoadedLanguage; | 288 | int mOldLoadedLanguage; |
280 | 289 | ||
281 | 290 | ||
282 | QString mActiveSyncPort; | 291 | QString mActiveSyncPort; |
283 | QString mActiveSyncIP; | 292 | QString mActiveSyncIP; |
284 | 293 | ||
285 | // settings for eventviewer | 294 | // settings for eventviewer |
286 | bool mEVshowDetails; | 295 | bool mEVshowDetails; |
287 | bool mEVshowCreated; | 296 | bool mEVshowCreated; |
288 | bool mEVshowChanged; | 297 | bool mEVshowChanged; |
289 | bool mWTshowDetails; | 298 | bool mWTshowDetails; |
290 | bool mWTshowCreated; | 299 | bool mWTshowCreated; |
291 | bool mWTshowChanged; | 300 | bool mWTshowChanged; |
292 | 301 | ||
302 | int mCurrentDisplayedView; | ||
303 | |||
293 | private: | 304 | private: |
294 | QDict<QColor> mCategoryColors; | 305 | QDict<QColor> mCategoryColors; |
295 | QColor mDefaultCategoryColor; | 306 | QColor mDefaultCategoryColor; |
296 | 307 | ||
297 | QFont mDefaultTimeBarFont; | 308 | QFont mDefaultTimeBarFont; |
298 | QFont mDefaultViewFont; | 309 | QFont mDefaultViewFont; |
299 | QFont mDefaultMonthViewFont; | 310 | QFont mDefaultMonthViewFont; |
300 | 311 | ||
301 | QString mName; | 312 | QString mName; |
302 | QString mEmail; | 313 | QString mEmail; |
303 | }; | 314 | }; |
304 | 315 | ||
305 | #endif | 316 | #endif |
diff --git a/korganizer/koviewmanager.cpp b/korganizer/koviewmanager.cpp index c442d0b..406e741 100644 --- a/korganizer/koviewmanager.cpp +++ b/korganizer/koviewmanager.cpp | |||
@@ -102,728 +102,726 @@ void KOViewManager::readSettings(KConfig *config) | |||
102 | config->setGroup( "Views" ); | 102 | config->setGroup( "Views" ); |
103 | int dateCount = config->readNumEntry( "ShownDatesCount", 7 ); | 103 | int dateCount = config->readNumEntry( "ShownDatesCount", 7 ); |
104 | mCurrentAgendaView = dateCount; | 104 | mCurrentAgendaView = dateCount; |
105 | showAgendaView(); | 105 | showAgendaView(); |
106 | mCurrentAgendaView = dateCount; | 106 | mCurrentAgendaView = dateCount; |
107 | #ifdef DESKTOP_VERSION | 107 | #ifdef DESKTOP_VERSION |
108 | QTimer::singleShot( 1000, mAgendaView, SLOT ( setInitStartHour() ) ); | 108 | QTimer::singleShot( 1000, mAgendaView, SLOT ( setInitStartHour() ) ); |
109 | #endif | 109 | #endif |
110 | } | 110 | } |
111 | } | 111 | } |
112 | 112 | ||
113 | void KOViewManager::showDateView( int view, QDate date) | 113 | void KOViewManager::showDateView( int view, QDate date) |
114 | { | 114 | { |
115 | static int lastMode = 0; | 115 | static int lastMode = 0; |
116 | static int lastCount = 0; | 116 | static int lastCount = 0; |
117 | static bool lastNDMode = false; | 117 | static bool lastNDMode = false; |
118 | static QDate lastDate; | 118 | static QDate lastDate; |
119 | //qDebug("date %d %s", view, date.toString().latin1()); | 119 | //qDebug("date %d %s", view, date.toString().latin1()); |
120 | 120 | ||
121 | if (view != 9) | 121 | if (view != 9) |
122 | lastMode = 0; | 122 | lastMode = 0; |
123 | //qDebug("%d %d ", lastNDMode, mFlagShowNextxDays ); | 123 | //qDebug("%d %d ", lastNDMode, mFlagShowNextxDays ); |
124 | bool savemFlagShowNextxDays = mFlagShowNextxDays; | 124 | bool savemFlagShowNextxDays = mFlagShowNextxDays; |
125 | mFlagShowNextxDays = false; | 125 | mFlagShowNextxDays = false; |
126 | if ( view == 3 ) { | 126 | if ( view == 3 ) { |
127 | //mCurrentAgendaView = 1 ; | 127 | //mCurrentAgendaView = 1 ; |
128 | lastDate = mMainView->dateNavigator()->selectedDates().first(); | 128 | lastDate = mMainView->dateNavigator()->selectedDates().first(); |
129 | lastCount = mMainView->dateNavigator()->selectedDates().count(); | 129 | lastCount = mMainView->dateNavigator()->selectedDates().count(); |
130 | lastNDMode = savemFlagShowNextxDays; | 130 | lastNDMode = savemFlagShowNextxDays; |
131 | mMainView->dateNavigator()->selectDate( date ); | 131 | mMainView->dateNavigator()->selectDate( date ); |
132 | lastMode = 1; | 132 | lastMode = 1; |
133 | mCurrentAgendaView = 1 ; | 133 | mCurrentAgendaView = 1 ; |
134 | } else if (view == 4 ) { | 134 | } else if (view == 4 ) { |
135 | mCurrentAgendaView = 7 ; | 135 | mCurrentAgendaView = 7 ; |
136 | mMainView->dateNavigator()->selectDates( date, 7 ); | 136 | mMainView->dateNavigator()->selectDates( date, 7 ); |
137 | } else if (view == 5 ) { | 137 | } else if (view == 5 ) { |
138 | mCurrentAgendaView = 14 ; | 138 | mCurrentAgendaView = 14 ; |
139 | mMainView->dateNavigator()->selectDates( date, 14); | 139 | mMainView->dateNavigator()->selectDates( date, 14); |
140 | } else if (view == 6 ) { | 140 | } else if (view == 6 ) { |
141 | resetDateSilent( date,1); | 141 | resetDateSilent( date,1); |
142 | showMonthView(); | 142 | showMonthView(); |
143 | } else if (view == 7 ) { | 143 | } else if (view == 7 ) { |
144 | mMainView->dateNavigator()->selectDate( date ); | 144 | mMainView->dateNavigator()->selectDate( date ); |
145 | showJournalView(); | 145 | showJournalView(); |
146 | } else if (view == 8 ) { | 146 | } else if (view == 8 ) { |
147 | globalFlagBlockAgenda = 1; | 147 | globalFlagBlockAgenda = 1; |
148 | if ( mCurrentAgendaView != 3 ) | 148 | if ( mCurrentAgendaView != 3 ) |
149 | mCurrentAgendaView = -1; | 149 | mCurrentAgendaView = -1; |
150 | showAgendaView(KOPrefs::instance()->mFullViewMonth); | 150 | showAgendaView(KOPrefs::instance()->mFullViewMonth); |
151 | globalFlagBlockAgenda = 2; | 151 | globalFlagBlockAgenda = 2; |
152 | mMainView->dateNavigator()->selectDates( date , | 152 | mMainView->dateNavigator()->selectDates( date , |
153 | KOPrefs::instance()->mNextXDays ); | 153 | KOPrefs::instance()->mNextXDays ); |
154 | mFlagShowNextxDays = true; | 154 | mFlagShowNextxDays = true; |
155 | mCurrentAgendaView = 3 ; | 155 | mCurrentAgendaView = 3 ; |
156 | } if (view == 9) { // return behaviour, for getting back from mode == 3 (single day mode ) | 156 | } if (view == 9) { // return behaviour, for getting back from mode == 3 (single day mode ) |
157 | if ( lastMode ) { | 157 | if ( lastMode ) { |
158 | mCurrentAgendaView = lastCount ; | 158 | mCurrentAgendaView = lastCount ; |
159 | mMainView->dateNavigator()->selectDates( lastDate, lastCount); | 159 | mMainView->dateNavigator()->selectDates( lastDate, lastCount); |
160 | mFlagShowNextxDays = lastNDMode; | 160 | mFlagShowNextxDays = lastNDMode; |
161 | if ( mFlagShowNextxDays ) { | 161 | if ( mFlagShowNextxDays ) { |
162 | mCurrentAgendaView = 3 ; | 162 | mCurrentAgendaView = 3 ; |
163 | } | 163 | } |
164 | } else | 164 | } else |
165 | showWeekView(); | 165 | showWeekView(); |
166 | } else if (view == 10) { | 166 | } else if (view == 10) { |
167 | mMainView->dateNavigator()->selectDates( date,mMainView->dateNavigator()->selectedDates().count() ); | 167 | mMainView->dateNavigator()->selectDates( date,mMainView->dateNavigator()->selectedDates().count() ); |
168 | } | 168 | } |
169 | } | 169 | } |
170 | 170 | ||
171 | 171 | ||
172 | 172 | ||
173 | void KOViewManager::writeSettings(KConfig *config) | 173 | void KOViewManager::writeSettings(KConfig *config) |
174 | { | 174 | { |
175 | config->setGroup("General"); | 175 | config->setGroup("General"); |
176 | 176 | ||
177 | QString view; | 177 | QString view; |
178 | if (mCurrentView == mWhatsNextView) view = "WhatsNext"; | 178 | if (mCurrentView == mWhatsNextView) view = "WhatsNext"; |
179 | else if (mCurrentView == mMonthView) view = "Month"; | 179 | else if (mCurrentView == mMonthView) view = "Month"; |
180 | else if (mCurrentView == mListView) view = "List"; | 180 | else if (mCurrentView == mListView) view = "List"; |
181 | else if (mCurrentView == mJournalView) view = "Journal"; | 181 | else if (mCurrentView == mJournalView) view = "Journal"; |
182 | else if (mCurrentView == mTimeSpanView) view = "TimeSpan"; | 182 | else if (mCurrentView == mTimeSpanView) view = "TimeSpan"; |
183 | else if (mCurrentView == mTodoView) view = "Todo"; | 183 | else if (mCurrentView == mTodoView) view = "Todo"; |
184 | else view = "Agenda"; | 184 | else view = "Agenda"; |
185 | 185 | ||
186 | config->writeEntry("Current View",view); | 186 | config->writeEntry("Current View",view); |
187 | 187 | ||
188 | if (mAgendaView) { | 188 | if (mAgendaView) { |
189 | mAgendaView->writeSettings(config); | 189 | mAgendaView->writeSettings(config); |
190 | } | 190 | } |
191 | if (mTimeSpanView) { | 191 | if (mTimeSpanView) { |
192 | mTimeSpanView->writeSettings(config); | 192 | mTimeSpanView->writeSettings(config); |
193 | } | 193 | } |
194 | if (mListView) { | 194 | if (mListView) { |
195 | mListView->writeSettings(config); | 195 | mListView->writeSettings(config); |
196 | } | 196 | } |
197 | if (mTodoView) { | 197 | if (mTodoView) { |
198 | mTodoView->saveLayout(config,"Todo View"); | 198 | mTodoView->saveLayout(config,"Todo View"); |
199 | } | 199 | } |
200 | } | 200 | } |
201 | void KOViewManager::showNextView() | 201 | void KOViewManager::showNextView() |
202 | { | 202 | { |
203 | static int selecteddatescount = 0; | 203 | static int selecteddatescount = 0; |
204 | static QDate selecteddate = QDate ( 2000, 1, 1 ); | 204 | static QDate selecteddate = QDate ( 2000, 1, 1 ); |
205 | static QDate baseCycleDate = QDate ( 2000, 1, 1 ); | 205 | static QDate baseCycleDate = QDate ( 2000, 1, 1 ); |
206 | int newCount = mMainView->dateNavigator()->selectedDates().count(); | 206 | int newCount = mMainView->dateNavigator()->selectedDates().count(); |
207 | if ( selecteddatescount != newCount && flagResetViewChangeDate == 0 ) { | 207 | if ( selecteddatescount != newCount && flagResetViewChangeDate == 0 ) { |
208 | flagResetViewChangeDate = 1; | 208 | flagResetViewChangeDate = 1; |
209 | } | 209 | } |
210 | if ( selecteddate != mMainView->dateNavigator()->selectedDates().first() ) | 210 | if ( selecteddate != mMainView->dateNavigator()->selectedDates().first() ) |
211 | flagResetViewChangeDate = 1; | 211 | flagResetViewChangeDate = 1; |
212 | if ( flagResetViewChangeDate > 0 ) { | 212 | if ( flagResetViewChangeDate > 0 ) { |
213 | baseCycleDate = mMainView->dateNavigator()->selectedDates().first(); | 213 | baseCycleDate = mMainView->dateNavigator()->selectedDates().first(); |
214 | //qDebug("newCycle "); | 214 | //qDebug("newCycle "); |
215 | } | 215 | } |
216 | if (mCurrentView == mWhatsNextView) goto NEXT_X; | 216 | if (mCurrentView == mWhatsNextView) goto NEXT_X; |
217 | if (mCurrentView == mAgendaView && mFlagShowNextxDays) goto JOURNAL; | 217 | if (mCurrentView == mAgendaView && mFlagShowNextxDays) goto JOURNAL; |
218 | if (mCurrentView == mJournalView ) goto DAY_1; | 218 | if (mCurrentView == mJournalView ) goto DAY_1; |
219 | if (mCurrentView == mAgendaView && mCurrentAgendaView == 1 ) goto DAY_5; | 219 | if (mCurrentView == mAgendaView && mCurrentAgendaView == 1 ) goto DAY_5; |
220 | if (mCurrentView == mAgendaView && mCurrentAgendaView == 5 ) goto DAY_7; | 220 | if (mCurrentView == mAgendaView && mCurrentAgendaView == 5 ) goto DAY_7; |
221 | if (mCurrentView == mAgendaView ) goto DAY_6; | 221 | if (mCurrentView == mAgendaView ) goto DAY_6; |
222 | if (mCurrentView == mMonthView && KOPrefs::instance()->mMonthViewWeek) goto MONTH; | 222 | if (mCurrentView == mMonthView && KOPrefs::instance()->mMonthViewWeek) goto MONTH; |
223 | if (mCurrentView == mMonthView ) goto LIST; | 223 | if (mCurrentView == mMonthView ) goto LIST; |
224 | if (mCurrentView == mListView ) goto TODO; | 224 | if (mCurrentView == mListView ) goto TODO; |
225 | // if (mCurrentView == mTodoView ) goto NEXT; | 225 | // if (mCurrentView == mTodoView ) goto NEXT; |
226 | NEXT: | 226 | NEXT: |
227 | if ( KOPrefs::instance()->mShowIconNext ) { showWhatsNextView();goto ENTE ;} | 227 | if ( KOPrefs::instance()->mShowIconNext ) { showWhatsNextView();goto ENTE ;} |
228 | NEXT_X: | 228 | NEXT_X: |
229 | if ( KOPrefs::instance()->mShowIconNextDays ) { | 229 | if ( KOPrefs::instance()->mShowIconNextDays ) { |
230 | globalFlagBlockAgenda = 1; | 230 | showNextXView(); |
231 | if ( mCurrentAgendaView != 3 ) | ||
232 | mCurrentAgendaView = -1; | ||
233 | showAgendaView(KOPrefs::instance()->mFullViewMonth); | ||
234 | globalFlagBlockAgenda = 2; | ||
235 | mMainView->dateNavigator()->selectDates( baseCycleDate , | ||
236 | KOPrefs::instance()->mNextXDays ); | ||
237 | mFlagShowNextxDays = true; | ||
238 | mCurrentAgendaView = 3 ; | ||
239 | goto ENTE ; | 231 | goto ENTE ; |
240 | } | 232 | } |
241 | JOURNAL: | 233 | JOURNAL: |
242 | if ( KOPrefs::instance()->mShowIconJournal ) { | 234 | if ( KOPrefs::instance()->mShowIconJournal ) { |
243 | resetDateSilent( baseCycleDate , 1 ); | 235 | resetDateSilent( baseCycleDate , 1 ); |
244 | showJournalView() ;goto ENTE ;} | 236 | showJournalView() ;goto ENTE ;} |
245 | DAY_1: | 237 | DAY_1: |
246 | if ( KOPrefs::instance()->mShowIconDay1 ) { | 238 | if ( KOPrefs::instance()->mShowIconDay1 ) { |
247 | resetDateSilent( baseCycleDate , 2 ); | 239 | resetDateSilent( baseCycleDate , 2 ); |
248 | showDayView() ;goto ENTE ;} | 240 | showDayView() ;goto ENTE ;} |
249 | DAY_5: | 241 | DAY_5: |
250 | if ( KOPrefs::instance()->mShowIconDay5 ) { | 242 | if ( KOPrefs::instance()->mShowIconDay5 ) { |
251 | resetDateSilent( baseCycleDate , 2 ); | 243 | resetDateSilent( baseCycleDate , 2 ); |
252 | showWorkWeekView() ;goto ENTE ;} | 244 | showWorkWeekView() ;goto ENTE ;} |
253 | DAY_7: | 245 | DAY_7: |
254 | if ( KOPrefs::instance()->mShowIconDay7 ) { | 246 | if ( KOPrefs::instance()->mShowIconDay7 ) { |
255 | resetDateSilent( baseCycleDate , 2 ); | 247 | resetDateSilent( baseCycleDate , 2 ); |
256 | showWeekView();goto ENTE ;} | 248 | showWeekView();goto ENTE ;} |
257 | DAY_6: | 249 | DAY_6: |
258 | if ( KOPrefs::instance()->mShowIconDay6 ) { | 250 | if ( KOPrefs::instance()->mShowIconDay6 ) { |
259 | resetDateSilent( baseCycleDate , 2 ); | 251 | resetDateSilent( baseCycleDate , 2 ); |
260 | showMonthViewWeek();goto ENTE ;} | 252 | showMonthViewWeek();goto ENTE ;} |
261 | MONTH: | 253 | MONTH: |
262 | if ( KOPrefs::instance()->mShowIconMonth ) { | 254 | if ( KOPrefs::instance()->mShowIconMonth ) { |
263 | resetDateSilent( baseCycleDate , 2 ); | 255 | resetDateSilent( baseCycleDate , 2 ); |
264 | showMonthView();goto ENTE ;} | 256 | showMonthView();goto ENTE ;} |
265 | LIST: | 257 | LIST: |
266 | if ( KOPrefs::instance()->mShowIconList ) { | 258 | if ( KOPrefs::instance()->mShowIconList ) { |
267 | resetDateSilent( baseCycleDate , 2 ); | 259 | resetDateSilent( baseCycleDate , 2 ); |
268 | showListView() ;goto ENTE ;} | 260 | showListView() ;goto ENTE ;} |
269 | TODO: | 261 | TODO: |
270 | if ( KOPrefs::instance()->mShowIconTodoview ) { showTodoView() ;goto ENTE ;} | 262 | if ( KOPrefs::instance()->mShowIconTodoview ) { showTodoView() ;goto ENTE ;} |
271 | if ( KOPrefs::instance()->mShowIconNext ) { goto NEXT ;} | 263 | if ( KOPrefs::instance()->mShowIconNext ) { goto NEXT ;} |
272 | if ( KOPrefs::instance()->mShowIconNextDays ) { goto NEXT_X ;} | 264 | if ( KOPrefs::instance()->mShowIconNextDays ) { goto NEXT_X ;} |
273 | if ( KOPrefs::instance()->mShowIconJournal ) { goto JOURNAL;} | 265 | if ( KOPrefs::instance()->mShowIconJournal ) { goto JOURNAL;} |
274 | if ( KOPrefs::instance()->mShowIconDay1 ) { goto DAY_1 ;} | 266 | if ( KOPrefs::instance()->mShowIconDay1 ) { goto DAY_1 ;} |
275 | if ( KOPrefs::instance()->mShowIconDay5 ) { goto DAY_5 ;} | 267 | if ( KOPrefs::instance()->mShowIconDay5 ) { goto DAY_5 ;} |
276 | if ( KOPrefs::instance()->mShowIconDay7 ) { goto DAY_7 ;} | 268 | if ( KOPrefs::instance()->mShowIconDay7 ) { goto DAY_7 ;} |
277 | if ( KOPrefs::instance()->mShowIconDay6 ) { goto DAY_6 ;} | 269 | if ( KOPrefs::instance()->mShowIconDay6 ) { goto DAY_6 ;} |
278 | if ( KOPrefs::instance()->mShowIconMonth ) {goto MONTH ;} | 270 | if ( KOPrefs::instance()->mShowIconMonth ) {goto MONTH ;} |
279 | if ( KOPrefs::instance()->mShowIconList ) { goto LIST ;} | 271 | if ( KOPrefs::instance()->mShowIconList ) { goto LIST ;} |
280 | //if ( KOPrefs::instance()->mShowIconTodoview ) { showTodoView() ;goto ENTE ;} | 272 | //if ( KOPrefs::instance()->mShowIconTodoview ) { showTodoView() ;goto ENTE ;} |
281 | ENTE: | 273 | ENTE: |
282 | flagResetViewChangeDate = 0; | 274 | flagResetViewChangeDate = 0; |
283 | selecteddatescount = mMainView->dateNavigator()->selectedDates().count(); | 275 | selecteddatescount = mMainView->dateNavigator()->selectedDates().count(); |
284 | selecteddate = mMainView->dateNavigator()->selectedDates().first(); | 276 | selecteddate = mMainView->dateNavigator()->selectedDates().first(); |
285 | 277 | ||
286 | } | 278 | } |
287 | void KOViewManager::resetDateSilent( QDate date , int days ) | 279 | void KOViewManager::resetDateSilent( QDate date , int days ) |
288 | { | 280 | { |
289 | mMainView->dateNavigator()->blockSignals( true ); | 281 | mMainView->dateNavigator()->blockSignals( true ); |
290 | mMainView->dateNavigator()->selectDates( date , days ); | 282 | mMainView->dateNavigator()->selectDates( date , days ); |
291 | mMainView->dateNavigator()->blockSignals( false ); | 283 | mMainView->dateNavigator()->blockSignals( false ); |
292 | } | 284 | } |
293 | void KOViewManager::showView(KOrg::BaseView *view, bool fullScreen ) | 285 | void KOViewManager::showView(KOrg::BaseView *view, bool fullScreen ) |
294 | { | 286 | { |
295 | if ( flagResetViewChangeDate < 10 ) | 287 | if ( flagResetViewChangeDate < 10 ) |
296 | ++flagResetViewChangeDate; | 288 | ++flagResetViewChangeDate; |
297 | //mFlagShowNextxDays = false; | 289 | //mFlagShowNextxDays = false; |
298 | //if(view == mCurrentView) return; | 290 | //if(view == mCurrentView) return; |
299 | if ( view == 0 ) { | 291 | if ( view == 0 ) { |
300 | view = mCurrentView; | 292 | view = mCurrentView; |
301 | if ( view == 0 ) | 293 | if ( view == 0 ) |
302 | return; | 294 | return; |
303 | } | 295 | } |
304 | bool callupdate = !(view == mCurrentView); | 296 | bool callupdate = !(view == mCurrentView); |
305 | bool full = fullScreen; | 297 | bool full = fullScreen; |
306 | if(view == mCurrentView && view != mWhatsNextView ) { | 298 | if(view == mCurrentView && view != mWhatsNextView ) { |
307 | if ( mCurrentAgendaView < 0 ) | 299 | if ( mCurrentAgendaView < 0 ) |
308 | return; | 300 | return; |
309 | if ( view != mMonthView ) | 301 | if ( view != mMonthView ) |
310 | full = mMainView->leftFrame()->isVisible(); | 302 | full = mMainView->leftFrame()->isVisible(); |
311 | } else { | 303 | } else { |
312 | if ( view == mMonthView && mMonthView) | 304 | if ( view == mMonthView && mMonthView) |
313 | ;//mMonthView->skipResize = true ; | 305 | ;//mMonthView->skipResize = true ; |
314 | mCurrentView = view; | 306 | mCurrentView = view; |
315 | // bool full = fullScreen; | 307 | // bool full = fullScreen; |
316 | bool isFull = !mMainView->leftFrame()->isVisible(); | 308 | bool isFull = !mMainView->leftFrame()->isVisible(); |
317 | if ( isFull && KOPrefs::instance()->mViewChangeHoldFullscreen ) | 309 | if ( isFull && KOPrefs::instance()->mViewChangeHoldFullscreen ) |
318 | full = true; | 310 | full = true; |
319 | if ( !isFull && KOPrefs::instance()->mViewChangeHoldNonFullscreen ) | 311 | if ( !isFull && KOPrefs::instance()->mViewChangeHoldNonFullscreen ) |
320 | full = false; | 312 | full = false; |
321 | } | 313 | } |
322 | if ( mAgendaView ) mAgendaView->deleteSelectedDateTime(); | 314 | if ( mAgendaView ) mAgendaView->deleteSelectedDateTime(); |
323 | //raiseCurrentView( full ); | 315 | //raiseCurrentView( full ); |
324 | mMainView->processIncidenceSelection( 0 ); | 316 | mMainView->processIncidenceSelection( 0 ); |
325 | //mMainView->updateView(); | 317 | //mMainView->updateView(); |
326 | raiseCurrentView( full, callupdate ); | 318 | raiseCurrentView( full, callupdate ); |
327 | mMainView->adaptNavigationUnits(); | 319 | mMainView->adaptNavigationUnits(); |
328 | } | 320 | } |
329 | 321 | ||
330 | void KOViewManager::raiseCurrentView( bool fullScreen, bool callUpdateView ) | 322 | void KOViewManager::raiseCurrentView( bool fullScreen, bool callUpdateView ) |
331 | { | 323 | { |
332 | mCurrentAgendaView = 0; | 324 | mCurrentAgendaView = 0; |
333 | if ( fullScreen ) { | 325 | if ( fullScreen ) { |
334 | mMainView->leftFrame()->hide(); | 326 | mMainView->leftFrame()->hide(); |
335 | } else { | 327 | } else { |
336 | mMainView->leftFrame()->show(); | 328 | mMainView->leftFrame()->show(); |
337 | } | 329 | } |
338 | //if ( mCurrentView == mMonthView ) qApp->processEvents(); | 330 | //if ( mCurrentView == mMonthView ) qApp->processEvents(); |
339 | emit signalFullScreen( !fullScreen ); | 331 | emit signalFullScreen( !fullScreen ); |
340 | if ( callUpdateView ) | 332 | if ( callUpdateView ) |
341 | mMainView->updateView(); | 333 | mMainView->updateView(); |
342 | 334 | ||
343 | if ( globalFlagBlockAgenda == 5 ) { | 335 | if ( globalFlagBlockAgenda == 5 ) { |
344 | globalFlagBlockAgenda = 4; | 336 | globalFlagBlockAgenda = 4; |
345 | globalFlagBlockAgendaItemPaint = 1; | 337 | globalFlagBlockAgendaItemPaint = 1; |
346 | } | 338 | } |
347 | mMainView->viewStack()->raiseWidget(mCurrentView); | 339 | mMainView->viewStack()->raiseWidget(mCurrentView); |
348 | if ( globalFlagBlockAgenda == 4 ) { | 340 | if ( globalFlagBlockAgenda == 4 ) { |
349 | if ( mCurrentView == mAgendaView ) { | 341 | if ( mCurrentView == mAgendaView ) { |
350 | //globalFlagBlockAgenda =1 ; | 342 | //globalFlagBlockAgenda =1 ; |
351 | if ( KOPrefs::instance()->mSetTimeToDayStartAt ) | 343 | if ( KOPrefs::instance()->mSetTimeToDayStartAt ) |
352 | mAgendaView->setStartHour( KOPrefs::instance()->mDayBegins ); | 344 | mAgendaView->setStartHour( KOPrefs::instance()->mDayBegins ); |
353 | else if ( KOPrefs::instance()->mCenterOnCurrentTime ) | 345 | else if ( KOPrefs::instance()->mCenterOnCurrentTime ) |
354 | mAgendaView->setStartHour( QTime::currentTime ().hour() ); | 346 | mAgendaView->setStartHour( QTime::currentTime ().hour() ); |
355 | qApp->processEvents(); | 347 | qApp->processEvents(); |
356 | //qDebug("qApp->processEvents() "); | 348 | //qDebug("qApp->processEvents() "); |
357 | globalFlagBlockAgenda = 0; | 349 | globalFlagBlockAgenda = 0; |
358 | mAgendaView->repaintAgenda(); | 350 | mAgendaView->repaintAgenda(); |
359 | 351 | ||
360 | } | 352 | } |
361 | globalFlagBlockAgenda = 0; | 353 | globalFlagBlockAgenda = 0; |
362 | } | 354 | } |
363 | emit signalAgendaView( mCurrentView == mAgendaView ); | 355 | emit signalAgendaView( mCurrentView == mAgendaView ); |
364 | //qDebug("raiseCurrentView ende "); | 356 | //qDebug("raiseCurrentView ende "); |
365 | 357 | ||
366 | } | 358 | } |
367 | 359 | ||
368 | void KOViewManager::updateView() | 360 | void KOViewManager::updateView() |
369 | { | 361 | { |
370 | // qDebug("KOViewManager::updateView() "); | 362 | // qDebug("KOViewManager::updateView() "); |
371 | // if we are updating mTodoView, we get endless recursion | 363 | // if we are updating mTodoView, we get endless recursion |
372 | if ( mTodoView == mCurrentView ) | 364 | if ( mTodoView == mCurrentView ) |
373 | return; | 365 | return; |
374 | if ( mCurrentView ) mCurrentView->updateView(); | 366 | if ( mCurrentView ) mCurrentView->updateView(); |
375 | 367 | ||
376 | } | 368 | } |
377 | 369 | ||
378 | void KOViewManager::updateView(const QDate &start, const QDate &end) | 370 | void KOViewManager::updateView(const QDate &start, const QDate &end) |
379 | { | 371 | { |
380 | // kdDebug() << "KOViewManager::updateView()" << endl; | 372 | // kdDebug() << "KOViewManager::updateView()" << endl; |
381 | 373 | ||
382 | if (mCurrentView) mCurrentView->showDates(start, end); | 374 | if (mCurrentView) mCurrentView->showDates(start, end); |
383 | 375 | ||
384 | if (mTodoView && mTodoView == mCurrentView ) mTodoView->updateView(); | 376 | if (mTodoView && mTodoView == mCurrentView ) mTodoView->updateView(); |
385 | } | 377 | } |
386 | 378 | ||
387 | 379 | ||
388 | void KOViewManager::updateWNview() | 380 | void KOViewManager::updateWNview() |
389 | { | 381 | { |
390 | if ( mCurrentView == mWhatsNextView && mWhatsNextView ) | 382 | if ( mCurrentView == mWhatsNextView && mWhatsNextView ) |
391 | mWhatsNextView->updateView(); | 383 | mWhatsNextView->updateView(); |
392 | if ( mCurrentView == mMonthView && mMonthView ) | 384 | if ( mCurrentView == mMonthView && mMonthView ) |
393 | mMonthView->updateView(); | 385 | mMonthView->updateView(); |
394 | 386 | ||
395 | } | 387 | } |
396 | void KOViewManager::showWhatsNextView() | 388 | void KOViewManager::showWhatsNextView() |
397 | { | 389 | { |
398 | if (!mWhatsNextView) { | 390 | if (!mWhatsNextView) { |
399 | mWhatsNextView = new KOWhatsNextView(mMainView->calendar(),mMainView->viewStack(), | 391 | mWhatsNextView = new KOWhatsNextView(mMainView->calendar(),mMainView->viewStack(), |
400 | "KOViewManager::WhatsNextView"); | 392 | "KOViewManager::WhatsNextView"); |
401 | mWhatsNextView->setEventViewer( mMainView->getEventViewerDialog()); | 393 | mWhatsNextView->setEventViewer( mMainView->getEventViewerDialog()); |
402 | connect(mMainView, SIGNAL(configChanged()), mWhatsNextView, SLOT(updateConfig())); | 394 | connect(mMainView, SIGNAL(configChanged()), mWhatsNextView, SLOT(updateConfig())); |
403 | addView(mWhatsNextView); | 395 | addView(mWhatsNextView); |
404 | connect(this, SIGNAL( printWNV() ), | 396 | connect(this, SIGNAL( printWNV() ), |
405 | mWhatsNextView, SLOT( printMe() ) ); | 397 | mWhatsNextView, SLOT( printMe() ) ); |
406 | } | 398 | } |
407 | globalFlagBlockAgenda = 1; | 399 | globalFlagBlockAgenda = 1; |
408 | showView(mWhatsNextView, true ); | 400 | showView(mWhatsNextView, true ); |
409 | //mWhatsNextView->updateView(); | 401 | //mWhatsNextView->updateView(); |
410 | 402 | KOPrefs::instance()->mCurrentDisplayedView = VIEW_WN_VIEW; | |
411 | } | 403 | } |
412 | 404 | ||
413 | void KOViewManager::slotprintWNV() | 405 | void KOViewManager::slotprintWNV() |
414 | { | 406 | { |
415 | if (!mWhatsNextView) | 407 | if (!mWhatsNextView) |
416 | showWhatsNextView(); | 408 | showWhatsNextView(); |
417 | emit printWNV(); | 409 | emit printWNV(); |
418 | 410 | ||
419 | } | 411 | } |
420 | void KOViewManager::showListView() | 412 | void KOViewManager::showListView() |
421 | { | 413 | { |
422 | if (!mListView) { | 414 | if (!mListView) { |
423 | mListView = new KOListView(mMainView->calendar(), mMainView->viewStack(), "KOViewManager::ListView"); | 415 | mListView = new KOListView(mMainView->calendar(), mMainView->viewStack(), "KOViewManager::ListView"); |
424 | addView(mListView); | 416 | addView(mListView); |
425 | 417 | ||
426 | connect(mListView, SIGNAL(showIncidenceSignal(Incidence *)), | 418 | connect(mListView, SIGNAL(showIncidenceSignal(Incidence *)), |
427 | mMainView, SLOT(showIncidence(Incidence *))); | 419 | mMainView, SLOT(showIncidence(Incidence *))); |
428 | connect(mListView, SIGNAL(editIncidenceSignal(Incidence *)), | 420 | connect(mListView, SIGNAL(editIncidenceSignal(Incidence *)), |
429 | mMainView, SLOT(editIncidence(Incidence *))); | 421 | mMainView, SLOT(editIncidence(Incidence *))); |
430 | connect(mListView, SIGNAL(deleteIncidenceSignal(Incidence *)), | 422 | connect(mListView, SIGNAL(deleteIncidenceSignal(Incidence *)), |
431 | mMainView, SLOT(deleteIncidence(Incidence *))); | 423 | mMainView, SLOT(deleteIncidence(Incidence *))); |
432 | connect( mListView, SIGNAL( incidenceSelected( Incidence * ) ), | 424 | connect( mListView, SIGNAL( incidenceSelected( Incidence * ) ), |
433 | mMainView, SLOT( processMainViewSelection( Incidence * ) ) ); | 425 | mMainView, SLOT( processMainViewSelection( Incidence * ) ) ); |
434 | connect( mListView, SIGNAL( signalNewEvent() ), | 426 | connect( mListView, SIGNAL( signalNewEvent() ), |
435 | mMainView, SLOT( newEvent() ) ); | 427 | mMainView, SLOT( newEvent() ) ); |
436 | connect(mMainView, SIGNAL(configChanged()), mListView, SLOT(updateConfig())); | 428 | connect(mMainView, SIGNAL(configChanged()), mListView, SLOT(updateConfig())); |
437 | connect( mListView, SIGNAL( cloneIncidenceSignal( Incidence * ) ), | 429 | connect( mListView, SIGNAL( cloneIncidenceSignal( Incidence * ) ), |
438 | mMainView, SLOT ( cloneIncidence( Incidence * ) ) ); | 430 | mMainView, SLOT ( cloneIncidence( Incidence * ) ) ); |
439 | connect( mListView, SIGNAL( cancelIncidenceSignal( Incidence * ) ), | 431 | connect( mListView, SIGNAL( cancelIncidenceSignal( Incidence * ) ), |
440 | mMainView, SLOT ( cancelIncidence( Incidence * ) ) ); | 432 | mMainView, SLOT ( cancelIncidence( Incidence * ) ) ); |
441 | connect( mListView, SIGNAL( moveIncidenceSignal( Incidence * ) ), | 433 | connect( mListView, SIGNAL( moveIncidenceSignal( Incidence * ) ), |
442 | mMainView, SLOT ( moveIncidence( Incidence * ) ) ); | 434 | mMainView, SLOT ( moveIncidence( Incidence * ) ) ); |
443 | connect( mListView, SIGNAL( beamIncidenceSignal( Incidence * ) ), | 435 | connect( mListView, SIGNAL( beamIncidenceSignal( Incidence * ) ), |
444 | mMainView, SLOT ( beamIncidence( Incidence * ) ) ); | 436 | mMainView, SLOT ( beamIncidence( Incidence * ) ) ); |
445 | } | 437 | } |
446 | // bool temp = mFlagShowNextxDays; | 438 | // bool temp = mFlagShowNextxDays; |
447 | //globalFlagBlockPainting = true; | 439 | //globalFlagBlockPainting = true; |
448 | globalFlagBlockAgenda = 1; | 440 | globalFlagBlockAgenda = 1; |
449 | if ( KOPrefs::instance()->mListViewMonthTimespan ) { | 441 | if ( KOPrefs::instance()->mListViewMonthTimespan ) { |
450 | mMainView->setBlockShowDates( true ); | 442 | mMainView->setBlockShowDates( true ); |
451 | mMainView->dateNavigator()->selectMonth(); | 443 | mMainView->dateNavigator()->selectMonth(); |
452 | mMainView->setBlockShowDates( false ); | 444 | mMainView->setBlockShowDates( false ); |
453 | } | 445 | } |
454 | showView(mListView, KOPrefs::instance()->mFullViewTodo); | 446 | showView(mListView, KOPrefs::instance()->mFullViewTodo); |
455 | //mFlagShowNextxDays = temp; | 447 | //mFlagShowNextxDays = temp; |
448 | KOPrefs::instance()->mCurrentDisplayedView = VIEW_L_VIEW; | ||
456 | } | 449 | } |
457 | 450 | ||
458 | void KOViewManager::showAgendaView( bool fullScreen ) | 451 | void KOViewManager::showAgendaView( bool fullScreen ) |
459 | { | 452 | { |
460 | 453 | ||
461 | mMainView->dialogManager()->hideSearchDialog(); | 454 | mMainView->dialogManager()->hideSearchDialog(); |
462 | // qDebug("KOViewManager::showAgendaView "); | 455 | // qDebug("KOViewManager::showAgendaView "); |
463 | bool full; | 456 | bool full; |
464 | full = fullScreen; | 457 | full = fullScreen; |
465 | if (!mAgendaView) { | 458 | if (!mAgendaView) { |
466 | full = false; | 459 | full = false; |
467 | mAgendaView = new KOAgendaView(mMainView->calendar(), mMainView->viewStack(), "KOViewManager::AgendaView"); | 460 | mAgendaView = new KOAgendaView(mMainView->calendar(), mMainView->viewStack(), "KOViewManager::AgendaView"); |
468 | addView(mAgendaView); | 461 | addView(mAgendaView); |
469 | #ifndef DESKTOP_VERSION | 462 | #ifndef DESKTOP_VERSION |
470 | QPEApplication::setStylusOperation( mAgendaView, QPEApplication::RightOnHold ); | 463 | QPEApplication::setStylusOperation( mAgendaView, QPEApplication::RightOnHold ); |
471 | #endif | 464 | #endif |
472 | connect( mAgendaView, SIGNAL( incidenceChanged(Incidence *, int )), | 465 | connect( mAgendaView, SIGNAL( incidenceChanged(Incidence *, int )), |
473 | mMainView, SLOT( changeIncidenceDisplay( Incidence *, int ) )); | 466 | mMainView, SLOT( changeIncidenceDisplay( Incidence *, int ) )); |
474 | 467 | ||
475 | // SIGNALS/SLOTS FOR DAY/WEEK VIEW | 468 | // SIGNALS/SLOTS FOR DAY/WEEK VIEW |
476 | 469 | ||
477 | connect(mAgendaView,SIGNAL(showDateView( int, QDate )),SLOT(showDateView( int, QDate ))); | 470 | connect(mAgendaView,SIGNAL(showDateView( int, QDate )),SLOT(showDateView( int, QDate ))); |
478 | 471 | ||
479 | connect(mAgendaView,SIGNAL(newTodoSignal(QDateTime,bool)), | 472 | connect(mAgendaView,SIGNAL(newTodoSignal(QDateTime,bool)), |
480 | mMainView, SLOT(newTodoDateTime(QDateTime,bool))); | 473 | mMainView, SLOT(newTodoDateTime(QDateTime,bool))); |
481 | connect(mAgendaView,SIGNAL(newEventSignal(QDateTime)), | 474 | connect(mAgendaView,SIGNAL(newEventSignal(QDateTime)), |
482 | mMainView, SLOT(newEvent(QDateTime))); | 475 | mMainView, SLOT(newEvent(QDateTime))); |
483 | connect(mAgendaView,SIGNAL(newEventSignal(QDateTime,QDateTime)), | 476 | connect(mAgendaView,SIGNAL(newEventSignal(QDateTime,QDateTime)), |
484 | mMainView, SLOT(newEvent(QDateTime,QDateTime))); | 477 | mMainView, SLOT(newEvent(QDateTime,QDateTime))); |
485 | connect(mAgendaView,SIGNAL(newEventSignal(QDate)), | 478 | connect(mAgendaView,SIGNAL(newEventSignal(QDate)), |
486 | mMainView, SLOT(newEvent(QDate))); | 479 | mMainView, SLOT(newEvent(QDate))); |
487 | 480 | ||
488 | connect(mAgendaView, SIGNAL(editIncidenceSignal(Incidence *)), | 481 | connect(mAgendaView, SIGNAL(editIncidenceSignal(Incidence *)), |
489 | mMainView, SLOT(editIncidence(Incidence *))); | 482 | mMainView, SLOT(editIncidence(Incidence *))); |
490 | connect(mAgendaView, SIGNAL(showIncidenceSignal(Incidence *)), | 483 | connect(mAgendaView, SIGNAL(showIncidenceSignal(Incidence *)), |
491 | mMainView, SLOT(showIncidence(Incidence *))); | 484 | mMainView, SLOT(showIncidence(Incidence *))); |
492 | connect(mAgendaView, SIGNAL(deleteIncidenceSignal(Incidence *)), | 485 | connect(mAgendaView, SIGNAL(deleteIncidenceSignal(Incidence *)), |
493 | mMainView, SLOT(deleteIncidence(Incidence *))); | 486 | mMainView, SLOT(deleteIncidence(Incidence *))); |
494 | 487 | ||
495 | connect( mAgendaView, SIGNAL( incidenceSelected( Incidence * ) ), | 488 | connect( mAgendaView, SIGNAL( incidenceSelected( Incidence * ) ), |
496 | mMainView, SLOT( processMainViewSelection( Incidence * ) ) ); | 489 | mMainView, SLOT( processMainViewSelection( Incidence * ) ) ); |
497 | 490 | ||
498 | connect(mAgendaView, SIGNAL( toggleExpand() ), | 491 | connect(mAgendaView, SIGNAL( toggleExpand() ), |
499 | mMainView, SLOT( toggleExpand() ) ); | 492 | mMainView, SLOT( toggleExpand() ) ); |
500 | 493 | ||
501 | connect( mAgendaView, SIGNAL( cloneIncidenceSignal(Incidence *) ), | 494 | connect( mAgendaView, SIGNAL( cloneIncidenceSignal(Incidence *) ), |
502 | mMainView, SLOT(cloneIncidence(Incidence *) ) ) ; | 495 | mMainView, SLOT(cloneIncidence(Incidence *) ) ) ; |
503 | connect( mAgendaView, SIGNAL( cancelIncidenceSignal(Incidence *) ), | 496 | connect( mAgendaView, SIGNAL( cancelIncidenceSignal(Incidence *) ), |
504 | mMainView, SLOT(cancelIncidence(Incidence *) ) ) ; | 497 | mMainView, SLOT(cancelIncidence(Incidence *) ) ) ; |
505 | connect(mMainView, SIGNAL(configChanged()), mAgendaView, SLOT(updateConfig())); | 498 | connect(mMainView, SIGNAL(configChanged()), mAgendaView, SLOT(updateConfig())); |
506 | connect( mMainView, SIGNAL( todoModified( Todo *, int )), mAgendaView, | 499 | connect( mMainView, SIGNAL( todoModified( Todo *, int )), mAgendaView, |
507 | SLOT( updateTodo( Todo *, int ) ) ); | 500 | SLOT( updateTodo( Todo *, int ) ) ); |
508 | connect( mAgendaView,SIGNAL( todoMoved( Todo *, int )), | 501 | connect( mAgendaView,SIGNAL( todoMoved( Todo *, int )), |
509 | mMainView, SIGNAL( todoModified( Todo *, int ))); | 502 | mMainView, SIGNAL( todoModified( Todo *, int ))); |
510 | connect( mAgendaView, SIGNAL( moveIncidenceSignal( Incidence * ) ), | 503 | connect( mAgendaView, SIGNAL( moveIncidenceSignal( Incidence * ) ), |
511 | mMainView, SLOT ( moveIncidence( Incidence * ) ) ); | 504 | mMainView, SLOT ( moveIncidence( Incidence * ) ) ); |
512 | connect( mAgendaView, SIGNAL( beamIncidenceSignal( Incidence * ) ), | 505 | connect( mAgendaView, SIGNAL( beamIncidenceSignal( Incidence * ) ), |
513 | mMainView, SLOT ( beamIncidence( Incidence * ) ) ); | 506 | mMainView, SLOT ( beamIncidence( Incidence * ) ) ); |
514 | connect( mAgendaView, SIGNAL( selectWeekNum( int ) ), | 507 | connect( mAgendaView, SIGNAL( selectWeekNum( int ) ), |
515 | mMainView->dateNavigator(), SLOT ( selectWeek( int ) ) ); | 508 | mMainView->dateNavigator(), SLOT ( selectWeek( int ) ) ); |
516 | mAgendaView->readSettings(); | 509 | mAgendaView->readSettings(); |
517 | mAgendaView->updateConfig(); | 510 | mAgendaView->updateConfig(); |
518 | } | 511 | } |
519 | 512 | ||
520 | showView( mAgendaView, full); | 513 | showView( mAgendaView, full); |
521 | 514 | KOPrefs::instance()->mCurrentDisplayedView = VIEW_A_VIEW; | |
522 | } | 515 | } |
523 | 516 | ||
524 | void KOViewManager::showDayView() | 517 | void KOViewManager::showDayView() |
525 | { | 518 | { |
526 | mCurrentAgendaView = mMainView->dateNavigator()->selectedDates().count(); | 519 | mCurrentAgendaView = mMainView->dateNavigator()->selectedDates().count(); |
527 | mFlagShowNextxDays = false; | 520 | mFlagShowNextxDays = false; |
528 | globalFlagBlockLabel = 1; | 521 | globalFlagBlockLabel = 1; |
529 | globalFlagBlockAgenda = 1; | 522 | globalFlagBlockAgenda = 1; |
530 | if ( mCurrentAgendaView != 1 ) | 523 | if ( mCurrentAgendaView != 1 ) |
531 | mCurrentAgendaView = -1; | 524 | mCurrentAgendaView = -1; |
532 | showAgendaView(); | 525 | showAgendaView(); |
533 | qApp->processEvents(); | 526 | qApp->processEvents(); |
534 | globalFlagBlockAgenda = 2; | 527 | globalFlagBlockAgenda = 2; |
535 | globalFlagBlockLabel = 0; | 528 | globalFlagBlockLabel = 0; |
536 | mMainView->dateNavigator()->selectDates( 1 ); | 529 | mMainView->dateNavigator()->selectDates( 1 ); |
537 | mCurrentAgendaView = 1 ; | 530 | mCurrentAgendaView = 1 ; |
538 | 531 | ||
539 | } | 532 | } |
540 | 533 | ||
541 | void KOViewManager::showWorkWeekView() | 534 | void KOViewManager::showWorkWeekView() |
542 | { | 535 | { |
543 | mCurrentAgendaView = mMainView->dateNavigator()->selectedDates().count(); | 536 | mCurrentAgendaView = mMainView->dateNavigator()->selectedDates().count(); |
544 | mFlagShowNextxDays = false; | 537 | mFlagShowNextxDays = false; |
545 | globalFlagBlockAgenda = 1; | 538 | globalFlagBlockAgenda = 1; |
546 | globalFlagBlockLabel = 1; | 539 | globalFlagBlockLabel = 1; |
547 | if ( mCurrentAgendaView != 5 ) | 540 | if ( mCurrentAgendaView != 5 ) |
548 | mCurrentAgendaView = -1; | 541 | mCurrentAgendaView = -1; |
549 | showAgendaView(); | 542 | showAgendaView(); |
550 | qApp->processEvents(); | 543 | qApp->processEvents(); |
551 | globalFlagBlockAgenda = 2; | 544 | globalFlagBlockAgenda = 2; |
552 | globalFlagBlockLabel = 0; | 545 | globalFlagBlockLabel = 0; |
553 | mMainView->dateNavigator()->selectWorkWeek(); | 546 | mMainView->dateNavigator()->selectWorkWeek(); |
554 | mCurrentAgendaView = 5 ; | 547 | mCurrentAgendaView = 5 ; |
555 | 548 | ||
556 | } | 549 | } |
557 | 550 | ||
558 | void KOViewManager::showWeekView() | 551 | void KOViewManager::showWeekView() |
559 | { | 552 | { |
560 | /* | 553 | /* |
561 | globalFlagBlockAgenda = 2; | 554 | globalFlagBlockAgenda = 2; |
562 | qDebug("4globalFlagBlockAgenda = 2; "); | 555 | qDebug("4globalFlagBlockAgenda = 2; "); |
563 | //globalFlagBlockPainting = true; | 556 | //globalFlagBlockPainting = true; |
564 | mMainView->dateNavigator()->selectWeek(); | 557 | mMainView->dateNavigator()->selectWeek(); |
565 | showAgendaView(); | 558 | showAgendaView(); |
566 | */ | 559 | */ |
567 | 560 | ||
568 | 561 | ||
569 | mCurrentAgendaView = mMainView->dateNavigator()->selectedDates().count(); | 562 | mCurrentAgendaView = mMainView->dateNavigator()->selectedDates().count(); |
570 | mFlagShowNextxDays = false; | 563 | mFlagShowNextxDays = false; |
571 | globalFlagBlockAgenda = 1; | 564 | globalFlagBlockAgenda = 1; |
572 | globalFlagBlockLabel = 1; | 565 | globalFlagBlockLabel = 1; |
573 | if ( mCurrentAgendaView != 7 ) | 566 | if ( mCurrentAgendaView != 7 ) |
574 | mCurrentAgendaView = -1; | 567 | mCurrentAgendaView = -1; |
575 | showAgendaView(); | 568 | showAgendaView(); |
576 | qApp->processEvents(); | 569 | qApp->processEvents(); |
577 | globalFlagBlockAgenda = 2; | 570 | globalFlagBlockAgenda = 2; |
578 | globalFlagBlockLabel = 0; | 571 | globalFlagBlockLabel = 0; |
579 | mMainView->dateNavigator()->selectWeek(); | 572 | mMainView->dateNavigator()->selectWeek(); |
580 | mCurrentAgendaView = 7 ; | 573 | mCurrentAgendaView = 7 ; |
581 | } | 574 | } |
582 | 575 | ||
583 | void KOViewManager::showNextXView() | 576 | void KOViewManager::showNextXView() |
584 | { | 577 | { |
585 | 578 | ||
586 | globalFlagBlockAgenda = 1; | 579 | globalFlagBlockAgenda = 1; |
587 | if ( mCurrentAgendaView != 3 ) | 580 | if ( mCurrentAgendaView != 3 ) |
588 | mCurrentAgendaView = -1; | 581 | mCurrentAgendaView = -1; |
589 | showAgendaView(KOPrefs::instance()->mFullViewMonth); | 582 | showAgendaView(KOPrefs::instance()->mFullViewMonth); |
590 | globalFlagBlockAgenda = 2; | 583 | globalFlagBlockAgenda = 2; |
591 | mMainView->dateNavigator()->selectDates( QDate::currentDate(), | 584 | mMainView->dateNavigator()->selectDates( QDate::currentDate(), |
592 | KOPrefs::instance()->mNextXDays ); | 585 | KOPrefs::instance()->mNextXDays ); |
593 | mFlagShowNextxDays = true; | 586 | mFlagShowNextxDays = true; |
594 | mCurrentAgendaView = 3 ; | 587 | mCurrentAgendaView = 3 ; |
588 | KOPrefs::instance()->mCurrentDisplayedView = VIEW_NX_VIEW; | ||
595 | } | 589 | } |
596 | bool KOViewManager::showsNextDays() | 590 | bool KOViewManager::showsNextDays() |
597 | { | 591 | { |
598 | return mFlagShowNextxDays; | 592 | return mFlagShowNextxDays; |
599 | } | 593 | } |
600 | void KOViewManager::createMonthView() | 594 | void KOViewManager::createMonthView() |
601 | { | 595 | { |
602 | if (!mMonthView) { | 596 | if (!mMonthView) { |
603 | mMonthView = new KOMonthView(mMainView->calendar(), mMainView->viewStack(), "KOViewManager::MonthView"); | 597 | mMonthView = new KOMonthView(mMainView->calendar(), mMainView->viewStack(), "KOViewManager::MonthView"); |
604 | 598 | ||
605 | addView(mMonthView); | 599 | addView(mMonthView); |
606 | // mMonthView->show(); | 600 | // mMonthView->show(); |
607 | // SIGNALS/SLOTS FOR MONTH VIEW | 601 | // SIGNALS/SLOTS FOR MONTH VIEW |
608 | connect(mMonthView, SIGNAL(newEventSignal(QDateTime)), | 602 | connect(mMonthView, SIGNAL(newEventSignal(QDateTime)), |
609 | mMainView, SLOT(newEvent(QDateTime))); | 603 | mMainView, SLOT(newEvent(QDateTime))); |
610 | 604 | ||
611 | connect(mMonthView, SIGNAL(showIncidenceSignal(Incidence *)), | 605 | connect(mMonthView, SIGNAL(showIncidenceSignal(Incidence *)), |
612 | mMainView, SLOT(showIncidence(Incidence *))); | 606 | mMainView, SLOT(showIncidence(Incidence *))); |
613 | connect(mMonthView, SIGNAL(editIncidenceSignal(Incidence *)), | 607 | connect(mMonthView, SIGNAL(editIncidenceSignal(Incidence *)), |
614 | mMainView, SLOT(editIncidence(Incidence *))); | 608 | mMainView, SLOT(editIncidence(Incidence *))); |
615 | connect(mMonthView, SIGNAL(deleteIncidenceSignal(Incidence *)), | 609 | connect(mMonthView, SIGNAL(deleteIncidenceSignal(Incidence *)), |
616 | mMainView, SLOT(deleteIncidence(Incidence *))); | 610 | mMainView, SLOT(deleteIncidence(Incidence *))); |
617 | 611 | ||
618 | connect( mMonthView, SIGNAL( incidenceSelected( Incidence * ) ), | 612 | connect( mMonthView, SIGNAL( incidenceSelected( Incidence * ) ), |
619 | mMainView, SLOT( processMainViewSelection( Incidence * ) ) ); | 613 | mMainView, SLOT( processMainViewSelection( Incidence * ) ) ); |
620 | connect( mMonthView, SIGNAL( cloneIncidenceSignal( Incidence * ) ), | 614 | connect( mMonthView, SIGNAL( cloneIncidenceSignal( Incidence * ) ), |
621 | mMainView, SLOT ( cloneIncidence( Incidence * ) ) ); | 615 | mMainView, SLOT ( cloneIncidence( Incidence * ) ) ); |
622 | connect( mMonthView, SIGNAL( cancelIncidenceSignal( Incidence * ) ), | 616 | connect( mMonthView, SIGNAL( cancelIncidenceSignal( Incidence * ) ), |
623 | mMainView, SLOT ( cancelIncidence( Incidence * ) ) ); | 617 | mMainView, SLOT ( cancelIncidence( Incidence * ) ) ); |
624 | 618 | ||
625 | connect( mMonthView, SIGNAL( moveIncidenceSignal( Incidence * ) ), | 619 | connect( mMonthView, SIGNAL( moveIncidenceSignal( Incidence * ) ), |
626 | mMainView, SLOT ( moveIncidence( Incidence * ) ) ); | 620 | mMainView, SLOT ( moveIncidence( Incidence * ) ) ); |
627 | connect( mMonthView, SIGNAL( beamIncidenceSignal( Incidence * ) ), | 621 | connect( mMonthView, SIGNAL( beamIncidenceSignal( Incidence * ) ), |
628 | mMainView, SLOT ( beamIncidence( Incidence * ) ) ); | 622 | mMainView, SLOT ( beamIncidence( Incidence * ) ) ); |
629 | connect( mMonthView, SIGNAL( selectWeekNum( int ) ), | 623 | connect( mMonthView, SIGNAL( selectWeekNum( int ) ), |
630 | mMainView->dateNavigator(), SLOT ( selectWeekFromMonthView( int ) ) ); | 624 | mMainView->dateNavigator(), SLOT ( selectWeekFromMonthView( int ) ) ); |
631 | connect( mMonthView, SIGNAL( selectMonth() ), | 625 | connect( mMonthView, SIGNAL( selectMonth() ), |
632 | mMainView->dateNavigator(), SLOT ( selectMonthFromMonthview() ) ); | 626 | mMainView->dateNavigator(), SLOT ( selectMonthFromMonthview() ) ); |
633 | connect( mMonthView, SIGNAL( showDaySignal( QDate ) ), | 627 | connect( mMonthView, SIGNAL( showDaySignal( QDate ) ), |
634 | mMainView, SLOT ( showDay( QDate ) ) ); | 628 | mMainView, SLOT ( showDay( QDate ) ) ); |
635 | connect(mMainView, SIGNAL(configChanged()), mMonthView, SLOT(updateConfig())); | 629 | connect(mMainView, SIGNAL(configChanged()), mMonthView, SLOT(updateConfig())); |
636 | connect( mMonthView, SIGNAL(nextMonth() ), | 630 | connect( mMonthView, SIGNAL(nextMonth() ), |
637 | mMonthView->navigatorBar(), SIGNAL(goNextMonth() ) ); | 631 | mMonthView->navigatorBar(), SIGNAL(goNextMonth() ) ); |
638 | connect( mMonthView, SIGNAL(prevMonth() ), | 632 | connect( mMonthView, SIGNAL(prevMonth() ), |
639 | mMonthView->navigatorBar(), SIGNAL(goPrevMonth() ) ); | 633 | mMonthView->navigatorBar(), SIGNAL(goPrevMonth() ) ); |
640 | connect( mMonthView->navigatorBar(), SIGNAL( goPrevYear() ), | 634 | connect( mMonthView->navigatorBar(), SIGNAL( goPrevYear() ), |
641 | mMainView->dateNavigator(), SLOT( selectPreviousYear() ) ); | 635 | mMainView->dateNavigator(), SLOT( selectPreviousYear() ) ); |
642 | connect( mMonthView->navigatorBar(), SIGNAL( goNextYear() ), | 636 | connect( mMonthView->navigatorBar(), SIGNAL( goNextYear() ), |
643 | mMainView->dateNavigator(), SLOT( selectNextYear() ) ); | 637 | mMainView->dateNavigator(), SLOT( selectNextYear() ) ); |
644 | connect( mMonthView->navigatorBar(), SIGNAL( goPrevMonth() ), | 638 | connect( mMonthView->navigatorBar(), SIGNAL( goPrevMonth() ), |
645 | mMainView->dateNavigator(), SLOT( selectPreviousMonth() ) ); | 639 | mMainView->dateNavigator(), SLOT( selectPreviousMonth() ) ); |
646 | connect( mMonthView->navigatorBar(), SIGNAL( goNextMonth() ), | 640 | connect( mMonthView->navigatorBar(), SIGNAL( goNextMonth() ), |
647 | mMainView->dateNavigator(), SLOT( selectNextMonth() ) ); | 641 | mMainView->dateNavigator(), SLOT( selectNextMonth() ) ); |
648 | connect( mMonthView->navigatorBar(), SIGNAL( goPrevWeek() ), | 642 | connect( mMonthView->navigatorBar(), SIGNAL( goPrevWeek() ), |
649 | mMainView->dateNavigator(), SLOT( selectPreviousWeek() ) ); | 643 | mMainView->dateNavigator(), SLOT( selectPreviousWeek() ) ); |
650 | connect( mMonthView->navigatorBar(), SIGNAL( goNextWeek() ), | 644 | connect( mMonthView->navigatorBar(), SIGNAL( goNextWeek() ), |
651 | mMainView->dateNavigator(), SLOT( selectNextWeek() ) ); | 645 | mMainView->dateNavigator(), SLOT( selectNextWeek() ) ); |
652 | 646 | ||
653 | connect( mMainView->dateNavigator(), SIGNAL( datesSelected( const KCal::DateList & ) ), | 647 | connect( mMainView->dateNavigator(), SIGNAL( datesSelected( const KCal::DateList & ) ), |
654 | mMonthView->navigatorBar(), SLOT( selectDates( const KCal::DateList & ) ) ); | 648 | mMonthView->navigatorBar(), SLOT( selectDates( const KCal::DateList & ) ) ); |
655 | 649 | ||
656 | 650 | ||
657 | connect( mMonthView->navigatorBar(), SIGNAL( monthSelected ( int ) ), | 651 | connect( mMonthView->navigatorBar(), SIGNAL( monthSelected ( int ) ), |
658 | mMainView->dateNavigator(), SLOT( slotMonthSelect( int ) ) ); | 652 | mMainView->dateNavigator(), SLOT( slotMonthSelect( int ) ) ); |
659 | 653 | ||
660 | } | 654 | } |
661 | } | 655 | } |
662 | void KOViewManager::showMonthViewWeek() | 656 | void KOViewManager::showMonthViewWeek() |
663 | { | 657 | { |
664 | createMonthView(); | 658 | createMonthView(); |
665 | globalFlagBlockAgenda = 1; | 659 | globalFlagBlockAgenda = 1; |
666 | bool full = true; | 660 | bool full = true; |
667 | if ( mCurrentView == mMonthView) | 661 | if ( mCurrentView == mMonthView) |
668 | full = mMainView->leftFrame()->isVisible(); | 662 | full = mMainView->leftFrame()->isVisible(); |
669 | if ( !KOPrefs::instance()->mMonthViewWeek ) { | 663 | if ( !KOPrefs::instance()->mMonthViewWeek ) { |
670 | mMonthView->switchView(); | 664 | mMonthView->switchView(); |
671 | if ( KOPrefs::instance()->mViewChangeHoldNonFullscreen && mMainView->leftFrame()->isVisible() ) | 665 | if ( KOPrefs::instance()->mViewChangeHoldNonFullscreen && mMainView->leftFrame()->isVisible() ) |
672 | full = false; | 666 | full = false; |
673 | else | 667 | else |
674 | full = true; | 668 | full = true; |
675 | } | 669 | } |
676 | mMainView->dateNavigator()->selectWeek(); | 670 | mMainView->dateNavigator()->selectWeek(); |
677 | showView(mMonthView, full ); | 671 | showView(mMonthView, full ); |
678 | mMonthView->setKeyBFocus(); | 672 | mMonthView->setKeyBFocus(); |
673 | KOPrefs::instance()->mCurrentDisplayedView = VIEW_ML_VIEW ; | ||
679 | } | 674 | } |
680 | 675 | ||
681 | void KOViewManager::showMonth( const QDate & date ) | 676 | void KOViewManager::showMonth( const QDate & date ) |
682 | { | 677 | { |
683 | mMainView->dateNavigator()->blockSignals( true ); | 678 | mMainView->dateNavigator()->blockSignals( true ); |
684 | mMainView->dateNavigator()->selectDate( date ); | 679 | mMainView->dateNavigator()->selectDate( date ); |
685 | mMainView->dateNavigator()->blockSignals( false ); | 680 | mMainView->dateNavigator()->blockSignals( false ); |
686 | showMonthView(); | 681 | showMonthView(); |
687 | } | 682 | } |
688 | void KOViewManager::showMonthView() | 683 | void KOViewManager::showMonthView() |
689 | { | 684 | { |
690 | 685 | ||
691 | createMonthView(); | 686 | createMonthView(); |
692 | globalFlagBlockAgenda = 1; | 687 | globalFlagBlockAgenda = 1; |
693 | //mFlagShowNextxDays = false; | 688 | //mFlagShowNextxDays = false; |
694 | bool full = true; | 689 | bool full = true; |
695 | if ( mCurrentView == mMonthView) | 690 | if ( mCurrentView == mMonthView) |
696 | full = mMainView->leftFrame()->isVisible(); | 691 | full = mMainView->leftFrame()->isVisible(); |
697 | // if(mMonthView == mCurrentView) return; | 692 | // if(mMonthView == mCurrentView) return; |
698 | if ( KOPrefs::instance()->mMonthViewWeek ) { | 693 | if ( KOPrefs::instance()->mMonthViewWeek ) { |
699 | mMonthView->switchView(); | 694 | mMonthView->switchView(); |
700 | if ( KOPrefs::instance()->mViewChangeHoldNonFullscreen && mMainView->leftFrame()->isVisible() ) | 695 | if ( KOPrefs::instance()->mViewChangeHoldNonFullscreen && mMainView->leftFrame()->isVisible() ) |
701 | full = false; | 696 | full = false; |
702 | else | 697 | else |
703 | full = true; | 698 | full = true; |
704 | } | 699 | } |
705 | mMainView->dateNavigator()->selectMonth(); | 700 | mMainView->dateNavigator()->selectMonth(); |
706 | 701 | ||
707 | showView(mMonthView, full ); | 702 | showView(mMonthView, full ); |
708 | mMonthView->setKeyBFocus(); | 703 | mMonthView->setKeyBFocus(); |
704 | KOPrefs::instance()->mCurrentDisplayedView = VIEW_M_VIEW ; | ||
709 | 705 | ||
710 | } | 706 | } |
711 | 707 | ||
712 | void KOViewManager::showTodoView() | 708 | void KOViewManager::showTodoView() |
713 | { | 709 | { |
714 | //mFlagShowNextxDays = false; | 710 | //mFlagShowNextxDays = false; |
715 | if ( !mTodoView ) { | 711 | if ( !mTodoView ) { |
716 | mTodoView = new KOTodoView( mMainView->calendar(), mMainView->viewStack(), | 712 | mTodoView = new KOTodoView( mMainView->calendar(), mMainView->viewStack(), |
717 | "KOViewManager::TodoView" ); | 713 | "KOViewManager::TodoView" ); |
718 | 714 | ||
719 | addView( mTodoView ); | 715 | addView( mTodoView ); |
720 | // QPEApplication::setStylusOperation( mTodoView, QPEApplication::RightOnHold ); | 716 | // QPEApplication::setStylusOperation( mTodoView, QPEApplication::RightOnHold ); |
721 | 717 | ||
722 | // SIGNALS/SLOTS FOR TODO VIEW | 718 | // SIGNALS/SLOTS FOR TODO VIEW |
723 | connect( mTodoView, SIGNAL( newTodoSignal() ), | 719 | connect( mTodoView, SIGNAL( newTodoSignal() ), |
724 | mMainView, SLOT( newTodo() ) ); | 720 | mMainView, SLOT( newTodo() ) ); |
725 | connect( mTodoView, SIGNAL( newSubTodoSignal( Todo * ) ), | 721 | connect( mTodoView, SIGNAL( newSubTodoSignal( Todo * ) ), |
726 | mMainView, SLOT( newSubTodo( Todo *) ) ); | 722 | mMainView, SLOT( newSubTodo( Todo *) ) ); |
727 | connect( mTodoView, SIGNAL( showTodoSignal( Todo *) ), | 723 | connect( mTodoView, SIGNAL( showTodoSignal( Todo *) ), |
728 | mMainView, SLOT( showTodo( Todo * ) ) ); | 724 | mMainView, SLOT( showTodo( Todo * ) ) ); |
729 | connect( mTodoView, SIGNAL( editTodoSignal( Todo * ) ), | 725 | connect( mTodoView, SIGNAL( editTodoSignal( Todo * ) ), |
730 | mMainView, SLOT( editTodo( Todo * ) ) ); | 726 | mMainView, SLOT( editTodo( Todo * ) ) ); |
731 | connect( mTodoView, SIGNAL( deleteTodoSignal( Todo * ) ), | 727 | connect( mTodoView, SIGNAL( deleteTodoSignal( Todo * ) ), |
732 | mMainView, SLOT( deleteTodo( Todo * ) ) ); | 728 | mMainView, SLOT( deleteTodo( Todo * ) ) ); |
733 | connect( mTodoView, SIGNAL( purgeCompletedSignal() ), | 729 | connect( mTodoView, SIGNAL( purgeCompletedSignal() ), |
734 | mMainView, SLOT( purgeCompleted() ) ); | 730 | mMainView, SLOT( purgeCompleted() ) ); |
735 | 731 | ||
736 | connect( mTodoView, SIGNAL( incidenceSelected( Incidence * ) ), | 732 | connect( mTodoView, SIGNAL( incidenceSelected( Incidence * ) ), |
737 | mMainView, SLOT( processMainViewSelection( Incidence * ) ) ); | 733 | mMainView, SLOT( processMainViewSelection( Incidence * ) ) ); |
738 | 734 | ||
739 | connect( mMainView, SIGNAL( configChanged() ), mTodoView, | 735 | connect( mMainView, SIGNAL( configChanged() ), mTodoView, |
740 | SLOT( updateConfig() ) ); | 736 | SLOT( updateConfig() ) ); |
741 | connect( mMainView, SIGNAL( todoModified( Todo *, int )), mTodoView, | 737 | connect( mMainView, SIGNAL( todoModified( Todo *, int )), mTodoView, |
742 | SLOT( updateTodo( Todo *, int ) ) ); | 738 | SLOT( updateTodo( Todo *, int ) ) ); |
743 | connect( mTodoView, SIGNAL( todoModifiedSignal( Todo *, int ) ), | 739 | connect( mTodoView, SIGNAL( todoModifiedSignal( Todo *, int ) ), |
744 | mMainView, SIGNAL ( todoModified( Todo *, int ) ) ); | 740 | mMainView, SIGNAL ( todoModified( Todo *, int ) ) ); |
745 | connect( mTodoView, SIGNAL( cloneTodoSignal( Incidence * ) ), | 741 | connect( mTodoView, SIGNAL( cloneTodoSignal( Incidence * ) ), |
746 | mMainView, SLOT ( cloneIncidence( Incidence * ) ) ); | 742 | mMainView, SLOT ( cloneIncidence( Incidence * ) ) ); |
747 | connect( mTodoView, SIGNAL( cancelTodoSignal( Incidence * ) ), | 743 | connect( mTodoView, SIGNAL( cancelTodoSignal( Incidence * ) ), |
748 | mMainView, SLOT ( cancelIncidence( Incidence * ) ) ); | 744 | mMainView, SLOT ( cancelIncidence( Incidence * ) ) ); |
749 | connect( mTodoView, SIGNAL( unparentTodoSignal( Todo * ) ), | 745 | connect( mTodoView, SIGNAL( unparentTodoSignal( Todo * ) ), |
750 | mMainView, SLOT ( todo_unsub( Todo * ) ) ); | 746 | mMainView, SLOT ( todo_unsub( Todo * ) ) ); |
751 | connect( mTodoView, SIGNAL( reparentTodoSignal( Todo *,Todo * ) ), | 747 | connect( mTodoView, SIGNAL( reparentTodoSignal( Todo *,Todo * ) ), |
752 | mMainView, SLOT ( todo_resub( Todo *, Todo *) ) ); | 748 | mMainView, SLOT ( todo_resub( Todo *, Todo *) ) ); |
753 | connect( mTodoView, SIGNAL( moveTodoSignal( Incidence * ) ), | 749 | connect( mTodoView, SIGNAL( moveTodoSignal( Incidence * ) ), |
754 | mMainView, SLOT ( moveIncidence( Incidence * ) ) ); | 750 | mMainView, SLOT ( moveIncidence( Incidence * ) ) ); |
755 | connect( mTodoView, SIGNAL( beamTodoSignal( Incidence * ) ), | 751 | connect( mTodoView, SIGNAL( beamTodoSignal( Incidence * ) ), |
756 | mMainView, SLOT ( beamIncidence( Incidence * ) ) ); | 752 | mMainView, SLOT ( beamIncidence( Incidence * ) ) ); |
757 | KConfig *config = KOGlobals::config(); | 753 | KConfig *config = KOGlobals::config(); |
758 | mTodoView->restoreLayout(config,"Todo View"); | 754 | mTodoView->restoreLayout(config,"Todo View"); |
759 | mTodoView->setNavigator( mMainView->dateNavigator() ); | 755 | mTodoView->setNavigator( mMainView->dateNavigator() ); |
760 | } | 756 | } |
761 | 757 | ||
762 | globalFlagBlockAgenda = 1; | 758 | globalFlagBlockAgenda = 1; |
763 | showView( mTodoView, true ); | 759 | showView( mTodoView, true ); |
760 | KOPrefs::instance()->mCurrentDisplayedView = VIEW_T_VIEW ; | ||
764 | 761 | ||
765 | } | 762 | } |
766 | 763 | ||
767 | void KOViewManager::showJournalView() | 764 | void KOViewManager::showJournalView() |
768 | { | 765 | { |
769 | //mFlagShowNextxDays = false; | 766 | //mFlagShowNextxDays = false; |
770 | if (!mJournalView) { | 767 | if (!mJournalView) { |
771 | mJournalView = new KOJournalView(mMainView->calendar(),mMainView->viewStack(), | 768 | mJournalView = new KOJournalView(mMainView->calendar(),mMainView->viewStack(), |
772 | "KOViewManager::JournalView"); | 769 | "KOViewManager::JournalView"); |
773 | connect( mMainView, SIGNAL( configChanged() ), mJournalView, | 770 | connect( mMainView, SIGNAL( configChanged() ), mJournalView, |
774 | SLOT( updateConfig() ) ); | 771 | SLOT( updateConfig() ) ); |
775 | connect(mJournalView, SIGNAL(deleteJournal(Journal *) ), mMainView,SLOT(deleteJournal(Journal *)) ); | 772 | connect(mJournalView, SIGNAL(deleteJournal(Journal *) ), mMainView,SLOT(deleteJournal(Journal *)) ); |
776 | addView(mJournalView); | 773 | addView(mJournalView); |
777 | } | 774 | } |
778 | 775 | ||
779 | showView(mJournalView); | 776 | showView(mJournalView); |
780 | mMainView->dateNavigator()->selectDates( 1 ); | 777 | mMainView->dateNavigator()->selectDates( 1 ); |
778 | KOPrefs::instance()->mCurrentDisplayedView = VIEW_J_VIEW ; | ||
781 | } | 779 | } |
782 | 780 | ||
783 | void KOViewManager::showTimeSpanView() | 781 | void KOViewManager::showTimeSpanView() |
784 | { | 782 | { |
785 | //mFlagShowNextxDays = false; | 783 | //mFlagShowNextxDays = false; |
786 | if (!mTimeSpanView) { | 784 | if (!mTimeSpanView) { |
787 | mTimeSpanView = new KOTimeSpanView(mMainView->calendar(),mMainView->viewStack(), | 785 | mTimeSpanView = new KOTimeSpanView(mMainView->calendar(),mMainView->viewStack(), |
788 | "KOViewManager::TimeSpanView"); | 786 | "KOViewManager::TimeSpanView"); |
789 | addView(mTimeSpanView); | 787 | addView(mTimeSpanView); |
790 | 788 | ||
791 | mTimeSpanView->readSettings(); | 789 | mTimeSpanView->readSettings(); |
792 | } | 790 | } |
793 | 791 | ||
794 | showView(mTimeSpanView); | 792 | showView(mTimeSpanView); |
795 | } | 793 | } |
796 | 794 | ||
797 | Incidence *KOViewManager::currentSelection() | 795 | Incidence *KOViewManager::currentSelection() |
798 | { | 796 | { |
799 | if (!mCurrentView) return 0; | 797 | if (!mCurrentView) return 0; |
800 | if ( mCurrentView == mListView ) { | 798 | if ( mCurrentView == mListView ) { |
801 | if ( mListView->currentItem() ) | 799 | if ( mListView->currentItem() ) |
802 | return mListView->currentItem(); | 800 | return mListView->currentItem(); |
803 | } | 801 | } |
804 | return mCurrentView->selectedIncidences().first(); | 802 | return mCurrentView->selectedIncidences().first(); |
805 | } | 803 | } |
806 | 804 | ||
807 | QDate KOViewManager::currentSelectionDate() | 805 | QDate KOViewManager::currentSelectionDate() |
808 | { | 806 | { |
809 | QDate qd; | 807 | QDate qd; |
810 | if (mCurrentView) { | 808 | if (mCurrentView) { |
811 | DateList qvl = mCurrentView->selectedDates(); | 809 | DateList qvl = mCurrentView->selectedDates(); |
812 | if (!qvl.isEmpty()) qd = qvl.first(); | 810 | if (!qvl.isEmpty()) qd = qvl.first(); |
813 | } | 811 | } |
814 | return qd; | 812 | return qd; |
815 | } | 813 | } |
816 | 814 | ||
817 | void KOViewManager::addView(KOrg::BaseView *view) | 815 | void KOViewManager::addView(KOrg::BaseView *view) |
818 | { | 816 | { |
819 | #if QT_VERSION >= 0x030000 | 817 | #if QT_VERSION >= 0x030000 |
820 | mMainView->viewStack()->addWidget( view ); | 818 | mMainView->viewStack()->addWidget( view ); |
821 | #else | 819 | #else |
822 | mMainView->viewStack()->addWidget( view, 1 ); | 820 | mMainView->viewStack()->addWidget( view, 1 ); |
823 | #endif | 821 | #endif |
824 | } | 822 | } |
825 | 823 | ||
826 | void KOViewManager::setDocumentId( const QString &id ) | 824 | void KOViewManager::setDocumentId( const QString &id ) |
827 | { | 825 | { |
828 | if (mTodoView) mTodoView->setDocumentId( id ); | 826 | if (mTodoView) mTodoView->setDocumentId( id ); |
829 | } | 827 | } |
diff --git a/korganizer/mainwindow.cpp b/korganizer/mainwindow.cpp index d98915b..357154e 100644 --- a/korganizer/mainwindow.cpp +++ b/korganizer/mainwindow.cpp | |||
@@ -20,256 +20,257 @@ | |||
20 | #include <qtextbrowser.h> | 20 | #include <qtextbrowser.h> |
21 | #include <qtextstream.h> | 21 | #include <qtextstream.h> |
22 | #ifndef DESKTOP_VERSION | 22 | #ifndef DESKTOP_VERSION |
23 | #include <qpe/global.h> | 23 | #include <qpe/global.h> |
24 | #include <qpe/qpemenubar.h> | 24 | #include <qpe/qpemenubar.h> |
25 | #include <qpe/qpetoolbar.h> | 25 | #include <qpe/qpetoolbar.h> |
26 | #include <qpe/resource.h> | 26 | #include <qpe/resource.h> |
27 | #include <qpe/qpeapplication.h> | 27 | #include <qpe/qpeapplication.h> |
28 | #include <qtopia/alarmserver.h> | 28 | #include <qtopia/alarmserver.h> |
29 | #include <qtopia/qcopenvelope_qws.h> | 29 | #include <qtopia/qcopenvelope_qws.h> |
30 | #include <unistd.h> // for sleep | 30 | #include <unistd.h> // for sleep |
31 | #else | 31 | #else |
32 | #include <qmenubar.h> | 32 | #include <qmenubar.h> |
33 | #include <qtoolbar.h> | 33 | #include <qtoolbar.h> |
34 | #include <qapplication.h> | 34 | #include <qapplication.h> |
35 | //#include <resource.h> | 35 | //#include <resource.h> |
36 | 36 | ||
37 | #endif | 37 | #endif |
38 | #include <libkcal/calendarlocal.h> | 38 | #include <libkcal/calendarlocal.h> |
39 | #include <libkcal/todo.h> | 39 | #include <libkcal/todo.h> |
40 | #include <libkcal/phoneformat.h> | 40 | #include <libkcal/phoneformat.h> |
41 | #include <libkdepim/ksyncprofile.h> | 41 | #include <libkdepim/ksyncprofile.h> |
42 | #include <libkdepim/phoneaccess.h> | 42 | #include <libkdepim/phoneaccess.h> |
43 | #include <libkcal/kincidenceformatter.h> | 43 | #include <libkcal/kincidenceformatter.h> |
44 | #include <libkdepim/kpimglobalprefs.h> | 44 | #include <libkdepim/kpimglobalprefs.h> |
45 | 45 | ||
46 | #include "calendarview.h" | 46 | #include "calendarview.h" |
47 | #include "koviewmanager.h" | 47 | #include "koviewmanager.h" |
48 | #include "datenavigator.h" | 48 | #include "datenavigator.h" |
49 | #include "koagendaview.h" | 49 | #include "koagendaview.h" |
50 | #include "koagenda.h" | 50 | #include "koagenda.h" |
51 | #include "kodialogmanager.h" | 51 | #include "kodialogmanager.h" |
52 | #include "kdialogbase.h" | 52 | #include "kdialogbase.h" |
53 | #include "kapplication.h" | 53 | #include "kapplication.h" |
54 | #include "kofilterview.h" | 54 | #include "kofilterview.h" |
55 | #include "kstandarddirs.h" | 55 | #include "kstandarddirs.h" |
56 | #include "koprefs.h" | 56 | #include "koprefs.h" |
57 | #include "kfiledialog.h" | 57 | #include "kfiledialog.h" |
58 | #include "koglobals.h" | 58 | #include "koglobals.h" |
59 | #include "kglobal.h" | 59 | #include "kglobal.h" |
60 | #include "ktoolbar.h" | 60 | #include "ktoolbar.h" |
61 | #include "klocale.h" | 61 | #include "klocale.h" |
62 | #include "kconfig.h" | 62 | #include "kconfig.h" |
63 | #include "simplealarmclient.h" | 63 | #include "simplealarmclient.h" |
64 | #include "externalapphandler.h" | 64 | #include "externalapphandler.h" |
65 | 65 | ||
66 | using namespace KCal; | 66 | using namespace KCal; |
67 | #ifndef _WIN32_ | 67 | #ifndef _WIN32_ |
68 | #include <unistd.h> | 68 | #include <unistd.h> |
69 | #else | 69 | #else |
70 | #ifdef _OL_IMPORT_ | 70 | #ifdef _OL_IMPORT_ |
71 | #include "koimportoldialog.h" | 71 | #include "koimportoldialog.h" |
72 | #endif | 72 | #endif |
73 | #endif | 73 | #endif |
74 | #include "mainwindow.h" | 74 | #include "mainwindow.h" |
75 | 75 | ||
76 | 76 | ||
77 | class KOex2phonePrefs : public QDialog | 77 | class KOex2phonePrefs : public QDialog |
78 | { | 78 | { |
79 | public: | 79 | public: |
80 | KOex2phonePrefs( QWidget *parent=0, const char *name=0 ) : | 80 | KOex2phonePrefs( QWidget *parent=0, const char *name=0 ) : |
81 | QDialog( parent, name, true ) | 81 | QDialog( parent, name, true ) |
82 | { | 82 | { |
83 | setCaption( i18n("Export to phone options") ); | 83 | setCaption( i18n("Export to phone options") ); |
84 | QVBoxLayout* lay = new QVBoxLayout( this ); | 84 | QVBoxLayout* lay = new QVBoxLayout( this ); |
85 | lay->setSpacing( 3 ); | 85 | lay->setSpacing( 3 ); |
86 | lay->setMargin( 3 ); | 86 | lay->setMargin( 3 ); |
87 | QLabel *lab; | 87 | QLabel *lab; |
88 | lay->addWidget(lab = new QLabel( i18n("Please read Help-Sync Howto\nto know what settings to use."), this ) ); | 88 | lay->addWidget(lab = new QLabel( i18n("Please read Help-Sync Howto\nto know what settings to use."), this ) ); |
89 | lab->setAlignment (AlignHCenter ); | 89 | lab->setAlignment (AlignHCenter ); |
90 | QHBox* temphb; | 90 | QHBox* temphb; |
91 | temphb = new QHBox( this ); | 91 | temphb = new QHBox( this ); |
92 | new QLabel( i18n("I/O device: "), temphb ); | 92 | new QLabel( i18n("I/O device: "), temphb ); |
93 | mPhoneDevice = new QLineEdit( temphb); | 93 | mPhoneDevice = new QLineEdit( temphb); |
94 | lay->addWidget( temphb ); | 94 | lay->addWidget( temphb ); |
95 | temphb = new QHBox( this ); | 95 | temphb = new QHBox( this ); |
96 | new QLabel( i18n("Connection: "), temphb ); | 96 | new QLabel( i18n("Connection: "), temphb ); |
97 | mPhoneConnection = new QLineEdit( temphb); | 97 | mPhoneConnection = new QLineEdit( temphb); |
98 | lay->addWidget( temphb ); | 98 | lay->addWidget( temphb ); |
99 | temphb = new QHBox( this ); | 99 | temphb = new QHBox( this ); |
100 | new QLabel( i18n("Model(opt.): "), temphb ); | 100 | new QLabel( i18n("Model(opt.): "), temphb ); |
101 | mPhoneModel = new QLineEdit( temphb); | 101 | mPhoneModel = new QLineEdit( temphb); |
102 | lay->addWidget( temphb ); | 102 | lay->addWidget( temphb ); |
103 | mWriteBackFuture= new QCheckBox( i18n("Write back events in future only"), this ); | 103 | mWriteBackFuture= new QCheckBox( i18n("Write back events in future only"), this ); |
104 | mWriteBackFuture->setChecked( true ); | 104 | mWriteBackFuture->setChecked( true ); |
105 | lay->addWidget( mWriteBackFuture ); | 105 | lay->addWidget( mWriteBackFuture ); |
106 | temphb = new QHBox( this ); | 106 | temphb = new QHBox( this ); |
107 | new QLabel( i18n("Max. weeks in future: ") , temphb ); | 107 | new QLabel( i18n("Max. weeks in future: ") , temphb ); |
108 | mWriteBackFutureWeeks= new QSpinBox(1,104, 1, temphb); | 108 | mWriteBackFutureWeeks= new QSpinBox(1,104, 1, temphb); |
109 | mWriteBackFutureWeeks->setValue( 8 ); | 109 | mWriteBackFutureWeeks->setValue( 8 ); |
110 | lay->addWidget( temphb ); | 110 | lay->addWidget( temphb ); |
111 | lay->addWidget(lab = new QLabel( i18n("NOTE: This will remove all old\ntodo/calendar data on phone!"), this ) ); | 111 | lay->addWidget(lab = new QLabel( i18n("NOTE: This will remove all old\ntodo/calendar data on phone!"), this ) ); |
112 | lab->setAlignment (AlignHCenter ); | 112 | lab->setAlignment (AlignHCenter ); |
113 | QPushButton * ok = new QPushButton( i18n("Export to mobile phone!"), this ); | 113 | QPushButton * ok = new QPushButton( i18n("Export to mobile phone!"), this ); |
114 | lay->addWidget( ok ); | 114 | lay->addWidget( ok ); |
115 | QPushButton * cancel = new QPushButton( i18n("Cancel"), this ); | 115 | QPushButton * cancel = new QPushButton( i18n("Cancel"), this ); |
116 | lay->addWidget( cancel ); | 116 | lay->addWidget( cancel ); |
117 | connect ( ok,SIGNAL(clicked() ),this , SLOT ( accept() ) ); | 117 | connect ( ok,SIGNAL(clicked() ),this , SLOT ( accept() ) ); |
118 | connect (cancel, SIGNAL(clicked() ), this, SLOT ( reject()) ); | 118 | connect (cancel, SIGNAL(clicked() ), this, SLOT ( reject()) ); |
119 | resize( 220, 240 ); | 119 | resize( 220, 240 ); |
120 | qApp->processEvents(); | 120 | qApp->processEvents(); |
121 | int dw = QApplication::desktop()->width(); | 121 | int dw = QApplication::desktop()->width(); |
122 | int dh = QApplication::desktop()->height(); | 122 | int dh = QApplication::desktop()->height(); |
123 | move( (dw-width())/2, (dh - height() )/2 ); | 123 | move( (dw-width())/2, (dh - height() )/2 ); |
124 | } | 124 | } |
125 | 125 | ||
126 | public: | 126 | public: |
127 | QLineEdit* mPhoneConnection, *mPhoneDevice, *mPhoneModel; | 127 | QLineEdit* mPhoneConnection, *mPhoneDevice, *mPhoneModel; |
128 | QCheckBox* mWriteBackFuture; | 128 | QCheckBox* mWriteBackFuture; |
129 | QSpinBox* mWriteBackFutureWeeks; | 129 | QSpinBox* mWriteBackFutureWeeks; |
130 | }; | 130 | }; |
131 | 131 | ||
132 | int globalFlagBlockStartup; | 132 | int globalFlagBlockStartup; |
133 | MainWindow::MainWindow( QWidget *parent, const char *name, QString msg) : | 133 | MainWindow::MainWindow( QWidget *parent, const char *name, QString msg) : |
134 | QMainWindow( parent, name ) | 134 | QMainWindow( parent, name ) |
135 | { | 135 | { |
136 | 136 | ||
137 | mClosed = false; | 137 | mClosed = false; |
138 | //QString confFile = KStandardDirs::appDir() + "config/korganizerrc"; | 138 | //QString confFile = KStandardDirs::appDir() + "config/korganizerrc"; |
139 | QString confFile = locateLocal("config","korganizerrc"); | 139 | QString confFile = locateLocal("config","korganizerrc"); |
140 | QFileInfo finf ( confFile ); | 140 | QFileInfo finf ( confFile ); |
141 | bool showWarning = !finf.exists(); | 141 | bool showWarning = !finf.exists(); |
142 | setIcon(SmallIcon( "ko24" ) ); | 142 | setIcon(SmallIcon( "ko24" ) ); |
143 | mBlockAtStartup = true; | 143 | mBlockAtStartup = true; |
144 | mFlagKeyPressed = false; | 144 | mFlagKeyPressed = false; |
145 | setCaption("KO/Pi"); | 145 | setCaption("KO/Pi"); |
146 | KOPrefs *p = KOPrefs::instance(); | 146 | KOPrefs *p = KOPrefs::instance(); |
147 | KPimGlobalPrefs::instance()->setGlobalConfig(); | 147 | KPimGlobalPrefs::instance()->setGlobalConfig(); |
148 | p->mCurrentDisplayedView = 0; | ||
148 | if ( p->mHourSize > 22 ) | 149 | if ( p->mHourSize > 22 ) |
149 | p->mHourSize = 22; | 150 | p->mHourSize = 22; |
150 | QMainWindow::ToolBarDock tbd; | 151 | QMainWindow::ToolBarDock tbd; |
151 | if ( p->mToolBarHor ) { | 152 | if ( p->mToolBarHor ) { |
152 | if ( p->mToolBarUp ) | 153 | if ( p->mToolBarUp ) |
153 | tbd = Bottom; | 154 | tbd = Bottom; |
154 | else | 155 | else |
155 | tbd = Top; | 156 | tbd = Top; |
156 | } | 157 | } |
157 | else { | 158 | else { |
158 | if ( p->mToolBarUp ) | 159 | if ( p->mToolBarUp ) |
159 | tbd = Right; | 160 | tbd = Right; |
160 | else | 161 | else |
161 | tbd = Left; | 162 | tbd = Left; |
162 | } | 163 | } |
163 | if ( KOPrefs::instance()->mUseAppColors ) | 164 | if ( KOPrefs::instance()->mUseAppColors ) |
164 | QApplication::setPalette( QPalette (KOPrefs::instance()->mAppColor1, KOPrefs::instance()->mAppColor2), true ); | 165 | QApplication::setPalette( QPalette (KOPrefs::instance()->mAppColor1, KOPrefs::instance()->mAppColor2), true ); |
165 | globalFlagBlockStartup = 1; | 166 | globalFlagBlockStartup = 1; |
166 | iconToolBar = new QPEToolBar( this ); | 167 | iconToolBar = new QPEToolBar( this ); |
167 | addToolBar (iconToolBar , tbd ); | 168 | addToolBar (iconToolBar , tbd ); |
168 | 169 | ||
169 | #ifdef DESKTOP_VERSION | 170 | #ifdef DESKTOP_VERSION |
170 | if ( KOPrefs::instance()->mShowIconFilter ) | 171 | if ( KOPrefs::instance()->mShowIconFilter ) |
171 | #else | 172 | #else |
172 | if ( KOPrefs::instance()->mShowIconFilter || !p->mShowIconOnetoolbar ) | 173 | if ( KOPrefs::instance()->mShowIconFilter || !p->mShowIconOnetoolbar ) |
173 | #endif | 174 | #endif |
174 | 175 | ||
175 | { | 176 | { |
176 | if ( p->mToolBarHorF ) { | 177 | if ( p->mToolBarHorF ) { |
177 | if ( p->mToolBarUpF ) | 178 | if ( p->mToolBarUpF ) |
178 | tbd = Bottom; | 179 | tbd = Bottom; |
179 | else | 180 | else |
180 | tbd = Top; | 181 | tbd = Top; |
181 | } | 182 | } |
182 | else { | 183 | else { |
183 | if ( p->mToolBarUpF ) | 184 | if ( p->mToolBarUpF ) |
184 | tbd = Right; | 185 | tbd = Right; |
185 | else | 186 | else |
186 | tbd = Left; | 187 | tbd = Left; |
187 | } | 188 | } |
188 | filterToolBar = new QPEToolBar ( this ); | 189 | filterToolBar = new QPEToolBar ( this ); |
189 | filterMenubar = new QPEMenuBar( filterToolBar ); | 190 | filterMenubar = new QPEMenuBar( filterToolBar ); |
190 | QFontMetrics fm ( filterMenubar->font() ); | 191 | QFontMetrics fm ( filterMenubar->font() ); |
191 | 192 | ||
192 | filterPopupMenu = new QPopupMenu( this ); | 193 | filterPopupMenu = new QPopupMenu( this ); |
193 | filterMenubar->insertItem( i18n("No Filter"), filterPopupMenu,0 ); | 194 | filterMenubar->insertItem( i18n("No Filter"), filterPopupMenu,0 ); |
194 | QString addTest = "Ax"; | 195 | QString addTest = "Ax"; |
195 | #ifdef DESKTOP_VERSION | 196 | #ifdef DESKTOP_VERSION |
196 | addTest = "AAAx"; | 197 | addTest = "AAAx"; |
197 | #endif | 198 | #endif |
198 | filterMenubar->setFixedWidth( fm.width( i18n("No Filter")+addTest ) ); | 199 | filterMenubar->setFixedWidth( fm.width( i18n("No Filter")+addTest ) ); |
199 | addToolBar (filterToolBar , tbd ); | 200 | addToolBar (filterToolBar , tbd ); |
200 | connect ( filterPopupMenu , SIGNAL( activated ( int ) ), this, SLOT (selectFilterPopup( int ) ) ); | 201 | connect ( filterPopupMenu , SIGNAL( activated ( int ) ), this, SLOT (selectFilterPopup( int ) ) ); |
201 | connect ( filterPopupMenu , SIGNAL( aboutToShow() ), this, SLOT (fillFilterMenuPopup() ) ); | 202 | connect ( filterPopupMenu , SIGNAL( aboutToShow() ), this, SLOT (fillFilterMenuPopup() ) ); |
202 | if ( !KOPrefs::instance()->mShowIconFilter && !p->mShowIconOnetoolbar ) | 203 | if ( !KOPrefs::instance()->mShowIconFilter && !p->mShowIconOnetoolbar ) |
203 | filterToolBar->hide(); | 204 | filterToolBar->hide(); |
204 | } else { | 205 | } else { |
205 | filterToolBar = 0; | 206 | filterToolBar = 0; |
206 | filterMenubar = 0; | 207 | filterMenubar = 0; |
207 | filterPopupMenu = 0; | 208 | filterPopupMenu = 0; |
208 | } | 209 | } |
209 | if ( p->mShowIconOnetoolbar ) { | 210 | if ( p->mShowIconOnetoolbar ) { |
210 | viewToolBar = iconToolBar ; | 211 | viewToolBar = iconToolBar ; |
211 | navigatorToolBar = iconToolBar ; | 212 | navigatorToolBar = iconToolBar ; |
212 | } else { | 213 | } else { |
213 | #ifndef DESKTOP_VERSION | 214 | #ifndef DESKTOP_VERSION |
214 | setToolBarsMovable( false ); | 215 | setToolBarsMovable( false ); |
215 | #endif | 216 | #endif |
216 | if ( p->mToolBarHorV ) { | 217 | if ( p->mToolBarHorV ) { |
217 | if ( p->mToolBarUpV ) | 218 | if ( p->mToolBarUpV ) |
218 | tbd = Bottom; | 219 | tbd = Bottom; |
219 | else | 220 | else |
220 | tbd = Top; | 221 | tbd = Top; |
221 | } | 222 | } |
222 | else { | 223 | else { |
223 | if ( p->mToolBarUpV ) | 224 | if ( p->mToolBarUpV ) |
224 | tbd = Right; | 225 | tbd = Right; |
225 | else | 226 | else |
226 | tbd = Left; | 227 | tbd = Left; |
227 | } | 228 | } |
228 | viewToolBar = new QPEToolBar( this ); | 229 | viewToolBar = new QPEToolBar( this ); |
229 | addToolBar (viewToolBar , tbd ); | 230 | addToolBar (viewToolBar , tbd ); |
230 | if ( p->mToolBarHorN ) { | 231 | if ( p->mToolBarHorN ) { |
231 | if ( p->mToolBarUpN ) | 232 | if ( p->mToolBarUpN ) |
232 | tbd = Bottom; | 233 | tbd = Bottom; |
233 | else | 234 | else |
234 | tbd = Top; | 235 | tbd = Top; |
235 | } | 236 | } |
236 | else { | 237 | else { |
237 | if ( p->mToolBarUpN ) | 238 | if ( p->mToolBarUpN ) |
238 | tbd = Right; | 239 | tbd = Right; |
239 | else | 240 | else |
240 | tbd = Left; | 241 | tbd = Left; |
241 | } | 242 | } |
242 | navigatorToolBar = new QPEToolBar( this ); | 243 | navigatorToolBar = new QPEToolBar( this ); |
243 | addToolBar (navigatorToolBar , tbd ); | 244 | addToolBar (navigatorToolBar , tbd ); |
244 | } | 245 | } |
245 | 246 | ||
246 | 247 | ||
247 | 248 | ||
248 | mCalendarModifiedFlag = false; | 249 | mCalendarModifiedFlag = false; |
249 | QLabel* splash = new QLabel(i18n("KO/Pi is starting ... "), this ); | 250 | QLabel* splash = new QLabel(i18n("KO/Pi is starting ... "), this ); |
250 | splash->setAlignment ( AlignCenter ); | 251 | splash->setAlignment ( AlignCenter ); |
251 | setCentralWidget( splash ); | 252 | setCentralWidget( splash ); |
252 | #ifndef DESKTOP_VERSION | 253 | #ifndef DESKTOP_VERSION |
253 | showMaximized(); | 254 | showMaximized(); |
254 | #endif | 255 | #endif |
255 | 256 | ||
256 | //qDebug("Mainwidget x %d y %d w %d h %d", x(), y(), width(), height ()); | 257 | //qDebug("Mainwidget x %d y %d w %d h %d", x(), y(), width(), height ()); |
257 | setDefaultPreferences(); | 258 | setDefaultPreferences(); |
258 | mCalendar = new CalendarLocal(); | 259 | mCalendar = new CalendarLocal(); |
259 | mView = new CalendarView( mCalendar, this,"mCalendar " ); | 260 | mView = new CalendarView( mCalendar, this,"mCalendar " ); |
260 | mView->hide(); | 261 | mView->hide(); |
261 | //mView->resize(splash->size() ); | 262 | //mView->resize(splash->size() ); |
262 | initActions(); | 263 | initActions(); |
263 | mSyncManager = new KSyncManager((QWidget*)this, (KSyncInterface*)mView, KSyncManager::KOPI, KOPrefs::instance(), syncMenu); | 264 | mSyncManager = new KSyncManager((QWidget*)this, (KSyncInterface*)mView, KSyncManager::KOPI, KOPrefs::instance(), syncMenu); |
264 | mSyncManager->setBlockSave(false); | 265 | mSyncManager->setBlockSave(false); |
265 | mView->setSyncManager(mSyncManager); | 266 | mView->setSyncManager(mSyncManager); |
266 | #ifndef DESKTOP_VERSION | 267 | #ifndef DESKTOP_VERSION |
267 | iconToolBar->show(); | 268 | iconToolBar->show(); |
268 | qApp->processEvents(); | 269 | qApp->processEvents(); |
269 | #endif | 270 | #endif |
270 | //qDebug("Splashwidget x %d y %d w %d h %d", splash-> x(), splash->y(), splash->width(),splash-> height ()); | 271 | //qDebug("Splashwidget x %d y %d w %d h %d", splash-> x(), splash->y(), splash->width(),splash-> height ()); |
271 | int vh = height() ; | 272 | int vh = height() ; |
272 | int vw = width(); | 273 | int vw = width(); |
273 | //qDebug("Toolbar hei %d ",iconToolBar->height() ); | 274 | //qDebug("Toolbar hei %d ",iconToolBar->height() ); |
274 | if ( iconToolBar->orientation () == Qt:: Horizontal ) { | 275 | if ( iconToolBar->orientation () == Qt:: Horizontal ) { |
275 | vh -= iconToolBar->height(); | 276 | vh -= iconToolBar->height(); |
diff --git a/korganizer/searchdialog.cpp b/korganizer/searchdialog.cpp index 341a839..db60383 100644 --- a/korganizer/searchdialog.cpp +++ b/korganizer/searchdialog.cpp | |||
@@ -1,332 +1,375 @@ | |||
1 | /* | 1 | /* |
2 | This file is part of KOrganizer. | 2 | This file is part of KOrganizer. |
3 | Copyright (c) 1998 Preston Brown | 3 | Copyright (c) 1998 Preston Brown |
4 | Copyright (c) 2000,2001 Cornelius Schumacher <schumacher@kde.org> | 4 | Copyright (c) 2000,2001 Cornelius Schumacher <schumacher@kde.org> |
5 | 5 | ||
6 | This program is free software; you can redistribute it and/or modify | 6 | This program is free software; you can redistribute it and/or modify |
7 | it under the terms of the GNU General Public License as published by | 7 | it under the terms of the GNU General Public License as published by |
8 | the Free Software Foundation; either version 2 of the License, or | 8 | the Free Software Foundation; either version 2 of the License, or |
9 | (at your option) any later version. | 9 | (at your option) any later version. |
10 | 10 | ||
11 | This program is distributed in the hope that it will be useful, | 11 | This program 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 | 13 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
14 | GNU General Public License for more details. | 14 | GNU General Public License for more details. |
15 | 15 | ||
16 | You should have received a copy of the GNU General Public License | 16 | You should have received a copy of the GNU General Public License |
17 | along with this program; if not, write to the Free Software | 17 | along with this program; if not, write to the Free Software |
18 | Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. | 18 | Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. |
19 | 19 | ||
20 | As a special exception, permission is given to link this program | 20 | As a special exception, permission is given to link this program |
21 | with any edition of Qt, and distribute the resulting executable, | 21 | with any edition of Qt, and distribute the resulting executable, |
22 | without including the source code for Qt in the source distribution. | 22 | without including the source code for Qt in the source distribution. |
23 | */ | 23 | */ |
24 | 24 | ||
25 | #include <qlayout.h> | 25 | #include <qlayout.h> |
26 | #include <qcheckbox.h> | 26 | #include <qcheckbox.h> |
27 | #include <qgroupbox.h> | 27 | #include <qgroupbox.h> |
28 | #include <qlabel.h> | 28 | #include <qlabel.h> |
29 | #include <qlistview.h> | 29 | #include <qlistview.h> |
30 | #include <qwhatsthis.h> | 30 | #include <qwhatsthis.h> |
31 | #include <qlineedit.h> | 31 | #include <qlineedit.h> |
32 | #include <qpushbutton.h> | 32 | #include <qpushbutton.h> |
33 | 33 | ||
34 | #include <klocale.h> | 34 | #include <klocale.h> |
35 | #include <kmessagebox.h> | 35 | #include <kmessagebox.h> |
36 | 36 | ||
37 | #include <libkdepim/kdateedit.h> | 37 | #include <libkdepim/kdateedit.h> |
38 | 38 | ||
39 | #include "koglobals.h" | 39 | #include "koglobals.h" |
40 | #include "koprefs.h" | 40 | #include "koprefs.h" |
41 | #include "klineedit.h" | 41 | #include "klineedit.h" |
42 | 42 | ||
43 | #include "calendarview.h" | 43 | #include "calendarview.h" |
44 | #include "koviewmanager.h" | 44 | #include "koviewmanager.h" |
45 | #include "searchdialog.h" | 45 | #include "searchdialog.h" |
46 | 46 | ||
47 | SearchDialog::SearchDialog(Calendar *calendar,CalendarView *parent) | 47 | SearchDialog::SearchDialog(Calendar *calendar,CalendarView *parent) |
48 | : QVBox( 0 ) | 48 | : QVBox( 0 ) |
49 | 49 | ||
50 | { | 50 | { |
51 | mCalendar = calendar; | 51 | mCalendar = calendar; |
52 | QFrame *topFrame = new QFrame( this ) ;//plainPage(); | 52 | QFrame *topFrame = new QFrame( this ) ;//plainPage(); |
53 | QVBoxLayout *layout = new QVBoxLayout(topFrame,KDialog::marginHint(),KDialog::spacingHint()); | 53 | QVBoxLayout *layout = new QVBoxLayout(topFrame,KDialog::marginHint(),KDialog::spacingHint()); |
54 | 54 | ||
55 | // Search expression | 55 | // Search expression |
56 | QHBoxLayout *subLayout = new QHBoxLayout(); | 56 | QHBoxLayout *subLayout = new QHBoxLayout(); |
57 | layout->addLayout(subLayout); | 57 | layout->addLayout(subLayout); |
58 | searchLabel = new QLabel(topFrame); | 58 | searchLabel = new QLabel(topFrame); |
59 | searchLabel->setText(i18n("Search for:")); | 59 | searchLabel->setText(i18n("Search for:")); |
60 | subLayout->addWidget(searchLabel); | 60 | subLayout->addWidget(searchLabel); |
61 | 61 | ||
62 | searchEdit = new KLineEdit(topFrame); | 62 | searchEdit = new KLineEdit(topFrame); |
63 | subLayout->addWidget(searchEdit); | 63 | subLayout->addWidget(searchEdit); |
64 | QPushButton *OkButton = new QPushButton( i18n("&Find"), topFrame ); | 64 | QPushButton *OkButton = new QPushButton( i18n("&Find"), topFrame ); |
65 | //OkButton->setDefault( true ); | 65 | //OkButton->setDefault( true ); |
66 | connect(OkButton,SIGNAL(clicked()),SLOT(doSearch())); | 66 | connect(OkButton,SIGNAL(clicked()),SLOT(doSearch())); |
67 | subLayout->addWidget(OkButton); | 67 | subLayout->addWidget(OkButton); |
68 | searchEdit->setText("*"); // Find all events by default | 68 | searchEdit->setText("*"); // Find all events by default |
69 | searchEdit->setFocus(); | 69 | searchEdit->setFocus(); |
70 | connect(searchEdit, SIGNAL(textChanged ( const QString & )),this,SLOT(searchTextChanged( const QString & ))); | 70 | connect(searchEdit, SIGNAL(textChanged ( const QString & )),this,SLOT(searchTextChanged( const QString & ))); |
71 | connect(searchEdit, SIGNAL( returnPressed () ),this,SLOT(doSearch())); | 71 | connect(searchEdit, SIGNAL( returnPressed () ),this,SLOT(doSearch())); |
72 | // Subjects to search | 72 | // Subjects to search |
73 | // QGroupBox *subjectGroup = new QGroupBox(1,Vertical,i18n("Search In"), | 73 | // QGroupBox *subjectGroup = new QGroupBox(1,Vertical,i18n("Search In"), |
74 | // topFrame); | 74 | // topFrame); |
75 | 75 | ||
76 | QHBox *incidenceGroup = new QHBox( topFrame ); | 76 | QHBox *incidenceGroup = new QHBox( topFrame ); |
77 | layout->addWidget(incidenceGroup); | 77 | layout->addWidget(incidenceGroup); |
78 | 78 | ||
79 | mSearchEvent = new QCheckBox(i18n("Events"),incidenceGroup); | 79 | mSearchEvent = new QCheckBox(i18n("Events"),incidenceGroup); |
80 | mSearchEvent->setChecked(true); | 80 | //mSearchEvent->setChecked(true); |
81 | mSearchTodo = new QCheckBox(i18n("Todos"),incidenceGroup); | 81 | mSearchTodo = new QCheckBox(i18n("Todos"),incidenceGroup); |
82 | mSearchJournal = new QCheckBox(i18n("Journals"),incidenceGroup); | 82 | mSearchJournal = new QCheckBox(i18n("Journals"),incidenceGroup); |
83 | 83 | ||
84 | QHBox *subjectGroup = new QHBox( topFrame ); | 84 | QHBox *subjectGroup = new QHBox( topFrame ); |
85 | layout->addWidget(subjectGroup); | 85 | layout->addWidget(subjectGroup); |
86 | 86 | ||
87 | mSummaryCheck = new QCheckBox(i18n("Summary/Loc."),subjectGroup); | 87 | mSummaryCheck = new QCheckBox(i18n("Summary/Loc."),subjectGroup); |
88 | mSummaryCheck->setChecked(true); | 88 | mSummaryCheck->setChecked(true); |
89 | mDescriptionCheck = new QCheckBox(i18n("Details"),subjectGroup); | 89 | mDescriptionCheck = new QCheckBox(i18n("Details"),subjectGroup); |
90 | mCategoryCheck = new QCheckBox(i18n("Categories"),subjectGroup); | 90 | mCategoryCheck = new QCheckBox(i18n("Categories"),subjectGroup); |
91 | 91 | ||
92 | QHBox *attendeeGroup = new QHBox( topFrame ); | 92 | QHBox *attendeeGroup = new QHBox( topFrame ); |
93 | layout->addWidget(attendeeGroup ); | 93 | layout->addWidget(attendeeGroup ); |
94 | new QLabel( i18n("Attendee:"),attendeeGroup ); | 94 | new QLabel( i18n("Attendee:"),attendeeGroup ); |
95 | mSearchAName = new QCheckBox(i18n("Name"),attendeeGroup ); | 95 | mSearchAName = new QCheckBox(i18n("Name"),attendeeGroup ); |
96 | mSearchAEmail = new QCheckBox(i18n("Email"), attendeeGroup ); | 96 | mSearchAEmail = new QCheckBox(i18n("Email"), attendeeGroup ); |
97 | // Date range | 97 | // Date range |
98 | // QGroupBox *rangeGroup = new QGroupBox(1,Horizontal,i18n("Date Range"), | 98 | // QGroupBox *rangeGroup = new QGroupBox(1,Horizontal,i18n("Date Range"), |
99 | // topFrame); | 99 | // topFrame); |
100 | // layout->addWidget(rangeGroup); | 100 | // layout->addWidget(rangeGroup); |
101 | 101 | ||
102 | QWidget *rangeWidget = new QWidget(topFrame); | 102 | QWidget *rangeWidget = new QWidget(topFrame); |
103 | QHBoxLayout *rangeLayout = new QHBoxLayout(rangeWidget,0,KDialog::spacingHint()); | 103 | QHBoxLayout *rangeLayout = new QHBoxLayout(rangeWidget,0,KDialog::spacingHint()); |
104 | rangeLayout->addWidget(new QLabel(i18n("From:"),rangeWidget)); | 104 | rangeLayout->addWidget(new QLabel(i18n("From:"),rangeWidget)); |
105 | mStartDate = new KDateEdit(rangeWidget); | 105 | mStartDate = new KDateEdit(rangeWidget); |
106 | rangeLayout->addWidget(mStartDate); | 106 | rangeLayout->addWidget(mStartDate); |
107 | rangeLayout->addWidget(new QLabel(i18n("To:"),rangeWidget)); | 107 | rangeLayout->addWidget(new QLabel(i18n("To:"),rangeWidget)); |
108 | mEndDate = new KDateEdit(rangeWidget); | 108 | mEndDate = new KDateEdit(rangeWidget); |
109 | mEndDate->setDate(QDate::currentDate().addDays(365)); | 109 | mEndDate->setDate(QDate::currentDate().addDays(365)); |
110 | rangeLayout->addWidget(mEndDate); | 110 | rangeLayout->addWidget(mEndDate); |
111 | QToolButton *wt = QWhatsThis::whatsThisButton ( rangeWidget ); | 111 | QToolButton *wt = QWhatsThis::whatsThisButton ( rangeWidget ); |
112 | rangeLayout->addWidget( (QWidget*)wt ); | 112 | rangeLayout->addWidget( (QWidget*)wt ); |
113 | layout->addWidget(rangeWidget); | 113 | layout->addWidget(rangeWidget); |
114 | // Results list view | 114 | // Results list view |
115 | listView = new KOListView(mCalendar,topFrame); | 115 | listView = new KOListView(mCalendar,topFrame); |
116 | layout->addWidget(listView); | 116 | layout->addWidget(listView); |
117 | 117 | ||
118 | listView->readSettings(KOGlobals::config(),"SearchListView Layout"); | 118 | listView->readSettings(KOGlobals::config(),"SearchListView Layout"); |
119 | connect(searchEdit,SIGNAL(scrollDOWN()),SLOT(setFocusToList())); | 119 | connect(searchEdit,SIGNAL(scrollDOWN()),SLOT(setFocusToList())); |
120 | 120 | ||
121 | setCaption( i18n("KO/Pi Find: ")); | 121 | setCaption( i18n("KO/Pi Find: ")); |
122 | #ifdef DESKTOP_VERSION | 122 | #ifdef DESKTOP_VERSION |
123 | OkButton = new QPushButton( i18n("Close"), this ); | 123 | OkButton = new QPushButton( i18n("Close"), this ); |
124 | connect(OkButton,SIGNAL(clicked()),SLOT(hide())); | 124 | connect(OkButton,SIGNAL(clicked()),SLOT(hide())); |
125 | #endif | 125 | #endif |
126 | } | 126 | } |
127 | 127 | ||
128 | SearchDialog::~SearchDialog() | 128 | SearchDialog::~SearchDialog() |
129 | { | 129 | { |
130 | 130 | ||
131 | } | 131 | } |
132 | void SearchDialog::raiseAndSelect() | ||
133 | { | ||
134 | |||
135 | static int currentState = 0; | ||
136 | |||
137 | if ( !mSearchJournal->isChecked() && !mSearchTodo->isChecked() && !mSearchEvent->isChecked() ) | ||
138 | currentState = 0; | ||
139 | int newState = 0; | ||
140 | if ( KOPrefs::instance()->mCurrentDisplayedView == VIEW_J_VIEW ) { | ||
141 | newState = VIEW_J_VIEW; | ||
142 | } | ||
143 | else if ( KOPrefs::instance()->mCurrentDisplayedView == VIEW_T_VIEW ) { | ||
144 | newState = VIEW_T_VIEW; | ||
145 | } | ||
146 | else { | ||
147 | newState = VIEW_A_VIEW; | ||
148 | } | ||
149 | if ( newState != currentState ) { | ||
150 | if ( KOPrefs::instance()->mCurrentDisplayedView == VIEW_J_VIEW ) { | ||
151 | if ( ! mSearchJournal->isChecked() ) { | ||
152 | mSearchJournal->setChecked( true ); | ||
153 | mSearchTodo->setChecked( false ); | ||
154 | mSearchEvent->setChecked( false ); | ||
155 | } | ||
156 | } | ||
157 | else if ( KOPrefs::instance()->mCurrentDisplayedView == VIEW_T_VIEW ) { | ||
158 | if ( ! mSearchTodo->isChecked() ) { | ||
159 | mSearchTodo->setChecked( true ); | ||
160 | mSearchJournal->setChecked( false ); | ||
161 | mSearchEvent->setChecked( false ); | ||
162 | } | ||
163 | } | ||
164 | else { | ||
165 | if ( ! mSearchEvent->isChecked() ) { | ||
166 | mSearchEvent->setChecked( true ); | ||
167 | mSearchJournal->setChecked( false ); | ||
168 | mSearchTodo->setChecked( false ); | ||
169 | } | ||
170 | } | ||
171 | } | ||
172 | currentState = newState; | ||
173 | raise(); | ||
174 | } | ||
132 | void SearchDialog::setFocusToList() | 175 | void SearchDialog::setFocusToList() |
133 | { | 176 | { |
134 | listView->resetFocus(); | 177 | listView->resetFocus(); |
135 | } | 178 | } |
136 | void SearchDialog::accept() | 179 | void SearchDialog::accept() |
137 | { | 180 | { |
138 | doSearch(); | 181 | doSearch(); |
139 | } | 182 | } |
140 | void SearchDialog::updateList() | 183 | void SearchDialog::updateList() |
141 | { | 184 | { |
142 | //listView->updateList(); | 185 | //listView->updateList(); |
143 | if ( isVisible() ) { | 186 | if ( isVisible() ) { |
144 | updateView(); | 187 | updateView(); |
145 | //qDebug("SearchDialog::updated "); | 188 | //qDebug("SearchDialog::updated "); |
146 | } | 189 | } |
147 | else { | 190 | else { |
148 | listView->clear(); | 191 | listView->clear(); |
149 | //qDebug("SearchDialog::cleared "); | 192 | //qDebug("SearchDialog::cleared "); |
150 | 193 | ||
151 | } | 194 | } |
152 | } | 195 | } |
153 | void SearchDialog::searchTextChanged( const QString &_text ) | 196 | void SearchDialog::searchTextChanged( const QString &_text ) |
154 | { | 197 | { |
155 | #if 0 | 198 | #if 0 |
156 | enableButton( KDialogBase::User1, !_text.isEmpty() ); | 199 | enableButton( KDialogBase::User1, !_text.isEmpty() ); |
157 | #endif | 200 | #endif |
158 | } | 201 | } |
159 | 202 | ||
160 | void SearchDialog::doSearch() | 203 | void SearchDialog::doSearch() |
161 | { | 204 | { |
162 | QRegExp re; | 205 | QRegExp re; |
163 | 206 | ||
164 | re.setWildcard(true); // most people understand these better. | 207 | re.setWildcard(true); // most people understand these better. |
165 | re.setCaseSensitive(false); | 208 | re.setCaseSensitive(false); |
166 | re.setPattern(searchEdit->text()); | 209 | re.setPattern(searchEdit->text()); |
167 | if (!mSearchEvent->isChecked() && !mSearchTodo->isChecked() && !mSearchJournal->isChecked() ) { | 210 | if (!mSearchEvent->isChecked() && !mSearchTodo->isChecked() && !mSearchJournal->isChecked() ) { |
168 | KMessageBox::sorry(this, | 211 | KMessageBox::sorry(this, |
169 | i18n("Please select at least one\nof the types to search for:\n\nEvents\nTodos\nJournals")); | 212 | i18n("Please select at least one\nof the types to search for:\n\nEvents\nTodos\nJournals")); |
170 | return; | 213 | return; |
171 | } | 214 | } |
172 | if (!re.isValid() ) { | 215 | if (!re.isValid() ) { |
173 | KMessageBox::sorry(this, | 216 | KMessageBox::sorry(this, |
174 | i18n("Invalid search expression,\ncannot perform " | 217 | i18n("Invalid search expression,\ncannot perform " |
175 | "the search.\nPlease enter a search expression\n" | 218 | "the search.\nPlease enter a search expression\n" |
176 | "using the wildcard characters\n '*' and '?'" | 219 | "using the wildcard characters\n '*' and '?'" |
177 | "where needed.")); | 220 | "where needed.")); |
178 | return; | 221 | return; |
179 | } | 222 | } |
180 | 223 | ||
181 | search(re); | 224 | search(re); |
182 | 225 | ||
183 | listView->setStartDate( mStartDate->date() ); | 226 | listView->setStartDate( mStartDate->date() ); |
184 | listView->showEvents(mMatchedEvents); | 227 | listView->showEvents(mMatchedEvents); |
185 | listView->addTodos(mMatchedTodos); | 228 | listView->addTodos(mMatchedTodos); |
186 | listView->addJournals(mMatchedJournals); | 229 | listView->addJournals(mMatchedJournals); |
187 | 230 | ||
188 | if (mMatchedEvents.count() + mMatchedJournals.count() + mMatchedTodos.count() == 0) { | 231 | if (mMatchedEvents.count() + mMatchedJournals.count() + mMatchedTodos.count() == 0) { |
189 | setCaption(i18n("No items found. Use '*' and '?' where needed.")); | 232 | setCaption(i18n("No items found. Use '*' and '?' where needed.")); |
190 | } else { | 233 | } else { |
191 | QString mess; | 234 | QString mess; |
192 | mess = mess.sprintf( i18n("%d item(s) found."), mMatchedEvents.count()+ mMatchedJournals.count() + mMatchedTodos.count() ); | 235 | mess = mess.sprintf( i18n("%d item(s) found."), mMatchedEvents.count()+ mMatchedJournals.count() + mMatchedTodos.count() ); |
193 | setCaption( i18n("KO/Pi Find: ") + mess); | 236 | setCaption( i18n("KO/Pi Find: ") + mess); |
194 | 237 | ||
195 | } | 238 | } |
196 | searchEdit->setFocus(); | 239 | searchEdit->setFocus(); |
197 | } | 240 | } |
198 | void SearchDialog::updateConfig() | 241 | void SearchDialog::updateConfig() |
199 | { | 242 | { |
200 | listView->updateConfig(); | 243 | listView->updateConfig(); |
201 | } | 244 | } |
202 | void SearchDialog::updateView() | 245 | void SearchDialog::updateView() |
203 | { | 246 | { |
204 | 247 | //qDebug("SearchDialog::updateView() %d ", isVisible()); | |
205 | QRegExp re; | 248 | QRegExp re; |
206 | re.setWildcard(true); // most people understand these better. | 249 | re.setWildcard(true); // most people understand these better. |
207 | re.setCaseSensitive(false); | 250 | re.setCaseSensitive(false); |
208 | re.setPattern(searchEdit->text()); | 251 | re.setPattern(searchEdit->text()); |
209 | if (re.isValid()) { | 252 | if (re.isValid()) { |
210 | search(re); | 253 | search(re); |
211 | } else { | 254 | } else { |
212 | mMatchedEvents.clear(); | 255 | mMatchedEvents.clear(); |
213 | mMatchedTodos.clear(); | 256 | mMatchedTodos.clear(); |
214 | mMatchedJournals.clear(); | 257 | mMatchedJournals.clear(); |
215 | } | 258 | } |
216 | listView->setStartDate( mStartDate->date() ); | 259 | listView->setStartDate( mStartDate->date() ); |
217 | listView->showEvents(mMatchedEvents); | 260 | listView->showEvents(mMatchedEvents); |
218 | listView->addTodos(mMatchedTodos); | 261 | listView->addTodos(mMatchedTodos); |
219 | listView->addJournals(mMatchedJournals); | 262 | listView->addJournals(mMatchedJournals); |
220 | } | 263 | } |
221 | 264 | ||
222 | void SearchDialog::search(const QRegExp &re) | 265 | void SearchDialog::search(const QRegExp &re) |
223 | { | 266 | { |
224 | QPtrList<Event> events = mCalendar->events( mStartDate->date(), | 267 | QPtrList<Event> events = mCalendar->events( mStartDate->date(), |
225 | mEndDate->date(), | 268 | mEndDate->date(), |
226 | false /*mInclusiveCheck->isChecked()*/ ); | 269 | false /*mInclusiveCheck->isChecked()*/ ); |
227 | 270 | ||
228 | mMatchedEvents.clear(); | 271 | mMatchedEvents.clear(); |
229 | if ( mSearchEvent->isChecked() ) { | 272 | if ( mSearchEvent->isChecked() ) { |
230 | Event *ev; | 273 | Event *ev; |
231 | for(ev=events.first();ev;ev=events.next()) { | 274 | for(ev=events.first();ev;ev=events.next()) { |
232 | if (mSummaryCheck->isChecked()) { | 275 | if (mSummaryCheck->isChecked()) { |
233 | #if QT_VERSION >= 0x030000 | 276 | #if QT_VERSION >= 0x030000 |
234 | if (re.search(ev->summary()) != -1) | 277 | if (re.search(ev->summary()) != -1) |
235 | #else | 278 | #else |
236 | if (re.match(ev->summary()) != -1) | 279 | if (re.match(ev->summary()) != -1) |
237 | #endif | 280 | #endif |
238 | { | 281 | { |
239 | mMatchedEvents.append(ev); | 282 | mMatchedEvents.append(ev); |
240 | continue; | 283 | continue; |
241 | } | 284 | } |
242 | #if QT_VERSION >= 0x030000 | 285 | #if QT_VERSION >= 0x030000 |
243 | if (re.search(ev->location()) != -1) | 286 | if (re.search(ev->location()) != -1) |
244 | #else | 287 | #else |
245 | if (re.match(ev->location()) != -1) | 288 | if (re.match(ev->location()) != -1) |
246 | #endif | 289 | #endif |
247 | { | 290 | { |
248 | mMatchedEvents.append(ev); | 291 | mMatchedEvents.append(ev); |
249 | continue; | 292 | continue; |
250 | } | 293 | } |
251 | } | 294 | } |
252 | if (mDescriptionCheck->isChecked()) { | 295 | if (mDescriptionCheck->isChecked()) { |
253 | #if QT_VERSION >= 0x030000 | 296 | #if QT_VERSION >= 0x030000 |
254 | if (re.search(ev->description()) != -1) | 297 | if (re.search(ev->description()) != -1) |
255 | #else | 298 | #else |
256 | if (re.match(ev->description()) != -1) | 299 | if (re.match(ev->description()) != -1) |
257 | #endif | 300 | #endif |
258 | { | 301 | { |
259 | mMatchedEvents.append(ev); | 302 | mMatchedEvents.append(ev); |
260 | continue; | 303 | continue; |
261 | } | 304 | } |
262 | } | 305 | } |
263 | if (mCategoryCheck->isChecked()) { | 306 | if (mCategoryCheck->isChecked()) { |
264 | #if QT_VERSION >= 0x030000 | 307 | #if QT_VERSION >= 0x030000 |
265 | if (re.search(ev->categoriesStr()) != -1) | 308 | if (re.search(ev->categoriesStr()) != -1) |
266 | #else | 309 | #else |
267 | if (re.match(ev->categoriesStr()) != -1) | 310 | if (re.match(ev->categoriesStr()) != -1) |
268 | #endif | 311 | #endif |
269 | { | 312 | { |
270 | mMatchedEvents.append(ev); | 313 | mMatchedEvents.append(ev); |
271 | continue; | 314 | continue; |
272 | } | 315 | } |
273 | } | 316 | } |
274 | if ( mSearchAName->isChecked() || mSearchAEmail->isChecked() ) { | 317 | if ( mSearchAName->isChecked() || mSearchAEmail->isChecked() ) { |
275 | QPtrList<Attendee> tmpAList = ev->attendees(); | 318 | QPtrList<Attendee> tmpAList = ev->attendees(); |
276 | Attendee *a; | 319 | Attendee *a; |
277 | for (a = tmpAList.first(); a; a = tmpAList.next()) { | 320 | for (a = tmpAList.first(); a; a = tmpAList.next()) { |
278 | if (mSearchAName->isChecked()) { | 321 | if (mSearchAName->isChecked()) { |
279 | #if QT_VERSION >= 0x030000 | 322 | #if QT_VERSION >= 0x030000 |
280 | if (re.search(a->name()) != -1) | 323 | if (re.search(a->name()) != -1) |
281 | #else | 324 | #else |
282 | if (re.match(a->name()) != -1) | 325 | if (re.match(a->name()) != -1) |
283 | #endif | 326 | #endif |
284 | { | 327 | { |
285 | mMatchedEvents.append(ev); | 328 | mMatchedEvents.append(ev); |
286 | break; | 329 | break; |
287 | } | 330 | } |
288 | } | 331 | } |
289 | if (mSearchAEmail->isChecked()) { | 332 | if (mSearchAEmail->isChecked()) { |
290 | #if QT_VERSION >= 0x030000 | 333 | #if QT_VERSION >= 0x030000 |
291 | if (re.search(a->email()) != -1) | 334 | if (re.search(a->email()) != -1) |
292 | #else | 335 | #else |
293 | if (re.match(a->email()) != -1) | 336 | if (re.match(a->email()) != -1) |
294 | #endif | 337 | #endif |
295 | { | 338 | { |
296 | mMatchedEvents.append(ev); | 339 | mMatchedEvents.append(ev); |
297 | break; | 340 | break; |
298 | } | 341 | } |
299 | } | 342 | } |
300 | } | 343 | } |
301 | } | 344 | } |
302 | } | 345 | } |
303 | } | 346 | } |
304 | QPtrList<Todo> todos = mCalendar->todos( ); | 347 | QPtrList<Todo> todos = mCalendar->todos( ); |
305 | mMatchedTodos.clear(); | 348 | mMatchedTodos.clear(); |
306 | if ( mSearchTodo->isChecked() ) { | 349 | if ( mSearchTodo->isChecked() ) { |
307 | Todo *tod; | 350 | Todo *tod; |
308 | for(tod=todos.first();tod;tod=todos.next()) { | 351 | for(tod=todos.first();tod;tod=todos.next()) { |
309 | if (mSummaryCheck->isChecked()) { | 352 | if (mSummaryCheck->isChecked()) { |
310 | #if QT_VERSION >= 0x030000 | 353 | #if QT_VERSION >= 0x030000 |
311 | if (re.search(tod->summary()) != -1) | 354 | if (re.search(tod->summary()) != -1) |
312 | #else | 355 | #else |
313 | if (re.match(tod->summary()) != -1) | 356 | if (re.match(tod->summary()) != -1) |
314 | #endif | 357 | #endif |
315 | { | 358 | { |
316 | mMatchedTodos.append(tod); | 359 | mMatchedTodos.append(tod); |
317 | continue; | 360 | continue; |
318 | } | 361 | } |
319 | } | 362 | } |
320 | if (mDescriptionCheck->isChecked()) { | 363 | if (mDescriptionCheck->isChecked()) { |
321 | #if QT_VERSION >= 0x030000 | 364 | #if QT_VERSION >= 0x030000 |
322 | if (re.search(tod->description()) != -1) | 365 | if (re.search(tod->description()) != -1) |
323 | #else | 366 | #else |
324 | if (re.match(tod->description()) != -1) | 367 | if (re.match(tod->description()) != -1) |
325 | #endif | 368 | #endif |
326 | { | 369 | { |
327 | mMatchedTodos.append(tod); | 370 | mMatchedTodos.append(tod); |
328 | continue; | 371 | continue; |
329 | } | 372 | } |
330 | } | 373 | } |
331 | if (mCategoryCheck->isChecked()) { | 374 | if (mCategoryCheck->isChecked()) { |
332 | #if QT_VERSION >= 0x030000 | 375 | #if QT_VERSION >= 0x030000 |
diff --git a/korganizer/searchdialog.h b/korganizer/searchdialog.h index b730ed5..4559d20 100644 --- a/korganizer/searchdialog.h +++ b/korganizer/searchdialog.h | |||
@@ -1,94 +1,95 @@ | |||
1 | /* | 1 | /* |
2 | This file is part of KOrganizer. | 2 | This file is part of KOrganizer. |
3 | Copyright (c) 1998 Preston Brown | 3 | Copyright (c) 1998 Preston Brown |
4 | Copyright (c) 2000,2001 Cornelius Schumacher <schumacher@kde.org> | 4 | Copyright (c) 2000,2001 Cornelius Schumacher <schumacher@kde.org> |
5 | 5 | ||
6 | This program is free software; you can redistribute it and/or modify | 6 | This program is free software; you can redistribute it and/or modify |
7 | it under the terms of the GNU General Public License as published by | 7 | it under the terms of the GNU General Public License as published by |
8 | the Free Software Foundation; either version 2 of the License, or | 8 | the Free Software Foundation; either version 2 of the License, or |
9 | (at your option) any later version. | 9 | (at your option) any later version. |
10 | 10 | ||
11 | This program is distributed in the hope that it will be useful, | 11 | This program 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 | 13 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
14 | GNU General Public License for more details. | 14 | GNU General Public License for more details. |
15 | 15 | ||
16 | You should have received a copy of the GNU General Public License | 16 | You should have received a copy of the GNU General Public License |
17 | along with this program; if not, write to the Free Software | 17 | along with this program; if not, write to the Free Software |
18 | Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. | 18 | Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. |
19 | 19 | ||
20 | As a special exception, permission is given to link this program | 20 | As a special exception, permission is given to link this program |
21 | with any edition of Qt, and distribute the resulting executable, | 21 | with any edition of Qt, and distribute the resulting executable, |
22 | without including the source code for Qt in the source distribution. | 22 | without including the source code for Qt in the source distribution. |
23 | */ | 23 | */ |
24 | #ifndef SEARCHDIALOG_H | 24 | #ifndef SEARCHDIALOG_H |
25 | #define SEARCHDIALOG_H | 25 | #define SEARCHDIALOG_H |
26 | 26 | ||
27 | #include <qregexp.h> | 27 | #include <qregexp.h> |
28 | 28 | ||
29 | #include <kdialogbase.h> | 29 | #include <kdialogbase.h> |
30 | #include <qvbox.h> | 30 | #include <qvbox.h> |
31 | 31 | ||
32 | #include <libkcal/calendar.h> | 32 | #include <libkcal/calendar.h> |
33 | 33 | ||
34 | #include "kolistview.h" | 34 | #include "kolistview.h" |
35 | 35 | ||
36 | class KDateEdit; | 36 | class KDateEdit; |
37 | class QCheckBox; | 37 | class QCheckBox; |
38 | class QLineEdit; | 38 | class QLineEdit; |
39 | class KLineEdit; | 39 | class KLineEdit; |
40 | class QLabel; | 40 | class QLabel; |
41 | class CalendarView; | 41 | class CalendarView; |
42 | 42 | ||
43 | using namespace KCal; | 43 | using namespace KCal; |
44 | class SearchDialog : public QVBox | 44 | class SearchDialog : public QVBox |
45 | { | 45 | { |
46 | Q_OBJECT | 46 | Q_OBJECT |
47 | public: | 47 | public: |
48 | SearchDialog(Calendar *calendar,CalendarView *parent=0); | 48 | SearchDialog(Calendar *calendar,CalendarView *parent=0); |
49 | virtual ~SearchDialog(); | 49 | virtual ~SearchDialog(); |
50 | KOListView *listview(){ return listView;} | 50 | KOListView *listview(){ return listView;} |
51 | void updateView(); | 51 | void updateView(); |
52 | void raiseAndSelect(); | ||
52 | 53 | ||
53 | public slots: | 54 | public slots: |
54 | void changeEventDisplay(Event *, int) { updateView(); } | 55 | void changeEventDisplay(Event *, int) { updateView(); } |
55 | void updateConfig(); | 56 | void updateConfig(); |
56 | void updateList(); | 57 | void updateList(); |
57 | protected slots: | 58 | protected slots: |
58 | void setFocusToList(); | 59 | void setFocusToList(); |
59 | void accept(); | 60 | void accept(); |
60 | void doSearch(); | 61 | void doSearch(); |
61 | void searchTextChanged( const QString &_text ); | 62 | void searchTextChanged( const QString &_text ); |
62 | 63 | ||
63 | signals: | 64 | signals: |
64 | void showEventSignal(Event *); | 65 | void showEventSignal(Event *); |
65 | void editEventSignal(Event *); | 66 | void editEventSignal(Event *); |
66 | void deleteEventSignal(Event *); | 67 | void deleteEventSignal(Event *); |
67 | 68 | ||
68 | private: | 69 | private: |
69 | void search(const QRegExp &); | 70 | void search(const QRegExp &); |
70 | 71 | ||
71 | Calendar *mCalendar; | 72 | Calendar *mCalendar; |
72 | 73 | ||
73 | QPtrList<Event> mMatchedEvents; | 74 | QPtrList<Event> mMatchedEvents; |
74 | QPtrList<Todo> mMatchedTodos; | 75 | QPtrList<Todo> mMatchedTodos; |
75 | QPtrList<Journal> mMatchedJournals; | 76 | QPtrList<Journal> mMatchedJournals; |
76 | 77 | ||
77 | QLabel *searchLabel; | 78 | QLabel *searchLabel; |
78 | KLineEdit *searchEdit; | 79 | KLineEdit *searchEdit; |
79 | KOListView *listView; | 80 | KOListView *listView; |
80 | 81 | ||
81 | KDateEdit *mStartDate; | 82 | KDateEdit *mStartDate; |
82 | KDateEdit *mEndDate; | 83 | KDateEdit *mEndDate; |
83 | QCheckBox *mSummaryCheck; | 84 | QCheckBox *mSummaryCheck; |
84 | QCheckBox *mDescriptionCheck; | 85 | QCheckBox *mDescriptionCheck; |
85 | QCheckBox *mCategoryCheck; | 86 | QCheckBox *mCategoryCheck; |
86 | QCheckBox *mSearchEvent; | 87 | QCheckBox *mSearchEvent; |
87 | QCheckBox *mSearchTodo; | 88 | QCheckBox *mSearchTodo; |
88 | QCheckBox *mSearchJournal; | 89 | QCheckBox *mSearchJournal; |
89 | QCheckBox *mSearchAName; | 90 | QCheckBox *mSearchAName; |
90 | QCheckBox *mSearchAEmail; | 91 | QCheckBox *mSearchAEmail; |
91 | void keyPressEvent ( QKeyEvent *e) ; | 92 | void keyPressEvent ( QKeyEvent *e) ; |
92 | }; | 93 | }; |
93 | 94 | ||
94 | #endif | 95 | #endif |
diff --git a/microkde/KDGanttMinimizeSplitter.cpp b/microkde/KDGanttMinimizeSplitter.cpp index c60b566..029f14b 100644 --- a/microkde/KDGanttMinimizeSplitter.cpp +++ b/microkde/KDGanttMinimizeSplitter.cpp | |||
@@ -1,243 +1,243 @@ | |||
1 | /* -*- Mode: C++ -*- | 1 | /* -*- Mode: C++ -*- |
2 | $Id$ | 2 | $Id$ |
3 | */ | 3 | */ |
4 | 4 | ||
5 | /**************************************************************************** | 5 | /**************************************************************************** |
6 | ** Copyright (C) 2002-2004 Klarälvdalens Datakonsult AB. All rights reserved. | 6 | ** Copyright (C) 2002-2004 Klarälvdalens Datakonsult AB. All rights reserved. |
7 | ** | 7 | ** |
8 | ** This file is part of the KDGantt library. | 8 | ** This file is part of the KDGantt library. |
9 | ** | 9 | ** |
10 | ** This file may be distributed and/or modified under the terms of the | 10 | ** This file may be distributed and/or modified under the terms of the |
11 | ** GNU General Public License version 2 as published by the Free Software | 11 | ** GNU General Public License version 2 as published by the Free Software |
12 | ** Foundation and appearing in the file LICENSE.GPL included in the | 12 | ** Foundation and appearing in the file LICENSE.GPL included in the |
13 | ** packaging of this file. | 13 | ** packaging of this file. |
14 | ** | 14 | ** |
15 | ** Licensees holding valid commercial KDGantt licenses may use this file in | 15 | ** Licensees holding valid commercial KDGantt licenses may use this file in |
16 | ** accordance with the KDGantt Commercial License Agreement provided with | 16 | ** accordance with the KDGantt Commercial License Agreement provided with |
17 | ** the Software. | 17 | ** the Software. |
18 | ** | 18 | ** |
19 | ** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE | 19 | ** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE |
20 | ** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. | 20 | ** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. |
21 | ** | 21 | ** |
22 | ** See http://www.klaralvdalens-datakonsult.se/Public/products/ for | 22 | ** See http://www.klaralvdalens-datakonsult.se/Public/products/ for |
23 | ** information about KDGantt Commercial License Agreements. | 23 | ** information about KDGantt Commercial License Agreements. |
24 | ** | 24 | ** |
25 | ** Contact info@klaralvdalens-datakonsult.se if any conditions of this | 25 | ** Contact info@klaralvdalens-datakonsult.se if any conditions of this |
26 | ** licensing are not clear to you. | 26 | ** licensing are not clear to you. |
27 | ** | 27 | ** |
28 | ** As a special exception, permission is given to link this program | 28 | ** As a special exception, permission is given to link this program |
29 | ** with any edition of Qt, and distribute the resulting executable, | 29 | ** with any edition of Qt, and distribute the resulting executable, |
30 | ** without including the source code for Qt in the source distribution. | 30 | ** without including the source code for Qt in the source distribution. |
31 | ** | 31 | ** |
32 | **********************************************************************/ | 32 | **********************************************************************/ |
33 | 33 | ||
34 | #include "KDGanttMinimizeSplitter.h" | 34 | #include "KDGanttMinimizeSplitter.h" |
35 | #ifndef QT_NO_SPLITTER___ | 35 | #ifndef QT_NO_SPLITTER___ |
36 | 36 | ||
37 | #include "qpainter.h" | 37 | #include "qpainter.h" |
38 | #include "qdrawutil.h" | 38 | #include "qdrawutil.h" |
39 | #include "qbitmap.h" | 39 | #include "qbitmap.h" |
40 | #if QT_VERSION >= 0x030000 | 40 | #if QT_VERSION >= 0x030000 |
41 | #include "qptrlist.h" | 41 | #include "qptrlist.h" |
42 | #include "qmemarray.h" | 42 | #include "qmemarray.h" |
43 | #else | 43 | #else |
44 | #include <qlist.h> | 44 | #include <qlist.h> |
45 | #include <qarray.h> | 45 | #include <qarray.h> |
46 | #define QPtrList QList | 46 | #define QPtrList QList |
47 | #define QMemArray QArray | 47 | #define QMemArray QArray |
48 | #endif | 48 | #endif |
49 | #include "qlayoutengine_p.h" | 49 | #include "qlayoutengine_p.h" |
50 | #include "qobjectlist.h" | 50 | #include "qobjectlist.h" |
51 | #include "qstyle.h" | 51 | #include "qstyle.h" |
52 | #include "qapplication.h" //sendPostedEvents | 52 | #include "qapplication.h" //sendPostedEvents |
53 | #include <qvaluelist.h> | 53 | #include <qvaluelist.h> |
54 | #include <qcursor.h> | 54 | #include <qcursor.h> |
55 | #ifndef KDGANTT_MASTER_CVS | 55 | #ifndef KDGANTT_MASTER_CVS |
56 | //#include "KDGanttMinimizeSplitter.moc" | 56 | //#include "KDGanttMinimizeSplitter.moc" |
57 | #endif | 57 | #endif |
58 | 58 | ||
59 | 59 | ||
60 | 60 | ||
61 | #ifndef DOXYGEN_SKIP_INTERNAL | 61 | #ifndef DOXYGEN_SKIP_INTERNAL |
62 | 62 | ||
63 | #if QT_VERSION >= 232 | 63 | #if QT_VERSION >= 232 |
64 | static int mouseOffset; | 64 | static int mouseOffset; |
65 | static int opaqueOldPos = -1; //### there's only one mouse, but this is a bit risky | 65 | static int opaqueOldPos = -1; //### there's only one mouse, but this is a bit risky |
66 | 66 | ||
67 | 67 | ||
68 | KDGanttSplitterHandle::KDGanttSplitterHandle( Qt::Orientation o, | 68 | KDGanttSplitterHandle::KDGanttSplitterHandle( Qt::Orientation o, |
69 | KDGanttMinimizeSplitter *parent, const char * name ) | 69 | KDGanttMinimizeSplitter *parent, const char * name ) |
70 | : QWidget( parent, name ), _activeButton( 0 ), _collapsed( false ) | 70 | : QWidget( parent, name ), _activeButton( 0 ), _collapsed( false ) |
71 | { | 71 | { |
72 | 72 | ||
73 | if ( QApplication::desktop()->width() > 320 && QApplication::desktop()->width() < 650 ) { | 73 | if ( QApplication::desktop()->width() > 320 && QApplication::desktop()->width() < 650 ) { |
74 | mSizeHint = QSize(7,7); | 74 | mSizeHint = QSize(7,7); |
75 | mUseOffset = true; | 75 | mUseOffset = true; |
76 | } else { | 76 | } else { |
77 | mSizeHint = QSize(6,6); | 77 | mSizeHint = QSize(6,6); |
78 | mUseOffset = false; | 78 | mUseOffset = false; |
79 | } | 79 | } |
80 | s = parent; | 80 | s = parent; |
81 | setOrientation(o); | 81 | setOrientation(o); |
82 | setMouseTracking( true ); | 82 | setMouseTracking( true ); |
83 | mMouseDown = false; | 83 | mMouseDown = false; |
84 | //setMaximumHeight( 5 ); // test only | 84 | //setMaximumHeight( 5 ); // test only |
85 | } | 85 | } |
86 | 86 | ||
87 | QSize KDGanttSplitterHandle::sizeHint() const | 87 | QSize KDGanttSplitterHandle::sizeHint() const |
88 | { | 88 | { |
89 | return mSizeHint; | 89 | return mSizeHint; |
90 | } | 90 | } |
91 | 91 | ||
92 | void KDGanttSplitterHandle::setOrientation( Qt::Orientation o ) | 92 | void KDGanttSplitterHandle::setOrientation( Qt::Orientation o ) |
93 | { | 93 | { |
94 | orient = o; | 94 | orient = o; |
95 | #ifndef QT_NO_CURSOR | 95 | #ifndef QT_NO_CURSOR |
96 | if ( o == KDGanttMinimizeSplitter::Horizontal ) | 96 | if ( o == KDGanttMinimizeSplitter::Horizontal ) |
97 | setCursor( splitHCursor ); | 97 | setCursor( splitHCursor ); |
98 | else | 98 | else |
99 | setCursor( splitVCursor ); | 99 | setCursor( splitVCursor ); |
100 | #endif | 100 | #endif |
101 | } | 101 | } |
102 | 102 | ||
103 | 103 | ||
104 | void KDGanttSplitterHandle::mouseMoveEvent( QMouseEvent *e ) | 104 | void KDGanttSplitterHandle::mouseMoveEvent( QMouseEvent *e ) |
105 | { | 105 | { |
106 | updateCursor( e->pos() ); | 106 | updateCursor( e->pos() ); |
107 | if ( !(e->state()&LeftButton) ) | 107 | if ( !(e->state()&LeftButton) ) |
108 | return; | 108 | return; |
109 | 109 | ||
110 | if ( _activeButton != 0) | 110 | if ( _activeButton != 0) |
111 | return; | 111 | return; |
112 | 112 | ||
113 | QCOORD pos = s->pick(parentWidget()->mapFromGlobal(e->globalPos())) | 113 | QCOORD pos = s->pick(parentWidget()->mapFromGlobal(e->globalPos())) |
114 | - mouseOffset; | 114 | - mouseOffset; |
115 | if ( true /*opaque()*/ ) { | 115 | if ( opaque() ) { |
116 | s->moveSplitter( pos, id() ); | 116 | s->moveSplitter( pos, id() ); |
117 | } else { | 117 | } else { |
118 | int min = pos; int max = pos; | 118 | int min = pos; int max = pos; |
119 | s->getRange( id(), &min, &max ); | 119 | s->getRange( id(), &min, &max ); |
120 | s->setRubberband( QMAX( min, QMIN(max, pos ))); | 120 | s->setRubberband( QMAX( min, QMIN(max, pos ))); |
121 | } | 121 | } |
122 | _collapsed = false; | 122 | _collapsed = false; |
123 | } | 123 | } |
124 | 124 | ||
125 | void KDGanttSplitterHandle::mousePressEvent( QMouseEvent *e ) | 125 | void KDGanttSplitterHandle::mousePressEvent( QMouseEvent *e ) |
126 | { | 126 | { |
127 | if ( e->button() == LeftButton ) { | 127 | if ( e->button() == LeftButton ) { |
128 | _activeButton = onButton( e->pos() ); | 128 | _activeButton = onButton( e->pos() ); |
129 | mouseOffset = s->pick(e->pos()); | 129 | mouseOffset = s->pick(e->pos()); |
130 | mMouseDown = true; | 130 | mMouseDown = true; |
131 | repaint(); | 131 | repaint(); |
132 | updateCursor( e->pos() ); | 132 | updateCursor( e->pos() ); |
133 | } | 133 | } |
134 | } | 134 | } |
135 | 135 | ||
136 | void KDGanttSplitterHandle::updateCursor( const QPoint& p) | 136 | void KDGanttSplitterHandle::updateCursor( const QPoint& p) |
137 | { | 137 | { |
138 | if ( onButton( p ) != 0 ) { | 138 | if ( onButton( p ) != 0 ) { |
139 | setCursor( arrowCursor ); | 139 | setCursor( arrowCursor ); |
140 | } | 140 | } |
141 | else { | 141 | else { |
142 | if ( orient == KDGanttMinimizeSplitter::Horizontal ) | 142 | if ( orient == KDGanttMinimizeSplitter::Horizontal ) |
143 | setCursor( splitHCursor ); | 143 | setCursor( splitHCursor ); |
144 | else | 144 | else |
145 | setCursor( splitVCursor ); | 145 | setCursor( splitVCursor ); |
146 | } | 146 | } |
147 | } | 147 | } |
148 | void KDGanttSplitterHandle::toggle() | 148 | void KDGanttSplitterHandle::toggle() |
149 | { | 149 | { |
150 | int pos; | 150 | int pos; |
151 | int min, max; | 151 | int min, max; |
152 | if ( !_collapsed ) { | 152 | if ( !_collapsed ) { |
153 | s->expandPos( id(), &min, &max ); | 153 | s->expandPos( id(), &min, &max ); |
154 | if ( s->minimizeDirection() == KDGanttMinimizeSplitter::Left | 154 | if ( s->minimizeDirection() == KDGanttMinimizeSplitter::Left |
155 | || s->minimizeDirection() == KDGanttMinimizeSplitter::Up ) { | 155 | || s->minimizeDirection() == KDGanttMinimizeSplitter::Up ) { |
156 | pos = min; | 156 | pos = min; |
157 | } | 157 | } |
158 | else { | 158 | else { |
159 | pos = max; | 159 | pos = max; |
160 | } | 160 | } |
161 | 161 | ||
162 | _origPos = s->pick(mapToParent( QPoint( 0,0 ) )); | 162 | _origPos = s->pick(mapToParent( QPoint( 0,0 ) )); |
163 | s->moveSplitter( pos, id() ); | 163 | s->moveSplitter( pos, id() ); |
164 | _collapsed = true; | 164 | _collapsed = true; |
165 | } | 165 | } |
166 | else { | 166 | else { |
167 | s->moveSplitter( _origPos, id() ); | 167 | s->moveSplitter( _origPos, id() ); |
168 | _collapsed = false; | 168 | _collapsed = false; |
169 | } | 169 | } |
170 | repaint(); | 170 | repaint(); |
171 | } | 171 | } |
172 | 172 | ||
173 | void KDGanttSplitterHandle::mouseReleaseEvent( QMouseEvent *e ) | 173 | void KDGanttSplitterHandle::mouseReleaseEvent( QMouseEvent *e ) |
174 | { | 174 | { |
175 | mMouseDown = false; | 175 | mMouseDown = false; |
176 | if ( _activeButton != 0 ) { | 176 | if ( _activeButton != 0 ) { |
177 | if ( onButton( e->pos() ) == _activeButton ) | 177 | if ( onButton( e->pos() ) == _activeButton ) |
178 | { | 178 | { |
179 | toggle(); | 179 | toggle(); |
180 | } | 180 | } |
181 | _activeButton = 0; | 181 | _activeButton = 0; |
182 | updateCursor( e->pos() ); | 182 | updateCursor( e->pos() ); |
183 | } | 183 | } |
184 | else { | 184 | else { |
185 | if ( !opaque() && e->button() == LeftButton ) { | 185 | if ( !opaque() && e->button() == LeftButton ) { |
186 | QCOORD pos = s->pick(parentWidget()->mapFromGlobal(e->globalPos())) | 186 | QCOORD pos = s->pick(parentWidget()->mapFromGlobal(e->globalPos())) |
187 | - mouseOffset; | 187 | - mouseOffset; |
188 | s->setRubberband( -1 ); | 188 | s->setRubberband( -1 ); |
189 | s->moveSplitter( pos, id() ); | 189 | s->moveSplitter( pos, id() ); |
190 | } | 190 | } |
191 | } | 191 | } |
192 | repaint(); | 192 | repaint(); |
193 | } | 193 | } |
194 | 194 | ||
195 | int KDGanttSplitterHandle::onButton( const QPoint& p ) | 195 | int KDGanttSplitterHandle::onButton( const QPoint& p ) |
196 | { | 196 | { |
197 | QValueList<QPointArray> list = buttonRegions(); | 197 | QValueList<QPointArray> list = buttonRegions(); |
198 | int index = 1; | 198 | int index = 1; |
199 | int add = 12; | 199 | int add = 12; |
200 | for( QValueList<QPointArray>::Iterator it = list.begin(); it != list.end(); ++it ) { | 200 | for( QValueList<QPointArray>::Iterator it = list.begin(); it != list.end(); ++it ) { |
201 | QRect rect = (*it).boundingRect(); | 201 | QRect rect = (*it).boundingRect(); |
202 | rect.setLeft( rect.left()- add ); | 202 | rect.setLeft( rect.left()- add ); |
203 | rect.setRight( rect.right() + add); | 203 | rect.setRight( rect.right() + add); |
204 | rect.setTop( rect.top()- add ); | 204 | rect.setTop( rect.top()- add ); |
205 | rect.setBottom( rect.bottom() + add); | 205 | rect.setBottom( rect.bottom() + add); |
206 | if ( rect.contains( p ) ) { | 206 | if ( rect.contains( p ) ) { |
207 | return index; | 207 | return index; |
208 | } | 208 | } |
209 | index++; | 209 | index++; |
210 | } | 210 | } |
211 | return 0; | 211 | return 0; |
212 | } | 212 | } |
213 | 213 | ||
214 | 214 | ||
215 | QValueList<QPointArray> KDGanttSplitterHandle::buttonRegions() | 215 | QValueList<QPointArray> KDGanttSplitterHandle::buttonRegions() |
216 | { | 216 | { |
217 | QValueList<QPointArray> list; | 217 | QValueList<QPointArray> list; |
218 | 218 | ||
219 | int sw = 8; | 219 | int sw = 8; |
220 | int yyy = 1; | 220 | int yyy = 1; |
221 | int xxx = 1; | 221 | int xxx = 1; |
222 | int voffset[] = { (int) -sw*3, (int) sw*3 }; | 222 | int voffset[] = { (int) -sw*3, (int) sw*3 }; |
223 | for ( int i = 0; i < 2; i++ ) { | 223 | for ( int i = 0; i < 2; i++ ) { |
224 | QPointArray arr; | 224 | QPointArray arr; |
225 | if ( !_collapsed && s->minimizeDirection() == KDGanttMinimizeSplitter::Right || | 225 | if ( !_collapsed && s->minimizeDirection() == KDGanttMinimizeSplitter::Right || |
226 | _collapsed && s->minimizeDirection() == KDGanttMinimizeSplitter::Left) { | 226 | _collapsed && s->minimizeDirection() == KDGanttMinimizeSplitter::Left) { |
227 | int mid = height()/2 + voffset[i]; | 227 | int mid = height()/2 + voffset[i]; |
228 | arr.setPoints( 3, | 228 | arr.setPoints( 3, |
229 | 1-xxx, mid - sw + 4, | 229 | 1-xxx, mid - sw + 4, |
230 | sw-3-xxx, mid, | 230 | sw-3-xxx, mid, |
231 | 1-xxx, mid + sw -4); | 231 | 1-xxx, mid + sw -4); |
232 | } | 232 | } |
233 | else if ( !_collapsed && s->minimizeDirection() == KDGanttMinimizeSplitter::Left || | 233 | else if ( !_collapsed && s->minimizeDirection() == KDGanttMinimizeSplitter::Left || |
234 | _collapsed && s->minimizeDirection() == KDGanttMinimizeSplitter::Right ) { | 234 | _collapsed && s->minimizeDirection() == KDGanttMinimizeSplitter::Right ) { |
235 | int mid = height()/2 + voffset[i]; | 235 | int mid = height()/2 + voffset[i]; |
236 | arr.setPoints( 3, | 236 | arr.setPoints( 3, |
237 | sw-4, mid - sw + 4, | 237 | sw-4, mid - sw + 4, |
238 | 0, mid, | 238 | 0, mid, |
239 | sw-4, mid + sw - 4); | 239 | sw-4, mid + sw - 4); |
240 | } | 240 | } |
241 | else if ( !_collapsed && s->minimizeDirection() == KDGanttMinimizeSplitter::Up || | 241 | else if ( !_collapsed && s->minimizeDirection() == KDGanttMinimizeSplitter::Up || |
242 | _collapsed && s->minimizeDirection() == KDGanttMinimizeSplitter::Down) { | 242 | _collapsed && s->minimizeDirection() == KDGanttMinimizeSplitter::Down) { |
243 | int mid = width()/2 + voffset[i]; | 243 | int mid = width()/2 + voffset[i]; |
@@ -358,256 +358,261 @@ public: | |||
358 | QPtrList<QSplitterLayoutStruct> list; | 358 | QPtrList<QSplitterLayoutStruct> list; |
359 | bool opaque; | 359 | bool opaque; |
360 | bool firstShow; | 360 | bool firstShow; |
361 | }; | 361 | }; |
362 | 362 | ||
363 | void kdganttGeomCalc( QMemArray<QLayoutStruct> &chain, int start, int count, int pos, | 363 | void kdganttGeomCalc( QMemArray<QLayoutStruct> &chain, int start, int count, int pos, |
364 | int space, int spacer ); | 364 | int space, int spacer ); |
365 | #endif // DOXYGEN_SKIP_INTERNAL | 365 | #endif // DOXYGEN_SKIP_INTERNAL |
366 | 366 | ||
367 | 367 | ||
368 | /*! | 368 | /*! |
369 | \class KDGanttMinimizeSplitter KDGanttMinimizeSplitter.h | 369 | \class KDGanttMinimizeSplitter KDGanttMinimizeSplitter.h |
370 | \brief The KDGanttMinimizeSplitter class implements a splitter | 370 | \brief The KDGanttMinimizeSplitter class implements a splitter |
371 | widget with minimize buttons. | 371 | widget with minimize buttons. |
372 | 372 | ||
373 | This class (and its documentation) is largely a copy of Qt's | 373 | This class (and its documentation) is largely a copy of Qt's |
374 | QSplitter; the copying was necessary because QSplitter is not | 374 | QSplitter; the copying was necessary because QSplitter is not |
375 | extensible at all. QSplitter and its documentation are licensed | 375 | extensible at all. QSplitter and its documentation are licensed |
376 | according to the GPL and the Qt Professional License (if you hold | 376 | according to the GPL and the Qt Professional License (if you hold |
377 | such a license) and are (C) Trolltech AS. | 377 | such a license) and are (C) Trolltech AS. |
378 | 378 | ||
379 | A splitter lets the user control the size of child widgets by | 379 | A splitter lets the user control the size of child widgets by |
380 | dragging the boundary between the children. Any number of widgets | 380 | dragging the boundary between the children. Any number of widgets |
381 | may be controlled. | 381 | may be controlled. |
382 | 382 | ||
383 | To show a QListBox, a QListView and a QTextEdit side by side: | 383 | To show a QListBox, a QListView and a QTextEdit side by side: |
384 | 384 | ||
385 | \code | 385 | \code |
386 | KDGanttMinimizeSplitter *split = new KDGanttMinimizeSplitter( parent ); | 386 | KDGanttMinimizeSplitter *split = new KDGanttMinimizeSplitter( parent ); |
387 | QListBox *lb = new QListBox( split ); | 387 | QListBox *lb = new QListBox( split ); |
388 | QListView *lv = new QListView( split ); | 388 | QListView *lv = new QListView( split ); |
389 | QTextEdit *ed = new QTextEdit( split ); | 389 | QTextEdit *ed = new QTextEdit( split ); |
390 | \endcode | 390 | \endcode |
391 | 391 | ||
392 | In KDGanttMinimizeSplitter, the boundary can be either horizontal or | 392 | In KDGanttMinimizeSplitter, the boundary can be either horizontal or |
393 | vertical. The default is horizontal (the children are side by side) | 393 | vertical. The default is horizontal (the children are side by side) |
394 | but you can use setOrientation( QSplitter::Vertical ) to set it to | 394 | but you can use setOrientation( QSplitter::Vertical ) to set it to |
395 | vertical. | 395 | vertical. |
396 | 396 | ||
397 | Use setResizeMode() to specify | 397 | Use setResizeMode() to specify |
398 | that a widget should keep its size when the splitter is resized. | 398 | that a widget should keep its size when the splitter is resized. |
399 | 399 | ||
400 | Although KDGanttMinimizeSplitter normally resizes the children only | 400 | Although KDGanttMinimizeSplitter normally resizes the children only |
401 | at the end of a resize operation, if you call setOpaqueResize( TRUE | 401 | at the end of a resize operation, if you call setOpaqueResize( TRUE |
402 | ) the widgets are resized as often as possible. | 402 | ) the widgets are resized as often as possible. |
403 | 403 | ||
404 | The initial distribution of size between the widgets is determined | 404 | The initial distribution of size between the widgets is determined |
405 | by the initial size of each widget. You can also use setSizes() to | 405 | by the initial size of each widget. You can also use setSizes() to |
406 | set the sizes of all the widgets. The function sizes() returns the | 406 | set the sizes of all the widgets. The function sizes() returns the |
407 | sizes set by the user. | 407 | sizes set by the user. |
408 | 408 | ||
409 | If you hide() a child, its space will be distributed among the other | 409 | If you hide() a child, its space will be distributed among the other |
410 | children. It will be reinstated when you show() it again. It is also | 410 | children. It will be reinstated when you show() it again. It is also |
411 | possible to reorder the widgets within the splitter using | 411 | possible to reorder the widgets within the splitter using |
412 | moveToFirst() and moveToLast(). | 412 | moveToFirst() and moveToLast(). |
413 | */ | 413 | */ |
414 | 414 | ||
415 | 415 | ||
416 | 416 | ||
417 | static QSize minSize( const QWidget* /*w*/ ) | 417 | static QSize minSize( const QWidget* /*w*/ ) |
418 | { | 418 | { |
419 | return QSize(0,0); | 419 | return QSize(0,0); |
420 | } | 420 | } |
421 | 421 | ||
422 | // This is the original version of minSize | 422 | // This is the original version of minSize |
423 | static QSize minSizeHint( const QWidget* w ) | 423 | static QSize minSizeHint( const QWidget* w ) |
424 | { | 424 | { |
425 | QSize min = w->minimumSize(); | 425 | QSize min = w->minimumSize(); |
426 | QSize s; | 426 | QSize s; |
427 | if ( min.height() <= 0 || min.width() <= 0 ) | 427 | if ( min.height() <= 0 || min.width() <= 0 ) |
428 | s = w->minimumSizeHint(); | 428 | s = w->minimumSizeHint(); |
429 | if ( min.height() > 0 ) | 429 | if ( min.height() > 0 ) |
430 | s.setHeight( min.height() ); | 430 | s.setHeight( min.height() ); |
431 | if ( min.width() > 0 ) | 431 | if ( min.width() > 0 ) |
432 | s.setWidth( min.width() ); | 432 | s.setWidth( min.width() ); |
433 | return s.expandedTo(QSize(0,0)); | 433 | return s.expandedTo(QSize(0,0)); |
434 | } | 434 | } |
435 | 435 | ||
436 | 436 | ||
437 | 437 | ||
438 | /*! | 438 | /*! |
439 | Constructs a horizontal splitter with the \a parent and \a | 439 | Constructs a horizontal splitter with the \a parent and \a |
440 | name arguments being passed on to the QFrame constructor. | 440 | name arguments being passed on to the QFrame constructor. |
441 | */ | 441 | */ |
442 | KDGanttMinimizeSplitter::KDGanttMinimizeSplitter( QWidget *parent, const char *name ) | 442 | KDGanttMinimizeSplitter::KDGanttMinimizeSplitter( QWidget *parent, const char *name ) |
443 | :QFrame(parent,name,WPaintUnclipped) | 443 | :QFrame(parent,name,WPaintUnclipped) |
444 | { | 444 | { |
445 | mFirstHandle = 0; | 445 | mFirstHandle = 0; |
446 | #if QT_VERSION >= 232 | 446 | #if QT_VERSION >= 232 |
447 | orient = Horizontal; | 447 | orient = Horizontal; |
448 | init(); | 448 | init(); |
449 | #endif | 449 | #endif |
450 | } | 450 | } |
451 | 451 | ||
452 | /*! | 452 | /*! |
453 | Constructs a splitter with orientation \a o with the \a parent | 453 | Constructs a splitter with orientation \a o with the \a parent |
454 | and \a name arguments being passed on to the QFrame constructor. | 454 | and \a name arguments being passed on to the QFrame constructor. |
455 | */ | 455 | */ |
456 | KDGanttMinimizeSplitter::KDGanttMinimizeSplitter( Orientation o, QWidget *parent, const char *name ) | 456 | KDGanttMinimizeSplitter::KDGanttMinimizeSplitter( Orientation o, QWidget *parent, const char *name ) |
457 | :QFrame(parent,name,WPaintUnclipped) | 457 | :QFrame(parent,name,WPaintUnclipped) |
458 | { | 458 | { |
459 | mFirstHandle = 0; | 459 | mFirstHandle = 0; |
460 | #if QT_VERSION >= 232 | 460 | #if QT_VERSION >= 232 |
461 | orient = o; | 461 | orient = o; |
462 | init(); | 462 | init(); |
463 | #endif | 463 | #endif |
464 | } | 464 | } |
465 | 465 | ||
466 | /*! | 466 | /*! |
467 | Destroys the splitter and any children. | 467 | Destroys the splitter and any children. |
468 | */ | 468 | */ |
469 | KDGanttMinimizeSplitter::~KDGanttMinimizeSplitter() | 469 | KDGanttMinimizeSplitter::~KDGanttMinimizeSplitter() |
470 | { | 470 | { |
471 | #if QT_VERSION >= 232 | 471 | #if QT_VERSION >= 232 |
472 | data->list.setAutoDelete( TRUE ); | 472 | data->list.setAutoDelete( TRUE ); |
473 | delete data; | 473 | delete data; |
474 | #endif | 474 | #endif |
475 | } | 475 | } |
476 | 476 | ||
477 | 477 | ||
478 | #if QT_VERSION >= 232 | 478 | #if QT_VERSION >= 232 |
479 | void KDGanttMinimizeSplitter::init() | 479 | void KDGanttMinimizeSplitter::init() |
480 | { | 480 | { |
481 | data = new QSplitterData; | 481 | data = new QSplitterData; |
482 | if ( orient == Horizontal ) | 482 | if ( orient == Horizontal ) |
483 | setSizePolicy( QSizePolicy(QSizePolicy::Expanding,QSizePolicy::Minimum) ); | 483 | setSizePolicy( QSizePolicy(QSizePolicy::Expanding,QSizePolicy::Minimum) ); |
484 | else | 484 | else |
485 | setSizePolicy( QSizePolicy(QSizePolicy::Minimum,QSizePolicy::Expanding) ); | 485 | setSizePolicy( QSizePolicy(QSizePolicy::Minimum,QSizePolicy::Expanding) ); |
486 | #ifndef DESKTOP_VERSION | ||
487 | setOpaqueResize( false ); | ||
488 | #else | ||
489 | setOpaqueResize( true ); | ||
490 | #endif | ||
486 | } | 491 | } |
487 | #endif | 492 | #endif |
488 | 493 | ||
489 | 494 | ||
490 | void KDGanttMinimizeSplitter::toggle() | 495 | void KDGanttMinimizeSplitter::toggle() |
491 | { | 496 | { |
492 | if ( mFirstHandle ) | 497 | if ( mFirstHandle ) |
493 | mFirstHandle->toggle(); | 498 | mFirstHandle->toggle(); |
494 | else | 499 | else |
495 | qDebug("KDGanttMinimizeSplitter::toggle::sorry, handle not available "); | 500 | qDebug("KDGanttMinimizeSplitter::toggle::sorry, handle not available "); |
496 | 501 | ||
497 | } | 502 | } |
498 | 503 | ||
499 | 504 | ||
500 | /*! | 505 | /*! |
501 | \brief the orientation of the splitter | 506 | \brief the orientation of the splitter |
502 | 507 | ||
503 | By default the orientation is horizontal (the widgets are side by side). | 508 | By default the orientation is horizontal (the widgets are side by side). |
504 | The possible orientations are Qt:Vertical and Qt::Horizontal (the default). | 509 | The possible orientations are Qt:Vertical and Qt::Horizontal (the default). |
505 | */ | 510 | */ |
506 | void KDGanttMinimizeSplitter::setOrientation( Orientation o ) | 511 | void KDGanttMinimizeSplitter::setOrientation( Orientation o ) |
507 | { | 512 | { |
508 | #if QT_VERSION >= 232 | 513 | #if QT_VERSION >= 232 |
509 | if ( orient == o ) | 514 | if ( orient == o ) |
510 | return; | 515 | return; |
511 | orient = o; | 516 | orient = o; |
512 | 517 | ||
513 | if ( orient == Horizontal ) | 518 | if ( orient == Horizontal ) |
514 | setSizePolicy( QSizePolicy( QSizePolicy::Expanding, QSizePolicy::Minimum ) ); | 519 | setSizePolicy( QSizePolicy( QSizePolicy::Expanding, QSizePolicy::Minimum ) ); |
515 | else | 520 | else |
516 | setSizePolicy( QSizePolicy( QSizePolicy::Minimum, QSizePolicy::Expanding ) ); | 521 | setSizePolicy( QSizePolicy( QSizePolicy::Minimum, QSizePolicy::Expanding ) ); |
517 | 522 | ||
518 | QSplitterLayoutStruct *s = data->list.first(); | 523 | QSplitterLayoutStruct *s = data->list.first(); |
519 | while ( s ) { | 524 | while ( s ) { |
520 | if ( s->isSplitter ) | 525 | if ( s->isSplitter ) |
521 | ((KDGanttSplitterHandle*)s->wid)->setOrientation( o ); | 526 | ((KDGanttSplitterHandle*)s->wid)->setOrientation( o ); |
522 | s = data->list.next(); // ### next at end of loop, no iterator | 527 | s = data->list.next(); // ### next at end of loop, no iterator |
523 | } | 528 | } |
524 | recalc( isVisible() ); | 529 | recalc( isVisible() ); |
525 | #endif | 530 | #endif |
526 | } | 531 | } |
527 | 532 | ||
528 | 533 | ||
529 | #if QT_VERSION >= 232 | 534 | #if QT_VERSION >= 232 |
530 | /*! | 535 | /*! |
531 | \reimp | 536 | \reimp |
532 | */ | 537 | */ |
533 | void KDGanttMinimizeSplitter::resizeEvent( QResizeEvent * ) | 538 | void KDGanttMinimizeSplitter::resizeEvent( QResizeEvent * ) |
534 | { | 539 | { |
535 | doResize(); | 540 | doResize(); |
536 | } | 541 | } |
537 | 542 | ||
538 | 543 | ||
539 | /* | 544 | /* |
540 | Inserts the widget \a w at the end (or at the beginning if \a first | 545 | Inserts the widget \a w at the end (or at the beginning if \a first |
541 | is TRUE) of the splitter's list of widgets. | 546 | is TRUE) of the splitter's list of widgets. |
542 | 547 | ||
543 | It is the responsibility of the caller of this function to make sure | 548 | It is the responsibility of the caller of this function to make sure |
544 | that \a w is not already in the splitter and to call recalcId if | 549 | that \a w is not already in the splitter and to call recalcId if |
545 | needed. (If \a first is TRUE, then recalcId is very probably | 550 | needed. (If \a first is TRUE, then recalcId is very probably |
546 | needed.) | 551 | needed.) |
547 | */ | 552 | */ |
548 | QSplitterLayoutStruct *KDGanttMinimizeSplitter::addWidget( QWidget *w, bool first ) | 553 | QSplitterLayoutStruct *KDGanttMinimizeSplitter::addWidget( QWidget *w, bool first ) |
549 | { | 554 | { |
550 | QSplitterLayoutStruct *s; | 555 | QSplitterLayoutStruct *s; |
551 | KDGanttSplitterHandle *newHandle = 0; | 556 | KDGanttSplitterHandle *newHandle = 0; |
552 | if ( data->list.count() > 0 ) { | 557 | if ( data->list.count() > 0 ) { |
553 | s = new QSplitterLayoutStruct; | 558 | s = new QSplitterLayoutStruct; |
554 | s->mode = KeepSize; | 559 | s->mode = KeepSize; |
555 | QString tmp = "qt_splithandle_"; | 560 | QString tmp = "qt_splithandle_"; |
556 | tmp += w->name(); | 561 | tmp += w->name(); |
557 | newHandle = new KDGanttSplitterHandle( orientation(), this, tmp.latin1() ); | 562 | newHandle = new KDGanttSplitterHandle( orientation(), this, tmp.latin1() ); |
558 | if ( ! mFirstHandle ) | 563 | if ( ! mFirstHandle ) |
559 | mFirstHandle = newHandle; | 564 | mFirstHandle = newHandle; |
560 | s->wid = newHandle; | 565 | s->wid = newHandle; |
561 | newHandle->setId(data->list.count()); | 566 | newHandle->setId(data->list.count()); |
562 | s->isSplitter = TRUE; | 567 | s->isSplitter = TRUE; |
563 | s->sizer = pick( newHandle->sizeHint() ); | 568 | s->sizer = pick( newHandle->sizeHint() ); |
564 | if ( first ) | 569 | if ( first ) |
565 | data->list.insert( 0, s ); | 570 | data->list.insert( 0, s ); |
566 | else | 571 | else |
567 | data->list.append( s ); | 572 | data->list.append( s ); |
568 | } | 573 | } |
569 | s = new QSplitterLayoutStruct; | 574 | s = new QSplitterLayoutStruct; |
570 | s->mode = Stretch; | 575 | s->mode = Stretch; |
571 | s->wid = w; | 576 | s->wid = w; |
572 | if ( !testWState( WState_Resized ) && w->sizeHint().isValid() ) | 577 | if ( !testWState( WState_Resized ) && w->sizeHint().isValid() ) |
573 | s->sizer = pick( w->sizeHint() ); | 578 | s->sizer = pick( w->sizeHint() ); |
574 | else | 579 | else |
575 | s->sizer = pick( w->size() ); | 580 | s->sizer = pick( w->size() ); |
576 | s->isSplitter = FALSE; | 581 | s->isSplitter = FALSE; |
577 | if ( first ) | 582 | if ( first ) |
578 | data->list.insert( 0, s ); | 583 | data->list.insert( 0, s ); |
579 | else | 584 | else |
580 | data->list.append( s ); | 585 | data->list.append( s ); |
581 | if ( newHandle && isVisible() ) | 586 | if ( newHandle && isVisible() ) |
582 | newHandle->show(); //will trigger sending of post events | 587 | newHandle->show(); //will trigger sending of post events |
583 | return s; | 588 | return s; |
584 | } | 589 | } |
585 | 590 | ||
586 | 591 | ||
587 | /*! | 592 | /*! |
588 | Tells the splitter that a child widget has been inserted or removed. | 593 | Tells the splitter that a child widget has been inserted or removed. |
589 | The event is passed in \a c. | 594 | The event is passed in \a c. |
590 | */ | 595 | */ |
591 | void KDGanttMinimizeSplitter::childEvent( QChildEvent *c ) | 596 | void KDGanttMinimizeSplitter::childEvent( QChildEvent *c ) |
592 | { | 597 | { |
593 | if ( c->type() == QEvent::ChildInserted ) { | 598 | if ( c->type() == QEvent::ChildInserted ) { |
594 | if ( !c->child()->isWidgetType() ) | 599 | if ( !c->child()->isWidgetType() ) |
595 | return; | 600 | return; |
596 | 601 | ||
597 | if ( ((QWidget*)c->child())->testWFlags( WType_TopLevel ) ) | 602 | if ( ((QWidget*)c->child())->testWFlags( WType_TopLevel ) ) |
598 | return; | 603 | return; |
599 | 604 | ||
600 | QSplitterLayoutStruct *s = data->list.first(); | 605 | QSplitterLayoutStruct *s = data->list.first(); |
601 | while ( s ) { | 606 | while ( s ) { |
602 | if ( s->wid == c->child() ) | 607 | if ( s->wid == c->child() ) |
603 | return; | 608 | return; |
604 | s = data->list.next(); | 609 | s = data->list.next(); |
605 | } | 610 | } |
606 | addWidget( (QWidget*)c->child() ); | 611 | addWidget( (QWidget*)c->child() ); |
607 | recalc( isVisible() ); | 612 | recalc( isVisible() ); |
608 | 613 | ||
609 | } else if ( c->type() == QEvent::ChildRemoved ) { | 614 | } else if ( c->type() == QEvent::ChildRemoved ) { |
610 | QSplitterLayoutStruct *p = 0; | 615 | QSplitterLayoutStruct *p = 0; |
611 | if ( data->list.count() > 1 ) | 616 | if ( data->list.count() > 1 ) |
612 | p = data->list.at(1); //remove handle _after_ first widget. | 617 | p = data->list.at(1); //remove handle _after_ first widget. |
613 | QSplitterLayoutStruct *s = data->list.first(); | 618 | QSplitterLayoutStruct *s = data->list.first(); |
diff --git a/microkde/kapplication.cpp b/microkde/kapplication.cpp index f05b91b..80a83e0 100644 --- a/microkde/kapplication.cpp +++ b/microkde/kapplication.cpp | |||
@@ -1,111 +1,126 @@ | |||
1 | #include <stdlib.h> | 1 | #include <stdlib.h> |
2 | #include <stdio.h> | 2 | #include <stdio.h> |
3 | 3 | ||
4 | #include "kapplication.h" | 4 | #include "kapplication.h" |
5 | #include "ktextedit.h" | 5 | #include "ktextedit.h" |
6 | #include <qapplication.h> | 6 | #include <qapplication.h> |
7 | #include <qstring.h> | 7 | #include <qstring.h> |
8 | #include <qfile.h> | 8 | #include <qfile.h> |
9 | #include <qtextstream.h> | 9 | #include <qtextstream.h> |
10 | #include <qdialog.h> | 10 | #include <qdialog.h> |
11 | #include <qlayout.h> | 11 | #include <qlayout.h> |
12 | #include <qtextbrowser.h> | 12 | #include <qtextbrowser.h> |
13 | 13 | ||
14 | int KApplication::random() | 14 | int KApplication::random() |
15 | { | 15 | { |
16 | return rand(); | 16 | return rand(); |
17 | } | 17 | } |
18 | 18 | ||
19 | //US | 19 | //US |
20 | QString KApplication::randomString(int length) | 20 | QString KApplication::randomString(int length) |
21 | { | 21 | { |
22 | if (length <=0 ) return QString::null; | 22 | if (length <=0 ) return QString::null; |
23 | 23 | ||
24 | QString str; | 24 | QString str; |
25 | while (length--) | 25 | while (length--) |
26 | { | 26 | { |
27 | int r=random() % 62; | 27 | int r=random() % 62; |
28 | r+=48; | 28 | r+=48; |
29 | if (r>57) r+=7; | 29 | if (r>57) r+=7; |
30 | if (r>90) r+=6; | 30 | if (r>90) r+=6; |
31 | str += char(r); | 31 | str += char(r); |
32 | // so what if I work backwards? | 32 | // so what if I work backwards? |
33 | } | 33 | } |
34 | return str; | 34 | return str; |
35 | } | 35 | } |
36 | int KApplication::execDialog( QDialog* d ) | 36 | int KApplication::execDialog( QDialog* d ) |
37 | { | 37 | { |
38 | if (QApplication::desktop()->width() <= 640 ) | 38 | if (QApplication::desktop()->width() <= 640 ) |
39 | d->showMaximized(); | 39 | d->showMaximized(); |
40 | else | 40 | else |
41 | ;//d->resize( 800, 600 ); | 41 | ;//d->resize( 800, 600 ); |
42 | return d->exec(); | 42 | return d->exec(); |
43 | } | 43 | } |
44 | void KApplication::showLicence() | 44 | void KApplication::showLicence() |
45 | { | 45 | { |
46 | KApplication::showFile( "KDE-Pim/Pi licence", "kdepim/licence.txt" ); | 46 | KApplication::showFile( "KDE-Pim/Pi licence", "kdepim/licence.txt" ); |
47 | } | 47 | } |
48 | 48 | ||
49 | void KApplication::testCoords( int* x, int* y, int* wid, int * hei ) | ||
50 | { | ||
51 | int dWid = QApplication::desktop()->width() ; | ||
52 | int dHei = QApplication::desktop()->height(); | ||
53 | if ( *x + *wid > dWid ) { | ||
54 | *x = 0; | ||
55 | if ( *wid > dWid ) | ||
56 | *wid = dWid; | ||
57 | } | ||
58 | if ( *y + *hei > dHei ) { | ||
59 | *y = 0; | ||
60 | if ( *hei > dHei ) | ||
61 | *hei = dHei; | ||
62 | } | ||
63 | } | ||
49 | void KApplication::showFile(QString caption, QString fn) | 64 | void KApplication::showFile(QString caption, QString fn) |
50 | { | 65 | { |
51 | QString text; | 66 | QString text; |
52 | QString fileName; | 67 | QString fileName; |
53 | #ifndef DESKTOP_VERSION | 68 | #ifndef DESKTOP_VERSION |
54 | fileName = getenv("QPEDIR"); | 69 | fileName = getenv("QPEDIR"); |
55 | fileName += "/pics/" + fn ; | 70 | fileName += "/pics/" + fn ; |
56 | #else | 71 | #else |
57 | fileName = qApp->applicationDirPath () + "/" + fn; | 72 | fileName = qApp->applicationDirPath () + "/" + fn; |
58 | #endif | 73 | #endif |
59 | QFile file( fileName ); | 74 | QFile file( fileName ); |
60 | if (!file.open( IO_ReadOnly ) ) { | 75 | if (!file.open( IO_ReadOnly ) ) { |
61 | return ; | 76 | return ; |
62 | } | 77 | } |
63 | QTextStream ts( &file ); | 78 | QTextStream ts( &file ); |
64 | text = ts.read(); | 79 | text = ts.read(); |
65 | file.close(); | 80 | file.close(); |
66 | KApplication::showText( caption, text ); | 81 | KApplication::showText( caption, text ); |
67 | 82 | ||
68 | } | 83 | } |
69 | 84 | ||
70 | bool KApplication::convert2latin1(QString fileName) | 85 | bool KApplication::convert2latin1(QString fileName) |
71 | { | 86 | { |
72 | QString text; | 87 | QString text; |
73 | QFile file( fileName ); | 88 | QFile file( fileName ); |
74 | if (!file.open( IO_ReadOnly ) ) { | 89 | if (!file.open( IO_ReadOnly ) ) { |
75 | return false; | 90 | return false; |
76 | 91 | ||
77 | } | 92 | } |
78 | QTextStream ts( &file ); | 93 | QTextStream ts( &file ); |
79 | ts.setEncoding( QTextStream::UnicodeUTF8 ); | 94 | ts.setEncoding( QTextStream::UnicodeUTF8 ); |
80 | text = ts.read(); | 95 | text = ts.read(); |
81 | file.close(); | 96 | file.close(); |
82 | if (!file.open( IO_WriteOnly ) ) { | 97 | if (!file.open( IO_WriteOnly ) ) { |
83 | return false; | 98 | return false; |
84 | } | 99 | } |
85 | QTextStream tsIn( &file ); | 100 | QTextStream tsIn( &file ); |
86 | tsIn.setEncoding( QTextStream::Latin1 ); | 101 | tsIn.setEncoding( QTextStream::Latin1 ); |
87 | tsIn << text.latin1(); | 102 | tsIn << text.latin1(); |
88 | file.close(); | 103 | file.close(); |
89 | return true; | 104 | return true; |
90 | 105 | ||
91 | 106 | ||
92 | } | 107 | } |
93 | void KApplication::showText(QString caption, QString text) | 108 | void KApplication::showText(QString caption, QString text) |
94 | { | 109 | { |
95 | QDialog dia( 0, "name", true ); ; | 110 | QDialog dia( 0, "name", true ); ; |
96 | dia.setCaption( caption ); | 111 | dia.setCaption( caption ); |
97 | QVBoxLayout* lay = new QVBoxLayout( &dia ); | 112 | QVBoxLayout* lay = new QVBoxLayout( &dia ); |
98 | lay->setSpacing( 3 ); | 113 | lay->setSpacing( 3 ); |
99 | lay->setMargin( 3 ); | 114 | lay->setMargin( 3 ); |
100 | KTextEdit tb ( &dia ); | 115 | KTextEdit tb ( &dia ); |
101 | tb.setWordWrap( QMultiLineEdit::WidgetWidth ); | 116 | tb.setWordWrap( QMultiLineEdit::WidgetWidth ); |
102 | lay->addWidget( &tb ); | 117 | lay->addWidget( &tb ); |
103 | tb.setText( text ); | 118 | tb.setText( text ); |
104 | #ifdef DESKTOP_VERSION | 119 | #ifdef DESKTOP_VERSION |
105 | dia.resize( 640, 480); | 120 | dia.resize( 640, 480); |
106 | #else | 121 | #else |
107 | dia.showMaximized(); | 122 | dia.showMaximized(); |
108 | #endif | 123 | #endif |
109 | dia.exec(); | 124 | dia.exec(); |
110 | 125 | ||
111 | } | 126 | } |
diff --git a/microkde/kapplication.h b/microkde/kapplication.h index 497ec2f..f7eb1ef 100644 --- a/microkde/kapplication.h +++ b/microkde/kapplication.h | |||
@@ -1,30 +1,31 @@ | |||
1 | #ifndef MINIKDE_KAPPLICATION_H | 1 | #ifndef MINIKDE_KAPPLICATION_H |
2 | #define MINIKDE_KAPPLICATION_H | 2 | #define MINIKDE_KAPPLICATION_H |
3 | 3 | ||
4 | #include "qstring.h" | 4 | #include "qstring.h" |
5 | #include <qdialog.h> | 5 | #include <qdialog.h> |
6 | #ifdef QDialog | 6 | #ifdef QDialog |
7 | #undef QDialog | 7 | #undef QDialog |
8 | #endif | 8 | #endif |
9 | 9 | ||
10 | class KApplication | 10 | class KApplication |
11 | { | 11 | { |
12 | public: | 12 | public: |
13 | static int random(); | 13 | static int random(); |
14 | 14 | ||
15 | //US | 15 | //US |
16 | /** | 16 | /** |
17 | * Generates a random string. It operates in the range [A-Za-z0-9] | 17 | * Generates a random string. It operates in the range [A-Za-z0-9] |
18 | * @param length Generate a string of this length. | 18 | * @param length Generate a string of this length. |
19 | * @return the random string | 19 | * @return the random string |
20 | */ | 20 | */ |
21 | static QString randomString(int length); | 21 | static QString randomString(int length); |
22 | static int execDialog( QDialog* ); | 22 | static int execDialog( QDialog* ); |
23 | static void showLicence(); | 23 | static void showLicence(); |
24 | static void testCoords( int* x, int* y, int* wid, int * hei ); | ||
24 | static void showFile(QString caption, QString file); | 25 | static void showFile(QString caption, QString file); |
25 | static void showText(QString caption, QString text); | 26 | static void showText(QString caption, QString text); |
26 | static bool convert2latin1(QString file); | 27 | static bool convert2latin1(QString file); |
27 | }; | 28 | }; |
28 | 29 | ||
29 | 30 | ||
30 | #endif | 31 | #endif |
diff --git a/microkde/kresources/factory.cpp b/microkde/kresources/factory.cpp index 3d1889f..a3b7fff 100644 --- a/microkde/kresources/factory.cpp +++ b/microkde/kresources/factory.cpp | |||
@@ -1,223 +1,223 @@ | |||
1 | /* | 1 | /* |
2 | This file is part of libkresources. | 2 | This file is part of libkresources. |
3 | 3 | ||
4 | Copyright (c) 2002 Tobias Koenig <tokoe@kde.org> | 4 | Copyright (c) 2002 Tobias Koenig <tokoe@kde.org> |
5 | Copyright (c) 2002 Jan-Pascal van Best <janpascal@vanbest.org> | 5 | Copyright (c) 2002 Jan-Pascal van Best <janpascal@vanbest.org> |
6 | Copyright (c) 2003 Cornelius Schumacher <schumacher@kde.org> | 6 | Copyright (c) 2003 Cornelius Schumacher <schumacher@kde.org> |
7 | 7 | ||
8 | This library is free software; you can redistribute it and/or | 8 | This library is free software; you can redistribute it and/or |
9 | modify it under the terms of the GNU Library General Public | 9 | modify it under the terms of the GNU Library General Public |
10 | License as published by the Free Software Foundation; either | 10 | License as published by the Free Software Foundation; either |
11 | version 2 of the License, or (at your option) any later version. | 11 | version 2 of the License, or (at your option) any later version. |
12 | 12 | ||
13 | This library is distributed in the hope that it will be useful, | 13 | This library is distributed in the hope that it will be useful, |
14 | but WITHOUT ANY WARRANTY; without even the implied warranty of | 14 | but WITHOUT ANY WARRANTY; without even the implied warranty of |
15 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | 15 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU |
16 | Library General Public License for more details. | 16 | Library General Public License for more details. |
17 | 17 | ||
18 | You should have received a copy of the GNU Library General Public License | 18 | You should have received a copy of the GNU Library General Public License |
19 | along with this library; see the file COPYING.LIB. If not, write to | 19 | along with this library; see the file COPYING.LIB. If not, write to |
20 | the Free Software Foundation, Inc., 59 Temple Place - Suite 330, | 20 | the Free Software Foundation, Inc., 59 Temple Place - Suite 330, |
21 | Boston, MA 02111-1307, USA. | 21 | Boston, MA 02111-1307, USA. |
22 | */ | 22 | */ |
23 | 23 | ||
24 | #include <kdebug.h> | 24 | #include <kdebug.h> |
25 | #include <klocale.h> | 25 | #include <klocale.h> |
26 | #include <ksimpleconfig.h> | 26 | #include <ksimpleconfig.h> |
27 | #include <kstandarddirs.h> | 27 | #include <kstandarddirs.h> |
28 | #include <kstaticdeleter.h> | 28 | #include <kstaticdeleter.h> |
29 | //#ifndef DESKTOP_VERSION | 29 | //#ifndef DESKTOP_VERSION |
30 | #include <klibloader.h> | 30 | #include <klibloader.h> |
31 | //#endif | 31 | //#endif |
32 | #include <qfile.h> | 32 | #include <qfile.h> |
33 | 33 | ||
34 | #include "resource.h" | 34 | #include "resource.h" |
35 | #include "factory.h" | 35 | #include "factory.h" |
36 | 36 | ||
37 | using namespace KRES; | 37 | using namespace KRES; |
38 | 38 | ||
39 | QDict<Factory> *Factory::mSelves = 0; | 39 | QDict<Factory> *Factory::mSelves = 0; |
40 | static KStaticDeleter< QDict<Factory> > staticDeleter; | 40 | static KStaticDeleter< QDict<Factory> > staticDeleter; |
41 | 41 | ||
42 | Factory *Factory::self( const QString& resourceFamily) | 42 | Factory *Factory::self( const QString& resourceFamily) |
43 | { | 43 | { |
44 | 44 | ||
45 | 45 | ||
46 | Factory *factory = 0; | 46 | Factory *factory = 0; |
47 | if ( !mSelves ) | 47 | if ( !mSelves ) |
48 | { | 48 | { |
49 | mSelves = staticDeleter.setObject( new QDict<Factory> ); | 49 | mSelves = staticDeleter.setObject( new QDict<Factory> ); |
50 | } | 50 | } |
51 | 51 | ||
52 | factory = mSelves->find( resourceFamily ); | 52 | factory = mSelves->find( resourceFamily ); |
53 | 53 | ||
54 | if ( !factory ) { | 54 | if ( !factory ) { |
55 | factory = new Factory( resourceFamily); | 55 | factory = new Factory( resourceFamily); |
56 | mSelves->insert( resourceFamily, factory ); | 56 | mSelves->insert( resourceFamily, factory ); |
57 | } | 57 | } |
58 | 58 | ||
59 | return factory; | 59 | return factory; |
60 | } | 60 | } |
61 | 61 | ||
62 | Factory::Factory( const QString& resourceFamily) : | 62 | Factory::Factory( const QString& resourceFamily) : |
63 | mResourceFamily( resourceFamily ) | 63 | mResourceFamily( resourceFamily ) |
64 | { | 64 | { |
65 | //US so far we have three types available for resourceFamily "contact" | 65 | //US so far we have three types available for resourceFamily "contact" |
66 | // and that are "file", "dir", "ldap" | 66 | // and that are "file", "dir", "ldap" |
67 | /*US | 67 | /*US |
68 | 68 | ||
69 | KTrader::OfferList plugins = KTrader::self()->query( "KResources/Plugin", QString( "[X-KDE-ResourceFamily] == '%1'" ) | 69 | KTrader::OfferList plugins = KTrader::self()->query( "KResources/Plugin", QString( "[X-KDE-ResourceFamily] == '%1'" ) |
70 | .arg( resourceFamily ) ); | 70 | .arg( resourceFamily ) ); |
71 | KTrader::OfferList::ConstIterator it; | 71 | KTrader::OfferList::ConstIterator it; |
72 | for ( it = plugins.begin(); it != plugins.end(); ++it ) { | 72 | for ( it = plugins.begin(); it != plugins.end(); ++it ) { |
73 | QVariant type = (*it)->property( "X-KDE-ResourceType" ); | 73 | QVariant type = (*it)->property( "X-KDE-ResourceType" ); |
74 | if ( !type.toString().isEmpty() ) | 74 | if ( !type.toString().isEmpty() ) |
75 | mTypeMap.insert( type.toString(), *it ); | 75 | mTypeMap.insert( type.toString(), *it ); |
76 | } | 76 | } |
77 | */ | 77 | */ |
78 | 78 | ||
79 | //US new | 79 | //US new |
80 | PluginInfo* info = new PluginInfo; | 80 | PluginInfo* info = new PluginInfo; |
81 | info->library = "microkabc_file"; | 81 | info->library = "microkabc_file"; |
82 | info->nameLabel = i18n( "file" ); | 82 | info->nameLabel = i18n( "file" ); |
83 | info->descriptionLabel = i18n( "Choose one file" ); | 83 | info->descriptionLabel = i18n( "One file" ); |
84 | mTypeMap.insert( "file", info ); | 84 | mTypeMap.insert( "file", info ); |
85 | 85 | ||
86 | info = new PluginInfo; | 86 | info = new PluginInfo; |
87 | info->library = "microkabc_dir"; | 87 | info->library = "microkabc_dir"; |
88 | info->nameLabel = i18n( "dir" ); | 88 | info->nameLabel = i18n( "dir" ); |
89 | info->descriptionLabel = i18n( "Choose a directory with may files" ); | 89 | info->descriptionLabel = i18n( "A directory with many files" ); |
90 | mTypeMap.insert( "dir", info ); | 90 | mTypeMap.insert( "dir", info ); |
91 | 91 | ||
92 | info = new PluginInfo; | 92 | info = new PluginInfo; |
93 | info->library = "microkabc_ldap"; | 93 | info->library = "microkabc_ldap"; |
94 | info->nameLabel = i18n( "ldap" ); | 94 | info->nameLabel = i18n( "ldap" ); |
95 | info->descriptionLabel = i18n( "No description available" ); | 95 | info->descriptionLabel = i18n( "Connect to a directory server" ); |
96 | mTypeMap.insert( "ldap", info ); | 96 | mTypeMap.insert( "ldap", info ); |
97 | 97 | ||
98 | //US add opie plugin only, if the library exists. | 98 | //US add opie plugin only, if the library exists. |
99 | /*US | 99 | /*US |
100 | QString libname = "microkabc_opie"; | 100 | QString libname = "microkabc_opie"; |
101 | QString path = KLibLoader::findLibrary( QFile::encodeName( libname ) ); | 101 | QString path = KLibLoader::findLibrary( QFile::encodeName( libname ) ); |
102 | if ( !path.isEmpty() ) | 102 | if ( !path.isEmpty() ) |
103 | { | 103 | { |
104 | info = new PluginInfo; | 104 | info = new PluginInfo; |
105 | info->library = libname; | 105 | info->library = libname; |
106 | info->nameLabel = i18n( "opie" ); | 106 | info->nameLabel = i18n( "opie" ); |
107 | info->descriptionLabel = i18n( "Opie PIM Addressbook." ); | 107 | info->descriptionLabel = i18n( "Opie PIM Addressbook." ); |
108 | mTypeMap.insert( "opie", info ); | 108 | mTypeMap.insert( "opie", info ); |
109 | } | 109 | } |
110 | */ | 110 | */ |
111 | //US add qtopia plugin only, if the library exists. | 111 | //US add qtopia plugin only, if the library exists. |
112 | QString libname = "microkabc_qtopia"; | 112 | QString libname = "microkabc_qtopia"; |
113 | QString path = KLibLoader::findLibrary( QFile::encodeName( libname ) ); | 113 | QString path = KLibLoader::findLibrary( QFile::encodeName( libname ) ); |
114 | if ( !path.isEmpty() ) | 114 | if ( !path.isEmpty() ) |
115 | { | 115 | { |
116 | info = new PluginInfo; | 116 | info = new PluginInfo; |
117 | info->library = libname; | 117 | info->library = libname; |
118 | info->nameLabel = i18n( "qtopia" ); | 118 | info->nameLabel = i18n( "qtopia" ); |
119 | info->descriptionLabel = i18n( "Qtopia PIM Addressbook." ); | 119 | info->descriptionLabel = i18n( "Qtopia PIM Addressbook." ); |
120 | mTypeMap.insert( "qtopia", info ); | 120 | mTypeMap.insert( "qtopia", info ); |
121 | } | 121 | } |
122 | 122 | ||
123 | //US add sharp plugin only, if the library exists. | 123 | //US add sharp plugin only, if the library exists. |
124 | libname = "microkabc_sharpdtm"; | 124 | libname = "microkabc_sharpdtm"; |
125 | path = KLibLoader::findLibrary( QFile::encodeName( libname ) ); | 125 | path = KLibLoader::findLibrary( QFile::encodeName( libname ) ); |
126 | if ( !path.isEmpty() ) | 126 | if ( !path.isEmpty() ) |
127 | { | 127 | { |
128 | info = new PluginInfo; | 128 | info = new PluginInfo; |
129 | info->library = libname; | 129 | info->library = libname; |
130 | info->nameLabel = i18n( "sharp" ); | 130 | info->nameLabel = i18n( "sharp" ); |
131 | info->descriptionLabel = i18n( "Sharp DTM Addressbook." ); | 131 | info->descriptionLabel = i18n( "Sharp DTM Addressbook." ); |
132 | mTypeMap.insert( "sharp", info ); | 132 | mTypeMap.insert( "sharp", info ); |
133 | } | 133 | } |
134 | 134 | ||
135 | 135 | ||
136 | } | 136 | } |
137 | 137 | ||
138 | Factory::~Factory() | 138 | Factory::~Factory() |
139 | { | 139 | { |
140 | } | 140 | } |
141 | 141 | ||
142 | QStringList Factory::typeNames() const | 142 | QStringList Factory::typeNames() const |
143 | { | 143 | { |
144 | //US method QMap::keys() not available yet. SO collect the data manually | 144 | //US method QMap::keys() not available yet. SO collect the data manually |
145 | //US return mTypeMap.keys(); | 145 | //US return mTypeMap.keys(); |
146 | 146 | ||
147 | QStringList result; | 147 | QStringList result; |
148 | 148 | ||
149 | QMap<QString, PluginInfo*>::ConstIterator it; | 149 | QMap<QString, PluginInfo*>::ConstIterator it; |
150 | for( it = mTypeMap.begin(); it != mTypeMap.end(); ++it ) { | 150 | for( it = mTypeMap.begin(); it != mTypeMap.end(); ++it ) { |
151 | result << it.key().latin1(); | 151 | result << it.key().latin1(); |
152 | // qDebug("Factory::typeNames() : %s ", it.key().latin1()); | 152 | // qDebug("Factory::typeNames() : %s ", it.key().latin1()); |
153 | 153 | ||
154 | } | 154 | } |
155 | return result; | 155 | return result; |
156 | } | 156 | } |
157 | 157 | ||
158 | ConfigWidget *Factory::configWidget( const QString& type, QWidget *parent ) | 158 | ConfigWidget *Factory::configWidget( const QString& type, QWidget *parent ) |
159 | { | 159 | { |
160 | if ( type.isEmpty() || !mTypeMap.contains( type ) ) | 160 | if ( type.isEmpty() || !mTypeMap.contains( type ) ) |
161 | return 0; | 161 | return 0; |
162 | 162 | ||
163 | //US KService::Ptr ptr = mTypeMap[ type ]; | 163 | //US KService::Ptr ptr = mTypeMap[ type ]; |
164 | //US KLibFactory *factory = KLibLoader::self()->factory( ptr->library().latin1() ); | 164 | //US KLibFactory *factory = KLibLoader::self()->factory( ptr->library().latin1() ); |
165 | PluginInfo* pi = mTypeMap[ type ]; | 165 | PluginInfo* pi = mTypeMap[ type ]; |
166 | KLibFactory *factory = (KLibFactory *)KLibLoader::self()->factory( pi->library.latin1() ); | 166 | KLibFactory *factory = (KLibFactory *)KLibLoader::self()->factory( pi->library.latin1() ); |
167 | if ( !factory ) { | 167 | if ( !factory ) { |
168 | qDebug("KRES::Factory::configWidget(): Factory creation failed for library %s", pi->library.latin1()); | 168 | qDebug("KRES::Factory::configWidget(): Factory creation failed for library %s", pi->library.latin1()); |
169 | kdDebug() << "KRES::Factory::configWidget(): Factory creation failed" << endl; | 169 | kdDebug() << "KRES::Factory::configWidget(): Factory creation failed" << endl; |
170 | return 0; | 170 | return 0; |
171 | } | 171 | } |
172 | 172 | ||
173 | PluginFactoryBase *pluginFactory = static_cast<PluginFactoryBase *>( factory ); | 173 | PluginFactoryBase *pluginFactory = static_cast<PluginFactoryBase *>( factory ); |
174 | 174 | ||
175 | if ( !pluginFactory ) { | 175 | if ( !pluginFactory ) { |
176 | qDebug("KRES::Factory::configWidget(): no plugin factory for library %s", pi->library.latin1()); | 176 | qDebug("KRES::Factory::configWidget(): no plugin factory for library %s", pi->library.latin1()); |
177 | kdDebug() << "KRES::Factory::configWidget(): no plugin factory." << endl; | 177 | kdDebug() << "KRES::Factory::configWidget(): no plugin factory." << endl; |
178 | return 0; | 178 | return 0; |
179 | } | 179 | } |
180 | 180 | ||
181 | ConfigWidget *wdg = pluginFactory->configWidget( parent ); | 181 | ConfigWidget *wdg = pluginFactory->configWidget( parent ); |
182 | if ( !wdg ) { | 182 | if ( !wdg ) { |
183 | //US kdDebug() << "'" << ptr->library() << "' is not a " + mResourceFamily + " plugin." << endl; | 183 | //US kdDebug() << "'" << ptr->library() << "' is not a " + mResourceFamily + " plugin." << endl; |
184 | qDebug("%s is not a %s plugin.", pi->library.latin1(), mResourceFamily.latin1()); | 184 | qDebug("%s is not a %s plugin.", pi->library.latin1(), mResourceFamily.latin1()); |
185 | return 0; | 185 | return 0; |
186 | } | 186 | } |
187 | return wdg; | 187 | return wdg; |
188 | 188 | ||
189 | } | 189 | } |
190 | 190 | ||
191 | QString Factory::typeName( const QString &type ) const | 191 | QString Factory::typeName( const QString &type ) const |
192 | { | 192 | { |
193 | if ( type.isEmpty() || !mTypeMap.contains( type ) ) | 193 | if ( type.isEmpty() || !mTypeMap.contains( type ) ) |
194 | return QString(); | 194 | return QString(); |
195 | 195 | ||
196 | 196 | ||
197 | //US KService::Ptr ptr = mTypeMap[ type ]; | 197 | //US KService::Ptr ptr = mTypeMap[ type ]; |
198 | //US return ptr->name(); | 198 | //US return ptr->name(); |
199 | PluginInfo* pi = mTypeMap[ type ]; | 199 | PluginInfo* pi = mTypeMap[ type ]; |
200 | return pi->nameLabel; | 200 | return pi->nameLabel; |
201 | 201 | ||
202 | } | 202 | } |
203 | 203 | ||
204 | QString Factory::typeDescription( const QString &type ) const | 204 | QString Factory::typeDescription( const QString &type ) const |
205 | { | 205 | { |
206 | if ( type.isEmpty() || !mTypeMap.contains( type ) ) | 206 | if ( type.isEmpty() || !mTypeMap.contains( type ) ) |
207 | return QString(); | 207 | return QString(); |
208 | 208 | ||
209 | //US KService::Ptr ptr = mTypeMap[ type ]; | 209 | //US KService::Ptr ptr = mTypeMap[ type ]; |
210 | //US return ptr->comment(); | 210 | //US return ptr->comment(); |
211 | PluginInfo* pi = mTypeMap[ type ]; | 211 | PluginInfo* pi = mTypeMap[ type ]; |
212 | return pi->descriptionLabel; | 212 | return pi->descriptionLabel; |
213 | } | 213 | } |
214 | 214 | ||
215 | Resource *Factory::resource( const QString& type, const KConfig *config ) | 215 | Resource *Factory::resource( const QString& type, const KConfig *config ) |
216 | { | 216 | { |
217 | 217 | ||
218 | 218 | ||
219 | if ( type.isEmpty() || !mTypeMap.contains( type ) ) | 219 | if ( type.isEmpty() || !mTypeMap.contains( type ) ) |
220 | return 0; | 220 | return 0; |
221 | 221 | ||
222 | /*US load the lib not dynamicly. !! | 222 | /*US load the lib not dynamicly. !! |
223 | KService::Ptr ptr = mTypeMap[ type ]; | 223 | KService::Ptr ptr = mTypeMap[ type ]; |