author | zautrix <zautrix> | 2005-07-05 07:37:53 (UTC) |
---|---|---|
committer | zautrix <zautrix> | 2005-07-05 07:37:53 (UTC) |
commit | 28ca4c37fb0e131b2978584992840b3fdca21d3e (patch) (side-by-side diff) | |
tree | fb4f7e51c0995b71e2a26a7300747b6b1b3acb23 /korganizer | |
parent | 5992ea9025ebddde8be72322c90aac8edeaf4d1c (diff) | |
download | kdepimpi-28ca4c37fb0e131b2978584992840b3fdca21d3e.zip kdepimpi-28ca4c37fb0e131b2978584992840b3fdca21d3e.tar.gz kdepimpi-28ca4c37fb0e131b2978584992840b3fdca21d3e.tar.bz2 |
fixesss
-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; extern int globalFlagBlockStartup; +bool KOAgenda::mInvalidPixmap = false; //////////////////////////////////////////////////////////////////////////// MarcusBains::MarcusBains(KOAgenda *_agenda,const char *name) @@ -179,4 +180,5 @@ KOAgenda::KOAgenda(int columns,int rows,int rowSize,QWidget *parent, mHolidayMask = 0; init(); + connect ( this, SIGNAL (contentsMoving ( int , int ) ), this, SLOT ( slotContentMove(int,int)) ); } @@ -318,6 +320,22 @@ void KOAgenda::init() mPopupKind = 0; mPopupItem = 0; + mInvalidPixmap = false; + } +void KOAgenda::shrinkPixmap() +{ + mPaintPixmap.resize( 20,20); + mInvalidPixmap = true; +} +void KOAgenda::slotContentMove(int,int) +{ + if ( mActionType == NOP ) + slotClearSelection(); + if ( mSelectedItem && !mActionItem ) { + deselectItem(); + emit incidenceSelected( 0 ); + } +} void KOAgenda::clear() { @@ -923,4 +941,5 @@ void KOAgenda::performItemAction(QPoint viewportPos) moveItem->resize(mGridSpacingX * moveItem->cellWidth(), mGridSpacingY * moveItem->cellHeight()); + moveItem->raise(); moveChild(moveItem,x,y); moveItem = moveItem->nextMultiItem(); @@ -1245,4 +1264,11 @@ void KOAgenda::drawContents(QPainter* p, int cx, int cy, int cw, int ch) if ( globalFlagBlockAgenda ) return; + + if ( mInvalidPixmap ) { + mInvalidPixmap = false; + qDebug("InvalidPixmap "); + QTimer::singleShot( 0, this, SIGNAL( updateViewSignal() )); + return; + } if ( ! mAllDayMode ) { // currently not working for @@ -1917,5 +1943,5 @@ void KOAgenda::computeSizes() QPixmap* paintPixAll = KOAgendaItem::paintPixAllday(); if ( (paintPixAll->width() < cw || paintPixAll->height() < ch) && cw > 0 && ch > 0 ) { - //qDebug("paintPixAll->resize "); + qDebug("paintPixAll->resize "); paintPixAll->resize( cw, ch ); } @@ -1923,5 +1949,5 @@ void KOAgenda::computeSizes() QPixmap* paintPix = KOAgendaItem::paintPix(); if ( paintPix->width() < cw || paintPix->height() < ch ) { - //qDebug("paintPix->resize "); + qDebug("paintPix->resize "); paintPix->resize( cw , ch ); } 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 const char * name=0, WFlags f=0 ); virtual ~KOAgenda(); + static bool mInvalidPixmap; Incidence *selectedIncidence() const; @@ -126,6 +127,8 @@ class KOAgenda : public QScrollView void restorePosition(); void setPopup( KOEventPopupMenu * p ) { mAllAgendaPopup = p; } + void shrinkPixmap(); public slots: + void slotContentMove(int,int); void categoryChanged(Incidence * inc); void slotClearSelection(); @@ -171,4 +174,5 @@ class KOAgenda : public QScrollView void addToCalSignal(Incidence *, Incidence *); void resizedSignal(); + void updateViewSignal(); 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() globalFlagBlockAgendaItemPaint = 0; globalFlagBlockAgenda = 0; - //qDebug("AAA "); repaint( false ); - //qDebug("BBB "); } void KOAgendaItem::paintEvent ( QPaintEvent *e ) { - qDebug("CCC "); + if ( globalFlagBlockAgendaItemPaint ) return; if ( globalFlagBlockAgenda > 0 && globalFlagBlockAgenda < 5 ) return; - qDebug("DDD "); int yy; 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; using namespace KOrg; - +#define IDLETIMEOUT 3 TimeLabels::TimeLabels(int rows,QWidget *parent,const char *name,WFlags f) : @@ -574,7 +574,30 @@ KOAgendaView::KOAgendaView(Calendar *cal,QWidget *parent,const char *name) : 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() { @@ -1299,4 +1322,6 @@ void KOAgendaView::fillAgenda() mAgenda->drawContentsToPainter(); repaintAgenda(); + mIdleTimer->start ( IDLETIMEOUT *1000 ); + mIdleStart = QDateTime::currentDateTime(); onlyOne = false; } @@ -1342,5 +1367,5 @@ 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 { 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 { void addToCalSlot(Incidence *, Incidence *); void slotShowDateView( int, int ); + void fillAgenda(); signals: @@ -229,5 +230,4 @@ class KOAgendaView : public KOEventView { void resizeEvent( QResizeEvent* e ); /** Fill agenda using the current set value for the start date */ - void fillAgenda(); /** Create labels for the selected dates. */ @@ -240,4 +240,5 @@ class KOAgendaView : public KOEventView { protected slots: + void slotIdleTimeout(); void categoryChanged( Incidence * ); void slotDaylabelClicked( int ); @@ -255,4 +256,6 @@ class KOAgendaView : public KOEventView { private: + QTimer* mIdleTimer; + QDateTime mIdleStart; // view widgets QFrame *mDayLabels; |