summaryrefslogtreecommitdiffstats
path: root/conduits/vcalconduit/vcal-setupbase.cc
diff options
context:
space:
mode:
Diffstat (limited to 'conduits/vcalconduit/vcal-setupbase.cc')
-rw-r--r--conduits/vcalconduit/vcal-setupbase.cc110
1 files changed, 110 insertions, 0 deletions
diff --git a/conduits/vcalconduit/vcal-setupbase.cc b/conduits/vcalconduit/vcal-setupbase.cc
new file mode 100644
index 0000000..643dee6
--- /dev/null
+++ b/conduits/vcalconduit/vcal-setupbase.cc
@@ -0,0 +1,110 @@
+/* vcal-setup.cc KPilot
+**
+** Copyright (C) 2002-2003 Reinhold Kainhofer
+** Copyright (C) 2001 by Dan Pilone
+**
+** This file defines the setup dialog for the vcal-conduit plugin.
+*/
+
+/*
+** 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 in a file called COPYING; if not, write to
+** the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
+** MA 02110-1301, USA.
+*/
+
+/*
+** Bug reports and questions can be sent to [email protected]
+*/
+
+#include "options.h"
+
+#include <tqcheckbox.h>
+#include <tqbuttongroup.h>
+#include <tqcombobox.h>
+
+#include <kurlrequester.h>
+
+#include "korganizerConduit.h"
+#include "vcalconduitSettings.h"
+#include "vcal-setupbase.h"
+
+VCalWidgetSetupBase::VCalWidgetSetupBase(TQWidget *w, const char *n) :
+ ConduitConfigBase(w,n),
+ fConfigWidget(new VCalWidget(w))
+{
+ FUNCTIONSETUP;
+ fWidget=fConfigWidget;
+
+ fConfigWidget->fCalendarFile->setMode(KFile::File);
+ fConfigWidget->fCalendarFile->setFilter(CSL1("*.vcs *.ics|ICalendars\n*.*|All Files (*.*)"));
+
+#define CM(a,b) connect(fConfigWidget->a,b,this,TQT_SLOT(modified()));
+ CM(fSyncDestination,TQT_SIGNAL(clicked(int)));
+ CM(fCalendarFile,TQT_SIGNAL(textChanged(const TQString &)));
+ CM(fArchive,TQT_SIGNAL(toggled(bool)));
+ CM(fConflictResolution,TQT_SIGNAL(activated(int)));
+#undef CM
+}
+
+VCalWidgetSetupBase::~VCalWidgetSetupBase()
+{
+ FUNCTIONSETUP;
+}
+
+/* virtual */ void VCalWidgetSetupBase::commit()
+{
+ FUNCTIONSETUP;
+ config()->readConfig();
+
+ // General page
+#ifdef DEBUG
+ DEBUGKPILOT << fname << ": Selected type="
+ << fConfigWidget->fSyncDestination->selected()
+ << " with id="
+ << fConfigWidget->fSyncDestination->id(fConfigWidget->fSyncDestination->selected())
+ << endl;
+#endif
+ config()->setCalendarType( fConfigWidget->fSyncDestination->id(
+ fConfigWidget->fSyncDestination->selected()));
+ config()->setCalendarFile( fConfigWidget->fCalendarFile->url());
+
+ config()->setSyncArchived( fConfigWidget->fArchive->isChecked() );
+
+ // Conflicts page
+ config()->setConflictResolution(
+ fConfigWidget->fConflictResolution->currentItem()+SyncAction::eCROffset);
+
+ config()->writeConfig();
+ unmodified();
+}
+
+/* virtual */ void VCalWidgetSetupBase::load()
+{
+ FUNCTIONSETUP;
+ config()->readConfig();
+
+ // General page
+ fConfigWidget->fSyncDestination->setButton( config()->calendarType());
+ fConfigWidget->fCalendarFile->setURL( config()->calendarFile() );
+
+ fConfigWidget->fArchive->setChecked( config()->syncArchived() );
+
+ // Conflicts page
+ fConfigWidget->fConflictResolution->setCurrentItem(
+ config()->conflictResolution() - SyncAction::eCROffset);
+
+ config()->writeConfig();
+ unmodified();
+}
+