todo-setup.cc
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 <qpushbutton.h>
00032 #include <qtabwidget.h>
00033 #include <qlineedit.h>
00034 #include <qcheckbox.h>
00035 #include <qbuttongroup.h>
00036
00037 #include <kconfig.h>
00038 #include <kinstance.h>
00039 #include <kaboutdata.h>
00040 #include <kfiledialog.h>
00041
00042 #include "korganizertodoConduit.h"
00043 #include "todo-factory.h"
00044 #include "todo-setup.moc"
00045
00046
00047
00048 ToDoWidgetSetup::ToDoWidgetSetup(QWidget *w, const char *n,
00049 const QStringList & a) :
00050 ConduitConfig(w,n,a)
00051 {
00052 FUNCTIONSETUP;
00053
00054 fConfigWidget = new ToDoWidget(widget());
00055 setTabWidget(fConfigWidget->tabWidget);
00056 addAboutPage(false,ToDoConduitFactory::about());
00057
00058 fConfigWidget->tabWidget->adjustSize();
00059 fConfigWidget->resize(fConfigWidget->tabWidget->size());
00060
00061
00062
00063
00064
00065
00066
00067
00068
00069 QObject::connect(fConfigWidget->fCalBrowse,SIGNAL(clicked()),
00070 this,SLOT(slotBrowseCalendar()));
00071 }
00072
00073 ToDoWidgetSetup::~ToDoWidgetSetup()
00074 {
00075 FUNCTIONSETUP;
00076 }
00077
00078 void ToDoWidgetSetup::commitChanges()
00079 {
00080 FUNCTIONSETUP;
00081
00082 if (!fConfig) return;
00083
00084 KConfigGroupSaver s(fConfig, ToDoConduitFactory::group);
00085
00086 fConfig->writeEntry(VCalConduitFactoryBase::calendarFile, fConfigWidget->fCalendarFile->text());
00087 fConfig->writeEntry(VCalConduitFactoryBase::archive, fConfigWidget->fArchive->isChecked());
00088 fConfig->writeEntry(VCalConduitFactoryBase::conflictResolution,
00089 fConfigWidget->conflictResolution->id(fConfigWidget->conflictResolution->selected()));
00090
00091 int act=fConfigWidget->syncAction->id(fConfigWidget->syncAction->selected())+1;
00092 if (act>SYNC_MAX)
00093 {
00094 fConfig->writeEntry(VCalConduitFactoryBase::nextSyncAction, act-SYNC_MAX);
00095 }
00096 else
00097 {
00098 fConfig->writeEntry(VCalConduitFactoryBase::nextSyncAction, 0);
00099 fConfig->writeEntry(VCalConduitFactoryBase::syncAction, act);
00100 }
00101 }
00102
00103 void ToDoWidgetSetup::readSettings()
00104 {
00105 FUNCTIONSETUP;
00106
00107 if (!fConfig) return;
00108
00109 KConfigGroupSaver s(fConfig,ToDoConduitFactory::group);
00110
00111 fConfigWidget->fCalendarFile->setText( fConfig->readEntry(VCalConduitFactoryBase::calendarFile,QString::null));
00112 fConfigWidget->fArchive->setChecked( fConfig->readBoolEntry(VCalConduitFactoryBase::archive, true));
00113 fConfigWidget->conflictResolution->setButton( fConfig->readNumEntry(VCalConduitFactoryBase::conflictResolution, RES_ASK));
00114
00115 int nextAction=fConfig->readNumEntry(VCalConduitFactoryBase::nextSyncAction, 0);
00116 if (nextAction)
00117 {
00118 fConfigWidget->syncAction->setButton( SYNC_MAX+nextAction-1);
00119 }
00120 else
00121 {
00122 fConfigWidget->syncAction->setButton( fConfig->readNumEntry(VCalConduitFactoryBase::syncAction, SYNC_FAST)-1);
00123 }
00124
00125 }
00126
00127 void ToDoWidgetSetup::slotBrowseCalendar()
00128 {
00129 FUNCTIONSETUP;
00130
00131 QString fileName = KFileDialog::getOpenFileName(CSL1("::calendar"), CSL1("*.vcs *ics|ICalendars"),this);
00132 if(fileName.isNull()) return;
00133 fConfigWidget->fCalendarFile->setText(fileName);
00134 }
This file is part of the documentation for kdelibs Version 3.1.4.