summaryrefslogtreecommitdiffabout
path: root/korganizer
Unidiff
Diffstat (limited to 'korganizer') (more/less context) (ignore whitespace changes)
-rw-r--r--korganizer/koagendaview.cpp27
-rw-r--r--korganizer/navigatorbar.cpp22
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
@@ -420,43 +420,52 @@ KOAgendaView::KOAgendaView(Calendar *cal,QWidget *parent,const char *name) :
420 widebut = (widebut*3) / 2; 420 widebut = (widebut*3) / 2;
421 //mExpandButton->setSizePolicy( QSizePolicy( QSizePolicy::Fixed, 421 //mExpandButton->setSizePolicy( QSizePolicy( QSizePolicy::Fixed,
422 // QSizePolicy::Fixed ) ); 422 // QSizePolicy::Fixed ) );
423 mExpandButton->setFixedSize( widebut, widebut); 423 mExpandButton->setFixedSize( widebut, widebut);
424 connect( mExpandButton, SIGNAL( clicked() ), SIGNAL( toggleExpand() ) ); 424 connect( mExpandButton, SIGNAL( clicked() ), SIGNAL( toggleExpand() ) );
425 mExpandButton->setFocusPolicy(NoFocus); 425 mExpandButton->setFocusPolicy(NoFocus);
426 mAllDayAgenda = new KOAgenda(1,mAllDayFrame); 426 mAllDayAgenda = new KOAgenda(1,mAllDayFrame);
427 mAllDayAgenda->setFocusPolicy(NoFocus); 427 mAllDayAgenda->setFocusPolicy(NoFocus);
428 QVBox *dummyAllDayRight = new QVBox(mAllDayFrame); 428 QVBox *dummyAllDayRight = new QVBox(mAllDayFrame);
429 429
430 QPushButton *dummyAllDayRightB = new QPushButton(dummyAllDayRight); 430 QPushButton *dummyAllDayRightB = new QPushButton(dummyAllDayRight);
431 mDummyAllDayRightL = new QLabel ( dummyAllDayRight ); 431 mDummyAllDayRightL = new QLabel ( dummyAllDayRight );
432 432
433 dummyAllDayRightB->setFlat( true ); 433 dummyAllDayRightB->setFlat( true );
434 dummyAllDayRightB->setFocusPolicy(NoFocus); 434 dummyAllDayRightB->setFocusPolicy(NoFocus);
435 dummyAllDayRightB->setFixedHeight( (dummyAllDayRightB->sizeHint().height()/4)*3 ); 435 dummyAllDayRightB->setFixedHeight( (dummyAllDayRightB->sizeHint().height()/4)*3 );
436
436 QPopupMenu * wpo = new QPopupMenu (this); 437 QPopupMenu * wpo = new QPopupMenu (this);
437 wpo->insertItem( i18n("W#"), 0 ); 438 QPopupMenu * all = new QPopupMenu (this);
439 //wpo->insertItem( i18n("W#"), 0 );
440 int first = 1;
438 int i; 441 int i;
439 for ( i = 1; i < 53; i++ ) 442 for ( i = 1; i < 50; ++i ) {
440 wpo->insertItem( QString::number( i ),i ); 443 if ( !(i%10) ) {
441 //Qt bug - we must add some empty fields... 444 all->insertItem( i18n("Select week %1-%2" ).arg(first).arg( i-1) ,wpo );
442 for ( i = 53; i < 54; ++i ) { 445 connect( wpo, SIGNAL( activated(int) ), SIGNAL( selectWeekNum ( int ) ) );
443 wpo->insertItem( "", 52 ); 446 first = i;
447 wpo = new QPopupMenu (this);
448 }
449 wpo->insertItem( QString::number(i), i );
450 }
451 for ( i = 50; i < 53; ++i ) {
452 wpo->insertItem( QString::number(i), i);
444 } 453 }
445 dummyAllDayRightB->setPopup( wpo ); 454 all->insertItem( i18n("Select week %1-%2" ).arg(first).arg( i-1) ,wpo );
446 455 dummyAllDayRightB->setPopup( all );
447 connect( wpo, SIGNAL( activated(int) ), SIGNAL( selectWeekNum ( int ) ) ); 456 connect( wpo, SIGNAL( activated(int) ), SIGNAL( selectWeekNum ( int ) ) );
448 457
449 // Create event context menu for all day agenda 458 // Create event context menu for all day agenda
450 mAllDayAgendaPopup = eventPopup(); 459 mAllDayAgendaPopup = eventPopup();
451 connect(mAllDayAgenda,SIGNAL(showIncidencePopupSignal(Incidence *)), 460 connect(mAllDayAgenda,SIGNAL(showIncidencePopupSignal(Incidence *)),
452 mAllDayAgendaPopup,SLOT(showIncidencePopup(Incidence *))); 461 mAllDayAgendaPopup,SLOT(showIncidencePopup(Incidence *)));
453 462
454 // Create agenda frame 463 // Create agenda frame
455 QGridLayout *agendaLayout = new QGridLayout(agendaFrame,3,3); 464 QGridLayout *agendaLayout = new QGridLayout(agendaFrame,3,3);
456 // QHBox *agendaFrame = new QHBox(splitterAgenda); 465 // QHBox *agendaFrame = new QHBox(splitterAgenda);
457 466
458 // create event indicator bars 467 // create event indicator bars
459 mEventIndicatorTop = new EventIndicator(EventIndicator::Top,agendaFrame); 468 mEventIndicatorTop = new EventIndicator(EventIndicator::Top,agendaFrame);
460 agendaLayout->addWidget(mEventIndicatorTop,0,1); 469 agendaLayout->addWidget(mEventIndicatorTop,0,1);
461 mEventIndicatorTop->setPaintWidget( mSplitterAgenda ); 470 mEventIndicatorTop->setPaintWidget( mSplitterAgenda );
462 mEventIndicatorBottom = new EventIndicator(EventIndicator::Bottom, 471 mEventIndicatorBottom = new EventIndicator(EventIndicator::Bottom,
@@ -568,33 +577,33 @@ KOAgendaView::KOAgendaView(Calendar *cal,QWidget *parent,const char *name) :
568 SIGNAL( incidenceSelected( Incidence * ) ) ); 577 SIGNAL( incidenceSelected( Incidence * ) ) );
569 connect( mAllDayAgenda, SIGNAL( incidenceSelected( Incidence * ) ), 578 connect( mAllDayAgenda, SIGNAL( incidenceSelected( Incidence * ) ),
570 SIGNAL( incidenceSelected( Incidence * ) ) ); 579 SIGNAL( incidenceSelected( Incidence * ) ) );
571 connect( mAgenda, SIGNAL( resizedSignal() ), 580 connect( mAgenda, SIGNAL( resizedSignal() ),
572 SLOT( updateConfig( ) ) ); 581 SLOT( updateConfig( ) ) );
573 connect( mAgenda, SIGNAL( addToCalSignal(Incidence *, Incidence *) ), 582 connect( mAgenda, SIGNAL( addToCalSignal(Incidence *, Incidence *) ),
574 SLOT( addToCalSlot(Incidence *, Incidence * ) ) ); 583 SLOT( addToCalSlot(Incidence *, Incidence * ) ) );
575 connect( mAllDayAgenda, SIGNAL( addToCalSignal(Incidence * ,Incidence *) ), 584 connect( mAllDayAgenda, SIGNAL( addToCalSignal(Incidence * ,Incidence *) ),
576 SLOT( addToCalSlot(Incidence * , Incidence *) ) ); 585 SLOT( addToCalSlot(Incidence * , Incidence *) ) );
577 // connect( mAgenda, SIGNAL( cloneIncidenceSignal(Incidence *) ), SIGNAL( cloneIncidenceSignal(Incidence *) ) ); 586 // connect( mAgenda, SIGNAL( cloneIncidenceSignal(Incidence *) ), SIGNAL( cloneIncidenceSignal(Incidence *) ) );
578 //connect( mAllDayAgenda, SIGNAL( cloneIncidenceSignal(Incidence *) ), SIGNAL( cloneIncidenceSignal(Incidence *) ) ); 587 //connect( mAllDayAgenda, SIGNAL( cloneIncidenceSignal(Incidence *) ), SIGNAL( cloneIncidenceSignal(Incidence *) ) );
579 588
580 QFont dlf = KOPrefs::instance()->mTimeLabelsFont; 589 QFont dlf = KOPrefs::instance()->mTimeLabelsFont;
581 QFontMetrics fm ( dlf ); 590 QFontMetrics fm ( dlf );
582 QString dayTest = "30"; 591 QString dayTest = "30";
583 int wid = fm.width( dayTest ); 592 int wid = fm.width( dayTest );
584 int maxWid = dummyAllDayRight->width(); 593 int maxWid = dummyAllDayRight->width()-2;
585 int fontPoint = dlf.pointSize(); 594 int fontPoint = dlf.pointSize();
586 while ( wid > maxWid ) { 595 while ( wid > maxWid ) {
587 --fontPoint; 596 --fontPoint;
588 dlf.setPointSize( fontPoint ); 597 dlf.setPointSize( fontPoint );
589 QFontMetrics f( dlf ); 598 QFontMetrics f( dlf );
590 wid = f.width( dayTest ); 599 wid = f.width( dayTest );
591 } 600 }
592 mDummyAllDayRightL->setFont( dlf ); 601 mDummyAllDayRightL->setFont( dlf );
593 mDummyAllDayRightL->setAlignment( AlignHCenter ); 602 mDummyAllDayRightL->setAlignment( AlignHCenter );
594} 603}
595 604
596void KOAgendaView::toggleAllDay() 605void KOAgendaView::toggleAllDay()
597{ 606{
598 if ( mSplitterAgenda->firstHandle() ) 607 if ( mSplitterAgenda->firstHandle() )
599 mSplitterAgenda->firstHandle()->toggle(); 608 mSplitterAgenda->firstHandle()->toggle();
600} 609}
diff --git a/korganizer/navigatorbar.cpp b/korganizer/navigatorbar.cpp
index 2406bb5..24de01f 100644
--- a/korganizer/navigatorbar.cpp
+++ b/korganizer/navigatorbar.cpp
@@ -123,43 +123,51 @@ NavigatorBar::NavigatorBar( const QDate & date, QWidget *parent, const char *nam
123 int width = fm.width("September '00" ); 123 int width = fm.width("September '00" );
124// for( i = 1; i <= KOGlobals::self()->calendarSystem()->monthsInYear(date); 124// for( i = 1; i <= KOGlobals::self()->calendarSystem()->monthsInYear(date);
125// ++i ) { 125// ++i ) {
126// //int width = fm.width( KOGlobals::self()->calendarSystem()->monthName(i, 126// //int width = fm.width( KOGlobals::self()->calendarSystem()->monthName(i,
127// // KOGlobals::self()->calendarSystem()->year(date) ) + " 2000" ); 127// // KOGlobals::self()->calendarSystem()->year(date) ) + " 2000" );
128// int width = fm.width("September 2000" ); 128// int width = fm.width("September 2000" );
129// if ( width > maxwidth ) maxwidth = width; 129// if ( width > maxwidth ) maxwidth = width;
130// } 130// }
131 maxwidth = width+2; 131 maxwidth = width+2;
132 int size = fm.height()+2; 132 int size = fm.height()+2;
133 if ( QApplication::desktop()->width() >= 480 ) { 133 if ( QApplication::desktop()->width() >= 480 ) {
134 size += 6; 134 size += 6;
135 maxwidth+= 6; 135 maxwidth+= 6;
136 } 136 }
137 137
138 if ( insertWeek ) { 138 if ( insertWeek ) {
139 //shit : bug in Qt. after inserting 53 item, only 51 are shown...
140 QPopupMenu * wpo = new QPopupMenu (this); 139 QPopupMenu * wpo = new QPopupMenu (this);
141 wpo->insertItem( i18n("W#"), 0 ); 140 QPopupMenu * all = new QPopupMenu (this);
142 for ( i = 1; i < 53; ++i ) { 141 //wpo->insertItem( i18n("W#"), 0 );
142 int first = 1;
143 for ( i = 1; i < 50; ++i ) {
144 if ( !(i%10) ) {
145 all->insertItem( i18n("Select week %1-%2" ).arg(first).arg( i-1) ,wpo );
146 connect( wpo, SIGNAL( activated(int) ), SIGNAL( selectWeek ( int ) ) );
147 first = i;
148 wpo = new QPopupMenu (this);
149 }
143 wpo->insertItem( QString::number(i), i ); 150 wpo->insertItem( QString::number(i), i );
144 } 151 }
145 for ( i = 53; i < 54; ++i ) { 152 for ( i = 50; i < 53; ++i ) {
146 wpo->insertItem( "", 52 ); 153 wpo->insertItem( QString::number(i), i);
147 } 154 }
148 selWeek->setPopup( wpo ); 155 all->insertItem( i18n("Select week %1-%2" ).arg(first).arg( i-1) ,wpo );
149 selWeek->setFixedWidth( (size/4)*3 ); 156 selWeek->setPopup( all );
157 selWeek->setFixedWidth( (size/5)*4 );
150 selWeek->setFixedHeight( size ); 158 selWeek->setFixedHeight( size );
151 connect( wpo, SIGNAL( activated(int) ), SIGNAL( selectWeek ( int ) ) ); 159 connect( wpo, SIGNAL( activated(int) ), SIGNAL( selectWeek ( int ) ) );
152 } 160 }
153 mSelectMonth->setFixedWidth( maxwidth ); 161 mSelectMonth->setFixedWidth( maxwidth );
154 mSelectMonth->setFixedHeight( size ); 162 mSelectMonth->setFixedHeight( size );
155 mPrevYear->setFixedHeight( size ); 163 mPrevYear->setFixedHeight( size );
156 mPrevMonth->setFixedHeight( size ); 164 mPrevMonth->setFixedHeight( size );
157 mNextMonth->setFixedHeight( size ); 165 mNextMonth->setFixedHeight( size );
158 mNextYear->setFixedHeight ( size ); 166 mNextYear->setFixedHeight ( size );
159 // set up control frame layout 167 // set up control frame layout
160 QBoxLayout *ctrlLayout = new QHBoxLayout( mCtrlFrame, 1 ); 168 QBoxLayout *ctrlLayout = new QHBoxLayout( mCtrlFrame, 1 );
161 ctrlLayout->addWidget( mPrevYear, 3 ); 169 ctrlLayout->addWidget( mPrevYear, 3 );
162 ctrlLayout->addWidget( mPrevMonth, 3 ); 170 ctrlLayout->addWidget( mPrevMonth, 3 );
163 //ctrlLayout->addStretch( 1 ); 171 //ctrlLayout->addStretch( 1 );
164 // ctrlLayout->addSpacing( 1 ); 172 // ctrlLayout->addSpacing( 1 );
165 // ctrlLayout->addWidget( mDateLabel ); 173 // ctrlLayout->addWidget( mDateLabel );