00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
#include "options.h"
00030
00031
#include <qtabwidget.h>
00032
#include <qlineedit.h>
00033
#include <qcheckbox.h>
00034
00035
#include <kconfig.h>
00036
#include <kinstance.h>
00037
#include <kaboutdata.h>
00038
00039
#include "setup_base.h"
00040
#include "null-conduit.h"
00041
#include "null-factory.moc"
00042
00043
00044
extern "C"
00045 {
00046
00047
void *init_conduit_null()
00048 {
00049
return new NullConduitFactory;
00050 }
00051
00052 }
00053
00054
class NullConduitConfig :
public ConduitConfigBase
00055 {
00056
public:
00057 NullConduitConfig(QWidget *parent=0L,
const char *n=0L);
00058
virtual void commit(KConfig *);
00059
virtual void load(KConfig *);
00060
static ConduitConfigBase *create(QWidget *p,
const char *n)
00061 {
return new NullConduitConfig(p,n); } ;
00062
protected:
00063 NullWidget *fConfigWidget;
00064 } ;
00065
00066 NullConduitConfig::NullConduitConfig(QWidget *p,
const char *n) :
00067
ConduitConfigBase(p,n),
00068 fConfigWidget(new NullWidget(p))
00069 {
00070 FUNCTIONSETUP;
00071 fConduitName = i18n(
"Null");
00072 UIDialog::addAboutPage(fConfigWidget->tabWidget,NullConduitFactory::about());
00073 fWidget=fConfigWidget;
00074 QObject::connect(fConfigWidget->fLogMessage,SIGNAL(textChanged(
const QString&)),
00075
this,SLOT(modified()));
00076 QObject::connect(fConfigWidget->fDatabases,SIGNAL(textChanged(
const QString&)),
00077
this,SLOT(modified()));
00078 QObject::connect(fConfigWidget->fFailImmediately,SIGNAL(toggled(
bool)),
00079
this,SLOT(modified()));
00080 }
00081
00082
void NullConduitConfig::commit(KConfig *fConfig)
00083 {
00084 FUNCTIONSETUP;
00085
00086
#ifdef DEBUG
00087
DEBUGCONDUIT << fname
00088 <<
": Message="
00089 << fConfigWidget->fLogMessage->text()
00090 << endl;
00091 DEBUGCONDUIT << fname
00092 <<
": Databases="
00093 << fConfigWidget->fDatabases->text()
00094 << endl;
00095
#endif
00096
00097 KConfigGroupSaver s(fConfig,NullConduitFactory::group);
00098
00099 fConfig->writeEntry(NullConduitFactory::message,fConfigWidget->fLogMessage->text());
00100 fConfig->writeEntry(NullConduitFactory::databases,fConfigWidget->fDatabases->text());
00101 fConfig->writeEntry(NullConduitFactory::failImmediately,
00102 fConfigWidget->fFailImmediately->isChecked());
00103 }
00104
00105
void NullConduitConfig::load(KConfig *fConfig)
00106 {
00107 FUNCTIONSETUP;
00108
00109 KConfigGroupSaver s(fConfig,NullConduitFactory::group);
00110
00111 fConfigWidget->fLogMessage->setText(
00112 fConfig->readEntry(NullConduitFactory::message,i18n(
"KPilot was here!")));
00113 fConfigWidget->fDatabases->setText(
00114 fConfig->readEntry(NullConduitFactory::databases));
00115 fConfigWidget->fFailImmediately->setChecked(
00116 fConfig->readBoolEntry(NullConduitFactory::failImmediately,
false));
00117
00118
#ifdef DEBUG
00119
DEBUGCONDUIT << fname
00120 <<
": Read Message="
00121 << fConfigWidget->fLogMessage->text()
00122 << endl;
00123 DEBUGCONDUIT << fname
00124 <<
": Read Database="
00125 << fConfigWidget->fDatabases->text()
00126 << endl;
00127
#endif
00128
00129 fModified=
false;
00130 }
00131
00132
const char *
const NullConduitFactory::group =
"Null-conduit";
00133
const char *
const NullConduitFactory::databases =
"Databases" ;
00134
const char *
const NullConduitFactory::message =
"LogMessage";
00135
const char *
const NullConduitFactory::failImmediately =
"FailNow";
00136
00137 KAboutData *NullConduitFactory::fAbout = 0L;
00138 NullConduitFactory::NullConduitFactory(QObject *p,
const char *n) :
00139 KLibFactory(p,n)
00140 {
00141 FUNCTIONSETUP;
00142
00143 fInstance =
new KInstance(
"nullconduit");
00144 fAbout =
new KAboutData(
"nullConduit",
00145 I18N_NOOP(
"Null Conduit for KPilot"),
00146 KPILOT_VERSION,
00147 I18N_NOOP(
"Configures the Null Conduit for KPilot"),
00148 KAboutData::License_GPL,
00149
"(C) 2001, Adriaan de Groot");
00150 fAbout->addAuthor(
"Adriaan de Groot",
00151 I18N_NOOP(
"Primary Author"),
00152
"groot@kde.org",
00153
"http://www.cs.kun.nl/~adridg/kpilot");
00154 }
00155
00156 NullConduitFactory::~NullConduitFactory()
00157 {
00158 FUNCTIONSETUP;
00159
00160 KPILOT_DELETE(fInstance);
00161 KPILOT_DELETE(fAbout);
00162 }
00163
00164 QObject *NullConduitFactory::createObject( QObject *p,
00165
const char *n,
00166
const char *c,
00167
const QStringList &a)
00168 {
00169 FUNCTIONSETUP;
00170
00171
#ifdef DEBUG
00172
DEBUGCONDUIT << fname
00173 <<
": Creating object of class "
00174 << c
00175 << endl;
00176
#endif
00177
00178
if (qstrcmp(c,
"ConduitConfigBase")==0)
00179 {
00180 QWidget *w = dynamic_cast<QWidget *>(p);
00181
if (w)
00182 {
00183
return new NullConduitConfig(w);
00184 }
00185
else
00186 {
00187
return 0L;
00188 }
00189 }
00190
else
00191
if (qstrcmp(c,
"ConduitConfig")==0)
00192 {
00193 QWidget *w = dynamic_cast<QWidget *>(p);
00194
00195
if (w)
00196 {
00197
return new ConduitConfigImplementation(w,n,a,
00198 NullConduitConfig::create);
00199 }
00200
else
00201 {
00202
#ifdef DEBUG
00203
DEBUGCONDUIT << fname
00204 <<
": Couldn't cast parent to widget."
00205 << endl;
00206
#endif
00207
return 0L;
00208 }
00209 }
00210
else if (qstrcmp(c,
"SyncAction")==0)
00211 {
00212 KPilotDeviceLink *d = dynamic_cast<KPilotDeviceLink *>(p);
00213
00214
if (d)
00215 {
00216
return new NullConduit(d,n,a);
00217 }
00218
else
00219 {
00220 kdError() << k_funcinfo
00221 <<
": Couldn't cast to KPilotDeviceLink"
00222 << endl;
00223
return 0L;
00224 }
00225 }
00226
00227
return 0L;
00228 }
00229
00230