kpilot Library API Documentation

doc-setup.cc

00001 /* doc-setup.cc                      KPilot
00002 **
00003 ** Copyright (C) 2002 by Reinhold Kainhofer
00004 **
00005 ** This file defines the setup dialog for the doc-conduit plugin.
00006 */
00007 
00008 /*
00009 ** This program is free software; you can redistribute it and/or modify
00010 ** it under the terms of the GNU General Public License as published by
00011 ** the Free Software Foundation; either version 2 of the License, or
00012 ** (at your option) any later version.
00013 **
00014 ** This program is distributed in the hope that it will be useful,
00015 ** but WITHOUT ANY WARRANTY; without even the implied warranty of
00016 ** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
00017 ** GNU General Public License for more details.
00018 **
00019 ** You should have received a copy of the GNU General Public License
00020 ** along with this program in a file called COPYING; if not, write to
00021 ** the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston,
00022 ** MA 02111-1307, USA.
00023 */
00024 
00025 /*
00026 ** Bug reports and questions can be sent to kde-pim@kde.org
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 /* virtual */ void DOCWidgetSetup::commitChanges()
00059 {
00060     FUNCTIONSETUP;
00061 
00062     if (!fConfig) return;
00063     fConfigBase->commit(fConfig);
00064 }
00065 
00066 /* virtual */ 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 /* virtual */ 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 /* virtual */ 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 
KDE Logo
This file is part of the documentation for kpilot Library Version 3.2.2.
Documentation copyright © 1996-2004 the KDE developers.
Generated on Sat May 1 11:36:47 2004 by doxygen 1.2.15 written by Dimitri van Heesch, © 1997-2003