-rw-r--r-- | korganizer/koagendaview.cpp | 41 | ||||
-rw-r--r-- | korganizer/koagendaview.h | 1 | ||||
-rw-r--r-- | korganizer/kodaymatrix.cpp | 8 | ||||
-rw-r--r-- | korganizer/koviewmanager.cpp | 41 |
4 files changed, 48 insertions, 43 deletions
diff --git a/korganizer/koagendaview.cpp b/korganizer/koagendaview.cpp index aa36553..8c27c43 100644 --- a/korganizer/koagendaview.cpp +++ b/korganizer/koagendaview.cpp @@ -626,4 +626,19 @@ void KOAgendaView::slotDaylabelClicked() showDateView( 10, firstDate.addDays(1 ) ); } + +QPushButton* KOAgendaView::getNewDaylabel() +{ + + QPushButton * dayLabel = new QPushButton(mDayLabels); + dayLabel->setFlat( true ); + connect( dayLabel, SIGNAL( clicked() ), this, SLOT ( slotDaylabelClicked() ) ); + dayLabel->setFocusPolicy(NoFocus); + dayLabel->setSizePolicy(QSizePolicy( QSizePolicy::Expanding ,QSizePolicy::Expanding )); + mDayLabelsList.append( dayLabel ); + mLayoutDayLabels->addWidget(dayLabel); + //mLayoutDayLabels->setStretchFactor(dayLabel, 100); + return dayLabel ; +} + void KOAgendaView::createDayLabels() { @@ -650,5 +665,6 @@ void KOAgendaView::createDayLabels() QString dayTest = "Mon 20"; int wid = fm.width( dayTest ); - maxWid -= ( selCount * 3 ); + //maxWid -= ( selCount * 3 ); //working for QLabels + maxWid -= ( selCount * 5 ); //working for QPushButton if ( maxWid < 0 ) maxWid = 20; @@ -670,5 +686,5 @@ void KOAgendaView::createDayLabels() dlf.setPointSize( fontPoint ); QFontMetrics f( dlf ); - wid = f.width( "20" ); + wid = f.width( "20" )+2; needWid = wid * selCount; if ( needWid < maxWid ) @@ -691,10 +707,5 @@ void KOAgendaView::createDayLabels() if ( !dayLabel ) { appendLabels = true; - dayLabel = new QPushButton(mDayLabels); - dayLabel->setFlat( true ); - connect( dayLabel, SIGNAL( clicked() ), this, SLOT ( slotDaylabelClicked() ) ); - dayLabel->setFocusPolicy(NoFocus); - mDayLabelsList.append( dayLabel ); - mLayoutDayLabels->addWidget(dayLabel); + dayLabel = getNewDaylabel(); } dayLabel->setFixedWidth( mTimeLabels->width()+2 ); @@ -717,10 +728,5 @@ void KOAgendaView::createDayLabels() } if ( appendLabels ) { - dayLabel = new QPushButton(mDayLabels); - dayLabel->setFlat( true ); - connect( dayLabel, SIGNAL( clicked() ), this, SLOT ( slotDaylabelClicked() ) ); - dayLabel->setFocusPolicy(NoFocus); - mDayLabelsList.append( dayLabel ); - mLayoutDayLabels->addWidget(dayLabel); + dayLabel = getNewDaylabel(); } dayLabel->setMinimumWidth( 1 ); @@ -808,10 +814,5 @@ void KOAgendaView::createDayLabels() } if ( appendLabels ) { - dayLabel = new QPushButton(mDayLabels); - dayLabel->setFlat( true ); - connect( dayLabel, SIGNAL( clicked() ), this, SLOT ( slotDaylabelClicked() ) ); - dayLabel->setFocusPolicy(NoFocus); - mDayLabelsList.append( dayLabel ); - mLayoutDayLabels->addWidget(dayLabel); + dayLabel = getNewDaylabel(); } //dayLabel->hide();//test only diff --git a/korganizer/koagendaview.h b/korganizer/koagendaview.h index fd0a7af..cbe86b6 100644 --- a/korganizer/koagendaview.h +++ b/korganizer/koagendaview.h @@ -191,4 +191,5 @@ class KOAgendaView : public KOEventView { protected: + QPushButton* getNewDaylabel(); bool mBlockUpdating; int mUpcomingWidth; diff --git a/korganizer/kodaymatrix.cpp b/korganizer/kodaymatrix.cpp index dd83d48..989f758 100644 --- a/korganizer/kodaymatrix.cpp +++ b/korganizer/kodaymatrix.cpp @@ -341,5 +341,5 @@ void KODayMatrix::mouseReleaseEvent (QMouseEvent* e) if (tmp != mSelStart) { mSelStart = tmp; - repaint(); + repaint(false); } } else { @@ -349,5 +349,5 @@ void KODayMatrix::mouseReleaseEvent (QMouseEvent* e) if (tmp != mSelEnd) { mSelEnd = tmp; - repaint(); + repaint(false); } } @@ -372,5 +372,5 @@ void KODayMatrix::mouseMoveEvent (QMouseEvent* e) if (tmp != mSelStart) { mSelStart = tmp; - repaint(); + repaint(false); } } else { @@ -380,5 +380,5 @@ void KODayMatrix::mouseMoveEvent (QMouseEvent* e) if (tmp != mSelEnd) { mSelEnd = tmp; - repaint(); + repaint(false); } } diff --git a/korganizer/koviewmanager.cpp b/korganizer/koviewmanager.cpp index 188ad23..7e126d9 100644 --- a/korganizer/koviewmanager.cpp +++ b/korganizer/koviewmanager.cpp @@ -99,18 +99,20 @@ void KOViewManager::readSettings(KConfig *config) } - void KOViewManager::showDateView( int view, QDate date) { - + static int lastMode = 0; + static int lastCount = 0; + static bool lastNDMode = false; + static QDate lastDate; //qDebug("date %d %s", view, date.toString().latin1()); -#if 0 - mNewItemPopup->insertItem ( SmallIcon( pathString +"day" ), i18n("Day view"),3 ); - mNewItemPopup->insertItem ( SmallIcon( pathString +"week" ), i18n("Next Week"),4 ); - mNewItemPopup->insertItem ( SmallIcon( pathString +"month" ), i18n("Next Two Weeks"),5 ); - mNewItemPopup->insertItem ( SmallIcon( pathString +"month" ), i18n("Next Month"),6 ); - mNewItemPopup->insertItem ( SmallIcon( pathString +"journal" ), i18n("Journal view"),7 ); -#endif + + //qDebug("%d %d ", lastNDMode, mFlagShowNextxDays ); + bool savemFlagShowNextxDays = mFlagShowNextxDays; + mFlagShowNextxDays = false; if ( view == 3 ) { //mCurrentAgendaView = 1 ; + lastDate = mMainView->dateNavigator()->selectedDates().first(); + lastCount = mMainView->dateNavigator()->selectedDates().count(); + lastNDMode = savemFlagShowNextxDays; mMainView->showDay( date ); } else if (view == 4 ) { @@ -139,17 +141,18 @@ void KOViewManager::showDateView( int view, QDate date) mFlagShowNextxDays = true; mCurrentAgendaView = 3 ; - } if (view == 9) { - showWeekView(); + } if (view == 9) { // return behaviour, for getting back from mode == 3 (single day mode ) + if ( lastMode ) { + mCurrentAgendaView = lastCount ; + mMainView->dateNavigator()->selectDates( lastDate, lastCount); + mFlagShowNextxDays = lastNDMode; + if ( mFlagShowNextxDays ) { + mCurrentAgendaView = 3 ; + } + } else + showWeekView(); } else if (view == 10) { mMainView->dateNavigator()->selectDates( date,mMainView->dateNavigator()->selectedDates().count() ); } - -#if 0 - dateNavigator()->blockSignals( true ); - dateNavigator()->selectDate( d ); - dateNavigator()->blockSignals( false ); - mViewManager->showDayView(); -#endif - + lastMode = view; } |