summaryrefslogtreecommitdiff
authorumopapisdn <umopapisdn>2003-05-04 00:08:28 (UTC)
committer umopapisdn <umopapisdn>2003-05-04 00:08:28 (UTC)
commit8489a583d5b762c5530076271ee3c3be7011b9ef (patch) (unidiff)
tree67b1c998368636f8b95e1cae75070f7be9d80409
parent585f0369fb448bdb49f9c261c488610fa46e61d7 (diff)
downloadopie-8489a583d5b762c5530076271ee3c3be7011b9ef.zip
opie-8489a583d5b762c5530076271ee3c3be7011b9ef.tar.gz
opie-8489a583d5b762c5530076271ee3c3be7011b9ef.tar.bz2
New feature: It's now possible to configure a default location and default categories for new events. (Options available in configuration dialog.)
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--core/pim/datebook/datebook.cpp108
-rw-r--r--core/pim/datebook/datebook.h32
-rw-r--r--core/pim/datebook/datebooksettings.cpp7
-rw-r--r--core/pim/datebook/datebooksettings.h1
-rw-r--r--core/pim/datebook/datebooksettingsbase.ui173
5 files changed, 250 insertions, 71 deletions
diff --git a/core/pim/datebook/datebook.cpp b/core/pim/datebook/datebook.cpp
index 6dd8918..cf1eeca 100644
--- a/core/pim/datebook/datebook.cpp
+++ b/core/pim/datebook/datebook.cpp
@@ -221,61 +221,77 @@ void DateBook::receive( const QCString &msg, const QByteArray &data )
221 viewMonth(); 221 viewMonth();
222 } 222 }
223 else if (msg == "editEvent(int)") { 223 else if (msg == "editEvent(int)") {
224 int uid; 224 int uid;
225 stream >> uid; 225 stream >> uid;
226 Event e=db->eventByUID(uid); 226 Event e=db->eventByUID(uid);
227 editEvent(e); 227 editEvent(e);
228 } 228 }
229} 229}
230 230
231DateBook::~DateBook() 231DateBook::~DateBook()
232{ 232{
233} 233}
234 234
235void DateBook::slotSettings() 235void DateBook::slotSettings()
236{ 236{
237 DateBookSettings frmSettings( ampm, this ); 237 DateBookSettings frmSettings( ampm, this );
238 frmSettings.setStartTime( startTime ); 238 frmSettings.setStartTime( startTime );
239 frmSettings.setAlarmPreset( aPreset, presetTime ); 239 frmSettings.setAlarmPreset( aPreset, presetTime );
240 frmSettings.setJumpToCurTime( bJumpToCurTime ); 240 frmSettings.setJumpToCurTime( bJumpToCurTime );
241 frmSettings.setRowStyle( rowStyle ); 241 frmSettings.setRowStyle( rowStyle );
242 frmSettings.comboDefaultView->setCurrentItem(defaultView-1); 242 frmSettings.comboDefaultView->setCurrentItem(defaultView-1);
243 frmSettings.comboWeekListView->setCurrentItem(weeklistviewconfig); 243 frmSettings.comboWeekListView->setCurrentItem(weeklistviewconfig);
244 244
245 bool found=false;
246 for (int i=0; i<(frmSettings.comboLocation->count()); i++) {
247 if ( frmSettings.comboLocation->text(i) == defaultLocation ) {
248 frmSettings.comboLocation->setCurrentItem(i);
249 found=true;
250 break;
251 }
252 }
253 if(!found) {
254 frmSettings.comboLocation->insertItem(defaultLocation);
255 frmSettings.comboLocation->setCurrentItem(frmSettings.comboLocation->count()-1);
256 }
257 frmSettings.comboCategory->setCategories(defaultCategories,"Calendar", tr("Calendar"));
258
245#if defined (Q_WS_QWS) || defined(_WS_QWS_) 259#if defined (Q_WS_QWS) || defined(_WS_QWS_)
246 frmSettings.showMaximized(); 260 frmSettings.showMaximized();
247#endif 261#endif
248 262
249 if ( frmSettings.exec() ) { 263 if ( frmSettings.exec() ) {
250 264
251 aPreset = frmSettings.alarmPreset(); 265 aPreset = frmSettings.alarmPreset();
252 presetTime = frmSettings.presetTime(); 266 presetTime = frmSettings.presetTime();
253 startTime = frmSettings.startTime(); 267 startTime = frmSettings.startTime();
254 bJumpToCurTime = frmSettings.jumpToCurTime(); 268 bJumpToCurTime = frmSettings.jumpToCurTime();
255 rowStyle = frmSettings.rowStyle(); 269 rowStyle = frmSettings.rowStyle();
256 defaultView=frmSettings.comboDefaultView->currentItem()+1; 270 defaultView=frmSettings.comboDefaultView->currentItem()+1;
257 weeklistviewconfig=frmSettings.comboWeekListView->currentItem(); 271 weeklistviewconfig=frmSettings.comboWeekListView->currentItem();
272 defaultLocation=frmSettings.comboLocation->currentText();
273 defaultCategories=frmSettings.comboCategory->currentCategories();
258 274
259 if ( dayView ) { 275 if ( dayView ) {
260 dayView->setStartViewTime( startTime ); 276 dayView->setStartViewTime( startTime );
261 dayView->setJumpToCurTime( bJumpToCurTime ); 277 dayView->setJumpToCurTime( bJumpToCurTime );
262 dayView->setRowStyle( rowStyle ); 278 dayView->setRowStyle( rowStyle );
263 } 279 }
264 if ( weekView ) { 280 if ( weekView ) {
265 weekView->setStartViewTime( startTime ); 281 weekView->setStartViewTime( startTime );
266 } 282 }
267 saveSettings(); 283 saveSettings();
268 284
269 // make the change obvious 285 // make the change obvious
270 if ( views->visibleWidget() ) { 286 if ( views->visibleWidget() ) {
271 if ( views->visibleWidget() == dayView ) 287 if ( views->visibleWidget() == dayView )
272 dayView->redraw(); 288 dayView->redraw();
273 else if ( views->visibleWidget() == weekView ) 289 else if ( views->visibleWidget() == weekView )
274 weekView->redraw(); 290 weekView->redraw();
275 else if ( views->visibleWidget() == weekLstView ) 291 else if ( views->visibleWidget() == weekLstView )
276 weekLstView->redraw(); 292 weekLstView->redraw();
277 } 293 }
278 } 294 }
279} 295}
280 296
281void DateBook::fileNew() 297void DateBook::fileNew()
@@ -364,50 +380,52 @@ void DateBook::viewDefault(const QDate &d) {
364 380
365 view(current,d); 381 view(current,d);
366*/ 382*/
367 view(defaultView,d); 383 view(defaultView,d);
368} 384}
369 385
370void DateBook::viewDay() { 386void DateBook::viewDay() {
371 view(DAY,currentDate()); 387 view(DAY,currentDate());
372} 388}
373 389
374void DateBook::viewWeek() { 390void DateBook::viewWeek() {
375 view(WEEK,currentDate()); 391 view(WEEK,currentDate());
376} 392}
377 393
378void DateBook::viewWeekLst() { 394void DateBook::viewWeekLst() {
379 view(WEEKLST,currentDate()); 395 view(WEEKLST,currentDate());
380} 396}
381 397
382void DateBook::viewMonth() { 398void DateBook::viewMonth() {
383 view(MONTH,currentDate()); 399 view(MONTH,currentDate());
384} 400}
385 401
386void DateBook::insertEvent( const Event &e ) 402void DateBook::insertEvent( const Event &e )
387{ 403{
388 qWarning("Adding Event!"); 404 Event dupEvent=e;
389 db->addEvent(e); 405 dupEvent.setLocation(defaultLocation);
406 dupEvent.setCategories(defaultCategories);
407 db->addEvent(dupEvent);
390 emit newEvent(); 408 emit newEvent();
391} 409}
392 410
393void DateBook::duplicateEvent( const Event &e ) 411void DateBook::duplicateEvent( const Event &e )
394{ 412{
395 qWarning("Hmmm..."); 413 qWarning("Hmmm...");
396 // Alot of code duplication, as this is almost like editEvent(); 414 // Alot of code duplication, as this is almost like editEvent();
397 if (syncing) { 415 if (syncing) {
398 QMessageBox::warning( this, tr("Calendar"), tr( "Can not edit data, currently syncing") ); 416 QMessageBox::warning( this, tr("Calendar"), tr( "Can not edit data, currently syncing") );
399 return; 417 return;
400 } 418 }
401 419
402 Event dupevent(e);// Make a duplicate. 420 Event dupevent(e);// Make a duplicate.
403 421
404 // workaround added for text input. 422 // workaround added for text input.
405 QDialog editDlg( this, 0, TRUE ); 423 QDialog editDlg( this, 0, TRUE );
406 DateEntry *entry; 424 DateEntry *entry;
407 editDlg.setCaption( tr("Duplicate Event") ); 425 editDlg.setCaption( tr("Duplicate Event") );
408 QVBoxLayout *vb = new QVBoxLayout( &editDlg ); 426 QVBoxLayout *vb = new QVBoxLayout( &editDlg );
409 QScrollView *sv = new QScrollView( &editDlg, "scrollview" ); 427 QScrollView *sv = new QScrollView( &editDlg, "scrollview" );
410 sv->setResizePolicy( QScrollView::AutoOneFit ); 428 sv->setResizePolicy( QScrollView::AutoOneFit );
411 // KLUDGE!!! 429 // KLUDGE!!!
412 sv->setHScrollBarMode( QScrollView::AlwaysOff ); 430 sv->setHScrollBarMode( QScrollView::AlwaysOff );
413 vb->addWidget( sv ); 431 vb->addWidget( sv );
@@ -585,62 +603,78 @@ void DateBook::initMonth()
585 connect( monthView, SIGNAL( dateClicked( int, int, int ) ), 603 connect( monthView, SIGNAL( dateClicked( int, int, int ) ),
586 this, SLOT( showDay( int, int, int ) ) ); 604 this, SLOT( showDay( int, int, int ) ) );
587 connect( this, SIGNAL( newEvent() ), 605 connect( this, SIGNAL( newEvent() ),
588 monthView, SLOT( redraw() ) ); 606 monthView, SLOT( redraw() ) );
589 qApp->processEvents(); 607 qApp->processEvents();
590 } 608 }
591} 609}
592 610
593void DateBook::loadSettings() 611void DateBook::loadSettings()
594{ 612{
595 Config qpeconfig( "qpe" ); 613 Config qpeconfig( "qpe" );
596 qpeconfig.setGroup("Time"); 614 qpeconfig.setGroup("Time");
597 ampm = qpeconfig.readBoolEntry( "AMPM", TRUE ); 615 ampm = qpeconfig.readBoolEntry( "AMPM", TRUE );
598 onMonday = qpeconfig.readBoolEntry( "MONDAY" ); 616 onMonday = qpeconfig.readBoolEntry( "MONDAY" );
599 617
600 Config config("DateBook"); 618 Config config("DateBook");
601 config.setGroup("Main"); 619 config.setGroup("Main");
602 startTime = config.readNumEntry("startviewtime", 8); 620 startTime = config.readNumEntry("startviewtime", 8);
603 aPreset = config.readBoolEntry("alarmpreset"); 621 aPreset = config.readBoolEntry("alarmpreset");
604 presetTime = config.readNumEntry("presettime"); 622 presetTime = config.readNumEntry("presettime");
605 bJumpToCurTime = config.readBoolEntry("jumptocurtime"); 623 bJumpToCurTime = config.readBoolEntry("jumptocurtime");
606 rowStyle = config.readNumEntry("rowstyle"); 624 rowStyle = config.readNumEntry("rowstyle");
607 defaultView = config.readNumEntry("defaultview",DAY); 625 defaultView = config.readNumEntry("defaultview",DAY);
608 weeklistviewconfig = config.readNumEntry("weeklistviewconfig",NORMAL); 626 weeklistviewconfig = config.readNumEntry("weeklistviewconfig",NORMAL);
627
628 defaultLocation=config.readEntry("defaultLocation");
629 QString tmpString=config.readEntry("defaultCategories");
630 QStringList tmpStringList=QStringList::split(",",tmpString);
631 defaultCategories.truncate(0);
632 for( QStringList::Iterator i=tmpStringList.begin(); i!=tmpStringList.end(); i++) {
633 defaultCategories.resize(defaultCategories.count()+1);
634 defaultCategories[defaultCategories.count()-1]=(*i).toInt();
635 }
609} 636}
610 637
611void DateBook::saveSettings() 638void DateBook::saveSettings()
612{ 639{
613 Config config( "qpe" ); 640 Config config( "qpe" );
614 Config configDB( "DateBook" ); 641 Config configDB( "DateBook" );
615 configDB.setGroup( "Main" ); 642 configDB.setGroup( "Main" );
616 configDB.writeEntry("startviewtime",startTime); 643 configDB.writeEntry("startviewtime",startTime);
617 configDB.writeEntry("alarmpreset",aPreset); 644 configDB.writeEntry("alarmpreset",aPreset);
618 configDB.writeEntry("presettime",presetTime); 645 configDB.writeEntry("presettime",presetTime);
619 configDB.writeEntry("jumptocurtime", bJumpToCurTime); 646 configDB.writeEntry("jumptocurtime", bJumpToCurTime);
620 configDB.writeEntry("rowstyle", rowStyle); 647 configDB.writeEntry("rowstyle", rowStyle);
621 configDB.writeEntry("defaultview",defaultView); 648 configDB.writeEntry("defaultview",defaultView);
622 configDB.writeEntry("weeklistviewconfig",weeklistviewconfig); 649 configDB.writeEntry("weeklistviewconfig",weeklistviewconfig);
650
651 configDB.writeEntry("defaultLocation",defaultLocation);
652 QStringList tmpStringList;
653 for( uint i=0; i<defaultCategories.count(); i++) {
654 tmpStringList << QString::number(defaultCategories[i]);
655 }
656 configDB.writeEntry("defaultCategories",tmpStringList.join(","));
623} 657}
624 658
625void DateBook::appMessage(const QCString& msg, const QByteArray& data) 659void DateBook::appMessage(const QCString& msg, const QByteArray& data)
626{ 660{
627 bool needShow = FALSE; 661 bool needShow = FALSE;
628 if ( msg == "alarm(QDateTime,int)" ) { 662 if ( msg == "alarm(QDateTime,int)" ) {
629 QDataStream ds(data,IO_ReadOnly); 663 QDataStream ds(data,IO_ReadOnly);
630 QDateTime when; int warn; 664 QDateTime when; int warn;
631 ds >> when >> warn; 665 ds >> when >> warn;
632 666
633 // check to make it's okay to continue, 667 // check to make it's okay to continue,
634 // this is the case that the time was set ahead, and 668 // this is the case that the time was set ahead, and
635 // we are forced given a stale alarm... 669 // we are forced given a stale alarm...
636 QDateTime current = QDateTime::currentDateTime(); 670 QDateTime current = QDateTime::currentDateTime();
637 if ( current.time().hour() != when.time().hour() && current.time().minute() != when.time().minute() ) 671 if ( current.time().hour() != when.time().hour() && current.time().minute() != when.time().minute() )
638 return; 672 return;
639 673
640 QValueList<EffectiveEvent> list = db->getEffectiveEvents(when.addSecs(warn*60)); 674 QValueList<EffectiveEvent> list = db->getEffectiveEvents(when.addSecs(warn*60));
641 if ( list.count() > 0 ) { 675 if ( list.count() > 0 ) {
642 QString msg; 676 QString msg;
643 bool bSound = FALSE; 677 bool bSound = FALSE;
644 int stopTimer = 0; 678 int stopTimer = 0;
645 bool found = FALSE; 679 bool found = FALSE;
646 for ( QValueList<EffectiveEvent>::ConstIterator it=list.begin(); it!=list.end(); ++it ) { 680 for ( QValueList<EffectiveEvent>::ConstIterator it=list.begin(); it!=list.end(); ++it ) {
@@ -804,90 +838,94 @@ void DateBook::slotNewEventFromKey( const QString &str )
804 // So we can assume some things. We want the string 838 // So we can assume some things. We want the string
805 // passed in to be part of the description. 839 // passed in to be part of the description.
806 QDateTime start, end; 840 QDateTime start, end;
807 if ( views->visibleWidget() == dayView ) { 841 if ( views->visibleWidget() == dayView ) {
808 dayView->selectedDates( start, end ); 842 dayView->selectedDates( start, end );
809 } else if ( views->visibleWidget() == monthView ) { 843 } else if ( views->visibleWidget() == monthView ) {
810 QDate d = monthView->selectedDate(); 844 QDate d = monthView->selectedDate();
811 start = end = d; 845 start = end = d;
812 start.setTime( QTime( 10, 0 ) ); 846 start.setTime( QTime( 10, 0 ) );
813 end.setTime( QTime( 12, 0 ) ); 847 end.setTime( QTime( 12, 0 ) );
814 } else if ( views->visibleWidget() == weekView ) { 848 } else if ( views->visibleWidget() == weekView ) {
815 QDate d = weekView->date(); 849 QDate d = weekView->date();
816 start = end = d; 850 start = end = d;
817 start.setTime( QTime( 10, 0 ) ); 851 start.setTime( QTime( 10, 0 ) );
818 end.setTime( QTime( 12, 0 ) ); 852 end.setTime( QTime( 12, 0 ) );
819 } else if ( views->visibleWidget() == weekLstView ) { 853 } else if ( views->visibleWidget() == weekLstView ) {
820 QDate d = weekLstView->date(); 854 QDate d = weekLstView->date();
821 start = end = d; 855 start = end = d;
822 start.setTime( QTime( 10, 0 ) ); 856 start.setTime( QTime( 10, 0 ) );
823 end.setTime( QTime( 12, 0 ) ); 857 end.setTime( QTime( 12, 0 ) );
824 } 858 }
825 slotNewEntry(start, end, str); 859 slotNewEntry(start, end, str);
826} 860}
827void DateBook::slotNewEntry(const QDateTime &start, const QDateTime &end, const QString &str, const QString &location) { 861void DateBook::slotNewEntry(const QDateTime &start, const QDateTime &end, const QString &str, const QString &location) {
828 // argh! This really needs to be encapsulated in a class 862 // argh! This really needs to be encapsulated in a class
829 // or function. 863 // or function.
830 QDialog newDlg( this, 0, TRUE ); 864 QDialog newDlg( this, 0, TRUE );
831 newDlg.setCaption( DateEntryBase::tr("New Event") ); 865 newDlg.setCaption( DateEntryBase::tr("New Event") );
832 DateEntry *e; 866 DateEntry *e;
833 QVBoxLayout *vb = new QVBoxLayout( &newDlg ); 867 QVBoxLayout *vb = new QVBoxLayout( &newDlg );
834 QScrollView *sv = new QScrollView( &newDlg ); 868 QScrollView *sv = new QScrollView( &newDlg );
835 sv->setResizePolicy( QScrollView::AutoOneFit ); 869 sv->setResizePolicy( QScrollView::AutoOneFit );
836 sv->setFrameStyle( QFrame::NoFrame ); 870 sv->setFrameStyle( QFrame::NoFrame );
837 sv->setHScrollBarMode( QScrollView::AlwaysOff ); 871 sv->setHScrollBarMode( QScrollView::AlwaysOff );
838 vb->addWidget( sv ); 872 vb->addWidget( sv );
839 873
840 Event ev; 874 Event ev;
841 ev.setDescription( str ); 875 ev.setDescription( str );
842 // When the new gui comes in, change this... 876 // When the new gui comes in, change this...
843 if(location==0) { 877 if(location==0) {
844 ev.setLocation( tr("(Unknown)") ); 878 if(defaultLocation.isEmpty()) {
879 ev.setLocation(tr("(Unknown)"));
880 } else {
881 ev.setLocation( defaultLocation );
882 }
845 } else { 883 } else {
846 ev.setLocation(location); 884 ev.setLocation(location);
847 } 885 }
848 ev.setStart( start ); 886 ev.setCategories(defaultCategories);
849 ev.setEnd( end ); 887 ev.setStart( start );
888 ev.setEnd( end );
850 889
851 e = new DateEntry( onMonday, ev, ampm, &newDlg ); 890 e = new DateEntry( onMonday, ev, ampm, &newDlg );
852 e->setAlarmEnabled( aPreset, presetTime, Event::Loud ); 891 e->setAlarmEnabled( aPreset, presetTime, Event::Loud );
853 sv->addChild( e ); 892 sv->addChild( e );
854#if defined(Q_WS_QWS) || defined(_WS_QWS_) 893#if defined(Q_WS_QWS) || defined(_WS_QWS_)
855 newDlg.showMaximized(); 894 newDlg.showMaximized();
856#endif 895#endif
857 while (newDlg.exec()) { 896 while (newDlg.exec()) {
858 ev = e->event(); 897 ev = e->event();
859 ev.assignUid(); 898 ev.assignUid();
860 QString error = checkEvent( ev ); 899 QString error = checkEvent( ev );
861 if ( !error.isNull() ) { 900 if ( !error.isNull() ) {
862 if ( QMessageBox::warning( this, tr("Error!"), 901 if ( QMessageBox::warning( this, tr("Error!"), error, tr("Fix it"), tr("Continue"), 0, 0, 1 ) == 0 )
863 error, tr("Fix it"), tr("Continue"), 0, 0, 1 ) == 0 ) 902 continue;
864 continue; 903 }
904 db->addEvent( ev );
905 emit newEvent();
906 break;
865 } 907 }
866 db->addEvent( ev );
867 emit newEvent();
868 break;
869 }
870} 908}
871 909
872void DateBook::setDocument( const QString &filename ) 910void DateBook::setDocument( const QString &filename )
873{ 911{
874 if ( filename.find(".vcs") != int(filename.length()) - 4 ) return; 912 if ( filename.find(".vcs") != int(filename.length()) - 4 ) return;
875 913
876 QValueList<Event> tl = Event::readVCalendar( filename ); 914 QValueList<Event> tl = Event::readVCalendar( filename );
877 for( QValueList<Event>::Iterator it = tl.begin(); it != tl.end(); ++it ) { 915 for( QValueList<Event>::Iterator it = tl.begin(); it != tl.end(); ++it ) {
878 db->addEvent( *it ); 916 db->addEvent( *it );
879 } 917 }
880} 918}
881 919
882static const char * beamfile = "/tmp/obex/event.vcs"; 920static const char * beamfile = "/tmp/obex/event.vcs";
883 921
884void DateBook::beamEvent( const Event &e ) 922void DateBook::beamEvent( const Event &e )
885{ 923{
886 qDebug("trying to beamn"); 924 qDebug("trying to beamn");
887 unlink( beamfile ); // delete if exists 925 unlink( beamfile ); // delete if exists
888 mkdir("/tmp/obex/", 0755); 926 mkdir("/tmp/obex/", 0755);
889 Event::writeVCalendar( beamfile, e ); 927 Event::writeVCalendar( beamfile, e );
890 Ir *ir = new Ir( this ); 928 Ir *ir = new Ir( this );
891 connect( ir, SIGNAL( done( Ir * ) ), this, SLOT( beamDone( Ir * ) ) ); 929 connect( ir, SIGNAL( done( Ir * ) ), this, SLOT( beamDone( Ir * ) ) );
892 QString description = e.description(); 930 QString description = e.description();
893 ir->send( beamfile, description, "text/x-vCalendar" ); 931 ir->send( beamfile, description, "text/x-vCalendar" );
diff --git a/core/pim/datebook/datebook.h b/core/pim/datebook/datebook.h
index 3f57d4a..eeb8666 100644
--- a/core/pim/datebook/datebook.h
+++ b/core/pim/datebook/datebook.h
@@ -87,50 +87,52 @@ private slots:
87 void viewMonth(); 87 void viewMonth();
88 88
89 void showDay( int y, int m, int d ); 89 void showDay( int y, int m, int d );
90 90
91 void insertEvent( const Event &e ); 91 void insertEvent( const Event &e );
92 void editEvent( const Event &e ); 92 void editEvent( const Event &e );
93 void duplicateEvent( const Event &e ); 93 void duplicateEvent( const Event &e );
94 void removeEvent( const Event &e ); 94 void removeEvent( const Event &e );
95 95
96 void receive( const QCString &msg, const QByteArray &data ); 96 void receive( const QCString &msg, const QByteArray &data );
97 void setDocument( const QString & ); 97 void setDocument( const QString & );
98 void beamEvent( const Event &e ); 98 void beamEvent( const Event &e );
99 void beamDone( Ir *ir ); 99 void beamDone( Ir *ir );
100 100
101private: 101private:
102 void addEvent( const Event &e ); 102 void addEvent( const Event &e );
103 void initDay(); 103 void initDay();
104 void initWeek(); 104 void initWeek();
105 void initWeekLst(); 105 void initWeekLst();
106 void initMonth(); 106 void initMonth();
107 void loadSettings(); 107 void loadSettings();
108 void saveSettings(); 108 void saveSettings();
109 109
110private: 110private:
111 DateBookDBHack *db; 111 DateBookDBHack *db;
112 QWidgetStack *views; 112 QWidgetStack *views;
113 DateBookDay *dayView; 113 DateBookDay *dayView;
114 DateBookWeek *weekView; 114 DateBookWeek *weekView;
115 DateBookMonth *monthView; 115 DateBookMonth *monthView;
116 DateBookWeekLst *weekLstView; 116 DateBookWeekLst *weekLstView;
117 QAction *dayAction, *weekAction, *weekLstAction, *monthAction; 117 QAction *dayAction, *weekAction, *weekLstAction, *monthAction;
118 int weeklistviewconfig; 118 int weeklistviewconfig;
119 bool aPreset; // have everything set to alarm? 119 bool aPreset; // have everything set to alarm?
120 int presetTime; // the standard time for the alarm 120 int presetTime; // the standard time for the alarm
121 int startTime; 121 int startTime;
122 int rowStyle; 122 int rowStyle;
123 int defaultView; 123 int defaultView;
124 QArray<int> defaultCategories;
125 QString defaultLocation;
124 bool bJumpToCurTime; //should jump to current time in dayview? 126 bool bJumpToCurTime; //should jump to current time in dayview?
125 bool ampm; 127 bool ampm;
126 bool onMonday; 128 bool onMonday;
127 129
128 bool syncing; 130 bool syncing;
129 bool inSearch; 131 bool inSearch;
130 132
131 int alarmCounter; 133 int alarmCounter;
132 134
133 QString checkEvent(const Event &); 135 QString checkEvent(const Event &);
134}; 136};
135 137
136#endif 138#endif
diff --git a/core/pim/datebook/datebooksettings.cpp b/core/pim/datebook/datebooksettings.cpp
index 49fcd17..675b17f 100644
--- a/core/pim/datebook/datebooksettings.cpp
+++ b/core/pim/datebook/datebooksettings.cpp
@@ -10,51 +10,52 @@
10** 10**
11** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE 11** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
12** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. 12** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
13** 13**
14** See http://www.trolltech.com/gpl/ for GPL licensing information. 14** See http://www.trolltech.com/gpl/ for GPL licensing information.
15** 15**
16** Contact info@trolltech.com if any conditions of this licensing are 16** Contact info@trolltech.com if any conditions of this licensing are
17** not clear to you. 17** not clear to you.
18** 18**
19**********************************************************************/ 19**********************************************************************/
20 20
21#include "datebooksettings.h" 21#include "datebooksettings.h"
22 22
23#include <qpe/qpeapplication.h> 23#include <qpe/qpeapplication.h>
24 24
25#include <qspinbox.h> 25#include <qspinbox.h>
26#include <qcheckbox.h> 26#include <qcheckbox.h>
27#include <qcombobox.h> 27#include <qcombobox.h>
28 28
29DateBookSettings::DateBookSettings( bool whichClock, QWidget *parent, 29DateBookSettings::DateBookSettings( bool whichClock, QWidget *parent,
30 const char *name, bool modal, WFlags fl ) 30 const char *name, bool modal, WFlags fl )
31 : DateBookSettingsBase( parent, name, modal, fl ), 31 : DateBookSettingsBase( parent, name, modal, fl ),
32 ampm( whichClock ) 32 ampm( whichClock )
33{ 33{
34 init(); 34 init();
35 QObject::connect( qApp, SIGNAL( clockChanged( bool ) ), 35 QObject::connect( qApp, SIGNAL( clockChanged( bool ) ), this, SLOT( slotChangeClock( bool ) ) );
36 this, SLOT( slotChangeClock( bool ) ) ); 36 QArray<int> categories;
37 comboCategory->setCategories( categories, "Calendar", tr("Calendar") );
37} 38}
38 39
39DateBookSettings::~DateBookSettings() 40DateBookSettings::~DateBookSettings()
40{ 41{
41} 42}
42 43
43void DateBookSettings::setStartTime( int newStartViewTime ) 44void DateBookSettings::setStartTime( int newStartViewTime )
44{ 45{
45 if ( ampm ) { 46 if ( ampm ) {
46 if ( newStartViewTime >= 12 ) { 47 if ( newStartViewTime >= 12 ) {
47 newStartViewTime %= 12; 48 newStartViewTime %= 12;
48 if ( newStartViewTime == 0 ) 49 if ( newStartViewTime == 0 )
49 newStartViewTime = 12; 50 newStartViewTime = 12;
50 spinStart->setSuffix( tr(":00 PM") ); 51 spinStart->setSuffix( tr(":00 PM") );
51 } 52 }
52 else if ( newStartViewTime == 0 ) { 53 else if ( newStartViewTime == 0 ) {
53 newStartViewTime = 12; 54 newStartViewTime = 12;
54 spinStart->setSuffix( tr(":00 AM") ); 55 spinStart->setSuffix( tr(":00 AM") );
55 } 56 }
56 oldtime = newStartViewTime; 57 oldtime = newStartViewTime;
57 } 58 }
58 spinStart->setValue( newStartViewTime ); 59 spinStart->setValue( newStartViewTime );
59} 60}
60 61
diff --git a/core/pim/datebook/datebooksettings.h b/core/pim/datebook/datebooksettings.h
index 90a07f9..c3036e1 100644
--- a/core/pim/datebook/datebooksettings.h
+++ b/core/pim/datebook/datebooksettings.h
@@ -1,47 +1,48 @@
1/********************************************************************** 1/**********************************************************************
2** Copyright (C) 2000 Trolltech AS. All rights reserved. 2** Copyright (C) 2000 Trolltech AS. All rights reserved.
3** 3**
4** This file is part of Qtopia Environment. 4** This file is part of Qtopia Environment.
5** 5**
6** This file may be distributed and/or modified under the terms of the 6** This file may be distributed and/or modified under the terms of the
7** GNU General Public License version 2 as published by the Free Software 7** GNU General Public License version 2 as published by the Free Software
8** Foundation and appearing in the file LICENSE.GPL included in the 8** Foundation and appearing in the file LICENSE.GPL included in the
9** packaging of this file. 9** packaging of this file.
10** 10**
11** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE 11** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
12** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. 12** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
13** 13**
14** See http://www.trolltech.com/gpl/ for GPL licensing information. 14** See http://www.trolltech.com/gpl/ for GPL licensing information.
15** 15**
16** Contact info@trolltech.com if any conditions of this licensing are 16** Contact info@trolltech.com if any conditions of this licensing are
17** not clear to you. 17** not clear to you.
18** 18**
19**********************************************************************/ 19**********************************************************************/
20 20
21#ifndef DATEBOOKSETTINGS_H 21#ifndef DATEBOOKSETTINGS_H
22#define DATEBOOKSETTINGS_H 22#define DATEBOOKSETTINGS_H
23#include "datebooksettingsbase.h" 23#include "datebooksettingsbase.h"
24#include <qpe/categoryselect.h>
24 25
25class DateBookSettings : public DateBookSettingsBase 26class DateBookSettings : public DateBookSettingsBase
26{ 27{
27public: 28public:
28 DateBookSettings( bool whichClock, QWidget *parent = 0, 29 DateBookSettings( bool whichClock, QWidget *parent = 0,
29 const char *name = 0, bool modal = TRUE, WFlags = 0 ); 30 const char *name = 0, bool modal = TRUE, WFlags = 0 );
30 ~DateBookSettings(); 31 ~DateBookSettings();
31 void setStartTime( int newStartViewTime ); 32 void setStartTime( int newStartViewTime );
32 int startTime() const; 33 int startTime() const;
33 void setAlarmPreset( bool bAlarm, int presetTime ); 34 void setAlarmPreset( bool bAlarm, int presetTime );
34 bool alarmPreset() const; 35 bool alarmPreset() const;
35 int presetTime() const; 36 int presetTime() const;
36 void setAlarmType( int alarmType ); 37 void setAlarmType( int alarmType );
37 int alarmType() const; 38 int alarmType() const;
38 39
39 void setJumpToCurTime( bool bJump ); 40 void setJumpToCurTime( bool bJump );
40 bool jumpToCurTime() const; 41 bool jumpToCurTime() const;
41 void setRowStyle( int style ); 42 void setRowStyle( int style );
42 int rowStyle() const; 43 int rowStyle() const;
43 44
44private slots: 45private slots:
45 void slot12Hour( int ); 46 void slot12Hour( int );
46 void slotChangeClock( bool ); 47 void slotChangeClock( bool );
47 48
diff --git a/core/pim/datebook/datebooksettingsbase.ui b/core/pim/datebook/datebooksettingsbase.ui
index 3836330..e613db1 100644
--- a/core/pim/datebook/datebooksettingsbase.ui
+++ b/core/pim/datebook/datebooksettingsbase.ui
@@ -12,49 +12,49 @@
12** 12**
13** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE 13** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
14** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. 14** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
15** 15**
16** See http://www.trolltech.com/gpl/ for GPL licensing information. 16** See http://www.trolltech.com/gpl/ for GPL licensing information.
17** 17**
18** Contact info@trolltech.com if any conditions of this licensing are 18** Contact info@trolltech.com if any conditions of this licensing are
19** not clear to you. 19** not clear to you.
20** 20**
21** $Id$ 21** $Id$
22** 22**
23**********************************************************************</comment> 23**********************************************************************</comment>
24<widget> 24<widget>
25 <class>QDialog</class> 25 <class>QDialog</class>
26 <property stdset="1"> 26 <property stdset="1">
27 <name>name</name> 27 <name>name</name>
28 <cstring>DateBookSettingsBase</cstring> 28 <cstring>DateBookSettingsBase</cstring>
29 </property> 29 </property>
30 <property stdset="1"> 30 <property stdset="1">
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>273</width> 35 <width>273</width>
36 <height>303</height> 36 <height>340</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>
41 <string>Preferences</string> 41 <string>Preferences</string>
42 </property> 42 </property>
43 <property> 43 <property>
44 <name>layoutMargin</name> 44 <name>layoutMargin</name>
45 </property> 45 </property>
46 <property> 46 <property>
47 <name>layoutSpacing</name> 47 <name>layoutSpacing</name>
48 </property> 48 </property>
49 <vbox> 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> 58 <widget>
59 <class>QTabWidget</class> 59 <class>QTabWidget</class>
60 <property stdset="1"> 60 <property stdset="1">
@@ -509,67 +509,204 @@
509 </widget> 509 </widget>
510 <widget> 510 <widget>
511 <class>QSpinBox</class> 511 <class>QSpinBox</class>
512 <property stdset="1"> 512 <property stdset="1">
513 <name>name</name> 513 <name>name</name>
514 <cstring>spinStart</cstring> 514 <cstring>spinStart</cstring>
515 </property> 515 </property>
516 <property stdset="1"> 516 <property stdset="1">
517 <name>suffix</name> 517 <name>suffix</name>
518 <string>:00</string> 518 <string>:00</string>
519 </property> 519 </property>
520 <property stdset="1"> 520 <property stdset="1">
521 <name>wrapping</name> 521 <name>wrapping</name>
522 <bool>true</bool> 522 <bool>true</bool>
523 </property> 523 </property>
524 <property stdset="1"> 524 <property stdset="1">
525 <name>maxValue</name> 525 <name>maxValue</name>
526 <number>23</number> 526 <number>23</number>
527 </property> 527 </property>
528 </widget> 528 </widget>
529 </hbox> 529 </hbox>
530 </widget> 530 </widget>
531 </vbox> 531 </vbox>
532 </widget> 532 </widget>
533 <spacer> 533 <widget>
534 <property> 534 <class>QGroupBox</class>
535 <name>name</name>
536 <cstring>Spacer9</cstring>
537 </property>
538 <property stdset="1"> 535 <property stdset="1">
539 <name>orientation</name> 536 <name>name</name>
540 <enum>Vertical</enum> 537 <cstring>GroupBox5_2_2</cstring>
541 </property> 538 </property>
542 <property stdset="1"> 539 <property stdset="1">
543 <name>sizeType</name> 540 <name>title</name>
544 <enum>Expanding</enum> 541 <string>Defaults</string>
545 </property>
546 <property>
547 <name>sizeHint</name>
548 <size>
549 <width>20</width>
550 <height>20</height>
551 </size>
552 </property> 542 </property>
553 </spacer> 543 <vbox>
544 <property stdset="1">
545 <name>margin</name>
546 <number>11</number>
547 </property>
548 <property stdset="1">
549 <name>spacing</name>
550 <number>6</number>
551 </property>
552 <widget>
553 <class>QLayoutWidget</class>
554 <property stdset="1">
555 <name>name</name>
556 <cstring>Layout6_2</cstring>
557 </property>
558 <hbox>
559 <property stdset="1">
560 <name>margin</name>
561 <number>0</number>
562 </property>
563 <property stdset="1">
564 <name>spacing</name>
565 <number>6</number>
566 </property>
567 <widget>
568 <class>QLabel</class>
569 <property stdset="1">
570 <name>name</name>
571 <cstring>TextLabel2_2_3</cstring>
572 </property>
573 <property stdset="1">
574 <name>frameShape</name>
575 <enum>MShape</enum>
576 </property>
577 <property stdset="1">
578 <name>frameShadow</name>
579 <enum>MShadow</enum>
580 </property>
581 <property stdset="1">
582 <name>text</name>
583 <string>Location:</string>
584 </property>
585 </widget>
586 <widget>
587 <class>QComboBox</class>
588 <item>
589 <property>
590 <name>text</name>
591 <string></string>
592 </property>
593 </item>
594 <item>
595 <property>
596 <name>text</name>
597 <string>Office</string>
598 </property>
599 </item>
600 <item>
601 <property>
602 <name>text</name>
603 <string>Home</string>
604 </property>
605 </item>
606 <property stdset="1">
607 <name>name</name>
608 <cstring>comboLocation</cstring>
609 </property>
610 <property stdset="1">
611 <name>sizePolicy</name>
612 <sizepolicy>
613 <hsizetype>7</hsizetype>
614 <vsizetype>0</vsizetype>
615 </sizepolicy>
616 </property>
617 <property stdset="1">
618 <name>editable</name>
619 <bool>true</bool>
620 </property>
621 <property stdset="1">
622 <name>currentItem</name>
623 <number>0</number>
624 </property>
625 <property stdset="1">
626 <name>duplicatesEnabled</name>
627 <bool>false</bool>
628 </property>
629 </widget>
630 </hbox>
631 </widget>
632 <widget>
633 <class>QLayoutWidget</class>
634 <property stdset="1">
635 <name>name</name>
636 <cstring>Layout7_2</cstring>
637 </property>
638 <hbox>
639 <property stdset="1">
640 <name>margin</name>
641 <number>0</number>
642 </property>
643 <property stdset="1">
644 <name>spacing</name>
645 <number>6</number>
646 </property>
647 <widget>
648 <class>QLabel</class>
649 <property stdset="1">
650 <name>name</name>
651 <cstring>TextLabel2_2_2_2</cstring>
652 </property>
653 <property stdset="1">
654 <name>text</name>
655 <string>Category:</string>
656 </property>
657 </widget>
658 <widget>
659 <class>CategorySelect</class>
660 <property stdset="1">
661 <name>name</name>
662 <cstring>comboCategory</cstring>
663 </property>
664 </widget>
665 </hbox>
666 </widget>
667 </vbox>
668 </widget>
554 </vbox> 669 </vbox>
555 </widget> 670 </widget>
556 </widget> 671 </widget>
557 </vbox> 672 </vbox>
558</widget> 673</widget>
674<customwidgets>
675 <customwidget>
676 <class>CategorySelect</class>
677 <header location="global">qpe/categoryselect.h</header>
678 <sizehint>
679 <width>-1</width>
680 <height>-1</height>
681 </sizehint>
682 <container>0</container>
683 <sizepolicy>
684 <hordata>7</hordata>
685 <verdata>1</verdata>
686 </sizepolicy>
687 <pixmap>image0</pixmap>
688 </customwidget>
689</customwidgets>
690<images>
691 <image>
692 <name>image0</name>
693 <data format="XPM.GZ" length="646">789c6dd2c10ac2300c00d07bbf2234b7229d1be245fc04c5a3201e4615f430059d0711ff5ddb2e6bb236ec90eed134cb5a19d8ef36602af5ecdbfeeac05dda0798d3abebde87e3faa374d3807fa0d633a52d38d8de6f679fe33fc776e196f53cd010188256a3600a292882096246517815ca99884606e18044a3a40d91824820924265a7923a2e8bcd05f33db1173e002913175f2a6be6d3294871a2d95fa00e8a94ee017b69d339d90df1e77c57ea072ede6758</data>
694 </image>
695</images>
559<connections> 696<connections>
560 <connection> 697 <connection>
561 <sender>chkAlarmPreset</sender> 698 <sender>chkAlarmPreset</sender>
562 <signal>toggled(bool)</signal> 699 <signal>toggled(bool)</signal>
563 <receiver>spinPreset</receiver> 700 <receiver>spinPreset</receiver>
564 <slot>setEnabled(bool)</slot> 701 <slot>setEnabled(bool)</slot>
565 </connection> 702 </connection>
566 <connection> 703 <connection>
567 <sender>spinStart</sender> 704 <sender>spinStart</sender>
568 <signal>valueChanged(int)</signal> 705 <signal>valueChanged(int)</signal>
569 <receiver>DateBookSettingsBase</receiver> 706 <receiver>DateBookSettingsBase</receiver>
570 <slot>slot12Hour( int )</slot> 707 <slot>slot12Hour( int )</slot>
571 </connection> 708 </connection>
572 <slot access="public">slotChangeClock( bool )</slot> 709 <slot access="public">slotChangeClock( bool )</slot>
573 <slot access="public">slot12Hour( int )</slot> 710 <slot access="public">slot12Hour( int )</slot>
574</connections> 711</connections>
575</UI> 712</UI>