summaryrefslogtreecommitdiff
path: root/libopie
Side-by-side diff
Diffstat (limited to 'libopie') (more/less context) (ignore whitespace changes)
-rw-r--r--libopie/libopie.pro6
-rw-r--r--libopie/orecurrancewidget.cpp20
-rw-r--r--libopie/orecurrancewidget.h6
3 files changed, 27 insertions, 5 deletions
diff --git a/libopie/libopie.pro b/libopie/libopie.pro
index b7537cc..2e76cb1 100644
--- a/libopie/libopie.pro
+++ b/libopie/libopie.pro
@@ -11,79 +11,85 @@ HEADERS = ofontmenu.h \
otimepicker.h otabwidget.h \
otabbar.h otabinfo.h \
ofontselector.h \
pim/opimrecord.h \
pim/otodo.h \
pim/orecordlist.h \
pim/opimaccesstemplate.h \
pim/opimaccessbackend.h \
pim/otodoaccess.h \
pim/otodoaccessbackend.h \
pim/ocontact.h \
pim/ocontactaccess.h \
pim/ocontactaccessbackend.h \
pim/ocontactaccessbackend_xml.h \
pim/ocontactaccessbackend_vcard.h \
pim/obackendfactory.h \
pim/opimcache.h \
pim/otodoaccessvcal.h \
pim/orecur.h \
pim/opimstate.h \
pim/opimxrefpartner.h \
pim/opimxref.h \
pim/opimxrefmanager.h \
pim/opimmaintainer.h \
+ pim/opimnotify.h \
+ pim/opimnotifymanager.h \
+ pim/opimmainwindow.h \
orecurrancewidget.h \
oticker.h
# pim/otodoaccesssql.h \
SOURCES = ofontmenu.cc \
ocolorbutton.cpp \
sharp_compat.cpp \
xmltree.cc \
ofiledialog.cc ofileselector.cc \
ocheckitem.cpp tododb.cpp todoevent.cpp \
todovcalresource.cpp colordialog.cpp \
colorpopupmenu.cpp oclickablelabel.cpp \
oprocctrl.cpp oprocess.cpp \
odevice.cpp otimepicker.cpp \
otabwidget.cpp otabbar.cpp \
ofontselector.cpp \
pim/otodo.cpp \
pim/opimrecord.cpp \
pim/otodoaccess.cpp \
pim/otodoaccessbackend.cpp \
pim/otodoaccessxml.cpp \
pim/ocontact.cpp \
pim/ocontactaccess.cpp \
pim/ocontactaccessbackend_vcard.cpp \
pim/otodoaccessvcal.cpp \
pim/orecur.cpp \
pim/opimstate.cpp \
pim/opimxrefpartner.cpp \
pim/opimxref.cpp \
pim/opimxrefmanager.cpp \
pim/opimmaintainer.cpp \
+ pim/opimnotify.cpp \
+ pim/opimnotifymanager.cpp \
+ pim/opimmainwindow.cpp \
orecurrancewidget.cpp \
oticker.cpp
# pim/otodoaccesssql.cpp \
TARGET = opie
INCLUDEPATH += $(OPIEDIR)/include
DESTDIR = $(QTDIR)/lib$(PROJMAK)
#VERSION = 1.0.0
# LIBS += -lopiesql
INTERFACES = otimepickerbase.ui orecurrancebase.ui
TRANSLATIONS = ../i18n/de/libopie.ts \
../i18n/en/libopie.ts \
../i18n/es/libopie.ts \
../i18n/fr/libopie.ts \
../i18n/hu/libopie.ts \
../i18n/ja/libopie.ts \
../i18n/ko/libopie.ts \
../i18n/no/libopie.ts \
../i18n/pl/libopie.ts \
../i18n/pt/libopie.ts \
../i18n/pt_BR/libopie.ts \
diff --git a/libopie/orecurrancewidget.cpp b/libopie/orecurrancewidget.cpp
index 53cee65..0484ab9 100644
--- a/libopie/orecurrancewidget.cpp
+++ b/libopie/orecurrancewidget.cpp
@@ -33,48 +33,63 @@ ORecurranceWidget::ORecurranceWidget( bool startOnMonday,
const char* name,
bool modal,
WFlags fl )
: ORecurranceBase( parent, name, modal, fl ),
start( newStart ),
currInterval( None ),
startWeekOnMonday( startOnMonday )
{
init();
fraType->setButton( currInterval );
chkNoEnd->setChecked( TRUE );
setupNone();
}
ORecurranceWidget::ORecurranceWidget( bool startOnMonday,
const ORecur& rp, const QDate& startDate,
QWidget* parent, const char* name,
bool modal, WFlags fl)
: ORecurranceBase( parent, name, modal, fl ),
start( startDate ),
end( rp.endDate() ),
startWeekOnMonday( startOnMonday )
{
// do some stuff with the repeat pattern
init();
+ setRecurrence( rp );
+}
+
+ORecurranceWidget::~ORecurranceWidget() {
+}
+void ORecurranceWidget::setStartDate( const QDate& date ) {
+ qWarning("ORecurranceWidget::setStartDate");
+ setRecurrence( recurrence(), date );
+}
+void ORecurranceWidget::setRecurrence( const ORecur& rp ) {
+ setRecurrence( rp, start );
+}
+void ORecurranceWidget::setRecurrence( const ORecur& rp, const QDate& date ) {
+ start = date;
+ end = rp.endDate();
switch ( rp.type() ) {
default:
case ORecur::NoRepeat:
currInterval = None;
setupNone();
break;
case ORecur::Daily:
currInterval = Day;
setupDaily();
break;
case ORecur::Weekly:
currInterval = Week;
setupWeekly();
int day, buttons;
for ( day = 0x01, buttons = 0; buttons < 7;
day = day << 1, buttons++ ) {
if ( rp.days() & day ) {
if ( startWeekOnMonday )
fraExtra->setButton( buttons );
else {
if ( buttons == 7 )
fraExtra->setButton( 0 );
else
fraExtra->setButton( buttons + 1 );
@@ -87,52 +102,49 @@ ORecurranceWidget::ORecurranceWidget( bool startOnMonday,
currInterval = Month;
setupMonthly();
fraExtra->setButton( 0 );
slotMonthLabel( 0 );
break;
case ORecur::MonthlyDate:
currInterval = Month;
setupMonthly();
fraExtra->setButton( 1 );
slotMonthLabel( 1 );
break;
case ORecur::Yearly:
currInterval = Year;
setupYearly();
break;
}
fraType->setButton( currInterval );
spinFreq->setValue( rp.frequency() );
if ( !rp.hasEndDate() ) {
cmdEnd->setText( tr("No End Date") );
chkNoEnd->setChecked( TRUE );
} else
cmdEnd->setText( TimeString::shortDate( end ) );
}
-ORecurranceWidget::~ORecurranceWidget() {
-
-}
-ORecur ORecurranceWidget::recurrance()const {
+ORecur ORecurranceWidget::recurrence()const {
QListIterator<QToolButton> it( listRTypeButtons );
QListIterator<QToolButton> itExtra( listExtra );
ORecur rpTmp;
int i;
for ( i = 0; *it; ++it, i++ ) {
if ( (*it)->isOn() ) {
switch ( i ) {
case None:
rpTmp.setType( ORecur::NoRepeat );
break;
case Day:
rpTmp.setType( ORecur::Daily );
break;
case Week:{
rpTmp.setType( ORecur::Weekly );
int day;
int day2 = 0;
for ( day = 1; *itExtra; ++itExtra, day = day << 1 ) {
if ( (*itExtra)->isOn() ) {
if ( startWeekOnMonday )
day2 |= day;
else {
if ( day == 1 )
day2 |= Event::SUN;
diff --git a/libopie/orecurrancewidget.h b/libopie/orecurrancewidget.h
index f2d7f87..4a8dd08 100644
--- a/libopie/orecurrancewidget.h
+++ b/libopie/orecurrancewidget.h
@@ -1,61 +1,65 @@
/*
* GPL and based on the widget from TT
*/
#ifndef OPIE_RECURRANCE_WIDGET_H
#define OPIE_RECURRANCE_WIDGET_H
#include <qlist.h>
#include <qtoolbutton.h>
#include <qcheckbox.h>
#include <qdatetime.h>
#include <qbuttongroup.h>
#include <qpe/datebookmonth.h>
#include "orecurrancebase.h"
#include <opie/orecur.h>
+// FIXME spelling!!!! -zecke
class ORecurranceWidget : public ORecurranceBase {
Q_OBJECT
public:
ORecurranceWidget( bool startOnMonday,
const QDate& start, QWidget* parent = 0,
const char* name = 0, bool modal = TRUE,
WFlags fl = 0 );
ORecurranceWidget( bool startOnMonday,
const ORecur& rp, const QDate& start,
QWidget* parent = 0, const char* name =0,
bool modal = TRUE, WFlags = 0 );
~ORecurranceWidget();
- ORecur recurrance()const;
+ ORecur recurrence()const;
QDate endDate()const;
public slots:
void slotSetRType( int );
void endDateChanged( int, int, int );
void slotNoEnd( bool unused );
+ void setStartDate( const QDate& );
+ void setRecurrence( const ORecur& recur, const QDate& start );
+ void setRecurrence( const ORecur& recur );
private slots:
void setupRepeatLabel( const QString& );
void setupRepeatLabel( int );
void slotWeekLabel();
void slotMonthLabel( int );
void slotChangeStartOfWeek( bool onMonday );
private:
void setupNone();
void setupDaily();
void setupWeekly();
void setupMonthly();
void setupYearly();
enum repeatButtons { None, Day, Week, Month, Year };
void init();
void hideExtras();
void showRepeatStuff();
QList<QToolButton> listRTypeButtons;
QList<QToolButton> listExtra;
QDate start; // only used in one spot...
QDate end;