-rw-r--r-- | korganizer/koagendaview.cpp | 31 |
1 files changed, 28 insertions, 3 deletions
diff --git a/korganizer/koagendaview.cpp b/korganizer/koagendaview.cpp index f811fba..488d9d4 100644 --- a/korganizer/koagendaview.cpp +++ b/korganizer/koagendaview.cpp @@ -73,13 +73,13 @@ extern int globalFlagBlockAgenda; extern int globalFlagBlockStartup; extern int globalFlagBlockAgendaItemPaint; extern int globalFlagBlockAgendaItemUpdate; extern int globalFlagBlockLabel; using namespace KOrg; - +#define IDLETIMEOUT 3 TimeLabels::TimeLabels(int rows,QWidget *parent,const char *name,WFlags f) : QScrollView(parent,name,f) { myPix.resize( 1, 1 ); mRows = rows; @@ -570,15 +570,38 @@ KOAgendaView::KOAgendaView(Calendar *cal,QWidget *parent,const char *name) : SLOT( addToCalSlot(Incidence * , Incidence *) ) ); // connect( mAgenda, SIGNAL( cloneIncidenceSignal(Incidence *) ), SIGNAL( cloneIncidenceSignal(Incidence *) ) ); //connect( mAllDayAgenda, SIGNAL( cloneIncidenceSignal(Incidence *) ), SIGNAL( cloneIncidenceSignal(Incidence *) ) ); connect( mAllDayAgenda, SIGNAL( signalClearSelection() ),mAgenda, SLOT( slotClearSelection()) ); connect( mAgenda, SIGNAL( signalClearSelection() ),mAllDayAgenda, SLOT( slotClearSelection()) ); + connect( mAllDayAgenda, SIGNAL( updateViewSignal() ),this, SLOT( fillAgenda()) ); + connect( mAgenda, SIGNAL( updateViewSignal() ), this, SLOT( fillAgenda()) ); + mIdleTimer = new QTimer ( this );; + connect(mIdleTimer,SIGNAL(timeout()),SLOT(slotIdleTimeout())); +} +void KOAgendaView::slotIdleTimeout() +{ + qDebug("SECS TO %d ",mIdleStart.secsTo( QDateTime::currentDateTime() ) ); + int secsfromstart = mIdleStart.secsTo( QDateTime::currentDateTime() ); + mIdleTimer->stop(); + bool isActice = topLevelWidget()->isActiveWindow(); + qDebug("KO: Active Window %d ", isActice); + // we do nothing if we wake up from a suspend + if ( secsfromstart > IDLETIMEOUT + 50 && isActice ) { + qDebug("KO: Wakeup from suspend "); + mIdleTimer->start( IDLETIMEOUT * 1000 ); + return; + } + qDebug("KO: Downsizing Pixmaps "); + mAgenda->shrinkPixmap(); + mAllDayAgenda->shrinkPixmap(); + KOAgendaItem::paintPix()->resize( 20,20); + KOAgendaItem::paintPixAllday()->resize( 20,20); + } - void KOAgendaView::toggleAllDay() { if ( mSplitterAgenda->firstHandle() ) mSplitterAgenda->firstHandle()->toggle(); } void KOAgendaView::addToCalSlot(Incidence * inc, Incidence * incOld ) @@ -1295,12 +1318,14 @@ void KOAgendaView::fillAgenda() } qApp->processEvents(); globalFlagBlockAgenda = 0; mAllDayAgenda->drawContentsToPainter(); mAgenda->drawContentsToPainter(); repaintAgenda(); + mIdleTimer->start ( IDLETIMEOUT *1000 ); + mIdleStart = QDateTime::currentDateTime(); onlyOne = false; } void KOAgendaView::repaintAgenda() { mAgenda->viewport()->repaint( false ); mAllDayAgenda->viewport()->repaint( false ); @@ -1338,13 +1363,13 @@ void KOAgendaView::printPreview(CalPrinter *calPrinter, const QDate &fd, // // emit updateTodoViews(); // } void KOAgendaView::slotShowDateView( int mode , int d ) { if ( d >= mSelectedDates.count() ) { - qDebug("KOAgendaView::slotShowDateView datecounterror %d d ", d, mSelectedDates.count() ); + qDebug("KOAgendaView::slotShowDateView datecounterror %d %d ", d, mSelectedDates.count() ); } else { QDate day = mSelectedDates[d]; emit showDateView(mode , day ); } |