summaryrefslogtreecommitdiff
path: root/core/pim/datebook/datebookday.h
authorzecke <zecke>2002-06-17 15:57:13 (UTC)
committer zecke <zecke>2002-06-17 15:57:13 (UTC)
commit97aca0c9f5f483d01c685d0d0f126ca554d3b199 (patch) (side-by-side diff)
tree839929bc17e8e86e1a8d35e2b14e02f6343a8823 /core/pim/datebook/datebookday.h
parent02e724757f13f40d85136c3a14e0a3788d28236e (diff)
downloadopie-97aca0c9f5f483d01c685d0d0f126ca554d3b199.zip
opie-97aca0c9f5f483d01c685d0d0f126ca554d3b199.tar.gz
opie-97aca0c9f5f483d01c685d0d0f126ca554d3b199.tar.bz2
tboc <tboc@gmx.de> provided a cute patch to show a red time mark
in the current day view
Diffstat (limited to 'core/pim/datebook/datebookday.h') (more/less context) (ignore whitespace changes)
-rw-r--r--core/pim/datebook/datebookday.h54
1 files changed, 52 insertions, 2 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
@@ -53,6 +53,7 @@ protected slots:
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 );
void initHeader();
@@ -73,7 +74,7 @@ public:
void setGeometry( const QRect &r );
const EffectiveEvent &event() const { return ev; }
-
+
signals:
void deleteMe( const Event &e );
void editMe( const Event &e );
@@ -90,6 +91,50 @@ private:
QRect geom;
};
+//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
{
Q_OBJECT
@@ -102,12 +147,15 @@ public:
DateBookDayView *dayView() const { return view; }
void setStartViewTime( int startHere );
int startViewTime() const;
+ void setSelectedWidget( DateBookDayWidget * );
+ DateBookDayWidget * getSelectedWidget( void );
public slots:
void setDate( int y, int m, int d );
void setDate( QDate );
void redraw();
void slotWeekChanged( bool bStartOnMonday );
+ void updateView(); //updates TimeMarker and DayWidget-colors
signals:
void removeEvent( const Event& );
@@ -131,8 +179,10 @@ private:
DateBookDayView *view;
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
};
#endif