summaryrefslogtreecommitdiffstats
path: root/conduits/memofileconduit/memofile-factory.cc
diff options
context:
space:
mode:
Diffstat (limited to 'conduits/memofileconduit/memofile-factory.cc')
-rw-r--r--conduits/memofileconduit/memofile-factory.cc128
1 files changed, 128 insertions, 0 deletions
diff --git a/conduits/memofileconduit/memofile-factory.cc b/conduits/memofileconduit/memofile-factory.cc
new file mode 100644
index 0000000..795edc3
--- /dev/null
+++ b/conduits/memofileconduit/memofile-factory.cc
@@ -0,0 +1,128 @@
+/* memofile-factory.cc KPilot
+**
+** Copyright (C) 2004-2007 by Jason 'vanRijn' Kasper
+**
+** This file defines the factory for the memofile-conduit plugin.
+*/
+
+/*
+** This program is free software; you can redistribute it and/or modify
+** it under the terms of the GNU Lesser General Public License as published by
+** the Free Software Foundation; either version 2.1 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 Lesser General Public License for more details.
+**
+** You should have received a copy of the GNU Lesser 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 kde-pim@kde.org
+*/
+
+#include "options.h"
+
+#include <tqtabwidget.h>
+#include <tqlineedit.h>
+#include <tqcheckbox.h>
+
+#include <kconfig.h>
+#include <kinstance.h>
+#include <kaboutdata.h>
+#include <kurlrequester.h>
+
+#include "setup_base.h"
+#include "memofile-conduit.h"
+#include "memofileSettings.h"
+
+#include "pluginfactory.h"
+
+class MemofileConduitConfig : public ConduitConfigBase
+{
+public:
+ MemofileConduitConfig(TQWidget *parent=0L, const char *n=0L);
+ virtual void commit();
+ virtual void load();
+protected:
+ MemofileWidget *fConfigWidget;
+} ;
+
+MemofileConduitConfig::MemofileConduitConfig(TQWidget *p, const char *n) :
+ ConduitConfigBase(p,n),
+ fConfigWidget(new MemofileWidget(p))
+{
+ FUNCTIONSETUP;
+ fConduitName = i18n("Memofile");
+ KAboutData *about = new KAboutData("MemofileConduit",
+ I18N_NOOP("Memofile Conduit for KPilot"),
+ KPILOT_VERSION,
+ I18N_NOOP("Configures the Memofile Conduit for KPilot"),
+ KAboutData::License_GPL,
+ "(C) 2004, Jason 'vanRijn' Kasper");
+ about->addAuthor("Jason 'vanRijn' Kasper",
+ I18N_NOOP("Primary Author"),
+ "vR@movingparts.net",
+ "http://www.cs.kun.nl/~adridg/kpilot");
+
+ ConduitConfigBase::addAboutPage(fConfigWidget->tabWidget,about);
+ fWidget=fConfigWidget;
+ TQObject::connect(fConfigWidget->fDirectory,TQT_SIGNAL(textChanged(const TQString&)),
+ this,TQT_SLOT(modified()));
+ TQObject::connect(fConfigWidget->fSyncPrivate,TQT_SIGNAL(toggled(bool)),
+ this,TQT_SLOT(modified()));
+
+}
+
+/* virtual */ void MemofileConduitConfig::commit()
+{
+ FUNCTIONSETUP;
+
+ DEBUGKPILOT << fname
+ << ": Directory="
+ << fConfigWidget->fDirectory->url()
+ << endl;
+
+ MemofileConduitSettings::setDirectory( fConfigWidget->fDirectory->url() );
+ MemofileConduitSettings::setSyncPrivate( fConfigWidget->fSyncPrivate->isChecked() );
+ MemofileConduitSettings::self()->writeConfig();
+ unmodified();
+}
+
+/* virtual */ void MemofileConduitConfig::load()
+{
+ FUNCTIONSETUP;
+ MemofileConduitSettings::self()->readConfig();
+
+ fConfigWidget->fDirectory->setURL( MemofileConduitSettings::directory() );
+ fConfigWidget->fSyncPrivate->setChecked( MemofileConduitSettings::syncPrivate() );
+
+ DEBUGKPILOT << fname
+ << ": Read Directory: ["
+ << fConfigWidget->fDirectory->url()
+ << "], sync private records: ["
+ << fConfigWidget->fSyncPrivate
+ << "]" << endl;
+
+ unmodified();
+}
+
+
+
+extern "C"
+{
+
+void *init_conduit_memofile()
+{
+ return new ConduitFactory<MemofileConduitConfig,MemofileConduit>(0,"memofileconduit");
+}
+
+unsigned long version_conduit_memofile = Pilot::PLUGIN_API;
+
+}
+