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