summaryrefslogtreecommitdiff
path: root/core/pim/datebook/datebookday.h
Side-by-side diff
Diffstat (limited to 'core/pim/datebook/datebookday.h') (more/less context) (show whitespace changes)
-rw-r--r--core/pim/datebook/datebookday.h52
1 files changed, 51 insertions, 1 deletions
diff --git a/core/pim/datebook/datebookday.h b/core/pim/datebook/datebookday.h
index 531fded..db0f3b6 100644
--- a/core/pim/datebook/datebookday.h
+++ b/core/pim/datebook/datebookday.h
@@ -54,4 +54,5 @@ protected:
virtual void paintCell( QPainter *p, int row, int col, const QRect &cr, bool selected );
virtual void paintFocus( QPainter *p, const QRect &cr );
+
virtual void resizeEvent( QResizeEvent *e );
void keyPressEvent( QKeyEvent *e );
@@ -91,4 +92,48 @@ private:
};
+//Marker for current time in the dayview
+class DateBookDayTimeMarker : public QWidget
+{
+ Q_OBJECT
+
+public:
+ DateBookDayTimeMarker( DateBookDay *db );
+ ~DateBookDayTimeMarker();
+
+ const QRect &geometry() { return geom; }
+ void setGeometry( const QRect &r );
+ void setTime( const QTime &t );
+
+signals:
+
+protected:
+ void paintEvent( QPaintEvent *e );
+
+private:
+ QRect geom;
+ QTime time;
+ DateBookDay *dateBook;
+};
+
+//reimplemented the compareItems function so that it sorts DayWidgets by geometry heights
+class WidgetListClass : public QList<DateBookDayWidget>
+{
+ private:
+
+ int compareItems( QCollection::Item s1, QCollection::Item s2 )
+ {
+ //hmm, don't punish me for that ;)
+ if (reinterpret_cast<DateBookDayWidget*>(s1)->geometry().height() > reinterpret_cast<DateBookDayWidget*>(s2)->geometry().height())
+ {
+ return -1;
+ } else
+ {
+ return 1;
+ }
+ }
+
+
+};
+
class DateBookDay : public QVBox
{
@@ -103,4 +148,6 @@ public:
void setStartViewTime( int startHere );
int startViewTime() const;
+ void setSelectedWidget( DateBookDayWidget * );
+ DateBookDayWidget * getSelectedWidget( void );
public slots:
@@ -109,4 +156,5 @@ public slots:
void redraw();
void slotWeekChanged( bool bStartOnMonday );
+ void updateView(); //updates TimeMarker and DayWidget-colors
signals:
@@ -132,6 +180,8 @@ private:
DateBookDayHeader *header;
DateBookDB *db;
- QList<DateBookDayWidget> widgetList;
+ WidgetListClass widgetList; //reimplemented QList for sorting widgets by height
int startTime;
+ DateBookDayWidget *selectedWidget; //actual selected widget (obviously)
+ DateBookDayTimeMarker *timeMarker; //marker for current time
};