summaryrefslogtreecommitdiff
path: root/core/pim
Side-by-side diff
Diffstat (limited to 'core/pim') (more/less context) (show whitespace changes)
-rw-r--r--core/pim/datebook/datebook.cpp120
-rw-r--r--core/pim/datebook/datebook.h6
-rw-r--r--core/pim/datebook/datebooksettingsbase.ui394
-rw-r--r--core/pim/datebook/datebookweeklst.cpp123
-rw-r--r--core/pim/datebook/datebookweeklst.h2
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: