summaryrefslogtreecommitdiffabout
path: root/korganizer/koagenda.cpp
Side-by-side diff
Diffstat (limited to 'korganizer/koagenda.cpp') (more/less context) (show whitespace changes)
-rw-r--r--korganizer/koagenda.cpp30
1 files changed, 28 insertions, 2 deletions
diff --git a/korganizer/koagenda.cpp b/korganizer/koagenda.cpp
index 0280c74..c339b57 100644
--- a/korganizer/koagenda.cpp
+++ b/korganizer/koagenda.cpp
@@ -59,8 +59,9 @@ extern int globalFlagBlockAgenda;
extern int globalFlagBlockAgendaItemPaint;
extern int globalFlagBlockAgendaItemUpdate;
extern int globalFlagBlockStartup;
+bool KOAgenda::mInvalidPixmap = false;
////////////////////////////////////////////////////////////////////////////
MarcusBains::MarcusBains(KOAgenda *_agenda,const char *name)
: QFrame(_agenda->viewport(),name), agenda(_agenda)
{
@@ -177,8 +178,9 @@ KOAgenda::KOAgenda(int columns,int rows,int rowSize,QWidget *parent,
//QPEApplication::setStylusOperation( viewport(), QPEApplication::RightOnHold );
#endif
mHolidayMask = 0;
init();
+ connect ( this, SIGNAL (contentsMoving ( int , int ) ), this, SLOT ( slotContentMove(int,int)) );
}
/*
Create an agenda widget with columns columns and one row. This is used for
@@ -316,10 +318,26 @@ void KOAgenda::init()
addChild(mMarcusBains);
}
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()
{
KOAgendaItem *item;
for ( item=mItems.first(); item != 0; item=mItems.next() ) {
@@ -921,8 +939,9 @@ void KOAgenda::performItemAction(QPoint viewportPos)
int x,y;
gridToContents(moveItem->cellX(),moveItem->cellYTop(),x,y);
moveItem->resize(mGridSpacingX * moveItem->cellWidth(),
mGridSpacingY * moveItem->cellHeight());
+ moveItem->raise();
moveChild(moveItem,x,y);
moveItem = moveItem->nextMultiItem();
}
} else if (mActionType == RESIZETOP) {
@@ -1243,8 +1262,15 @@ void KOAgenda::placeSubCells(KOAgendaItem *placeItem)
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
//qDebug("KOAgenda::drawContents ");
@@ -1915,15 +1941,15 @@ void KOAgenda::computeSizes()
int ch = contentsHeight();
if ( mAllDayMode ) {
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 );
}
} else {
QPixmap* paintPix = KOAgendaItem::paintPix();
if ( paintPix->width() < cw || paintPix->height() < ch ) {
- //qDebug("paintPix->resize ");
+ qDebug("paintPix->resize ");
paintPix->resize( cw , ch );
}
}