You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
tdepim/karm/preferences.h

91 lines
2.2 KiB

#ifndef KARM_PREFERENCES_H
#define KARM_PREFERENCES_H
#include <kdialogbase.h>
class QCheckBox;
class QLabel;
class QSpinBox;
class QString;
class KURLRequester;
/**
* Provide an interface to the configuration options for the program.
*/
class Preferences :public KDialogBase
{
Q_OBJECT
public:
static Preferences *instance( const QString& icsfile = "" );
void disableIdleDetection();
// Retrive information about settings
bool detectIdleness() const;
int idlenessTimeout() const;
QString iCalFile() const;
QString activeCalendarFile() const;
bool autoSave() const;
bool logging() const;
int autoSavePeriod() const;
bool promptDelete() const;
QString setPromptDelete( bool prompt );
bool displayColumn(int n) const;
QString userRealName() const;
void emitSignals();
bool readBoolEntry( const QString& uid );
void writeEntry( const QString &key, bool value );
void deleteEntry( const QString &key );
public slots:
void showDialog();
void load();
void save();
signals:
void detectIdleness(bool on);
void idlenessTimeout(int minutes);
void iCalFile(QString);
void autoSave(bool on);
void autoSavePeriod(int minutes);
void setupChanged();
protected slots:
virtual void slotOk();
virtual void slotCancel();
void idleDetectCheckBoxChanged();
void autoSaveCheckBoxChanged();
private:
void makeDisplayPage();
void makeBehaviorPage();
void makeStoragePage();
Preferences( const QString& icsfile = "" );
static Preferences *_instance;
bool _unsavedChanges;
// Widgets
QCheckBox *_doIdleDetectionW, *_doAutoSaveW, *_promptDeleteW;
QCheckBox *_displayTimeW, *_displaySessionW,
*_displayTotalTimeW, *_displayTotalSessionW;
QCheckBox *_loggingW;
QLabel *_idleDetectLabelW, *_displayColumnsLabelW;
QSpinBox *_idleDetectValueW, *_autoSaveValueW;
KURLRequester *_iCalFileW ;
// Values
bool _doIdleDetectionV, _doAutoSaveV, _promptDeleteV, _loggingV;
bool _displayColumnV[4];
int _idleDetectValueV, _autoSaveValueV;
QString _iCalFileV;
/** real name of the user, used during ICAL saving */
QString _userRealName;
};
#endif // KARM_PREFERENCES_H