summaryrefslogtreecommitdiff
authorzecke <zecke>2003-11-30 13:10:50 (UTC)
committer zecke <zecke>2003-11-30 13:10:50 (UTC)
commit667d6cc5ca0abb0f4b8b481ce053f92412babd87 (patch) (unidiff)
tree9bf50effbf3efbf7e5d1730323c54de1367b1d3d
parent2006eba49ca3c75898d7073cca371041614b0e50 (diff)
downloadopie-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
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--core/pim/datebook/datebookdayallday.cpp25
-rw-r--r--core/pim/datebook/datebookdayallday.h4
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
@@ -24,24 +24,31 @@
24#include <qdatetime.h> 24#include <qdatetime.h>
25 25
26#include "datebookday.h" 26#include "datebookday.h"
27 27
28/* 28/*
29 * Constructs a DatebookdayAllday which is a child of 'parent', with the 29 * Constructs a DatebookdayAllday which is a child of 'parent', with the
30 * name 'name' and widget flags set to 'f' 30 * name 'name' and widget flags set to 'f'
31 */ 31 */
32DatebookdayAllday::DatebookdayAllday(DateBookDB* db, QWidget* parent, const char* name, WFlags fl ) 32DatebookdayAllday::DatebookdayAllday(DateBookDB* db, QWidget* parent, const char* name, WFlags )
33 : QWidget( parent, name,fl ),item_count(0),dateBook(db) 33 : QScrollView( parent, name ),item_count(0),dateBook(db)
34{ 34{
35 if ( !name ) 35 if ( !name )
36 setName( "DatebookdayAllday" ); 36 setName( "DatebookdayAllday" );
37 setMinimumSize( QSize( 0, 0 ) ); 37 setMinimumSize( QSize( 0, 0 ) );
38 setMaximumHeight(3* (QFontMetrics(font()).height()+4) );
38 39
39 datebookdayalldayLayout = new QVBoxLayout( this ); 40 m_MainFrame = new QFrame(viewport());
41 m_MainFrame->setFrameStyle(QFrame::NoFrame|QFrame::Plain);
42 setFrameStyle(QFrame::NoFrame|QFrame::Plain);
43 setResizePolicy( QScrollView::AutoOneFit );
44 addChild(m_MainFrame);
45
46 datebookdayalldayLayout = new QVBoxLayout( m_MainFrame );
40 datebookdayalldayLayout->setSpacing( 0 ); 47 datebookdayalldayLayout->setSpacing( 0 );
41 datebookdayalldayLayout->setMargin( 0 ); 48 datebookdayalldayLayout->setMargin( 0 );
42 49
43 lblDesc = new DatebookEventDesc(parent->parentWidget(),""); 50 lblDesc = new DatebookEventDesc(parent->parentWidget(),"");
44 lblDesc->setBackgroundColor(Qt::yellow); 51 lblDesc->setBackgroundColor(Qt::yellow);
45 lblDesc->hide(); 52 lblDesc->hide();
46 subWidgets.setAutoDelete(true); 53 subWidgets.setAutoDelete(true);
47} 54}
@@ -52,20 +59,20 @@ DatebookdayAllday::DatebookdayAllday(DateBookDB* db, QWidget* parent, const cha
52DatebookdayAllday::~DatebookdayAllday() 59DatebookdayAllday::~DatebookdayAllday()
53{ 60{
54 // no need to delete child widgets, Qt does it all for us 61 // no need to delete child widgets, Qt does it all for us
55} 62}
56 63
57DatebookAlldayDisp* DatebookdayAllday::addEvent(const EffectiveEvent&ev) 64DatebookAlldayDisp* DatebookdayAllday::addEvent(const EffectiveEvent&ev)
58{ 65{
59 DatebookAlldayDisp * lb; 66 DatebookAlldayDisp * lb;
60 lb = new DatebookAlldayDisp(dateBook,ev,this,NULL); 67 lb = new DatebookAlldayDisp(dateBook,ev,m_MainFrame,NULL);
61 datebookdayalldayLayout->addWidget(lb); 68 datebookdayalldayLayout->addWidget(lb);
62 subWidgets.append(lb); 69 subWidgets.append(lb);
63 70
64 connect(lb,SIGNAL(displayMe(const Event &)),lblDesc,SLOT(disp_event(const Event&))); 71 connect(lb,SIGNAL(displayMe(const Event &)),lblDesc,SLOT(disp_event(const Event&)));
65 ++item_count; 72 ++item_count;
66 73
67 return lb; 74 return lb;
68} 75}
69 76
70void DatebookdayAllday::removeAllEvents() 77void DatebookdayAllday::removeAllEvents()
71{ 78{
@@ -77,19 +84,20 @@ DatebookAlldayDisp::DatebookAlldayDisp(DateBookDB *db,const EffectiveEvent& ev,
77 QWidget* parent,const char* name,WFlags f) 84 QWidget* parent,const char* name,WFlags f)
78 : QLabel(parent,name,f),m_Ev(ev),dateBook(db) 85 : QLabel(parent,name,f),m_Ev(ev),dateBook(db)
79{ 86{
80 QString strDesc = m_Ev.description(); 87 QString strDesc = m_Ev.description();
81 strDesc = strDesc.replace(QRegExp("<"),"&#60;"); 88 strDesc = strDesc.replace(QRegExp("<"),"&#60;");
82 setBackgroundColor(yellow); 89 setBackgroundColor(yellow);
83 setText(strDesc); 90 setText(strDesc);
84 setFrameStyle(QFrame::Raised|QFrame::Panel); 91 setFrameStyle(QFrame::Raised|QFrame::Panel);
85 QSize s = sizeHint(); 92
86 setMaximumSize( QSize( 32767, s.height()-4 ) ); 93 int s = QFontMetrics(font()).height()+4;
87 setMinimumSize( QSize( 0, s.height()-4 ) ); 94 setMaximumHeight( s );
95 setMinimumSize( QSize( 0, s ) );
88} 96}
89 97
90DatebookAlldayDisp::~DatebookAlldayDisp() 98DatebookAlldayDisp::~DatebookAlldayDisp()
91{ 99{
92} 100}
93 101
94void DatebookAlldayDisp::beam_single_event() 102void DatebookAlldayDisp::beam_single_event()
95{ 103{
@@ -218,9 +226,8 @@ void DatebookEventDesc::disp_event(const Event&e)
218 QSize s = sizeHint(); 226 QSize s = sizeHint();
219 s+=QSize(10,10); 227 s+=QSize(10,10);
220 resize(s); 228 resize(s);
221 move( QMAX(0,(parentWidget()->width()-width()) / 2), 229 move( QMAX(0,(parentWidget()->width()-width()) / 2),
222 (parentWidget()->height()-height())/2 ); 230 (parentWidget()->height()-height())/2 );
223 show(); 231 show();
224 m_Timer->start(2000,true); 232 m_Timer->start(2000,true);
225} 233}
226
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
@@ -1,39 +1,41 @@
1#ifndef DATEBOOKDAYALLDAYBASE_H 1#ifndef DATEBOOKDAYALLDAYBASE_H
2#define DATEBOOKDAYALLDAYBASE_H 2#define DATEBOOKDAYALLDAYBASE_H
3 3
4#include <qvariant.h> 4#include <qvariant.h>
5#include <qframe.h> 5#include <qframe.h>
6#include <qscrollview.h>
6#include <qlabel.h> 7#include <qlabel.h>
7#include <qlist.h> 8#include <qlist.h>
8#include <qpe/event.h> 9#include <qpe/event.h>
9 10
10class QVBoxLayout; 11class QVBoxLayout;
11class QHBoxLayout; 12class QHBoxLayout;
12class QGridLayout; 13class QGridLayout;
13class DatebookAlldayDisp; 14class DatebookAlldayDisp;
14class DatebookEventDesc; 15class DatebookEventDesc;
15class DateBookDB; 16class DateBookDB;
16 17
17class DatebookdayAllday : public QWidget 18class DatebookdayAllday : public QScrollView
18{ 19{
19 Q_OBJECT 20 Q_OBJECT
20 21
21public: 22public:
22 DatebookdayAllday(DateBookDB* db, 23 DatebookdayAllday(DateBookDB* db,
23 QWidget* parent = 0, const char* name = 0, WFlags fl = 0); 24 QWidget* parent = 0, const char* name = 0, WFlags fl = 0);
24 ~DatebookdayAllday(); 25 ~DatebookdayAllday();
25 DatebookAlldayDisp* addEvent(const EffectiveEvent&e); 26 DatebookAlldayDisp* addEvent(const EffectiveEvent&e);
26 const unsigned int items()const{return item_count;} 27 const unsigned int items()const{return item_count;}
27 28
28public slots: 29public slots:
29 void removeAllEvents(); 30 void removeAllEvents();
30 31
31protected: 32protected:
33 QFrame * m_MainFrame;
32 QVBoxLayout* datebookdayalldayLayout; 34 QVBoxLayout* datebookdayalldayLayout;
33 DatebookEventDesc * lblDesc; 35 DatebookEventDesc * lblDesc;
34 unsigned int item_count; 36 unsigned int item_count;
35 QList<DatebookAlldayDisp> subWidgets; 37 QList<DatebookAlldayDisp> subWidgets;
36 DateBookDB *dateBook; 38 DateBookDB *dateBook;
37}; 39};
38 40
39class DatebookAlldayDisp : public QLabel 41class DatebookAlldayDisp : public QLabel