-rw-r--r-- | korganizer/calendarview.cpp | 9 | ||||
-rw-r--r-- | korganizer/calendarview.h | 3 | ||||
-rw-r--r-- | korganizer/mainwindow.cpp | 47 | ||||
-rw-r--r-- | korganizer/mainwindow.h | 3 |
4 files changed, 59 insertions, 3 deletions
diff --git a/korganizer/calendarview.cpp b/korganizer/calendarview.cpp index 53c079c..fab4540 100644 --- a/korganizer/calendarview.cpp +++ b/korganizer/calendarview.cpp | |||
@@ -3158,6 +3158,11 @@ void CalendarView::showDates(const DateList &selectedDates) | |||
3158 | 3158 | ||
3159 | } | 3159 | } |
3160 | 3160 | ||
3161 | QPtrList<CalFilter> CalendarView::filters() | ||
3162 | { | ||
3163 | return mFilters; | ||
3164 | |||
3165 | } | ||
3161 | void CalendarView::editFilters() | 3166 | void CalendarView::editFilters() |
3162 | { | 3167 | { |
3163 | // kdDebug() << "CalendarView::editFilters()" << endl; | 3168 | // kdDebug() << "CalendarView::editFilters()" << endl; |
@@ -3175,6 +3180,10 @@ void CalendarView::toggleFilter() | |||
3175 | showFilter(! mFilterView->isVisible()); | 3180 | showFilter(! mFilterView->isVisible()); |
3176 | } | 3181 | } |
3177 | 3182 | ||
3183 | KOFilterView *CalendarView::filterView() | ||
3184 | { | ||
3185 | return mFilterView; | ||
3186 | } | ||
3178 | void CalendarView::selectFilter( int fil ) | 3187 | void CalendarView::selectFilter( int fil ) |
3179 | { | 3188 | { |
3180 | mFilterView->setSelectedFilter( fil ); | 3189 | mFilterView->setSelectedFilter( fil ); |
diff --git a/korganizer/calendarview.h b/korganizer/calendarview.h index f7a1213..d564473 100644 --- a/korganizer/calendarview.h +++ b/korganizer/calendarview.h | |||
@@ -377,12 +377,13 @@ class CalendarView : public KOrg::CalendarViewBase, public KCal::Calendar::Obser | |||
377 | 377 | ||
378 | void editFilters(); | 378 | void editFilters(); |
379 | void toggleFilerEnabled(); | 379 | void toggleFilerEnabled(); |
380 | 380 | QPtrList<CalFilter> filters(); | |
381 | void toggleFilter(); | 381 | void toggleFilter(); |
382 | void showFilter(bool visible); | 382 | void showFilter(bool visible); |
383 | void updateFilter(); | 383 | void updateFilter(); |
384 | void filterEdited(); | 384 | void filterEdited(); |
385 | void selectFilter( int ); | 385 | void selectFilter( int ); |
386 | KOFilterView *filterView(); | ||
386 | 387 | ||
387 | void showIntro(); | 388 | void showIntro(); |
388 | 389 | ||
diff --git a/korganizer/mainwindow.cpp b/korganizer/mainwindow.cpp index 57b299f..a93d8e5 100644 --- a/korganizer/mainwindow.cpp +++ b/korganizer/mainwindow.cpp | |||
@@ -42,6 +42,7 @@ | |||
42 | #include "kodialogmanager.h" | 42 | #include "kodialogmanager.h" |
43 | #include "kdialogbase.h" | 43 | #include "kdialogbase.h" |
44 | #include "kapplication.h" | 44 | #include "kapplication.h" |
45 | #include "kofilterview.h" | ||
45 | #include "kstandarddirs.h" | 46 | #include "kstandarddirs.h" |
46 | #include "koprefs.h" | 47 | #include "koprefs.h" |
47 | #include "kfiledialog.h" | 48 | #include "kfiledialog.h" |
@@ -349,7 +350,8 @@ void MainWindow::initActions() | |||
349 | QPopupMenu *viewMenu = new QPopupMenu( this ); | 350 | QPopupMenu *viewMenu = new QPopupMenu( this ); |
350 | QPopupMenu *actionMenu = new QPopupMenu( this ); | 351 | QPopupMenu *actionMenu = new QPopupMenu( this ); |
351 | QPopupMenu *importMenu = new QPopupMenu( this ); | 352 | QPopupMenu *importMenu = new QPopupMenu( this ); |
352 | 353 | selectFilterMenu = new QPopupMenu( this ); | |
354 | selectFilterMenu->setCheckable( true ); | ||
353 | syncMenu = new QPopupMenu( this ); | 355 | syncMenu = new QPopupMenu( this ); |
354 | configureAgendaMenu = new QPopupMenu( this ); | 356 | configureAgendaMenu = new QPopupMenu( this ); |
355 | configureToolBarMenu = new QPopupMenu( this ); | 357 | configureToolBarMenu = new QPopupMenu( this ); |
@@ -363,6 +365,7 @@ void MainWindow::initActions() | |||
363 | menuBar1->insertItem( i18n("Synchronize"), syncMenu ); | 365 | menuBar1->insertItem( i18n("Synchronize"), syncMenu ); |
364 | menuBar1->insertItem( i18n("AgendaSize"),configureAgendaMenu ); | 366 | menuBar1->insertItem( i18n("AgendaSize"),configureAgendaMenu ); |
365 | //menuBar1->insertItem( i18n("Toolbar"),configureToolBarMenu ); | 367 | //menuBar1->insertItem( i18n("Toolbar"),configureToolBarMenu ); |
368 | menuBar1->insertItem( i18n("Filter"),selectFilterMenu ); | ||
366 | menuBar1->insertItem( i18n("Help"), helpMenu ); | 369 | menuBar1->insertItem( i18n("Help"), helpMenu ); |
367 | } else { | 370 | } else { |
368 | QPEMenuBar *menuBar1; | 371 | QPEMenuBar *menuBar1; |
@@ -374,12 +377,16 @@ void MainWindow::initActions() | |||
374 | menuBar->insertItem( i18n("Actions"), actionMenu ); | 377 | menuBar->insertItem( i18n("Actions"), actionMenu ); |
375 | menuBar->insertItem( i18n("Synchronize"), syncMenu ); | 378 | menuBar->insertItem( i18n("Synchronize"), syncMenu ); |
376 | menuBar->insertItem( i18n("AgendaSize"),configureAgendaMenu ); | 379 | menuBar->insertItem( i18n("AgendaSize"),configureAgendaMenu ); |
377 | menuBar->insertItem( i18n("Toolbar"),configureToolBarMenu ); | 380 | menuBar->insertItem( i18n("Toolbar"),configureToolBarMenu ); |
381 | menuBar->insertItem( i18n("Filter"),selectFilterMenu ); | ||
378 | menuBar->insertItem( i18n("Help"), helpMenu ); | 382 | menuBar->insertItem( i18n("Help"), helpMenu ); |
379 | //menuBar1->setMaximumWidth( menuBar1->sizeHint().width() ); | 383 | //menuBar1->setMaximumWidth( menuBar1->sizeHint().width() ); |
380 | menuBar1->setMaximumSize( menuBar1->sizeHint( )); | 384 | menuBar1->setMaximumSize( menuBar1->sizeHint( )); |
381 | } | 385 | } |
382 | connect ( syncMenu, SIGNAL( activated ( int ) ), this, SLOT (slotSyncMenu( int ) ) ); | 386 | connect ( syncMenu, SIGNAL( activated ( int ) ), this, SLOT (slotSyncMenu( int ) ) ); |
387 | connect ( selectFilterMenu, SIGNAL( activated ( int ) ), this, SLOT (selectFilter( int ) ) ); | ||
388 | connect ( selectFilterMenu, SIGNAL( aboutToShow () ), this, SLOT (fillFilterMenu() ) ); | ||
389 | |||
383 | // ****************** | 390 | // ****************** |
384 | QAction *action; | 391 | QAction *action; |
385 | QIconSet icon; | 392 | QIconSet icon; |
@@ -1515,6 +1522,42 @@ void MainWindow::keyPressEvent ( QKeyEvent * e ) | |||
1515 | 1522 | ||
1516 | } | 1523 | } |
1517 | 1524 | ||
1525 | void MainWindow::fillFilterMenu() | ||
1526 | { | ||
1527 | selectFilterMenu->clear(); | ||
1528 | bool disable = false; | ||
1529 | if ( mView->filterView()->filtersEnabled() ) { | ||
1530 | selectFilterMenu->insertItem(i18n ( "Turn filter off" ), 0 ); | ||
1531 | } | ||
1532 | else { | ||
1533 | selectFilterMenu->insertItem(i18n ( "Turn filter on" ), 0 ); | ||
1534 | disable = true; | ||
1535 | } | ||
1536 | selectFilterMenu->insertSeparator(); | ||
1537 | QPtrList<CalFilter> fili = mView->filters(); | ||
1538 | CalFilter *curfilter = mView->filterView()->selectedFilter(); | ||
1539 | CalFilter *filter = fili.first(); | ||
1540 | int iii = 1; | ||
1541 | while(filter) { | ||
1542 | selectFilterMenu->insertItem( filter->name(), iii ); | ||
1543 | if ( filter == curfilter) | ||
1544 | selectFilterMenu->setItemChecked( iii, true ); | ||
1545 | if ( disable ) | ||
1546 | selectFilterMenu->setItemEnabled( iii, false ); | ||
1547 | filter = fili.next(); | ||
1548 | ++iii; | ||
1549 | } | ||
1550 | qDebug("rettich "); | ||
1551 | } | ||
1552 | void MainWindow::selectFilter( int fil ) | ||
1553 | { | ||
1554 | qDebug("selectFilter %d ", fil); | ||
1555 | if ( fil == 0 ) { | ||
1556 | mView->toggleFilerEnabled( ); | ||
1557 | } else { | ||
1558 | mView->selectFilter( fil-1 ); | ||
1559 | } | ||
1560 | } | ||
1518 | void MainWindow::configureToolBar( int item ) | 1561 | void MainWindow::configureToolBar( int item ) |
1519 | { | 1562 | { |
1520 | 1563 | ||
diff --git a/korganizer/mainwindow.h b/korganizer/mainwindow.h index 8a3f7b3..fba8c52 100644 --- a/korganizer/mainwindow.h +++ b/korganizer/mainwindow.h | |||
@@ -68,6 +68,8 @@ class MainWindow : public QMainWindow | |||
68 | void saveCalendar(); | 68 | void saveCalendar(); |
69 | void loadCalendar(); | 69 | void loadCalendar(); |
70 | void exportVCalendar(); | 70 | void exportVCalendar(); |
71 | void fillFilterMenu(); | ||
72 | void selectFilter( int ); | ||
71 | 73 | ||
72 | void slotSyncMenu( int ); | 74 | void slotSyncMenu( int ); |
73 | void syncSSH(); | 75 | void syncSSH(); |
@@ -97,6 +99,7 @@ class MainWindow : public QMainWindow | |||
97 | void keyPressEvent ( QKeyEvent * ) ; | 99 | void keyPressEvent ( QKeyEvent * ) ; |
98 | void keyReleaseEvent ( QKeyEvent * ) ; | 100 | void keyReleaseEvent ( QKeyEvent * ) ; |
99 | QPopupMenu *configureToolBarMenu; | 101 | QPopupMenu *configureToolBarMenu; |
102 | QPopupMenu *selectFilterMenu; | ||
100 | QPopupMenu *configureAgendaMenu, *syncMenu; | 103 | QPopupMenu *configureAgendaMenu, *syncMenu; |
101 | CalendarLocal *mCalendar; | 104 | CalendarLocal *mCalendar; |
102 | CalendarView *mView; | 105 | CalendarView *mView; |