summaryrefslogtreecommitdiff
path: root/rbutil/rbutilqt/installtalkwindow.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'rbutil/rbutilqt/installtalkwindow.cpp')
-rw-r--r--rbutil/rbutilqt/installtalkwindow.cpp58
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
53void InstallTalkWindow::change() 53void 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
76void 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}