summaryrefslogtreecommitdiffabout
Side-by-side diff
Diffstat (more/less context) (show whitespace changes)
-rw-r--r--korganizer/koprefs.cpp7
-rw-r--r--korganizer/koprefs.h7
-rw-r--r--korganizer/mainwindow.cpp200
-rw-r--r--korganizer/mainwindow.h9
4 files changed, 192 insertions, 31 deletions
diff --git a/korganizer/koprefs.cpp b/korganizer/koprefs.cpp
index 7e3deff..2168094 100644
--- a/korganizer/koprefs.cpp
+++ b/korganizer/koprefs.cpp
@@ -91,4 +91,5 @@ KOPrefs::KOPrefs() :
addItemBool("ShowIconJournal",&mShowIconJournal,true);
addItemBool("ShowIconStretch",&mShowIconStretch,true);
+ addItemBool("ShowIconFilter",&mShowIconFilter,false);
addItemInt("LastLoadedLanguage",&mOldLanguage,0);
@@ -102,4 +103,10 @@ KOPrefs::KOPrefs() :
addItemBool("ToolBarHor",&mToolBarHor, true );
addItemBool("ToolBarUp",&mToolBarUp, false );
+ addItemBool("ToolBarHorV",&mToolBarHorV, true );
+ addItemBool("ToolBarUpV",&mToolBarUpV, false );
+ addItemBool("ToolBarHorN",&mToolBarHorN, true );
+ addItemBool("ToolBarUpN",&mToolBarUpN, false );
+ addItemBool("ToolBarHorF",&mToolBarHorF, true );
+ addItemBool("ToolBarUpF",&mToolBarUpF, false );
addItemBool("ToolBarMiniIcons",&mToolBarMiniIcons, false );
addItemInt("Whats Next Days",&mWhatsNextDays,3);
diff --git a/korganizer/koprefs.h b/korganizer/koprefs.h
index 09a0dce..8dfdf69 100644
--- a/korganizer/koprefs.h
+++ b/korganizer/koprefs.h
@@ -186,4 +186,5 @@ class KOPrefs : public KPimPrefs
bool mShowIconNext;
bool mShowIconJournal;
+ bool mShowIconFilter;
bool mShowIconStretch;
@@ -191,4 +192,10 @@ class KOPrefs : public KPimPrefs
bool mToolBarHor;
bool mToolBarUp;
+ bool mToolBarHorV;
+ bool mToolBarUpV;
+ bool mToolBarHorN;
+ bool mToolBarUpN;
+ bool mToolBarHorF;
+ bool mToolBarUpF;
bool mToolBarMiniIcons;
diff --git a/korganizer/mainwindow.cpp b/korganizer/mainwindow.cpp
index ca0d542..c6ae868 100644
--- a/korganizer/mainwindow.cpp
+++ b/korganizer/mainwindow.cpp
@@ -58,4 +58,5 @@
#include "koglobals.h"
#include "kglobal.h"
+#include "ktoolbar.h"
#include "klocale.h"
#include "kconfig.h"
@@ -165,4 +166,66 @@ MainWindow::MainWindow( QWidget *parent, const char *name, QString msg) :
iconToolBar = new QPEToolBar( this );
addToolBar (iconToolBar , tbd );
+
+ if ( KOPrefs::instance()->mShowIconFilter ) {
+ if ( p->mToolBarHorF ) {
+ if ( p->mToolBarUpF )
+ tbd = Bottom;
+ else
+ tbd = Top;
+ }
+ else {
+ if ( p->mToolBarUpF )
+ tbd = Right;
+ else
+ tbd = Left;
+ }
+ filterToolBar = new QPEToolBar ( this );
+ filterMenubar = new QPEMenuBar( filterToolBar );
+ QFontMetrics fm ( filterMenubar->font() );
+
+ filterPopupMenu = new QPopupMenu( this );
+ filterMenubar->insertItem( i18n("No Filter"), filterPopupMenu,0 );
+ filterMenubar->setFixedWidth( fm.width( i18n("No Filter")+"Ax" ) );
+ addToolBar (filterToolBar , tbd );
+ connect ( filterPopupMenu , SIGNAL( activated ( int ) ), this, SLOT (selectFilterPopup( int ) ) );
+ connect ( filterPopupMenu , SIGNAL( aboutToShow() ), this, SLOT (fillFilterMenuPopup() ) );
+ } else {
+ filterToolBar = 0;
+ filterMenubar = 0;
+ filterPopupMenu = 0;
+ }
+
+ if ( p->mToolBarHorV ) {
+ if ( p->mToolBarUpV )
+ tbd = Bottom;
+ else
+ tbd = Top;
+ }
+ else {
+ if ( p->mToolBarUpV )
+ tbd = Right;
+ else
+ tbd = Left;
+ }
+ viewToolBar = new QPEToolBar( this );
+ addToolBar (viewToolBar , tbd );
+ if ( p->mToolBarHorN ) {
+ if ( p->mToolBarUpN )
+ tbd = Bottom;
+ else
+ tbd = Top;
+ }
+ else {
+ if ( p->mToolBarUpN )
+ tbd = Right;
+ else
+ tbd = Left;
+ }
+ navigatorToolBar = new QPEToolBar( this );
+ addToolBar (navigatorToolBar , tbd );
+
+
+
+
mCalendarModifiedFlag = false;
QLabel* splash = new QLabel(i18n("KO/Pi is starting ... "), this );
@@ -632,4 +695,6 @@ void MainWindow::initActions()
configureToolBarMenu->insertItem(i18n("Stretched TB"), 5 );
configureToolBarMenu->insertSeparator();
+ configureToolBarMenu->insertItem(i18n("Filtermenu"), 7 );
+ configureToolBarMenu->insertSeparator();
configureToolBarMenu->insertItem(i18n("Week Number"), 400);
configureToolBarMenu->insertItem(icon, i18n("New Event..."), 10 );
@@ -1000,5 +1065,5 @@ void MainWindow::initActions()
- iconToolBar->setHorizontalStretchable (true );
+
//menuBar->insertItem( iconToolBar );
//xdays_action
@@ -1012,23 +1077,23 @@ void MainWindow::initActions()
QWhatsThis::whatsThisButton ( iconToolBar );
if (p-> mShowIconNext)
- whatsnext_action->addTo( iconToolBar );
+ whatsnext_action->addTo( viewToolBar );
if (p-> mShowIconNextDays)
- xdays_action->addTo( iconToolBar );
+ xdays_action->addTo( viewToolBar );
if (p-> mShowIconJournal)
- viewjournal_action->addTo( iconToolBar );
+ viewjournal_action->addTo( viewToolBar );
if (p-> mShowIconDay1)
- day1_action->addTo( iconToolBar );
+ day1_action->addTo( viewToolBar );
if (p-> mShowIconDay5)
- day5_action->addTo( iconToolBar );
+ day5_action->addTo( viewToolBar );
if (p-> mShowIconDay7)
- day7_action->addTo( iconToolBar );
+ day7_action->addTo( viewToolBar );
if (p-> mShowIconDay6)
- day6_action->addTo( iconToolBar );
+ day6_action->addTo( viewToolBar );
if (p-> mShowIconMonth)
- month_action->addTo( iconToolBar );
+ month_action->addTo( viewToolBar );
if (p-> mShowIconList)
- showlist_action->addTo( iconToolBar );
+ showlist_action->addTo( viewToolBar );
if (p-> mShowIconTodoview)
- todoview_action->addTo( iconToolBar );
+ todoview_action->addTo( viewToolBar );
icon = loadPixmap( pathString + "2leftarrowB" );
@@ -1038,5 +1103,5 @@ void MainWindow::initActions()
connect( action, SIGNAL( activated() ),
mView, SLOT( goPreviousMonth() ) );
- action->addTo( iconToolBar );
+ action->addTo( navigatorToolBar );
}
icon = loadPixmap( pathString + "1leftarrowB" );
@@ -1046,10 +1111,10 @@ void MainWindow::initActions()
connect( action, SIGNAL( activated() ),
mView, SLOT( goPrevious() ) );
- action->addTo( iconToolBar );
+ action->addTo( navigatorToolBar );
}
icon = loadPixmap( pathString + "today" );
configureToolBarMenu->insertItem(icon, i18n("Go to Today"), 130);
if (p-> mShowIconToday)
- today_action->addTo( iconToolBar );
+ today_action->addTo( navigatorToolBar );
icon = loadPixmap( pathString + "1rightarrowB" );
configureToolBarMenu->insertItem(icon, i18n("Go forward"), 220);
@@ -1058,5 +1123,5 @@ void MainWindow::initActions()
connect( action, SIGNAL( activated() ),
mView, SLOT( goNext() ) );
- action->addTo( iconToolBar );
+ action->addTo( navigatorToolBar );
}
icon = loadPixmap( pathString + "2rightarrowB" );
@@ -1066,5 +1131,5 @@ void MainWindow::initActions()
connect( action, SIGNAL( activated() ),
mView, SLOT( goNextMonth() ) );
- action->addTo( iconToolBar );
+ action->addTo( navigatorToolBar );
}
@@ -1112,10 +1177,25 @@ void MainWindow::initActions()
if (p-> mShowIconWeekNum)
configureToolBarMenu->setItemChecked( 400, true );
+ if (!p-> mShowIconStretch) {
QLabel* dummy = new QLabel( iconToolBar );
dummy->setBackgroundColor( iconToolBar->backgroundColor() );
- if (!p-> mShowIconStretch)
+ dummy->setMinimumWidth( 0 );
iconToolBar->setStretchableWidget ( dummy ) ;
- else
+ }
+ else {
+ iconToolBar->setHorizontalStretchable (true );
+ viewToolBar->setHorizontalStretchable (true );
+ navigatorToolBar->setHorizontalStretchable (true );
+ iconToolBar->setVerticalStretchable (true );
+ viewToolBar->setVerticalStretchable (true );
+ navigatorToolBar->setVerticalStretchable (true );
configureToolBarMenu->setItemChecked( 5, true );
+ }
+ if (p-> mShowIconFilter)
+ configureToolBarMenu->setItemChecked( 7, true );
+
+
+ if ( filterMenubar )
+ connect( mView->filterView(), SIGNAL( filterChanged() ), SLOT( updateFilterToolbar() ) );
connect( configureToolBarMenu, SIGNAL( activated( int ) ),this, SLOT(configureToolBar( int ) ) );
configureAgenda( p->mHourSize );
@@ -1562,6 +1642,25 @@ void MainWindow::saveOnClose()
KOPrefs *p = KOPrefs::instance();
p->mToolBarHor = ( iconToolBar->orientation () == Qt:: Horizontal );
- p->mToolBarUp = iconToolBar->x() > width()/2 ||
- iconToolBar->y() > height()/2;
+ if ( p->mToolBarHor )
+ p->mToolBarUp = iconToolBar->y() > height()/2;
+ else
+ p->mToolBarUp = iconToolBar->x() > width()/2;
+ p->mToolBarHorV = ( viewToolBar->orientation () == Qt:: Horizontal );
+ if ( p->mToolBarHorV )
+ p->mToolBarUpV = viewToolBar->y() > height()/2;
+ else
+ p->mToolBarUpV = viewToolBar->x() > width()/2 ;
+ p->mToolBarHorN = ( navigatorToolBar->orientation () == Qt:: Horizontal );
+ if ( p->mToolBarHorN )
+ p->mToolBarUpN = navigatorToolBar->y() > height()/2;
+ else
+ p->mToolBarUpN = navigatorToolBar->x() > width()/2 ;
+ if ( filterToolBar ) {
+ p->mToolBarHorF = ( filterToolBar->orientation () == Qt:: Horizontal );
+ if ( p->mToolBarHorF )
+ p->mToolBarUpF = filterToolBar->y() > height()/2;
+ else
+ p->mToolBarUpF = filterToolBar->x() > width()/2 ;
+ }
mView->writeSettings();
if ( mCalendarModifiedFlag || mView->checkFileChanged( defaultFileName()))
@@ -1806,14 +1905,8 @@ void MainWindow::fillFilterMenu()
{
selectFilterMenu->clear();
- bool disable = false;
selectFilterMenu->insertItem(i18n ( "Edit Filters" ), 0 );
selectFilterMenu->insertSeparator();
- if ( mView->filterView()->filtersEnabled() ) {
- selectFilterMenu->insertItem(i18n ( "Turn filter off" ), 1 );
- }
- else {
- selectFilterMenu->insertItem(i18n ( "Turn filter on" ), 1 );
- disable = true;
- }
+ selectFilterMenu->insertItem(i18n ( "No Filter" ), 1 );
+
selectFilterMenu->insertSeparator();
QPtrList<CalFilter> fili = mView->filters();
@@ -1821,24 +1914,68 @@ void MainWindow::fillFilterMenu()
CalFilter *filter = fili.first();
int iii = 2;
+ bool checkitem = mView->filterView()->filtersEnabled();
while(filter) {
selectFilterMenu->insertItem( filter->name(), iii );
if ( filter == curfilter)
- selectFilterMenu->setItemChecked( iii, true );
- if ( disable )
- selectFilterMenu->setItemEnabled( iii, false );
+ selectFilterMenu->setItemChecked( iii, checkitem );
filter = fili.next();
++iii;
}
+ if ( !checkitem )
+ selectFilterMenu->setItemChecked( 1, true );
+}
+void MainWindow::fillFilterMenuPopup()
+{
+ filterPopupMenu->clear();
+ filterPopupMenu->insertItem(i18n ( "No Filter" ), 0 );
+
+ filterPopupMenu->insertSeparator();
+ QPtrList<CalFilter> fili = mView->filters();
+ CalFilter *curfilter = mView->filterView()->selectedFilter();
+ CalFilter *filter = fili.first();
+ int iii = 1;
+ bool checkitem = mView->filterView()->filtersEnabled();
+ while(filter) {
+ filterPopupMenu->insertItem( filter->name(), iii );
+ if ( filter == curfilter)
+ filterPopupMenu->setItemChecked( iii, checkitem );
+ filter = fili.next();
+ ++iii;
+ }
+ if ( !checkitem )
+ filterPopupMenu->setItemChecked( 0, true );
}
void MainWindow::selectFilter( int fil )
{
+
if ( fil == 0 ) {
mView->editFilters( );
} else if ( fil == 1 ){
+ if ( mView->filterView()->filtersEnabled() )
mView->toggleFilerEnabled( );
} else {
+ if ( !mView->filterView()->filtersEnabled() )
+ mView->toggleFilerEnabled( );
mView->selectFilter( fil-2 );
}
}
+void MainWindow::updateFilterToolbar()
+{
+ if ( filterMenubar ) {
+ if ( !mView->filterView()->filtersEnabled() ) {
+ filterMenubar->changeItem( 0, i18n("No Filter") );
+ } else {
+ CalFilter *curfilter = mView->filterView()->selectedFilter();
+ if ( curfilter ) {
+ filterMenubar->changeItem( 0, curfilter->name() );
+ }
+ }
+ }
+}
+void MainWindow::selectFilterPopup( int fil )
+{
+ selectFilter( fil + 1 );
+
+}
void MainWindow::configureToolBar( int item )
{
@@ -1847,4 +1984,5 @@ void MainWindow::configureToolBar( int item )
KOPrefs *p = KOPrefs::instance();
p-> mShowIconStretch= configureToolBarMenu->isItemChecked( 5 );
+ p-> mShowIconFilter = configureToolBarMenu->isItemChecked( 7 );
p-> mShowIconNewEvent= configureToolBarMenu->isItemChecked( 10 );
p->mShowIconNewTodo = configureToolBarMenu->isItemChecked( 20 );
diff --git a/korganizer/mainwindow.h b/korganizer/mainwindow.h
index b3041dc..79fb305 100644
--- a/korganizer/mainwindow.h
+++ b/korganizer/mainwindow.h
@@ -25,4 +25,5 @@ class KSyncProfile;
#endif
class QPEToolBar;
+class QPEMenuBar;
@@ -54,4 +55,5 @@ class MainWindow : public QMainWindow
void updateWeekNum(const KCal::DateList &);
void updateWeek(QDate);
+ void updateFilterToolbar();
virtual void showMaximized ();
void configureAgenda( int );
@@ -94,4 +96,6 @@ class MainWindow : public QMainWindow
void fillFilterMenu();
void selectFilter( int );
+ void fillFilterMenuPopup();
+ void selectFilterPopup( int );
void exportToPhone( int );
void toggleBeamReceive();
@@ -122,4 +126,9 @@ class MainWindow : public QMainWindow
bool mBlockAtStartup;
QPEToolBar *iconToolBar;
+ QPEToolBar *viewToolBar;
+ QPEToolBar *navigatorToolBar;
+ QPEToolBar *filterToolBar;
+ QPEMenuBar *filterMenubar;
+ QPopupMenu * filterPopupMenu;
void initActions();
void setDefaultPreferences();