kpilot Library API Documentation

setupDialog.cc

00001 /* setupDialog.cc KPilot 00002 ** 00003 ** Copyright (C) 2000-2001 by Adriaan de Groot 00004 ** 00005 ** This file is part of the Expense conduit. 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 #include "options.h" 00029 00030 static const char *setupDialog_id="$Id: setupDialog.cc,v 1.16 2003/06/24 06:58:33 adridg Exp $"; 00031 00032 00033 #include <qtabwidget.h> 00034 #include <qspinbox.h> 00035 #include <qradiobutton.h> 00036 #include <qbuttongroup.h> 00037 #include <qlineedit.h> 00038 #include <qpushbutton.h> 00039 00040 #include <kconfig.h> 00041 #include <kfiledialog.h> 00042 00043 00044 #include "expenseConduit.h" 00045 #include "expense-factory.h" 00046 00047 #include "setupDialog.moc" 00048 00049 ExpenseWidgetSetup::ExpenseWidgetSetup(QWidget *w, const char *n, 00050 const QStringList & a) : 00051 ConduitConfig(w,n,a) 00052 { 00053 FUNCTIONSETUP; 00054 00055 fConfigWidget = new ExpenseWidget(widget()); 00056 setTabWidget(fConfigWidget->tabWidget); 00057 addAboutPage(false,ExpenseConduitFactory::about()); 00058 fConfigWidget->tabWidget->adjustSize(); 00059 fConfigWidget->resize(fConfigWidget->tabWidget->size()); 00060 00061 #if defined(DEBUG) && !defined(NDEBUG) 00062 DEBUGCONDUIT << fname 00063 << "Size of tabw=" 00064 << fConfigWidget->tabWidget->size().width() 00065 << "," 00066 << fConfigWidget->tabWidget->size().height() 00067 << endl; 00068 DEBUGCONDUIT << fname 00069 << "Size of conw=" 00070 << fConfigWidget->size().width() 00071 << "," 00072 << fConfigWidget->size().height() 00073 << endl; 00074 #endif 00075 00076 QObject::connect(fConfigWidget->fDatabaseType,SIGNAL(clicked(int)), 00077 this,SLOT(slotDBPolicyChanged())); 00078 QObject::connect(fConfigWidget->fRotatePolicy,SIGNAL(clicked(int)), 00079 this,SLOT(slotRotatePolicyChanged())); 00080 00081 QObject::connect(fConfigWidget->fCSVBrowse,SIGNAL(clicked()), 00082 this,SLOT(slotCSVBrowse())); 00083 00084 QSize s = fConfigWidget->size() + QSize(SPACING,SPACING); 00085 fConfigWidget->resize(s); 00086 fConfigWidget->setMinimumSize(s); 00087 00088 (void) setupDialog_id; 00089 fConduitName=i18n("Expense"); 00090 } 00091 00092 ExpenseWidgetSetup::~ExpenseWidgetSetup() 00093 { 00094 FUNCTIONSETUP; 00095 } 00096 00097 /* virtual */ void ExpenseWidgetSetup::commitChanges() 00098 { 00099 FUNCTIONSETUP; 00100 00101 if (!fConfig) return; 00102 00103 KConfigGroupSaver s(fConfig,ExpenseConduitFactory::group()); 00104 00105 fConfig->writeEntry("CSVFileName",fConfigWidget->fCSVFilename->text()); 00106 00107 int m = getRotatePolicy(); 00108 fConfig->writeEntry("CSVRotatePolicy",m); 00109 fConfig->writeEntry("CSVRotate", 00110 fConfigWidget->fRotateNumber->value()); 00111 00112 fConfig->writeEntry("DBServer",fConfigWidget->fDBServer->text()); 00113 fConfig->writeEntry("DBlogin",fConfigWidget->fDBLogin->text()); 00114 fConfig->writeEntry("DBpasswd",fConfigWidget->fDBPasswd->text()); 00115 fConfig->writeEntry("DBname",fConfigWidget->fDBName->text()); 00116 fConfig->writeEntry("DBtable",fConfigWidget->fDBTable->text()); 00117 00118 m = getDBPolicy(); 00119 fConfig->writeEntry("DBTypePolicy",m); 00120 } 00121 00122 /* virtual */ void ExpenseWidgetSetup::readSettings() 00123 { 00124 FUNCTIONSETUP; 00125 00126 if (!fConfig) return; 00127 00128 KConfigGroupSaver s(fConfig,ExpenseConduitFactory::group()); 00129 00130 fConfigWidget->fCSVFilename->setText(fConfig->readEntry("CSVFileName")); 00131 int m = fConfig->readNumEntry("CSVRotatePolicy",PolicyOverwrite); 00132 if (m == PolicyRotate) 00133 { 00134 m=PolicyAppend; 00135 } 00136 setRotatePolicy((RotatePolicy) m); 00137 fConfigWidget->fRotateNumber->setValue(fConfig->readNumEntry("CSVRotate",3)); 00138 00139 fConfigWidget->fDBServer ->setText(fConfig->readEntry("DBServer")); 00140 fConfigWidget->fDBLogin ->setText(fConfig->readEntry("DBlogin")); 00141 fConfigWidget->fDBPasswd ->setText(fConfig->readEntry("DBpasswd")); 00142 fConfigWidget->fDBName ->setText(fConfig->readEntry("DBname")); 00143 fConfigWidget->fDBTable ->setText(fConfig->readEntry("DBtable")); 00144 m = fConfig->readNumEntry("DBTypePolicy",PolicyNone); 00145 setDBPolicy((DBPolicy) m); 00146 } 00147 00148 int ExpenseWidgetSetup::getRotatePolicy() const 00149 { 00150 FUNCTIONSETUP; 00151 00152 int m = PolicyOverwrite; 00153 if (fConfigWidget->fAppend->isChecked()) m = PolicyAppend; 00154 if (fConfigWidget->fRotate->isChecked()) m = PolicyRotate; 00155 00156 if ((m==PolicyOverwrite) && !fConfigWidget->fOverWrite->isChecked()) 00157 { 00158 kdWarning() << k_funcinfo 00159 << ": Unknown policy button selected." 00160 << endl; 00161 return -1; 00162 } 00163 00164 return m; 00165 } 00166 00167 void ExpenseWidgetSetup::setRotatePolicy(RotatePolicy m) 00168 { 00169 FUNCTIONSETUP; 00170 00171 switch(m) 00172 { 00173 case PolicyOverwrite : 00174 fConfigWidget->fOverWrite->setChecked(true); 00175 break; 00176 case PolicyAppend : 00177 fConfigWidget->fAppend->setChecked(true); 00178 break; 00179 case PolicyRotate : 00180 fConfigWidget->fRotate->setChecked(true); 00181 break; 00182 default : 00183 kdWarning() << k_funcinfo 00184 << ": Unknown rotate policy " 00185 << m 00186 << endl; 00187 } 00188 slotRotatePolicyChanged(); 00189 } 00190 00191 void ExpenseWidgetSetup::slotRotatePolicyChanged() 00192 { 00193 FUNCTIONSETUP; 00194 00195 int m = getRotatePolicy(); 00196 switch(m) 00197 { 00198 case PolicyOverwrite: 00199 case PolicyAppend: 00200 fConfigWidget->fRotateNumber->setEnabled(false); 00201 break; 00202 case PolicyRotate: 00203 fConfigWidget->fRotateNumber->setEnabled(true); 00204 break; 00205 default: 00206 kdWarning() << k_funcinfo 00207 << ": Unknown policy button selected -- " 00208 << m 00209 << endl; 00210 } 00211 } 00212 00213 void ExpenseWidgetSetup::slotCSVBrowse() 00214 { 00215 FUNCTIONSETUP; 00216 00217 QString fileName = KFileDialog::getOpenFileName(QString::null, CSL1("*.csv")); 00218 if(fileName.isNull()) return; 00219 fConfigWidget->fCSVFilename->setText(fileName); 00220 } 00221 00222 int ExpenseWidgetSetup::getDBPolicy() const 00223 { 00224 int m = PolicyNone; 00225 if (fConfigWidget->fpostgresql->isChecked()) m = PolicyPostgresql; 00226 if (fConfigWidget->fmysql->isChecked()) m = PolicyMysql; 00227 00228 if ((m==PolicyNone) && !fConfigWidget->fnone->isChecked()) 00229 { 00230 kdWarning() << k_funcinfo 00231 << ": Unknown policy button selected." 00232 << endl; 00233 return -1; 00234 } 00235 00236 return m; 00237 } 00238 00239 void ExpenseWidgetSetup::setDBPolicy(DBPolicy m) 00240 { 00241 switch(m) 00242 { 00243 case PolicyNone : 00244 fConfigWidget->fnone->setChecked(true); 00245 break; 00246 case PolicyMysql : 00247 fConfigWidget->fmysql->setChecked(true); 00248 break; 00249 case PolicyPostgresql : 00250 fConfigWidget->fpostgresql->setChecked(true); 00251 break; 00252 default : 00253 kdWarning() << k_funcinfo 00254 << ": Unknown policy " 00255 << m 00256 << " for db." 00257 << endl; 00258 } 00259 } 00260 00261 00262 00263 void ExpenseWidgetSetup::slotDBPolicyChanged() 00264 { 00265 FUNCTIONSETUP; 00266 00267 int m = getDBPolicy(); 00268 switch(m) 00269 { 00270 case PolicyOverwrite: 00271 case PolicyAppend: 00272 fConfigWidget->fRotateNumber->setEnabled(false); 00273 break; 00274 case PolicyRotate: 00275 fConfigWidget->fRotateNumber->setEnabled(true); 00276 break; 00277 default: 00278 kdWarning() << k_funcinfo 00279 << ": Unknown policy button selected -- " 00280 << m 00281 << endl; 00282 } 00283 }
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 Wed Jul 28 23:57:49 2004 by doxygen 1.3.7 written by Dimitri van Heesch, © 1997-2003