summaryrefslogtreecommitdiffabout
path: root/korganizer/koincidenceeditor.cpp
authorzautrix <zautrix>2004-06-26 19:01:18 (UTC)
committer zautrix <zautrix>2004-06-26 19:01:18 (UTC)
commitb9aad1f15dc600e4dbe4c62d3fcced6363188ba3 (patch) (side-by-side diff)
tree2c3d4004fb21c72cba65793859f9bcd8ffd3a49c /korganizer/koincidenceeditor.cpp
downloadkdepimpi-b9aad1f15dc600e4dbe4c62d3fcced6363188ba3.zip
kdepimpi-b9aad1f15dc600e4dbe4c62d3fcced6363188ba3.tar.gz
kdepimpi-b9aad1f15dc600e4dbe4c62d3fcced6363188ba3.tar.bz2
Initial revision
Diffstat (limited to 'korganizer/koincidenceeditor.cpp') (more/less context) (ignore whitespace changes)
-rw-r--r--korganizer/koincidenceeditor.cpp187
1 files changed, 187 insertions, 0 deletions
diff --git a/korganizer/koincidenceeditor.cpp b/korganizer/koincidenceeditor.cpp
new file mode 100644
index 0000000..e10a188
--- a/dev/null
+++ b/korganizer/koincidenceeditor.cpp
@@ -0,0 +1,187 @@
+/*
+ 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.
+*/
+
+#include <qtooltip.h>
+#include <qframe.h>
+#include <qpixmap.h>
+#include <qlayout.h>
+#include <qwidgetstack.h>
+#include <qdatetime.h>
+#include <qdir.h>
+
+#include <kdebug.h>
+#include <klocale.h>
+#include <kstandarddirs.h>
+#include <kmessagebox.h>
+#include <kfiledialog.h>
+
+#include <libkdepim/categoryselectdialog.h>
+#include <libkdepim/kinputdialog.h>
+
+#include <libkcal/calendarlocal.h>
+#include <libkcal/icalformat.h>
+
+#include "koprefs.h"
+#include "koglobals.h"
+
+#include "koincidenceeditor.h"
+#include "koincidenceeditor.moc"
+
+KOIncidenceEditor::KOIncidenceEditor( const QString &caption,
+ Calendar *calendar, QWidget *parent ) :
+ KDialogBase( Tabbed, caption, Ok | Apply | Cancel |/* Default | */User1, Ok,
+ parent, caption, true, false ),
+ mSaveTemplateDialog( 0 )
+{
+ mCalendar = calendar;
+
+ setButtonText( Default, i18n("Template...") );
+
+ QString saveTemplateText;
+ // if ( KOPrefs::instance()->mCompactDialogs ) {
+// showButton( User1, false );
+// showButton( Apply, false );
+// } else {
+ showButton( Apply, false );
+ saveTemplateText = i18n("Ok+Agenda");
+ // }
+ setButtonText( User1, saveTemplateText );
+
+ //mCategoryDialog = new KPIM::CategorySelectDialog( KOPrefs::instance(), this );
+ // KOGlobals::fitDialogToScreen( mCategoryDialog );
+
+ //connect(mCategoryDialog,SIGNAL(editCategories()),SIGNAL(editCategories()));
+
+ //connect( this, SIGNAL( defaultClicked() ), SLOT( slotLoadTemplate() ) );
+ // connect( this, SIGNAL( user1Clicked() ), SLOT( slotSaveTemplate() ) );
+ connect( this, SIGNAL( user1Clicked() ), SLOT( slotShowIncidence() ) );
+}
+
+KOIncidenceEditor::~KOIncidenceEditor()
+{
+ //delete mCategoryDialog;
+}
+
+void KOIncidenceEditor::setupAttendeesTab()
+{
+ QFrame *topFrame = addPage(i18n("Attendees"));
+
+ QBoxLayout *topLayout = new QVBoxLayout(topFrame);
+
+ mDetails = new KOEditorDetails(spacingHint(),topFrame);
+ topLayout->addWidget(mDetails);
+}
+
+
+void KOIncidenceEditor::slotApply()
+{
+ processInput( false );
+}
+void KOIncidenceEditor::accept()
+{
+ slotOk();
+}
+void KOIncidenceEditor::slotOk()
+{
+ if ( processInput( false ) ) QDialog::accept();
+}
+
+void KOIncidenceEditor::updateCategoryConfig()
+{
+ qDebug("KOIncidenceEditor::updateCategoryConfig() is dead! ");
+ //mCategoryDialog->updateCategoryConfig();
+}
+
+void KOIncidenceEditor::slotCancel()
+{
+ reject();
+}
+
+void KOIncidenceEditor::slotLoadTemplate()
+{
+ kdDebug() << "KOIncidenceEditor::loadTemplate()" << endl;
+}
+void KOIncidenceEditor::slotShowIncidence()
+{
+
+ if ( processInput(true ) ) {
+ accept();
+ }
+}
+
+void KOIncidenceEditor::slotSaveTemplate()
+{
+ kdDebug() << "KOIncidenceEditor::saveTemplate()" << endl;
+}
+
+void KOIncidenceEditor::createSaveTemplateDialog( SaveTemplateDialog::IncidenceType type )
+{
+ if ( !mSaveTemplateDialog ) {
+ mSaveTemplateDialog = new SaveTemplateDialog( type, this );
+ connect( mSaveTemplateDialog, SIGNAL( templateSelected( const QString & ) ),
+ SLOT( saveTemplate( const QString & ) ) );
+ }
+ mSaveTemplateDialog->show();
+ mSaveTemplateDialog->raise();
+}
+
+void KOIncidenceEditor::saveAsTemplate( Incidence *incidence,
+ const QString &templateName )
+{
+ CalendarLocal cal;
+ cal.addIncidence( incidence );
+ ICalFormat format;
+ format.save( &cal, templateName );
+}
+
+QString KOIncidenceEditor::loadTemplate( Calendar *cal, const QString &type,
+ const QStringList &templates )
+{
+ // bool ok = false;
+// QString templateName = KInputDialog::getItem( i18n("Load Template"),
+// i18n("Select a template to load:"), templates, 0, &ok );
+// if ( !ok || templateName.isEmpty() ) return QString::null;
+
+// QString fileName = locateLocal( "data", "korganizer/templates/" + type + "/" +
+// templateName );
+// fn =KFileDialog:: getOpenFileName( fn, "Import filename(*.ics/*.vcs)", this );
+
+ // QString fileName;// =locateLocal( "templates", incidence->type() );
+// fileName=KFileDialog:: getOpenFileName( fileName, "Load "+incidence()->type(), this );
+// if ( fileNamelength() == 0)
+// return QString::null;
+// if ( fileName.isEmpty() ) {
+// KMessageBox::error( this, i18n("Unable to find template '%1'.")
+// .arg( fileName ) );
+// return QString::null;
+// } else {
+// ICalFormat format;
+// if ( !format.load( cal, fileName ) ) {
+// KMessageBox::error( this, i18n("Error loading template file '%1'.")
+// .arg( fileName ) );
+// return QString::null;
+// }
+// }
+
+ return "";
+}