author | zecke <zecke> | 2003-11-30 13:10:50 (UTC) |
---|---|---|
committer | zecke <zecke> | 2003-11-30 13:10:50 (UTC) |
commit | 667d6cc5ca0abb0f4b8b481ce053f92412babd87 (patch) (unidiff) | |
tree | 9bf50effbf3efbf7e5d1730323c54de1367b1d3d | |
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 | 23 | ||||
-rw-r--r-- | core/pim/datebook/datebookdayallday.h | 4 |
2 files changed, 18 insertions, 9 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 | |||
@@ -20,80 +20,88 @@ | |||
20 | #include <qpe/resource.h> | 20 | #include <qpe/resource.h> |
21 | #include <qpopupmenu.h> | 21 | #include <qpopupmenu.h> |
22 | #include <qtimer.h> | 22 | #include <qtimer.h> |
23 | #include <qregexp.h> | 23 | #include <qregexp.h> |
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 | */ |
32 | DatebookdayAllday::DatebookdayAllday(DateBookDB* db, QWidget* parent, const char* name, WFlags fl ) | 32 | DatebookdayAllday::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 | } |
48 | 55 | ||
49 | /* | 56 | /* |
50 | * Destroys the object and frees any allocated resources | 57 | * Destroys the object and frees any allocated resources |
51 | */ | 58 | */ |
52 | DatebookdayAllday::~DatebookdayAllday() | 59 | DatebookdayAllday::~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 | ||
57 | DatebookAlldayDisp* DatebookdayAllday::addEvent(const EffectiveEvent&ev) | 64 | DatebookAlldayDisp* 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 | ||
70 | void DatebookdayAllday::removeAllEvents() | 77 | void DatebookdayAllday::removeAllEvents() |
71 | { | 78 | { |
72 | subWidgets.clear(); | 79 | subWidgets.clear(); |
73 | item_count = 0; | 80 | item_count = 0; |
74 | } | 81 | } |
75 | 82 | ||
76 | DatebookAlldayDisp::DatebookAlldayDisp(DateBookDB *db,const EffectiveEvent& ev, | 83 | 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("<"),"<"); | 88 | strDesc = strDesc.replace(QRegExp("<"),"<"); |
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 | ||
90 | DatebookAlldayDisp::~DatebookAlldayDisp() | 98 | DatebookAlldayDisp::~DatebookAlldayDisp() |
91 | { | 99 | { |
92 | } | 100 | } |
93 | 101 | ||
94 | void DatebookAlldayDisp::beam_single_event() | 102 | void DatebookAlldayDisp::beam_single_event() |
95 | { | 103 | { |
96 | // create an Event and beam it... | 104 | // create an Event and beam it... |
97 | /* | 105 | /* |
98 | * Start with the easy stuff. If start and end date is the same we can just use | 106 | * Start with the easy stuff. If start and end date is the same we can just use |
99 | * the values of effective m_Events | 107 | * the values of effective m_Events |
@@ -214,13 +222,12 @@ void DatebookEventDesc::disp_event(const Event&e) | |||
214 | text+="<i>"+e.location()+"</i><br>"; | 222 | text+="<i>"+e.location()+"</i><br>"; |
215 | } | 223 | } |
216 | text = text.replace(QRegExp("\n"),"<br>"); | 224 | text = text.replace(QRegExp("\n"),"<br>"); |
217 | setText(text); | 225 | setText(text); |
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,43 +1,45 @@ | |||
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 | ||
10 | class QVBoxLayout; | 11 | class QVBoxLayout; |
11 | class QHBoxLayout; | 12 | class QHBoxLayout; |
12 | class QGridLayout; | 13 | class QGridLayout; |
13 | class DatebookAlldayDisp; | 14 | class DatebookAlldayDisp; |
14 | class DatebookEventDesc; | 15 | class DatebookEventDesc; |
15 | class DateBookDB; | 16 | class DateBookDB; |
16 | 17 | ||
17 | class DatebookdayAllday : public QWidget | 18 | class DatebookdayAllday : public QScrollView |
18 | { | 19 | { |
19 | Q_OBJECT | 20 | Q_OBJECT |
20 | 21 | ||
21 | public: | 22 | public: |
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 | ||
28 | public slots: | 29 | public slots: |
29 | void removeAllEvents(); | 30 | void removeAllEvents(); |
30 | 31 | ||
31 | protected: | 32 | protected: |
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 | ||
39 | class DatebookAlldayDisp : public QLabel | 41 | class DatebookAlldayDisp : public QLabel |
40 | { | 42 | { |
41 | Q_OBJECT | 43 | Q_OBJECT |
42 | 44 | ||
43 | public: | 45 | public: |