summaryrefslogtreecommitdiffabout
path: root/korganizer/koviewmanager.cpp
Side-by-side diff
Diffstat (limited to 'korganizer/koviewmanager.cpp') (more/less context) (ignore whitespace changes)
-rw-r--r--korganizer/koviewmanager.cpp65
1 files changed, 65 insertions, 0 deletions
diff --git a/korganizer/koviewmanager.cpp b/korganizer/koviewmanager.cpp
index 31ee5e2..b5de4a1 100644
--- a/korganizer/koviewmanager.cpp
+++ b/korganizer/koviewmanager.cpp
@@ -105,193 +105,258 @@ void KOViewManager::readSettings(KConfig *config)
showAgendaView();
mCurrentAgendaView = dateCount;
#ifdef DESKTOP_VERSION
QTimer::singleShot( 1000, mAgendaView, SLOT ( setInitStartHour() ) );
#endif
}
}
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 (view != 9)
lastMode = 0;
//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->dateNavigator()->selectDate( date );
lastMode = 1;
mCurrentAgendaView = 1 ;
} else if (view == 4 ) {
mCurrentAgendaView = 7 ;
mMainView->dateNavigator()->selectDates( date, 7 );
} else if (view == 5 ) {
mCurrentAgendaView = 14 ;
mMainView->dateNavigator()->selectDates( date, 14);
} else if (view == 6 ) {
//mMainView->dateNavigator()->selectDates( date, 7 );
showMonthView();
} else if (view == 7 ) {
mMainView->dateNavigator()->selectDate( date );
showJournalView();
} else if (view == 8 ) {
globalFlagBlockAgenda = 1;
if ( mCurrentAgendaView != 3 )
mCurrentAgendaView = -1;
showAgendaView(KOPrefs::instance()->mFullViewMonth);
globalFlagBlockAgenda = 2;
mMainView->dateNavigator()->selectDates( date ,
KOPrefs::instance()->mNextXDays );
mFlagShowNextxDays = true;
mCurrentAgendaView = 3 ;
} 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() );
}
}
void KOViewManager::writeSettings(KConfig *config)
{
config->setGroup("General");
QString view;
if (mCurrentView == mWhatsNextView) view = "WhatsNext";
else if (mCurrentView == mMonthView) view = "Month";
else if (mCurrentView == mListView) view = "List";
else if (mCurrentView == mJournalView) view = "Journal";
else if (mCurrentView == mTimeSpanView) view = "TimeSpan";
else if (mCurrentView == mTodoView) view = "Todo";
else view = "Agenda";
config->writeEntry("Current View",view);
if (mAgendaView) {
mAgendaView->writeSettings(config);
}
if (mTimeSpanView) {
mTimeSpanView->writeSettings(config);
}
if (mListView) {
mListView->writeSettings(config);
}
if (mTodoView) {
mTodoView->saveLayout(config,"Todo View");
}
}
+void KOViewManager::showNextView()
+{
+ if (mCurrentView == mWhatsNextView) goto NEXT_X;
+
+ if (mCurrentView == mAgendaView && mFlagShowNextxDays) goto LIST;
+
+ if (mCurrentView == mListView ) goto DAY_1;
+
+ if (mCurrentView == mAgendaView && mCurrentAgendaView == 1 ) goto DAY_5;
+
+ if (mCurrentView == mAgendaView && mCurrentAgendaView == 5 ) goto DAY_7;
+
+ if (mCurrentView == mAgendaView ) goto DAY_6;
+
+ if (mCurrentView == mMonthView && KOPrefs::instance()->mMonthViewWeek) goto MONTH;
+
+ if (mCurrentView == mMonthView ) goto TODO;
+
+ if (mCurrentView == mTodoView ) goto JOURNAL;
+
+ NEXT:
+ if ( KOPrefs::instance()->mShowIconNext ) { showWhatsNextView();return ;}
+ NEXT_X:
+ if ( KOPrefs::instance()->mShowIconNextDays ) { showNextXView() ;return ;}
+ LIST:
+ if ( KOPrefs::instance()->mShowIconList ) { showListView() ;return ;}
+ DAY_1:
+ if ( KOPrefs::instance()->mShowIconDay1 ) { showDayView() ;return ;}
+ DAY_5:
+ if ( KOPrefs::instance()->mShowIconDay5 ) { showWorkWeekView() ;return ;}
+ DAY_7:
+ if ( KOPrefs::instance()->mShowIconDay7 ) { showWeekView();return ;}
+ DAY_6:
+ if ( KOPrefs::instance()->mShowIconDay6 ) { showMonthViewWeek();return ;}
+ MONTH:
+ if ( KOPrefs::instance()->mShowIconMonth ) { showMonthView();return ;}
+ TODO:
+ if ( KOPrefs::instance()->mShowIconTodoview ) { showTodoView() ;return ;}
+ JOURNAL:
+ if ( KOPrefs::instance()->mShowIconJournal ) { showJournalView() ;return ;}
+
+
+
+ if ( KOPrefs::instance()->mShowIconNext ) { showWhatsNextView();return ;}
+
+ if ( KOPrefs::instance()->mShowIconNextDays ) { showNextXView() ;return ;}
+
+ if ( KOPrefs::instance()->mShowIconList ) { showListView() ;return ;}
+
+ if ( KOPrefs::instance()->mShowIconDay1 ) { showDayView() ;return ;}
+ if ( KOPrefs::instance()->mShowIconDay5 ) { showWorkWeekView() ;return ;}
+
+ if ( KOPrefs::instance()->mShowIconDay7 ) { showWeekView();return ;}
+
+ if ( KOPrefs::instance()->mShowIconDay6 ) { showMonthViewWeek();return ;}
+
+ if ( KOPrefs::instance()->mShowIconMonth ) { showMonthView();return ;}
+
+ if ( KOPrefs::instance()->mShowIconTodoview ) { showTodoView() ;return ;}
+
+ if ( KOPrefs::instance()->mShowIconJournal ) { showJournalView() ;return ;}
+
+
+
+}
void KOViewManager::showView(KOrg::BaseView *view, bool fullScreen )
{
//mFlagShowNextxDays = false;
//if(view == mCurrentView) return;
if ( view == 0 ) {
view = mCurrentView;
if ( view == 0 )
return;
}
bool callupdate = !(view == mCurrentView);
bool full = fullScreen;
if(view == mCurrentView && view != mWhatsNextView ) {
if ( mCurrentAgendaView < 0 )
return;
if ( view != mMonthView )
full = mMainView->leftFrame()->isVisible();
} else {
if ( view == mMonthView && mMonthView)
;//mMonthView->skipResize = true ;
mCurrentView = view;
// bool full = fullScreen;
bool isFull = !mMainView->leftFrame()->isVisible();
if ( isFull && KOPrefs::instance()->mViewChangeHoldFullscreen )
full = true;
if ( !isFull && KOPrefs::instance()->mViewChangeHoldNonFullscreen )
full = false;
}
if ( mAgendaView ) mAgendaView->deleteSelectedDateTime();
//raiseCurrentView( full );
mMainView->processIncidenceSelection( 0 );
//mMainView->updateView();
raiseCurrentView( full, callupdate );
mMainView->adaptNavigationUnits();
}
void KOViewManager::raiseCurrentView( bool fullScreen, bool callUpdateView )
{
mCurrentAgendaView = 0;
if ( fullScreen ) {
mMainView->leftFrame()->hide();
} else {
mMainView->leftFrame()->show();
}
//if ( mCurrentView == mMonthView ) qApp->processEvents();
emit signalFullScreen( !fullScreen );
if ( callUpdateView )
mMainView->updateView();
if ( globalFlagBlockAgenda == 5 ) {
globalFlagBlockAgenda = 4;
globalFlagBlockAgendaItemPaint = 1;
}
mMainView->viewStack()->raiseWidget(mCurrentView);
if ( globalFlagBlockAgenda == 4 ) {
if ( mCurrentView == mAgendaView ) {
//globalFlagBlockAgenda =1 ;
if ( KOPrefs::instance()->mSetTimeToDayStartAt )
mAgendaView->setStartHour( KOPrefs::instance()->mDayBegins );
else if ( KOPrefs::instance()->mCenterOnCurrentTime )
mAgendaView->setStartHour( QTime::currentTime ().hour() );
qApp->processEvents();
//qDebug("qApp->processEvents() ");
globalFlagBlockAgenda = 0;
mAgendaView->repaintAgenda();
}
globalFlagBlockAgenda = 0;
}
emit signalAgendaView( mCurrentView == mAgendaView );
//qDebug("raiseCurrentView ende ");
}
void KOViewManager::updateView()
{
// qDebug("KOViewManager::updateView() ");
// if we are updating mTodoView, we get endless recursion
if ( mTodoView == mCurrentView )
return;
if ( mCurrentView ) mCurrentView->updateView();
}
void KOViewManager::updateView(const QDate &start, const QDate &end)
{
// kdDebug() << "KOViewManager::updateView()" << endl;
if (mCurrentView) mCurrentView->showDates(start, end);
if (mTodoView && mTodoView == mCurrentView ) mTodoView->updateView();
}
void KOViewManager::updateWNview()
{