-rw-r--r-- | korganizer/mainwindow.cpp | 62 |
1 files changed, 61 insertions, 1 deletions
diff --git a/korganizer/mainwindow.cpp b/korganizer/mainwindow.cpp index 9e32c18..1c74307 100644 --- a/korganizer/mainwindow.cpp +++ b/korganizer/mainwindow.cpp | |||
@@ -284,7 +284,9 @@ MainWindow::MainWindow( QWidget *parent, const char *name, QString msg) : | |||
284 | #ifndef DESKTOP_VERSION | 284 | #ifndef DESKTOP_VERSION |
285 | infrared = 0; | 285 | infrared = 0; |
286 | #endif | 286 | #endif |
287 | 287 | updateWeek( mView->startDate() ); | |
288 | connect( mView->dateNavigator(), SIGNAL( datesSelected( const KCal::DateList & ) ), | ||
289 | SLOT( updateWeekNum( const KCal::DateList & ) ) ); | ||
288 | mBRdisabled = false; | 290 | mBRdisabled = false; |
289 | //toggleBeamReceive(); | 291 | //toggleBeamReceive(); |
290 | } | 292 | } |
@@ -554,6 +556,30 @@ void MainWindow::initActions() | |||
554 | connect ( selectFilterMenu, SIGNAL( activated ( int ) ), this, SLOT (selectFilter( int ) ) ); | 556 | connect ( selectFilterMenu, SIGNAL( activated ( int ) ), this, SLOT (selectFilter( int ) ) ); |
555 | connect ( selectFilterMenu, SIGNAL( aboutToShow() ), this, SLOT (fillFilterMenu() ) ); | 557 | connect ( selectFilterMenu, SIGNAL( aboutToShow() ), this, SLOT (fillFilterMenu() ) ); |
556 | 558 | ||
559 | menuBarWeek = new QPEMenuBar( iconToolBar ); | ||
560 | QPopupMenu * wpo = new QPopupMenu (this); | ||
561 | QPopupMenu * all = new QPopupMenu (this); | ||
562 | //wpo->insertItem( i18n("W#"), 0 ); | ||
563 | int first = 1; | ||
564 | int i; | ||
565 | for ( i = 1; i < 50; ++i ) { | ||
566 | if ( !(i%10) ) { | ||
567 | all->insertItem( i18n("Select week %1-%2" ).arg(first).arg( i-1) ,wpo ); | ||
568 | connect( wpo, SIGNAL( activated(int) ), SIGNAL( selectWeek ( int ) ) ); | ||
569 | first = i; | ||
570 | wpo = new QPopupMenu (this); | ||
571 | } | ||
572 | wpo->insertItem( QString::number(i), i ); | ||
573 | } | ||
574 | for ( i = 50; i < 53; ++i ) { | ||
575 | wpo->insertItem( QString::number(i), i); | ||
576 | } | ||
577 | all->insertItem( i18n("Select week %1-%2" ).arg(first).arg( i-1) ,wpo ); | ||
578 | connect( wpo, SIGNAL( activated(int) ), SIGNAL( selectWeek ( int ) ) ); | ||
579 | menuBarWeek->insertItem( "00",all,1); | ||
580 | menuBarWeek->setMaximumSize( menuBarWeek->sizeHint( )); | ||
581 | |||
582 | connect( this, SIGNAL( selectWeek ( int ) ), mView->dateNavigator(), SLOT( selectWeek ( int ) ) ); | ||
557 | // ****************** | 583 | // ****************** |
558 | QAction *action; | 584 | QAction *action; |
559 | QIconSet icon; | 585 | QIconSet icon; |
@@ -1316,9 +1342,43 @@ QString MainWindow::syncFileName() | |||
1316 | return QString( "/tmp/synccalendar.ics" ); | 1342 | return QString( "/tmp/synccalendar.ics" ); |
1317 | #endif | 1343 | #endif |
1318 | } | 1344 | } |
1345 | void MainWindow::updateWeek(QDate seda) | ||
1346 | { | ||
1347 | int weekNum = 0; | ||
1348 | QDate d = QDate ( seda.year(), 1,1); | ||
1349 | seda = seda.addDays( 1-seda.dayOfWeek() );//we are on monday | ||
1350 | if ( seda.addDays(6).year() != seda.year() ) { | ||
1351 | if ( seda.year() != d.year() ) { | ||
1352 | if ( d.dayOfWeek() > 4 ) | ||
1353 | d = QDate ( seda.year(), 1,1); | ||
1354 | else | ||
1355 | weekNum = 1; | ||
1356 | } else { | ||
1357 | QDate dd( seda.year()+1, 1,1); | ||
1358 | if ( dd.dayOfWeek() <= 4 ) | ||
1359 | weekNum = 1; | ||
1360 | } | ||
1361 | } | ||
1362 | if ( weekNum == 0 ){ | ||
1363 | int dow = d.dayOfWeek(); | ||
1364 | if ( dow <= 4 ) | ||
1365 | d = d.addDays( 1-dow ); | ||
1366 | else // 5,6,7 | ||
1367 | d = d.addDays( 8-dow ); | ||
1368 | // we have the first week of the year.we are on monday | ||
1369 | weekNum = d.daysTo( seda ) / 7 +1; | ||
1370 | } | ||
1371 | //qDebug("weeknum %s ", QString::number( weekNum).latin1()); | ||
1372 | menuBarWeek-> changeItem(1, QString::number( weekNum) ); | ||
1319 | 1373 | ||
1374 | } | ||
1375 | void MainWindow::updateWeekNum(const DateList &selectedDates) | ||
1376 | { | ||
1377 | updateWeek( selectedDates.first() ); | ||
1378 | } | ||
1320 | void MainWindow::processIncidenceSelection( Incidence *incidence ) | 1379 | void MainWindow::processIncidenceSelection( Incidence *incidence ) |
1321 | { | 1380 | { |
1381 | |||
1322 | if ( !incidence ) { | 1382 | if ( !incidence ) { |
1323 | enableIncidenceActions( false ); | 1383 | enableIncidenceActions( false ); |
1324 | 1384 | ||