From b9aad1f15dc600e4dbe4c62d3fcced6363188ba3 Mon Sep 17 00:00:00 2001 From: zautrix Date: Sat, 26 Jun 2004 19:01:18 +0000 Subject: Initial revision --- (limited to 'korganizer/koviewmanager.h') diff --git a/korganizer/koviewmanager.h b/korganizer/koviewmanager.h new file mode 100644 index 0000000..f814c36 --- a/dev/null +++ b/korganizer/koviewmanager.h @@ -0,0 +1,113 @@ +/* + This file is part of KOrganizer. + Copyright (c) 2001 + Cornelius Schumacher + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + + As a special exception, permission is given to link this program + with any edition of Qt, and distribute the resulting executable, + without including the source code for Qt in the source distribution. +*/ +#ifndef KOVIEWMANAGER_H +#define KOVIEWMANAGER_H + +#include + +#include + +class CalendarView; + +class KOListView; +class KOAgendaView; +class KOMonthView; +class KOTimeSpanView; +class KOTodoView; +class KOWhatsNextView; +class KOJournalView; + +using namespace KCal; + +/** + This class manages the views of the calendar. It owns the objects and handles + creation and selection. +*/ +class KOViewManager : public QObject +{ + Q_OBJECT + public: + KOViewManager( CalendarView * ); + virtual ~KOViewManager(); + + /** changes the view to be the currently selected view */ + void showView(KOrg::BaseView *, bool fullScreen = false ); + + void readSettings(KConfig *config); + void writeSettings(KConfig *config); + bool showsNextDays(); + /** Read which view was shown last from config file */ + void readCurrentView(KConfig *); + /** Write which view is currently shown to config file */ + void writeCurrentView(KConfig *); + + KOrg::BaseView *currentView(); + + void setDocumentId( const QString & ); + + void updateView(); + void updateView( const QDate &start, const QDate &end ); + + void raiseCurrentView( bool fullScreen = false ); + + void addView(KOrg::BaseView *); + + Incidence *currentSelection(); + QDate currentSelectionDate(); + + KOAgendaView *agendaView() const { return mAgendaView; } + + public slots: + void showWhatsNextView(); + void showListView(); + void showAgendaView( bool fullScreen = false ); + void showDayView(); + void showWorkWeekView(); + void showWeekView(); + void showNextXView(); + void showMonthView(); + void showTodoView(); + void showJournalView(); + void showTimeSpanView(); + + private: + CalendarView *mMainView; + + int mCurrentAgendaView; + KOAgendaView *mAgendaView; + KOListView *mListView; + KOMonthView *mMonthView; + KOTodoView *mTodoView; + KOWhatsNextView *mWhatsNextView; + KOJournalView *mJournalView; + KOTimeSpanView *mTimeSpanView; + + KOrg::BaseView *mCurrentView; // currently active event view + + int mAgendaViewMode; + bool mFlagShowNextxDays; + +}; + +#endif -- cgit v0.9.0.2