summaryrefslogtreecommitdiffabout
Unidiff
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--korganizer/calendarview.cpp9
-rw-r--r--korganizer/calendarview.h3
-rw-r--r--korganizer/mainwindow.cpp47
-rw-r--r--korganizer/mainwindow.h3
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
3161QPtrList<CalFilter> CalendarView::filters()
3162{
3163 return mFilters;
3164
3165}
3161void CalendarView::editFilters() 3166void 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
3183KOFilterView *CalendarView::filterView()
3184{
3185 return mFilterView;
3186}
3178void CalendarView::selectFilter( int fil ) 3187void 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
1525void 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}
1552void 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}
1518void MainWindow::configureToolBar( int item ) 1561void 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;