-rw-r--r-- | core/pim/datebook/datebook.cpp | 23 |
1 files changed, 21 insertions, 2 deletions
diff --git a/core/pim/datebook/datebook.cpp b/core/pim/datebook/datebook.cpp index 7dd93a6..e10842a 100644 --- a/core/pim/datebook/datebook.cpp +++ b/core/pim/datebook/datebook.cpp @@ -59,4 +59,5 @@ #include <qtextcodec.h> #include <qtextstream.h> +#include <qtimer.h> #include <qtl.h> #include <qwidgetstack.h> @@ -87,4 +88,5 @@ DateBook::DateBook( QWidget *parent, const char *, WFlags f ) alarmCounter(0) { + bool needEvilHack= false; // if we need an Evil Hack QTime t; t.start(); @@ -182,5 +184,5 @@ DateBook::DateBook( QWidget *parent, const char *, WFlags f ) ag->insert(a); a = new QAction( tr( "Week" ), QString::null, 0, 0, 0, true ); - if (current==WEEK) a->setOn(true), viewWeek(); + if (current==WEEK) a->setOn(true), /*viewWeek(),*/ needEvilHack = true; ag->insert(a); a = new QAction( tr( "WeekLst" ), QString::null, 0, 0, 0, true ); @@ -220,5 +222,22 @@ DateBook::DateBook( QWidget *parent, const char *, WFlags f ) qDebug("done t=%d", t.elapsed() ); - + + /* + * Here is a problem description: + * When Weekview is the default view + * a DateBookWeekView get's created + * redraw() get's called. So what? + * Remember that we're still in the c'tor + * and no final layout has happened? Ok + * now all Events get arranged. Their x + * position get's determined by a QHeader + * position. But the QHeader isn't layouted or + * at the right position. redraw() is a slot + * so we'll call it then via a singleShot + * from view() + */ + if( needEvilHack ){ + QTimer::singleShot( 500, this, SLOT(viewWeek()) ); + } } |