summaryrefslogtreecommitdiffabout
path: root/korganizer
authorzautrix <zautrix>2005-03-26 13:36:19 (UTC)
committer zautrix <zautrix>2005-03-26 13:36:19 (UTC)
commit98444f8937b151a3deb71b7ae0da495872c52855 (patch) (unidiff)
tree26856e27b5d9aca9d428142cbbd15fef030957a7 /korganizer
parent93d1be2c6eead07300e7f90f3b417fcef0f109d3 (diff)
downloadkdepimpi-98444f8937b151a3deb71b7ae0da495872c52855.zip
kdepimpi-98444f8937b151a3deb71b7ae0da495872c52855.tar.gz
kdepimpi-98444f8937b151a3deb71b7ae0da495872c52855.tar.bz2
icons added
Diffstat (limited to 'korganizer') (more/less context) (ignore whitespace changes)
-rw-r--r--korganizer/koagendaview.cpp28
-rw-r--r--korganizer/koagendaview.h3
-rw-r--r--korganizer/koviewmanager.cpp4
-rw-r--r--korganizer/navigatorbar.cpp8
4 files changed, 14 insertions, 29 deletions
diff --git a/korganizer/koagendaview.cpp b/korganizer/koagendaview.cpp
index 8001c8f..acf43bd 100644
--- a/korganizer/koagendaview.cpp
+++ b/korganizer/koagendaview.cpp
@@ -306,160 +306,159 @@ void EventIndicator::drawContents(QPainter *p)
306 han->repaint(); 306 han->repaint();
307 //mPaintWidget->setBackgroundColor( red ); 307 //mPaintWidget->setBackgroundColor( red );
308 308
309 QPainter pa( han ); 309 QPainter pa( han );
310 int i; 310 int i;
311 bool setColor = false; 311 bool setColor = false;
312 for(i=0;i<mColumns;++i) { 312 for(i=0;i<mColumns;++i) {
313 if (mEnabled[i]) { 313 if (mEnabled[i]) {
314 setColor = true; 314 setColor = true;
315 315
316 int cellWidth = contentsRect().right()/mColumns; 316 int cellWidth = contentsRect().right()/mColumns;
317 int xOffset = KOGlobals::self()->reverseLayout() ? 317 int xOffset = KOGlobals::self()->reverseLayout() ?
318 (mColumns - 1 - i)*cellWidth + cellWidth/2 -mPixmap.width()/2 : 318 (mColumns - 1 - i)*cellWidth + cellWidth/2 -mPixmap.width()/2 :
319 i*cellWidth + cellWidth/2 -mPixmap.width()/2; 319 i*cellWidth + cellWidth/2 -mPixmap.width()/2;
320 pa.drawPixmap(QPoint(mXOffset + xOffset,0),mPixmap); 320 pa.drawPixmap(QPoint(mXOffset + xOffset,0),mPixmap);
321 //qDebug("222draw pix %d ",xOffset ); 321 //qDebug("222draw pix %d ",xOffset );
322 322
323 } 323 }
324 324
325 } 325 }
326 pa.end(); 326 pa.end();
327 327
328 } 328 }
329} 329}
330 330
331void EventIndicator::setXOffset( int x ) 331void EventIndicator::setXOffset( int x )
332{ 332{
333 mXOffset = x; 333 mXOffset = x;
334} 334}
335void EventIndicator::setPaintWidget( KDGanttMinimizeSplitter * w ) 335void EventIndicator::setPaintWidget( KDGanttMinimizeSplitter * w )
336{ 336{
337 mPaintWidget = w; 337 mPaintWidget = w;
338 setMaximumHeight(0); 338 setMaximumHeight(0);
339 setMinimumHeight(0); 339 setMinimumHeight(0);
340} 340}
341void EventIndicator::changeColumns(int columns) 341void EventIndicator::changeColumns(int columns)
342{ 342{
343 mColumns = columns; 343 mColumns = columns;
344 mEnabled.resize(mColumns); 344 mEnabled.resize(mColumns);
345 345
346 update(); 346 update();
347} 347}
348 348
349void EventIndicator::enableColumn(int column, bool enable) 349void EventIndicator::enableColumn(int column, bool enable)
350{ 350{
351 mEnabled[column] = enable; 351 mEnabled[column] = enable;
352} 352}
353 353
354 354
355//////////////////////////////////////////////////////////////////////////// 355////////////////////////////////////////////////////////////////////////////
356//////////////////////////////////////////////////////////////////////////// 356////////////////////////////////////////////////////////////////////////////
357//////////////////////////////////////////////////////////////////////////// 357////////////////////////////////////////////////////////////////////////////
358 358
359KOAgendaView::KOAgendaView(Calendar *cal,QWidget *parent,const char *name) : 359KOAgendaView::KOAgendaView(Calendar *cal,QWidget *parent,const char *name) :
360 KOEventView (cal,parent,name) 360 KOEventView (cal,parent,name)
361{ 361{
362 mBlockUpdating = true; 362 mBlockUpdating = true;
363 mStartHour = 8; 363 mStartHour = 8;
364 mSelectedDates.append(QDate::currentDate()); 364 mSelectedDates.append(QDate::currentDate());
365 365
366 mLayoutDayLabels = 0; 366 mLayoutDayLabels = 0;
367 mDayLabelsFrame = 0; 367 mDayLabelsFrame = 0;
368 mDayLabels = 0; 368 mDayLabels = 0;
369 bool isRTL = KOGlobals::self()->reverseLayout(); 369 bool isRTL = KOGlobals::self()->reverseLayout();
370 370 QPixmap expandPix;
371 if ( KOPrefs::instance()->mVerticalScreen ) { 371 if ( KOPrefs::instance()->mVerticalScreen ) {
372 mExpandedPixmap = SmallIcon( "1downarrow" ); 372 expandPix = SmallIcon( "1updownarrow" );
373 mNotExpandedPixmap = SmallIcon( "1uparrow" );
374 } else { 373 } else {
375 mExpandedPixmap = SmallIcon( isRTL ? "1leftarrow" : "1rightarrow" ); 374 expandPix = SmallIcon("1leftrightarrow" );
376 mNotExpandedPixmap = SmallIcon( isRTL ? "1rightarrow" : "1leftarrow" );
377 } 375 }
378 376
379 QBoxLayout *topLayout = new QVBoxLayout(this); 377 QBoxLayout *topLayout = new QVBoxLayout(this);
380 378
381 // Create day name labels for agenda columns 379 // Create day name labels for agenda columns
382 // Create agenda splitter 380 // Create agenda splitter
383 381
384 mSplitterAgenda = new KDGanttMinimizeSplitter( Qt::Vertical, this); 382 mSplitterAgenda = new KDGanttMinimizeSplitter( Qt::Vertical, this);
385 mSplitterAgenda->setMinimizeDirection ( KDGanttMinimizeSplitter::Up ); 383 mSplitterAgenda->setMinimizeDirection ( KDGanttMinimizeSplitter::Up );
386 topLayout->addWidget( mSplitterAgenda ); 384 topLayout->addWidget( mSplitterAgenda );
387 mAllDayFrame = new QHBox(mSplitterAgenda); 385 mAllDayFrame = new QHBox(mSplitterAgenda);
388 mAllDayFrame->setFocusPolicy(NoFocus); 386 mAllDayFrame->setFocusPolicy(NoFocus);
389 QWidget *agendaFrame = new QWidget(mSplitterAgenda); 387 QWidget *agendaFrame = new QWidget(mSplitterAgenda);
390 agendaFrame->setFocusPolicy(NoFocus); 388 agendaFrame->setFocusPolicy(NoFocus);
391 389
392 // Create all-day agenda widget 390 // Create all-day agenda widget
393 mDummyAllDayLeft = new QVBox( mAllDayFrame ); 391 mDummyAllDayLeft = new QVBox( mAllDayFrame );
394 392
395 mExpandButton = new QPushButton(mDummyAllDayLeft); 393 mExpandButton = new QPushButton(mDummyAllDayLeft);
396 mExpandButton->setPixmap( mNotExpandedPixmap ); 394 mExpandButton->setPixmap( expandPix );
397 int widebut = mExpandButton->sizeHint().width(); 395 int widebut = mExpandButton->sizeHint().width()+4;
396 int heibut = mExpandButton->sizeHint().height()+4;
397 if ( heibut > widebut )
398 widebut = heibut ;
398 if ( QApplication::desktop()->width() < 480 ) 399 if ( QApplication::desktop()->width() < 480 )
399 widebut = widebut*2; 400 widebut = widebut*3/2;
400 else
401 widebut = (widebut*3) / 2;
402 //mExpandButton->setSizePolicy( QSizePolicy( QSizePolicy::Fixed, 401 //mExpandButton->setSizePolicy( QSizePolicy( QSizePolicy::Fixed,
403 // QSizePolicy::Fixed ) ); 402 // QSizePolicy::Fixed ) );
404 mExpandButton->setFixedSize( widebut, widebut); 403 mExpandButton->setFixedSize( widebut, widebut);
405 connect( mExpandButton, SIGNAL( clicked() ), SIGNAL( toggleExpand() ) ); 404 connect( mExpandButton, SIGNAL( clicked() ), SIGNAL( toggleExpand() ) );
406 mExpandButton->setFocusPolicy(NoFocus); 405 mExpandButton->setFocusPolicy(NoFocus);
407 mAllDayAgenda = new KOAgenda(1,mAllDayFrame); 406 mAllDayAgenda = new KOAgenda(1,mAllDayFrame);
408 mAllDayAgenda->setFocusPolicy(NoFocus); 407 mAllDayAgenda->setFocusPolicy(NoFocus);
409 QLabel *dummyAllDayRight = new QLabel (mAllDayFrame); 408 QLabel *dummyAllDayRight = new QLabel (mAllDayFrame);
410 409
411 // Create event context menu for all day agenda 410 // Create event context menu for all day agenda
412 mAllDayAgendaPopup = eventPopup(); 411 mAllDayAgendaPopup = eventPopup();
413 connect(mAllDayAgenda,SIGNAL(showIncidencePopupSignal(Incidence *)), 412 connect(mAllDayAgenda,SIGNAL(showIncidencePopupSignal(Incidence *)),
414 mAllDayAgendaPopup,SLOT(showIncidencePopup(Incidence *))); 413 mAllDayAgendaPopup,SLOT(showIncidencePopup(Incidence *)));
415 414
416 // Create agenda frame 415 // Create agenda frame
417 QGridLayout *agendaLayout = new QGridLayout(agendaFrame,4,3); 416 QGridLayout *agendaLayout = new QGridLayout(agendaFrame,4,3);
418 // QHBox *agendaFrame = new QHBox(splitterAgenda); 417 // QHBox *agendaFrame = new QHBox(splitterAgenda);
419 418
420 // create event indicator bars 419 // create event indicator bars
421 mEventIndicatorTop = new EventIndicator(EventIndicator::Top,agendaFrame); 420 mEventIndicatorTop = new EventIndicator(EventIndicator::Top,agendaFrame);
422#ifndef DESKTOP_VERSION 421#ifndef DESKTOP_VERSION
423 // FIX 422 // FIX
424 mEventIndicatorTop->setPaintWidget( mSplitterAgenda ); 423 mEventIndicatorTop->setPaintWidget( mSplitterAgenda );
425#endif 424#endif
426 mDayLabelsFrame = new QHBox(agendaFrame); 425 mDayLabelsFrame = new QHBox(agendaFrame);
427 //topLayout->addWidget(mDayLabelsFrame); 426 //topLayout->addWidget(mDayLabelsFrame);
428 mDayLabels = new QFrame (mDayLabelsFrame); 427 mDayLabels = new QFrame (mDayLabelsFrame);
429 mLayoutDayLabels = new QHBoxLayout(mDayLabels); 428 mLayoutDayLabels = new QHBoxLayout(mDayLabels);
430 agendaLayout->addMultiCellWidget(mDayLabelsFrame ,0,0,0,2); 429 agendaLayout->addMultiCellWidget(mDayLabelsFrame ,0,0,0,2);
431 agendaLayout->addWidget(mEventIndicatorTop,1,1); 430 agendaLayout->addWidget(mEventIndicatorTop,1,1);
432 431
433 mEventIndicatorBottom = new EventIndicator(EventIndicator::Bottom, 432 mEventIndicatorBottom = new EventIndicator(EventIndicator::Bottom,
434 agendaFrame); 433 agendaFrame);
435 agendaLayout->addWidget(mEventIndicatorBottom,3,1); 434 agendaLayout->addWidget(mEventIndicatorBottom,3,1);
436 QWidget *dummyAgendaRight = new QWidget(agendaFrame); 435 QWidget *dummyAgendaRight = new QWidget(agendaFrame);
437 agendaLayout->addWidget(dummyAgendaRight,1,2); 436 agendaLayout->addWidget(dummyAgendaRight,1,2);
438 437
439 // Create time labels 438 // Create time labels
440 mTimeLabels = new TimeLabels(24,agendaFrame); 439 mTimeLabels = new TimeLabels(24,agendaFrame);
441 agendaLayout->addWidget(mTimeLabels,2,0); 440 agendaLayout->addWidget(mTimeLabels,2,0);
442 connect(mTimeLabels,SIGNAL( scaleChanged()), 441 connect(mTimeLabels,SIGNAL( scaleChanged()),
443 this,SLOT(updateConfig())); 442 this,SLOT(updateConfig()));
444 443
445 // Create agenda 444 // Create agenda
446 mAgenda = new KOAgenda(1,96,KOPrefs::instance()->mHourSize,agendaFrame); 445 mAgenda = new KOAgenda(1,96,KOPrefs::instance()->mHourSize,agendaFrame);
447 agendaLayout->addMultiCellWidget(mAgenda,2,2,1,2); 446 agendaLayout->addMultiCellWidget(mAgenda,2,2,1,2);
448 agendaLayout->setColStretch(1,1); 447 agendaLayout->setColStretch(1,1);
449 mAgenda->setFocusPolicy(NoFocus); 448 mAgenda->setFocusPolicy(NoFocus);
450 // Create event context menu for agenda 449 // Create event context menu for agenda
451 mAgendaPopup = eventPopup(); 450 mAgendaPopup = eventPopup();
452 451
453 mAgendaPopup->addAdditionalItem(QIconSet(SmallIcon("bell")), 452 mAgendaPopup->addAdditionalItem(QIconSet(SmallIcon("bell")),
454 i18n("Toggle Alarm"),mAgenda, 453 i18n("Toggle Alarm"),mAgenda,
455 SLOT(popupAlarm()),true); 454 SLOT(popupAlarm()),true);
456 455
457 456
458 connect(mAgenda,SIGNAL(showIncidencePopupSignal(Incidence *)), 457 connect(mAgenda,SIGNAL(showIncidencePopupSignal(Incidence *)),
459 mAgendaPopup,SLOT(showIncidencePopup(Incidence *))); 458 mAgendaPopup,SLOT(showIncidencePopup(Incidence *)));
460 459
461 // make connections between dependent widgets 460 // make connections between dependent widgets
462 mTimeLabels->setAgenda(mAgenda); 461 mTimeLabels->setAgenda(mAgenda);
463 462
464 // Update widgets to reflect user preferences 463 // Update widgets to reflect user preferences
465 // updateConfig(); 464 // updateConfig();
@@ -1395,137 +1394,128 @@ void KOAgendaView::readSettings(KConfig *config)
1395 // qDebug("read %d %d ",sizes[0],sizes[1] ); 1394 // qDebug("read %d %d ",sizes[0],sizes[1] );
1396 } 1395 }
1397 //#endif 1396 //#endif
1398 1397
1399 // updateConfig(); 1398 // updateConfig();
1400} 1399}
1401 1400
1402void KOAgendaView::writeSettings(KConfig *config) 1401void KOAgendaView::writeSettings(KConfig *config)
1403{ 1402{
1404 // kdDebug() << "KOAgendaView::writeSettings()" << endl; 1403 // kdDebug() << "KOAgendaView::writeSettings()" << endl;
1405 1404
1406 config->setGroup("Views"); 1405 config->setGroup("Views");
1407 1406
1408 //#ifndef KORG_NOSPLITTER 1407 //#ifndef KORG_NOSPLITTER
1409 QValueList<int> list = mSplitterAgenda->sizes(); 1408 QValueList<int> list = mSplitterAgenda->sizes();
1410 config->writeEntry("Separator AgendaView",list); 1409 config->writeEntry("Separator AgendaView",list);
1411 //qDebug("write %d %d ", list[0],list[1] ); 1410 //qDebug("write %d %d ", list[0],list[1] );
1412 //#endif 1411 //#endif
1413} 1412}
1414 1413
1415void KOAgendaView::setHolidayMasks() 1414void KOAgendaView::setHolidayMasks()
1416{ 1415{
1417 mHolidayMask.resize(mSelectedDates.count()); 1416 mHolidayMask.resize(mSelectedDates.count());
1418 1417
1419 uint i; 1418 uint i;
1420 for(i=0;i<mSelectedDates.count();++i) { 1419 for(i=0;i<mSelectedDates.count();++i) {
1421 QDate date = mSelectedDates[i]; 1420 QDate date = mSelectedDates[i];
1422 bool showSaturday = KOPrefs::instance()->mExcludeSaturdays && (date.dayOfWeek() == 6); 1421 bool showSaturday = KOPrefs::instance()->mExcludeSaturdays && (date.dayOfWeek() == 6);
1423 bool showSunday = KOPrefs::instance()->mExcludeHolidays && (date.dayOfWeek() == 7); 1422 bool showSunday = KOPrefs::instance()->mExcludeHolidays && (date.dayOfWeek() == 7);
1424 bool showHoliday = false; 1423 bool showHoliday = false;
1425 if ( KOPrefs::instance()->mExcludeHolidays ) { 1424 if ( KOPrefs::instance()->mExcludeHolidays ) {
1426 QPtrList<Event> events = calendar()->events( date, true ); 1425 QPtrList<Event> events = calendar()->events( date, true );
1427 Event *event; 1426 Event *event;
1428 for( event = events.first(); event; event = events.next() ) { 1427 for( event = events.first(); event; event = events.next() ) {
1429 if ( event->isHoliday()) { 1428 if ( event->isHoliday()) {
1430 showHoliday = true; 1429 showHoliday = true;
1431 break; 1430 break;
1432 } 1431 }
1433 } 1432 }
1434 1433
1435 } 1434 }
1436 1435
1437#ifndef KORG_NOPLUGINS 1436#ifndef KORG_NOPLUGINS
1438 bool showHoliday = KOPrefs::instance()->mExcludeHolidays && 1437 bool showHoliday = KOPrefs::instance()->mExcludeHolidays &&
1439 !KOCore::self()->holiday(date).isEmpty(); 1438 !KOCore::self()->holiday(date).isEmpty();
1440#endif 1439#endif
1441 bool showDay = showSaturday || showSunday || showHoliday; 1440 bool showDay = showSaturday || showSunday || showHoliday;
1442 1441
1443 if (showDay) { 1442 if (showDay) {
1444 mHolidayMask.at(i) = true; 1443 mHolidayMask.at(i) = true;
1445 } else { 1444 } else {
1446 mHolidayMask.at(i) = false; 1445 mHolidayMask.at(i) = false;
1447 } 1446 }
1448 } 1447 }
1449 1448
1450 mAgenda->setHolidayMask(&mHolidayMask); 1449 mAgenda->setHolidayMask(&mHolidayMask);
1451 mAllDayAgenda->setHolidayMask(&mHolidayMask); 1450 mAllDayAgenda->setHolidayMask(&mHolidayMask);
1452} 1451}
1453 1452
1454void KOAgendaView::setContentsPos(int y) 1453void KOAgendaView::setContentsPos(int y)
1455{ 1454{
1456 mAgenda->setContentsPos(0,y); 1455 mAgenda->setContentsPos(0,y);
1457} 1456}
1458 1457
1459void KOAgendaView::setExpandedButton( bool expanded )
1460{
1461 if ( expanded ) {
1462 mExpandButton->setPixmap( mExpandedPixmap );
1463 } else {
1464 mExpandButton->setPixmap( mNotExpandedPixmap );
1465 }
1466}
1467
1468void KOAgendaView::clearSelection() 1458void KOAgendaView::clearSelection()
1469{ 1459{
1470 mAgenda->deselectItem(); 1460 mAgenda->deselectItem();
1471 mAllDayAgenda->deselectItem(); 1461 mAllDayAgenda->deselectItem();
1472} 1462}
1473 1463
1474void KOAgendaView::newTimeSpanSelectedAllDay(int gxStart, int gyStart, 1464void KOAgendaView::newTimeSpanSelectedAllDay(int gxStart, int gyStart,
1475 int gxEnd, int gyEnd) 1465 int gxEnd, int gyEnd)
1476{ 1466{
1477 mTimeSpanInAllDay = true; 1467 mTimeSpanInAllDay = true;
1478 newTimeSpanSelected(gxStart,gyStart,gxEnd,gyEnd); 1468 newTimeSpanSelected(gxStart,gyStart,gxEnd,gyEnd);
1479} 1469}
1480 1470
1481 1471
1482 1472
1483 1473
1484void KOAgendaView::newTimeSpanSelected(int gxStart, int gyStart, 1474void KOAgendaView::newTimeSpanSelected(int gxStart, int gyStart,
1485 int gxEnd, int gyEnd) 1475 int gxEnd, int gyEnd)
1486{ 1476{
1487 if (!mSelectedDates.count()) return; 1477 if (!mSelectedDates.count()) return;
1488 1478
1489 QDate dayStart = mSelectedDates[gxStart]; 1479 QDate dayStart = mSelectedDates[gxStart];
1490 QDate dayEnd = mSelectedDates[gxEnd]; 1480 QDate dayEnd = mSelectedDates[gxEnd];
1491 1481
1492 QTime timeStart = mAgenda->gyToTime(gyStart); 1482 QTime timeStart = mAgenda->gyToTime(gyStart);
1493 QTime timeEnd = mAgenda->gyToTime( gyEnd + 1 ); 1483 QTime timeEnd = mAgenda->gyToTime( gyEnd + 1 );
1494 1484
1495 QDateTime dtStart(dayStart,timeStart); 1485 QDateTime dtStart(dayStart,timeStart);
1496 QDateTime dtEnd(dayEnd,timeEnd); 1486 QDateTime dtEnd(dayEnd,timeEnd);
1497 1487
1498 mTimeSpanBegin = dtStart; 1488 mTimeSpanBegin = dtStart;
1499 mTimeSpanEnd = dtEnd; 1489 mTimeSpanEnd = dtEnd;
1500 1490
1501} 1491}
1502 1492
1503void KOAgendaView::deleteSelectedDateTime() 1493void KOAgendaView::deleteSelectedDateTime()
1504{ 1494{
1505 mTimeSpanBegin.setDate(QDate()); 1495 mTimeSpanBegin.setDate(QDate());
1506 mTimeSpanEnd.setDate(QDate()); 1496 mTimeSpanEnd.setDate(QDate());
1507 mTimeSpanInAllDay = false; 1497 mTimeSpanInAllDay = false;
1508} 1498}
1509 1499
1510void KOAgendaView::keyPressEvent ( QKeyEvent * e ) 1500void KOAgendaView::keyPressEvent ( QKeyEvent * e )
1511{ 1501{
1512 e->ignore(); 1502 e->ignore();
1513} 1503}
1514 1504
1515void KOAgendaView::scrollOneHourUp() 1505void KOAgendaView::scrollOneHourUp()
1516{ 1506{
1517 1507
1518 mAgenda->scrollBy ( 0, -mAgenda->contentsHeight () / 24 ); 1508 mAgenda->scrollBy ( 0, -mAgenda->contentsHeight () / 24 );
1519} 1509}
1520void KOAgendaView::scrollOneHourDown() 1510void KOAgendaView::scrollOneHourDown()
1521{ 1511{
1522 mAgenda->scrollBy ( 0, mAgenda->contentsHeight () / 24 ); 1512 mAgenda->scrollBy ( 0, mAgenda->contentsHeight () / 24 );
1523} 1513}
1524 1514
1525void KOAgendaView::setStartHour( int h ) 1515void KOAgendaView::setStartHour( int h )
1526{ 1516{
1527 mAgenda->setStartHour( h ); 1517 mAgenda->setStartHour( h );
1528 1518
1529} 1519}
1530void KOAgendaView::setInitStartHour() 1520void KOAgendaView::setInitStartHour()
1531{ 1521{
diff --git a/korganizer/koagendaview.h b/korganizer/koagendaview.h
index 0cb9310..57b4e46 100644
--- a/korganizer/koagendaview.h
+++ b/korganizer/koagendaview.h
@@ -142,151 +142,148 @@ class EventIndicator : public QFrame {
142 multi-day view. 142 multi-day view.
143*/ 143*/
144class KOAgendaView : public KOEventView { 144class KOAgendaView : public KOEventView {
145 Q_OBJECT 145 Q_OBJECT
146 public: 146 public:
147 KOAgendaView(Calendar *cal,QWidget *parent = 0,const char *name = 0 ); 147 KOAgendaView(Calendar *cal,QWidget *parent = 0,const char *name = 0 );
148 virtual ~KOAgendaView(); 148 virtual ~KOAgendaView();
149 void setStartHour( int ); 149 void setStartHour( int );
150 void toggleAllDay(); 150 void toggleAllDay();
151 151
152 152
153 /** Returns maximum number of days supported by the koagendaview */ 153 /** Returns maximum number of days supported by the koagendaview */
154 virtual int maxDatesHint(); 154 virtual int maxDatesHint();
155 155
156 /** Returns number of currently shown dates. */ 156 /** Returns number of currently shown dates. */
157 virtual int currentDateCount(); 157 virtual int currentDateCount();
158 158
159 /** returns the currently selected events */ 159 /** returns the currently selected events */
160 virtual QPtrList<Incidence> selectedIncidences(); 160 virtual QPtrList<Incidence> selectedIncidences();
161 161
162 /** returns the currently selected events */ 162 /** returns the currently selected events */
163 virtual DateList selectedDates(); 163 virtual DateList selectedDates();
164 164
165 /** Remove all events from view */ 165 /** Remove all events from view */
166 void clearView(); 166 void clearView();
167 KOAgenda *agenda() { return mAgenda;} 167 KOAgenda *agenda() { return mAgenda;}
168 virtual void printPreview(CalPrinter *calPrinter, 168 virtual void printPreview(CalPrinter *calPrinter,
169 const QDate &, const QDate &); 169 const QDate &, const QDate &);
170 170
171 /** start-datetime of selection */ 171 /** start-datetime of selection */
172 QDateTime selectionStart() {return mTimeSpanBegin;} 172 QDateTime selectionStart() {return mTimeSpanBegin;}
173 /** end-datetime of selection */ 173 /** end-datetime of selection */
174 QDateTime selectionEnd() {return mTimeSpanEnd;} 174 QDateTime selectionEnd() {return mTimeSpanEnd;}
175 /** returns true if selection is for whole day */ 175 /** returns true if selection is for whole day */
176 bool selectedIsAllDay() {return mTimeSpanInAllDay;} 176 bool selectedIsAllDay() {return mTimeSpanInAllDay;}
177 /** make selected start/end invalid */ 177 /** make selected start/end invalid */
178 void deleteSelectedDateTime(); 178 void deleteSelectedDateTime();
179 void repaintAgenda(); 179 void repaintAgenda();
180 public slots: 180 public slots:
181 void setInitStartHour(); 181 void setInitStartHour();
182 virtual void updateView(); 182 virtual void updateView();
183 virtual void updateConfig(); 183 virtual void updateConfig();
184 virtual void showDates(const QDate &start, const QDate &end); 184 virtual void showDates(const QDate &start, const QDate &end);
185 virtual void showEvents(QPtrList<Event> eventList); 185 virtual void showEvents(QPtrList<Event> eventList);
186 186
187 void updateTodo( Todo *, int ); 187 void updateTodo( Todo *, int );
188 void changeEventDisplay(Event *, int); 188 void changeEventDisplay(Event *, int);
189 189
190 void clearSelection(); 190 void clearSelection();
191 191
192 void newTodo(int gx,int gy); 192 void newTodo(int gx,int gy);
193 void newEvent(int gx,int gy); 193 void newEvent(int gx,int gy);
194 void newEvent(int gxStart, int gyStart, int gxEnd, int gyEnd); 194 void newEvent(int gxStart, int gyStart, int gxEnd, int gyEnd);
195 void newEventAllDay(int gx, int gy); 195 void newEventAllDay(int gx, int gy);
196 void newTodoAllDay(int gx, int gy); 196 void newTodoAllDay(int gx, int gy);
197 197
198 void startDrag(Event *); 198 void startDrag(Event *);
199 199
200 void readSettings(); 200 void readSettings();
201 void readSettings(KConfig *); 201 void readSettings(KConfig *);
202 void writeSettings(KConfig *); 202 void writeSettings(KConfig *);
203 203
204 void setContentsPos(int y); 204 void setContentsPos(int y);
205 205
206 void setExpandedButton( bool expanded );
207 void scrollOneHourUp(); 206 void scrollOneHourUp();
208 void scrollOneHourDown(); 207 void scrollOneHourDown();
209 void addToCalSlot(Incidence *, Incidence *); 208 void addToCalSlot(Incidence *, Incidence *);
210 209
211 signals: 210 signals:
212 void showDateView( int, QDate ); 211 void showDateView( int, QDate );
213 void newTodoSignal( QDateTime ,bool ); 212 void newTodoSignal( QDateTime ,bool );
214 void toggleExpand(); 213 void toggleExpand();
215 void selectWeekNum( int ); 214 void selectWeekNum( int );
216 void todoMoved( Todo *, int ); 215 void todoMoved( Todo *, int );
217 void incidenceChanged(Incidence * , int ); 216 void incidenceChanged(Incidence * , int );
218 // void cloneIncidenceSignal(Incidence *); 217 // void cloneIncidenceSignal(Incidence *);
219 218
220 protected: 219 protected:
221 KOAgendaButton* getNewDaylabel(); 220 KOAgendaButton* getNewDaylabel();
222 bool mBlockUpdating; 221 bool mBlockUpdating;
223 int mUpcomingWidth; 222 int mUpcomingWidth;
224 /** Fill agenda beginning with date startDate */ 223 /** Fill agenda beginning with date startDate */
225 void fillAgenda(const QDate &startDate); 224 void fillAgenda(const QDate &startDate);
226 void resizeEvent( QResizeEvent* e ); 225 void resizeEvent( QResizeEvent* e );
227 /** Fill agenda using the current set value for the start date */ 226 /** Fill agenda using the current set value for the start date */
228 void fillAgenda(); 227 void fillAgenda();
229 228
230 /** Create labels for the selected dates. */ 229 /** Create labels for the selected dates. */
231 void createDayLabels(); 230 void createDayLabels();
232 231
233 /** 232 /**
234 Set the masks on the agenda widgets indicating, which days are holidays. 233 Set the masks on the agenda widgets indicating, which days are holidays.
235 */ 234 */
236 void setHolidayMasks(); 235 void setHolidayMasks();
237 236
238 protected slots: 237 protected slots:
239 void slotDaylabelClicked( int ); 238 void slotDaylabelClicked( int );
240 /** Update event belonging to agenda item */ 239 /** Update event belonging to agenda item */
241 void updateEventDates(KOAgendaItem *item, int mode = -1); 240 void updateEventDates(KOAgendaItem *item, int mode = -1);
242 //void updateMovedTodo(); 241 //void updateMovedTodo();
243 242
244 void updateEventIndicatorTop(int newY); 243 void updateEventIndicatorTop(int newY);
245 void updateEventIndicatorBottom(int newY); 244 void updateEventIndicatorBottom(int newY);
246 245
247 /** Updates data for selected timespan */ 246 /** Updates data for selected timespan */
248 void newTimeSpanSelected(int gxStart, int gyStart, int gxEnd, int gyEnd); 247 void newTimeSpanSelected(int gxStart, int gyStart, int gxEnd, int gyEnd);
249 /** Updates data for selected timespan for all day event*/ 248 /** Updates data for selected timespan for all day event*/
250 void newTimeSpanSelectedAllDay(int gxStart, int gyStart, int gxEnd, int gyEnd); 249 void newTimeSpanSelectedAllDay(int gxStart, int gyStart, int gxEnd, int gyEnd);
251 250
252 private: 251 private:
253 // view widgets 252 // view widgets
254 QFrame *mDayLabels; 253 QFrame *mDayLabels;
255 QHBox *mDayLabelsFrame; 254 QHBox *mDayLabelsFrame;
256 QBoxLayout *mLayoutDayLabels; 255 QBoxLayout *mLayoutDayLabels;
257 QFrame *mAllDayFrame; 256 QFrame *mAllDayFrame;
258 KOAgenda *mAllDayAgenda; 257 KOAgenda *mAllDayAgenda;
259 KOAgenda *mAgenda; 258 KOAgenda *mAgenda;
260 TimeLabels *mTimeLabels; 259 TimeLabels *mTimeLabels;
261 QWidget *mDummyAllDayLeft; 260 QWidget *mDummyAllDayLeft;
262 261
263 KDGanttMinimizeSplitter* mSplitterAgenda; 262 KDGanttMinimizeSplitter* mSplitterAgenda;
264 QPushButton *mExpandButton; 263 QPushButton *mExpandButton;
265 264
266 DateList mSelectedDates; // List of dates to be displayed 265 DateList mSelectedDates; // List of dates to be displayed
267 int mViewType; 266 int mViewType;
268 267
269 bool mWeekStartsMonday; 268 bool mWeekStartsMonday;
270 int mStartHour; 269 int mStartHour;
271 270
272 KOEventPopupMenu *mAgendaPopup; 271 KOEventPopupMenu *mAgendaPopup;
273 KOEventPopupMenu *mAllDayAgendaPopup; 272 KOEventPopupMenu *mAllDayAgendaPopup;
274 273
275 EventIndicator *mEventIndicatorTop; 274 EventIndicator *mEventIndicatorTop;
276 EventIndicator *mEventIndicatorBottom; 275 EventIndicator *mEventIndicatorBottom;
277 276
278 QMemArray<int> mMinY; 277 QMemArray<int> mMinY;
279 QMemArray<int> mMaxY; 278 QMemArray<int> mMaxY;
280 279
281 QMemArray<bool> mHolidayMask; 280 QMemArray<bool> mHolidayMask;
282 281
283 QPixmap mExpandedPixmap;
284 QPixmap mNotExpandedPixmap;
285 QPtrList<KOAgendaButton> mDayLabelsList; 282 QPtrList<KOAgendaButton> mDayLabelsList;
286 QDateTime mTimeSpanBegin; 283 QDateTime mTimeSpanBegin;
287 QDateTime mTimeSpanEnd; 284 QDateTime mTimeSpanEnd;
288 bool mTimeSpanInAllDay; 285 bool mTimeSpanInAllDay;
289 void keyPressEvent ( QKeyEvent * e ); 286 void keyPressEvent ( QKeyEvent * e );
290}; 287};
291 288
292#endif // KOAGENDAVIEW_H 289#endif // KOAGENDAVIEW_H
diff --git a/korganizer/koviewmanager.cpp b/korganizer/koviewmanager.cpp
index 5a2dce3..31ee5e2 100644
--- a/korganizer/koviewmanager.cpp
+++ b/korganizer/koviewmanager.cpp
@@ -335,131 +335,129 @@ void KOViewManager::showListView()
335 connect(mMainView, SIGNAL(configChanged()), mListView, SLOT(updateConfig())); 335 connect(mMainView, SIGNAL(configChanged()), mListView, SLOT(updateConfig()));
336 connect( mListView, SIGNAL( cloneIncidenceSignal( Incidence * ) ), 336 connect( mListView, SIGNAL( cloneIncidenceSignal( Incidence * ) ),
337 mMainView, SLOT ( cloneIncidence( Incidence * ) ) ); 337 mMainView, SLOT ( cloneIncidence( Incidence * ) ) );
338 connect( mListView, SIGNAL( cancelIncidenceSignal( Incidence * ) ), 338 connect( mListView, SIGNAL( cancelIncidenceSignal( Incidence * ) ),
339 mMainView, SLOT ( cancelIncidence( Incidence * ) ) ); 339 mMainView, SLOT ( cancelIncidence( Incidence * ) ) );
340 connect( mListView, SIGNAL( moveIncidenceSignal( Incidence * ) ), 340 connect( mListView, SIGNAL( moveIncidenceSignal( Incidence * ) ),
341 mMainView, SLOT ( moveIncidence( Incidence * ) ) ); 341 mMainView, SLOT ( moveIncidence( Incidence * ) ) );
342 connect( mListView, SIGNAL( beamIncidenceSignal( Incidence * ) ), 342 connect( mListView, SIGNAL( beamIncidenceSignal( Incidence * ) ),
343 mMainView, SLOT ( beamIncidence( Incidence * ) ) ); 343 mMainView, SLOT ( beamIncidence( Incidence * ) ) );
344 } 344 }
345 // bool temp = mFlagShowNextxDays; 345 // bool temp = mFlagShowNextxDays;
346 //globalFlagBlockPainting = true; 346 //globalFlagBlockPainting = true;
347 globalFlagBlockAgenda = 1; 347 globalFlagBlockAgenda = 1;
348 if ( KOPrefs::instance()->mListViewMonthTimespan ) { 348 if ( KOPrefs::instance()->mListViewMonthTimespan ) {
349 mMainView->setBlockShowDates( true ); 349 mMainView->setBlockShowDates( true );
350 mMainView->dateNavigator()->selectMonth(); 350 mMainView->dateNavigator()->selectMonth();
351 mMainView->setBlockShowDates( false ); 351 mMainView->setBlockShowDates( false );
352 } 352 }
353 showView(mListView, KOPrefs::instance()->mFullViewTodo); 353 showView(mListView, KOPrefs::instance()->mFullViewTodo);
354 //mFlagShowNextxDays = temp; 354 //mFlagShowNextxDays = temp;
355} 355}
356 356
357void KOViewManager::showAgendaView( bool fullScreen ) 357void KOViewManager::showAgendaView( bool fullScreen )
358{ 358{
359 359
360 mMainView->dialogManager()->hideSearchDialog(); 360 mMainView->dialogManager()->hideSearchDialog();
361 // qDebug("KOViewManager::showAgendaView "); 361 // qDebug("KOViewManager::showAgendaView ");
362 bool full; 362 bool full;
363 full = fullScreen; 363 full = fullScreen;
364 if (!mAgendaView) { 364 if (!mAgendaView) {
365 full = false; 365 full = false;
366 mAgendaView = new KOAgendaView(mMainView->calendar(), mMainView->viewStack(), "KOViewManager::AgendaView"); 366 mAgendaView = new KOAgendaView(mMainView->calendar(), mMainView->viewStack(), "KOViewManager::AgendaView");
367 addView(mAgendaView); 367 addView(mAgendaView);
368#ifndef DESKTOP_VERSION 368#ifndef DESKTOP_VERSION
369 QPEApplication::setStylusOperation( mAgendaView, QPEApplication::RightOnHold ); 369 QPEApplication::setStylusOperation( mAgendaView, QPEApplication::RightOnHold );
370#endif 370#endif
371 connect( mAgendaView, SIGNAL( incidenceChanged(Incidence *, int )), 371 connect( mAgendaView, SIGNAL( incidenceChanged(Incidence *, int )),
372 mMainView, SLOT( changeIncidenceDisplay( Incidence *, int ) )); 372 mMainView, SLOT( changeIncidenceDisplay( Incidence *, int ) ));
373 373
374 // SIGNALS/SLOTS FOR DAY/WEEK VIEW 374 // SIGNALS/SLOTS FOR DAY/WEEK VIEW
375 375
376 connect(mAgendaView,SIGNAL(showDateView( int, QDate )),SLOT(showDateView( int, QDate ))); 376 connect(mAgendaView,SIGNAL(showDateView( int, QDate )),SLOT(showDateView( int, QDate )));
377 377
378 connect(mAgendaView,SIGNAL(newTodoSignal(QDateTime,bool)), 378 connect(mAgendaView,SIGNAL(newTodoSignal(QDateTime,bool)),
379 mMainView, SLOT(newTodoDateTime(QDateTime,bool))); 379 mMainView, SLOT(newTodoDateTime(QDateTime,bool)));
380 connect(mAgendaView,SIGNAL(newEventSignal(QDateTime)), 380 connect(mAgendaView,SIGNAL(newEventSignal(QDateTime)),
381 mMainView, SLOT(newEvent(QDateTime))); 381 mMainView, SLOT(newEvent(QDateTime)));
382 connect(mAgendaView,SIGNAL(newEventSignal(QDateTime,QDateTime)), 382 connect(mAgendaView,SIGNAL(newEventSignal(QDateTime,QDateTime)),
383 mMainView, SLOT(newEvent(QDateTime,QDateTime))); 383 mMainView, SLOT(newEvent(QDateTime,QDateTime)));
384 connect(mAgendaView,SIGNAL(newEventSignal(QDate)), 384 connect(mAgendaView,SIGNAL(newEventSignal(QDate)),
385 mMainView, SLOT(newEvent(QDate))); 385 mMainView, SLOT(newEvent(QDate)));
386 386
387 connect(mAgendaView, SIGNAL(editIncidenceSignal(Incidence *)), 387 connect(mAgendaView, SIGNAL(editIncidenceSignal(Incidence *)),
388 mMainView, SLOT(editIncidence(Incidence *))); 388 mMainView, SLOT(editIncidence(Incidence *)));
389 connect(mAgendaView, SIGNAL(showIncidenceSignal(Incidence *)), 389 connect(mAgendaView, SIGNAL(showIncidenceSignal(Incidence *)),
390 mMainView, SLOT(showIncidence(Incidence *))); 390 mMainView, SLOT(showIncidence(Incidence *)));
391 connect(mAgendaView, SIGNAL(deleteIncidenceSignal(Incidence *)), 391 connect(mAgendaView, SIGNAL(deleteIncidenceSignal(Incidence *)),
392 mMainView, SLOT(deleteIncidence(Incidence *))); 392 mMainView, SLOT(deleteIncidence(Incidence *)));
393 393
394 connect( mAgendaView, SIGNAL( incidenceSelected( Incidence * ) ), 394 connect( mAgendaView, SIGNAL( incidenceSelected( Incidence * ) ),
395 mMainView, SLOT( processMainViewSelection( Incidence * ) ) ); 395 mMainView, SLOT( processMainViewSelection( Incidence * ) ) );
396 396
397 connect(mAgendaView, SIGNAL( toggleExpand() ), 397 connect(mAgendaView, SIGNAL( toggleExpand() ),
398 mMainView, SLOT( toggleExpand() ) ); 398 mMainView, SLOT( toggleExpand() ) );
399 399
400 connect(mMainView, SIGNAL( calendarViewExpanded( bool ) ),
401 mAgendaView, SLOT( setExpandedButton( bool ) ) );
402 connect( mAgendaView, SIGNAL( cloneIncidenceSignal(Incidence *) ), 400 connect( mAgendaView, SIGNAL( cloneIncidenceSignal(Incidence *) ),
403 mMainView, SLOT(cloneIncidence(Incidence *) ) ) ; 401 mMainView, SLOT(cloneIncidence(Incidence *) ) ) ;
404 connect( mAgendaView, SIGNAL( cancelIncidenceSignal(Incidence *) ), 402 connect( mAgendaView, SIGNAL( cancelIncidenceSignal(Incidence *) ),
405 mMainView, SLOT(cancelIncidence(Incidence *) ) ) ; 403 mMainView, SLOT(cancelIncidence(Incidence *) ) ) ;
406 connect(mMainView, SIGNAL(configChanged()), mAgendaView, SLOT(updateConfig())); 404 connect(mMainView, SIGNAL(configChanged()), mAgendaView, SLOT(updateConfig()));
407 connect( mMainView, SIGNAL( todoModified( Todo *, int )), mAgendaView, 405 connect( mMainView, SIGNAL( todoModified( Todo *, int )), mAgendaView,
408 SLOT( updateTodo( Todo *, int ) ) ); 406 SLOT( updateTodo( Todo *, int ) ) );
409 connect( mAgendaView,SIGNAL( todoMoved( Todo *, int )), 407 connect( mAgendaView,SIGNAL( todoMoved( Todo *, int )),
410 mMainView, SIGNAL( todoModified( Todo *, int ))); 408 mMainView, SIGNAL( todoModified( Todo *, int )));
411 connect( mAgendaView, SIGNAL( moveIncidenceSignal( Incidence * ) ), 409 connect( mAgendaView, SIGNAL( moveIncidenceSignal( Incidence * ) ),
412 mMainView, SLOT ( moveIncidence( Incidence * ) ) ); 410 mMainView, SLOT ( moveIncidence( Incidence * ) ) );
413 connect( mAgendaView, SIGNAL( beamIncidenceSignal( Incidence * ) ), 411 connect( mAgendaView, SIGNAL( beamIncidenceSignal( Incidence * ) ),
414 mMainView, SLOT ( beamIncidence( Incidence * ) ) ); 412 mMainView, SLOT ( beamIncidence( Incidence * ) ) );
415 connect( mAgendaView, SIGNAL( selectWeekNum( int ) ), 413 connect( mAgendaView, SIGNAL( selectWeekNum( int ) ),
416 mMainView->dateNavigator(), SLOT ( selectWeek( int ) ) ); 414 mMainView->dateNavigator(), SLOT ( selectWeek( int ) ) );
417 mAgendaView->readSettings(); 415 mAgendaView->readSettings();
418 mAgendaView->updateConfig(); 416 mAgendaView->updateConfig();
419 } 417 }
420 418
421 showView( mAgendaView, full); 419 showView( mAgendaView, full);
422 420
423} 421}
424 422
425void KOViewManager::showDayView() 423void KOViewManager::showDayView()
426{ 424{
427 mCurrentAgendaView = mMainView->dateNavigator()->selectedDates().count(); 425 mCurrentAgendaView = mMainView->dateNavigator()->selectedDates().count();
428 mFlagShowNextxDays = false; 426 mFlagShowNextxDays = false;
429 globalFlagBlockLabel = 1; 427 globalFlagBlockLabel = 1;
430 globalFlagBlockAgenda = 1; 428 globalFlagBlockAgenda = 1;
431 if ( mCurrentAgendaView != 1 ) 429 if ( mCurrentAgendaView != 1 )
432 mCurrentAgendaView = -1; 430 mCurrentAgendaView = -1;
433 showAgendaView(); 431 showAgendaView();
434 qApp->processEvents(); 432 qApp->processEvents();
435 globalFlagBlockAgenda = 2; 433 globalFlagBlockAgenda = 2;
436 globalFlagBlockLabel = 0; 434 globalFlagBlockLabel = 0;
437 mMainView->dateNavigator()->selectDates( 1 ); 435 mMainView->dateNavigator()->selectDates( 1 );
438 mCurrentAgendaView = 1 ; 436 mCurrentAgendaView = 1 ;
439 437
440} 438}
441 439
442void KOViewManager::showWorkWeekView() 440void KOViewManager::showWorkWeekView()
443{ 441{
444 mCurrentAgendaView = mMainView->dateNavigator()->selectedDates().count(); 442 mCurrentAgendaView = mMainView->dateNavigator()->selectedDates().count();
445 mFlagShowNextxDays = false; 443 mFlagShowNextxDays = false;
446 globalFlagBlockAgenda = 1; 444 globalFlagBlockAgenda = 1;
447 globalFlagBlockLabel = 1; 445 globalFlagBlockLabel = 1;
448 if ( mCurrentAgendaView != 5 ) 446 if ( mCurrentAgendaView != 5 )
449 mCurrentAgendaView = -1; 447 mCurrentAgendaView = -1;
450 showAgendaView(); 448 showAgendaView();
451 qApp->processEvents(); 449 qApp->processEvents();
452 globalFlagBlockAgenda = 2; 450 globalFlagBlockAgenda = 2;
453 globalFlagBlockLabel = 0; 451 globalFlagBlockLabel = 0;
454 mMainView->dateNavigator()->selectWorkWeek(); 452 mMainView->dateNavigator()->selectWorkWeek();
455 mCurrentAgendaView = 5 ; 453 mCurrentAgendaView = 5 ;
456 454
457} 455}
458 456
459void KOViewManager::showWeekView() 457void KOViewManager::showWeekView()
460{ 458{
461 /* 459 /*
462 globalFlagBlockAgenda = 2; 460 globalFlagBlockAgenda = 2;
463 qDebug("4globalFlagBlockAgenda = 2; "); 461 qDebug("4globalFlagBlockAgenda = 2; ");
464 //globalFlagBlockPainting = true; 462 //globalFlagBlockPainting = true;
465 mMainView->dateNavigator()->selectWeek(); 463 mMainView->dateNavigator()->selectWeek();
diff --git a/korganizer/navigatorbar.cpp b/korganizer/navigatorbar.cpp
index 06f5ef8..eca7c14 100644
--- a/korganizer/navigatorbar.cpp
+++ b/korganizer/navigatorbar.cpp
@@ -13,151 +13,151 @@
13 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 GNU General Public License for more details. 14 GNU General Public License for more details.
15 15
16 You should have received a copy of the GNU General Public License 16 You should have received a copy of the GNU General Public License
17 along with this program; if not, write to the Free Software 17 along with this program; if not, write to the Free Software
18 Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. 18 Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
19 19
20 As a special exception, permission is given to link this program 20 As a special exception, permission is given to link this program
21 with any edition of Qt, and distribute the resulting executable, 21 with any edition of Qt, and distribute the resulting executable,
22 without including the source code for Qt in the source distribution. 22 without including the source code for Qt in the source distribution.
23*/ 23*/
24 24
25#include <qstring.h> 25#include <qstring.h>
26#include <qtooltip.h> 26#include <qtooltip.h>
27#include <qpushbutton.h> 27#include <qpushbutton.h>
28#include <qlayout.h> 28#include <qlayout.h>
29#include <qframe.h> 29#include <qframe.h>
30#include <qlabel.h> 30#include <qlabel.h>
31#include <qpopupmenu.h> 31#include <qpopupmenu.h>
32#include <qapplication.h> 32#include <qapplication.h>
33 33
34#include <kdebug.h> 34#include <kdebug.h>
35#include <klocale.h> 35#include <klocale.h>
36#include <kglobal.h> 36#include <kglobal.h>
37#include <kiconloader.h> 37#include <kiconloader.h>
38#include "libkdepim/kdatepicker.h" 38#include "libkdepim/kdatepicker.h"
39#include <knotifyclient.h> 39#include <knotifyclient.h>
40#include "kdatetbl.h" 40#include "kdatetbl.h"
41 41
42#include "koglobals.h" 42#include "koglobals.h"
43#include <kglobalsettings.h> 43#include <kglobalsettings.h>
44#include "koprefs.h" 44#include "koprefs.h"
45#ifndef KORG_NOPLUGINS 45#ifndef KORG_NOPLUGINS
46#include "kocore.h" 46#include "kocore.h"
47#endif 47#endif
48 48
49#include <kcalendarsystem.h> 49#include <kcalendarsystem.h>
50 50
51#include "navigatorbar.h" 51#include "navigatorbar.h"
52 52
53NavigatorBar::NavigatorBar( const QDate & date, QWidget *parent, const char *name ) 53NavigatorBar::NavigatorBar( const QDate & date, QWidget *parent, const char *name )
54 : QWidget( parent, name ) 54 : QWidget( parent, name )
55{ 55{
56 QBoxLayout *topLayout = new QHBoxLayout( this ); 56 QBoxLayout *topLayout = new QHBoxLayout( this );
57 57
58 // Set up the control buttons and date label 58 // Set up the control buttons and date label
59 mCtrlFrame = new QFrame( this ); 59 mCtrlFrame = new QFrame( this );
60 mCtrlFrame->setFrameStyle(QFrame::Panel|QFrame::Raised); 60 mCtrlFrame->setFrameStyle(QFrame::Panel|QFrame::Raised);
61 mCtrlFrame->setLineWidth(1); 61 mCtrlFrame->setLineWidth(1);
62 62
63 topLayout->addWidget( mCtrlFrame ); 63 topLayout->addWidget( mCtrlFrame );
64 64
65 65
66 66
67 bool isRTL = KOGlobals::self()->reverseLayout(); 67 bool isRTL = KOGlobals::self()->reverseLayout();
68#ifndef DESKTOP_VERSION 68#ifndef DESKTOP_VERSION
69 bool isDesktop = false; 69 bool isDesktop = false;
70#else 70#else
71 bool isDesktop = true; 71 bool isDesktop = true;
72#endif 72#endif
73 if ( QString ( name ) == QString("useBigPixmaps") && QApplication::desktop()->width() > 320 ) 73 if ( QString ( name ) == QString("useBigPixmaps") && QApplication::desktop()->width() > 320 )
74 isDesktop = true; 74 isDesktop = true;
75 // Create backward navigation buttons 75 // Create backward navigation buttons
76 mPrevYear = new QPushButton( mCtrlFrame ); 76 mPrevYear = new QPushButton( mCtrlFrame );
77 mPrevYear->setPixmap( SmallIcon( isDesktop ? "2leftarrowB" : "2leftarrow" ) ); 77 mPrevYear->setPixmap( SmallIcon( isDesktop ? "3leftarrowB" : "3leftarrow" ) );
78 QToolTip::add( mPrevYear, i18n("Previous Year") ); 78 QToolTip::add( mPrevYear, i18n("Previous Year") );
79 79
80 mPrevMonth = new QPushButton( mCtrlFrame ); 80 mPrevMonth = new QPushButton( mCtrlFrame );
81 mPrevMonth->setPixmap( SmallIcon( isDesktop ? "1leftarrowB" : "1leftarrow") ); 81 mPrevMonth->setPixmap( SmallIcon( isDesktop ? "2leftarrowB" : "2leftarrow") );
82 QToolTip::add( mPrevMonth, i18n("Previous Month") ); 82 QToolTip::add( mPrevMonth, i18n("Previous Month") );
83 83
84 // Create forward navigation buttons 84 // Create forward navigation buttons
85 mNextMonth = new QPushButton( mCtrlFrame ); 85 mNextMonth = new QPushButton( mCtrlFrame );
86 mNextMonth->setPixmap( SmallIcon( isDesktop ? "1rightarrowB" : "1rightarrow") ); 86 mNextMonth->setPixmap( SmallIcon( isDesktop ? "2rightarrowB" : "2rightarrow") );
87 QToolTip::add( mNextMonth, i18n("Next Month") ); 87 QToolTip::add( mNextMonth, i18n("Next Month") );
88 88
89 mPrevWeek = new QPushButton( mCtrlFrame ); 89 mPrevWeek = new QPushButton( mCtrlFrame );
90 mPrevWeek->setPixmap( SmallIcon( isDesktop ? "1leftarrowB" : "1leftarrow") ); 90 mPrevWeek->setPixmap( SmallIcon( isDesktop ? "1leftarrowB" : "1leftarrow") );
91 QToolTip::add( mPrevWeek, i18n("Previous Week") ); 91 QToolTip::add( mPrevWeek, i18n("Previous Week") );
92 92
93 // Create forward navigation buttons 93 // Create forward navigation buttons
94 mNextWeek = new QPushButton( mCtrlFrame ); 94 mNextWeek = new QPushButton( mCtrlFrame );
95 mNextWeek->setPixmap( SmallIcon( isDesktop ? "1rightarrowB" : "1rightarrow") ); 95 mNextWeek->setPixmap( SmallIcon( isDesktop ? "1rightarrowB" : "1rightarrow") );
96 QToolTip::add( mNextWeek, i18n("Next Week") ); 96 QToolTip::add( mNextWeek, i18n("Next Week") );
97 97
98 mNextYear = new QPushButton( mCtrlFrame ); 98 mNextYear = new QPushButton( mCtrlFrame );
99 mNextYear->setPixmap( SmallIcon( isDesktop ? "2rightarrowB": "2rightarrow") ); 99 mNextYear->setPixmap( SmallIcon( isDesktop ? "3rightarrowB": "3rightarrow") );
100 QToolTip::add( mNextYear, i18n("Next Year") ); 100 QToolTip::add( mNextYear, i18n("Next Year") );
101 mSelectMonth = new QPushButton( mCtrlFrame ); 101 mSelectMonth = new QPushButton( mCtrlFrame );
102 // Create month name label 102 // Create month name label
103 //selectMonth->setFont( tfont ); 103 //selectMonth->setFont( tfont );
104 // selectMonth->setAlignment( AlignCenter ); 104 // selectMonth->setAlignment( AlignCenter );
105 //mDateLabel = new QLabel( selectMonth ); 105 //mDateLabel = new QLabel( selectMonth );
106 //mDateLabel->setFont( tfont ); 106 //mDateLabel->setFont( tfont );
107 //mDateLabel->setAlignment( AlignCenter ); 107 //mDateLabel->setAlignment( AlignCenter );
108 if ( QString ( name ) == QString("useBigPixmaps") ) { 108 if ( QString ( name ) == QString("useBigPixmaps") ) {
109 mNextMonth->setFlat( true); 109 mNextMonth->setFlat( true);
110 mNextWeek->setFlat( true); 110 mNextWeek->setFlat( true);
111 mNextYear->setFlat( true); 111 mNextYear->setFlat( true);
112 mSelectMonth->setFlat( true); 112 mSelectMonth->setFlat( true);
113 mPrevYear->setFlat( true); 113 mPrevYear->setFlat( true);
114 mPrevMonth->setFlat( true); 114 mPrevMonth->setFlat( true);
115 mPrevWeek->setFlat( true); 115 mPrevWeek->setFlat( true);
116 } else { 116 } else {
117 mPrevWeek->hide(); 117 mPrevWeek->hide();
118 mNextWeek->hide(); 118 mNextWeek->hide();
119 } 119 }
120 120
121 resetFont( font() ); 121 resetFont( font() );
122 122
123 123
124 // set up control frame layout 124 // set up control frame layout
125 QBoxLayout *ctrlLayout = new QHBoxLayout( mCtrlFrame, 1 ); 125 QBoxLayout *ctrlLayout = new QHBoxLayout( mCtrlFrame, 1 );
126 ctrlLayout->addWidget( mPrevYear, 3 ); 126 ctrlLayout->addWidget( mPrevYear, 3 );
127 ctrlLayout->addWidget( mPrevMonth, 3 ); 127 ctrlLayout->addWidget( mPrevMonth, 3 );
128 ctrlLayout->addWidget( mPrevWeek, 3 ); 128 ctrlLayout->addWidget( mPrevWeek, 3 );
129 //ctrlLayout->addStretch( 1 ); 129 //ctrlLayout->addStretch( 1 );
130 // ctrlLayout->addSpacing( 1 ); 130 // ctrlLayout->addSpacing( 1 );
131 // ctrlLayout->addWidget( mDateLabel ); 131 // ctrlLayout->addWidget( mDateLabel );
132 ctrlLayout->addWidget( mSelectMonth ); 132 ctrlLayout->addWidget( mSelectMonth );
133 // ctrlLayout->addSpacing( 1 ); 133 // ctrlLayout->addSpacing( 1 );
134 // ctrlLayout->addStretch( 1 ); 134 // ctrlLayout->addStretch( 1 );
135 ctrlLayout->addWidget( mNextWeek, 3 ); 135 ctrlLayout->addWidget( mNextWeek, 3 );
136 ctrlLayout->addWidget( mNextMonth, 3 ); 136 ctrlLayout->addWidget( mNextMonth, 3 );
137 ctrlLayout->addWidget( mNextYear, 3 ); 137 ctrlLayout->addWidget( mNextYear, 3 );
138 138
139 connect( mPrevYear, SIGNAL( clicked() ), SIGNAL( goPrevYear() ) ); 139 connect( mPrevYear, SIGNAL( clicked() ), SIGNAL( goPrevYear() ) );
140 connect( mPrevMonth, SIGNAL( clicked() ), SIGNAL( goPrevMonth() ) ); 140 connect( mPrevMonth, SIGNAL( clicked() ), SIGNAL( goPrevMonth() ) );
141 connect( mNextMonth, SIGNAL( clicked() ), SIGNAL( goNextMonth() ) ); 141 connect( mNextMonth, SIGNAL( clicked() ), SIGNAL( goNextMonth() ) );
142 connect( mPrevWeek, SIGNAL( clicked() ), SIGNAL( goPrevWeek() ) ); 142 connect( mPrevWeek, SIGNAL( clicked() ), SIGNAL( goPrevWeek() ) );
143 connect( mNextWeek, SIGNAL( clicked() ), SIGNAL( goNextWeek() ) ); 143 connect( mNextWeek, SIGNAL( clicked() ), SIGNAL( goNextWeek() ) );
144 connect( mNextYear, SIGNAL( clicked() ), SIGNAL( goNextYear() ) ); 144 connect( mNextYear, SIGNAL( clicked() ), SIGNAL( goNextYear() ) );
145 connect( mSelectMonth, SIGNAL( clicked() ),SLOT( selectMonth() ) ); 145 connect( mSelectMonth, SIGNAL( clicked() ),SLOT( selectMonth() ) );
146 mPrevYear->setFocusPolicy(NoFocus); 146 mPrevYear->setFocusPolicy(NoFocus);
147 mPrevMonth->setFocusPolicy(NoFocus); 147 mPrevMonth->setFocusPolicy(NoFocus);
148 mNextMonth->setFocusPolicy(NoFocus); 148 mNextMonth->setFocusPolicy(NoFocus);
149 mPrevWeek->setFocusPolicy(NoFocus); 149 mPrevWeek->setFocusPolicy(NoFocus);
150 mNextWeek->setFocusPolicy(NoFocus); 150 mNextWeek->setFocusPolicy(NoFocus);
151 mNextYear->setFocusPolicy(NoFocus); 151 mNextYear->setFocusPolicy(NoFocus);
152 mSelectMonth->setFocusPolicy(NoFocus); 152 mSelectMonth->setFocusPolicy(NoFocus);
153 setSizePolicy( QSizePolicy ( QSizePolicy::Expanding ,QSizePolicy::Fixed ) ); 153 setSizePolicy( QSizePolicy ( QSizePolicy::Expanding ,QSizePolicy::Fixed ) );
154 154
155} 155}
156 156
157NavigatorBar::~NavigatorBar() 157NavigatorBar::~NavigatorBar()
158{ 158{
159} 159}
160QSize NavigatorBar::sizeHint() const 160QSize NavigatorBar::sizeHint() const
161{ 161{
162 int wid = mCurrentMinWid ; 162 int wid = mCurrentMinWid ;
163 if ( mPrevYear->isVisible() ) 163 if ( mPrevYear->isVisible() )