-rw-r--r-- | korganizer/koagendaview.cpp | 27 | ||||
-rw-r--r-- | korganizer/navigatorbar.cpp | 22 |
2 files changed, 33 insertions, 16 deletions
diff --git a/korganizer/koagendaview.cpp b/korganizer/koagendaview.cpp index 918931a..1908b1c 100644 --- a/korganizer/koagendaview.cpp +++ b/korganizer/koagendaview.cpp @@ -432,19 +432,28 @@ KOAgendaView::KOAgendaView(Calendar *cal,QWidget *parent,const char *name) : dummyAllDayRightB->setFlat( true ); dummyAllDayRightB->setFocusPolicy(NoFocus); dummyAllDayRightB->setFixedHeight( (dummyAllDayRightB->sizeHint().height()/4)*3 ); + QPopupMenu * wpo = new QPopupMenu (this); - wpo->insertItem( i18n("W#"), 0 ); + QPopupMenu * all = new QPopupMenu (this); + //wpo->insertItem( i18n("W#"), 0 ); + int first = 1; int i; - for ( i = 1; i < 53; i++ ) - wpo->insertItem( QString::number( i ),i ); - //Qt bug - we must add some empty fields... - for ( i = 53; i < 54; ++i ) { - wpo->insertItem( "", 52 ); + for ( i = 1; i < 50; ++i ) { + if ( !(i%10) ) { + all->insertItem( i18n("Select week %1-%2" ).arg(first).arg( i-1) ,wpo ); + connect( wpo, SIGNAL( activated(int) ), SIGNAL( selectWeekNum ( int ) ) ); + first = i; + wpo = new QPopupMenu (this); + } + wpo->insertItem( QString::number(i), i ); + } + for ( i = 50; i < 53; ++i ) { + wpo->insertItem( QString::number(i), i); } - dummyAllDayRightB->setPopup( wpo ); - + all->insertItem( i18n("Select week %1-%2" ).arg(first).arg( i-1) ,wpo ); + dummyAllDayRightB->setPopup( all ); connect( wpo, SIGNAL( activated(int) ), SIGNAL( selectWeekNum ( int ) ) ); // Create event context menu for all day agenda mAllDayAgendaPopup = eventPopup(); @@ -580,9 +589,9 @@ KOAgendaView::KOAgendaView(Calendar *cal,QWidget *parent,const char *name) : QFont dlf = KOPrefs::instance()->mTimeLabelsFont; QFontMetrics fm ( dlf ); QString dayTest = "30"; int wid = fm.width( dayTest ); - int maxWid = dummyAllDayRight->width(); + int maxWid = dummyAllDayRight->width()-2; int fontPoint = dlf.pointSize(); while ( wid > maxWid ) { --fontPoint; dlf.setPointSize( fontPoint ); diff --git a/korganizer/navigatorbar.cpp b/korganizer/navigatorbar.cpp index 2406bb5..24de01f 100644 --- a/korganizer/navigatorbar.cpp +++ b/korganizer/navigatorbar.cpp @@ -135,19 +135,27 @@ NavigatorBar::NavigatorBar( const QDate & date, QWidget *parent, const char *nam 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 ) { + QPopupMenu * all = new QPopupMenu (this); + //wpo->insertItem( i18n("W#"), 0 ); + int first = 1; + for ( i = 1; i < 50; ++i ) { + if ( !(i%10) ) { + all->insertItem( i18n("Select week %1-%2" ).arg(first).arg( i-1) ,wpo ); + connect( wpo, SIGNAL( activated(int) ), SIGNAL( selectWeek ( int ) ) ); + first = i; + wpo = new QPopupMenu (this); + } wpo->insertItem( QString::number(i), i ); } - for ( i = 53; i < 54; ++i ) { - wpo->insertItem( "", 52 ); + for ( i = 50; i < 53; ++i ) { + wpo->insertItem( QString::number(i), i); } - selWeek->setPopup( wpo ); - selWeek->setFixedWidth( (size/4)*3 ); + all->insertItem( i18n("Select week %1-%2" ).arg(first).arg( i-1) ,wpo ); + selWeek->setPopup( all ); + selWeek->setFixedWidth( (size/5)*4 ); selWeek->setFixedHeight( size ); connect( wpo, SIGNAL( activated(int) ), SIGNAL( selectWeek ( int ) ) ); } mSelectMonth->setFixedWidth( maxwidth ); |