author | zecke <zecke> | 2003-11-30 13:10:50 (UTC) |
---|---|---|
committer | zecke <zecke> | 2003-11-30 13:10:50 (UTC) |
commit | 667d6cc5ca0abb0f4b8b481ce053f92412babd87 (patch) (side-by-side diff) | |
tree | 9bf50effbf3efbf7e5d1730323c54de1367b1d3d /core | |
parent | 2006eba49ca3c75898d7073cca371041614b0e50 (diff) | |
download | opie-667d6cc5ca0abb0f4b8b481ce053f92412babd87.zip opie-667d6cc5ca0abb0f4b8b481ce053f92412babd87.tar.gz opie-667d6cc5ca0abb0f4b8b481ce053f92412babd87.tar.bz2 |
Limit the number of shown All Day Events to approxiametely three
Patch by Rajko Albrecht
-rw-r--r-- | core/pim/datebook/datebookdayallday.cpp | 25 | ||||
-rw-r--r-- | core/pim/datebook/datebookdayallday.h | 4 |
2 files changed, 19 insertions, 10 deletions
diff --git a/core/pim/datebook/datebookdayallday.cpp b/core/pim/datebook/datebookdayallday.cpp index 985f31a..6014eca 100644 --- a/core/pim/datebook/datebookdayallday.cpp +++ b/core/pim/datebook/datebookdayallday.cpp @@ -29,14 +29,21 @@ * Constructs a DatebookdayAllday which is a child of 'parent', with the * name 'name' and widget flags set to 'f' */ -DatebookdayAllday::DatebookdayAllday(DateBookDB* db, QWidget* parent, const char* name, WFlags fl ) - : QWidget( parent, name,fl ),item_count(0),dateBook(db) +DatebookdayAllday::DatebookdayAllday(DateBookDB* db, QWidget* parent, const char* name, WFlags ) + : QScrollView( parent, name ),item_count(0),dateBook(db) { if ( !name ) setName( "DatebookdayAllday" ); setMinimumSize( QSize( 0, 0 ) ); + setMaximumHeight(3* (QFontMetrics(font()).height()+4) ); - datebookdayalldayLayout = new QVBoxLayout( this ); + m_MainFrame = new QFrame(viewport()); + m_MainFrame->setFrameStyle(QFrame::NoFrame|QFrame::Plain); + setFrameStyle(QFrame::NoFrame|QFrame::Plain); + setResizePolicy( QScrollView::AutoOneFit ); + addChild(m_MainFrame); + + datebookdayalldayLayout = new QVBoxLayout( m_MainFrame ); datebookdayalldayLayout->setSpacing( 0 ); datebookdayalldayLayout->setMargin( 0 ); @@ -57,10 +64,10 @@ DatebookdayAllday::~DatebookdayAllday() DatebookAlldayDisp* DatebookdayAllday::addEvent(const EffectiveEvent&ev) { DatebookAlldayDisp * lb; - lb = new DatebookAlldayDisp(dateBook,ev,this,NULL); + lb = new DatebookAlldayDisp(dateBook,ev,m_MainFrame,NULL); datebookdayalldayLayout->addWidget(lb); subWidgets.append(lb); - + connect(lb,SIGNAL(displayMe(const Event &)),lblDesc,SLOT(disp_event(const Event&))); ++item_count; @@ -82,9 +89,10 @@ DatebookAlldayDisp::DatebookAlldayDisp(DateBookDB *db,const EffectiveEvent& ev, setBackgroundColor(yellow); setText(strDesc); setFrameStyle(QFrame::Raised|QFrame::Panel); - QSize s = sizeHint(); - setMaximumSize( QSize( 32767, s.height()-4 ) ); - setMinimumSize( QSize( 0, s.height()-4 ) ); + + int s = QFontMetrics(font()).height()+4; + setMaximumHeight( s ); + setMinimumSize( QSize( 0, s ) ); } DatebookAlldayDisp::~DatebookAlldayDisp() @@ -223,4 +231,3 @@ void DatebookEventDesc::disp_event(const Event&e) show(); m_Timer->start(2000,true); } - diff --git a/core/pim/datebook/datebookdayallday.h b/core/pim/datebook/datebookdayallday.h index c781785..f5867e5 100644 --- a/core/pim/datebook/datebookdayallday.h +++ b/core/pim/datebook/datebookdayallday.h @@ -3,6 +3,7 @@ #include <qvariant.h> #include <qframe.h> +#include <qscrollview.h> #include <qlabel.h> #include <qlist.h> #include <qpe/event.h> @@ -14,7 +15,7 @@ class DatebookAlldayDisp; class DatebookEventDesc; class DateBookDB; -class DatebookdayAllday : public QWidget +class DatebookdayAllday : public QScrollView { Q_OBJECT @@ -29,6 +30,7 @@ public slots: void removeAllEvents(); protected: + QFrame * m_MainFrame; QVBoxLayout* datebookdayalldayLayout; DatebookEventDesc * lblDesc; unsigned int item_count; |