summaryrefslogtreecommitdiffabout
authorzautrix <zautrix>2005-07-05 07:37:53 (UTC)
committer zautrix <zautrix>2005-07-05 07:37:53 (UTC)
commit28ca4c37fb0e131b2978584992840b3fdca21d3e (patch) (side-by-side diff)
treefb4f7e51c0995b71e2a26a7300747b6b1b3acb23
parent5992ea9025ebddde8be72322c90aac8edeaf4d1c (diff)
downloadkdepimpi-28ca4c37fb0e131b2978584992840b3fdca21d3e.zip
kdepimpi-28ca4c37fb0e131b2978584992840b3fdca21d3e.tar.gz
kdepimpi-28ca4c37fb0e131b2978584992840b3fdca21d3e.tar.bz2
fixesss
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--korganizer/koagenda.cpp30
-rw-r--r--korganizer/koagenda.h4
-rw-r--r--korganizer/koagendaitem.cpp5
-rw-r--r--korganizer/koagendaview.cpp31
-rw-r--r--korganizer/koagendaview.h5
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;