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 | |||
@@ -1650,414 +1650,418 @@ bool CalendarView::openCalendar(QString filename, bool merge) | |||
1650 | if ( mStorage->load() ) { | 1650 | if ( mStorage->load() ) { |
1651 | if ( merge ) ;//setModified( true ); | 1651 | if ( merge ) ;//setModified( true ); |
1652 | else { | 1652 | else { |
1653 | //setModified( true ); | 1653 | //setModified( true ); |
1654 | mViewManager->setDocumentId( filename ); | 1654 | mViewManager->setDocumentId( filename ); |
1655 | mDialogManager->setDocumentId( filename ); | 1655 | mDialogManager->setDocumentId( filename ); |
1656 | mTodoList->setDocumentId( filename ); | 1656 | mTodoList->setDocumentId( filename ); |
1657 | } | 1657 | } |
1658 | globalFlagBlockAgenda = 2; | 1658 | globalFlagBlockAgenda = 2; |
1659 | // if ( getLastSyncEvent() ) | 1659 | // if ( getLastSyncEvent() ) |
1660 | // getLastSyncEvent()->setReadOnly( true ); | 1660 | // getLastSyncEvent()->setReadOnly( true ); |
1661 | mCalendar->reInitAlarmSettings(); | 1661 | mCalendar->reInitAlarmSettings(); |
1662 | setSyncEventsReadOnly(); | 1662 | setSyncEventsReadOnly(); |
1663 | updateUnmanagedViews(); | 1663 | updateUnmanagedViews(); |
1664 | updateView(); | 1664 | updateView(); |
1665 | if ( filename != MainWindow::defaultFileName() ) { | 1665 | if ( filename != MainWindow::defaultFileName() ) { |
1666 | saveCalendar( MainWindow::defaultFileName() ); | 1666 | saveCalendar( MainWindow::defaultFileName() ); |
1667 | } else { | 1667 | } else { |
1668 | QFileInfo finf ( MainWindow::defaultFileName()); | 1668 | QFileInfo finf ( MainWindow::defaultFileName()); |
1669 | if ( finf.exists() ) { | 1669 | if ( finf.exists() ) { |
1670 | setLoadedFileVersion( finf.lastModified () ); | 1670 | setLoadedFileVersion( finf.lastModified () ); |
1671 | } | 1671 | } |
1672 | } | 1672 | } |
1673 | return true; | 1673 | return true; |
1674 | } else { | 1674 | } else { |
1675 | // while failing to load, the calendar object could | 1675 | // while failing to load, the calendar object could |
1676 | // have become partially populated. Clear it out. | 1676 | // have become partially populated. Clear it out. |
1677 | if ( !merge ) { | 1677 | if ( !merge ) { |
1678 | mCalendar->close(); | 1678 | mCalendar->close(); |
1679 | mViewManager->setDocumentId( filename ); | 1679 | mViewManager->setDocumentId( filename ); |
1680 | mDialogManager->setDocumentId( filename ); | 1680 | mDialogManager->setDocumentId( filename ); |
1681 | mTodoList->setDocumentId( filename ); | 1681 | mTodoList->setDocumentId( filename ); |
1682 | } | 1682 | } |
1683 | 1683 | ||
1684 | //KMessageBox::error(this,i18n("Couldn't load calendar\n '%1'.").arg(filename)); | 1684 | //KMessageBox::error(this,i18n("Couldn't load calendar\n '%1'.").arg(filename)); |
1685 | 1685 | ||
1686 | QTimer::singleShot ( 1, this, SLOT ( showOpenError() ) ); | 1686 | QTimer::singleShot ( 1, this, SLOT ( showOpenError() ) ); |
1687 | globalFlagBlockAgenda = 2; | 1687 | globalFlagBlockAgenda = 2; |
1688 | mCalendar->reInitAlarmSettings(); | 1688 | mCalendar->reInitAlarmSettings(); |
1689 | setSyncEventsReadOnly(); | 1689 | setSyncEventsReadOnly(); |
1690 | updateUnmanagedViews(); | 1690 | updateUnmanagedViews(); |
1691 | updateView(); | 1691 | updateView(); |
1692 | } | 1692 | } |
1693 | return false; | 1693 | return false; |
1694 | } | 1694 | } |
1695 | void CalendarView::showOpenError() | 1695 | void CalendarView::showOpenError() |
1696 | { | 1696 | { |
1697 | KMessageBox::error(this,i18n("Couldn't load calendar\n.")); | 1697 | KMessageBox::error(this,i18n("Couldn't load calendar\n.")); |
1698 | } | 1698 | } |
1699 | void CalendarView::setLoadedFileVersion(QDateTime dt) | 1699 | void CalendarView::setLoadedFileVersion(QDateTime dt) |
1700 | { | 1700 | { |
1701 | loadedFileVersion = dt; | 1701 | loadedFileVersion = dt; |
1702 | } | 1702 | } |
1703 | bool CalendarView::checkFileChanged(QString fn) | 1703 | bool CalendarView::checkFileChanged(QString fn) |
1704 | { | 1704 | { |
1705 | QFileInfo finf ( fn ); | 1705 | QFileInfo finf ( fn ); |
1706 | if ( !finf.exists() ) | 1706 | if ( !finf.exists() ) |
1707 | return true; | 1707 | return true; |
1708 | QDateTime dt = finf.lastModified (); | 1708 | QDateTime dt = finf.lastModified (); |
1709 | if ( dt <= loadedFileVersion ) | 1709 | if ( dt <= loadedFileVersion ) |
1710 | return false; | 1710 | return false; |
1711 | return true; | 1711 | return true; |
1712 | 1712 | ||
1713 | } | 1713 | } |
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(); |
2000 | y = wid->geometry().y(); | 2004 | y = wid->geometry().y(); |
2001 | w = wid->width(); | 2005 | w = wid->width(); |
2002 | h = wid->height(); | 2006 | h = wid->height(); |
2003 | list.clear(); | 2007 | list.clear(); |
2004 | list << QString::number( x ); | 2008 | list << QString::number( x ); |
2005 | list << QString::number( y ); | 2009 | list << QString::number( y ); |
2006 | list << QString::number( w ); | 2010 | list << QString::number( w ); |
2007 | list << QString::number( h ); | 2011 | list << QString::number( h ); |
2008 | config->writeEntry("ViewerLayout",list ); | 2012 | config->writeEntry("ViewerLayout",list ); |
2009 | wid = mDialogManager->getSearchDialog(); | 2013 | wid = mDialogManager->getSearchDialog(); |
2010 | if ( wid ) { | 2014 | if ( wid ) { |
2011 | x = wid->geometry().x(); | 2015 | x = wid->geometry().x(); |
2012 | y = wid->geometry().y(); | 2016 | y = wid->geometry().y(); |
2013 | w = wid->width(); | 2017 | w = wid->width(); |
2014 | h = wid->height(); | 2018 | h = wid->height(); |
2015 | list.clear(); | 2019 | list.clear(); |
2016 | list << QString::number( x ); | 2020 | list << QString::number( x ); |
2017 | list << QString::number( y ); | 2021 | list << QString::number( y ); |
2018 | list << QString::number( w ); | 2022 | list << QString::number( w ); |
2019 | list << QString::number( h ); | 2023 | list << QString::number( h ); |
2020 | config->writeEntry("SearchLayout",list ); | 2024 | config->writeEntry("SearchLayout",list ); |
2021 | } | 2025 | } |
2022 | #endif | 2026 | #endif |
2023 | 2027 | ||
2024 | 2028 | ||
2025 | config->sync(); | 2029 | config->sync(); |
2026 | } | 2030 | } |
2027 | 2031 | ||
2028 | void CalendarView::readFilterSettings(KConfig *config) | 2032 | void CalendarView::readFilterSettings(KConfig *config) |
2029 | { | 2033 | { |
2030 | // kdDebug() << "CalendarView::readFilterSettings()" << endl; | 2034 | // kdDebug() << "CalendarView::readFilterSettings()" << endl; |
2031 | 2035 | ||
2032 | mFilters.clear(); | 2036 | mFilters.clear(); |
2033 | 2037 | ||
2034 | config->setGroup("General"); | 2038 | config->setGroup("General"); |
2035 | QStringList filterList = config->readListEntry("CalendarFilters"); | 2039 | QStringList filterList = config->readListEntry("CalendarFilters"); |
2036 | 2040 | ||
2037 | QStringList::ConstIterator it = filterList.begin(); | 2041 | QStringList::ConstIterator it = filterList.begin(); |
2038 | QStringList::ConstIterator end = filterList.end(); | 2042 | QStringList::ConstIterator end = filterList.end(); |
2039 | while(it != end) { | 2043 | while(it != end) { |
2040 | // kdDebug() << " filter: " << (*it) << endl; | 2044 | // kdDebug() << " filter: " << (*it) << endl; |
2041 | 2045 | ||
2042 | CalFilter *filter; | 2046 | CalFilter *filter; |
2043 | filter = new CalFilter(*it); | 2047 | filter = new CalFilter(*it); |
2044 | config->setGroup("Filter_" + (*it).utf8()); | 2048 | config->setGroup("Filter_" + (*it).utf8()); |
2045 | //qDebug("readFilterSettings %d ",config->readNumEntry("Criteria",0) ); | 2049 | //qDebug("readFilterSettings %d ",config->readNumEntry("Criteria",0) ); |
2046 | filter->setCriteria(config->readNumEntry("Criteria",0)); | 2050 | filter->setCriteria(config->readNumEntry("Criteria",0)); |
2047 | filter->setCategoryList(config->readListEntry("CategoryList")); | 2051 | filter->setCategoryList(config->readListEntry("CategoryList")); |
2048 | mFilters.append(filter); | 2052 | mFilters.append(filter); |
2049 | 2053 | ||
2050 | ++it; | 2054 | ++it; |
2051 | } | 2055 | } |
2052 | 2056 | ||
2053 | if (mFilters.count() == 0) { | 2057 | if (mFilters.count() == 0) { |
2054 | CalFilter *filter = new CalFilter(i18n("Default")); | 2058 | CalFilter *filter = new CalFilter(i18n("Default")); |
2055 | mFilters.append(filter); | 2059 | mFilters.append(filter); |
2056 | } | 2060 | } |
2057 | mFilterView->updateFilters(); | 2061 | mFilterView->updateFilters(); |
2058 | config->setGroup("FilterView"); | 2062 | config->setGroup("FilterView"); |
2059 | 2063 | ||
2060 | mFilterView->blockSignals(true); | 2064 | mFilterView->blockSignals(true); |
2061 | mFilterView->setFiltersEnabled(config->readBoolEntry("FilterEnabled")); | 2065 | mFilterView->setFiltersEnabled(config->readBoolEntry("FilterEnabled")); |
2062 | mFilterView->setSelectedFilter(config->readEntry("Current Filter")); | 2066 | mFilterView->setSelectedFilter(config->readEntry("Current Filter")); |
2063 | mFilterView->blockSignals(false); | 2067 | mFilterView->blockSignals(false); |
diff --git a/korganizer/kodialogmanager.cpp b/korganizer/kodialogmanager.cpp index a8652ea..c927b37 100644 --- a/korganizer/kodialogmanager.cpp +++ b/korganizer/kodialogmanager.cpp | |||
@@ -1,350 +1,352 @@ | |||
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) |
349 | mSearchDialog->listview()->writeSettings(config,"SearchListView Layout"); | 351 | mSearchDialog->listview()->writeSettings(config,"SearchListView Layout"); |
350 | } | 352 | } |
diff --git a/korganizer/koprefs.h b/korganizer/koprefs.h index 3a07348..cf8dae6 100644 --- a/korganizer/koprefs.h +++ b/korganizer/koprefs.h | |||
@@ -1,305 +1,316 @@ | |||
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; |
163 | bool mEnableQuickTodo; | 172 | bool mEnableQuickTodo; |
164 | 173 | ||
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 | |||
@@ -38,792 +38,790 @@ | |||
38 | #include "kotodoview.h" | 38 | #include "kotodoview.h" |
39 | #include "koagendaview.h" | 39 | #include "koagendaview.h" |
40 | #include "kodialogmanager.h" | 40 | #include "kodialogmanager.h" |
41 | #include "komonthview.h" | 41 | #include "komonthview.h" |
42 | #include "kolistview.h" | 42 | #include "kolistview.h" |
43 | #include "kowhatsnextview.h" | 43 | #include "kowhatsnextview.h" |
44 | #include "kojournalview.h" | 44 | #include "kojournalview.h" |
45 | #include "kotimespanview.h" | 45 | #include "kotimespanview.h" |
46 | #include "koprefs.h" | 46 | #include "koprefs.h" |
47 | #include "navigatorbar.h" | 47 | #include "navigatorbar.h" |
48 | #include "kdatenavigator.h" | 48 | #include "kdatenavigator.h" |
49 | 49 | ||
50 | #include "koviewmanager.h" | 50 | #include "koviewmanager.h" |
51 | //extern bool externFlagMonthviewBlockPainting; | 51 | //extern bool externFlagMonthviewBlockPainting; |
52 | 52 | ||
53 | //bool globalFlagBlockPainting = false; | 53 | //bool globalFlagBlockPainting = false; |
54 | int globalFlagBlockAgenda = 0; | 54 | int globalFlagBlockAgenda = 0; |
55 | int globalFlagBlockLabel = 0; | 55 | int globalFlagBlockLabel = 0; |
56 | int globalFlagBlockAgendaItemPaint = 1; | 56 | int globalFlagBlockAgendaItemPaint = 1; |
57 | int globalFlagBlockAgendaItemUpdate = 1; | 57 | int globalFlagBlockAgendaItemUpdate = 1; |
58 | 58 | ||
59 | 59 | ||
60 | KOViewManager::KOViewManager( CalendarView *mainView ) : | 60 | KOViewManager::KOViewManager( CalendarView *mainView ) : |
61 | QObject(), mMainView( mainView ) | 61 | QObject(), mMainView( mainView ) |
62 | { | 62 | { |
63 | mCurrentView = 0; | 63 | mCurrentView = 0; |
64 | flagResetViewChangeDate = 0; | 64 | flagResetViewChangeDate = 0; |
65 | mWhatsNextView = 0; | 65 | mWhatsNextView = 0; |
66 | mTodoView = 0; | 66 | mTodoView = 0; |
67 | mAgendaView = 0; | 67 | mAgendaView = 0; |
68 | mMonthView = 0; | 68 | mMonthView = 0; |
69 | mListView = 0; | 69 | mListView = 0; |
70 | mJournalView = 0; | 70 | mJournalView = 0; |
71 | mTimeSpanView = 0; | 71 | mTimeSpanView = 0; |
72 | mCurrentAgendaView = 0 ; | 72 | mCurrentAgendaView = 0 ; |
73 | mFlagShowNextxDays = false; | 73 | mFlagShowNextxDays = false; |
74 | } | 74 | } |
75 | 75 | ||
76 | KOViewManager::~KOViewManager() | 76 | KOViewManager::~KOViewManager() |
77 | { | 77 | { |
78 | } | 78 | } |
79 | 79 | ||
80 | 80 | ||
81 | KOrg::BaseView *KOViewManager::currentView() | 81 | KOrg::BaseView *KOViewManager::currentView() |
82 | { | 82 | { |
83 | return mCurrentView; | 83 | return mCurrentView; |
84 | } | 84 | } |
85 | 85 | ||
86 | void KOViewManager::readSettings(KConfig *config) | 86 | void KOViewManager::readSettings(KConfig *config) |
87 | { | 87 | { |
88 | config->setGroup("General"); | 88 | config->setGroup("General"); |
89 | QString view = config->readEntry("Current View"); | 89 | QString view = config->readEntry("Current View"); |
90 | if (view == "WhatsNext") showWhatsNextView(); | 90 | if (view == "WhatsNext") showWhatsNextView(); |
91 | else if (view == "Month") { | 91 | else if (view == "Month") { |
92 | if ( !KOPrefs::instance()->mMonthViewWeek ) | 92 | if ( !KOPrefs::instance()->mMonthViewWeek ) |
93 | showMonthView(); | 93 | showMonthView(); |
94 | else | 94 | else |
95 | showMonthViewWeek(); | 95 | showMonthViewWeek(); |
96 | } | 96 | } |
97 | else if (view == "List") showListView(); | 97 | else if (view == "List") showListView(); |
98 | else if (view == "Journal") showJournalView(); | 98 | else if (view == "Journal") showJournalView(); |
99 | else if (view == "TimeSpan") showTimeSpanView(); | 99 | else if (view == "TimeSpan") showTimeSpanView(); |
100 | else if (view == "Todo") showTodoView(); | 100 | else if (view == "Todo") showTodoView(); |
101 | else { | 101 | else { |
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 | |||
@@ -1,339 +1,340 @@ | |||
1 | #include <stdlib.h> | 1 | #include <stdlib.h> |
2 | 2 | ||
3 | #include <qaction.h> | 3 | #include <qaction.h> |
4 | #include <qpopupmenu.h> | 4 | #include <qpopupmenu.h> |
5 | #include <qpainter.h> | 5 | #include <qpainter.h> |
6 | #include <qwhatsthis.h> | 6 | #include <qwhatsthis.h> |
7 | #include <qpushbutton.h> | 7 | #include <qpushbutton.h> |
8 | #include <qmessagebox.h> | 8 | #include <qmessagebox.h> |
9 | #include <qlineedit.h> | 9 | #include <qlineedit.h> |
10 | #include <qtextcodec.h> | 10 | #include <qtextcodec.h> |
11 | #include <qfile.h> | 11 | #include <qfile.h> |
12 | #include <qdir.h> | 12 | #include <qdir.h> |
13 | #include <qapp.h> | 13 | #include <qapp.h> |
14 | #include <qfileinfo.h> | 14 | #include <qfileinfo.h> |
15 | #include <qlabel.h> | 15 | #include <qlabel.h> |
16 | #include <qspinbox.h> | 16 | #include <qspinbox.h> |
17 | #include <qcheckbox.h> | 17 | #include <qcheckbox.h> |
18 | #include <qmap.h> | 18 | #include <qmap.h> |
19 | #include <qwmatrix.h> | 19 | #include <qwmatrix.h> |
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(); |
276 | } else { | 277 | } else { |
277 | vw -= iconToolBar->height(); | 278 | vw -= iconToolBar->height(); |
278 | } | 279 | } |
279 | //mView->setMaximumSize( splash->size() ); | 280 | //mView->setMaximumSize( splash->size() ); |
280 | //mView->resize( splash->size() ); | 281 | //mView->resize( splash->size() ); |
281 | //qDebug("MainView x %d y %d w %d h %d", mView->x(),mView-> y(), mView->width(), mView->height ()); | 282 | //qDebug("MainView x %d y %d w %d h %d", mView->x(),mView-> y(), mView->width(), mView->height ()); |
282 | mView->readSettings(); | 283 | mView->readSettings(); |
283 | bool newFile = false; | 284 | bool newFile = false; |
284 | if( !QFile::exists( defaultFileName() ) ) { | 285 | if( !QFile::exists( defaultFileName() ) ) { |
285 | QFileInfo finfo ( defaultFileName() ); | 286 | QFileInfo finfo ( defaultFileName() ); |
286 | QString oldFile = QDir::convertSeparators( QDir::homeDirPath()+"/Applications/korganizer/mycalendar.ics"); | 287 | QString oldFile = QDir::convertSeparators( QDir::homeDirPath()+"/Applications/korganizer/mycalendar.ics"); |
287 | qDebug("oldfile %s ", oldFile.latin1()); | 288 | qDebug("oldfile %s ", oldFile.latin1()); |
288 | QString message = "You are starting KO/Pi for the\nfirst time after updating to a\nversion >= 1.9.1. The location of the\ndefault calendar file has changed.\nA mycalendar.ics file was detected\nat the old location.\nThis file will be loaded now\nand stored at the new location!\n(Config file location has changed, too!)\nPlease read menu Help-What's New!\n"; | 289 | QString message = "You are starting KO/Pi for the\nfirst time after updating to a\nversion >= 1.9.1. The location of the\ndefault calendar file has changed.\nA mycalendar.ics file was detected\nat the old location.\nThis file will be loaded now\nand stored at the new location!\n(Config file location has changed, too!)\nPlease read menu Help-What's New!\n"; |
289 | finfo.setFile( oldFile ); | 290 | finfo.setFile( oldFile ); |
290 | if (finfo.exists() ) { | 291 | if (finfo.exists() ) { |
291 | KMessageBox::information( this, message); | 292 | KMessageBox::information( this, message); |
292 | mView->openCalendar( oldFile ); | 293 | mView->openCalendar( oldFile ); |
293 | qApp->processEvents(); | 294 | qApp->processEvents(); |
294 | } else { | 295 | } else { |
295 | oldFile = QDir::convertSeparators( QDir::homeDirPath()+"/korganizer/mycalendar.ics"); | 296 | oldFile = QDir::convertSeparators( QDir::homeDirPath()+"/korganizer/mycalendar.ics"); |
296 | finfo.setFile( oldFile ); | 297 | finfo.setFile( oldFile ); |
297 | if (finfo.exists() ) { | 298 | if (finfo.exists() ) { |
298 | KMessageBox::information( this, message); | 299 | KMessageBox::information( this, message); |
299 | mView->openCalendar( oldFile ); | 300 | mView->openCalendar( oldFile ); |
300 | qApp->processEvents(); | 301 | qApp->processEvents(); |
301 | } | 302 | } |
302 | } | 303 | } |
303 | mView->saveCalendar( defaultFileName() ); | 304 | mView->saveCalendar( defaultFileName() ); |
304 | newFile = true; | 305 | newFile = true; |
305 | } | 306 | } |
306 | 307 | ||
307 | QTime neededSaveTime = QDateTime::currentDateTime().time(); | 308 | QTime neededSaveTime = QDateTime::currentDateTime().time(); |
308 | mView->openCalendar( defaultFileName() ); | 309 | mView->openCalendar( defaultFileName() ); |
309 | int msNeeded = neededSaveTime.msecsTo( QDateTime::currentDateTime().time() ); | 310 | int msNeeded = neededSaveTime.msecsTo( QDateTime::currentDateTime().time() ); |
310 | qDebug("KO: Calendar loading time: %d ms",msNeeded ); | 311 | qDebug("KO: Calendar loading time: %d ms",msNeeded ); |
311 | 312 | ||
312 | if ( KPimGlobalPrefs::instance()->mPreferredLanguage != KOPrefs::instance()->mOldLoadedLanguage ) { | 313 | if ( KPimGlobalPrefs::instance()->mPreferredLanguage != KOPrefs::instance()->mOldLoadedLanguage ) { |
313 | KOPrefs::instance()->setAllDefaults(); | 314 | KOPrefs::instance()->setAllDefaults(); |
314 | int count = mView->addCategories(); | 315 | int count = mView->addCategories(); |
315 | } | 316 | } |
316 | processIncidenceSelection( 0 ); | 317 | processIncidenceSelection( 0 ); |
317 | connect( mView, SIGNAL( incidenceSelected( Incidence * ) ), | 318 | connect( mView, SIGNAL( incidenceSelected( Incidence * ) ), |
318 | SLOT( processIncidenceSelection( Incidence * ) ) ); | 319 | SLOT( processIncidenceSelection( Incidence * ) ) ); |
319 | connect( mView, SIGNAL( modifiedChanged( bool ) ), | 320 | connect( mView, SIGNAL( modifiedChanged( bool ) ), |
320 | SLOT( slotModifiedChanged( bool ) ) ); | 321 | SLOT( slotModifiedChanged( bool ) ) ); |
321 | 322 | ||
322 | 323 | ||
323 | connect( mView, SIGNAL( tempDisableBR(bool) ), | 324 | connect( mView, SIGNAL( tempDisableBR(bool) ), |
324 | SLOT( disableBR(bool) ) ); | 325 | SLOT( disableBR(bool) ) ); |
325 | connect( &mSaveTimer, SIGNAL( timeout() ), SLOT( save() ) ); | 326 | connect( &mSaveTimer, SIGNAL( timeout() ), SLOT( save() ) ); |
326 | mView->setModified( false ); | 327 | mView->setModified( false ); |
327 | mBlockAtStartup = false; | 328 | mBlockAtStartup = false; |
328 | mView->setModified( false ); | 329 | mView->setModified( false ); |
329 | setCentralWidget( mView ); | 330 | setCentralWidget( mView ); |
330 | globalFlagBlockStartup = 0; | 331 | globalFlagBlockStartup = 0; |
331 | mView->show(); | 332 | mView->show(); |
332 | delete splash; | 333 | delete splash; |
333 | if ( newFile ) | 334 | if ( newFile ) |
334 | mView->updateConfig(); | 335 | mView->updateConfig(); |
335 | // qApp->processEvents(); | 336 | // qApp->processEvents(); |
336 | //qDebug("MainView x %d y %d w %d h %d", mView->x(),mView-> y(), mView->width(), mView->height ()); | 337 | //qDebug("MainView x %d y %d w %d h %d", mView->x(),mView-> y(), mView->width(), mView->height ()); |
337 | //fillSyncMenu(); | 338 | //fillSyncMenu(); |
338 | 339 | ||
339 | 340 | ||
diff --git a/korganizer/searchdialog.cpp b/korganizer/searchdialog.cpp index 341a839..db60383 100644 --- a/korganizer/searchdialog.cpp +++ b/korganizer/searchdialog.cpp | |||
@@ -1,396 +1,439 @@ | |||
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 |
333 | if (re.search(tod->categoriesStr()) != -1) | 376 | if (re.search(tod->categoriesStr()) != -1) |
334 | #else | 377 | #else |
335 | if (re.match(tod->categoriesStr()) != -1) | 378 | if (re.match(tod->categoriesStr()) != -1) |
336 | #endif | 379 | #endif |
337 | { | 380 | { |
338 | mMatchedTodos.append(tod); | 381 | mMatchedTodos.append(tod); |
339 | continue; | 382 | continue; |
340 | } | 383 | } |
341 | } | 384 | } |
342 | if ( mSearchAName->isChecked() || mSearchAEmail->isChecked() ) { | 385 | if ( mSearchAName->isChecked() || mSearchAEmail->isChecked() ) { |
343 | QPtrList<Attendee> tmpAList = tod->attendees(); | 386 | QPtrList<Attendee> tmpAList = tod->attendees(); |
344 | Attendee *a; | 387 | Attendee *a; |
345 | for (a = tmpAList.first(); a; a = tmpAList.next()) { | 388 | for (a = tmpAList.first(); a; a = tmpAList.next()) { |
346 | if (mSearchAName->isChecked()) { | 389 | if (mSearchAName->isChecked()) { |
347 | #if QT_VERSION >= 0x030000 | 390 | #if QT_VERSION >= 0x030000 |
348 | if (re.search(a->name()) != -1) | 391 | if (re.search(a->name()) != -1) |
349 | #else | 392 | #else |
350 | if (re.match(a->name()) != -1) | 393 | if (re.match(a->name()) != -1) |
351 | #endif | 394 | #endif |
352 | { | 395 | { |
353 | mMatchedTodos.append(tod); | 396 | mMatchedTodos.append(tod); |
354 | break; | 397 | break; |
355 | } | 398 | } |
356 | } | 399 | } |
357 | if (mSearchAEmail->isChecked()) { | 400 | if (mSearchAEmail->isChecked()) { |
358 | #if QT_VERSION >= 0x030000 | 401 | #if QT_VERSION >= 0x030000 |
359 | if (re.search(a->email()) != -1) | 402 | if (re.search(a->email()) != -1) |
360 | #else | 403 | #else |
361 | if (re.match(a->email()) != -1) | 404 | if (re.match(a->email()) != -1) |
362 | #endif | 405 | #endif |
363 | { | 406 | { |
364 | mMatchedTodos.append(tod); | 407 | mMatchedTodos.append(tod); |
365 | break; | 408 | break; |
366 | } | 409 | } |
367 | } | 410 | } |
368 | } | 411 | } |
369 | } | 412 | } |
370 | } | 413 | } |
371 | } | 414 | } |
372 | mMatchedJournals.clear(); | 415 | mMatchedJournals.clear(); |
373 | if (mSearchJournal->isChecked() ) { | 416 | if (mSearchJournal->isChecked() ) { |
374 | QPtrList<Journal> journals = mCalendar->journals( ); | 417 | QPtrList<Journal> journals = mCalendar->journals( ); |
375 | Journal* journ; | 418 | Journal* journ; |
376 | 419 | ||
377 | for(journ=journals.first();journ;journ=journals.next()) { | 420 | for(journ=journals.first();journ;journ=journals.next()) { |
378 | if ( journ->dtStart().date() <= mEndDate->date() | 421 | if ( journ->dtStart().date() <= mEndDate->date() |
379 | &&journ->dtStart().date() >= mStartDate->date()) { | 422 | &&journ->dtStart().date() >= mStartDate->date()) { |
380 | #if QT_VERSION >= 0x030000 | 423 | #if QT_VERSION >= 0x030000 |
381 | if (re.search(journ->description()) != -1) | 424 | if (re.search(journ->description()) != -1) |
382 | #else | 425 | #else |
383 | if (re.match(journ->description()) != -1) | 426 | if (re.match(journ->description()) != -1) |
384 | #endif | 427 | #endif |
385 | { | 428 | { |
386 | mMatchedJournals.append(journ); | 429 | mMatchedJournals.append(journ); |
387 | continue; | 430 | continue; |
388 | } | 431 | } |
389 | } | 432 | } |
390 | } | 433 | } |
391 | } | 434 | } |
392 | 435 | ||
393 | } | 436 | } |
394 | 437 | ||
395 | void SearchDialog::keyPressEvent ( QKeyEvent *e) | 438 | void SearchDialog::keyPressEvent ( QKeyEvent *e) |
396 | { | 439 | { |
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,677 +1,682 @@ | |||
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]; |
244 | arr.setPoints( 3, | 244 | arr.setPoints( 3, |
245 | mid - sw + 4, sw-4, | 245 | mid - sw + 4, sw-4, |
246 | mid, 0, | 246 | mid, 0, |
247 | mid + sw - 4, sw-4 ); | 247 | mid + sw - 4, sw-4 ); |
248 | } | 248 | } |
249 | else if ( !_collapsed && s->minimizeDirection() == KDGanttMinimizeSplitter::Down || | 249 | else if ( !_collapsed && s->minimizeDirection() == KDGanttMinimizeSplitter::Down || |
250 | _collapsed && s->minimizeDirection() == KDGanttMinimizeSplitter::Up ) { | 250 | _collapsed && s->minimizeDirection() == KDGanttMinimizeSplitter::Up ) { |
251 | int mid = width()/2 + voffset[i]; | 251 | int mid = width()/2 + voffset[i]; |
252 | arr.setPoints( 3, | 252 | arr.setPoints( 3, |
253 | mid - sw + 4, 1-yyy, | 253 | mid - sw + 4, 1-yyy, |
254 | mid, sw-3-yyy, | 254 | mid, sw-3-yyy, |
255 | mid + sw -4, 1-yyy); | 255 | mid + sw -4, 1-yyy); |
256 | } | 256 | } |
257 | list.append( arr ); | 257 | list.append( arr ); |
258 | } | 258 | } |
259 | return list; | 259 | return list; |
260 | } | 260 | } |
261 | 261 | ||
262 | void KDGanttSplitterHandle::paintEvent( QPaintEvent * ) | 262 | void KDGanttSplitterHandle::paintEvent( QPaintEvent * ) |
263 | { | 263 | { |
264 | QPixmap buffer( size() ); | 264 | QPixmap buffer( size() ); |
265 | QPainter p( &buffer ); | 265 | QPainter p( &buffer ); |
266 | 266 | ||
267 | //LR | 267 | //LR |
268 | // Draw the splitter rectangle | 268 | // Draw the splitter rectangle |
269 | p.setBrush( colorGroup().background() ); | 269 | p.setBrush( colorGroup().background() ); |
270 | p.setPen( colorGroup().foreground() ); | 270 | p.setPen( colorGroup().foreground() ); |
271 | //p.drawRect( rect() ); | 271 | //p.drawRect( rect() ); |
272 | buffer.fill( colorGroup().background() ); | 272 | buffer.fill( colorGroup().background() ); |
273 | //buffer.fill( backgroundColor() ); | 273 | //buffer.fill( backgroundColor() ); |
274 | // parentWidget()->style().drawPrimitive( QStyle::PE_Panel, &p, rect(), parentWidget()->colorGroup()); | 274 | // parentWidget()->style().drawPrimitive( QStyle::PE_Panel, &p, rect(), parentWidget()->colorGroup()); |
275 | 275 | ||
276 | int sw = 8; // Hardcoded, given I didn't use styles anymore, I didn't like to use their size | 276 | int sw = 8; // Hardcoded, given I didn't use styles anymore, I didn't like to use their size |
277 | 277 | ||
278 | // arrow color | 278 | // arrow color |
279 | QColor col; | 279 | QColor col; |
280 | if ( _activeButton ) | 280 | if ( _activeButton ) |
281 | col = colorGroup().background().dark( 250 ); | 281 | col = colorGroup().background().dark( 250 ); |
282 | else { | 282 | else { |
283 | if ( mMouseDown ) | 283 | if ( mMouseDown ) |
284 | col = Qt::white; | 284 | col = Qt::white; |
285 | else | 285 | else |
286 | col = colorGroup().background().dark( 150 ); | 286 | col = colorGroup().background().dark( 150 ); |
287 | } | 287 | } |
288 | //QColor col = backgroundColor().dark( 130 ); | 288 | //QColor col = backgroundColor().dark( 130 ); |
289 | p.setBrush( col ); | 289 | p.setBrush( col ); |
290 | p.setPen( col ); | 290 | p.setPen( col ); |
291 | 291 | ||
292 | QValueList<QPointArray> list = buttonRegions(); | 292 | QValueList<QPointArray> list = buttonRegions(); |
293 | int index = 1; | 293 | int index = 1; |
294 | if ( mUseOffset ) | 294 | if ( mUseOffset ) |
295 | p.translate( 0, 1 ); | 295 | p.translate( 0, 1 ); |
296 | for ( QValueList<QPointArray>::Iterator it = list.begin(); it != list.end(); ++it ) { | 296 | for ( QValueList<QPointArray>::Iterator it = list.begin(); it != list.end(); ++it ) { |
297 | if ( index == _activeButton ) { | 297 | if ( index == _activeButton ) { |
298 | 298 | ||
299 | /* | 299 | /* |
300 | if ( ! _collapsed ) { | 300 | if ( ! _collapsed ) { |
301 | p.save(); | 301 | p.save(); |
302 | // p.translate( parentWidget()->style().pixelMetric( QStyle::PM_ButtonShiftHorizontal ), | 302 | // p.translate( parentWidget()->style().pixelMetric( QStyle::PM_ButtonShiftHorizontal ), |
303 | // parentWidget()->style().pixelMetric( QStyle::PM_ButtonShiftVertical ) ); | 303 | // parentWidget()->style().pixelMetric( QStyle::PM_ButtonShiftVertical ) ); |
304 | p.translate( -1, 0 ); | 304 | p.translate( -1, 0 ); |
305 | p.drawPolygon( *it, true ); | 305 | p.drawPolygon( *it, true ); |
306 | p.restore(); } else | 306 | p.restore(); } else |
307 | */ | 307 | */ |
308 | p.drawPolygon( *it, true ); | 308 | p.drawPolygon( *it, true ); |
309 | 309 | ||
310 | } | 310 | } |
311 | else { | 311 | else { |
312 | /* | 312 | /* |
313 | if ( ! _collapsed ) { | 313 | if ( ! _collapsed ) { |
314 | p.save(); | 314 | p.save(); |
315 | p.translate( -1, 0 ); | 315 | p.translate( -1, 0 ); |
316 | p.drawPolygon( *it, true ); | 316 | p.drawPolygon( *it, true ); |
317 | p.restore(); | 317 | p.restore(); |
318 | } else | 318 | } else |
319 | */ | 319 | */ |
320 | p.drawPolygon( *it, true ); | 320 | p.drawPolygon( *it, true ); |
321 | 321 | ||
322 | } | 322 | } |
323 | index++; | 323 | index++; |
324 | } | 324 | } |
325 | 325 | ||
326 | // Draw the lines between the arrows | 326 | // Draw the lines between the arrows |
327 | if ( s->minimizeDirection() == KDGanttMinimizeSplitter::Left || | 327 | if ( s->minimizeDirection() == KDGanttMinimizeSplitter::Left || |
328 | s->minimizeDirection() == KDGanttMinimizeSplitter::Right ) { | 328 | s->minimizeDirection() == KDGanttMinimizeSplitter::Right ) { |
329 | int mid = height()/2; | 329 | int mid = height()/2; |
330 | p.drawLine ( 1, mid - sw, 1, mid + sw ); | 330 | p.drawLine ( 1, mid - sw, 1, mid + sw ); |
331 | p.drawLine ( 3, mid - sw, 3, mid + sw ); | 331 | p.drawLine ( 3, mid - sw, 3, mid + sw ); |
332 | } | 332 | } |
333 | else if ( s->minimizeDirection() == KDGanttMinimizeSplitter::Up || | 333 | else if ( s->minimizeDirection() == KDGanttMinimizeSplitter::Up || |
334 | s->minimizeDirection() == KDGanttMinimizeSplitter::Down ) { | 334 | s->minimizeDirection() == KDGanttMinimizeSplitter::Down ) { |
335 | int mid = width()/2; | 335 | int mid = width()/2; |
336 | p.drawLine( mid -sw, 1, mid +sw, 1 ); | 336 | p.drawLine( mid -sw, 1, mid +sw, 1 ); |
337 | p.drawLine( mid -sw, 3, mid +sw, 3 ); | 337 | p.drawLine( mid -sw, 3, mid +sw, 3 ); |
338 | } | 338 | } |
339 | bitBlt( this, 0, 0, &buffer ); | 339 | bitBlt( this, 0, 0, &buffer ); |
340 | 340 | ||
341 | } | 341 | } |
342 | #endif | 342 | #endif |
343 | 343 | ||
344 | class QSplitterLayoutStruct | 344 | class QSplitterLayoutStruct |
345 | { | 345 | { |
346 | public: | 346 | public: |
347 | KDGanttMinimizeSplitter::ResizeMode mode; | 347 | KDGanttMinimizeSplitter::ResizeMode mode; |
348 | QCOORD sizer; | 348 | QCOORD sizer; |
349 | bool isSplitter; | 349 | bool isSplitter; |
350 | QWidget *wid; | 350 | QWidget *wid; |
351 | }; | 351 | }; |
352 | 352 | ||
353 | class QSplitterData | 353 | class QSplitterData |
354 | { | 354 | { |
355 | public: | 355 | public: |
356 | QSplitterData() : opaque( FALSE ), firstShow( TRUE ) {} | 356 | QSplitterData() : opaque( FALSE ), firstShow( TRUE ) {} |
357 | 357 | ||
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(); |
614 | while ( s ) { | 619 | while ( s ) { |
615 | if ( s->wid == c->child() ) { | 620 | if ( s->wid == c->child() ) { |
616 | data->list.removeRef( s ); | 621 | data->list.removeRef( s ); |
617 | delete s; | 622 | delete s; |
618 | if ( p && p->isSplitter ) { | 623 | if ( p && p->isSplitter ) { |
619 | data->list.removeRef( p ); | 624 | data->list.removeRef( p ); |
620 | delete p->wid; //will call childEvent | 625 | delete p->wid; //will call childEvent |
621 | delete p; | 626 | delete p; |
622 | } | 627 | } |
623 | recalcId(); | 628 | recalcId(); |
624 | doResize(); | 629 | doResize(); |
625 | return; | 630 | return; |
626 | } | 631 | } |
627 | p = s; | 632 | p = s; |
628 | s = data->list.next(); | 633 | s = data->list.next(); |
629 | } | 634 | } |
630 | } | 635 | } |
631 | } | 636 | } |
632 | 637 | ||
633 | 638 | ||
634 | /*! | 639 | /*! |
635 | Shows a rubber band at position \a p. If \a p is negative, the | 640 | Shows a rubber band at position \a p. If \a p is negative, the |
636 | rubber band is removed. | 641 | rubber band is removed. |
637 | */ | 642 | */ |
638 | void KDGanttMinimizeSplitter::setRubberband( int p ) | 643 | void KDGanttMinimizeSplitter::setRubberband( int p ) |
639 | { | 644 | { |
640 | QPainter paint( this ); | 645 | QPainter paint( this ); |
641 | paint.setPen( gray ); | 646 | paint.setPen( gray ); |
642 | paint.setBrush( gray ); | 647 | paint.setBrush( gray ); |
643 | paint.setRasterOp( XorROP ); | 648 | paint.setRasterOp( XorROP ); |
644 | QRect r = contentsRect(); | 649 | QRect r = contentsRect(); |
645 | const int rBord = 3; //Themable???? | 650 | const int rBord = 3; //Themable???? |
646 | #if QT_VERSION >= 0x030000 | 651 | #if QT_VERSION >= 0x030000 |
647 | int sw = style().pixelMetric(QStyle::PM_SplitterWidth, this); | 652 | int sw = style().pixelMetric(QStyle::PM_SplitterWidth, this); |
648 | #else | 653 | #else |
649 | int sw = style().splitterWidth(); | 654 | int sw = style().splitterWidth(); |
650 | #endif | 655 | #endif |
651 | if ( orient == Horizontal ) { | 656 | if ( orient == Horizontal ) { |
652 | if ( opaqueOldPos >= 0 ) | 657 | if ( opaqueOldPos >= 0 ) |
653 | paint.drawRect( opaqueOldPos + sw/2 - rBord , r.y(), | 658 | paint.drawRect( opaqueOldPos + sw/2 - rBord , r.y(), |
654 | 2*rBord, r.height() ); | 659 | 2*rBord, r.height() ); |
655 | if ( p >= 0 ) | 660 | if ( p >= 0 ) |
656 | paint.drawRect( p + sw/2 - rBord, r.y(), 2*rBord, r.height() ); | 661 | paint.drawRect( p + sw/2 - rBord, r.y(), 2*rBord, r.height() ); |
657 | } else { | 662 | } else { |
658 | if ( opaqueOldPos >= 0 ) | 663 | if ( opaqueOldPos >= 0 ) |
659 | paint.drawRect( r.x(), opaqueOldPos + sw/2 - rBord, | 664 | paint.drawRect( r.x(), opaqueOldPos + sw/2 - rBord, |
660 | r.width(), 2*rBord ); | 665 | r.width(), 2*rBord ); |
661 | if ( p >= 0 ) | 666 | if ( p >= 0 ) |
662 | paint.drawRect( r.x(), p + sw/2 - rBord, r.width(), 2*rBord ); | 667 | paint.drawRect( r.x(), p + sw/2 - rBord, r.width(), 2*rBord ); |
663 | } | 668 | } |
664 | opaqueOldPos = p; | 669 | opaqueOldPos = p; |
665 | } | 670 | } |
666 | 671 | ||
667 | 672 | ||
668 | /*! \reimp */ | 673 | /*! \reimp */ |
669 | bool KDGanttMinimizeSplitter::event( QEvent *e ) | 674 | bool KDGanttMinimizeSplitter::event( QEvent *e ) |
670 | { | 675 | { |
671 | if ( e->type() == QEvent::LayoutHint || ( e->type() == QEvent::Show && data->firstShow ) ) { | 676 | if ( e->type() == QEvent::LayoutHint || ( e->type() == QEvent::Show && data->firstShow ) ) { |
672 | recalc( isVisible() ); | 677 | recalc( isVisible() ); |
673 | if ( e->type() == QEvent::Show ) | 678 | if ( e->type() == QEvent::Show ) |
674 | data->firstShow = FALSE; | 679 | data->firstShow = FALSE; |
675 | } | 680 | } |
676 | return QWidget::event( e ); | 681 | return QWidget::event( e ); |
677 | } | 682 | } |
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,256 +1,256 @@ | |||
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 ]; |
224 | KLibFactory *factory = KLibLoader::self()->factory( ptr->library().latin1() ); | 224 | KLibFactory *factory = KLibLoader::self()->factory( ptr->library().latin1() ); |
225 | if ( !factory ) { | 225 | if ( !factory ) { |
226 | kdDebug() << "KRES::Factory::resource(): Factory creation failed" << endl; | 226 | kdDebug() << "KRES::Factory::resource(): Factory creation failed" << endl; |
227 | return 0; | 227 | return 0; |
228 | } | 228 | } |
229 | */ | 229 | */ |
230 | PluginInfo* pi = mTypeMap[ type ]; | 230 | PluginInfo* pi = mTypeMap[ type ]; |
231 | KLibFactory *factory = (KLibFactory *)KLibLoader::self()->factory( pi->library.latin1() ); | 231 | KLibFactory *factory = (KLibFactory *)KLibLoader::self()->factory( pi->library.latin1() ); |
232 | if ( !factory ) { | 232 | if ( !factory ) { |
233 | qDebug("KRES::Factory::resource(): Factory creation failed for library %s", pi->library.latin1()); | 233 | qDebug("KRES::Factory::resource(): Factory creation failed for library %s", pi->library.latin1()); |
234 | kdDebug() << "KRES::Factory::resource(): Factory creation failed" << endl; | 234 | kdDebug() << "KRES::Factory::resource(): Factory creation failed" << endl; |
235 | return 0; | 235 | return 0; |
236 | } | 236 | } |
237 | 237 | ||
238 | PluginFactoryBase *pluginFactory = static_cast<PluginFactoryBase *>( factory ); | 238 | PluginFactoryBase *pluginFactory = static_cast<PluginFactoryBase *>( factory ); |
239 | 239 | ||
240 | if ( !pluginFactory ) { | 240 | if ( !pluginFactory ) { |
241 | qDebug("KRES::Factory::resource(): no plugin factory for library %s", pi->library.latin1()); | 241 | qDebug("KRES::Factory::resource(): no plugin factory for library %s", pi->library.latin1()); |
242 | kdDebug() << "KRES::Factory::resource(): no plugin factory." << endl; | 242 | kdDebug() << "KRES::Factory::resource(): no plugin factory." << endl; |
243 | return 0; | 243 | return 0; |
244 | } | 244 | } |
245 | 245 | ||
246 | Resource *resource = pluginFactory->resource( config ); | 246 | Resource *resource = pluginFactory->resource( config ); |
247 | if ( !resource ) { | 247 | if ( !resource ) { |
248 | //US kdDebug() << "'" << ptr->library() << "' is not a " + mResourceFamily + " plugin." << endl; | 248 | //US kdDebug() << "'" << ptr->library() << "' is not a " + mResourceFamily + " plugin." << endl; |
249 | qDebug("%s is not a %s plugin.", pi->library.latin1(), mResourceFamily.latin1()); | 249 | qDebug("%s is not a %s plugin.", pi->library.latin1(), mResourceFamily.latin1()); |
250 | return 0; | 250 | return 0; |
251 | } | 251 | } |
252 | 252 | ||
253 | resource->setType( type ); | 253 | resource->setType( type ); |
254 | 254 | ||
255 | return resource; | 255 | return resource; |
256 | } | 256 | } |