-rw-r--r-- | korganizer/koagenda.cpp | 35 | ||||
-rw-r--r-- | korganizer/koagenda.h | 3 | ||||
-rw-r--r-- | korganizer/koagendaview.cpp | 22 | ||||
-rw-r--r-- | korganizer/koagendaview.h | 1 |
4 files changed, 44 insertions, 17 deletions
diff --git a/korganizer/koagenda.cpp b/korganizer/koagenda.cpp index c339b57..662576f 100644 --- a/korganizer/koagenda.cpp +++ b/korganizer/koagenda.cpp | |||
@@ -57,13 +57,13 @@ | |||
57 | //extern bool globalFlagBlockPainting; | 57 | //extern bool globalFlagBlockPainting; |
58 | extern int globalFlagBlockAgenda; | 58 | extern int globalFlagBlockAgenda; |
59 | extern int globalFlagBlockAgendaItemPaint; | 59 | extern int globalFlagBlockAgendaItemPaint; |
60 | extern int globalFlagBlockAgendaItemUpdate; | 60 | extern int globalFlagBlockAgendaItemUpdate; |
61 | extern int globalFlagBlockStartup; | 61 | extern int globalFlagBlockStartup; |
62 | 62 | ||
63 | bool KOAgenda::mInvalidPixmap = false; | 63 | |
64 | //////////////////////////////////////////////////////////////////////////// | 64 | //////////////////////////////////////////////////////////////////////////// |
65 | MarcusBains::MarcusBains(KOAgenda *_agenda,const char *name) | 65 | MarcusBains::MarcusBains(KOAgenda *_agenda,const char *name) |
66 | : QFrame(_agenda->viewport(),name), agenda(_agenda) | 66 | : QFrame(_agenda->viewport(),name), agenda(_agenda) |
67 | { | 67 | { |
68 | setLineWidth(0); | 68 | setLineWidth(0); |
69 | setMargin(0); | 69 | setMargin(0); |
@@ -327,12 +327,13 @@ void KOAgenda::shrinkPixmap() | |||
327 | { | 327 | { |
328 | mPaintPixmap.resize( 20,20); | 328 | mPaintPixmap.resize( 20,20); |
329 | mInvalidPixmap = true; | 329 | mInvalidPixmap = true; |
330 | } | 330 | } |
331 | void KOAgenda::slotContentMove(int,int) | 331 | void KOAgenda::slotContentMove(int,int) |
332 | { | 332 | { |
333 | emit sendPing(); | ||
333 | if ( mActionType == NOP ) | 334 | if ( mActionType == NOP ) |
334 | slotClearSelection(); | 335 | slotClearSelection(); |
335 | if ( mSelectedItem && !mActionItem ) { | 336 | if ( mSelectedItem && !mActionItem ) { |
336 | deselectItem(); | 337 | deselectItem(); |
337 | emit incidenceSelected( 0 ); | 338 | emit incidenceSelected( 0 ); |
338 | } | 339 | } |
@@ -435,12 +436,21 @@ void KOAgenda::categoryChanged(Incidence * inc) | |||
435 | item->updateItem(); | 436 | item->updateItem(); |
436 | } | 437 | } |
437 | } | 438 | } |
438 | } | 439 | } |
439 | bool KOAgenda::eventFilter_mouse(QObject *object, QMouseEvent *me) | 440 | bool KOAgenda::eventFilter_mouse(QObject *object, QMouseEvent *me) |
440 | { | 441 | { |
442 | |||
443 | if ( mInvalidPixmap ) { | ||
444 | mInvalidPixmap = false; | ||
445 | qDebug("InvalidPixmap "); | ||
446 | computeSizes(); | ||
447 | emit updateViewSignal(); | ||
448 | return true; | ||
449 | } | ||
450 | emit sendPing(); | ||
441 | static int startX = 0; | 451 | static int startX = 0; |
442 | static int startY = 0; | 452 | static int startY = 0; |
443 | int blockmoveDist = ( QApplication::desktop()->width() < 480 ? 7 : 9 ); | 453 | int blockmoveDist = ( QApplication::desktop()->width() < 480 ? 7 : 9 ); |
444 | static bool blockMoving = true; | 454 | static bool blockMoving = true; |
445 | 455 | ||
446 | //qDebug("KOAgenda::eventFilter_mous "); | 456 | //qDebug("KOAgenda::eventFilter_mous "); |
@@ -1264,22 +1274,26 @@ void KOAgenda::drawContents(QPainter* p, int cx, int cy, int cw, int ch) | |||
1264 | if ( globalFlagBlockAgenda ) | 1274 | if ( globalFlagBlockAgenda ) |
1265 | return; | 1275 | return; |
1266 | 1276 | ||
1267 | if ( mInvalidPixmap ) { | 1277 | if ( mInvalidPixmap ) { |
1268 | mInvalidPixmap = false; | 1278 | mInvalidPixmap = false; |
1269 | qDebug("InvalidPixmap "); | 1279 | qDebug("InvalidPixmap "); |
1270 | QTimer::singleShot( 0, this, SIGNAL( updateViewSignal() )); | 1280 | computeSizes(); |
1281 | emit updateViewSignal(); | ||
1271 | return; | 1282 | return; |
1272 | } | 1283 | } |
1273 | if ( ! mAllDayMode ) { | 1284 | if ( ! mAllDayMode ) { |
1274 | // currently not working for | 1285 | // currently not working for |
1275 | 1286 | ||
1276 | //qDebug("KOAgenda::drawContents "); | 1287 | //qDebug("KOAgenda::drawContents "); |
1277 | if ( mCurPixWid != contentsWidth() || mCurPixHei != contentsHeight() ) | 1288 | #if 0 |
1278 | ;//drawContentsToPainter(); | 1289 | if ( mCurPixWid != contentsWidth() || mCurPixHei != contentsHeight() ) { |
1279 | 1290 | qDebug("WAU "); | |
1291 | drawContentsToPainter(); | ||
1292 | } | ||
1293 | #endif | ||
1280 | QPaintDevice* pd = p->device(); | 1294 | QPaintDevice* pd = p->device(); |
1281 | p->end(); | 1295 | p->end(); |
1282 | int vx, vy; | 1296 | int vx, vy; |
1283 | int selectionX = KOGlobals::self()->reverseLayout() ? | 1297 | int selectionX = KOGlobals::self()->reverseLayout() ? |
1284 | (mColumns - 1 - mSelectionCellX) * mGridSpacingX : | 1298 | (mColumns - 1 - mSelectionCellX) * mGridSpacingX : |
1285 | mSelectionCellX * mGridSpacingX; | 1299 | mSelectionCellX * mGridSpacingX; |
@@ -1317,16 +1331,19 @@ void KOAgenda::drawContents(QPainter* p, int cx, int cy, int cw, int ch) | |||
1317 | offset += 5; | 1331 | offset += 5; |
1318 | } | 1332 | } |
1319 | } | 1333 | } |
1320 | } | 1334 | } |
1321 | p->begin( pd ); | 1335 | p->begin( pd ); |
1322 | } else { | 1336 | } else { |
1323 | 1337 | #if 0 | |
1324 | if ( mCurPixWid != contentsWidth() || mCurPixHei != contentsHeight() ) | 1338 | qDebug("mCurPixWid %d %d ",mCurPixWid, contentsWidth() ); |
1325 | ;//drawContentsToPainter(); | 1339 | if ( mCurPixWid != contentsWidth() || mCurPixHei != contentsHeight() ) { |
1326 | 1340 | qDebug("WAUWAU "); | |
1341 | drawContentsToPainter(); | ||
1342 | } | ||
1343 | #endif | ||
1327 | QPaintDevice* pd = p->device(); | 1344 | QPaintDevice* pd = p->device(); |
1328 | p->end(); | 1345 | p->end(); |
1329 | int vx, vy; | 1346 | int vx, vy; |
1330 | int selectionX = KOGlobals::self()->reverseLayout() ? | 1347 | int selectionX = KOGlobals::self()->reverseLayout() ? |
1331 | (mColumns - 1 - mSelectionCellX) * mGridSpacingX : | 1348 | (mColumns - 1 - mSelectionCellX) * mGridSpacingX : |
1332 | mSelectionCellX * mGridSpacingX; | 1349 | mSelectionCellX * mGridSpacingX; |
diff --git a/korganizer/koagenda.h b/korganizer/koagenda.h index 5d813b2..0e3aed8 100644 --- a/korganizer/koagenda.h +++ b/korganizer/koagenda.h | |||
@@ -72,13 +72,13 @@ class KOAgenda : public QScrollView | |||
72 | 72 | ||
73 | KOAgenda ( int columns, int rows, int columnSize, QWidget * parent=0, | 73 | KOAgenda ( int columns, int rows, int columnSize, QWidget * parent=0, |
74 | const char * name=0, WFlags f=0 ); | 74 | const char * name=0, WFlags f=0 ); |
75 | KOAgenda ( int columns, QWidget * parent=0, | 75 | KOAgenda ( int columns, QWidget * parent=0, |
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 | bool mInvalidPixmap; |
79 | 79 | ||
80 | Incidence *selectedIncidence() const; | 80 | Incidence *selectedIncidence() const; |
81 | QDate selectedIncidenceDate() const; | 81 | QDate selectedIncidenceDate() const; |
82 | 82 | ||
83 | virtual bool eventFilter ( QObject *, QEvent * ); | 83 | virtual bool eventFilter ( QObject *, QEvent * ); |
84 | 84 | ||
@@ -171,12 +171,13 @@ class KOAgenda : public QScrollView | |||
171 | void upperYChanged(int); | 171 | void upperYChanged(int); |
172 | 172 | ||
173 | void startDragSignal(Incidence *); | 173 | void startDragSignal(Incidence *); |
174 | void addToCalSignal(Incidence *, Incidence *); | 174 | void addToCalSignal(Incidence *, Incidence *); |
175 | void resizedSignal(); | 175 | void resizedSignal(); |
176 | void updateViewSignal(); | 176 | void updateViewSignal(); |
177 | void sendPing(); | ||
177 | 178 | ||
178 | protected: | 179 | protected: |
179 | KOEventPopupMenu * mAllAgendaPopup; | 180 | KOEventPopupMenu * mAllAgendaPopup; |
180 | QPainter mPixPainter; | 181 | QPainter mPixPainter; |
181 | QPixmap mPaintPixmap; | 182 | QPixmap mPaintPixmap; |
182 | QPixmap mHighlightPixmap; | 183 | QPixmap mHighlightPixmap; |
diff --git a/korganizer/koagendaview.cpp b/korganizer/koagendaview.cpp index 488d9d4..1b21a71 100644 --- a/korganizer/koagendaview.cpp +++ b/korganizer/koagendaview.cpp | |||
@@ -73,13 +73,13 @@ extern int globalFlagBlockAgenda; | |||
73 | extern int globalFlagBlockStartup; | 73 | extern int globalFlagBlockStartup; |
74 | extern int globalFlagBlockAgendaItemPaint; | 74 | extern int globalFlagBlockAgendaItemPaint; |
75 | extern int globalFlagBlockAgendaItemUpdate; | 75 | extern int globalFlagBlockAgendaItemUpdate; |
76 | extern int globalFlagBlockLabel; | 76 | extern int globalFlagBlockLabel; |
77 | using namespace KOrg; | 77 | using namespace KOrg; |
78 | 78 | ||
79 | #define IDLETIMEOUT 3 | 79 | #define IDLETIMEOUT 15 |
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) : |
82 | QScrollView(parent,name,f) | 82 | QScrollView(parent,name,f) |
83 | { | 83 | { |
84 | myPix.resize( 1, 1 ); | 84 | myPix.resize( 1, 1 ); |
85 | mRows = rows; | 85 | mRows = rows; |
@@ -572,27 +572,36 @@ KOAgendaView::KOAgendaView(Calendar *cal,QWidget *parent,const char *name) : | |||
572 | //connect( mAllDayAgenda, SIGNAL( cloneIncidenceSignal(Incidence *) ), SIGNAL( cloneIncidenceSignal(Incidence *) ) ); | 572 | //connect( mAllDayAgenda, SIGNAL( cloneIncidenceSignal(Incidence *) ), SIGNAL( cloneIncidenceSignal(Incidence *) ) ); |
573 | 573 | ||
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()) ); | 576 | connect( mAllDayAgenda, SIGNAL( updateViewSignal() ),this, SLOT( fillAgenda()) ); |
577 | connect( mAgenda, SIGNAL( updateViewSignal() ), this, SLOT( fillAgenda()) ); | 577 | connect( mAgenda, SIGNAL( updateViewSignal() ), this, SLOT( fillAgenda()) ); |
578 | 578 | ||
579 | connect( mAllDayAgenda, SIGNAL( sendPing() ),this, SLOT( startIdleTimeout()) ); | ||
580 | connect( mAgenda, SIGNAL( sendPing() ), this, SLOT( startIdleTimeout()) ); | ||
581 | |||
582 | |||
579 | mIdleTimer = new QTimer ( this );; | 583 | mIdleTimer = new QTimer ( this );; |
580 | connect(mIdleTimer,SIGNAL(timeout()),SLOT(slotIdleTimeout())); | 584 | connect(mIdleTimer,SIGNAL(timeout()),SLOT(slotIdleTimeout())); |
581 | } | 585 | } |
586 | void KOAgendaView::startIdleTimeout() | ||
587 | { | ||
588 | mIdleStart = QDateTime::currentDateTime(); | ||
589 | mIdleTimer->start( IDLETIMEOUT * 1000 ); | ||
590 | } | ||
582 | void KOAgendaView::slotIdleTimeout() | 591 | void KOAgendaView::slotIdleTimeout() |
583 | { | 592 | { |
584 | qDebug("SECS TO %d ",mIdleStart.secsTo( QDateTime::currentDateTime() ) ); | 593 | qDebug("SECS TO %d ",mIdleStart.secsTo( QDateTime::currentDateTime() ) ); |
585 | int secsfromstart = mIdleStart.secsTo( QDateTime::currentDateTime() ); | 594 | int secsfromstart = mIdleStart.secsTo( QDateTime::currentDateTime() ); |
586 | mIdleTimer->stop(); | 595 | mIdleTimer->stop(); |
587 | bool isActice = topLevelWidget()->isActiveWindow(); | 596 | bool isActice = topLevelWidget()->isActiveWindow(); |
588 | qDebug("KO: Active Window %d ", isActice); | 597 | qDebug("KO: Active Window %d %d", isActice, isVisible()); |
589 | // we do nothing if we wake up from a suspend | 598 | // we do nothing if we wake up from a suspend |
590 | if ( secsfromstart > IDLETIMEOUT + 50 && isActice ) { | 599 | if ( secsfromstart > IDLETIMEOUT + 30 && isActice ) { |
591 | qDebug("KO: Wakeup from suspend "); | 600 | qDebug("KO: Wakeup from suspend "); |
592 | mIdleTimer->start( IDLETIMEOUT * 1000 ); | 601 | startIdleTimeout(); |
593 | return; | 602 | return; |
594 | } | 603 | } |
595 | qDebug("KO: Downsizing Pixmaps "); | 604 | qDebug("KO: Downsizing Pixmaps "); |
596 | mAgenda->shrinkPixmap(); | 605 | mAgenda->shrinkPixmap(); |
597 | mAllDayAgenda->shrinkPixmap(); | 606 | mAllDayAgenda->shrinkPixmap(); |
598 | KOAgendaItem::paintPix()->resize( 20,20); | 607 | KOAgendaItem::paintPix()->resize( 20,20); |
@@ -1318,14 +1327,13 @@ void KOAgendaView::fillAgenda() | |||
1318 | } | 1327 | } |
1319 | qApp->processEvents(); | 1328 | qApp->processEvents(); |
1320 | globalFlagBlockAgenda = 0; | 1329 | globalFlagBlockAgenda = 0; |
1321 | mAllDayAgenda->drawContentsToPainter(); | 1330 | mAllDayAgenda->drawContentsToPainter(); |
1322 | mAgenda->drawContentsToPainter(); | 1331 | mAgenda->drawContentsToPainter(); |
1323 | repaintAgenda(); | 1332 | repaintAgenda(); |
1324 | mIdleTimer->start ( IDLETIMEOUT *1000 ); | 1333 | startIdleTimeout(); |
1325 | mIdleStart = QDateTime::currentDateTime(); | ||
1326 | onlyOne = false; | 1334 | onlyOne = false; |
1327 | } | 1335 | } |
1328 | void KOAgendaView::repaintAgenda() | 1336 | void KOAgendaView::repaintAgenda() |
1329 | { | 1337 | { |
1330 | mAgenda->viewport()->repaint( false ); | 1338 | mAgenda->viewport()->repaint( false ); |
1331 | mAllDayAgenda->viewport()->repaint( false ); | 1339 | mAllDayAgenda->viewport()->repaint( false ); |
diff --git a/korganizer/koagendaview.h b/korganizer/koagendaview.h index effd7a3..4b7ef5b 100644 --- a/korganizer/koagendaview.h +++ b/korganizer/koagendaview.h | |||
@@ -208,12 +208,13 @@ class KOAgendaView : public KOEventView { | |||
208 | 208 | ||
209 | void scrollOneHourUp(); | 209 | void scrollOneHourUp(); |
210 | void scrollOneHourDown(); | 210 | void scrollOneHourDown(); |
211 | void addToCalSlot(Incidence *, Incidence *); | 211 | void addToCalSlot(Incidence *, Incidence *); |
212 | void slotShowDateView( int, int ); | 212 | void slotShowDateView( int, int ); |
213 | void fillAgenda(); | 213 | void fillAgenda(); |
214 | void startIdleTimeout(); | ||
214 | 215 | ||
215 | signals: | 216 | signals: |
216 | void showDateView( int, QDate ); | 217 | void showDateView( int, QDate ); |
217 | void newTodoSignal( QDateTime ,bool ); | 218 | void newTodoSignal( QDateTime ,bool ); |
218 | void toggleExpand(); | 219 | void toggleExpand(); |
219 | void selectWeekNum( int ); | 220 | void selectWeekNum( int ); |