summaryrefslogtreecommitdiffabout
path: root/korganizer/calendarview.cpp
Unidiff
Diffstat (limited to 'korganizer/calendarview.cpp') (more/less context) (ignore whitespace changes)
-rw-r--r--korganizer/calendarview.cpp76
1 files changed, 56 insertions, 20 deletions
diff --git a/korganizer/calendarview.cpp b/korganizer/calendarview.cpp
index 3ce123c..ab59d00 100644
--- a/korganizer/calendarview.cpp
+++ b/korganizer/calendarview.cpp
@@ -275,103 +275,107 @@ void CalendarView::init()
275 mTodoList = new KOTodoView(mCalendar, mLeftSplitter, "todolist_small2"); 275 mTodoList = new KOTodoView(mCalendar, mLeftSplitter, "todolist_small2");
276 mTodoList->setNavigator( mNavigator ); 276 mTodoList->setNavigator( mNavigator );
277 mFilterView = new KOFilterView(&mFilters,mLeftSplitter,"CalendarView::FilterView"); 277 mFilterView = new KOFilterView(&mFilters,mLeftSplitter,"CalendarView::FilterView");
278 278
279#ifdef KORG_NORESOURCEVIEW 279#ifdef KORG_NORESOURCEVIEW
280 mResourceView = 0; 280 mResourceView = 0;
281#else 281#else
282 if ( mResourceManager ) { 282 if ( mResourceManager ) {
283 mResourceView = new ResourceView( mResourceManager, mLeftSplitter ); 283 mResourceView = new ResourceView( mResourceManager, mLeftSplitter );
284 mResourceView->updateView(); 284 mResourceView->updateView();
285 connect( mResourceView, SIGNAL( resourcesChanged() ), 285 connect( mResourceView, SIGNAL( resourcesChanged() ),
286 SLOT( updateView() ) ); 286 SLOT( updateView() ) );
287 } else { 287 } else {
288 mResourceView = 0; 288 mResourceView = 0;
289 } 289 }
290#endif 290#endif
291 QWidget *rightBox = new QWidget( mPanner ); 291 QWidget *rightBox = new QWidget( mPanner );
292 QBoxLayout *rightLayout = new QVBoxLayout( rightBox ); 292 QBoxLayout *rightLayout = new QVBoxLayout( rightBox );
293 293
294 mRightFrame = new QWidgetStack( rightBox ); 294 mRightFrame = new QWidgetStack( rightBox );
295 rightLayout->addWidget( mRightFrame, 1 ); 295 rightLayout->addWidget( mRightFrame, 1 );
296 296
297 mLeftFrame = mLeftSplitter; 297 mLeftFrame = mLeftSplitter;
298#else 298#else
299 QWidget *mainBox = new QWidget( this ); 299 //QWidget *mainBox = new QWidget( this );
300 //QWidget *leftFrame = new QWidget( mainBox ); 300 //QWidget *leftFrame = new QWidget( mainBox );
301 QBoxLayout * mainBoxLayout; 301 //QBoxLayout * mainBoxLayout;
302 if ( KOPrefs::instance()->mVerticalScreen ) { 302 if ( KOPrefs::instance()->mVerticalScreen ) {
303 mainBoxLayout = new QVBoxLayout(mainBox); 303 //mainBoxLayout = new QVBoxLayout(mainBox);
304 //leftFrameLayout = new QHBoxLayout(leftFrame ); 304 //leftFrameLayout = new QHBoxLayout(leftFrame );
305 mLeftFrame = new KDGanttMinimizeSplitter( Qt::Horizontal, mainBox);; 305 mMainFrame = new KDGanttMinimizeSplitter( Qt::Vertical, this );
306 mLeftFrame->setMinimizeDirection ( KDGanttMinimizeSplitter::Left ); 306 mMainFrame->setMinimizeDirection ( KDGanttMinimizeSplitter::Up );
307 mLeftFrame = new KDGanttMinimizeSplitter( Qt::Horizontal, mMainFrame);;
308 mLeftFrame->setMinimizeDirection ( KDGanttMinimizeSplitter::Right );
307 } else { 309 } else {
308 mainBoxLayout = new QHBoxLayout(mainBox); 310 //mainBoxLayout = new QHBoxLayout(mainBox);
309 //leftFrameLayout = new QVBoxLayout(leftFrame ); 311 //leftFrameLayout = new QVBoxLayout(leftFrame );
310 mLeftFrame = new KDGanttMinimizeSplitter( Qt::Vertical, mainBox);; 312 mMainFrame = new KDGanttMinimizeSplitter( Qt::Horizontal, this);
313 mMainFrame->setMinimizeDirection ( KDGanttMinimizeSplitter::Left);
314 mLeftFrame = new KDGanttMinimizeSplitter( Qt::Vertical, mMainFrame);
311 mLeftFrame->setMinimizeDirection ( KDGanttMinimizeSplitter::Up ); 315 mLeftFrame->setMinimizeDirection ( KDGanttMinimizeSplitter::Up );
312 } 316 }
313 //QBoxLayout * leftFrameLayout; 317 //QBoxLayout * leftFrameLayout;
314 topLayout->addWidget( mainBox ); 318 topLayout->addWidget( mMainFrame );
315 mainBoxLayout->addWidget (mLeftFrame); 319 //mainBoxLayout->addWidget (mLeftFrame);
316 mDateNavigator = new DateNavigatorContainer( mLeftFrame, 320 mDateNavigator = new DateNavigatorContainer( mLeftFrame,
317 "CalendarView::DateNavigator" ); 321 "CalendarView::DateNavigator" );
318#if 0 322#if 0
319 // FIXME 323 // FIXME
320 mDateNavigator = new KDateNavigator(mLeftFrame, mCalendar, TRUE, 324 mDateNavigator = new KDateNavigator(mLeftFrame, mCalendar, TRUE,
321 "CalendarView::DateNavigator", QDate::currentDate()); 325 "CalendarView::DateNavigator", QDate::currentDate());
322#endif 326#endif
323 // mDateNavigator->blockSignals( true ); 327 // mDateNavigator->blockSignals( true );
324 //leftFrameLayout->addWidget( mDateNavigator ); 328 //leftFrameLayout->addWidget( mDateNavigator );
325 mTodoList = new KOTodoView(mCalendar, mLeftFrame, "todolistsmall"); 329 mTodoList = new KOTodoView(mCalendar, mLeftFrame, "todolistsmall");
326 mFilterView = new KOFilterView(&mFilters,mLeftFrame,"CalendarView::FilterView"); 330 mFilterView = new KOFilterView(&mFilters,mLeftFrame,"CalendarView::FilterView");
327 mTodoList->setNavigator( mNavigator ); 331 mTodoList->setNavigator( mNavigator );
328#if 0 332#if 0
329 if ( QApplication::desktop()->width() < 480 ) { 333 if ( QApplication::desktop()->width() < 480 ) {
330 leftFrameLayout->addWidget(mFilterView); 334 leftFrameLayout->addWidget(mFilterView);
331 leftFrameLayout->addWidget(mTodoList, 2 ); 335 leftFrameLayout->addWidget(mTodoList, 2 );
332 336
333 } else { 337 } else {
334 leftFrameLayout->addWidget(mTodoList,2 ); 338 leftFrameLayout->addWidget(mTodoList,2 );
335 leftFrameLayout->addWidget(mFilterView ); 339 leftFrameLayout->addWidget(mFilterView );
336 } 340 }
337#endif 341#endif
338 mFilterView->hide(); 342 mFilterView->hide();
339 QWidget *rightBox = new QWidget( mainBox ); 343 QWidget *rightBox = new QWidget( mMainFrame );
340 mainBoxLayout->addWidget ( rightBox, 10 ); 344 //mainBoxLayout->addWidget ( rightBox, 10 );
341 QBoxLayout *rightLayout = new QVBoxLayout( rightBox ); 345 QBoxLayout *rightLayout = new QVBoxLayout( rightBox );
342 mRightFrame = new QWidgetStack( rightBox ); 346 mRightFrame = new QWidgetStack( rightBox );
343 rightLayout->addWidget( mRightFrame, 10 ); 347 rightLayout->addWidget( mRightFrame, 10 );
344 348
345 //mLeftFrame = (QWidget *)leftFrame; 349 //mLeftFrame = (QWidget *)leftFrame;
346 if ( KOPrefs::instance()->mVerticalScreen ) { 350 if ( KOPrefs::instance()->mVerticalScreen ) {
347 mDateNavigator->setFixedHeight( mDateNavigator->sizeHint().height() ); 351 //mDateNavigator->setFixedHeight( mDateNavigator->sizeHint().height() );
348 //mDateNavigator->setMinimumWidth( mDateNavigator->sizeHint().width() ); 352 //mDateNavigator->setMinimumWidth( mDateNavigator->sizeHint().width() );
349 mTodoList->setFixedHeight( mDateNavigator->sizeHint().height() ); 353 //mTodoList->setFixedHeight( mDateNavigator->sizeHint().height() );
350 //leftFrame->setFixedHeight( mDateNavigator->sizeHint().height() ); 354 //leftFrame->setFixedHeight( mDateNavigator->sizeHint().height() );
351 } else { 355 } else {
352 mDateNavigator->setFixedWidth( mDateNavigator->sizeHint().width() ); 356 //mDateNavigator->setFixedWidth( mDateNavigator->sizeHint().width() );
353 mTodoList->setFixedWidth( mDateNavigator->sizeHint().width() ); 357 //mTodoList->setFixedWidth( mDateNavigator->sizeHint().width() );
354 //leftFrame->setFixedWidth( mDateNavigator->sizeHint().width() ); 358 //leftFrame->setFixedWidth( mDateNavigator->sizeHint().width() );
355 } 359 }
356 if ( !KOPrefs::instance()->mShowDateNavigator) 360 if ( !KOPrefs::instance()->mShowDateNavigator)
357 mDateNavigator->hide(); 361 mDateNavigator->hide();
358 //qDebug("Calendarview Size %d %d ", width(), height()); 362 //qDebug("Calendarview Size %d %d ", width(), height());
359#endif 363#endif
360 364
361 connect( mNavigator, SIGNAL( datesSelected( const KCal::DateList & ) ), 365 connect( mNavigator, SIGNAL( datesSelected( const KCal::DateList & ) ),
362 SLOT( showDates( const KCal::DateList & ) ) ); 366 SLOT( showDates( const KCal::DateList & ) ) );
363 367
364 connect( mNavigator, SIGNAL( datesSelected( const KCal::DateList & ) ), 368 connect( mNavigator, SIGNAL( datesSelected( const KCal::DateList & ) ),
365 mDateNavigator, SLOT( selectDates( const KCal::DateList & ) ) ); 369 mDateNavigator, SLOT( selectDates( const KCal::DateList & ) ) );
366 370
367 371
368 connect( mDateNavigator, SIGNAL( weekClicked( const QDate & ) ), 372 connect( mDateNavigator, SIGNAL( weekClicked( const QDate & ) ),
369 mNavigator, SLOT( selectWeek( const QDate & ) ) ); 373 mNavigator, SLOT( selectWeek( const QDate & ) ) );
370 374
371 connect( mDateNavigator, SIGNAL( goPrevYear() ), 375 connect( mDateNavigator, SIGNAL( goPrevYear() ),
372 mNavigator, SLOT( selectPreviousYear() ) ); 376 mNavigator, SLOT( selectPreviousYear() ) );
373 connect( mDateNavigator, SIGNAL( goNextYear() ), 377 connect( mDateNavigator, SIGNAL( goNextYear() ),
374 mNavigator, SLOT( selectNextYear() ) ); 378 mNavigator, SLOT( selectNextYear() ) );
375 connect( mDateNavigator, SIGNAL( goPrevMonth() ), 379 connect( mDateNavigator, SIGNAL( goPrevMonth() ),
376 mNavigator, SLOT( selectPreviousMonth() ) ); 380 mNavigator, SLOT( selectPreviousMonth() ) );
377 connect( mDateNavigator, SIGNAL( goNextMonth() ), 381 connect( mDateNavigator, SIGNAL( goNextMonth() ),
@@ -1814,69 +1818,100 @@ void CalendarView::readSettings()
1814 mLeftSplitter->setSizes(sizes); 1818 mLeftSplitter->setSizes(sizes);
1815 } 1819 }
1816#endif 1820#endif
1817 globalFlagBlockAgenda = 1; 1821 globalFlagBlockAgenda = 1;
1818 mViewManager->showAgendaView(); 1822 mViewManager->showAgendaView();
1819 //mViewManager->readSettings( config ); 1823 //mViewManager->readSettings( config );
1820 mTodoList->restoreLayout(config,QString("Todo Layout")); 1824 mTodoList->restoreLayout(config,QString("Todo Layout"));
1821 readFilterSettings(config); 1825 readFilterSettings(config);
1822 config->setGroup( "Views" ); 1826 config->setGroup( "Views" );
1823 int dateCount = config->readNumEntry( "ShownDatesCount", 7 ); 1827 int dateCount = config->readNumEntry( "ShownDatesCount", 7 );
1824 1828
1825 QValueList<int> sizes = config->readIntListEntry("Left Splitter Frame"); 1829 QValueList<int> sizes = config->readIntListEntry("Left Splitter Frame");
1826 1830
1827 int resetval = 0; 1831 int resetval = 0;
1828 int maxVal = 0; 1832 int maxVal = 0;
1829 if (sizes.count() != 3) { 1833 if (sizes.count() != 3) {
1830 if ( KOPrefs::instance()->mVerticalScreen ) { 1834 if ( KOPrefs::instance()->mVerticalScreen ) {
1831 resetval = mDateNavigator->sizeHint().width()+2; 1835 resetval = mDateNavigator->sizeHint().width()+2;
1832 } else { 1836 } else {
1833 resetval = mDateNavigator->sizeHint().height()+2; 1837 resetval = mDateNavigator->sizeHint().height()+2;
1834 } 1838 }
1835 } 1839 }
1836 if ( !resetval ){// i.e. sizes.count() == 3 1840 if ( !resetval ){// i.e. sizes.count() == 3
1837 if ( KOPrefs::instance()->mVerticalScreen ) { 1841 if ( KOPrefs::instance()->mVerticalScreen ) {
1838 if ( sizes[0] < mDateNavigator->sizeHint().width()+1 ) 1842 if ( sizes[0] < mDateNavigator->sizeHint().width()+1 )
1839 resetval = mDateNavigator->sizeHint().width()+2; 1843 resetval = mDateNavigator->sizeHint().width()+2;
1840 } else { 1844 } else {
1841 if ( sizes[0] < mDateNavigator->sizeHint().height()+1 ) 1845 if ( sizes[0] < mDateNavigator->sizeHint().height()+1 )
1842 resetval = mDateNavigator->sizeHint().height()+2; 1846 resetval = mDateNavigator->sizeHint().height()+2;
1843 } 1847 }
1844 } 1848 }
1845 if ( resetval ) { 1849 if ( resetval ) {
1846 sizes.clear(); 1850 sizes.clear();
1847 if ( KOPrefs::instance()->mVerticalScreen ) { 1851 if ( KOPrefs::instance()->mVerticalScreen ) {
1848 maxVal = QApplication::desktop()->width() -10; 1852 maxVal = QApplication::desktop()->width() -10;
1849 } else { 1853 } else {
1850 maxVal = QApplication::desktop()->height()-10; 1854 maxVal = QApplication::desktop()->height()-10;
1851 } 1855 }
1852 sizes << resetval; 1856 sizes << resetval;
1853 if ( maxVal < resetval + resetval) 1857 if ( maxVal < resetval + resetval)
1854 resetval = maxVal - resetval; 1858 resetval = maxVal - resetval;
1855 sizes << resetval; 1859 sizes << resetval;
1856 sizes << 100; 1860 sizes << 100;
1857 } 1861 }
1858 mLeftFrame->setSizes(sizes); 1862 mLeftFrame->setSizes(sizes);
1863 sizes = config->readIntListEntry("Main Splitter Frame");
1864 if (sizes.count() != 3) {
1865 if ( !KOPrefs::instance()->mVerticalScreen ) {
1866 resetval = mDateNavigator->sizeHint().width()+2;
1867 } else {
1868 resetval = mDateNavigator->sizeHint().height()+2;
1869 }
1870 }
1871 if ( !resetval ){// i.e. sizes.count() == 3
1872 if ( !KOPrefs::instance()->mVerticalScreen ) {
1873 if ( sizes[0] < mDateNavigator->sizeHint().width()+1 )
1874 resetval = mDateNavigator->sizeHint().width()+2;
1875 } else {
1876 if ( sizes[0] < mDateNavigator->sizeHint().height()+1 )
1877 resetval = mDateNavigator->sizeHint().height()+2;
1878 }
1879 }
1880 if ( resetval ) {
1881 sizes.clear();
1882 if ( !KOPrefs::instance()->mVerticalScreen ) {
1883 maxVal = QApplication::desktop()->width() -10;
1884 } else {
1885 maxVal = QApplication::desktop()->height()-10;
1886 }
1887 sizes << resetval;
1888 if ( maxVal < resetval + resetval)
1889 resetval = maxVal - resetval;
1890 sizes << resetval;
1891 }
1892 mMainFrame->setSizes(sizes);
1893
1859 if ( dateCount == 5 ) mNavigator->selectWorkWeek(); 1894 if ( dateCount == 5 ) mNavigator->selectWorkWeek();
1860 else if ( dateCount == 7 ) mNavigator->selectWeek(); 1895 else if ( dateCount == 7 ) mNavigator->selectWeek();
1861 else mNavigator->selectDates( dateCount ); 1896 else mNavigator->selectDates( dateCount );
1862 // mViewManager->readSettings( config ); 1897 // mViewManager->readSettings( config );
1863 updateConfig(); 1898 updateConfig();
1864 globalFlagBlockAgenda = 2; 1899 globalFlagBlockAgenda = 2;
1865 mViewManager->readSettings( config ); 1900 mViewManager->readSettings( config );
1866#ifdef DESKTOP_VERSION 1901#ifdef DESKTOP_VERSION
1867 config->setGroup("WidgetLayout"); 1902 config->setGroup("WidgetLayout");
1868 QStringList list; 1903 QStringList list;
1869 list = config->readListEntry("MainLayout"); 1904 list = config->readListEntry("MainLayout");
1870 int x,y,w,h; 1905 int x,y,w,h;
1871 if ( ! list.isEmpty() ) { 1906 if ( ! list.isEmpty() ) {
1872 x = list[0].toInt(); 1907 x = list[0].toInt();
1873 y = list[1].toInt(); 1908 y = list[1].toInt();
1874 w = list[2].toInt(); 1909 w = list[2].toInt();
1875 h = list[3].toInt(); 1910 h = list[3].toInt();
1876 topLevelWidget()->setGeometry(x,y,w,h); 1911 topLevelWidget()->setGeometry(x,y,w,h);
1877 1912
1878 } else { 1913 } else {
1879 topLevelWidget()->setGeometry( 40 ,40 , 640, 440); 1914 topLevelWidget()->setGeometry( 40 ,40 , 640, 440);
1880 } 1915 }
1881 list = config->readListEntry("EditEventLayout"); 1916 list = config->readListEntry("EditEventLayout");
1882 if ( ! list.isEmpty() ) { 1917 if ( ! list.isEmpty() ) {
@@ -1907,49 +1942,50 @@ void CalendarView::readSettings()
1907#endif 1942#endif
1908 1943
1909} 1944}
1910 1945
1911 1946
1912void CalendarView::writeSettings() 1947void CalendarView::writeSettings()
1913{ 1948{
1914 // kdDebug() << "CalendarView::writeSettings" << endl; 1949 // kdDebug() << "CalendarView::writeSettings" << endl;
1915 1950
1916 KConfig *config = KOGlobals::config(); 1951 KConfig *config = KOGlobals::config();
1917 1952
1918 mViewManager->writeSettings( config ); 1953 mViewManager->writeSettings( config );
1919 mTodoList->saveLayout(config,QString("Todo Layout")); 1954 mTodoList->saveLayout(config,QString("Todo Layout"));
1920 mDialogManager->writeSettings( config ); 1955 mDialogManager->writeSettings( config );
1921 //KOPrefs::instance()->usrWriteConfig(); 1956 //KOPrefs::instance()->usrWriteConfig();
1922 KOPrefs::instance()->writeConfig(); 1957 KOPrefs::instance()->writeConfig();
1923 1958
1924 writeFilterSettings(config); 1959 writeFilterSettings(config);
1925 1960
1926 config->setGroup( "Views" ); 1961 config->setGroup( "Views" );
1927 config->writeEntry( "ShownDatesCount", mNavigator->selectedDates().count() ); 1962 config->writeEntry( "ShownDatesCount", mNavigator->selectedDates().count() );
1928 1963
1929 QValueList<int> listINT = mLeftFrame->sizes(); 1964 QValueList<int> listINT = mLeftFrame->sizes();
1930 config->writeEntry("Left Splitter Frame",listINT); 1965 config->writeEntry("Left Splitter Frame",listINT);
1931 1966 listINT = mMainFrame->sizes();
1967 config->writeEntry("Main Splitter Frame",listINT);
1932#ifdef DESKTOP_VERSION 1968#ifdef DESKTOP_VERSION
1933 config->setGroup("WidgetLayout"); 1969 config->setGroup("WidgetLayout");
1934 QStringList list ;//= config->readListEntry("MainLayout"); 1970 QStringList list ;//= config->readListEntry("MainLayout");
1935 int x,y,w,h; 1971 int x,y,w,h;
1936 QWidget* wid; 1972 QWidget* wid;
1937 wid = topLevelWidget(); 1973 wid = topLevelWidget();
1938 x = wid->geometry().x(); 1974 x = wid->geometry().x();
1939 y = wid->geometry().y(); 1975 y = wid->geometry().y();
1940 w = wid->width(); 1976 w = wid->width();
1941 h = wid->height(); 1977 h = wid->height();
1942 list.clear(); 1978 list.clear();
1943 list << QString::number( x ); 1979 list << QString::number( x );
1944 list << QString::number( y ); 1980 list << QString::number( y );
1945 list << QString::number( w ); 1981 list << QString::number( w );
1946 list << QString::number( h ); 1982 list << QString::number( h );
1947 config->writeEntry("MainLayout",list ); 1983 config->writeEntry("MainLayout",list );
1948 1984
1949 wid = mEventEditor; 1985 wid = mEventEditor;
1950 x = wid->geometry().x(); 1986 x = wid->geometry().x();
1951 y = wid->geometry().y(); 1987 y = wid->geometry().y();
1952 w = wid->width(); 1988 w = wid->width();
1953 h = wid->height(); 1989 h = wid->height();
1954 list.clear(); 1990 list.clear();
1955 list << QString::number( x ); 1991 list << QString::number( x );