-rw-r--r-- | core/pim/datebook/datebook.cpp | 120 | ||||
-rw-r--r-- | core/pim/datebook/datebook.h | 6 | ||||
-rw-r--r-- | core/pim/datebook/datebooksettingsbase.ui | 394 | ||||
-rw-r--r-- | core/pim/datebook/datebookweeklst.cpp | 123 | ||||
-rw-r--r-- | core/pim/datebook/datebookweeklst.h | 2 |
5 files changed, 396 insertions, 249 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 @@ -70,12 +70,6 @@ #include <stdlib.h> -#define DAY 1 -#define WEEK 2 -#define WEEKLST 4 -#define MONTH 3 - - DateBook::DateBook( QWidget *parent, const char *, WFlags f ) : QMainWindow( parent, "datebook", f ), aPreset( FALSE ), @@ -166,56 +160,29 @@ DateBook::DateBook( QWidget *parent, const char *, WFlags f ) connect( a, SIGNAL(activated()), this, SLOT(slotFind()) ); a->addTo( sub_bar ); - a = new QAction( tr( "Alarm and Start Time..." ), QString::null, 0, 0 ); + a = new QAction( tr( "Edit..." ), QString::null, 0, 0 ); connect( a, SIGNAL( activated() ), this, SLOT( slotSettings() ) ); a->addTo( settings ); - QPopupMenu *default_view = new QPopupMenu(this); - settings->insertItem( tr( "Default View" ),default_view ); - default_view->setCheckable(TRUE); + if(defaultView==DAY) viewDay(); + if(defaultView==WEEK) needEvilHack=true; // viewWeek(); + if(defaultView==WEEKLST) viewWeekLst(); + if(defaultView==MONTH) viewMonth(); - Config config("DateBook"); - config.setGroup("Main"); - int current=config.readNumEntry("defaultview", DAY); - - QActionGroup *ag = new QActionGroup(this); - a = new QAction( tr( "Day" ), QString::null, 0, 0, 0, true ); - if (current==DAY) a->setOn(true), viewDay(); - ag->insert(a); - a = new QAction( tr( "Week" ), QString::null, 0, 0, 0, true ); - if (current==WEEK) a->setOn(true), /*viewWeek(),*/ needEvilHack = true; - ag->insert(a); - a = new QAction( tr( "WeekLst" ), QString::null, 0, 0, 0, true ); - if (current==WEEKLST) a->setOn(true), viewWeekLst(); - ag->insert(a); - a = new QAction( tr( "Month" ), QString::null, 0, 0, 0, true ); - if (current==MONTH) a->setOn(true), viewMonth(); - ag->insert(a); - - ag->addTo(default_view); - connect(ag, SIGNAL( selected ( QAction * ) ), - this, SLOT( newDefaultView(QAction *) ) - ); - - connect( qApp, SIGNAL(clockChanged(bool)), - this, SLOT(changeClock(bool)) ); - connect( qApp, SIGNAL(weekChanged(bool)), - this, SLOT(changeWeek(bool)) ); + connect( qApp, SIGNAL(clockChanged(bool)), this, SLOT(changeClock(bool)) ); + connect( qApp, SIGNAL(weekChanged(bool)), this, SLOT(changeWeek(bool)) ); #if defined(Q_WS_QWS) && !defined(QT_NO_COP) - connect( qApp, SIGNAL(appMessage(const QCString&, const QByteArray&)), - this, SLOT(appMessage(const QCString&, const QByteArray&)) ); + connect( qApp, SIGNAL(appMessage(const QCString&, const QByteArray&)), this, SLOT(appMessage(const QCString&, const QByteArray&)) ); #endif // listen on QPE/System #if defined(Q_WS_QWS) #if !defined(QT_NO_COP) QCopChannel *channel = new QCopChannel( "QPE/System", this ); - connect( channel, SIGNAL(received(const QCString&, const QByteArray&)), - this, SLOT(receive(const QCString&, const QByteArray&)) ); + connect( channel, SIGNAL(received(const QCString&, const QByteArray&)), this, SLOT(receive(const QCString&, const QByteArray&)) ); channel = new QCopChannel( "QPE/Datebook", this ); - connect( channel, SIGNAL(received(const QCString&, const QByteArray&)), - this, SLOT(receive(const QCString&, const QByteArray&)) ); + connect( channel, SIGNAL(received(const QCString&, const QByteArray&)), this, SLOT(receive(const QCString&, const QByteArray&)) ); qDebug("olle\n"); #endif #endif @@ -272,6 +239,9 @@ void DateBook::slotSettings() frmSettings.setAlarmPreset( aPreset, presetTime ); frmSettings.setJumpToCurTime( bJumpToCurTime ); frmSettings.setRowStyle( rowStyle ); + frmSettings.comboDefaultView->setCurrentItem(defaultView-1); + frmSettings.comboWeekListView->setCurrentItem(weeklistviewconfig); + #if defined (Q_WS_QWS) || defined(_WS_QWS_) frmSettings.showMaximized(); #endif @@ -283,6 +253,8 @@ void DateBook::slotSettings() startTime = frmSettings.startTime(); bJumpToCurTime = frmSettings.jumpToCurTime(); rowStyle = frmSettings.rowStyle(); + defaultView=frmSettings.comboDefaultView->currentItem()+1; + weeklistviewconfig=frmSettings.comboWeekListView->currentItem(); if ( dayView ) { dayView->setStartViewTime( startTime ); @@ -300,6 +272,8 @@ void DateBook::slotSettings() dayView->redraw(); else if ( views->visibleWidget() == weekView ) weekView->redraw(); + else if ( views->visibleWidget() == weekLstView ) + weekLstView->redraw(); } } } @@ -383,11 +357,14 @@ void DateBook::view(int v, const QDate &d) { } void DateBook::viewDefault(const QDate &d) { +/* Config config("DateBook"); config.setGroup("Main"); int current=config.readNumEntry("defaultview", DAY); view(current,d); +*/ + view(defaultView,d); } void DateBook::viewDay() { @@ -608,14 +585,11 @@ void DateBook::initMonth() void DateBook::loadSettings() { - { - Config config( "qpe" ); - config.setGroup("Time"); - ampm = config.readBoolEntry( "AMPM", TRUE ); - onMonday = config.readBoolEntry( "MONDAY" ); - } + Config qpeconfig( "qpe" ); + qpeconfig.setGroup("Time"); + ampm = qpeconfig.readBoolEntry( "AMPM", TRUE ); + onMonday = qpeconfig.readBoolEntry( "MONDAY" ); - { Config config("DateBook"); config.setGroup("Main"); startTime = config.readNumEntry("startviewtime", 8); @@ -623,7 +597,8 @@ void DateBook::loadSettings() presetTime = config.readNumEntry("presettime"); bJumpToCurTime = config.readBoolEntry("jumptocurtime"); rowStyle = config.readNumEntry("rowstyle"); - } + defaultView = config.readNumEntry("defaultview",DAY); + weeklistviewconfig = config.readNumEntry("weeklistviewconfig",NORMAL); } void DateBook::saveSettings() @@ -636,18 +611,8 @@ void DateBook::saveSettings() configDB.writeEntry("presettime",presetTime); configDB.writeEntry("jumptocurtime", bJumpToCurTime); configDB.writeEntry("rowstyle", rowStyle); -} - -void DateBook::newDefaultView(QAction *a) { - int val=DAY; - if (a->text() == "Day") val=DAY; - if (a->text() == "Week") val=WEEK; - if (a->text() == "WeekLst") val=WEEKLST; - if (a->text() == "Month") val=MONTH; - - Config configDB( "DateBook" ); - configDB.setGroup( "Main" ); - configDB.writeEntry("defaultview",val); + configDB.writeEntry("defaultview",defaultView); + configDB.writeEntry("weeklistviewconfig",weeklistviewconfig); } void DateBook::appMessage(const QCString& msg, const QByteArray& data) @@ -662,8 +627,7 @@ void DateBook::appMessage(const QCString& msg, const QByteArray& data) // this is the case that the time was set ahead, and // we are forced given a stale alarm... QDateTime current = QDateTime::currentDateTime(); - if ( current.time().hour() != when.time().hour() - && current.time().minute() != when.time().minute() ) + if ( current.time().hour() != when.time().hour() && current.time().minute() != when.time().minute() ) return; QValueList<EffectiveEvent> list = db->getEffectiveEvents(when.addSecs(warn*60)); @@ -672,8 +636,7 @@ void DateBook::appMessage(const QCString& msg, const QByteArray& data) bool bSound = FALSE; int stopTimer = 0; bool found = FALSE; - for ( QValueList<EffectiveEvent>::ConstIterator it=list.begin(); - it!=list.end(); ++it ) { + for ( QValueList<EffectiveEvent>::ConstIterator it=list.begin(); it!=list.end(); ++it ) { if ( (*it).event().hasAlarm() ) { found = TRUE; msg += "<CENTER><B>" + (*it).description() + "</B>" @@ -696,7 +659,6 @@ void DateBook::appMessage(const QCString& msg, const QByteArray& data) alarmCounter = 0; stopTimer = startTimer( 5000 ); } - QDialog dlg( this, 0, TRUE ); QVBoxLayout *vb = new QVBoxLayout( &dlg ); QScrollView *view = new QScrollView( &dlg, "scrollView"); @@ -720,8 +682,7 @@ void DateBook::appMessage(const QCString& msg, const QByteArray& data) } else if ( msg == "nextView()" ) { if ( !qApp-> activeWindow ( )) { needShow = TRUE; - } - else { + } else { QWidget* cur = views->visibleWidget(); if ( cur ) { if ( cur == dayView ) @@ -751,12 +712,9 @@ void DateBook::appMessage(const QCString& msg, const QByteArray& data) void DateBook::reload() { db->reload(); - if ( dayAction->isOn() ) - viewDay(); - else if ( weekAction->isOn() ) - viewWeek(); - else if ( monthAction->isOn() ) - viewMonth(); + if ( dayAction->isOn() ) viewDay(); + else if ( weekAction->isOn() ) viewWeek(); + else if ( monthAction->isOn() ) viewMonth(); syncing = FALSE; } @@ -771,10 +729,10 @@ void DateBook::timerEvent( QTimerEvent *e ) if ( alarmCounter < 10 ) { alarmCounter++; Sound::soundAlarm(); - } - else + } else { killTimer( e->timerId() ); } +} void DateBook::changeClock( bool newClock ) { @@ -795,7 +753,7 @@ void DateBook::changeWeek( bool m ) void DateBook::slotToday() { // we need to view today using default view - viewDefault(QDate::currentDate()); + view(defaultView,QDate::currentDate()); } void DateBook::closeEvent( QCloseEvent *e ) @@ -809,9 +767,9 @@ void DateBook::closeEvent( QCloseEvent *e ) // save settings will generate it's own error messages, no // need to do checking ourselves. saveSettings(); - if ( db->save() ) + if ( db->save() ) { e->accept(); - else { + } else { if ( QMessageBox::critical( this, tr( "Out of space" ), tr("Calendar was unable to save\n" "your changes.\n" 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 @@ -24,6 +24,9 @@ #include <qmainwindow.h> +enum { DAY=1,WEEK,WEEKLST,MONTH }; // defaultView values +enum { NONE=0,NORMAL,EXTENDED }; // WeekLstView's modes. + class QAction; class QWidgetStack; class DateBookDay; @@ -67,7 +70,6 @@ private slots: void fileNew(); void slotNewEntry(const QDateTime &start, const QDateTime &end, const QString &str, const QString &location=0); void slotSettings(); - void newDefaultView(QAction *a); void slotToday(); // view today void changeClock( bool newClock ); void changeWeek( bool newDay ); @@ -112,10 +114,12 @@ private: DateBookMonth *monthView; DateBookWeekLst *weekLstView; QAction *dayAction, *weekAction, *weekLstAction, *monthAction; + int weeklistviewconfig; bool aPreset; // have everything set to alarm? int presetTime; // the standard time for the alarm int startTime; int rowStyle; + int defaultView; bool bJumpToCurTime; //should jump to current time in dayview? bool ampm; bool onMonday; 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 @@ -32,8 +32,8 @@ <rect> <x>0</x> <y>0</y> - <width>220</width> - <height>290</height> + <width>273</width> + <height>303</height> </rect> </property> <property stdset="1"> @@ -46,7 +46,7 @@ <property> <name>layoutSpacing</name> </property> - <grid> + <vbox> <property stdset="1"> <name>margin</name> <number>11</number> @@ -55,40 +55,38 @@ <name>spacing</name> <number>6</number> </property> - <widget row="0" column="0" > - <class>QGroupBox</class> + <widget> + <class>QTabWidget</class> <property stdset="1"> <name>name</name> - <cstring>fraStart</cstring> + <cstring>TabWidget2</cstring> </property> + <widget> + <class>QWidget</class> <property stdset="1"> - <name>frameShape</name> - <enum>Box</enum> + <name>name</name> + <cstring>tab</cstring> </property> + <attribute> + <name>title</name> + <string>Views</string> + </attribute> + <vbox> <property stdset="1"> - <name>frameShadow</name> - <enum>Sunken</enum> + <name>margin</name> + <number>11</number> </property> <property stdset="1"> - <name>title</name> - <string>Start viewing events</string> + <name>spacing</name> + <number>6</number> </property> <widget> <class>QLayoutWidget</class> <property stdset="1"> <name>name</name> - <cstring>Layout6</cstring> - </property> - <property stdset="1"> - <name>geometry</name> - <rect> - <x>3</x> - <y>21</y> - <width>210</width> - <height>53</height> - </rect> + <cstring>Layout5</cstring> </property> - <grid> + <hbox> <property stdset="1"> <name>margin</name> <number>0</number> @@ -97,14 +95,14 @@ <name>spacing</name> <number>6</number> </property> - <spacer row="1" column="0" > + <spacer> <property> <name>name</name> <cstring>Spacer1</cstring> </property> <property stdset="1"> <name>orientation</name> - <enum>Vertical</enum> + <enum>Horizontal</enum> </property> <property stdset="1"> <name>sizeType</name> @@ -118,82 +116,182 @@ </size> </property> </spacer> - <widget row="0" column="0" > - <class>QLayoutWidget</class> + <widget> + <class>QLabel</class> <property stdset="1"> <name>name</name> - <cstring>Layout1</cstring> + <cstring>TextLabel1_2</cstring> + </property> + <property stdset="1"> + <name>text</name> + <string>Default view:</string> + </property> + </widget> + <widget> + <class>QComboBox</class> + <item> + <property> + <name>text</name> + <string>Day</string> + </property> + </item> + <item> + <property> + <name>text</name> + <string>Week</string> + </property> + </item> + <item> + <property> + <name>text</name> + <string>Week List</string> + </property> + </item> + <item> + <property> + <name>text</name> + <string>Month</string> + </property> + </item> + <property stdset="1"> + <name>name</name> + <cstring>comboDefaultView</cstring> + </property> + </widget> + <spacer> + <property> + <name>name</name> + <cstring>Spacer2</cstring> + </property> + <property stdset="1"> + <name>orientation</name> + <enum>Horizontal</enum> + </property> + <property stdset="1"> + <name>sizeType</name> + <enum>Expanding</enum> + </property> + <property> + <name>sizeHint</name> + <size> + <width>20</width> + <height>20</height> + </size> + </property> + </spacer> + </hbox> + </widget> + <widget> + <class>QGroupBox</class> + <property stdset="1"> + <name>name</name> + <cstring>GroupBox4</cstring> </property> - <hbox> + <property stdset="1"> + <name>title</name> + <string>Day</string> + </property> + <vbox> <property stdset="1"> <name>margin</name> - <number>0</number> + <number>11</number> </property> <property stdset="1"> <name>spacing</name> <number>6</number> </property> <widget> - <class>QLabel</class> + <class>QCheckBox</class> <property stdset="1"> <name>name</name> - <cstring>lblStartTime</cstring> + <cstring>chkJumpToCurTime</cstring> </property> <property stdset="1"> <name>text</name> - <string>Start Time:</string> + <string>Jump to current time</string> </property> </widget> <widget> - <class>QSpinBox</class> + <class>QLayoutWidget</class> <property stdset="1"> <name>name</name> - <cstring>spinStart</cstring> + <cstring>Layout5</cstring> </property> + <hbox> <property stdset="1"> - <name>suffix</name> - <string>:00</string> + <name>margin</name> + <number>0</number> </property> <property stdset="1"> - <name>wrapping</name> - <bool>true</bool> + <name>spacing</name> + <number>6</number> </property> + <widget> + <class>QLabel</class> <property stdset="1"> - <name>maxValue</name> - <number>23</number> + <name>name</name> + <cstring>TextLabel1</cstring> + </property> + <property stdset="1"> + <name>text</name> + <string>Row style:</string> </property> </widget> - </hbox> + <widget> + <class>QComboBox</class> + <item> + <property> + <name>text</name> + <string>Default</string> + </property> + </item> + <item> + <property> + <name>text</name> + <string>Medium</string> + </property> + </item> + <item> + <property> + <name>text</name> + <string>Large</string> + </property> + </item> + <property stdset="1"> + <name>name</name> + <cstring>comboRowStyle</cstring> + </property> </widget> - </grid> + </hbox> </widget> + </vbox> </widget> - <widget row="1" column="0" > + <widget> <class>QGroupBox</class> <property stdset="1"> <name>name</name> - <cstring>fraAlarm</cstring> + <cstring>GroupBox5</cstring> </property> <property stdset="1"> <name>title</name> - <string>Alarm Settings</string> + <string>Week List</string> + </property> + <vbox> + <property stdset="1"> + <name>margin</name> + <number>11</number> + </property> + <property stdset="1"> + <name>spacing</name> + <number>6</number> </property> <widget> <class>QLayoutWidget</class> <property stdset="1"> <name>name</name> - <cstring>Layout4</cstring> - </property> - <property stdset="1"> - <name>geometry</name> - <rect> - <x>10</x> - <y>20</y> - <width>200</width> - <height>53</height> - </rect> + <cstring>Layout6</cstring> </property> - <grid> + <hbox> <property stdset="1"> <name>margin</name> <number>0</number> @@ -202,10 +300,50 @@ <name>spacing</name> <number>6</number> </property> - <spacer row="1" column="0" > + <widget> + <class>QLabel</class> + <property stdset="1"> + <name>name</name> + <cstring>TextLabel2</cstring> + </property> + <property stdset="1"> + <name>text</name> + <string>Time display</string> + </property> + </widget> + <widget> + <class>QComboBox</class> + <item> + <property> + <name>text</name> + <string>None</string> + </property> + </item> + <item> + <property> + <name>text</name> + <string>Start</string> + </property> + </item> + <item> <property> + <name>text</name> + <string>Start-End</string> + </property> + </item> + <property stdset="1"> <name>name</name> - <cstring>Spacer2</cstring> + <cstring>comboWeekListView</cstring> + </property> + </widget> + </hbox> + </widget> + </vbox> + </widget> + <spacer> + <property> + <name>name</name> + <cstring>Spacer3_2</cstring> </property> <property stdset="1"> <name>orientation</name> @@ -223,7 +361,47 @@ </size> </property> </spacer> - <widget row="0" column="0" > + </vbox> + </widget> + <widget> + <class>QWidget</class> + <property stdset="1"> + <name>name</name> + <cstring>tab</cstring> + </property> + <attribute> + <name>title</name> + <string>Misc</string> + </attribute> + <vbox> + <property stdset="1"> + <name>margin</name> + <number>11</number> + </property> + <property stdset="1"> + <name>spacing</name> + <number>6</number> + </property> + <widget> + <class>QGroupBox</class> + <property stdset="1"> + <name>name</name> + <cstring>GroupBox6</cstring> + </property> + <property stdset="1"> + <name>title</name> + <string>Alarm Settings</string> + </property> + <vbox> + <property stdset="1"> + <name>margin</name> + <number>11</number> + </property> + <property stdset="1"> + <name>spacing</name> + <number>6</number> + </property> + <widget> <class>QLayoutWidget</class> <property stdset="1"> <name>name</name> @@ -282,33 +460,32 @@ </widget> </hbox> </widget> - </grid> - </widget> + </vbox> </widget> - <widget row="2" column="0" > + <widget> <class>QGroupBox</class> <property stdset="1"> <name>name</name> - <cstring>fraMisc</cstring> + <cstring>GroupBox7</cstring> </property> <property stdset="1"> <name>title</name> - <string>Misc</string> + <string>Start viewing events</string> + </property> + <vbox> + <property stdset="1"> + <name>margin</name> + <number>11</number> + </property> + <property stdset="1"> + <name>spacing</name> + <number>6</number> </property> <widget> <class>QLayoutWidget</class> <property stdset="1"> <name>name</name> - <cstring>Layout5</cstring> - </property> - <property stdset="1"> - <name>geometry</name> - <rect> - <x>10</x> - <y>40</y> - <width>170</width> - <height>24</height> - </rect> + <cstring>Layout1</cstring> </property> <hbox> <property stdset="1"> @@ -323,62 +500,61 @@ <class>QLabel</class> <property stdset="1"> <name>name</name> - <cstring>TextLabel1</cstring> + <cstring>lblStartTime</cstring> </property> <property stdset="1"> <name>text</name> - <string>Row style:</string> + <string>Start Time:</string> </property> </widget> <widget> - <class>QComboBox</class> - <item> - <property> - <name>text</name> - <string>Default</string> + <class>QSpinBox</class> + <property stdset="1"> + <name>name</name> + <cstring>spinStart</cstring> </property> - </item> - <item> - <property> - <name>text</name> - <string>Medium</string> + <property stdset="1"> + <name>suffix</name> + <string>:00</string> </property> - </item> - <item> - <property> - <name>text</name> - <string>Large</string> + <property stdset="1"> + <name>wrapping</name> + <bool>true</bool> </property> - </item> <property stdset="1"> - <name>name</name> - <cstring>comboRowStyle</cstring> + <name>maxValue</name> + <number>23</number> </property> </widget> </hbox> </widget> - <widget> - <class>QCheckBox</class> - <property stdset="1"> + </vbox> + </widget> + <spacer> + <property> <name>name</name> - <cstring>chkJumpToCurTime</cstring> + <cstring>Spacer9</cstring> </property> <property stdset="1"> - <name>geometry</name> - <rect> - <x>10</x> - <y>20</y> - <width>200</width> - <height>20</height> - </rect> + <name>orientation</name> + <enum>Vertical</enum> </property> <property stdset="1"> - <name>text</name> - <string>Jump to current time (dayview)</string> + <name>sizeType</name> + <enum>Expanding</enum> </property> + <property> + <name>sizeHint</name> + <size> + <width>20</width> + <height>20</height> + </size> + </property> + </spacer> + </vbox> </widget> </widget> - </grid> + </vbox> </widget> <connections> <connection> 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 @@ -2,6 +2,8 @@ #include "datebookweekheaderimpl.h" +#include "datebook.h" + #include <qpe/calendar.h> #include <qpe/datebookdb.h> #include <qpe/event.h> @@ -143,24 +145,44 @@ void DateBookWeekLstDayHdr::newEvent() { emit addEvent(start,stop,"",0); } DateBookWeekLstEvent::DateBookWeekLstEvent(const EffectiveEvent &ev, + int weeklistviewconfig, QWidget* parent, const char* name, - WFlags fl) : - OClickableLabel(parent,name,fl), - event(ev) + WFlags fl ) : OClickableLabel(parent,name,fl), event(ev) { - char s[10]; - if ( ev.startDate() != ev.date() ) { // multiday event (not first day) - if ( ev.endDate() == ev.date() ) { // last day - strcpy(s, "__|__"); - } else { - strcpy(s, " |---"); + // old values... lastday = "__|__", middle=" |---", Firstday="00:00", + QString s,start,middle,end,day; + + qDebug("weeklistviewconfig=%d",weeklistviewconfig); + if(weeklistviewconfig==NONE) { // No times displayed. +// start.sprintf("%.2d:%.2d-",ev.start().hour(),ev.start().minute()); +// middle.sprintf("<--->"); +// end.sprintf("-%.2d:%.2d",ev.end().hour(),ev.end().minute()); +// day.sprintf("%.2d:%.2d-%.2d:%.2d",ev.start().hour(),ev.start().minute(),ev.end().hour(),ev.end().minute()); + } else if(weeklistviewconfig==NORMAL) { // "Normal", only display start time. + start.sprintf("%.2d:%.2d",ev.start().hour(),ev.start().minute()); + middle.sprintf(" |---"); + end.sprintf("__|__"); + day.sprintf("%.2d:%.2d",ev.start().hour(),ev.start().minute()); + } else if(weeklistviewconfig==EXTENDED) { // Extended mode, display start and end times. + start.sprintf("%.2d:%.2d-",ev.start().hour(),ev.start().minute()); + middle.sprintf("<--->"); + end.sprintf("-%.2d:%.2d",ev.end().hour(),ev.end().minute()); + day.sprintf("%.2d:%.2d-%.2d:%.2d",ev.start().hour(),ev.start().minute(),ev.end().hour(),ev.end().minute()); + } + + if(ev.event().type() == Event::Normal) { + if(ev.startDate()==ev.date() && ev.endDate()==ev.date()) { // day event. + s=day; + } else if(ev.startDate()==ev.date()) { // start event. + s=start; + } else if(ev.endDate()==ev.date()) { // end event. + s=end; + } else { // middle day. + s=middle; } } else { - if(ev.event().type() == Event::Normal ) - sprintf(s,"%.2d:%.2d",ev.start().hour(),ev.start().minute()); - else - sprintf(s," "); + s=""; } setText(QString(s) + " " + ev.description()); connect(this, SIGNAL(clicked()), this, SLOT(editMe())); @@ -177,6 +199,11 @@ DateBookWeekLstView::DateBookWeekLstView(QValueList<EffectiveEvent> &ev, const char* name, WFlags fl) : QWidget( parent, name, fl ) { + Config config("DateBook"); + config.setGroup("Main"); + int weeklistviewconfig=config.readNumEntry("weeklistviewconfig", NORMAL); + qDebug("Read weeklistviewconfig: %d",weeklistviewconfig); + onMonday=onM; setPalette(white); setSizePolicy(QSizePolicy(QSizePolicy::Expanding,QSizePolicy::Expanding)); @@ -188,34 +215,28 @@ DateBookWeekLstView::DateBookWeekLstView(QValueList<EffectiveEvent> &ev, it=ev.begin(); int dayOrder[7]; - if (onMonday) + if (onMonday) { for (int d=0; d<7; d++) dayOrder[d]=d+1; - else { + } else { for (int d=0; d<7; d++) dayOrder[d]=d; dayOrder[0]=7; } for (int i=0; i<7; i++) { // Header - DateBookWeekLstDayHdr *hdr=new DateBookWeekLstDayHdr(d.addDays(i), - onMonday,this); + DateBookWeekLstDayHdr *hdr=new DateBookWeekLstDayHdr(d.addDays(i), onMonday,this); connect(hdr, SIGNAL(showDate(int,int,int)), this, SIGNAL(showDate(int,int,int))); - connect(hdr, SIGNAL(addEvent(const QDateTime &, - const QDateTime &, - const QString &, const QString &)), - this, SIGNAL(addEvent(const QDateTime &, - const QDateTime &, - const QString &, const QString &))); + connect(hdr, SIGNAL(addEvent(const QDateTime &, const QDateTime &, const QString &, const QString &)), + this, SIGNAL(addEvent(const QDateTime &, const QDateTime &, const QString &, const QString &))); layout->addWidget(hdr); // Events while ( (*it).date().dayOfWeek() == dayOrder[i] && it!=ev.end() ) { if(!(((*it).end().hour()==0) && ((*it).end().minute()==0) && ((*it).startDate()!=(*it).date()))) { // Skip events ending at 00:00 starting at another day. - DateBookWeekLstEvent *l=new DateBookWeekLstEvent(*it,this); + DateBookWeekLstEvent *l=new DateBookWeekLstEvent(*it,weeklistviewconfig,this); layout->addWidget(l); - connect (l, SIGNAL(editEvent(const Event &)), - this, SIGNAL(editEvent(const Event &))); + connect (l, SIGNAL(editEvent(const Event &)), this, SIGNAL(editEvent(const Event &))); } it++; } @@ -237,26 +258,18 @@ DateBookWeekLstDblView::DateBookWeekLstDblView(QValueList<EffectiveEvent> &ev1, DateBookWeekLstView *w=new DateBookWeekLstView(ev1,d,onM,this); layout->addWidget(w); - connect (w, SIGNAL(editEvent(const Event &)), - this, SIGNAL(editEvent(const Event &))); - connect (w, SIGNAL(showDate(int,int,int)), - this, SIGNAL(showDate(int,int,int))); - connect (w, SIGNAL(addEvent(const QDateTime &, const QDateTime &, - const QString &,const QString &)), - this, SIGNAL(addEvent(const QDateTime &, const QDateTime &, - const QString &, const QString &))); + connect (w, SIGNAL(editEvent(const Event &)), this, SIGNAL(editEvent(const Event &))); + connect (w, SIGNAL(showDate(int,int,int)), this, SIGNAL(showDate(int,int,int))); + connect (w, SIGNAL(addEvent(const QDateTime &, const QDateTime &, const QString &,const QString &)), + this, SIGNAL(addEvent(const QDateTime &, const QDateTime &, const QString &, const QString &))); w=new DateBookWeekLstView(ev2,d.addDays(7),onM,this); layout->addWidget(w); - connect (w, SIGNAL(editEvent(const Event &)), - this, SIGNAL(editEvent(const Event &))); - connect (w, SIGNAL(showDate(int,int,int)), - this, SIGNAL(showDate(int,int,int))); - connect (w, SIGNAL(addEvent(const QDateTime &, const QDateTime &, - const QString &, const QString &)), - this, SIGNAL(addEvent(const QDateTime &, const QDateTime &, - const QString &, const QString &))); + connect (w, SIGNAL(editEvent(const Event &)), this, SIGNAL(editEvent(const Event &))); + connect (w, SIGNAL(showDate(int,int,int)), this, SIGNAL(showDate(int,int,int))); + connect (w, SIGNAL(addEvent(const QDateTime &, const QDateTime &, const QString &, const QString &)), + this, SIGNAL(addEvent(const QDateTime &, const QDateTime &, const QString &, const QString &))); } DateBookWeekLst::DateBookWeekLst( bool ap, bool onM, DateBookDB *newDB, @@ -274,10 +287,8 @@ DateBookWeekLst::DateBookWeekLst( bool ap, bool onM, DateBookDB *newDB, header=new DateBookWeekLstHeader(onM, this); layout->addWidget( header ); - connect(header, SIGNAL(dateChanged(int,int)), - this, SLOT(dateChanged(int,int))); - connect(header, SIGNAL(setDbl(bool)), - this, SLOT(setDbl(bool))); + connect(header, SIGNAL(dateChanged(int,int)), this, SLOT(dateChanged(int,int))); + connect(header, SIGNAL(setDbl(bool)), this, SLOT(setDbl(bool))); scroll=new QScrollView(this); //scroll->setVScrollBarMode(QScrollView::AlwaysOn); @@ -316,8 +327,11 @@ QDate DateBookWeekLst::date() const { int dow= d.dayOfWeek(); if (!onMonday) - if (dow==7) dow=1; - else dow++; + if (dow==7) { + dow=1; + } else { + dow++; + } d=d.addDays( (_week-1)*7 - dow + 1 ); return d; @@ -333,20 +347,15 @@ void DateBookWeekLst::getEvents() { QDate start2=start.addDays(7); stop=start2.addDays(6); QValueList<EffectiveEvent> el2 = db->getEffectiveEvents(start2, stop); - view=new DateBookWeekLstDblView(el,el2,start,onMonday,scroll); } else { view=new DateBookWeekLstView(el,start,onMonday,scroll); } - connect (view, SIGNAL(editEvent(const Event &)), - this, SIGNAL(editEvent(const Event &))); - connect (view, SIGNAL(showDate(int,int,int)), - this, SIGNAL(showDate(int,int,int))); - connect (view, SIGNAL(addEvent(const QDateTime &, const QDateTime &, - const QString &, const QString &)), - this, SIGNAL(addEvent(const QDateTime &, const QDateTime &, - const QString &, const QString &))); + connect (view, SIGNAL(editEvent(const Event &)), this, SIGNAL(editEvent(const Event &))); + connect (view, SIGNAL(showDate(int,int,int)), this, SIGNAL(showDate(int,int,int))); + connect (view, SIGNAL(addEvent(const QDateTime &, const QDateTime &, const QString &, const QString &)), + this, SIGNAL(addEvent(const QDateTime &, const QDateTime &, const QString &, const QString &))); scroll->addChild(view); view->show(); 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 @@ -59,7 +59,7 @@ class DateBookWeekLstEvent: public OClickableLabel { Q_OBJECT public: - DateBookWeekLstEvent(const EffectiveEvent &ev, + DateBookWeekLstEvent(const EffectiveEvent &ev, int weeklistviewconfig =1, QWidget* parent = 0, const char* name = 0, WFlags fl = 0); signals: |