diff options
author | Dominik Riebeling <Dominik.Riebeling@gmail.com> | 2012-06-14 22:36:54 +0200 |
---|---|---|
committer | Dominik Riebeling <Dominik.Riebeling@gmail.com> | 2012-06-14 22:54:30 +0200 |
commit | 537dfe482fc0378151406ee37a98c99283b5a3f0 (patch) | |
tree | ecbc4c0915092ad4ca76bf03364562449695876a /rbutil/rbutilqt/installtalkwindow.cpp | |
parent | a9217bde2749df65d2f59fb63bf1622096263e4f (diff) | |
download | rockbox-537dfe482fc0378151406ee37a98c99283b5a3f0.tar.gz rockbox-537dfe482fc0378151406ee37a98c99283b5a3f0.zip |
Save all settings in talkfile dialog.
Save settings that haven't been and rename the configuration file value for the
talked folder. Since the folder was replaced with a list we can't use the old
value anymore so there's no need to keep a name that's not really suitable
anymore.
Solves FS#12634.
Change-Id: I8db2a536409b94c45f28db9418a11f11f57dfacb
Diffstat (limited to 'rbutil/rbutilqt/installtalkwindow.cpp')
-rw-r--r-- | rbutil/rbutilqt/installtalkwindow.cpp | 58 |
1 files changed, 40 insertions, 18 deletions
diff --git a/rbutil/rbutilqt/installtalkwindow.cpp b/rbutil/rbutilqt/installtalkwindow.cpp index f2e042e2a5..dedb19cb38 100644 --- a/rbutil/rbutilqt/installtalkwindow.cpp +++ b/rbutil/rbutilqt/installtalkwindow.cpp | |||
@@ -50,12 +50,8 @@ InstallTalkWindow::InstallTalkWindow(QWidget *parent) : QDialog(parent) | |||
50 | } | 50 | } |
51 | 51 | ||
52 | 52 | ||
53 | void InstallTalkWindow::change() | 53 | void InstallTalkWindow::saveSettings(void) |
54 | { | 54 | { |
55 | Config *cw = new Config(this, 4); | ||
56 | |||
57 | // make sure the current selected folder doesn't get lost on settings | ||
58 | // changes. | ||
59 | QModelIndexList si = ui.treeView->selectionModel()->selectedIndexes(); | 55 | QModelIndexList si = ui.treeView->selectionModel()->selectedIndexes(); |
60 | QStringList foldersToTalk; | 56 | QStringList foldersToTalk; |
61 | for(int i = 0; i < si.size(); i++) { | 57 | for(int i = 0; i < si.size(); i++) { |
@@ -63,7 +59,26 @@ void InstallTalkWindow::change() | |||
63 | foldersToTalk.append(fsm->filePath(si.at(i))); | 59 | foldersToTalk.append(fsm->filePath(si.at(i))); |
64 | } | 60 | } |
65 | } | 61 | } |
66 | RbSettings::setValue(RbSettings::LastTalkedFolder, foldersToTalk); | 62 | RbSettings::setValue(RbSettings::TalkFolders, foldersToTalk); |
63 | |||
64 | RbSettings::setValue(RbSettings::TalkSkipExisting, ui.GenerateOnlyNew->isChecked()); | ||
65 | RbSettings::setValue(RbSettings::TalkRecursive, ui.recursive->isChecked()); | ||
66 | RbSettings::setValue(RbSettings::TalkStripExtensions, ui.StripExtensions->isChecked()); | ||
67 | RbSettings::setValue(RbSettings::TalkProcessFolders, ui.talkFolders->isChecked()); | ||
68 | RbSettings::setValue(RbSettings::TalkProcessFiles, ui.talkFiles->isChecked()); | ||
69 | RbSettings::setValue(RbSettings::TalkIgnoreWildcards, ui.ignoreFiles->text()); | ||
70 | RbSettings::setValue(RbSettings::TalkIgnoreFiles, ui.ignoreEnabled->isChecked()); | ||
71 | |||
72 | RbSettings::sync(); | ||
73 | } | ||
74 | |||
75 | |||
76 | void InstallTalkWindow::change() | ||
77 | { | ||
78 | Config *cw = new Config(this, 4); | ||
79 | |||
80 | // make sure the current selected folder doesn't get lost on settings | ||
81 | // changes. | ||
67 | connect(cw, SIGNAL(settingsUpdated()), this, SLOT(updateSettings())); | 82 | connect(cw, SIGNAL(settingsUpdated()), this, SLOT(updateSettings())); |
68 | 83 | ||
69 | cw->show(); | 84 | cw->show(); |
@@ -73,19 +88,10 @@ void InstallTalkWindow::accept() | |||
73 | { | 88 | { |
74 | logger = new ProgressLoggerGui(this); | 89 | logger = new ProgressLoggerGui(this); |
75 | 90 | ||
76 | QModelIndexList si = ui.treeView->selectionModel()->selectedIndexes(); | 91 | saveSettings(); |
77 | QStringList foldersToTalk; | ||
78 | for(int i = 0; i < si.size(); i++) { | ||
79 | if(si.at(i).column() == 0) { | ||
80 | foldersToTalk.append(fsm->filePath(si.at(i))); | ||
81 | } | ||
82 | } | ||
83 | connect(logger,SIGNAL(closed()),this,SLOT(close())); | 92 | connect(logger,SIGNAL(closed()),this,SLOT(close())); |
84 | logger->show(); | 93 | logger->show(); |
85 | 94 | saveSettings(); | |
86 | RbSettings::setValue(RbSettings::LastTalkedFolder, foldersToTalk); | ||
87 | |||
88 | RbSettings::sync(); | ||
89 | 95 | ||
90 | talkcreator->setMountPoint(RbSettings::value(RbSettings::Mountpoint).toString()); | 96 | talkcreator->setMountPoint(RbSettings::value(RbSettings::Mountpoint).toString()); |
91 | 97 | ||
@@ -101,6 +107,8 @@ void InstallTalkWindow::accept() | |||
101 | connect(talkcreator, SIGNAL(logProgress(int, int)), logger, SLOT(setProgress(int, int))); | 107 | connect(talkcreator, SIGNAL(logProgress(int, int)), logger, SLOT(setProgress(int, int))); |
102 | connect(logger,SIGNAL(aborted()),talkcreator,SLOT(abort())); | 108 | connect(logger,SIGNAL(aborted()),talkcreator,SLOT(abort())); |
103 | 109 | ||
110 | QStringList foldersToTalk | ||
111 | = RbSettings::value(RbSettings::TalkFolders).toStringList(); | ||
104 | for(int i = 0; i < foldersToTalk.size(); i++) { | 112 | for(int i = 0; i < foldersToTalk.size(); i++) { |
105 | talkcreator->setDir(QDir(foldersToTalk.at(i))); | 113 | talkcreator->setDir(QDir(foldersToTalk.at(i))); |
106 | talkcreator->createTalkFiles(); | 114 | talkcreator->createTalkFiles(); |
@@ -119,7 +127,7 @@ void InstallTalkWindow::updateSettings(void) | |||
119 | ui.labelTtsProfile->setText(tr("<b>%1</b>") | 127 | ui.labelTtsProfile->setText(tr("<b>%1</b>") |
120 | .arg("Invalid TTS configuration!")); | 128 | .arg("Invalid TTS configuration!")); |
121 | 129 | ||
122 | QStringList folders = RbSettings::value(RbSettings::LastTalkedFolder).toStringList(); | 130 | QStringList folders = RbSettings::value(RbSettings::TalkFolders).toStringList(); |
123 | for(int i = 0; i < folders.size(); ++i) { | 131 | for(int i = 0; i < folders.size(); ++i) { |
124 | QModelIndex mi = fsm->index(folders.at(i)); | 132 | QModelIndex mi = fsm->index(folders.at(i)); |
125 | ui.treeView->selectionModel()->select(mi, QItemSelectionModel::Select); | 133 | ui.treeView->selectionModel()->select(mi, QItemSelectionModel::Select); |
@@ -128,6 +136,20 @@ void InstallTalkWindow::updateSettings(void) | |||
128 | ui.treeView->setExpanded(mi, true); | 136 | ui.treeView->setExpanded(mi, true); |
129 | } | 137 | } |
130 | } | 138 | } |
139 | ui.GenerateOnlyNew->setChecked( | ||
140 | RbSettings::value(RbSettings::TalkSkipExisting).toBool()); | ||
141 | ui.recursive->setChecked( | ||
142 | RbSettings::value(RbSettings::TalkRecursive).toBool()); | ||
143 | ui.StripExtensions->setChecked( | ||
144 | RbSettings::value(RbSettings::TalkStripExtensions).toBool()); | ||
145 | ui.talkFolders->setChecked( | ||
146 | RbSettings::value(RbSettings::TalkProcessFolders).toBool()); | ||
147 | ui.talkFiles->setChecked( | ||
148 | RbSettings::value(RbSettings::TalkProcessFiles).toBool()); | ||
149 | ui.ignoreFiles->setText( | ||
150 | RbSettings::value(RbSettings::TalkIgnoreWildcards).toString()); | ||
151 | ui.ignoreEnabled->setChecked( | ||
152 | RbSettings::value(RbSettings::TalkIgnoreFiles).toBool()); | ||
131 | 153 | ||
132 | emit settingsUpdated(); | 154 | emit settingsUpdated(); |
133 | } | 155 | } |