summaryrefslogtreecommitdiff
path: root/noncore/unsupported/libopie/orecurrancewidget.h
Side-by-side diff
Diffstat (limited to 'noncore/unsupported/libopie/orecurrancewidget.h') (more/less context) (ignore whitespace changes)
-rw-r--r--noncore/unsupported/libopie/orecurrancewidget.h93
1 files changed, 93 insertions, 0 deletions
diff --git a/noncore/unsupported/libopie/orecurrancewidget.h b/noncore/unsupported/libopie/orecurrancewidget.h
new file mode 100644
index 0000000..37a57f0
--- a/dev/null
+++ b/noncore/unsupported/libopie/orecurrancewidget.h
@@ -0,0 +1,93 @@
+/*
+ * 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
+// FIXME spelling filenames
+
+/**
+ * A widget to let the user select rules for recurrences.
+ * This widget can take care of weekly, monthly, daily and yearly recurrence
+ * It is used inside todolist and datebook.
+ *
+ *
+ * @short Widget of selecting Recurrance
+ * @author Trolltech, Holger Freyther
+ * @version 0.9
+ */
+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 recurrence()const;
+ QDate endDate()const;
+
+public slots:
+ void slotSetRType( int );
+ /**
+ * set the new end date
+ */
+ void endDateChanged( int, int, int );
+ /**
+ * enable/disable end date
+ */
+ 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;
+ repeatButtons currInterval;
+ bool startWeekOnMonday : 1;
+ DateBookMonth *repeatPicker;
+
+ class Private;
+ Private *d;
+
+};
+
+#endif