From d78f7d70bff8c8edd61a1f87e26cf84e86d8f6a1 Mon Sep 17 00:00:00 2001 From: Hugo Beauzee-Luyssen Date: Sun, 20 Dec 2009 13:14:30 +0100 Subject: [PATCH] Added automatic backup and automatic backup interval to the GUI --- src/Configuration/VLMCSettingsDefault.cpp | 8 +-- src/GUI/settings/VLMCPreferences.cpp | 32 ++++++++++-- src/GUI/settings/VLMCPreferences.h | 8 ++- src/GUI/settings/ui/VLMCPreferences.ui | 63 +++++++++++++++++++++-- 4 files changed, 97 insertions(+), 14 deletions(-) diff --git a/src/Configuration/VLMCSettingsDefault.cpp b/src/Configuration/VLMCSettingsDefault.cpp index e3d13c605..ee504078e 100644 --- a/src/Configuration/VLMCSettingsDefault.cpp +++ b/src/Configuration/VLMCSettingsDefault.cpp @@ -39,17 +39,17 @@ void VLMCSettingsDefault::load( const QString& part ) void VLMCSettingsDefault::loadVLMCDefaults( const QString& part ) { SettingsManager* settingsMan = SettingsManager::getInstance(); - QVariant defaultOutputPFS = "30"; - QVariant defaultTrackNb = "64"; settingsMan->setValue( part, - "VLMCOutPutFPS", defaultOutputPFS ); + "VLMCOutPutFPS", "30" ); settingsMan->setValue( part, "VLMCTracksNb", - defaultTrackNb ); + "64" ); settingsMan->setValue( part, "VLMCWorkspace", QDir::homePath() ); + settingsMan->setValue( part, "AutomaticBackup", true ); + settingsMan->setValue( part, "AutomaticBackupInterval", 5 ); return ; } diff --git a/src/GUI/settings/VLMCPreferences.cpp b/src/GUI/settings/VLMCPreferences.cpp index fb9bc4487..5cc037989 100644 --- a/src/GUI/settings/VLMCPreferences.cpp +++ b/src/GUI/settings/VLMCPreferences.cpp @@ -29,21 +29,41 @@ VLMCPreferences::VLMCPreferences( QWidget *parent ) : PreferenceWidget( parent ) { m_ui.setupUi(this); + setAutomaticSaveLabelVisiblity( m_ui.automaticSave->isChecked() ); + connect( m_ui.automaticSave, SIGNAL( stateChanged(int) ), this, SLOT( setAutomaticSaveLabelVisiblity( int ) ) ); } -VLMCPreferences::~VLMCPreferences() { } +VLMCPreferences::~VLMCPreferences() +{ +} + +void VLMCPreferences::setAutomaticSaveLabelVisiblity( int visible ) +{ + setAutomaticSaveLabelVisiblity( visible != 0 ); +} + +void VLMCPreferences::setAutomaticSaveLabelVisiblity( bool visible ) +{ + m_ui.automaticSaveInterval->setVisible( visible ); + m_ui.automaticSaveIntervalLabel->setVisible( visible ); + m_ui.minutesLabel->setVisible( visible ); +} void VLMCPreferences::load() { SettingsManager* settMan = SettingsManager::getInstance(); const QString& part = m_defaults ? "default" : m_settName; - QString outputFPS = settMan->getValue( part, "VLMCOutPutFPS" )->get().toString(); - QString tracksNb = settMan->getValue( part, "VLMCTracksNb" )->get().toString(); + QString outputFPS = settMan->getValue( part, "VLMCOutPutFPS" )->get().toString(); + QString tracksNb = settMan->getValue( part, "VLMCTracksNb" )->get().toString(); + bool autoSave = settMan->getValue( part, "AutomaticBackup" )->get().toBool(); + QString autoSaveInterval = settMan->getValue( part, "AutomaticBackupInterval" )->get().toString(); m_ui.outputFPS->setText( outputFPS ); m_ui.tracksNb->setText( tracksNb ); - + m_ui.automaticSave->setChecked( autoSave ); + m_ui.automaticSaveInterval->setText( autoSaveInterval ); + setAutomaticSaveLabelVisiblity( autoSave ); } void VLMCPreferences::save() @@ -51,7 +71,11 @@ void VLMCPreferences::save() SettingsManager* settMan = SettingsManager::getInstance(); QVariant outputFPS( m_ui.outputFPS->text() ); QVariant tracksNb( m_ui.tracksNb->text() ); + QVariant autoSave( m_ui.automaticSave->isChecked() ); + QVariant autoSaveInterval( m_ui.automaticSaveInterval->text() ); settMan->setValue( m_settName, "VLMCOutPutFPS", outputFPS ); settMan->setValue( m_settName, "VLMCTracksNb", tracksNb ); + settMan->setValue( m_settName, "AutomaticBackup", autoSave ); + settMan->setValue( m_settName, "AutomaticBackupInterval", autoSaveInterval ); } diff --git a/src/GUI/settings/VLMCPreferences.h b/src/GUI/settings/VLMCPreferences.h index a7c287919..cf28e9f3a 100644 --- a/src/GUI/settings/VLMCPreferences.h +++ b/src/GUI/settings/VLMCPreferences.h @@ -30,12 +30,18 @@ class VLMCPreferences : public PreferenceWidget { - //Q_OBJECT + Q_OBJECT + public: VLMCPreferences( QWidget *parent = 0 ); ~VLMCPreferences(); void load(); void save(); + + private slots: + void setAutomaticSaveLabelVisiblity( bool visible ); + void setAutomaticSaveLabelVisiblity( int visible ); + private: Ui::VLMCPreferences m_ui; }; diff --git a/src/GUI/settings/ui/VLMCPreferences.ui b/src/GUI/settings/ui/VLMCPreferences.ui index f1d877ede..38353ec8a 100644 --- a/src/GUI/settings/ui/VLMCPreferences.ui +++ b/src/GUI/settings/ui/VLMCPreferences.ui @@ -6,8 +6,8 @@ 0 0 - 400 - 140 + 415 + 304 @@ -21,7 +21,7 @@ - + 25 @@ -38,7 +38,7 @@ - + 64 @@ -48,7 +48,7 @@ - + Qt::Horizontal @@ -61,6 +61,59 @@ + + + + Automatic save + + + + + + + + + + true + + + + + + + + 0 + 0 + + + + Automatic save interval + + + + + + + QLayout::SetDefaultConstraint + + + + + + + + + 0 + 0 + + + + minutes + + + + + -- GitLab