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 <qcheckbox.h>
00033 #include <qbuttongroup.h>
00034
00035 #include <kconfig.h>
00036 #include <kurlrequester.h>
00037
00038 #include "doc-setupdialog.h"
00039 #include "doc-factory.h"
00040 #include "doc-setup.h"
00041
00042
00043 DOCWidgetSetup::DOCWidgetSetup(QWidget *w, const char *n,
00044 const QStringList & a) :
00045 ConduitConfig(w,n,a)
00046 {
00047 FUNCTIONSETUP;
00048
00049 fConfigBase = new DOCWidgetConfig(widget(),"ConfigWidget");
00050 fConduitName = i18n("Palm DOC");
00051 }
00052
00053 DOCWidgetSetup::~DOCWidgetSetup()
00054 {
00055 FUNCTIONSETUP;
00056 }
00057
00058 void DOCWidgetSetup::commitChanges()
00059 {
00060 FUNCTIONSETUP;
00061
00062 if (!fConfig) return;
00063 fConfigBase->commit(fConfig);
00064 }
00065
00066 void DOCWidgetSetup::readSettings()
00067 {
00068 FUNCTIONSETUP;
00069
00070 if (!fConfig) return;
00071 fConfigBase->load(fConfig);
00072 }
00073
00074
00075
00076 DOCWidgetConfig::DOCWidgetConfig(QWidget * w, const char *n):
00077 ConduitConfigBase(w, n),
00078 fConfigWidget(new DOCWidget(w))
00079 {
00080 FUNCTIONSETUP;
00081
00082 fWidget=fConfigWidget;
00083
00084 fConfigWidget->fTXTDir->setMode(KFile::Directory);
00085 fConfigWidget->fPDBDir->setMode(KFile::Directory);
00086 UIDialog::addAboutPage(fConfigWidget->tabWidget,DOCConduitFactory::about());
00087
00088 fConduitName=i18n("Palm DOC");
00089
00090 #define CMOD(a,b) connect(fConfigWidget->a,SIGNAL(b),this,SLOT(modified()))
00091 CMOD(fTXTDir,textChanged(const QString &));
00092 CMOD(fPDBDir,textChanged(const QString &));
00093 CMOD(fkeepPDBLocally,clicked());
00094 CMOD(fConflictResolution,clicked(int));
00095 CMOD(fConvertBookmarks,stateChanged(int));
00096 CMOD(fBookmarksBmk,stateChanged(int));
00097 CMOD(fBookmarksInline,stateChanged(int));
00098 CMOD(fBookmarksEndtags,stateChanged(int));
00099 CMOD(fCompress,stateChanged(int));
00100 CMOD(fSyncDirection,clicked(int));
00101 CMOD(fNoConversionOfBmksOnly,stateChanged(int));
00102 CMOD(fAlwaysUseResolution,stateChanged(int));
00103 CMOD(fPCBookmarks,clicked(int));
00104 #undef CMOD
00105
00106 fConfigWidget->adjustSize();
00107 }
00108
00109 void DOCWidgetConfig::commit(KConfig *fConfig)
00110 {
00111 FUNCTIONSETUP;
00112
00113 if (!fConfig)
00114 return;
00115
00116 KConfigGroupSaver s(fConfig, DOCConduitFactory::fGroup);
00117
00118 fConfig->writeEntry(DOCConduitFactory::fTXTDir,
00119 fConfigWidget->fTXTDir->url());
00120 fConfig->writeEntry(DOCConduitFactory::fPDBDir,
00121 fConfigWidget->fPDBDir->url());
00122 fConfig->writeEntry(DOCConduitFactory::fKeepPDBLocally,
00123 fConfigWidget->fkeepPDBLocally->isChecked());
00124 fConfig->writeEntry(DOCConduitFactory::fConflictResolution,
00125 fConfigWidget->fConflictResolution->id(fConfigWidget->
00126 fConflictResolution->selected()));
00127 fConfig->writeEntry(DOCConduitFactory::fConvertBookmarks,
00128 fConfigWidget->fConvertBookmarks->isChecked());
00129 fConfig->writeEntry(DOCConduitFactory::fBookmarksBmk,
00130 fConfigWidget->fBookmarksBmk->isChecked());
00131 fConfig->writeEntry(DOCConduitFactory::fBookmarksInline,
00132 fConfigWidget->fBookmarksInline->isChecked());
00133 fConfig->writeEntry(DOCConduitFactory::fBookmarksEndtags,
00134 fConfigWidget->fBookmarksEndtags->isChecked());
00135 fConfig->writeEntry(DOCConduitFactory::fCompress,
00136 fConfigWidget->fCompress->isChecked());
00137 fConfig->writeEntry(DOCConduitFactory::fSyncDirection,
00138 fConfigWidget->fSyncDirection->id(fConfigWidget->
00139 fSyncDirection->selected()));
00140 fConfig->writeEntry(DOCConduitFactory::fIgnoreBmkChanges,
00141 fConfigWidget->fNoConversionOfBmksOnly->isChecked());
00142 fConfig->writeEntry(DOCConduitFactory::fAlwaysUseResolution,
00143 fConfigWidget->fAlwaysUseResolution->isChecked());
00144
00145 fConfig->writeEntry(DOCConduitFactory::fPCBookmarks,
00146 fConfigWidget->fPCBookmarks->id(fConfigWidget->
00147 fPCBookmarks->selected()));
00148
00149
00150 fConfig->sync();
00151 unmodified();
00152 }
00153
00154 void DOCWidgetConfig::load(KConfig *fConfig)
00155 {
00156 FUNCTIONSETUP;
00157
00158 if (!fConfig)
00159 return;
00160
00161 KConfigGroupSaver s(fConfig, DOCConduitFactory::fGroup);
00162
00163 fConfigWidget->fTXTDir->setURL(fConfig->
00164 readEntry(DOCConduitFactory::fTXTDir));
00165 fConfigWidget->fPDBDir->setURL(fConfig->
00166 readEntry(DOCConduitFactory::fPDBDir));
00167 fConfigWidget->fkeepPDBLocally->setChecked(fConfig->
00168 readBoolEntry(DOCConduitFactory::fKeepPDBLocally, true));
00169 fConfigWidget->fConflictResolution->setButton(fConfig->
00170 readNumEntry(DOCConduitFactory::fConflictResolution, 0));
00171 fConfigWidget->fConvertBookmarks->setChecked(fConfig->
00172 readBoolEntry(DOCConduitFactory::fConvertBookmarks, true));
00173 fConfigWidget->fBookmarksBmk->setChecked(fConfig->
00174 readBoolEntry(DOCConduitFactory::fBookmarksBmk, true));
00175 fConfigWidget->fBookmarksInline->setChecked(fConfig->
00176 readBoolEntry(DOCConduitFactory::fBookmarksInline, true));
00177 fConfigWidget->fBookmarksEndtags->setChecked(fConfig->
00178 readBoolEntry(DOCConduitFactory::fBookmarksEndtags, true));
00179 fConfigWidget->fCompress->setChecked(fConfig->
00180 readBoolEntry(DOCConduitFactory::fCompress, true));
00181 fConfigWidget->fSyncDirection->setButton(fConfig->
00182 readNumEntry(DOCConduitFactory::fSyncDirection, 0));
00183
00184 fConfigWidget->fNoConversionOfBmksOnly->setChecked(
00185 fConfig->readBoolEntry(DOCConduitFactory::fIgnoreBmkChanges, false));
00186 fConfigWidget->fAlwaysUseResolution->setChecked(
00187 fConfig->readBoolEntry(DOCConduitFactory::fAlwaysUseResolution, false));
00188
00189 fConfigWidget->fPCBookmarks->setButton(fConfig->
00190 readNumEntry(DOCConduitFactory::fPCBookmarks, 0));
00191 unmodified();
00192 }
00193