author | umopapisdn <umopapisdn> | 2003-04-12 03:56:46 (UTC) |
---|---|---|
committer | umopapisdn <umopapisdn> | 2003-04-12 03:56:46 (UTC) |
commit | 8c690a7bb709773217ba3d39d3ef769a2414cc72 (patch) (unidiff) | |
tree | a34bae70ee8dc46f40f60150e1703088fbc4da36 | |
parent | 212aef7fd20182fe926644af2ab10a4b49549440 (diff) | |
download | opie-8c690a7bb709773217ba3d39d3ef769a2414cc72.zip opie-8c690a7bb709773217ba3d39d3ef769a2414cc72.tar.gz opie-8c690a7bb709773217ba3d39d3ef769a2414cc72.tar.bz2 |
New feature:
Added a configurable option to make the weeklist view display either no times at all, only start times, or both start and end time.
Also moved the configuration of default view from the menu into the preference dialog.
-rw-r--r-- | core/pim/datebook/datebook.cpp | 380 | ||||
-rw-r--r-- | core/pim/datebook/datebook.h | 8 | ||||
-rw-r--r-- | core/pim/datebook/datebooksettingsbase.ui | 628 | ||||
-rw-r--r-- | core/pim/datebook/datebookweeklst.cpp | 297 | ||||
-rw-r--r-- | core/pim/datebook/datebookweeklst.h | 22 |
5 files changed, 741 insertions, 594 deletions
diff --git a/core/pim/datebook/datebook.cpp b/core/pim/datebook/datebook.cpp index 829f8f8..4fbcb10 100644 --- a/core/pim/datebook/datebook.cpp +++ b/core/pim/datebook/datebook.cpp | |||
@@ -69,14 +69,8 @@ | |||
69 | #include <unistd.h> | 69 | #include <unistd.h> |
70 | 70 | ||
71 | #include <stdlib.h> | 71 | #include <stdlib.h> |
72 | 72 | ||
73 | #define DAY 1 | ||
74 | #define WEEK 2 | ||
75 | #define WEEKLST 4 | ||
76 | #define MONTH 3 | ||
77 | |||
78 | |||
79 | DateBook::DateBook( QWidget *parent, const char *, WFlags f ) | 73 | DateBook::DateBook( QWidget *parent, const char *, WFlags f ) |
80 | : QMainWindow( parent, "datebook", f ), | 74 | : QMainWindow( parent, "datebook", f ), |
81 | aPreset( FALSE ), | 75 | aPreset( FALSE ), |
82 | presetTime( -1 ), | 76 | presetTime( -1 ), |
@@ -165,58 +159,31 @@ DateBook::DateBook( QWidget *parent, const char *, WFlags f ) | |||
165 | a = new QAction( tr( "Find" ), Resource::loadPixmap( "mag" ), QString::null, 0, g, 0 ); | 159 | a = new QAction( tr( "Find" ), Resource::loadPixmap( "mag" ), QString::null, 0, g, 0 ); |
166 | connect( a, SIGNAL(activated()), this, SLOT(slotFind()) ); | 160 | connect( a, SIGNAL(activated()), this, SLOT(slotFind()) ); |
167 | a->addTo( sub_bar ); | 161 | a->addTo( sub_bar ); |
168 | 162 | ||
169 | a = new QAction( tr( "Alarm and Start Time..." ), QString::null, 0, 0 ); | 163 | a = new QAction( tr( "Edit..." ), QString::null, 0, 0 ); |
170 | connect( a, SIGNAL( activated() ), this, SLOT( slotSettings() ) ); | 164 | connect( a, SIGNAL( activated() ), this, SLOT( slotSettings() ) ); |
171 | a->addTo( settings ); | 165 | a->addTo( settings ); |
172 | 166 | ||
173 | QPopupMenu *default_view = new QPopupMenu(this); | 167 | if(defaultView==DAY) viewDay(); |
174 | settings->insertItem( tr( "Default View" ),default_view ); | 168 | if(defaultView==WEEK) needEvilHack=true;// viewWeek(); |
175 | default_view->setCheckable(TRUE); | 169 | if(defaultView==WEEKLST) viewWeekLst(); |
176 | 170 | if(defaultView==MONTH) viewMonth(); | |
177 | Config config("DateBook"); | 171 | |
178 | config.setGroup("Main"); | 172 | connect( qApp, SIGNAL(clockChanged(bool)), this, SLOT(changeClock(bool)) ); |
179 | int current=config.readNumEntry("defaultview", DAY); | 173 | connect( qApp, SIGNAL(weekChanged(bool)), this, SLOT(changeWeek(bool)) ); |
180 | |||
181 | QActionGroup *ag = new QActionGroup(this); | ||
182 | a = new QAction( tr( "Day" ), QString::null, 0, 0, 0, true ); | ||
183 | if (current==DAY) a->setOn(true), viewDay(); | ||
184 | ag->insert(a); | ||
185 | a = new QAction( tr( "Week" ), QString::null, 0, 0, 0, true ); | ||
186 | if (current==WEEK) a->setOn(true), /*viewWeek(),*/ needEvilHack = true; | ||
187 | ag->insert(a); | ||
188 | a = new QAction( tr( "WeekLst" ), QString::null, 0, 0, 0, true ); | ||
189 | if (current==WEEKLST) a->setOn(true), viewWeekLst(); | ||
190 | ag->insert(a); | ||
191 | a = new QAction( tr( "Month" ), QString::null, 0, 0, 0, true ); | ||
192 | if (current==MONTH) a->setOn(true), viewMonth(); | ||
193 | ag->insert(a); | ||
194 | |||
195 | ag->addTo(default_view); | ||
196 | connect(ag, SIGNAL( selected ( QAction * ) ), | ||
197 | this, SLOT( newDefaultView(QAction *) ) | ||
198 | ); | ||
199 | |||
200 | connect( qApp, SIGNAL(clockChanged(bool)), | ||
201 | this, SLOT(changeClock(bool)) ); | ||
202 | connect( qApp, SIGNAL(weekChanged(bool)), | ||
203 | this, SLOT(changeWeek(bool)) ); | ||
204 | 174 | ||
205 | #if defined(Q_WS_QWS) && !defined(QT_NO_COP) | 175 | #if defined(Q_WS_QWS) && !defined(QT_NO_COP) |
206 | connect( qApp, SIGNAL(appMessage(const QCString&, const QByteArray&)), | 176 | connect( qApp, SIGNAL(appMessage(const QCString&, const QByteArray&)), this, SLOT(appMessage(const QCString&, const QByteArray&)) ); |
207 | this, SLOT(appMessage(const QCString&, const QByteArray&)) ); | ||
208 | #endif | 177 | #endif |
209 | 178 | ||
210 | // listen on QPE/System | 179 | // listen on QPE/System |
211 | #if defined(Q_WS_QWS) | 180 | #if defined(Q_WS_QWS) |
212 | #if !defined(QT_NO_COP) | 181 | #if !defined(QT_NO_COP) |
213 | QCopChannel *channel = new QCopChannel( "QPE/System", this ); | 182 | QCopChannel *channel = new QCopChannel( "QPE/System", this ); |
214 | connect( channel, SIGNAL(received(const QCString&, const QByteArray&)), | 183 | connect( channel, SIGNAL(received(const QCString&, const QByteArray&)), this, SLOT(receive(const QCString&, const QByteArray&)) ); |
215 | this, SLOT(receive(const QCString&, const QByteArray&)) ); | ||
216 | channel = new QCopChannel( "QPE/Datebook", this ); | 184 | channel = new QCopChannel( "QPE/Datebook", this ); |
217 | connect( channel, SIGNAL(received(const QCString&, const QByteArray&)), | 185 | connect( channel, SIGNAL(received(const QCString&, const QByteArray&)), this, SLOT(receive(const QCString&, const QByteArray&)) ); |
218 | this, SLOT(receive(const QCString&, const QByteArray&)) ); | ||
219 | qDebug("olle\n"); | 186 | qDebug("olle\n"); |
220 | #endif | 187 | #endif |
221 | #endif | 188 | #endif |
222 | 189 | ||
@@ -266,13 +233,16 @@ DateBook::~DateBook() | |||
266 | } | 233 | } |
267 | 234 | ||
268 | void DateBook::slotSettings() | 235 | void DateBook::slotSettings() |
269 | { | 236 | { |
270 | DateBookSettings frmSettings( ampm, this ); | 237 | DateBookSettings frmSettings( ampm, this ); |
271 | frmSettings.setStartTime( startTime ); | 238 | frmSettings.setStartTime( startTime ); |
272 | frmSettings.setAlarmPreset( aPreset, presetTime ); | 239 | frmSettings.setAlarmPreset( aPreset, presetTime ); |
273 | frmSettings.setJumpToCurTime( bJumpToCurTime ); | 240 | frmSettings.setJumpToCurTime( bJumpToCurTime ); |
274 | frmSettings.setRowStyle( rowStyle ); | 241 | frmSettings.setRowStyle( rowStyle ); |
242 | frmSettings.comboDefaultView->setCurrentItem(defaultView-1); | ||
243 | frmSettings.comboWeekListView->setCurrentItem(weeklistviewconfig); | ||
244 | |||
275 | #if defined (Q_WS_QWS) || defined(_WS_QWS_) | 245 | #if defined (Q_WS_QWS) || defined(_WS_QWS_) |
276 | frmSettings.showMaximized(); | 246 | frmSettings.showMaximized(); |
277 | #endif | 247 | #endif |
278 | 248 | ||
@@ -282,8 +252,10 @@ void DateBook::slotSettings() | |||
282 | presetTime = frmSettings.presetTime(); | 252 | presetTime = frmSettings.presetTime(); |
283 | startTime = frmSettings.startTime(); | 253 | startTime = frmSettings.startTime(); |
284 | bJumpToCurTime = frmSettings.jumpToCurTime(); | 254 | bJumpToCurTime = frmSettings.jumpToCurTime(); |
285 | rowStyle = frmSettings.rowStyle(); | 255 | rowStyle = frmSettings.rowStyle(); |
256 | defaultView=frmSettings.comboDefaultView->currentItem()+1; | ||
257 | weeklistviewconfig=frmSettings.comboWeekListView->currentItem(); | ||
286 | 258 | ||
287 | if ( dayView ) { | 259 | if ( dayView ) { |
288 | dayView->setStartViewTime( startTime ); | 260 | dayView->setStartViewTime( startTime ); |
289 | dayView->setJumpToCurTime( bJumpToCurTime ); | 261 | dayView->setJumpToCurTime( bJumpToCurTime ); |
@@ -299,8 +271,10 @@ void DateBook::slotSettings() | |||
299 | if ( views->visibleWidget() == dayView ) | 271 | if ( views->visibleWidget() == dayView ) |
300 | dayView->redraw(); | 272 | dayView->redraw(); |
301 | else if ( views->visibleWidget() == weekView ) | 273 | else if ( views->visibleWidget() == weekView ) |
302 | weekView->redraw(); | 274 | weekView->redraw(); |
275 | else if ( views->visibleWidget() == weekLstView ) | ||
276 | weekLstView->redraw(); | ||
303 | } | 277 | } |
304 | } | 278 | } |
305 | } | 279 | } |
306 | 280 | ||
@@ -382,13 +356,16 @@ void DateBook::view(int v, const QDate &d) { | |||
382 | } | 356 | } |
383 | } | 357 | } |
384 | 358 | ||
385 | void DateBook::viewDefault(const QDate &d) { | 359 | void DateBook::viewDefault(const QDate &d) { |
360 | /* | ||
386 | Config config("DateBook"); | 361 | Config config("DateBook"); |
387 | config.setGroup("Main"); | 362 | config.setGroup("Main"); |
388 | int current=config.readNumEntry("defaultview", DAY); | 363 | int current=config.readNumEntry("defaultview", DAY); |
389 | 364 | ||
390 | view(current,d); | 365 | view(current,d); |
366 | */ | ||
367 | view(defaultView,d); | ||
391 | } | 368 | } |
392 | 369 | ||
393 | void DateBook::viewDay() { | 370 | void DateBook::viewDay() { |
394 | view(DAY,currentDate()); | 371 | view(DAY,currentDate()); |
@@ -607,223 +584,204 @@ void DateBook::initMonth() | |||
607 | } | 584 | } |
608 | 585 | ||
609 | void DateBook::loadSettings() | 586 | void DateBook::loadSettings() |
610 | { | 587 | { |
611 | { | 588 | Config qpeconfig( "qpe" ); |
612 | Config config( "qpe" ); | 589 | qpeconfig.setGroup("Time"); |
613 | config.setGroup("Time"); | 590 | ampm = qpeconfig.readBoolEntry( "AMPM", TRUE ); |
614 | ampm = config.readBoolEntry( "AMPM", TRUE ); | 591 | onMonday = qpeconfig.readBoolEntry( "MONDAY" ); |
615 | onMonday = config.readBoolEntry( "MONDAY" ); | ||
616 | } | ||
617 | 592 | ||
618 | { | ||
619 | Config config("DateBook"); | 593 | Config config("DateBook"); |
620 | config.setGroup("Main"); | 594 | config.setGroup("Main"); |
621 | startTime = config.readNumEntry("startviewtime", 8); | 595 | startTime = config.readNumEntry("startviewtime", 8); |
622 | aPreset = config.readBoolEntry("alarmpreset"); | 596 | aPreset = config.readBoolEntry("alarmpreset"); |
623 | presetTime = config.readNumEntry("presettime"); | 597 | presetTime = config.readNumEntry("presettime"); |
624 | bJumpToCurTime = config.readBoolEntry("jumptocurtime"); | 598 | bJumpToCurTime = config.readBoolEntry("jumptocurtime"); |
625 | rowStyle = config.readNumEntry("rowstyle"); | 599 | rowStyle = config.readNumEntry("rowstyle"); |
626 | } | 600 | defaultView = config.readNumEntry("defaultview",DAY); |
601 | weeklistviewconfig = config.readNumEntry("weeklistviewconfig",NORMAL); | ||
627 | } | 602 | } |
628 | 603 | ||
629 | void DateBook::saveSettings() | 604 | void DateBook::saveSettings() |
630 | { | 605 | { |
631 | Config config( "qpe" ); | 606 | Config config( "qpe" ); |
632 | Config configDB( "DateBook" ); | 607 | Config configDB( "DateBook" ); |
633 | configDB.setGroup( "Main" ); | 608 | configDB.setGroup( "Main" ); |
634 | configDB.writeEntry("startviewtime",startTime); | 609 | configDB.writeEntry("startviewtime",startTime); |
635 | configDB.writeEntry("alarmpreset",aPreset); | 610 | configDB.writeEntry("alarmpreset",aPreset); |
636 | configDB.writeEntry("presettime",presetTime); | 611 | configDB.writeEntry("presettime",presetTime); |
637 | configDB.writeEntry("jumptocurtime", bJumpToCurTime); | 612 | configDB.writeEntry("jumptocurtime", bJumpToCurTime); |
638 | configDB.writeEntry("rowstyle", rowStyle); | 613 | configDB.writeEntry("rowstyle", rowStyle); |
639 | } | 614 | configDB.writeEntry("defaultview",defaultView); |
640 | 615 | configDB.writeEntry("weeklistviewconfig",weeklistviewconfig); | |
641 | void DateBook::newDefaultView(QAction *a) { | ||
642 | int val=DAY; | ||
643 | if (a->text() == "Day") val=DAY; | ||
644 | if (a->text() == "Week") val=WEEK; | ||
645 | if (a->text() == "WeekLst") val=WEEKLST; | ||
646 | if (a->text() == "Month") val=MONTH; | ||
647 | |||
648 | Config configDB( "DateBook" ); | ||
649 | configDB.setGroup( "Main" ); | ||
650 | configDB.writeEntry("defaultview",val); | ||
651 | } | 616 | } |
652 | 617 | ||
653 | void DateBook::appMessage(const QCString& msg, const QByteArray& data) | 618 | void DateBook::appMessage(const QCString& msg, const QByteArray& data) |
654 | { | 619 | { |
655 | bool needShow = FALSE; | 620 | bool needShow = FALSE; |
656 | if ( msg == "alarm(QDateTime,int)" ) { | 621 | if ( msg == "alarm(QDateTime,int)" ) { |
657 | QDataStream ds(data,IO_ReadOnly); | 622 | QDataStream ds(data,IO_ReadOnly); |
658 | QDateTime when; int warn; | 623 | QDateTime when; int warn; |
659 | ds >> when >> warn; | 624 | ds >> when >> warn; |
660 | 625 | ||
661 | // check to make it's okay to continue, | 626 | // check to make it's okay to continue, |
662 | // this is the case that the time was set ahead, and | 627 | // this is the case that the time was set ahead, and |
663 | // we are forced given a stale alarm... | 628 | // we are forced given a stale alarm... |
664 | QDateTime current = QDateTime::currentDateTime(); | 629 | QDateTime current = QDateTime::currentDateTime(); |
665 | if ( current.time().hour() != when.time().hour() | 630 | if ( current.time().hour() != when.time().hour() && current.time().minute() != when.time().minute() ) |
666 | && current.time().minute() != when.time().minute() ) | 631 | return; |
667 | return; | 632 | |
668 | 633 | QValueList<EffectiveEvent> list = db->getEffectiveEvents(when.addSecs(warn*60)); | |
669 | QValueList<EffectiveEvent> list = db->getEffectiveEvents(when.addSecs(warn*60)); | 634 | if ( list.count() > 0 ) { |
670 | if ( list.count() > 0 ) { | 635 | QString msg; |
671 | QString msg; | 636 | bool bSound = FALSE; |
672 | bool bSound = FALSE; | 637 | int stopTimer = 0; |
673 | int stopTimer = 0; | 638 | bool found = FALSE; |
674 | bool found = FALSE; | 639 | for ( QValueList<EffectiveEvent>::ConstIterator it=list.begin(); it!=list.end(); ++it ) { |
675 | for ( QValueList<EffectiveEvent>::ConstIterator it=list.begin(); | 640 | if ( (*it).event().hasAlarm() ) { |
676 | it!=list.end(); ++it ) { | 641 | found = TRUE; |
677 | if ( (*it).event().hasAlarm() ) { | 642 | msg += "<CENTER><B>" + (*it).description() + "</B>" |
678 | found = TRUE; | 643 | + "<BR>" + (*it).location() + "<BR>" |
679 | msg += "<CENTER><B>" + (*it).description() + "</B>" | 644 | + TimeString::dateString((*it).event().start(),ampm) |
680 | + "<BR>" + (*it).location() + "<BR>" | 645 | + (warn |
681 | + TimeString::dateString((*it).event().start(),ampm) | 646 | ? tr(" (in " + QString::number(warn) |
682 | + (warn | 647 | + tr(" minutes)")) |
683 | ? tr(" (in " + QString::number(warn) | 648 | : QString("")) |
684 | + tr(" minutes)")) | 649 | + "<BR>" |
685 | : QString("")) | 650 | + (*it).notes() + "</CENTER>"; |
686 | + "<BR>" | 651 | if ( (*it).event().alarmSound() != Event::Silent ) { |
687 | + (*it).notes() + "</CENTER>"; | 652 | bSound = TRUE; |
688 | if ( (*it).event().alarmSound() != Event::Silent ) { | 653 | } |
689 | bSound = TRUE; | 654 | } |
690 | } | 655 | } |
691 | } | 656 | if ( found ) { |
692 | } | 657 | if ( bSound ) { |
693 | if ( found ) { | 658 | Sound::soundAlarm(); |
694 | if ( bSound ) { | 659 | alarmCounter = 0; |
695 | Sound::soundAlarm(); | 660 | stopTimer = startTimer( 5000 ); |
696 | alarmCounter = 0; | 661 | } |
697 | stopTimer = startTimer( 5000 ); | 662 | QDialog dlg( this, 0, TRUE ); |
698 | } | 663 | QVBoxLayout *vb = new QVBoxLayout( &dlg ); |
699 | 664 | QScrollView *view = new QScrollView( &dlg, "scrollView"); | |
700 | QDialog dlg( this, 0, TRUE ); | 665 | view->setResizePolicy( QScrollView::AutoOneFit ); |
701 | QVBoxLayout *vb = new QVBoxLayout( &dlg ); | 666 | vb->addWidget( view ); |
702 | QScrollView *view = new QScrollView( &dlg, "scrollView"); | 667 | QLabel *lblMsg = new QLabel( msg, &dlg ); |
703 | view->setResizePolicy( QScrollView::AutoOneFit ); | 668 | view->addChild( lblMsg ); |
704 | vb->addWidget( view ); | 669 | QPushButton *cmdOk = new QPushButton( tr("OK"), &dlg ); |
705 | QLabel *lblMsg = new QLabel( msg, &dlg ); | 670 | connect( cmdOk, SIGNAL(clicked()), &dlg, SLOT(accept()) ); |
706 | view->addChild( lblMsg ); | 671 | vb->addWidget( cmdOk ); |
707 | QPushButton *cmdOk = new QPushButton( tr("OK"), &dlg ); | ||
708 | connect( cmdOk, SIGNAL(clicked()), &dlg, SLOT(accept()) ); | ||
709 | vb->addWidget( cmdOk ); | ||
710 | 672 | ||
711 | #if defined(Q_WS_QWS) || defined(_WS_QWS_) | 673 | #if defined(Q_WS_QWS) || defined(_WS_QWS_) |
712 | dlg.showMaximized(); | 674 | dlg.showMaximized(); |
713 | #endif | 675 | #endif |
714 | needShow = dlg.exec(); | 676 | needShow = dlg.exec(); |
715 | 677 | ||
716 | if ( bSound ) | 678 | if ( bSound ) |
717 | killTimer( stopTimer ); | 679 | killTimer( stopTimer ); |
718 | } | 680 | } |
719 | } | 681 | } |
720 | } else if ( msg == "nextView()" ) { | 682 | } else if ( msg == "nextView()" ) { |
721 | if ( !qApp-> activeWindow ( )) { | 683 | if ( !qApp-> activeWindow ( )) { |
722 | needShow = TRUE; | 684 | needShow = TRUE; |
723 | } | 685 | } else { |
724 | else { | 686 | QWidget* cur = views->visibleWidget(); |
725 | QWidget* cur = views->visibleWidget(); | 687 | if ( cur ) { |
726 | if ( cur ) { | 688 | if ( cur == dayView ) |
727 | if ( cur == dayView ) | 689 | viewWeek(); |
728 | viewWeek(); | 690 | else if ( cur == weekView ) |
729 | else if ( cur == weekView ) | 691 | viewWeekLst(); |
730 | viewWeekLst(); | 692 | else if ( cur == weekLstView ) |
731 | else if ( cur == weekLstView ) | 693 | viewMonth(); |
732 | viewMonth(); | 694 | else if ( cur == monthView ) |
733 | else if ( cur == monthView ) | 695 | viewDay(); |
734 | viewDay(); | 696 | needShow = TRUE; |
735 | needShow = TRUE; | 697 | } |
736 | } | 698 | } |
737 | } | ||
738 | } | 699 | } |
739 | if ( needShow ) { | 700 | if ( needShow ) { |
740 | #if defined(Q_WS_QWS) || defined(_WS_QWS_) | 701 | #if defined(Q_WS_QWS) || defined(_WS_QWS_) |
741 | showMaximized(); | 702 | showMaximized(); |
742 | #else | 703 | #else |
743 | show(); | 704 | show(); |
744 | #endif | 705 | #endif |
745 | raise(); | 706 | raise(); |
746 | QPEApplication::setKeepRunning(); | 707 | QPEApplication::setKeepRunning(); |
747 | setActiveWindow(); | 708 | setActiveWindow(); |
748 | } | 709 | } |
749 | } | 710 | } |
750 | 711 | ||
751 | void DateBook::reload() | 712 | void DateBook::reload() |
752 | { | 713 | { |
753 | db->reload(); | 714 | db->reload(); |
754 | if ( dayAction->isOn() ) | 715 | if ( dayAction->isOn() ) viewDay(); |
755 | viewDay(); | 716 | else if ( weekAction->isOn() ) viewWeek(); |
756 | else if ( weekAction->isOn() ) | 717 | else if ( monthAction->isOn() ) viewMonth(); |
757 | viewWeek(); | 718 | syncing = FALSE; |
758 | else if ( monthAction->isOn() ) | ||
759 | viewMonth(); | ||
760 | syncing = FALSE; | ||
761 | } | 719 | } |
762 | 720 | ||
763 | void DateBook::flush() | 721 | void DateBook::flush() |
764 | { | 722 | { |
765 | syncing = TRUE; | 723 | syncing = TRUE; |
766 | db->save(); | 724 | db->save(); |
767 | } | 725 | } |
768 | 726 | ||
769 | void DateBook::timerEvent( QTimerEvent *e ) | 727 | void DateBook::timerEvent( QTimerEvent *e ) |
770 | { | 728 | { |
771 | if ( alarmCounter < 10 ) { | 729 | if ( alarmCounter < 10 ) { |
772 | alarmCounter++; | 730 | alarmCounter++; |
773 | Sound::soundAlarm(); | 731 | Sound::soundAlarm(); |
774 | } | 732 | } else { |
775 | else | 733 | killTimer( e->timerId() ); |
776 | killTimer( e->timerId() ); | 734 | } |
777 | } | 735 | } |
778 | 736 | ||
779 | void DateBook::changeClock( bool newClock ) | 737 | void DateBook::changeClock( bool newClock ) |
780 | { | 738 | { |
781 | ampm = newClock; | 739 | ampm = newClock; |
782 | // repaint the affected objects... | 740 | // repaint the affected objects... |
783 | if (dayView) dayView->redraw(); | 741 | if (dayView) dayView->redraw(); |
784 | if (weekView) weekView->redraw(); | 742 | if (weekView) weekView->redraw(); |
785 | if (weekLstView) weekLstView->redraw(); | 743 | if (weekLstView) weekLstView->redraw(); |
786 | } | 744 | } |
787 | 745 | ||
788 | void DateBook::changeWeek( bool m ) | 746 | void DateBook::changeWeek( bool m ) |
789 | { | 747 | { |
790 | /* no need to redraw, each widget catches. Do need to | 748 | /* no need to redraw, each widget catches. Do need to |
791 | store though for widgets we haven't made yet */ | 749 | store though for widgets we haven't made yet */ |
792 | onMonday = m; | 750 | onMonday = m; |
793 | } | 751 | } |
794 | 752 | ||
795 | void DateBook::slotToday() | 753 | void DateBook::slotToday() |
796 | { | 754 | { |
797 | // we need to view today using default view | 755 | // we need to view today using default view |
798 | viewDefault(QDate::currentDate()); | 756 | view(defaultView,QDate::currentDate()); |
799 | } | 757 | } |
800 | 758 | ||
801 | void DateBook::closeEvent( QCloseEvent *e ) | 759 | void DateBook::closeEvent( QCloseEvent *e ) |
802 | { | 760 | { |
803 | if(syncing) { | 761 | if(syncing) { |
804 | /* no need to save, did that at flush */ | 762 | /* no need to save, did that at flush */ |
805 | e->accept(); | 763 | e->accept(); |
806 | return; | 764 | return; |
807 | } | 765 | } |
808 | 766 | ||
809 | // save settings will generate it's own error messages, no | 767 | // save settings will generate it's own error messages, no |
810 | // need to do checking ourselves. | 768 | // need to do checking ourselves. |
811 | saveSettings(); | 769 | saveSettings(); |
812 | if ( db->save() ) | 770 | if ( db->save() ) { |
813 | e->accept(); | 771 | e->accept(); |
814 | else { | 772 | } else { |
815 | if ( QMessageBox::critical( this, tr( "Out of space" ), | 773 | if ( QMessageBox::critical( this, tr( "Out of space" ), |
816 | tr("Calendar was unable to save\n" | 774 | tr("Calendar was unable to save\n" |
817 | "your changes.\n" | 775 | "your changes.\n" |
818 | "Free up some space and try again.\n" | 776 | "Free up some space and try again.\n" |
819 | "\nQuit anyway?"), | 777 | "\nQuit anyway?"), |
820 | QMessageBox::Yes|QMessageBox::Escape, | 778 | QMessageBox::Yes|QMessageBox::Escape, |
821 | QMessageBox::No|QMessageBox::Default ) | 779 | QMessageBox::No|QMessageBox::Default ) |
822 | != QMessageBox::No ) | 780 | != QMessageBox::No ) |
823 | e->accept(); | 781 | e->accept(); |
824 | else | 782 | else |
825 | e->ignore(); | 783 | e->ignore(); |
826 | } | 784 | } |
827 | } | 785 | } |
828 | 786 | ||
829 | // Entering directly from the "keyboard" | 787 | // Entering directly from the "keyboard" |
diff --git a/core/pim/datebook/datebook.h b/core/pim/datebook/datebook.h index 623862b..5216770 100644 --- a/core/pim/datebook/datebook.h +++ b/core/pim/datebook/datebook.h | |||
@@ -23,8 +23,11 @@ | |||
23 | #include <qpe/datebookdb.h> | 23 | #include <qpe/datebookdb.h> |
24 | 24 | ||
25 | #include <qmainwindow.h> | 25 | #include <qmainwindow.h> |
26 | 26 | ||
27 | enum { DAY=1,WEEK,WEEKLST,MONTH };// defaultView values | ||
28 | enum { NONE=0,NORMAL,EXTENDED };// WeekLstView's modes. | ||
29 | |||
27 | class QAction; | 30 | class QAction; |
28 | class QWidgetStack; | 31 | class QWidgetStack; |
29 | class DateBookDay; | 32 | class DateBookDay; |
30 | class DateBookWeek; | 33 | class DateBookWeek; |
@@ -66,9 +69,8 @@ public slots: | |||
66 | private slots: | 69 | private slots: |
67 | void fileNew(); | 70 | void fileNew(); |
68 | void slotNewEntry(const QDateTime &start, const QDateTime &end, const QString &str, const QString &location=0); | 71 | void slotNewEntry(const QDateTime &start, const QDateTime &end, const QString &str, const QString &location=0); |
69 | void slotSettings(); | 72 | void slotSettings(); |
70 | void newDefaultView(QAction *a); | ||
71 | void slotToday();// view today | 73 | void slotToday();// view today |
72 | void changeClock( bool newClock ); | 74 | void changeClock( bool newClock ); |
73 | void changeWeek( bool newDay ); | 75 | void changeWeek( bool newDay ); |
74 | void appMessage(const QCString& msg, const QByteArray& data); | 76 | void appMessage(const QCString& msg, const QByteArray& data); |
@@ -111,13 +113,15 @@ private: | |||
111 | DateBookWeek *weekView; | 113 | DateBookWeek *weekView; |
112 | DateBookMonth *monthView; | 114 | DateBookMonth *monthView; |
113 | DateBookWeekLst *weekLstView; | 115 | DateBookWeekLst *weekLstView; |
114 | QAction *dayAction, *weekAction, *weekLstAction, *monthAction; | 116 | QAction *dayAction, *weekAction, *weekLstAction, *monthAction; |
117 | int weeklistviewconfig; | ||
115 | bool aPreset; // have everything set to alarm? | 118 | bool aPreset; // have everything set to alarm? |
116 | int presetTime; // the standard time for the alarm | 119 | int presetTime; // the standard time for the alarm |
117 | int startTime; | 120 | int startTime; |
118 | int rowStyle; | 121 | int rowStyle; |
119 | bool bJumpToCurTime; //should jump to current time in dayview? | 122 | int defaultView; |
123 | bool bJumpToCurTime; //should jump to current time in dayview? | ||
120 | bool ampm; | 124 | bool ampm; |
121 | bool onMonday; | 125 | bool onMonday; |
122 | 126 | ||
123 | bool syncing; | 127 | bool syncing; |
diff --git a/core/pim/datebook/datebooksettingsbase.ui b/core/pim/datebook/datebooksettingsbase.ui index 816a441..3836330 100644 --- a/core/pim/datebook/datebooksettingsbase.ui +++ b/core/pim/datebook/datebooksettingsbase.ui | |||
@@ -31,10 +31,10 @@ | |||
31 | <name>geometry</name> | 31 | <name>geometry</name> |
32 | <rect> | 32 | <rect> |
33 | <x>0</x> | 33 | <x>0</x> |
34 | <y>0</y> | 34 | <y>0</y> |
35 | <width>220</width> | 35 | <width>273</width> |
36 | <height>290</height> | 36 | <height>303</height> |
37 | </rect> | 37 | </rect> |
38 | </property> | 38 | </property> |
39 | <property stdset="1"> | 39 | <property stdset="1"> |
40 | <name>caption</name> | 40 | <name>caption</name> |
@@ -45,85 +45,47 @@ | |||
45 | </property> | 45 | </property> |
46 | <property> | 46 | <property> |
47 | <name>layoutSpacing</name> | 47 | <name>layoutSpacing</name> |
48 | </property> | 48 | </property> |
49 | <grid> | 49 | <vbox> |
50 | <property stdset="1"> | 50 | <property stdset="1"> |
51 | <name>margin</name> | 51 | <name>margin</name> |
52 | <number>11</number> | 52 | <number>11</number> |
53 | </property> | 53 | </property> |
54 | <property stdset="1"> | 54 | <property stdset="1"> |
55 | <name>spacing</name> | 55 | <name>spacing</name> |
56 | <number>6</number> | 56 | <number>6</number> |
57 | </property> | 57 | </property> |
58 | <widget row="0" column="0" > | 58 | <widget> |
59 | <class>QGroupBox</class> | 59 | <class>QTabWidget</class> |
60 | <property stdset="1"> | 60 | <property stdset="1"> |
61 | <name>name</name> | 61 | <name>name</name> |
62 | <cstring>fraStart</cstring> | 62 | <cstring>TabWidget2</cstring> |
63 | </property> | ||
64 | <property stdset="1"> | ||
65 | <name>frameShape</name> | ||
66 | <enum>Box</enum> | ||
67 | </property> | ||
68 | <property stdset="1"> | ||
69 | <name>frameShadow</name> | ||
70 | <enum>Sunken</enum> | ||
71 | </property> | ||
72 | <property stdset="1"> | ||
73 | <name>title</name> | ||
74 | <string>Start viewing events</string> | ||
75 | </property> | 63 | </property> |
76 | <widget> | 64 | <widget> |
77 | <class>QLayoutWidget</class> | 65 | <class>QWidget</class> |
78 | <property stdset="1"> | 66 | <property stdset="1"> |
79 | <name>name</name> | 67 | <name>name</name> |
80 | <cstring>Layout6</cstring> | 68 | <cstring>tab</cstring> |
81 | </property> | 69 | </property> |
82 | <property stdset="1"> | 70 | <attribute> |
83 | <name>geometry</name> | 71 | <name>title</name> |
84 | <rect> | 72 | <string>Views</string> |
85 | <x>3</x> | 73 | </attribute> |
86 | <y>21</y> | 74 | <vbox> |
87 | <width>210</width> | ||
88 | <height>53</height> | ||
89 | </rect> | ||
90 | </property> | ||
91 | <grid> | ||
92 | <property stdset="1"> | 75 | <property stdset="1"> |
93 | <name>margin</name> | 76 | <name>margin</name> |
94 | <number>0</number> | 77 | <number>11</number> |
95 | </property> | 78 | </property> |
96 | <property stdset="1"> | 79 | <property stdset="1"> |
97 | <name>spacing</name> | 80 | <name>spacing</name> |
98 | <number>6</number> | 81 | <number>6</number> |
99 | </property> | 82 | </property> |
100 | <spacer row="1" column="0" > | 83 | <widget> |
101 | <property> | ||
102 | <name>name</name> | ||
103 | <cstring>Spacer1</cstring> | ||
104 | </property> | ||
105 | <property stdset="1"> | ||
106 | <name>orientation</name> | ||
107 | <enum>Vertical</enum> | ||
108 | </property> | ||
109 | <property stdset="1"> | ||
110 | <name>sizeType</name> | ||
111 | <enum>Expanding</enum> | ||
112 | </property> | ||
113 | <property> | ||
114 | <name>sizeHint</name> | ||
115 | <size> | ||
116 | <width>20</width> | ||
117 | <height>20</height> | ||
118 | </size> | ||
119 | </property> | ||
120 | </spacer> | ||
121 | <widget row="0" column="0" > | ||
122 | <class>QLayoutWidget</class> | 84 | <class>QLayoutWidget</class> |
123 | <property stdset="1"> | 85 | <property stdset="1"> |
124 | <name>name</name> | 86 | <name>name</name> |
125 | <cstring>Layout1</cstring> | 87 | <cstring>Layout5</cstring> |
126 | </property> | 88 | </property> |
127 | <hbox> | 89 | <hbox> |
128 | <property stdset="1"> | 90 | <property stdset="1"> |
129 | <name>margin</name> | 91 | <name>margin</name> |
@@ -132,108 +94,108 @@ | |||
132 | <property stdset="1"> | 94 | <property stdset="1"> |
133 | <name>spacing</name> | 95 | <name>spacing</name> |
134 | <number>6</number> | 96 | <number>6</number> |
135 | </property> | 97 | </property> |
98 | <spacer> | ||
99 | <property> | ||
100 | <name>name</name> | ||
101 | <cstring>Spacer1</cstring> | ||
102 | </property> | ||
103 | <property stdset="1"> | ||
104 | <name>orientation</name> | ||
105 | <enum>Horizontal</enum> | ||
106 | </property> | ||
107 | <property stdset="1"> | ||
108 | <name>sizeType</name> | ||
109 | <enum>Expanding</enum> | ||
110 | </property> | ||
111 | <property> | ||
112 | <name>sizeHint</name> | ||
113 | <size> | ||
114 | <width>20</width> | ||
115 | <height>20</height> | ||
116 | </size> | ||
117 | </property> | ||
118 | </spacer> | ||
136 | <widget> | 119 | <widget> |
137 | <class>QLabel</class> | 120 | <class>QLabel</class> |
138 | <property stdset="1"> | 121 | <property stdset="1"> |
139 | <name>name</name> | 122 | <name>name</name> |
140 | <cstring>lblStartTime</cstring> | 123 | <cstring>TextLabel1_2</cstring> |
141 | </property> | 124 | </property> |
142 | <property stdset="1"> | 125 | <property stdset="1"> |
143 | <name>text</name> | 126 | <name>text</name> |
144 | <string>Start Time:</string> | 127 | <string>Default view:</string> |
145 | </property> | 128 | </property> |
146 | </widget> | 129 | </widget> |
147 | <widget> | 130 | <widget> |
148 | <class>QSpinBox</class> | 131 | <class>QComboBox</class> |
132 | <item> | ||
133 | <property> | ||
134 | <name>text</name> | ||
135 | <string>Day</string> | ||
136 | </property> | ||
137 | </item> | ||
138 | <item> | ||
139 | <property> | ||
140 | <name>text</name> | ||
141 | <string>Week</string> | ||
142 | </property> | ||
143 | </item> | ||
144 | <item> | ||
145 | <property> | ||
146 | <name>text</name> | ||
147 | <string>Week List</string> | ||
148 | </property> | ||
149 | </item> | ||
150 | <item> | ||
151 | <property> | ||
152 | <name>text</name> | ||
153 | <string>Month</string> | ||
154 | </property> | ||
155 | </item> | ||
149 | <property stdset="1"> | 156 | <property stdset="1"> |
150 | <name>name</name> | 157 | <name>name</name> |
151 | <cstring>spinStart</cstring> | 158 | <cstring>comboDefaultView</cstring> |
152 | </property> | 159 | </property> |
153 | <property stdset="1"> | 160 | </widget> |
154 | <name>suffix</name> | 161 | <spacer> |
155 | <string>:00</string> | 162 | <property> |
163 | <name>name</name> | ||
164 | <cstring>Spacer2</cstring> | ||
156 | </property> | 165 | </property> |
157 | <property stdset="1"> | 166 | <property stdset="1"> |
158 | <name>wrapping</name> | 167 | <name>orientation</name> |
159 | <bool>true</bool> | 168 | <enum>Horizontal</enum> |
160 | </property> | 169 | </property> |
161 | <property stdset="1"> | 170 | <property stdset="1"> |
162 | <name>maxValue</name> | 171 | <name>sizeType</name> |
163 | <number>23</number> | 172 | <enum>Expanding</enum> |
164 | </property> | 173 | </property> |
165 | </widget> | 174 | <property> |
175 | <name>sizeHint</name> | ||
176 | <size> | ||
177 | <width>20</width> | ||
178 | <height>20</height> | ||
179 | </size> | ||
180 | </property> | ||
181 | </spacer> | ||
166 | </hbox> | 182 | </hbox> |
167 | </widget> | 183 | </widget> |
168 | </grid> | 184 | <widget> |
169 | </widget> | 185 | <class>QGroupBox</class> |
170 | </widget> | ||
171 | <widget row="1" column="0" > | ||
172 | <class>QGroupBox</class> | ||
173 | <property stdset="1"> | ||
174 | <name>name</name> | ||
175 | <cstring>fraAlarm</cstring> | ||
176 | </property> | ||
177 | <property stdset="1"> | ||
178 | <name>title</name> | ||
179 | <string>Alarm Settings</string> | ||
180 | </property> | ||
181 | <widget> | ||
182 | <class>QLayoutWidget</class> | ||
183 | <property stdset="1"> | ||
184 | <name>name</name> | ||
185 | <cstring>Layout4</cstring> | ||
186 | </property> | ||
187 | <property stdset="1"> | ||
188 | <name>geometry</name> | ||
189 | <rect> | ||
190 | <x>10</x> | ||
191 | <y>20</y> | ||
192 | <width>200</width> | ||
193 | <height>53</height> | ||
194 | </rect> | ||
195 | </property> | ||
196 | <grid> | ||
197 | <property stdset="1"> | ||
198 | <name>margin</name> | ||
199 | <number>0</number> | ||
200 | </property> | ||
201 | <property stdset="1"> | ||
202 | <name>spacing</name> | ||
203 | <number>6</number> | ||
204 | </property> | ||
205 | <spacer row="1" column="0" > | ||
206 | <property> | ||
207 | <name>name</name> | ||
208 | <cstring>Spacer2</cstring> | ||
209 | </property> | ||
210 | <property stdset="1"> | ||
211 | <name>orientation</name> | ||
212 | <enum>Vertical</enum> | ||
213 | </property> | ||
214 | <property stdset="1"> | 186 | <property stdset="1"> |
215 | <name>sizeType</name> | 187 | <name>name</name> |
216 | <enum>Expanding</enum> | 188 | <cstring>GroupBox4</cstring> |
217 | </property> | ||
218 | <property> | ||
219 | <name>sizeHint</name> | ||
220 | <size> | ||
221 | <width>20</width> | ||
222 | <height>20</height> | ||
223 | </size> | ||
224 | </property> | 189 | </property> |
225 | </spacer> | ||
226 | <widget row="0" column="0" > | ||
227 | <class>QLayoutWidget</class> | ||
228 | <property stdset="1"> | 190 | <property stdset="1"> |
229 | <name>name</name> | 191 | <name>title</name> |
230 | <cstring>Layout6</cstring> | 192 | <string>Day</string> |
231 | </property> | 193 | </property> |
232 | <hbox> | 194 | <vbox> |
233 | <property stdset="1"> | 195 | <property stdset="1"> |
234 | <name>margin</name> | 196 | <name>margin</name> |
235 | <number>0</number> | 197 | <number>11</number> |
236 | </property> | 198 | </property> |
237 | <property stdset="1"> | 199 | <property stdset="1"> |
238 | <name>spacing</name> | 200 | <name>spacing</name> |
239 | <number>6</number> | 201 | <number>6</number> |
@@ -241,145 +203,359 @@ | |||
241 | <widget> | 203 | <widget> |
242 | <class>QCheckBox</class> | 204 | <class>QCheckBox</class> |
243 | <property stdset="1"> | 205 | <property stdset="1"> |
244 | <name>name</name> | 206 | <name>name</name> |
245 | <cstring>chkAlarmPreset</cstring> | 207 | <cstring>chkJumpToCurTime</cstring> |
246 | </property> | 208 | </property> |
247 | <property stdset="1"> | 209 | <property stdset="1"> |
248 | <name>text</name> | 210 | <name>text</name> |
249 | <string>Alarm Preset</string> | 211 | <string>Jump to current time</string> |
250 | </property> | 212 | </property> |
251 | </widget> | 213 | </widget> |
252 | <widget> | 214 | <widget> |
253 | <class>QSpinBox</class> | 215 | <class>QLayoutWidget</class> |
254 | <property stdset="1"> | 216 | <property stdset="1"> |
255 | <name>name</name> | 217 | <name>name</name> |
256 | <cstring>spinPreset</cstring> | 218 | <cstring>Layout5</cstring> |
257 | </property> | ||
258 | <property stdset="1"> | ||
259 | <name>enabled</name> | ||
260 | <bool>false</bool> | ||
261 | </property> | ||
262 | <property stdset="1"> | ||
263 | <name>suffix</name> | ||
264 | <string> minutes</string> | ||
265 | </property> | ||
266 | <property stdset="1"> | ||
267 | <name>maxValue</name> | ||
268 | <number>180</number> | ||
269 | </property> | ||
270 | <property stdset="1"> | ||
271 | <name>minValue</name> | ||
272 | <number>0</number> | ||
273 | </property> | ||
274 | <property stdset="1"> | ||
275 | <name>lineStep</name> | ||
276 | <number>5</number> | ||
277 | </property> | 219 | </property> |
220 | <hbox> | ||
221 | <property stdset="1"> | ||
222 | <name>margin</name> | ||
223 | <number>0</number> | ||
224 | </property> | ||
225 | <property stdset="1"> | ||
226 | <name>spacing</name> | ||
227 | <number>6</number> | ||
228 | </property> | ||
229 | <widget> | ||
230 | <class>QLabel</class> | ||
231 | <property stdset="1"> | ||
232 | <name>name</name> | ||
233 | <cstring>TextLabel1</cstring> | ||
234 | </property> | ||
235 | <property stdset="1"> | ||
236 | <name>text</name> | ||
237 | <string>Row style:</string> | ||
238 | </property> | ||
239 | </widget> | ||
240 | <widget> | ||
241 | <class>QComboBox</class> | ||
242 | <item> | ||
243 | <property> | ||
244 | <name>text</name> | ||
245 | <string>Default</string> | ||
246 | </property> | ||
247 | </item> | ||
248 | <item> | ||
249 | <property> | ||
250 | <name>text</name> | ||
251 | <string>Medium</string> | ||
252 | </property> | ||
253 | </item> | ||
254 | <item> | ||
255 | <property> | ||
256 | <name>text</name> | ||
257 | <string>Large</string> | ||
258 | </property> | ||
259 | </item> | ||
260 | <property stdset="1"> | ||
261 | <name>name</name> | ||
262 | <cstring>comboRowStyle</cstring> | ||
263 | </property> | ||
264 | </widget> | ||
265 | </hbox> | ||
266 | </widget> | ||
267 | </vbox> | ||
268 | </widget> | ||
269 | <widget> | ||
270 | <class>QGroupBox</class> | ||
271 | <property stdset="1"> | ||
272 | <name>name</name> | ||
273 | <cstring>GroupBox5</cstring> | ||
274 | </property> | ||
275 | <property stdset="1"> | ||
276 | <name>title</name> | ||
277 | <string>Week List</string> | ||
278 | </property> | ||
279 | <vbox> | ||
280 | <property stdset="1"> | ||
281 | <name>margin</name> | ||
282 | <number>11</number> | ||
283 | </property> | ||
284 | <property stdset="1"> | ||
285 | <name>spacing</name> | ||
286 | <number>6</number> | ||
287 | </property> | ||
288 | <widget> | ||
289 | <class>QLayoutWidget</class> | ||
278 | <property stdset="1"> | 290 | <property stdset="1"> |
279 | <name>value</name> | 291 | <name>name</name> |
280 | <number>5</number> | 292 | <cstring>Layout6</cstring> |
281 | </property> | 293 | </property> |
294 | <hbox> | ||
295 | <property stdset="1"> | ||
296 | <name>margin</name> | ||
297 | <number>0</number> | ||
298 | </property> | ||
299 | <property stdset="1"> | ||
300 | <name>spacing</name> | ||
301 | <number>6</number> | ||
302 | </property> | ||
303 | <widget> | ||
304 | <class>QLabel</class> | ||
305 | <property stdset="1"> | ||
306 | <name>name</name> | ||
307 | <cstring>TextLabel2</cstring> | ||
308 | </property> | ||
309 | <property stdset="1"> | ||
310 | <name>text</name> | ||
311 | <string>Time display</string> | ||
312 | </property> | ||
313 | </widget> | ||
314 | <widget> | ||
315 | <class>QComboBox</class> | ||
316 | <item> | ||
317 | <property> | ||
318 | <name>text</name> | ||
319 | <string>None</string> | ||
320 | </property> | ||
321 | </item> | ||
322 | <item> | ||
323 | <property> | ||
324 | <name>text</name> | ||
325 | <string>Start</string> | ||
326 | </property> | ||
327 | </item> | ||
328 | <item> | ||
329 | <property> | ||
330 | <name>text</name> | ||
331 | <string>Start-End</string> | ||
332 | </property> | ||
333 | </item> | ||
334 | <property stdset="1"> | ||
335 | <name>name</name> | ||
336 | <cstring>comboWeekListView</cstring> | ||
337 | </property> | ||
338 | </widget> | ||
339 | </hbox> | ||
282 | </widget> | 340 | </widget> |
283 | </hbox> | 341 | </vbox> |
284 | </widget> | 342 | </widget> |
285 | </grid> | 343 | <spacer> |
344 | <property> | ||
345 | <name>name</name> | ||
346 | <cstring>Spacer3_2</cstring> | ||
347 | </property> | ||
348 | <property stdset="1"> | ||
349 | <name>orientation</name> | ||
350 | <enum>Vertical</enum> | ||
351 | </property> | ||
352 | <property stdset="1"> | ||
353 | <name>sizeType</name> | ||
354 | <enum>Expanding</enum> | ||
355 | </property> | ||
356 | <property> | ||
357 | <name>sizeHint</name> | ||
358 | <size> | ||
359 | <width>20</width> | ||
360 | <height>20</height> | ||
361 | </size> | ||
362 | </property> | ||
363 | </spacer> | ||
364 | </vbox> | ||
286 | </widget> | 365 | </widget> |
287 | </widget> | ||
288 | <widget row="2" column="0" > | ||
289 | <class>QGroupBox</class> | ||
290 | <property stdset="1"> | ||
291 | <name>name</name> | ||
292 | <cstring>fraMisc</cstring> | ||
293 | </property> | ||
294 | <property stdset="1"> | ||
295 | <name>title</name> | ||
296 | <string>Misc</string> | ||
297 | </property> | ||
298 | <widget> | 366 | <widget> |
299 | <class>QLayoutWidget</class> | 367 | <class>QWidget</class> |
300 | <property stdset="1"> | 368 | <property stdset="1"> |
301 | <name>name</name> | 369 | <name>name</name> |
302 | <cstring>Layout5</cstring> | 370 | <cstring>tab</cstring> |
303 | </property> | ||
304 | <property stdset="1"> | ||
305 | <name>geometry</name> | ||
306 | <rect> | ||
307 | <x>10</x> | ||
308 | <y>40</y> | ||
309 | <width>170</width> | ||
310 | <height>24</height> | ||
311 | </rect> | ||
312 | </property> | 371 | </property> |
313 | <hbox> | 372 | <attribute> |
373 | <name>title</name> | ||
374 | <string>Misc</string> | ||
375 | </attribute> | ||
376 | <vbox> | ||
314 | <property stdset="1"> | 377 | <property stdset="1"> |
315 | <name>margin</name> | 378 | <name>margin</name> |
316 | <number>0</number> | 379 | <number>11</number> |
317 | </property> | 380 | </property> |
318 | <property stdset="1"> | 381 | <property stdset="1"> |
319 | <name>spacing</name> | 382 | <name>spacing</name> |
320 | <number>6</number> | 383 | <number>6</number> |
321 | </property> | 384 | </property> |
322 | <widget> | 385 | <widget> |
323 | <class>QLabel</class> | 386 | <class>QGroupBox</class> |
324 | <property stdset="1"> | 387 | <property stdset="1"> |
325 | <name>name</name> | 388 | <name>name</name> |
326 | <cstring>TextLabel1</cstring> | 389 | <cstring>GroupBox6</cstring> |
327 | </property> | 390 | </property> |
328 | <property stdset="1"> | 391 | <property stdset="1"> |
329 | <name>text</name> | 392 | <name>title</name> |
330 | <string>Row style:</string> | 393 | <string>Alarm Settings</string> |
331 | </property> | 394 | </property> |
332 | </widget> | 395 | <vbox> |
333 | <widget> | 396 | <property stdset="1"> |
334 | <class>QComboBox</class> | 397 | <name>margin</name> |
335 | <item> | 398 | <number>11</number> |
336 | <property> | ||
337 | <name>text</name> | ||
338 | <string>Default</string> | ||
339 | </property> | ||
340 | </item> | ||
341 | <item> | ||
342 | <property> | ||
343 | <name>text</name> | ||
344 | <string>Medium</string> | ||
345 | </property> | 399 | </property> |
346 | </item> | 400 | <property stdset="1"> |
347 | <item> | 401 | <name>spacing</name> |
348 | <property> | 402 | <number>6</number> |
349 | <name>text</name> | ||
350 | <string>Large</string> | ||
351 | </property> | 403 | </property> |
352 | </item> | 404 | <widget> |
405 | <class>QLayoutWidget</class> | ||
406 | <property stdset="1"> | ||
407 | <name>name</name> | ||
408 | <cstring>Layout6</cstring> | ||
409 | </property> | ||
410 | <hbox> | ||
411 | <property stdset="1"> | ||
412 | <name>margin</name> | ||
413 | <number>0</number> | ||
414 | </property> | ||
415 | <property stdset="1"> | ||
416 | <name>spacing</name> | ||
417 | <number>6</number> | ||
418 | </property> | ||
419 | <widget> | ||
420 | <class>QCheckBox</class> | ||
421 | <property stdset="1"> | ||
422 | <name>name</name> | ||
423 | <cstring>chkAlarmPreset</cstring> | ||
424 | </property> | ||
425 | <property stdset="1"> | ||
426 | <name>text</name> | ||
427 | <string>Alarm Preset</string> | ||
428 | </property> | ||
429 | </widget> | ||
430 | <widget> | ||
431 | <class>QSpinBox</class> | ||
432 | <property stdset="1"> | ||
433 | <name>name</name> | ||
434 | <cstring>spinPreset</cstring> | ||
435 | </property> | ||
436 | <property stdset="1"> | ||
437 | <name>enabled</name> | ||
438 | <bool>false</bool> | ||
439 | </property> | ||
440 | <property stdset="1"> | ||
441 | <name>suffix</name> | ||
442 | <string> minutes</string> | ||
443 | </property> | ||
444 | <property stdset="1"> | ||
445 | <name>maxValue</name> | ||
446 | <number>180</number> | ||
447 | </property> | ||
448 | <property stdset="1"> | ||
449 | <name>minValue</name> | ||
450 | <number>0</number> | ||
451 | </property> | ||
452 | <property stdset="1"> | ||
453 | <name>lineStep</name> | ||
454 | <number>5</number> | ||
455 | </property> | ||
456 | <property stdset="1"> | ||
457 | <name>value</name> | ||
458 | <number>5</number> | ||
459 | </property> | ||
460 | </widget> | ||
461 | </hbox> | ||
462 | </widget> | ||
463 | </vbox> | ||
464 | </widget> | ||
465 | <widget> | ||
466 | <class>QGroupBox</class> | ||
353 | <property stdset="1"> | 467 | <property stdset="1"> |
354 | <name>name</name> | 468 | <name>name</name> |
355 | <cstring>comboRowStyle</cstring> | 469 | <cstring>GroupBox7</cstring> |
356 | </property> | 470 | </property> |
471 | <property stdset="1"> | ||
472 | <name>title</name> | ||
473 | <string>Start viewing events</string> | ||
474 | </property> | ||
475 | <vbox> | ||
476 | <property stdset="1"> | ||
477 | <name>margin</name> | ||
478 | <number>11</number> | ||
479 | </property> | ||
480 | <property stdset="1"> | ||
481 | <name>spacing</name> | ||
482 | <number>6</number> | ||
483 | </property> | ||
484 | <widget> | ||
485 | <class>QLayoutWidget</class> | ||
486 | <property stdset="1"> | ||
487 | <name>name</name> | ||
488 | <cstring>Layout1</cstring> | ||
489 | </property> | ||
490 | <hbox> | ||
491 | <property stdset="1"> | ||
492 | <name>margin</name> | ||
493 | <number>0</number> | ||
494 | </property> | ||
495 | <property stdset="1"> | ||
496 | <name>spacing</name> | ||
497 | <number>6</number> | ||
498 | </property> | ||
499 | <widget> | ||
500 | <class>QLabel</class> | ||
501 | <property stdset="1"> | ||
502 | <name>name</name> | ||
503 | <cstring>lblStartTime</cstring> | ||
504 | </property> | ||
505 | <property stdset="1"> | ||
506 | <name>text</name> | ||
507 | <string>Start Time:</string> | ||
508 | </property> | ||
509 | </widget> | ||
510 | <widget> | ||
511 | <class>QSpinBox</class> | ||
512 | <property stdset="1"> | ||
513 | <name>name</name> | ||
514 | <cstring>spinStart</cstring> | ||
515 | </property> | ||
516 | <property stdset="1"> | ||
517 | <name>suffix</name> | ||
518 | <string>:00</string> | ||
519 | </property> | ||
520 | <property stdset="1"> | ||
521 | <name>wrapping</name> | ||
522 | <bool>true</bool> | ||
523 | </property> | ||
524 | <property stdset="1"> | ||
525 | <name>maxValue</name> | ||
526 | <number>23</number> | ||
527 | </property> | ||
528 | </widget> | ||
529 | </hbox> | ||
530 | </widget> | ||
531 | </vbox> | ||
357 | </widget> | 532 | </widget> |
358 | </hbox> | 533 | <spacer> |
359 | </widget> | 534 | <property> |
360 | <widget> | 535 | <name>name</name> |
361 | <class>QCheckBox</class> | 536 | <cstring>Spacer9</cstring> |
362 | <property stdset="1"> | 537 | </property> |
363 | <name>name</name> | 538 | <property stdset="1"> |
364 | <cstring>chkJumpToCurTime</cstring> | 539 | <name>orientation</name> |
365 | </property> | 540 | <enum>Vertical</enum> |
366 | <property stdset="1"> | 541 | </property> |
367 | <name>geometry</name> | 542 | <property stdset="1"> |
368 | <rect> | 543 | <name>sizeType</name> |
369 | <x>10</x> | 544 | <enum>Expanding</enum> |
370 | <y>20</y> | 545 | </property> |
371 | <width>200</width> | 546 | <property> |
372 | <height>20</height> | 547 | <name>sizeHint</name> |
373 | </rect> | 548 | <size> |
374 | </property> | 549 | <width>20</width> |
375 | <property stdset="1"> | 550 | <height>20</height> |
376 | <name>text</name> | 551 | </size> |
377 | <string>Jump to current time (dayview)</string> | 552 | </property> |
378 | </property> | 553 | </spacer> |
554 | </vbox> | ||
379 | </widget> | 555 | </widget> |
380 | </widget> | 556 | </widget> |
381 | </grid> | 557 | </vbox> |
382 | </widget> | 558 | </widget> |
383 | <connections> | 559 | <connections> |
384 | <connection> | 560 | <connection> |
385 | <sender>chkAlarmPreset</sender> | 561 | <sender>chkAlarmPreset</sender> |
diff --git a/core/pim/datebook/datebookweeklst.cpp b/core/pim/datebook/datebookweeklst.cpp index 3d6a029..3c8fc89 100644 --- a/core/pim/datebook/datebookweeklst.cpp +++ b/core/pim/datebook/datebookweeklst.cpp | |||
@@ -1,8 +1,10 @@ | |||
1 | #include "datebookweeklst.h" | 1 | #include "datebookweeklst.h" |
2 | 2 | ||
3 | #include "datebookweekheaderimpl.h" | 3 | #include "datebookweekheaderimpl.h" |
4 | 4 | ||
5 | #include "datebook.h" | ||
6 | |||
5 | #include <qpe/calendar.h> | 7 | #include <qpe/calendar.h> |
6 | #include <qpe/datebookdb.h> | 8 | #include <qpe/datebookdb.h> |
7 | #include <qpe/event.h> | 9 | #include <qpe/event.h> |
8 | #include <qpe/qpeapplication.h> | 10 | #include <qpe/qpeapplication.h> |
@@ -142,33 +144,53 @@ void DateBookWeekLstDayHdr::newEvent() { | |||
142 | 144 | ||
143 | emit addEvent(start,stop,"",0); | 145 | emit addEvent(start,stop,"",0); |
144 | } | 146 | } |
145 | DateBookWeekLstEvent::DateBookWeekLstEvent(const EffectiveEvent &ev, | 147 | DateBookWeekLstEvent::DateBookWeekLstEvent(const EffectiveEvent &ev, |
146 | QWidget* parent, | 148 | int weeklistviewconfig, |
147 | const char* name, | 149 | QWidget* parent, |
148 | WFlags fl) : | 150 | const char* name, |
149 | OClickableLabel(parent,name,fl), | 151 | WFlags fl ) : OClickableLabel(parent,name,fl), event(ev) |
150 | event(ev) | ||
151 | { | 152 | { |
152 | char s[10]; | 153 | // old values... lastday = "__|__", middle=" |---", Firstday="00:00", |
153 | if ( ev.startDate() != ev.date() ) { // multiday event (not first day) | 154 | QString s,start,middle,end,day; |
154 | if ( ev.endDate() == ev.date() ) { // last day | 155 | |
155 | strcpy(s, "__|__"); | 156 | qDebug("weeklistviewconfig=%d",weeklistviewconfig); |
156 | } else { | 157 | if(weeklistviewconfig==NONE) {// No times displayed. |
157 | strcpy(s, " |---"); | 158 | // start.sprintf("%.2d:%.2d-",ev.start().hour(),ev.start().minute()); |
159 | // middle.sprintf("<--->"); | ||
160 | // end.sprintf("-%.2d:%.2d",ev.end().hour(),ev.end().minute()); | ||
161 | // day.sprintf("%.2d:%.2d-%.2d:%.2d",ev.start().hour(),ev.start().minute(),ev.end().hour(),ev.end().minute()); | ||
162 | } else if(weeklistviewconfig==NORMAL) {// "Normal", only display start time. | ||
163 | start.sprintf("%.2d:%.2d",ev.start().hour(),ev.start().minute()); | ||
164 | middle.sprintf(" |---"); | ||
165 | end.sprintf("__|__"); | ||
166 | day.sprintf("%.2d:%.2d",ev.start().hour(),ev.start().minute()); | ||
167 | } else if(weeklistviewconfig==EXTENDED) { // Extended mode, display start and end times. | ||
168 | start.sprintf("%.2d:%.2d-",ev.start().hour(),ev.start().minute()); | ||
169 | middle.sprintf("<--->"); | ||
170 | end.sprintf("-%.2d:%.2d",ev.end().hour(),ev.end().minute()); | ||
171 | day.sprintf("%.2d:%.2d-%.2d:%.2d",ev.start().hour(),ev.start().minute(),ev.end().hour(),ev.end().minute()); | ||
172 | } | ||
173 | |||
174 | if(ev.event().type() == Event::Normal) { | ||
175 | if(ev.startDate()==ev.date() && ev.endDate()==ev.date()) {// day event. | ||
176 | s=day; | ||
177 | } else if(ev.startDate()==ev.date()) {// start event. | ||
178 | s=start; | ||
179 | } else if(ev.endDate()==ev.date()) { // end event. | ||
180 | s=end; | ||
181 | } else {// middle day. | ||
182 | s=middle; | ||
158 | } | 183 | } |
159 | } else { | 184 | } else { |
160 | if(ev.event().type() == Event::Normal ) | 185 | s=""; |
161 | sprintf(s,"%.2d:%.2d",ev.start().hour(),ev.start().minute()); | ||
162 | else | ||
163 | sprintf(s," "); | ||
164 | } | 186 | } |
165 | setText(QString(s) + " " + ev.description()); | 187 | setText(QString(s) + " " + ev.description()); |
166 | connect(this, SIGNAL(clicked()), this, SLOT(editMe())); | 188 | connect(this, SIGNAL(clicked()), this, SLOT(editMe())); |
167 | setAlignment( int( QLabel::WordBreak | QLabel::AlignLeft ) ); | 189 | setAlignment( int( QLabel::WordBreak | QLabel::AlignLeft ) ); |
168 | } | 190 | } |
169 | void DateBookWeekLstEvent::editMe() { | 191 | void DateBookWeekLstEvent::editMe() { |
170 | emit editEvent(event.event()); | 192 | emit editEvent(event.event()); |
171 | } | 193 | } |
172 | 194 | ||
173 | 195 | ||
174 | DateBookWeekLstView::DateBookWeekLstView(QValueList<EffectiveEvent> &ev, | 196 | DateBookWeekLstView::DateBookWeekLstView(QValueList<EffectiveEvent> &ev, |
@@ -176,47 +198,46 @@ DateBookWeekLstView::DateBookWeekLstView(QValueList<EffectiveEvent> &ev, | |||
176 | QWidget* parent, | 198 | QWidget* parent, |
177 | const char* name, WFlags fl) | 199 | const char* name, WFlags fl) |
178 | : QWidget( parent, name, fl ) | 200 | : QWidget( parent, name, fl ) |
179 | { | 201 | { |
180 | onMonday=onM; | 202 | Config config("DateBook"); |
181 | setPalette(white); | 203 | config.setGroup("Main"); |
182 | setSizePolicy(QSizePolicy(QSizePolicy::Expanding,QSizePolicy::Expanding)); | 204 | int weeklistviewconfig=config.readNumEntry("weeklistviewconfig", NORMAL); |
205 | qDebug("Read weeklistviewconfig: %d",weeklistviewconfig); | ||
183 | 206 | ||
184 | QVBoxLayout *layout = new QVBoxLayout( this ); | 207 | onMonday=onM; |
208 | setPalette(white); | ||
209 | setSizePolicy(QSizePolicy(QSizePolicy::Expanding,QSizePolicy::Expanding)); | ||
185 | 210 | ||
186 | qBubbleSort(ev); | 211 | QVBoxLayout *layout = new QVBoxLayout( this ); |
187 | QValueListIterator<EffectiveEvent> it; | ||
188 | it=ev.begin(); | ||
189 | 212 | ||
190 | int dayOrder[7]; | 213 | qBubbleSort(ev); |
191 | if (onMonday) | 214 | QValueListIterator<EffectiveEvent> it; |
192 | for (int d=0; d<7; d++) dayOrder[d]=d+1; | 215 | it=ev.begin(); |
193 | else { | 216 | |
194 | for (int d=0; d<7; d++) dayOrder[d]=d; | 217 | int dayOrder[7]; |
195 | dayOrder[0]=7; | 218 | if (onMonday) { |
196 | } | 219 | for (int d=0; d<7; d++) dayOrder[d]=d+1; |
220 | } else { | ||
221 | for (int d=0; d<7; d++) dayOrder[d]=d; | ||
222 | dayOrder[0]=7; | ||
223 | } | ||
197 | 224 | ||
198 | for (int i=0; i<7; i++) { | 225 | for (int i=0; i<7; i++) { |
199 | // Header | 226 | // Header |
200 | DateBookWeekLstDayHdr *hdr=new DateBookWeekLstDayHdr(d.addDays(i), | 227 | DateBookWeekLstDayHdr *hdr=new DateBookWeekLstDayHdr(d.addDays(i), onMonday,this); |
201 | onMonday,this); | ||
202 | connect(hdr, SIGNAL(showDate(int,int,int)), | 228 | connect(hdr, SIGNAL(showDate(int,int,int)), |
203 | this, SIGNAL(showDate(int,int,int))); | 229 | this, SIGNAL(showDate(int,int,int))); |
204 | connect(hdr, SIGNAL(addEvent(const QDateTime &, | 230 | connect(hdr, SIGNAL(addEvent(const QDateTime &, const QDateTime &, const QString &, const QString &)), |
205 | const QDateTime &, | 231 | this, SIGNAL(addEvent(const QDateTime &, const QDateTime &, const QString &, const QString &))); |
206 | const QString &, const QString &)), | ||
207 | this, SIGNAL(addEvent(const QDateTime &, | ||
208 | const QDateTime &, | ||
209 | const QString &, const QString &))); | ||
210 | layout->addWidget(hdr); | 232 | layout->addWidget(hdr); |
211 | 233 | ||
212 | // Events | 234 | // Events |
213 | while ( (*it).date().dayOfWeek() == dayOrder[i] && it!=ev.end() ) { | 235 | while ( (*it).date().dayOfWeek() == dayOrder[i] && it!=ev.end() ) { |
214 | if(!(((*it).end().hour()==0) && ((*it).end().minute()==0) && ((*it).startDate()!=(*it).date()))) {// Skip events ending at 00:00 starting at another day. | 236 | if(!(((*it).end().hour()==0) && ((*it).end().minute()==0) && ((*it).startDate()!=(*it).date()))) {// Skip events ending at 00:00 starting at another day. |
215 | DateBookWeekLstEvent *l=new DateBookWeekLstEvent(*it,this); | 237 | DateBookWeekLstEvent *l=new DateBookWeekLstEvent(*it,weeklistviewconfig,this); |
216 | layout->addWidget(l); | 238 | layout->addWidget(l); |
217 | connect (l, SIGNAL(editEvent(const Event &)), | 239 | connect (l, SIGNAL(editEvent(const Event &)), this, SIGNAL(editEvent(const Event &))); |
218 | this, SIGNAL(editEvent(const Event &))); | ||
219 | } | 240 | } |
220 | it++; | 241 | it++; |
221 | } | 242 | } |
222 | 243 | ||
@@ -232,32 +253,24 @@ DateBookWeekLstDblView::DateBookWeekLstDblView(QValueList<EffectiveEvent> &ev1, | |||
232 | QWidget* parent, | 253 | QWidget* parent, |
233 | const char* name, WFlags fl) | 254 | const char* name, WFlags fl) |
234 | : QWidget( parent, name, fl ) | 255 | : QWidget( parent, name, fl ) |
235 | { | 256 | { |
236 | QHBoxLayout *layout = new QHBoxLayout( this ); | 257 | QHBoxLayout *layout = new QHBoxLayout( this ); |
237 | 258 | ||
238 | DateBookWeekLstView *w=new DateBookWeekLstView(ev1,d,onM,this); | 259 | DateBookWeekLstView *w=new DateBookWeekLstView(ev1,d,onM,this); |
239 | layout->addWidget(w); | 260 | layout->addWidget(w); |
240 | connect (w, SIGNAL(editEvent(const Event &)), | 261 | connect (w, SIGNAL(editEvent(const Event &)), this, SIGNAL(editEvent(const Event &))); |
241 | this, SIGNAL(editEvent(const Event &))); | 262 | connect (w, SIGNAL(showDate(int,int,int)), this, SIGNAL(showDate(int,int,int))); |
242 | connect (w, SIGNAL(showDate(int,int,int)), | 263 | connect (w, SIGNAL(addEvent(const QDateTime &, const QDateTime &, const QString &,const QString &)), |
243 | this, SIGNAL(showDate(int,int,int))); | 264 | this, SIGNAL(addEvent(const QDateTime &, const QDateTime &, const QString &, const QString &))); |
244 | connect (w, SIGNAL(addEvent(const QDateTime &, const QDateTime &, | 265 | |
245 | const QString &,const QString &)), | 266 | |
246 | this, SIGNAL(addEvent(const QDateTime &, const QDateTime &, | 267 | w=new DateBookWeekLstView(ev2,d.addDays(7),onM,this); |
247 | const QString &, const QString &))); | 268 | layout->addWidget(w); |
248 | 269 | connect (w, SIGNAL(editEvent(const Event &)), this, SIGNAL(editEvent(const Event &))); | |
249 | 270 | connect (w, SIGNAL(showDate(int,int,int)), this, SIGNAL(showDate(int,int,int))); | |
250 | w=new DateBookWeekLstView(ev2,d.addDays(7),onM,this); | 271 | connect (w, SIGNAL(addEvent(const QDateTime &, const QDateTime &, const QString &, const QString &)), |
251 | layout->addWidget(w); | 272 | this, SIGNAL(addEvent(const QDateTime &, const QDateTime &, const QString &, const QString &))); |
252 | connect (w, SIGNAL(editEvent(const Event &)), | ||
253 | this, SIGNAL(editEvent(const Event &))); | ||
254 | connect (w, SIGNAL(showDate(int,int,int)), | ||
255 | this, SIGNAL(showDate(int,int,int))); | ||
256 | connect (w, SIGNAL(addEvent(const QDateTime &, const QDateTime &, | ||
257 | const QString &, const QString &)), | ||
258 | this, SIGNAL(addEvent(const QDateTime &, const QDateTime &, | ||
259 | const QString &, const QString &))); | ||
260 | } | 273 | } |
261 | 274 | ||
262 | DateBookWeekLst::DateBookWeekLst( bool ap, bool onM, DateBookDB *newDB, | 275 | DateBookWeekLst::DateBookWeekLst( bool ap, bool onM, DateBookDB *newDB, |
263 | QWidget *parent, | 276 | QWidget *parent, |
@@ -273,109 +286,105 @@ DateBookWeekLst::DateBookWeekLst( bool ap, bool onM, DateBookDB *newDB, | |||
273 | layout->setMargin(0); | 286 | layout->setMargin(0); |
274 | 287 | ||
275 | header=new DateBookWeekLstHeader(onM, this); | 288 | header=new DateBookWeekLstHeader(onM, this); |
276 | layout->addWidget( header ); | 289 | layout->addWidget( header ); |
277 | connect(header, SIGNAL(dateChanged(int,int)), | 290 | connect(header, SIGNAL(dateChanged(int,int)), this, SLOT(dateChanged(int,int))); |
278 | this, SLOT(dateChanged(int,int))); | 291 | connect(header, SIGNAL(setDbl(bool)), this, SLOT(setDbl(bool))); |
279 | connect(header, SIGNAL(setDbl(bool)), | 292 | |
280 | this, SLOT(setDbl(bool))); | 293 | scroll=new QScrollView(this); |
281 | 294 | //scroll->setVScrollBarMode(QScrollView::AlwaysOn); | |
282 | scroll=new QScrollView(this); | 295 | //scroll->setHScrollBarMode(QScrollView::AlwaysOff); |
283 | //scroll->setVScrollBarMode(QScrollView::AlwaysOn); | 296 | scroll->setResizePolicy(QScrollView::AutoOneFit); |
284 | //scroll->setHScrollBarMode(QScrollView::AlwaysOff); | 297 | layout->addWidget(scroll); |
285 | scroll->setResizePolicy(QScrollView::AutoOneFit); | 298 | |
286 | layout->addWidget(scroll); | 299 | view=NULL; |
287 | 300 | Config config("DateBook"); | |
288 | view=NULL; | 301 | config.setGroup("Main"); |
289 | Config config("DateBook"); | 302 | dbl=config.readBoolEntry("weeklst_dbl", false); |
290 | config.setGroup("Main"); | 303 | header->dbl->setOn(dbl); |
291 | dbl=config.readBoolEntry("weeklst_dbl", false); | ||
292 | header->dbl->setOn(dbl); | ||
293 | } | 304 | } |
294 | DateBookWeekLst::~DateBookWeekLst(){ | 305 | DateBookWeekLst::~DateBookWeekLst(){ |
295 | Config config("DateBook"); | 306 | Config config("DateBook"); |
296 | config.setGroup("Main"); | 307 | config.setGroup("Main"); |
297 | config.writeEntry("weeklst_dbl", dbl); | 308 | config.writeEntry("weeklst_dbl", dbl); |
298 | } | 309 | } |
299 | 310 | ||
300 | void DateBookWeekLst::setDate(const QDate &d) { | 311 | void DateBookWeekLst::setDate(const QDate &d) { |
301 | int w,y; | 312 | int w,y; |
302 | calcWeek(d,w,y,onMonday); | 313 | calcWeek(d,w,y,onMonday); |
303 | year=y; | 314 | year=y; |
304 | _week=w; | 315 | _week=w; |
305 | header->setDate(date()); | 316 | header->setDate(date()); |
306 | } | 317 | } |
307 | void DateBookWeekLst::setDbl(bool on) { | 318 | void DateBookWeekLst::setDbl(bool on) { |
308 | dbl=on; | 319 | dbl=on; |
309 | redraw(); | 320 | redraw(); |
310 | } | 321 | } |
311 | void DateBookWeekLst::redraw() {getEvents();} | 322 | void DateBookWeekLst::redraw() {getEvents();} |
312 | 323 | ||
313 | QDate DateBookWeekLst::date() const { | 324 | QDate DateBookWeekLst::date() const { |
314 | QDate d; | 325 | QDate d; |
315 | d.setYMD(year,1,1); | 326 | d.setYMD(year,1,1); |
316 | 327 | ||
317 | int dow= d.dayOfWeek(); | 328 | int dow= d.dayOfWeek(); |
318 | if (!onMonday) | 329 | if (!onMonday) |
319 | if (dow==7) dow=1; | 330 | if (dow==7) { |
320 | else dow++; | 331 | dow=1; |
332 | } else { | ||
333 | dow++; | ||
334 | } | ||
321 | 335 | ||
322 | d=d.addDays( (_week-1)*7 - dow + 1 ); | 336 | d=d.addDays( (_week-1)*7 - dow + 1 ); |
323 | return d; | 337 | return d; |
324 | } | 338 | } |
325 | 339 | ||
326 | void DateBookWeekLst::getEvents() { | 340 | void DateBookWeekLst::getEvents() { |
327 | QDate start = date(); | 341 | QDate start = date(); |
328 | QDate stop = start.addDays(6); | 342 | QDate stop = start.addDays(6); |
329 | QValueList<EffectiveEvent> el = db->getEffectiveEvents(start, stop); | 343 | QValueList<EffectiveEvent> el = db->getEffectiveEvents(start, stop); |
330 | 344 | ||
331 | if (view) delete view; | 345 | if (view) delete view; |
332 | if (dbl) { | 346 | if (dbl) { |
333 | QDate start2=start.addDays(7); | 347 | QDate start2=start.addDays(7); |
334 | stop=start2.addDays(6); | 348 | stop=start2.addDays(6); |
335 | QValueList<EffectiveEvent> el2 = db->getEffectiveEvents(start2, stop); | 349 | QValueList<EffectiveEvent> el2 = db->getEffectiveEvents(start2, stop); |
336 | 350 | view=new DateBookWeekLstDblView(el,el2,start,onMonday,scroll); | |
337 | view=new DateBookWeekLstDblView(el,el2,start,onMonday,scroll); | 351 | } else { |
338 | } else { | 352 | view=new DateBookWeekLstView(el,start,onMonday,scroll); |
339 | view=new DateBookWeekLstView(el,start,onMonday,scroll); | 353 | } |
340 | } | 354 | |
355 | connect (view, SIGNAL(editEvent(const Event &)), this, SIGNAL(editEvent(const Event &))); | ||
356 | connect (view, SIGNAL(showDate(int,int,int)), this, SIGNAL(showDate(int,int,int))); | ||
357 | connect (view, SIGNAL(addEvent(const QDateTime &, const QDateTime &, const QString &, const QString &)), | ||
358 | this, SIGNAL(addEvent(const QDateTime &, const QDateTime &, const QString &, const QString &))); | ||
341 | 359 | ||
342 | connect (view, SIGNAL(editEvent(const Event &)), | 360 | scroll->addChild(view); |
343 | this, SIGNAL(editEvent(const Event &))); | 361 | view->show(); |
344 | connect (view, SIGNAL(showDate(int,int,int)), | 362 | scroll->updateScrollBars(); |
345 | this, SIGNAL(showDate(int,int,int))); | ||
346 | connect (view, SIGNAL(addEvent(const QDateTime &, const QDateTime &, | ||
347 | const QString &, const QString &)), | ||
348 | this, SIGNAL(addEvent(const QDateTime &, const QDateTime &, | ||
349 | const QString &, const QString &))); | ||
350 | |||
351 | scroll->addChild(view); | ||
352 | view->show(); | ||
353 | scroll->updateScrollBars(); | ||
354 | } | 363 | } |
355 | 364 | ||
356 | void DateBookWeekLst::dateChanged(int y, int w) { | 365 | void DateBookWeekLst::dateChanged(int y, int w) { |
357 | year=y; | 366 | year=y; |
358 | _week=w; | 367 | _week=w; |
359 | getEvents(); | 368 | getEvents(); |
360 | } | 369 | } |
361 | 370 | ||
362 | void DateBookWeekLst::keyPressEvent(QKeyEvent *e) | 371 | void DateBookWeekLst::keyPressEvent(QKeyEvent *e) |
363 | { | 372 | { |
364 | switch(e->key()) { | 373 | switch(e->key()) { |
365 | case Key_Up: | 374 | case Key_Up: |
366 | scroll->scrollBy(0, -20); | 375 | scroll->scrollBy(0, -20); |
367 | break; | 376 | break; |
368 | case Key_Down: | 377 | case Key_Down: |
369 | scroll->scrollBy(0, 20); | 378 | scroll->scrollBy(0, 20); |
370 | break; | 379 | break; |
371 | case Key_Left: | 380 | case Key_Left: |
372 | header->prevWeek(); | 381 | header->prevWeek(); |
373 | break; | 382 | break; |
374 | case Key_Right: | 383 | case Key_Right: |
375 | header->nextWeek(); | 384 | header->nextWeek(); |
376 | break; | 385 | break; |
377 | default: | 386 | default: |
378 | e->ignore(); | 387 | e->ignore(); |
379 | } | 388 | } |
380 | } | 389 | } |
381 | 390 | ||
diff --git a/core/pim/datebook/datebookweeklst.h b/core/pim/datebook/datebookweeklst.h index ea88f20..17dc01f 100644 --- a/core/pim/datebook/datebookweeklst.h +++ b/core/pim/datebook/datebookweeklst.h | |||
@@ -58,10 +58,10 @@ private: | |||
58 | class DateBookWeekLstEvent: public OClickableLabel | 58 | class DateBookWeekLstEvent: public OClickableLabel |
59 | { | 59 | { |
60 | Q_OBJECT | 60 | Q_OBJECT |
61 | public: | 61 | public: |
62 | DateBookWeekLstEvent(const EffectiveEvent &ev, | 62 | DateBookWeekLstEvent(const EffectiveEvent &ev, int weeklistviewconfig =1, |
63 | QWidget* parent = 0, const char* name = 0, | 63 | QWidget* parent = 0, const char* name = 0, |
64 | WFlags fl = 0); | 64 | WFlags fl = 0); |
65 | signals: | 65 | signals: |
66 | void editEvent(const Event &e); | 66 | void editEvent(const Event &e); |
67 | private slots: | 67 | private slots: |
@@ -74,9 +74,9 @@ class DateBookWeekLstView: public QWidget | |||
74 | { | 74 | { |
75 | Q_OBJECT | 75 | Q_OBJECT |
76 | public: | 76 | public: |
77 | DateBookWeekLstView(QValueList<EffectiveEvent> &ev, const QDate &d, bool onM, | 77 | DateBookWeekLstView(QValueList<EffectiveEvent> &ev, const QDate &d, bool onM, |
78 | QWidget* parent = 0, const char* name = 0, | 78 | QWidget* parent = 0, const char* name = 0, |
79 | WFlags fl = 0 ); | 79 | WFlags fl = 0 ); |
80 | ~DateBookWeekLstView(); | 80 | ~DateBookWeekLstView(); |
81 | signals: | 81 | signals: |
82 | void editEvent(const Event &e); | 82 | void editEvent(const Event &e); |
@@ -91,34 +91,34 @@ protected slots: | |||
91 | 91 | ||
92 | class DateBookWeekLstDblView: public QWidget { | 92 | class DateBookWeekLstDblView: public QWidget { |
93 | Q_OBJECT | 93 | Q_OBJECT |
94 | public: | 94 | public: |
95 | DateBookWeekLstDblView(QValueList<EffectiveEvent> &ev1, | 95 | DateBookWeekLstDblView(QValueList<EffectiveEvent> &ev1, |
96 | QValueList<EffectiveEvent> &ev2, | 96 | QValueList<EffectiveEvent> &ev2, |
97 | QDate &d, bool onM, | 97 | QDate &d, bool onM, |
98 | QWidget* parent = 0, const char* name = 0, | 98 | QWidget* parent = 0, const char* name = 0, |
99 | WFlags fl = 0 ); | 99 | WFlags fl = 0 ); |
100 | signals: | 100 | signals: |
101 | void editEvent(const Event &e); | 101 | void editEvent(const Event &e); |
102 | void showDate(int y, int m, int d); | 102 | void showDate(int y, int m, int d); |
103 | void addEvent(const QDateTime &start, const QDateTime &stop, | 103 | void addEvent(const QDateTime &start, const QDateTime &stop, |
104 | const QString &str, const QString &location); | 104 | const QString &str, const QString &location); |
105 | }; | 105 | }; |
106 | 106 | ||
107 | class DateBookWeekLst : public QWidget | 107 | class DateBookWeekLst : public QWidget |
108 | { | 108 | { |
109 | Q_OBJECT | 109 | Q_OBJECT |
110 | 110 | ||
111 | public: | 111 | public: |
112 | DateBookWeekLst( bool ampm, bool onM, DateBookDB *newDB, | 112 | DateBookWeekLst( bool ampm, bool onM, DateBookDB *newDB, |
113 | QWidget *parent = 0, | 113 | QWidget *parent = 0, |
114 | const char *name = 0 ); | 114 | const char *name = 0 ); |
115 | ~DateBookWeekLst(); | 115 | ~DateBookWeekLst(); |
116 | void setDate( int y, int w ); | 116 | void setDate( int y, int w ); |
117 | void setDate(const QDate &d ); | 117 | void setDate(const QDate &d ); |
118 | int week() const { return _week; }; | 118 | int week() const { return _week; }; |
119 | QDate date() const; | 119 | QDate date() const; |
120 | 120 | ||
121 | public slots: | 121 | public slots: |
122 | void redraw(); | 122 | void redraw(); |
123 | void dateChanged(int y, int w); | 123 | void dateChanged(int y, int w); |
124 | 124 | ||
@@ -127,9 +127,9 @@ protected slots: | |||
127 | void setDbl(bool on); | 127 | void setDbl(bool on); |
128 | 128 | ||
129 | signals: | 129 | signals: |
130 | void showDate(int y, int m, int d); | 130 | void showDate(int y, int m, int d); |
131 | void addEvent(const QDateTime &start, const QDateTime &stop, | 131 | void addEvent(const QDateTime &start, const QDateTime &stop, |
132 | const QString &str, const QString &location); | 132 | const QString &str, const QString &location); |
133 | void editEvent(const Event &e); | 133 | void editEvent(const Event &e); |
134 | 134 | ||
135 | private: | 135 | private: |