summaryrefslogtreecommitdiffabout
authorzautrix <zautrix>2005-03-22 16:21:03 (UTC)
committer zautrix <zautrix>2005-03-22 16:21:03 (UTC)
commitab8db23d665b276caa28471bb4db37e6b0de44ef (patch) (side-by-side diff)
tree4697da2d9426f155237614368f993328560d0b21
parentf36f0308a955f869f18c88ab359f9d605e838f1c (diff)
downloadkdepimpi-ab8db23d665b276caa28471bb4db37e6b0de44ef.zip
kdepimpi-ab8db23d665b276caa28471bb4db37e6b0de44ef.tar.gz
kdepimpi-ab8db23d665b276caa28471bb4db37e6b0de44ef.tar.bz2
fix
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--korganizer/datenavigatorcontainer.cpp35
-rw-r--r--korganizer/datenavigatorcontainer.h2
-rw-r--r--korganizer/kodaymatrix.cpp21
3 files changed, 33 insertions, 25 deletions
diff --git a/korganizer/datenavigatorcontainer.cpp b/korganizer/datenavigatorcontainer.cpp
index 9720146..ba97fa6 100644
--- a/korganizer/datenavigatorcontainer.cpp
+++ b/korganizer/datenavigatorcontainer.cpp
@@ -47,6 +47,9 @@ DateNavigatorContainer::DateNavigatorContainer( QWidget *parent,
connectNavigatorView( mNavigatorView );
//setSizePolicy( QSizePolicy (QSizePolicy::Expanding,QSizePolicy::Expanding) );
mLastDisplayedDN = 0;
+ mUpdateTimer;
+ mUpdateTimer = new QTimer( this );
+ connect (mUpdateTimer ,SIGNAL(timeout()), this, SLOT ( checkUpdateDayMatrixDates() ));
}
DateNavigatorContainer::~DateNavigatorContainer()
@@ -135,9 +138,24 @@ void DateNavigatorContainer::setCalendar( Calendar *cal )
n->setCalendar( cal );
}
}
+void DateNavigatorContainer::checkUpdateDayMatrixDates()
+{
+ QDate last = lastAvailableDate();
+ QDate first = firstAvailableDate();
+
+ QDate selFirst = mFirstSelectedDate;
+ QDate selLast = selFirst.addDays( mSelectedDateCount-1 );
+ if ( selFirst >= first && selLast <= last ) {
+ updateDayMatrixDates();
+ }
+ else {
+ updateDayMatrixDates();
+ emit monthSelected( mFirstSelectedDate.month() );
+ }
+}
void DateNavigatorContainer::updateDayMatrixDates()
{
-
+ mUpdateTimer->stop();
QDate fDate = mFirstSelectedDate;
QDate lDate = fDate.addDays( mSelectedDateCount - 1 );
mNavigatorView->dayMatrix()->setSelectedDaysFrom( fDate , lDate );
@@ -218,20 +236,6 @@ void DateNavigatorContainer::selectDates( const DateList &dateList )
}
QDate fDate = dateList.first();
QDate lDate = dateList.last();
- if ( mLastDisplayedDN <= 2 ) {
- mNavigatorView->selectDates( dateList );
- KDateNavigator *view = mExtraViews.at( 0 );
- QDate bDate = fDate.addDays( fDate.daysInMonth () - fDate.day() +1 );
- view->setBaseDate( bDate, false );
- view->dayMatrix()->setSelectedDaysFrom(fDate , lDate);
- if ( mLastDisplayedDN == 2 ) {
- view = mExtraViews.at( 1 );
- bDate = bDate.addDays( bDate.daysInMonth () - bDate.day() +1 );
- view->setBaseDate( bDate, false );
- view->dayMatrix()->setSelectedDaysFrom(fDate , lDate);
- }
- return;
- }
//qDebug("%s %s ", lastAvailableDate().toString().latin1(), firstAvailableDate().toString().latin1() );
//qDebug("End %s %s ",lDate.toString().latin1(),curEnd.toString().latin1() );
if ( lDate <= lastAvailableDate() && firstAvailableDate() <= fDate) {
@@ -372,6 +376,7 @@ void DateNavigatorContainer::resizeEvent( QResizeEvent * e )
view->setGeometry( x * width,
y * height, width, height );
}
+ mUpdateTimer->start( 250 );
//updateDayMatrixDates();
}
diff --git a/korganizer/datenavigatorcontainer.h b/korganizer/datenavigatorcontainer.h
index d5e5adf..df8efae 100644
--- a/korganizer/datenavigatorcontainer.h
+++ b/korganizer/datenavigatorcontainer.h
@@ -55,6 +55,7 @@ class DateNavigatorContainer: public QWidget
void updateConfig();
void updateDayMatrix();
void updateDayMatrixDates();
+ void checkUpdateDayMatrixDates();
void updateToday();
void slotMonthSelected( int month );
@@ -81,6 +82,7 @@ class DateNavigatorContainer: public QWidget
void connectNavigatorView( KDateNavigator *v );
private:
+ QTimer* mUpdateTimer;
int mLastDisplayedDN;
QDate mFirstSelectedDate;
int mSelectedDateCount;
diff --git a/korganizer/kodaymatrix.cpp b/korganizer/kodaymatrix.cpp
index 366e8b8..59618bf 100644
--- a/korganizer/kodaymatrix.cpp
+++ b/korganizer/kodaymatrix.cpp
@@ -660,15 +660,15 @@ void KODayMatrix::dropEvent(QDropEvent *e)
void KODayMatrix::paintEvent(QPaintEvent * pevent)
{
- QRect sz = frameRect();
- if ( sz.width() <= 0 || sz.height() <= 0 )
+
+ if ( width() <= 0 || height() <= 0 )
return;
if ( mPendingUpdateBeforeRepaint ) {
updateViewTimed();
mPendingUpdateBeforeRepaint = false;
}
- if ( myPix.width() != sz.width() || myPix.height()!=sz.height() ) {
- myPix.resize(sz.size() );
+ if ( myPix.width() != width() || myPix.height()!=height() ) {
+ myPix.resize(size() );
}
QPainter p(&myPix);
p.setFont(font());
@@ -679,16 +679,16 @@ void KODayMatrix::paintEvent(QPaintEvent * pevent)
int row,col;
int selw, selh;
int xyOff = frameWidth();
- int colModulo = sz.width() % 7;
- int rowModulo = sz.height() % 6;
+ int colModulo = (width()-2) % 7;
+ int rowModulo = (height()-2) % 6;
//qDebug("col %d row %d ",colModulo,rowModulo );
bool isRTL = KOGlobals::self()->reverseLayout();
// draw background and topleft frame
- p.fillRect(pevent->rect(), mDefaultBackColor);
+ p.fillRect(0,0,width(),height(), mDefaultBackColor);
p.setPen(mDefaultTextColor);
- p.drawRect(0, 0, sz.width()+1, sz.height()+1);
+ p.drawRect(0, 0, width(), height());
int mSelStartT = mSelStart;
int mSelEndT = mSelEnd;
if ( mSelEndT >= NUMDAYS )
@@ -763,7 +763,8 @@ void KODayMatrix::paintEvent(QPaintEvent * pevent)
}
if ( row == 0)
addRow = 1;
- p.fillRect(isRTL ? 0 : col*dwidth+1+addCol2, row*dheight+addRow, (7-col)*dwidth+colModulo,
+ int drawWid = width()-(col*dwidth+1+addCol2)-1;
+ p.fillRect(isRTL ? 0 : col*dwidth+1+addCol2, row*dheight+addRow, drawWid,
dheight+1, selcol);
// draw full block till last line
selh = mSelEndT/7-row;
@@ -914,7 +915,7 @@ void KODayMatrix::paintEvent(QPaintEvent * pevent)
p.setFont(myFont);
}
}
- int off = xyOff;
+ int off = 0;//xyOff;
bitBlt (this, off, off, &myPix, 0 ,0,width(), height() ,CopyROP);
//qDebug("ffffffffff %d ", off);
}