-rw-r--r-- | korganizer/datenavigatorcontainer.cpp | 7 | ||||
-rw-r--r-- | korganizer/kodaymatrix.cpp | 2 |
2 files changed, 4 insertions, 5 deletions
diff --git a/korganizer/datenavigatorcontainer.cpp b/korganizer/datenavigatorcontainer.cpp index 6de7c45..9720146 100644 --- a/korganizer/datenavigatorcontainer.cpp +++ b/korganizer/datenavigatorcontainer.cpp | |||
@@ -257,131 +257,130 @@ void DateNavigatorContainer::setBaseDates() | |||
257 | QDate baseDate = mNavigatorView->baseDate(); | 257 | QDate baseDate = mNavigatorView->baseDate(); |
258 | bool doRepaint = true; | 258 | bool doRepaint = true; |
259 | for( uint i = 0; i < mLastDisplayedDN; ++i ) { | 259 | for( uint i = 0; i < mLastDisplayedDN; ++i ) { |
260 | KDateNavigator *n = mExtraViews.at( i ); | 260 | KDateNavigator *n = mExtraViews.at( i ); |
261 | baseDate = baseDate.addDays( baseDate.daysInMonth () - baseDate.day() +1 ); | 261 | baseDate = baseDate.addDays( baseDate.daysInMonth () - baseDate.day() +1 ); |
262 | n->setBaseDate( baseDate, doRepaint ); | 262 | n->setBaseDate( baseDate, doRepaint ); |
263 | } | 263 | } |
264 | } | 264 | } |
265 | 265 | ||
266 | void DateNavigatorContainer::resizeEvent( QResizeEvent * e ) | 266 | void DateNavigatorContainer::resizeEvent( QResizeEvent * e ) |
267 | { | 267 | { |
268 | #if 0 | 268 | #if 0 |
269 | kdDebug(5850) << "DateNavigatorContainer::resizeEvent()" << endl; | 269 | kdDebug(5850) << "DateNavigatorContainer::resizeEvent()" << endl; |
270 | kdDebug(5850) << " CURRENT SIZE: " << size() << endl; | 270 | kdDebug(5850) << " CURRENT SIZE: " << size() << endl; |
271 | kdDebug(5850) << " MINIMUM SIZEHINT: " << minimumSizeHint() << endl; | 271 | kdDebug(5850) << " MINIMUM SIZEHINT: " << minimumSizeHint() << endl; |
272 | kdDebug(5850) << " SIZEHINT: " << sizeHint() << endl; | 272 | kdDebug(5850) << " SIZEHINT: " << sizeHint() << endl; |
273 | kdDebug(5850) << " MINIMUM SIZE: " << minimumSize() << endl; | 273 | kdDebug(5850) << " MINIMUM SIZE: " << minimumSize() << endl; |
274 | #endif | 274 | #endif |
275 | //QSize minSize = mNavigatorView->sizeHintTwoButtons(); | 275 | //QSize minSize = mNavigatorView->sizeHintTwoButtons(); |
276 | QSize minSize = mNavigatorView->yourSizeHint(); | 276 | QSize minSize = mNavigatorView->yourSizeHint(); |
277 | 277 | ||
278 | // kdDebug(5850) << " NAVIGATORVIEW minimumSizeHint: " << minSize << endl; | 278 | // kdDebug(5850) << " NAVIGATORVIEW minimumSizeHint: " << minSize << endl; |
279 | 279 | ||
280 | int verticalCount = size().height() / minSize.height(); | 280 | int verticalCount = size().height() / minSize.height(); |
281 | int horizontalCount = size().width() / minSize.width(); | 281 | int horizontalCount = size().width() / minSize.width(); |
282 | //qDebug(" wattdatt %d new %d %d ", size().width() ,e->size().width() , minSize.width() ); | 282 | //qDebug(" wattdatt %d new %d %d ", size().width() ,e->size().width() , minSize.width() ); |
283 | //qDebug("COUNT %d %d %d %d ", verticalCount, horizontalCount , mVerticalCount, mHorizontalCount ); | 283 | //qDebug("COUNT %d %d %d %d ", verticalCount, horizontalCount , mVerticalCount, mHorizontalCount ); |
284 | bool fontchange = false; | 284 | bool fontchange = false; |
285 | if ( horizontalCount == 1) | 285 | if ( horizontalCount == 1) |
286 | horizontalCount = size().width() / mNavigatorView->yourFullSizeHint().width(); | 286 | horizontalCount = size().width() / mNavigatorView->yourFullSizeHint().width(); |
287 | QFont fo; | 287 | QFont fo; |
288 | if ( horizontalCount != mHorizontalCount || | 288 | if ( horizontalCount != mHorizontalCount || |
289 | verticalCount != mVerticalCount ) { | 289 | verticalCount != mVerticalCount ) { |
290 | uint count = horizontalCount * verticalCount; | 290 | uint count = horizontalCount * verticalCount; |
291 | if ( count == 0 ) { | 291 | if ( count == 0 ) { |
292 | bool ok; | 292 | bool ok; |
293 | fo = mNavigatorView->yourFontHint( size() , &ok ); | 293 | fo = mNavigatorView->yourFontHint( size() , &ok ); |
294 | //mNavigatorView->resize( size() ); | 294 | //mNavigatorView->resize( size() ); |
295 | //if ( ! ok ) | 295 | //if ( ! ok ) |
296 | // return; | 296 | // return; |
297 | int butt = 2; | 297 | int butt = 2; |
298 | horizontalCount = size().width() / mNavigatorView->sizeHintTwoButtons( ).width(); | 298 | horizontalCount = size().width() / mNavigatorView->sizeHintTwoButtons( ).width(); |
299 | if ( horizontalCount <= 1 ) | 299 | if ( horizontalCount <= 1 ) |
300 | minSize = mNavigatorView->sizeHintTwoButtons( 4 ); | 300 | minSize = mNavigatorView->sizeHintTwoButtons( 4 ); |
301 | else | 301 | else |
302 | minSize = mNavigatorView->sizeHintTwoButtons(); | 302 | minSize = mNavigatorView->sizeHintTwoButtons(); |
303 | verticalCount = size().height() / minSize.height(); | 303 | verticalCount = size().height() / minSize.height(); |
304 | horizontalCount = size().width() / minSize.width(); | 304 | horizontalCount = size().width() / minSize.width(); |
305 | if ( horizontalCount == 0 ) | 305 | if ( horizontalCount == 0 ) |
306 | horizontalCount = 1; | 306 | horizontalCount = 1; |
307 | if ( verticalCount == 0 ) | 307 | if ( verticalCount == 0 ) |
308 | verticalCount = 1; | 308 | verticalCount = 1; |
309 | fontchange = true; | 309 | fontchange = true; |
310 | count = horizontalCount * verticalCount; | 310 | count = horizontalCount * verticalCount; |
311 | } else { | 311 | } else { |
312 | if ( mNavigatorView->fontChanged() ) { | 312 | if ( mNavigatorView->fontChanged() ) { |
313 | fontchange = true; | 313 | fontchange = true; |
314 | fo = KOPrefs::instance()->mDateNavigatorFont; | 314 | fo = KOPrefs::instance()->mDateNavigatorFont; |
315 | mNavigatorView->changeFont( fo ); | 315 | mNavigatorView->changeFont( fo ); |
316 | mNavigatorView->unsetFontChanged(); | 316 | mNavigatorView->unsetFontChanged(); |
317 | } | 317 | } |
318 | } | 318 | } |
319 | 319 | ||
320 | mLastDisplayedDN = horizontalCount*verticalCount-1; | 320 | mLastDisplayedDN = horizontalCount*verticalCount-1; |
321 | bool setBaseD = false; | ||
322 | while ( count > ( mExtraViews.count() + 1 ) ) { | 321 | while ( count > ( mExtraViews.count() + 1 ) ) { |
323 | KDateNavigator *n = new KDateNavigator( this ); | 322 | KDateNavigator *n = new KDateNavigator( this ); |
324 | n->setMonthSignalOffset ( mExtraViews.count()+1 ); | 323 | n->setMonthSignalOffset ( mExtraViews.count()+1 ); |
325 | mExtraViews.append( n ); | 324 | mExtraViews.append( n ); |
326 | n->setCalendar( mCalendar ); | 325 | n->setCalendar( mCalendar ); |
327 | setBaseD = true; | ||
328 | connectNavigatorView( n ); | 326 | connectNavigatorView( n ); |
329 | n->show(); | 327 | n->show(); |
330 | } | 328 | } |
331 | int iii = 0; | 329 | int iii = 0; |
332 | while ( iii < ( mExtraViews.count() ) ) { | 330 | while ( iii < ( mExtraViews.count() ) ) { |
333 | if ( iii < count-1 ) | 331 | if ( iii < count-1 ) |
334 | mExtraViews.at( iii )->show(); | 332 | mExtraViews.at( iii )->show(); |
335 | else | 333 | else |
336 | mExtraViews.at( iii )->hide(); | 334 | mExtraViews.at( iii )->hide(); |
337 | ++iii; | 335 | ++iii; |
338 | } | 336 | } |
339 | if ( setBaseD ) | 337 | |
340 | setBaseDates(); | 338 | setBaseDates(); |
341 | if ( fontchange ) { | 339 | if ( fontchange ) { |
342 | //mNavigatorView->changeFont( fo ); | 340 | //mNavigatorView->changeFont( fo ); |
343 | uint i; | 341 | uint i; |
344 | for( i = 0; i < mExtraViews.count(); ++i ) { | 342 | for( i = 0; i < mExtraViews.count(); ++i ) { |
345 | KDateNavigator *view = mExtraViews.at( i ); | 343 | KDateNavigator *view = mExtraViews.at( i ); |
346 | view->changeFont( fo ); | 344 | view->changeFont( fo ); |
347 | } | 345 | } |
348 | } | 346 | } |
349 | mHorizontalCount = horizontalCount; | 347 | mHorizontalCount = horizontalCount; |
350 | mVerticalCount = verticalCount; | 348 | mVerticalCount = verticalCount; |
351 | 349 | ||
352 | } | 350 | } |
353 | //qDebug("COUNT %d ", mExtraViews.count()); | 351 | //qDebug("COUNT %d ", mExtraViews.count()); |
354 | int height = size().height() / verticalCount; | 352 | int height = size().height() / verticalCount; |
355 | int width = size().width() / horizontalCount; | 353 | int width = size().width() / horizontalCount; |
356 | 354 | ||
357 | NavigatorBar *bar = mNavigatorView->navigatorBar(); | 355 | NavigatorBar *bar = mNavigatorView->navigatorBar(); |
358 | if ( horizontalCount > 1 ) bar->showButtons( true, false ); | 356 | if ( horizontalCount > 1 ) bar->showButtons( true, false ); |
359 | else bar->showButtons( true, true ); | 357 | else bar->showButtons( true, true ); |
360 | 358 | ||
361 | mNavigatorView->setGeometry(0, | 359 | mNavigatorView->setGeometry(0, |
362 | 0, width, height ); | 360 | 0, width, height ); |
363 | for( uint i = 0; i < mLastDisplayedDN; ++i ) { | 361 | for( uint i = 0; i < mLastDisplayedDN; ++i ) { |
364 | int x = ( i + 1 ) % horizontalCount; | 362 | int x = ( i + 1 ) % horizontalCount; |
365 | int y = ( i + 1 ) / horizontalCount; | 363 | int y = ( i + 1 ) / horizontalCount; |
366 | 364 | ||
367 | KDateNavigator *view = mExtraViews.at( i ); | 365 | KDateNavigator *view = mExtraViews.at( i ); |
368 | bar = view->navigatorBar(); | 366 | bar = view->navigatorBar(); |
369 | if ( y > 0 ) bar->showButtons( false, false ); | 367 | if ( y > 0 ) bar->showButtons( false, false ); |
370 | else { | 368 | else { |
371 | if ( x + 1 == horizontalCount ) bar->showButtons( false, true ); | 369 | if ( x + 1 == horizontalCount ) bar->showButtons( false, true ); |
372 | else bar->showButtons( false, false ); | 370 | else bar->showButtons( false, false ); |
373 | } | 371 | } |
374 | view->setGeometry( x * width, | 372 | view->setGeometry( x * width, |
375 | y * height, width, height ); | 373 | y * height, width, height ); |
376 | } | 374 | } |
375 | //updateDayMatrixDates(); | ||
377 | } | 376 | } |
378 | 377 | ||
379 | QSize DateNavigatorContainer::minimumSizeHint() const | 378 | QSize DateNavigatorContainer::minimumSizeHint() const |
380 | { | 379 | { |
381 | return mNavigatorView->minimumSizeHint(); | 380 | return mNavigatorView->minimumSizeHint(); |
382 | } | 381 | } |
383 | 382 | ||
384 | QSize DateNavigatorContainer::sizeHint() const | 383 | QSize DateNavigatorContainer::sizeHint() const |
385 | { | 384 | { |
386 | return mNavigatorView->yourSizeHint(); | 385 | return mNavigatorView->yourSizeHint(); |
387 | } | 386 | } |
diff --git a/korganizer/kodaymatrix.cpp b/korganizer/kodaymatrix.cpp index 3ee1fa7..366e8b8 100644 --- a/korganizer/kodaymatrix.cpp +++ b/korganizer/kodaymatrix.cpp | |||
@@ -42,129 +42,129 @@ | |||
42 | #include <kcalendarsystem.h> | 42 | #include <kcalendarsystem.h> |
43 | 43 | ||
44 | #ifndef KORG_NOPLUGINS | 44 | #ifndef KORG_NOPLUGINS |
45 | #include "kocore.h" | 45 | #include "kocore.h" |
46 | #endif | 46 | #endif |
47 | #include "koprefs.h" | 47 | #include "koprefs.h" |
48 | #include "koglobals.h" | 48 | #include "koglobals.h" |
49 | 49 | ||
50 | #include "kodaymatrix.h" | 50 | #include "kodaymatrix.h" |
51 | 51 | ||
52 | // ============================================================================ | 52 | // ============================================================================ |
53 | // D Y N A M I C T I P | 53 | // D Y N A M I C T I P |
54 | // ============================================================================ | 54 | // ============================================================================ |
55 | 55 | ||
56 | DynamicTip::DynamicTip( QWidget * parent ) | 56 | DynamicTip::DynamicTip( QWidget * parent ) |
57 | : QToolTip( parent ) | 57 | : QToolTip( parent ) |
58 | { | 58 | { |
59 | matrix = (KODayMatrix*)parent; | 59 | matrix = (KODayMatrix*)parent; |
60 | } | 60 | } |
61 | 61 | ||
62 | class KODaymatrixWhatsThis :public QWhatsThis | 62 | class KODaymatrixWhatsThis :public QWhatsThis |
63 | { | 63 | { |
64 | public: | 64 | public: |
65 | KODaymatrixWhatsThis( KODayMatrix* view ) : QWhatsThis( view ),_view (view) { ;}; | 65 | KODaymatrixWhatsThis( KODayMatrix* view ) : QWhatsThis( view ),_view (view) { ;}; |
66 | ~KODaymatrixWhatsThis() { ; }; | 66 | ~KODaymatrixWhatsThis() { ; }; |
67 | 67 | ||
68 | protected: | 68 | protected: |
69 | virtual QString text( const QPoint& p ) | 69 | virtual QString text( const QPoint& p ) |
70 | { | 70 | { |
71 | return _view->getWhatsThisText( p ) ; | 71 | return _view->getWhatsThisText( p ) ; |
72 | } | 72 | } |
73 | private: | 73 | private: |
74 | KODayMatrix * _view; | 74 | KODayMatrix * _view; |
75 | }; | 75 | }; |
76 | 76 | ||
77 | void DynamicTip::maybeTip( const QPoint &pos ) | 77 | void DynamicTip::maybeTip( const QPoint &pos ) |
78 | { | 78 | { |
79 | //calculate which cell of the matrix the mouse is in | 79 | //calculate which cell of the matrix the mouse is in |
80 | QRect sz = matrix->frameRect(); | 80 | QRect sz = matrix->frameRect(); |
81 | int dheight = sz.height()*7 / 42; | 81 | int dheight = sz.height()*7 / 42; |
82 | int dwidth = sz.width() / 7; | 82 | int dwidth = sz.width() / 7; |
83 | int row = pos.y()/dheight; | 83 | int row = pos.y()/dheight; |
84 | int col = pos.x()/dwidth; | 84 | int col = pos.x()/dwidth; |
85 | 85 | ||
86 | QRect rct(col*dwidth, row*dheight, dwidth, dheight); | 86 | QRect rct(col*dwidth, row*dheight, dwidth, dheight); |
87 | 87 | ||
88 | // kdDebug() << "DynamicTip::maybeTip matrix cell index [" << | 88 | // kdDebug() << "DynamicTip::maybeTip matrix cell index [" << |
89 | // col << "][" << row << "] => " <<(col+row*7) << endl; | 89 | // col << "][" << row << "] => " <<(col+row*7) << endl; |
90 | 90 | ||
91 | //show holiday names only | 91 | //show holiday names only |
92 | QString str = matrix->getHolidayLabel(col+row*7); | 92 | QString str = matrix->getHolidayLabel(col+row*7); |
93 | if (str.isEmpty()) return; | 93 | if (str.isEmpty()) return; |
94 | tip(rct, str); | 94 | tip(rct, str); |
95 | } | 95 | } |
96 | 96 | ||
97 | 97 | ||
98 | // ============================================================================ | 98 | // ============================================================================ |
99 | // K O D A Y M A T R I X | 99 | // K O D A Y M A T R I X |
100 | // ============================================================================ | 100 | // ============================================================================ |
101 | 101 | ||
102 | const int KODayMatrix::NOSELECTION = -1000; | 102 | const int KODayMatrix::NOSELECTION = -1000; |
103 | const int KODayMatrix::NUMDAYS = 42; | 103 | const int KODayMatrix::NUMDAYS = 42; |
104 | 104 | ||
105 | KODayMatrix::KODayMatrix( QWidget *parent, const char *name ) | 105 | KODayMatrix::KODayMatrix( QWidget *parent, const char *name ) |
106 | : QFrame( parent, name ), mCalendar( 0 ) | 106 | : QFrame( parent, name , Qt::WRepaintNoErase ), mCalendar( 0 ) |
107 | 107 | ||
108 | #if 0 | 108 | #if 0 |
109 | KODayMatrix::KODayMatrix(QWidget *parent, Calendar* calendar, QDate date, const char *name) : | 109 | KODayMatrix::KODayMatrix(QWidget *parent, Calendar* calendar, QDate date, const char *name) : |
110 | QFrame(parent, name) | 110 | QFrame(parent, name) |
111 | #endif | 111 | #endif |
112 | { | 112 | { |
113 | mKODaymatrixWhatsThis = new KODaymatrixWhatsThis(this); | 113 | mKODaymatrixWhatsThis = new KODaymatrixWhatsThis(this); |
114 | mPendingUpdateBeforeRepaint = false; | 114 | mPendingUpdateBeforeRepaint = false; |
115 | mouseDown = false; | 115 | mouseDown = false; |
116 | // initialize dynamic arrays | 116 | // initialize dynamic arrays |
117 | bDays.resize ( NUMDAYS ); | 117 | bDays.resize ( NUMDAYS ); |
118 | days = new QDate[NUMDAYS]; | 118 | days = new QDate[NUMDAYS]; |
119 | daylbls = new QString[NUMDAYS]; | 119 | daylbls = new QString[NUMDAYS]; |
120 | events = new int[NUMDAYS]; | 120 | events = new int[NUMDAYS]; |
121 | mToolTip = new DynamicTip(this); | 121 | mToolTip = new DynamicTip(this); |
122 | 122 | ||
123 | // set default values used for drawing the matrix | 123 | // set default values used for drawing the matrix |
124 | mDefaultBackColor = palette().active().base(); | 124 | mDefaultBackColor = palette().active().base(); |
125 | mDefaultTextColor = palette().active().foreground(); | 125 | mDefaultTextColor = palette().active().foreground(); |
126 | mDefaultTextColorShaded = getShadedColor(mDefaultTextColor); | 126 | mDefaultTextColorShaded = getShadedColor(mDefaultTextColor); |
127 | mHolidayColorShaded = getShadedColor(KOPrefs::instance()->mHolidayColor); | 127 | mHolidayColorShaded = getShadedColor(KOPrefs::instance()->mHolidayColor); |
128 | mSelectedDaysColor = QColor("white"); | 128 | mSelectedDaysColor = QColor("white"); |
129 | mTodayMarginWidth = 2; | 129 | mTodayMarginWidth = 2; |
130 | mSelEnd = mSelStart = NOSELECTION; | 130 | mSelEnd = mSelStart = NOSELECTION; |
131 | 131 | ||
132 | setAcceptDrops(true); | 132 | setAcceptDrops(true); |
133 | //setFont( QFont("Arial", 10) ); | 133 | //setFont( QFont("Arial", 10) ); |
134 | 134 | ||
135 | mUpdateTimer = new QTimer( this ); | 135 | mUpdateTimer = new QTimer( this ); |
136 | connect (mUpdateTimer ,SIGNAL(timeout()), this, SLOT ( updateViewTimed() )); | 136 | connect (mUpdateTimer ,SIGNAL(timeout()), this, SLOT ( updateViewTimed() )); |
137 | mRepaintTimer = new QTimer( this ); | 137 | mRepaintTimer = new QTimer( this ); |
138 | connect (mRepaintTimer ,SIGNAL(timeout()), this, SLOT ( repaintViewTimed() )); | 138 | connect (mRepaintTimer ,SIGNAL(timeout()), this, SLOT ( repaintViewTimed() )); |
139 | mDayChanged = false; | 139 | mDayChanged = false; |
140 | updateView(); | 140 | updateView(); |
141 | } | 141 | } |
142 | QString KODayMatrix::getWhatsThisText( QPoint p ) | 142 | QString KODayMatrix::getWhatsThisText( QPoint p ) |
143 | { | 143 | { |
144 | 144 | ||
145 | int tmp = getDayIndexFrom(p.x(), p.y()); | 145 | int tmp = getDayIndexFrom(p.x(), p.y()); |
146 | if ( tmp < 0 || tmp > NUMDAYS-1 || !mCalendar ) | 146 | if ( tmp < 0 || tmp > NUMDAYS-1 || !mCalendar ) |
147 | return QString(); | 147 | return QString(); |
148 | QDate mDate = days[tmp]; | 148 | QDate mDate = days[tmp]; |
149 | QPtrList<Event> eventlist = mCalendar->events(mDate); | 149 | QPtrList<Event> eventlist = mCalendar->events(mDate); |
150 | Event *event; | 150 | Event *event; |
151 | QStringList mToolTip; | 151 | QStringList mToolTip; |
152 | for(event=eventlist.first();event != 0;event=eventlist.next()) { | 152 | for(event=eventlist.first();event != 0;event=eventlist.next()) { |
153 | QString mToolTipText; | 153 | QString mToolTipText; |
154 | QString text; | 154 | QString text; |
155 | int multiday = 0;// 1 = start, 2 = midddle, 3 = end day | 155 | int multiday = 0;// 1 = start, 2 = midddle, 3 = end day |
156 | if (event->isMultiDay()) { | 156 | if (event->isMultiDay()) { |
157 | QString prefix = "<->";multiday = 2; | 157 | QString prefix = "<->";multiday = 2; |
158 | QString time; | 158 | QString time; |
159 | if ( event->doesRecur() ) { | 159 | if ( event->doesRecur() ) { |
160 | if ( event->recursOn( mDate) ) { | 160 | if ( event->recursOn( mDate) ) { |
161 | prefix ="->" ;multiday = 1; | 161 | prefix ="->" ;multiday = 1; |
162 | } | 162 | } |
163 | else { | 163 | else { |
164 | int days = event->dtStart().date().daysTo ( event->dtEnd().date() ); | 164 | int days = event->dtStart().date().daysTo ( event->dtEnd().date() ); |
165 | if ( event->recursOn( mDate.addDays( -days)) ) { | 165 | if ( event->recursOn( mDate.addDays( -days)) ) { |
166 | prefix ="<-" ;multiday = 3; | 166 | prefix ="<-" ;multiday = 3; |
167 | } | 167 | } |
168 | } | 168 | } |
169 | } else { | 169 | } else { |
170 | if (mDate == event->dtStart().date()) { | 170 | if (mDate == event->dtStart().date()) { |