summaryrefslogtreecommitdiffabout
path: root/korganizer
authorzautrix <zautrix>2005-01-30 14:15:42 (UTC)
committer zautrix <zautrix>2005-01-30 14:15:42 (UTC)
commit8d543aa1d1d1ed20001c8b18352d1d29c2979e48 (patch) (unidiff)
tree9ca05f4d3bc1de81bcf0446a2f7471d552089c87 /korganizer
parent1bcef8b3f53419e7155e0862ad61e3e419763d70 (diff)
downloadkdepimpi-8d543aa1d1d1ed20001c8b18352d1d29c2979e48.zip
kdepimpi-8d543aa1d1d1ed20001c8b18352d1d29c2979e48.tar.gz
kdepimpi-8d543aa1d1d1ed20001c8b18352d1d29c2979e48.tar.bz2
many fixes
Diffstat (limited to 'korganizer') (more/less context) (show whitespace changes)
-rw-r--r--korganizer/kdatenavigator.cpp4
-rw-r--r--korganizer/koagendaitem.cpp5
-rw-r--r--korganizer/kodaymatrix.cpp100
-rw-r--r--korganizer/kodaymatrix.h5
4 files changed, 78 insertions, 36 deletions
diff --git a/korganizer/kdatenavigator.cpp b/korganizer/kdatenavigator.cpp
index b420351..f31e50a 100644
--- a/korganizer/kdatenavigator.cpp
+++ b/korganizer/kdatenavigator.cpp
@@ -225,7 +225,7 @@ void KDateNavigator::updateDates()
225void KDateNavigator::updateDayMatrix() 225void KDateNavigator::updateDayMatrix()
226{ 226{
227 daymatrix->updateView(); 227 daymatrix->updateView();
228 daymatrix->repaint(); 228 //daymatrix->repaint();
229} 229}
230 230
231 231
@@ -262,7 +262,7 @@ void KDateNavigator::updateView()
262 setUpdatesEnabled( true ); 262 setUpdatesEnabled( true );
263// kdDebug() << "updateView() -> repaint()" << endl; 263// kdDebug() << "updateView() -> repaint()" << endl;
264 repaint(); 264 repaint();
265 daymatrix->repaint(); 265 // daymatrix->repaint();
266} 266}
267 267
268void KDateNavigator::updateConfig() 268void KDateNavigator::updateConfig()
diff --git a/korganizer/koagendaitem.cpp b/korganizer/koagendaitem.cpp
index 39355b4..ee9f39a 100644
--- a/korganizer/koagendaitem.cpp
+++ b/korganizer/koagendaitem.cpp
@@ -469,13 +469,12 @@ void KOAgendaItem::computeText()
469 469
470 mDisplayedText = mIncidence->summary(); 470 mDisplayedText = mIncidence->summary();
471 if ( (mIncidence->type() == "Todo") ) { 471 if ( (mIncidence->type() == "Todo") ) {
472 if ( static_cast<Todo*>(mIncidence)->hasDueDate() ) {
472 if ( static_cast<Todo*>(mIncidence)->dtDue().date() < QDate::currentDate() ) 473 if ( static_cast<Todo*>(mIncidence)->dtDue().date() < QDate::currentDate() )
473 mDisplayedText += i18n(" (") +KGlobal::locale()->formatDate((static_cast<Todo*>(mIncidence))->dtDue().date(), true)+")"; 474 mDisplayedText += i18n(" (") +KGlobal::locale()->formatDate((static_cast<Todo*>(mIncidence))->dtDue().date(), true)+")";
474 else if ( !(mIncidence->doesFloat())) 475 else if ( !(mIncidence->doesFloat()))
475 mDisplayedText += i18n(" (") +KGlobal::locale()->formatTime((static_cast<Todo*>(mIncidence))->dtDue().time())+")"; 476 mDisplayedText += i18n(" (") +KGlobal::locale()->formatTime((static_cast<Todo*>(mIncidence))->dtDue().time())+")";
476 477 }
477
478
479 } else { 478 } else {
480 if ( !(mIncidence->doesFloat()) && KOPrefs::instance()->mShowTimeInAgenda) 479 if ( !(mIncidence->doesFloat()) && KOPrefs::instance()->mShowTimeInAgenda)
481 mDisplayedText += ": " +KGlobal::locale()->formatTime((static_cast<Event*>(mIncidence))->dtStart().time()) + "-" + KGlobal::locale()->formatTime((static_cast<Event*>(mIncidence))->dtEnd().time()) ; 480 mDisplayedText += ": " +KGlobal::locale()->formatTime((static_cast<Event*>(mIncidence))->dtStart().time()) + "-" + KGlobal::locale()->formatTime((static_cast<Event*>(mIncidence))->dtEnd().time()) ;
diff --git a/korganizer/kodaymatrix.cpp b/korganizer/kodaymatrix.cpp
index fc00828..060b4c4 100644
--- a/korganizer/kodaymatrix.cpp
+++ b/korganizer/kodaymatrix.cpp
@@ -108,7 +108,13 @@ KODayMatrix::KODayMatrix(QWidget *parent, Calendar* calendar, QDate date, const
108 108
109 setAcceptDrops(true); 109 setAcceptDrops(true);
110 //setFont( QFont("Arial", 10) ); 110 //setFont( QFont("Arial", 10) );
111 updateView(date); 111
112 mUpdateTimer = new QTimer( this );
113 connect (mUpdateTimer ,SIGNAL(timeout()), this, SLOT ( updateViewTimed() ));
114 mRepaintTimer = new QTimer( this );
115 connect (mRepaintTimer ,SIGNAL(timeout()), this, SLOT ( repaintViewTimed() ));
116 mDayChanged = false;
117 updateView();
112} 118}
113 119
114QColor KODayMatrix::getShadedColor(QColor color) 120QColor KODayMatrix::getShadedColor(QColor color)
@@ -202,39 +208,24 @@ void KODayMatrix::updateView()
202{ 208{
203 updateView(startdate); 209 updateView(startdate);
204} 210}
205 211void KODayMatrix::repaintViewTimed()
206void KODayMatrix::updateView(QDate actdate)
207{ 212{
208 213 qDebug("KODayMatrix::repaintViewTimed ");
209// kdDebug() << "KODayMatrix::updateView() " << actdate.toString() << endl; 214 mRepaintTimer->stop();
210 215 repaint(false);
211 //flag to indicate if the starting day of the matrix has changed by this call
212 bool daychanged = false;
213 // if a new startdate is to be set then apply Cornelius's calculation
214 // of the first day to be shown
215 if (actdate != startdate) {
216 // reset index of selection according to shift of starting date from startdate to actdate
217 if (mSelStart != NOSELECTION) {
218 int tmp = actdate.daysTo(startdate);
219 //kdDebug() << "Shift of Selection1: " << mSelStart << " - " << mSelEnd << " -> " << tmp << "(" << offset << ")" << endl;
220 // shift selection if new one would be visible at least partly !
221
222 if (mSelStart+tmp < NUMDAYS && mSelEnd+tmp >= 0) {
223 // nested if is required for next X display pushed from a different month - correction required
224 // otherwise, for month forward and backward, it must be avoided
225 if( mSelStart > NUMDAYS || mSelStart < 0 )
226 mSelStart = mSelStart + tmp;
227 if( mSelEnd > NUMDAYS || mSelEnd < 0 )
228 mSelEnd = mSelEnd + tmp;
229 }
230 } 216 }
217void KODayMatrix::updateViewTimed()
218{
231 219
232 startdate = actdate; 220 mUpdateTimer->stop();
233 daychanged = true; 221 //QDate actdate = mPendingNewDate;
234 } 222
223 static int iii = 0;
224 qDebug("KODayMatrix::updateView(QDate actdate) %d", ++iii );
235 225
236 if (daychanged) { 226 if (mDayChanged) {
237 recalculateToday(); 227 recalculateToday();
228 mDayChanged = false;
238 } 229 }
239 230
240 for(int i = 0; i < NUMDAYS; i++) { 231 for(int i = 0; i < NUMDAYS; i++) {
@@ -269,12 +260,59 @@ void KODayMatrix::updateView(QDate actdate)
269 mHolidays[i] = QString::null; 260 mHolidays[i] = QString::null;
270 } 261 }
271 } 262 }
263 repaint(false);
264 }
265void KODayMatrix::updateView(QDate actdate)
266{
267
268 //flag to indicate if the starting day of the matrix has changed by this call
269 //mDayChanged = false;
270 // if a new startdate is to be set then apply Cornelius's calculation
271 // of the first day to be shown
272 if (actdate != startdate) {
273 // reset index of selection according to shift of starting date from startdate to actdate
274 if (mSelStart != NOSELECTION) {
275 int tmp = actdate.daysTo(startdate);
276 //kdDebug() << "Shift of Selection1: " << mSelStart << " - " << mSelEnd << " -> " << tmp << "(" << offset << ")" << endl;
277 // shift selection if new one would be visible at least partly !
278
279 if (mSelStart+tmp < NUMDAYS && mSelEnd+tmp >= 0) {
280 // nested if is required for next X display pushed from a different month - correction required
281 // otherwise, for month forward and backward, it must be avoided
282 if( mSelStart > NUMDAYS || mSelStart < 0 )
283 mSelStart = mSelStart + tmp;
284 if( mSelEnd > NUMDAYS || mSelEnd < 0 )
285 mSelEnd = mSelEnd + tmp;
286 }
287 }
288
289 startdate = actdate;
290 mDayChanged = true;
291 }
292 qDebug("restart Timer %d", mDayChanged );
293 static int iii = 0;
294 if ( iii < 5 ) {
295 ++iii;
296 updateViewTimed();
297 } else {
298 if ( !isVisible() ) {
299 mUpdateTimer->start( 2000 );
300 } else {
301 if ( mDayChanged ) {
302 mUpdateTimer->start( 250 );
303 } else {
304 mRepaintTimer->start( 250 );
305 mUpdateTimer->start( 2000 );
306 }
307 }
308 }
309
272} 310}
273 311
274const QDate& KODayMatrix::getDate(int offset) 312const QDate& KODayMatrix::getDate(int offset)
275{ 313{
276 if (offset < 0 || offset > NUMDAYS-1) { 314 if (offset < 0 || offset > NUMDAYS-1) {
277 kdDebug() << "Wrong offset (" << offset << ") in KODayMatrix::getDate(int)" << endl; 315 qDebug("Wrong offset2 ");
278 return days[0]; 316 return days[0];
279 } 317 }
280 return days[offset]; 318 return days[offset];
@@ -283,7 +321,7 @@ const QDate& KODayMatrix::getDate(int offset)
283QString KODayMatrix::getHolidayLabel(int offset) 321QString KODayMatrix::getHolidayLabel(int offset)
284{ 322{
285 if (offset < 0 || offset > NUMDAYS-1) { 323 if (offset < 0 || offset > NUMDAYS-1) {
286 kdDebug() << "Wrong offset (" << offset << ") in KODayMatrix::getHolidayLabel(int)" << endl; 324 qDebug("Wrong offset1 ");
287 return 0; 325 return 0;
288 } 326 }
289 return mHolidays[offset]; 327 return mHolidays[offset];
diff --git a/korganizer/kodaymatrix.h b/korganizer/kodaymatrix.h
index b4eb2a8..0e9640a 100644
--- a/korganizer/kodaymatrix.h
+++ b/korganizer/kodaymatrix.h
@@ -172,6 +172,8 @@ public slots:
172 * on a day (Actually calls above method with the actual startdate). 172 * on a day (Actually calls above method with the actual startdate).
173 */ 173 */
174 void updateView(); 174 void updateView();
175 void updateViewTimed();
176 void repaintViewTimed();
175 177
176 /** 178 /**
177 * Calculate which square in the matrix should be 179 * Calculate which square in the matrix should be
@@ -219,6 +221,9 @@ protected:
219 void resizeEvent(QResizeEvent *); 221 void resizeEvent(QResizeEvent *);
220 222
221private: 223private:
224 QTimer* mUpdateTimer;
225 QTimer* mRepaintTimer;
226 bool mDayChanged;
222 227
223 /** returns the index of the day located at the matrix's widget (x,y) position. 228 /** returns the index of the day located at the matrix's widget (x,y) position.
224 * 229 *