author | zautrix <zautrix> | 2005-02-02 15:21:26 (UTC) |
---|---|---|
committer | zautrix <zautrix> | 2005-02-02 15:21:26 (UTC) |
commit | f94c5075fdd356c7a73b23150287034216ef0bdf (patch) (side-by-side diff) | |
tree | de0cc9b2b2caf41f4c1d3a7a81de8579030abab3 /korganizer/navigatorbar.cpp | |
parent | 66c1429e6d29331dac4182d2c42aaf1630916c7d (diff) | |
download | kdepimpi-f94c5075fdd356c7a73b23150287034216ef0bdf.zip kdepimpi-f94c5075fdd356c7a73b23150287034216ef0bdf.tar.gz kdepimpi-f94c5075fdd356c7a73b23150287034216ef0bdf.tar.bz2 |
fihix
-rw-r--r-- | korganizer/navigatorbar.cpp | 34 |
1 files changed, 32 insertions, 2 deletions
diff --git a/korganizer/navigatorbar.cpp b/korganizer/navigatorbar.cpp index f339c67..2406bb5 100644 --- a/korganizer/navigatorbar.cpp +++ b/korganizer/navigatorbar.cpp @@ -28,6 +28,7 @@ #include <qlayout.h> #include <qframe.h> #include <qlabel.h> +#include <qpopupmenu.h> #include <qapplication.h> #include <kdebug.h> @@ -71,7 +72,8 @@ NavigatorBar::NavigatorBar( const QDate & date, QWidget *parent, const char *nam #else bool isDesktop = true; #endif - if ( QString ( name ) == QString("useBigPixmaps") && QApplication::desktop()->width() > 320 ) + bool insertWeek = (QString ( name ) == QString("useBigPixmaps")) ; + if ( insertWeek && QApplication::desktop()->width() > 320 ) isDesktop = true; // Create backward navigation buttons mPrevYear = new QPushButton( mCtrlFrame ); @@ -87,6 +89,13 @@ NavigatorBar::NavigatorBar( const QDate & date, QWidget *parent, const char *nam mNextMonth->setPixmap( SmallIcon( isDesktop ? "1rightarrowB" : "1rightarrow") ); QToolTip::add( mNextMonth, i18n("Next Month") ); + QPushButton * selWeek = 0; + if ( insertWeek ) { + selWeek = new QPushButton( mCtrlFrame ); + QToolTip::add( selWeek, i18n("Select Week") ); + selWeek->setFocusPolicy(NoFocus); + } + mNextYear = new QPushButton( mCtrlFrame ); mNextYear->setPixmap( SmallIcon( isDesktop ? "2rightarrowB": "2rightarrow") ); QToolTip::add( mNextYear, i18n("Next Year") ); @@ -102,7 +111,9 @@ NavigatorBar::NavigatorBar( const QDate & date, QWidget *parent, const char *nam mNextYear->setFlat( true); mSelectMonth->setFlat( true); mPrevYear->setFlat( true); - mPrevMonth->setFlat( true); + mPrevMonth->setFlat( true); + if ( insertWeek ) + selWeek->setFlat( true); } mSelectMonth->setFont( tfont ); // Set minimum width to width of widest month name label @@ -123,6 +134,22 @@ NavigatorBar::NavigatorBar( const QDate & date, QWidget *parent, const char *nam size += 6; maxwidth+= 6; } + + if ( insertWeek ) { + //shit : bug in Qt. after inserting 53 item, only 51 are shown... + QPopupMenu * wpo = new QPopupMenu (this); + wpo->insertItem( i18n("W#"), 0 ); + for ( i = 1; i < 53; ++i ) { + wpo->insertItem( QString::number(i), i ); + } + for ( i = 53; i < 54; ++i ) { + wpo->insertItem( "", 52 ); + } + selWeek->setPopup( wpo ); + selWeek->setFixedWidth( (size/4)*3 ); + selWeek->setFixedHeight( size ); + connect( wpo, SIGNAL( activated(int) ), SIGNAL( selectWeek ( int ) ) ); + } mSelectMonth->setFixedWidth( maxwidth ); mSelectMonth->setFixedHeight( size ); mPrevYear->setFixedHeight( size ); @@ -141,6 +168,8 @@ NavigatorBar::NavigatorBar( const QDate & date, QWidget *parent, const char *nam // ctrlLayout->addStretch( 1 ); ctrlLayout->addWidget( mNextMonth, 3 ); ctrlLayout->addWidget( mNextYear, 3 ); + if ( insertWeek ) + ctrlLayout->addWidget( selWeek ); connect( mPrevYear, SIGNAL( clicked() ), SIGNAL( goPrevYear() ) ); connect( mPrevMonth, SIGNAL( clicked() ), SIGNAL( goPrevMonth() ) ); @@ -152,6 +181,7 @@ NavigatorBar::NavigatorBar( const QDate & date, QWidget *parent, const char *nam mNextMonth->setFocusPolicy(NoFocus); mNextYear->setFocusPolicy(NoFocus); mSelectMonth->setFocusPolicy(NoFocus); + } NavigatorBar::~NavigatorBar() |