-rw-r--r-- | korganizer/koagenda.cpp | 30 | ||||
-rw-r--r-- | korganizer/koagenda.h | 4 | ||||
-rw-r--r-- | korganizer/koagendaitem.cpp | 5 | ||||
-rw-r--r-- | korganizer/koagendaview.cpp | 31 | ||||
-rw-r--r-- | korganizer/koagendaview.h | 5 |
5 files changed, 65 insertions, 10 deletions
diff --git a/korganizer/koagenda.cpp b/korganizer/koagenda.cpp index 0280c74..c339b57 100644 --- a/korganizer/koagenda.cpp +++ b/korganizer/koagenda.cpp | |||
@@ -61,4 +61,5 @@ extern int globalFlagBlockAgendaItemUpdate; | |||
61 | extern int globalFlagBlockStartup; | 61 | extern int globalFlagBlockStartup; |
62 | 62 | ||
63 | bool KOAgenda::mInvalidPixmap = false; | ||
63 | //////////////////////////////////////////////////////////////////////////// | 64 | //////////////////////////////////////////////////////////////////////////// |
64 | MarcusBains::MarcusBains(KOAgenda *_agenda,const char *name) | 65 | MarcusBains::MarcusBains(KOAgenda *_agenda,const char *name) |
@@ -179,4 +180,5 @@ KOAgenda::KOAgenda(int columns,int rows,int rowSize,QWidget *parent, | |||
179 | mHolidayMask = 0; | 180 | mHolidayMask = 0; |
180 | init(); | 181 | init(); |
182 | connect ( this, SIGNAL (contentsMoving ( int , int ) ), this, SLOT ( slotContentMove(int,int)) ); | ||
181 | } | 183 | } |
182 | 184 | ||
@@ -318,6 +320,22 @@ void KOAgenda::init() | |||
318 | mPopupKind = 0; | 320 | mPopupKind = 0; |
319 | mPopupItem = 0; | 321 | mPopupItem = 0; |
322 | mInvalidPixmap = false; | ||
323 | |||
320 | } | 324 | } |
321 | 325 | ||
326 | void KOAgenda::shrinkPixmap() | ||
327 | { | ||
328 | mPaintPixmap.resize( 20,20); | ||
329 | mInvalidPixmap = true; | ||
330 | } | ||
331 | void KOAgenda::slotContentMove(int,int) | ||
332 | { | ||
333 | if ( mActionType == NOP ) | ||
334 | slotClearSelection(); | ||
335 | if ( mSelectedItem && !mActionItem ) { | ||
336 | deselectItem(); | ||
337 | emit incidenceSelected( 0 ); | ||
338 | } | ||
339 | } | ||
322 | void KOAgenda::clear() | 340 | void KOAgenda::clear() |
323 | { | 341 | { |
@@ -923,4 +941,5 @@ void KOAgenda::performItemAction(QPoint viewportPos) | |||
923 | moveItem->resize(mGridSpacingX * moveItem->cellWidth(), | 941 | moveItem->resize(mGridSpacingX * moveItem->cellWidth(), |
924 | mGridSpacingY * moveItem->cellHeight()); | 942 | mGridSpacingY * moveItem->cellHeight()); |
943 | moveItem->raise(); | ||
925 | moveChild(moveItem,x,y); | 944 | moveChild(moveItem,x,y); |
926 | moveItem = moveItem->nextMultiItem(); | 945 | moveItem = moveItem->nextMultiItem(); |
@@ -1245,4 +1264,11 @@ void KOAgenda::drawContents(QPainter* p, int cx, int cy, int cw, int ch) | |||
1245 | if ( globalFlagBlockAgenda ) | 1264 | if ( globalFlagBlockAgenda ) |
1246 | return; | 1265 | return; |
1266 | |||
1267 | if ( mInvalidPixmap ) { | ||
1268 | mInvalidPixmap = false; | ||
1269 | qDebug("InvalidPixmap "); | ||
1270 | QTimer::singleShot( 0, this, SIGNAL( updateViewSignal() )); | ||
1271 | return; | ||
1272 | } | ||
1247 | if ( ! mAllDayMode ) { | 1273 | if ( ! mAllDayMode ) { |
1248 | // currently not working for | 1274 | // currently not working for |
@@ -1917,5 +1943,5 @@ void KOAgenda::computeSizes() | |||
1917 | QPixmap* paintPixAll = KOAgendaItem::paintPixAllday(); | 1943 | QPixmap* paintPixAll = KOAgendaItem::paintPixAllday(); |
1918 | if ( (paintPixAll->width() < cw || paintPixAll->height() < ch) && cw > 0 && ch > 0 ) { | 1944 | if ( (paintPixAll->width() < cw || paintPixAll->height() < ch) && cw > 0 && ch > 0 ) { |
1919 | //qDebug("paintPixAll->resize "); | 1945 | qDebug("paintPixAll->resize "); |
1920 | paintPixAll->resize( cw, ch ); | 1946 | paintPixAll->resize( cw, ch ); |
1921 | } | 1947 | } |
@@ -1923,5 +1949,5 @@ void KOAgenda::computeSizes() | |||
1923 | QPixmap* paintPix = KOAgendaItem::paintPix(); | 1949 | QPixmap* paintPix = KOAgendaItem::paintPix(); |
1924 | if ( paintPix->width() < cw || paintPix->height() < ch ) { | 1950 | if ( paintPix->width() < cw || paintPix->height() < ch ) { |
1925 | //qDebug("paintPix->resize "); | 1951 | qDebug("paintPix->resize "); |
1926 | paintPix->resize( cw , ch ); | 1952 | paintPix->resize( cw , ch ); |
1927 | } | 1953 | } |
diff --git a/korganizer/koagenda.h b/korganizer/koagenda.h index de6acac..5d813b2 100644 --- a/korganizer/koagenda.h +++ b/korganizer/koagenda.h | |||
@@ -76,4 +76,5 @@ class KOAgenda : public QScrollView | |||
76 | const char * name=0, WFlags f=0 ); | 76 | const char * name=0, WFlags f=0 ); |
77 | virtual ~KOAgenda(); | 77 | virtual ~KOAgenda(); |
78 | static bool mInvalidPixmap; | ||
78 | 79 | ||
79 | Incidence *selectedIncidence() const; | 80 | Incidence *selectedIncidence() const; |
@@ -126,6 +127,8 @@ class KOAgenda : public QScrollView | |||
126 | void restorePosition(); | 127 | void restorePosition(); |
127 | void setPopup( KOEventPopupMenu * p ) { mAllAgendaPopup = p; } | 128 | void setPopup( KOEventPopupMenu * p ) { mAllAgendaPopup = p; } |
129 | void shrinkPixmap(); | ||
128 | 130 | ||
129 | public slots: | 131 | public slots: |
132 | void slotContentMove(int,int); | ||
130 | void categoryChanged(Incidence * inc); | 133 | void categoryChanged(Incidence * inc); |
131 | void slotClearSelection(); | 134 | void slotClearSelection(); |
@@ -171,4 +174,5 @@ class KOAgenda : public QScrollView | |||
171 | void addToCalSignal(Incidence *, Incidence *); | 174 | void addToCalSignal(Incidence *, Incidence *); |
172 | void resizedSignal(); | 175 | void resizedSignal(); |
176 | void updateViewSignal(); | ||
173 | 177 | ||
174 | protected: | 178 | protected: |
diff --git a/korganizer/koagendaitem.cpp b/korganizer/koagendaitem.cpp index 8675ff6..303a92a 100644 --- a/korganizer/koagendaitem.cpp +++ b/korganizer/koagendaitem.cpp | |||
@@ -497,16 +497,13 @@ void KOAgendaItem::repaintItem() | |||
497 | globalFlagBlockAgendaItemPaint = 0; | 497 | globalFlagBlockAgendaItemPaint = 0; |
498 | globalFlagBlockAgenda = 0; | 498 | globalFlagBlockAgenda = 0; |
499 | //qDebug("AAA "); | ||
500 | repaint( false ); | 499 | repaint( false ); |
501 | //qDebug("BBB "); | ||
502 | } | 500 | } |
503 | void KOAgendaItem::paintEvent ( QPaintEvent *e ) | 501 | void KOAgendaItem::paintEvent ( QPaintEvent *e ) |
504 | { | 502 | { |
505 | qDebug("CCC "); | 503 | |
506 | if ( globalFlagBlockAgendaItemPaint ) | 504 | if ( globalFlagBlockAgendaItemPaint ) |
507 | return; | 505 | return; |
508 | if ( globalFlagBlockAgenda > 0 && globalFlagBlockAgenda < 5 ) | 506 | if ( globalFlagBlockAgenda > 0 && globalFlagBlockAgenda < 5 ) |
509 | return; | 507 | return; |
510 | qDebug("DDD "); | ||
511 | int yy; | 508 | int yy; |
512 | if ( mAllDay ) | 509 | if ( mAllDay ) |
diff --git a/korganizer/koagendaview.cpp b/korganizer/koagendaview.cpp index f811fba..488d9d4 100644 --- a/korganizer/koagendaview.cpp +++ b/korganizer/koagendaview.cpp | |||
@@ -77,5 +77,5 @@ extern int globalFlagBlockLabel; | |||
77 | using namespace KOrg; | 77 | using namespace KOrg; |
78 | 78 | ||
79 | 79 | #define IDLETIMEOUT 3 | |
80 | 80 | ||
81 | TimeLabels::TimeLabels(int rows,QWidget *parent,const char *name,WFlags f) : | 81 | TimeLabels::TimeLabels(int rows,QWidget *parent,const char *name,WFlags f) : |
@@ -574,7 +574,30 @@ KOAgendaView::KOAgendaView(Calendar *cal,QWidget *parent,const char *name) : | |||
574 | connect( mAllDayAgenda, SIGNAL( signalClearSelection() ),mAgenda, SLOT( slotClearSelection()) ); | 574 | connect( mAllDayAgenda, SIGNAL( signalClearSelection() ),mAgenda, SLOT( slotClearSelection()) ); |
575 | connect( mAgenda, SIGNAL( signalClearSelection() ),mAllDayAgenda, SLOT( slotClearSelection()) ); | 575 | connect( mAgenda, SIGNAL( signalClearSelection() ),mAllDayAgenda, SLOT( slotClearSelection()) ); |
576 | connect( mAllDayAgenda, SIGNAL( updateViewSignal() ),this, SLOT( fillAgenda()) ); | ||
577 | connect( mAgenda, SIGNAL( updateViewSignal() ), this, SLOT( fillAgenda()) ); | ||
576 | 578 | ||
579 | mIdleTimer = new QTimer ( this );; | ||
580 | connect(mIdleTimer,SIGNAL(timeout()),SLOT(slotIdleTimeout())); | ||
581 | } | ||
582 | void KOAgendaView::slotIdleTimeout() | ||
583 | { | ||
584 | qDebug("SECS TO %d ",mIdleStart.secsTo( QDateTime::currentDateTime() ) ); | ||
585 | int secsfromstart = mIdleStart.secsTo( QDateTime::currentDateTime() ); | ||
586 | mIdleTimer->stop(); | ||
587 | bool isActice = topLevelWidget()->isActiveWindow(); | ||
588 | qDebug("KO: Active Window %d ", isActice); | ||
589 | // we do nothing if we wake up from a suspend | ||
590 | if ( secsfromstart > IDLETIMEOUT + 50 && isActice ) { | ||
591 | qDebug("KO: Wakeup from suspend "); | ||
592 | mIdleTimer->start( IDLETIMEOUT * 1000 ); | ||
593 | return; | ||
594 | } | ||
595 | qDebug("KO: Downsizing Pixmaps "); | ||
596 | mAgenda->shrinkPixmap(); | ||
597 | mAllDayAgenda->shrinkPixmap(); | ||
598 | KOAgendaItem::paintPix()->resize( 20,20); | ||
599 | KOAgendaItem::paintPixAllday()->resize( 20,20); | ||
600 | |||
577 | } | 601 | } |
578 | |||
579 | void KOAgendaView::toggleAllDay() | 602 | void KOAgendaView::toggleAllDay() |
580 | { | 603 | { |
@@ -1299,4 +1322,6 @@ void KOAgendaView::fillAgenda() | |||
1299 | mAgenda->drawContentsToPainter(); | 1322 | mAgenda->drawContentsToPainter(); |
1300 | repaintAgenda(); | 1323 | repaintAgenda(); |
1324 | mIdleTimer->start ( IDLETIMEOUT *1000 ); | ||
1325 | mIdleStart = QDateTime::currentDateTime(); | ||
1301 | onlyOne = false; | 1326 | onlyOne = false; |
1302 | } | 1327 | } |
@@ -1342,5 +1367,5 @@ void KOAgendaView::slotShowDateView( int mode , int d ) | |||
1342 | { | 1367 | { |
1343 | if ( d >= mSelectedDates.count() ) { | 1368 | if ( d >= mSelectedDates.count() ) { |
1344 | qDebug("KOAgendaView::slotShowDateView datecounterror %d d ", d, mSelectedDates.count() ); | 1369 | qDebug("KOAgendaView::slotShowDateView datecounterror %d %d ", d, mSelectedDates.count() ); |
1345 | 1370 | ||
1346 | } else { | 1371 | } else { |
diff --git a/korganizer/koagendaview.h b/korganizer/koagendaview.h index a1cf308..effd7a3 100644 --- a/korganizer/koagendaview.h +++ b/korganizer/koagendaview.h | |||
@@ -211,4 +211,5 @@ class KOAgendaView : public KOEventView { | |||
211 | void addToCalSlot(Incidence *, Incidence *); | 211 | void addToCalSlot(Incidence *, Incidence *); |
212 | void slotShowDateView( int, int ); | 212 | void slotShowDateView( int, int ); |
213 | void fillAgenda(); | ||
213 | 214 | ||
214 | signals: | 215 | signals: |
@@ -229,5 +230,4 @@ class KOAgendaView : public KOEventView { | |||
229 | void resizeEvent( QResizeEvent* e ); | 230 | void resizeEvent( QResizeEvent* e ); |
230 | /** Fill agenda using the current set value for the start date */ | 231 | /** Fill agenda using the current set value for the start date */ |
231 | void fillAgenda(); | ||
232 | 232 | ||
233 | /** Create labels for the selected dates. */ | 233 | /** Create labels for the selected dates. */ |
@@ -240,4 +240,5 @@ class KOAgendaView : public KOEventView { | |||
240 | 240 | ||
241 | protected slots: | 241 | protected slots: |
242 | void slotIdleTimeout(); | ||
242 | void categoryChanged( Incidence * ); | 243 | void categoryChanged( Incidence * ); |
243 | void slotDaylabelClicked( int ); | 244 | void slotDaylabelClicked( int ); |
@@ -255,4 +256,6 @@ class KOAgendaView : public KOEventView { | |||
255 | 256 | ||
256 | private: | 257 | private: |
258 | QTimer* mIdleTimer; | ||
259 | QDateTime mIdleStart; | ||
257 | // view widgets | 260 | // view widgets |
258 | QFrame *mDayLabels; | 261 | QFrame *mDayLabels; |