summaryrefslogtreecommitdiffabout
path: root/korganizer/koincidenceeditor.h
Side-by-side diff
Diffstat (limited to 'korganizer/koincidenceeditor.h') (more/less context) (ignore whitespace changes)
-rw-r--r--korganizer/koincidenceeditor.h105
1 files changed, 105 insertions, 0 deletions
diff --git a/korganizer/koincidenceeditor.h b/korganizer/koincidenceeditor.h
new file mode 100644
index 0000000..bfd6cc6
--- a/dev/null
+++ b/korganizer/koincidenceeditor.h
@@ -0,0 +1,105 @@
+/*
+ This file is part of KOrganizer.
+ Copyright (c) 2001 Cornelius Schumacher <schumacher@kde.org>
+
+ 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 KOINCIDENCEEDITOR_H
+#define KOINCIDENCEEDITOR_H
+
+#include <kdialogbase.h>
+
+#include <libkcal/calendar.h>
+
+#include "koeditordetails.h"
+#include "savetemplatedialog.h"
+
+class QDateTime;
+namespace KPIM { class CategorySelectDialog; }
+
+using namespace KCal;
+
+/**
+ This is the base class for the calendar component editors.
+*/
+class KOIncidenceEditor : public KDialogBase
+{
+ Q_OBJECT
+ public:
+ /**
+ Construct new IncidenceEditor.
+ */
+ KOIncidenceEditor( const QString &caption, Calendar *calendar,
+ QWidget *parent );
+ virtual ~KOIncidenceEditor();
+
+ /** Initialize editor. This function creates the tab widgets. */
+ virtual void init() = 0;
+ void accept();
+ virtual void setCategories( QString )= 0;
+
+ virtual void reload() = 0;
+
+ public slots:
+ void updateCategoryConfig();
+
+ signals:
+ void editCategories();
+ void showAgendaView( bool );
+ void dialogClose( Incidence * );
+ void jumpToTime( const QDate & );
+
+ protected slots:
+ void slotApply();
+ void slotOk();
+ void slotCancel();
+ void slotShowIncidence();
+
+ virtual void slotLoadTemplate();
+ virtual void slotSaveTemplate();
+
+ virtual void saveTemplate( const QString & ) = 0;
+
+ protected:
+ void setupAttendeesTab();
+
+ void createSaveTemplateDialog( SaveTemplateDialog::IncidenceType );
+
+ QString loadTemplate( Calendar *cal, const QString &type,
+ const QStringList &templates );
+ void saveAsTemplate( Incidence *, const QString &name );
+
+ /**
+ Process user input and create or update event. Returns false if input is invalid.
+ */
+ virtual bool processInput( bool emitTime ) { return false; }
+
+ Calendar *mCalendar;
+
+ //KPIM::CategorySelectDialog *mCategoryDialog;
+
+ KOEditorDetails *mDetails;
+
+ private:
+ SaveTemplateDialog *mSaveTemplateDialog;
+};
+
+#endif
+
+