Diffstat (limited to 'core/pim/datebook/datebookday.h') (more/less context) (show whitespace changes)
-rw-r--r-- | core/pim/datebook/datebookday.h | 52 |
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 @@ -55,2 +55,3 @@ protected: virtual void paintFocus( QPainter *p, const QRect &cr ); + virtual void resizeEvent( QResizeEvent *e ); @@ -92,2 +93,46 @@ 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 @@ -104,2 +149,4 @@ public: int startViewTime() const; + void setSelectedWidget( DateBookDayWidget * ); + DateBookDayWidget * getSelectedWidget( void ); @@ -110,2 +157,3 @@ public slots: void slotWeekChanged( bool bStartOnMonday ); + void updateView(); //updates TimeMarker and DayWidget-colors @@ -133,4 +181,6 @@ private: 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 }; |