-rw-r--r-- | korganizer/calendarview.cpp | 4 | ||||
-rw-r--r-- | korganizer/koagendaview.cpp | 37 | ||||
-rw-r--r-- | korganizer/koagendaview.h | 7 | ||||
-rw-r--r-- | korganizer/kodialogmanager.cpp | 7 |
4 files changed, 51 insertions, 4 deletions
diff --git a/korganizer/calendarview.cpp b/korganizer/calendarview.cpp index 06454c2..1d5a57e 100644 --- a/korganizer/calendarview.cpp +++ b/korganizer/calendarview.cpp @@ -2510,30 +2510,30 @@ void CalendarView::showEventEditor() #else if ( mEventEditor->width() < QApplication::desktop()->width() -60 || mEventEditor->width() > QApplication::desktop()->width() ) { topLevelWidget()->setCaption( i18n("Recreating edit dialog. Please wait...") ); qDebug("KO: CalendarView: recreate mEventEditor %d %d", mEventEditor->width(), QApplication::desktop()->width() ); delete mEventEditor; mEventEditor = mDialogManager->getEventEditor(); + topLevelWidget()->setCaption( i18n("") ); } mEventEditor->showMaximized(); - topLevelWidget()->setCaption( i18n("") ); #endif } void CalendarView::showTodoEditor() { #ifdef DESKTOP_VERSION mTodoEditor->show(); #else if ( mTodoEditor->width() < QApplication::desktop()->width() -60|| mTodoEditor->width() > QApplication::desktop()->width() ) { topLevelWidget()->setCaption( i18n("Recreating edit dialog. Please wait...") ); qDebug("KO: CalendarView: recreate mTodoEditor %d %d ", mTodoEditor->width() ,QApplication::desktop()->width() ); delete mTodoEditor; mTodoEditor = mDialogManager->getTodoEditor(); + topLevelWidget()->setCaption( i18n("") ); } mTodoEditor->showMaximized(); - topLevelWidget()->setCaption( i18n("") ); #endif } void CalendarView::cloneIncidence() { Incidence *incidence = currentSelection(); diff --git a/korganizer/koagendaview.cpp b/korganizer/koagendaview.cpp index 6428757..b5596d9 100644 --- a/korganizer/koagendaview.cpp +++ b/korganizer/koagendaview.cpp @@ -199,12 +199,47 @@ void TimeLabels::positionChanged() /** */ void TimeLabels::setAgenda(KOAgenda* agenda) { mAgenda = agenda; } +void TimeLabels::contentsMousePressEvent ( QMouseEvent * e) +{ + mMouseDownY = e->pos().y(); +} + +void TimeLabels::contentsMouseMoveEvent ( QMouseEvent * e ) +{ + int diff = mMouseDownY - e->pos().y(); + if ( diff < 10 && diff > -10 ) + return; + int tSize = KOPrefs::instance()->mHourSize + (diff/10) ; + if ( tSize < 4 ) + tSize = 4; + if ( tSize > 18 ) + tSize = 18; + tSize = (tSize-2)/2; + topLevelWidget()->setCaption(i18n("New Agendasize: %1").arg(tSize)); + +} +void TimeLabels::contentsMouseReleaseEvent ( QMouseEvent * e ) +{ + int diff = mMouseDownY - e->pos().y(); + if ( diff < 10 && diff > -10 ) + return; + int tSize = KOPrefs::instance()->mHourSize + (diff/10); + if ( tSize < 4 ) + tSize = 4; + if ( tSize > 18 ) + tSize = 18; + tSize = (tSize/2)*2; + if ( tSize == KOPrefs::instance()->mHourSize ) + return; + KOPrefs::instance()->mHourSize = tSize; + emit scaleChanged(); +} /** This is called in response to repaint() */ void TimeLabels::paintEvent(QPaintEvent*) { // kdDebug() << "paintevent..." << endl; @@ -407,12 +442,14 @@ KOAgendaView::KOAgendaView(Calendar *cal,QWidget *parent,const char *name) : QWidget *dummyAgendaRight = new QWidget(agendaFrame); agendaLayout->addWidget(dummyAgendaRight,0,2); // Create time labels mTimeLabels = new TimeLabels(24,agendaFrame); agendaLayout->addWidget(mTimeLabels,1,0); + connect(mTimeLabels,SIGNAL( scaleChanged()), + this,SLOT(updateConfig())); // Create agenda mAgenda = new KOAgenda(1,96,KOPrefs::instance()->mHourSize,agendaFrame); agendaLayout->addMultiCellWidget(mAgenda,1,1,1,2); agendaLayout->setColStretch(1,1); mAgenda->setFocusPolicy(NoFocus); diff --git a/korganizer/koagendaview.h b/korganizer/koagendaview.h index 0079253..221b0ea 100644 --- a/korganizer/koagendaview.h +++ b/korganizer/koagendaview.h @@ -60,21 +60,26 @@ class TimeLabels : public QScrollView { /** */ void setAgenda(KOAgenda* agenda); /** */ virtual void paintEvent(QPaintEvent* e); + void contentsMousePressEvent ( QMouseEvent * ) ; + void contentsMouseReleaseEvent ( QMouseEvent * ); + void contentsMouseMoveEvent ( QMouseEvent * ); public slots: /** update time label positions */ void positionChanged(); - + signals: + void scaleChanged(); protected: void drawContents(QPainter *p,int cx, int cy, int cw, int ch); private: + int mMouseDownY; int mRows; int mCellHeight; /** */ KOAgenda* mAgenda; }; diff --git a/korganizer/kodialogmanager.cpp b/korganizer/kodialogmanager.cpp index c99c0cb..41a4dc1 100644 --- a/korganizer/kodialogmanager.cpp +++ b/korganizer/kodialogmanager.cpp @@ -290,12 +290,15 @@ KOEventEditor *KODialogManager::getEventEditor() // mCategoryEditDialog,SLOT(show())); connect(eventEditor,SIGNAL(dialogClose(Incidence*)), mMainView,SLOT(dialogClosing(Incidence*))); //connect(mMainView,SIGNAL(closingDown()),eventEditor,SLOT(reject())); +#ifndef DESKTOP_VERSION + eventEditor->resize( QApplication::desktop()->width() -20, 100 ); +#endif return eventEditor; } KOTodoEditor *KODialogManager::getTodoEditor() { KOTodoEditor *todoEditor = new KOTodoEditor( mMainView->calendar(), @@ -317,13 +320,15 @@ KOTodoEditor *KODialogManager::getTodoEditor() mMainView->dateNavigator(), SLOT( selectWeek( const QDate & ) ) ); connect( todoEditor, SIGNAL( showAgendaView( bool)), mMainView->viewManager(), SLOT( showAgendaView( bool) ) ); // connect(todoEditor,SIGNAL(deleteAttendee(Incidence *)), // mMainView,SLOT(schedule_cancel(Incidence *))); //connect(mMainView,SIGNAL(closingDown()),todoEditor,SLOT(reject())); - +#ifndef DESKTOP_VERSION + todoEditor->resize( QApplication::desktop()->width() -20, 100 ); +#endif return todoEditor; } void KODialogManager::updateSearchDialog() { if (mSearchDialog) mSearchDialog->updateView(); |