From 454ca25f110c8a643e9437990cc9da052adaebff Mon Sep 17 00:00:00 2001 From: Juan Carlos Cornejo Date: Wed, 14 Dec 2011 12:01:04 -0500 Subject: [PATCH] Consolidated all menu configuration into one screen. All are now in the configurations window. --- owncloud_sync_qt/OwnCloudSync.cpp | 6 + owncloud_sync_qt/OwnCloudSync.h | 1 + owncloud_sync_qt/SyncWindow.cpp | 57 ++++++-- owncloud_sync_qt/SyncWindow.h | 6 + owncloud_sync_qt/SyncWindow.ui | 211 +++++++++++++++++++++--------- 5 files changed, 208 insertions(+), 73 deletions(-) diff --git a/owncloud_sync_qt/OwnCloudSync.cpp b/owncloud_sync_qt/OwnCloudSync.cpp index 9c0c284de..241ce861f 100644 --- a/owncloud_sync_qt/OwnCloudSync.cpp +++ b/owncloud_sync_qt/OwnCloudSync.cpp @@ -139,6 +139,12 @@ OwnCloudSync::OwnCloudSync(QString name, WId id,QSet *globalFilters) #endif } +void OwnCloudSync::setSaveDBTime(qint64 seconds) +{ + mSaveDBTimer->stop(); + mSaveDBTimer->start(seconds*1000); +} + void OwnCloudSync::setEnabled( bool enabled) { mIsEnabled = enabled; diff --git a/owncloud_sync_qt/OwnCloudSync.h b/owncloud_sync_qt/OwnCloudSync.h index aec9a0cb1..d3cc477f9 100644 --- a/owncloud_sync_qt/OwnCloudSync.h +++ b/owncloud_sync_qt/OwnCloudSync.h @@ -90,6 +90,7 @@ public: void removeFilter(QString filter); void hardStop(); void deleteAccount(); + void setSaveDBTime(qint64 seconds); void pause() { mIsPaused = true; } void resume() { mIsPaused = false; diff --git a/owncloud_sync_qt/SyncWindow.cpp b/owncloud_sync_qt/SyncWindow.cpp index 79822d29b..fec1e0d7c 100644 --- a/owncloud_sync_qt/SyncWindow.cpp +++ b/owncloud_sync_qt/SyncWindow.cpp @@ -126,7 +126,7 @@ SyncWindow::SyncWindow(QWidget *parent) : updateStatus(); ui->actionEnable_Delete_Account->setVisible(false); - if( mAccounts.size() > 0 && ui->actionHide_on_start->isChecked() ) { + if( mAccounts.size() > 0 && mHideOnStart ) { hide(); } else { show(); @@ -302,7 +302,7 @@ void SyncWindow::on_buttonSave_clicked() void SyncWindow::closeEvent(QCloseEvent *event) { - if(mQuitAction || !ui->actionClose_Button_Hides_Window->isChecked()) { + if(mQuitAction || !mHideOnClose) { // Ask the user for confirmation before closing! QMessageBox box(this); box.setText(tr("Are you sure you want to quit? " @@ -574,7 +574,7 @@ void SyncWindow::processNextStep() mBusy = false; updateStatus(); } - if(mTotalSyncs%1000 == 0 ) { + if(mTotalSyncs%mSaveLogCounter == 0 ) { saveLogs(); } } @@ -712,10 +712,11 @@ void SyncWindow::saveApplicationSettings() { QSettings settings("paintblack.com","OwnCloud Sync"); settings.beginGroup("SyncWindow"); - settings.setValue("hide_on_start",ui->actionHide_on_start->isChecked()); - settings.setValue("hide_when_closed", - ui->actionClose_Button_Hides_Window->isChecked()); + settings.setValue("hide_on_start",mHideOnStart); + settings.setValue("hide_when_closed",mHideOnClose); settings.setValue("display_debug",mDisplayDebug); + settings.setValue("save_log_count",mSaveLogCounter); + settings.setValue("save_db_time",mSaveDBTime); settings.setValue("last_run_version",_OCS_VERSION); settings.endGroup(); settings.beginGroup("DisabledIncludedFilters"); @@ -733,13 +734,12 @@ void SyncWindow::loadApplicationSettings() { QSettings settings("paintblack.com","OwnCloud Sync"); settings.beginGroup("SyncWindow"); - bool checked = settings.value("hide_on_start").toBool(); - ui->actionHide_on_start->setChecked(checked); - ui->actionClose_Button_Hides_Window->setChecked( - settings.value("hide_when_closed").toBool()); - mDisplayDebug = settings.value("display_debug").toBool(); - ui->actionDisplay_Debug_Messages->setChecked(mDisplayDebug); - QString lastRunVersion = settings.value("last_run_version").toString(); + mHideOnStart = settings.value("hide_on_start",true).toBool(); + mHideOnClose = settings.value("hide_when_closed",true).toBool(); + mDisplayDebug = settings.value("display_debug",false).toBool(); + mSaveLogCounter = settings.value("save_log_count",1000).toLongLong(); + mSaveDBTime = settings.value("save_db_time",370).toLongLong(); + QString lastRunVersion = settings.value("last_run_version","").toString(); if( lastRunVersion != _OCS_VERSION ) { // Need to display what's new // message displayWhatsNew(); @@ -751,6 +751,9 @@ void SyncWindow::loadApplicationSettings() !settings.value(mIncludedFilters[i].name).toBool(); } settings.endGroup(); + + // Now update the configuration + on_configurationBox_rejected(); } void SyncWindow::on_actionEnable_Delete_Account_triggered() @@ -1041,3 +1044,31 @@ void SyncWindow::displayWhatsNew() "- Selection of common filters
"), QMessageBox::Ok); } + +void SyncWindow::on_configurationBox_accepted() +{ + mSaveLogCounter = ui->spinSaveLogs->value(); + mSaveDBTime = ui->spinSaveDB->value(); + mHideOnClose = ui->checkCloseButton->isChecked(); + mDisplayDebug = ui->checkShowDebug->isChecked(); + mHideOnStart = ui->checkHideOnStart->isChecked(); + for(int i = 0; i < mAccounts.size(); i++ ) { + mAccounts[i]->setSaveDBTime(mSaveDBTime); + } + + // Finally return to the main window + ui->stackedWidget->setCurrentIndex(0); +} + +void SyncWindow::on_configurationBox_rejected() +{ + // Reset the GUI + ui->spinSaveLogs->setValue(mSaveLogCounter); + ui->spinSaveDB->setValue(mSaveDBTime); + ui->checkCloseButton->setChecked(mHideOnClose); + ui->checkShowDebug->setChecked(mDisplayDebug); + ui->checkHideOnStart->setChecked(mHideOnStart); + + // Finally return to the main window + ui->stackedWidget->setCurrentIndex(0); +} diff --git a/owncloud_sync_qt/SyncWindow.h b/owncloud_sync_qt/SyncWindow.h index e664fe421..31ed0a8dc 100644 --- a/owncloud_sync_qt/SyncWindow.h +++ b/owncloud_sync_qt/SyncWindow.h @@ -93,6 +93,10 @@ private: QQueue mAccountsReadyToSync; bool mQuitAction; bool mDisplayDebug; + bool mHideOnStart; + bool mHideOnClose; + qint64 mSaveLogCounter; + qint64 mSaveDBTime; QIcon mDefaultIcon; QIcon mSyncIcon; @@ -182,6 +186,8 @@ private slots: void on_buttonGlobalFilterRemove_clicked(); void on_buttonImport_clicked(); void on_buttonExport_clicked(); + void on_configurationBox_accepted(); + void on_configurationBox_rejected(); }; // Now create a global filter list diff --git a/owncloud_sync_qt/SyncWindow.ui b/owncloud_sync_qt/SyncWindow.ui index eb8429521..a1c3eee60 100644 --- a/owncloud_sync_qt/SyncWindow.ui +++ b/owncloud_sync_qt/SyncWindow.ui @@ -14,8 +14,8 @@ SyncWindow - - + + 0 @@ -624,22 +624,6 @@ p, li { white-space: pre-wrap; } 0 - - - - Return to Main Window - - - false - - - false - - - false - - - @@ -652,51 +636,145 @@ p, li { white-space: pre-wrap; } - 1 + 0 - false + true Configure - - - - - - - - Save database every - - - - - - - seconds. - - - - - - - Save and clear log every - - - - - - - - - - syncs. - - - - + + + + 0 + 10 + 361 + 91 + + + + + 0 + 0 + + + + QFrame::StyledPanel + + + QFrame::Raised + + + + + + Save database every + + + + + + + seconds. + + + + + + + Save and clear log every + + + + + + + syncs. + + + + + + + 99999999 + + + 1000 + + + + + + + 2593000 + + + 370 + + + + + + + + + 0 + 100 + 361 + 85 + + + + QFrame::StyledPanel + + + QFrame::Raised + + + + + + Hide on start + + + true + + + + + + + Close button hides window + + + true + + + + + + + Display Debug Messages + + + + + + + + + 100 + 190 + 167 + 25 + + + + QDialogButtonBox::Cancel|QDialogButtonBox::Ok + + @@ -801,7 +879,7 @@ p, li { white-space: pre-wrap; } - + @@ -866,6 +944,22 @@ p, li { white-space: pre-wrap; } + + + + Return to Main Window + + + false + + + false + + + false + + + @@ -891,10 +985,7 @@ p, li { white-space: pre-wrap; } - - -