Mercurial > hg > sonic-visualiser
comparison main/PreferencesDialog.cpp @ 246:ddbde90773b0 spectrogram-cache-rejig
* Merge from trunk
author | Chris Cannam |
---|---|
date | Wed, 27 Feb 2008 11:59:42 +0000 |
parents | 98ba77e0d897 |
children |
comparison
equal
deleted
inserted
replaced
214:37847fc0b381 | 246:ddbde90773b0 |
---|---|
28 #include <QMessageBox> | 28 #include <QMessageBox> |
29 #include <QTabWidget> | 29 #include <QTabWidget> |
30 #include <QLineEdit> | 30 #include <QLineEdit> |
31 #include <QFileDialog> | 31 #include <QFileDialog> |
32 #include <QMessageBox> | 32 #include <QMessageBox> |
33 #include <QSpinBox> | |
33 | 34 |
34 #include "widgets/WindowTypeSelector.h" | 35 #include "widgets/WindowTypeSelector.h" |
35 #include "widgets/IconLoader.h" | 36 #include "widgets/IconLoader.h" |
36 #include "base/Preferences.h" | 37 #include "base/Preferences.h" |
37 | 38 |
142 tempDirButton->setIcon(IconLoader().load("fileopen")); | 143 tempDirButton->setIcon(IconLoader().load("fileopen")); |
143 connect(tempDirButton, SIGNAL(clicked()), | 144 connect(tempDirButton, SIGNAL(clicked()), |
144 this, SLOT(tempDirButtonClicked())); | 145 this, SLOT(tempDirButtonClicked())); |
145 tempDirButton->setFixedSize(QSize(24, 24)); | 146 tempDirButton->setFixedSize(QSize(24, 24)); |
146 | 147 |
148 QCheckBox *showSplash = new QCheckBox; | |
149 m_showSplash = prefs->getShowSplash(); | |
150 showSplash->setCheckState(m_showSplash ? Qt::Checked : Qt::Unchecked); | |
151 connect(showSplash, SIGNAL(stateChanged(int)), | |
152 this, SLOT(showSplashChanged(int))); | |
153 | |
154 #ifndef Q_WS_MAC | |
147 QComboBox *bgMode = new QComboBox; | 155 QComboBox *bgMode = new QComboBox; |
148 int bg = prefs->getPropertyRangeAndValue("Background Mode", &min, &max, | 156 int bg = prefs->getPropertyRangeAndValue("Background Mode", &min, &max, |
149 &deflt); | 157 &deflt); |
150 m_backgroundMode = bg; | 158 m_backgroundMode = bg; |
151 for (i = min; i <= max; ++i) { | 159 for (i = min; i <= max; ++i) { |
153 } | 161 } |
154 bgMode->setCurrentIndex(bg); | 162 bgMode->setCurrentIndex(bg); |
155 | 163 |
156 connect(bgMode, SIGNAL(currentIndexChanged(int)), | 164 connect(bgMode, SIGNAL(currentIndexChanged(int)), |
157 this, SLOT(backgroundModeChanged(int))); | 165 this, SLOT(backgroundModeChanged(int))); |
166 #endif | |
167 | |
168 QSpinBox *fontSize = new QSpinBox; | |
169 int fs = prefs->getPropertyRangeAndValue("View Font Size", &min, &max, | |
170 &deflt); | |
171 m_viewFontSize = fs; | |
172 fontSize->setMinimum(min); | |
173 fontSize->setMaximum(max); | |
174 fontSize->setSuffix(" pt"); | |
175 fontSize->setSingleStep(1); | |
176 fontSize->setValue(fs); | |
177 | |
178 connect(fontSize, SIGNAL(valueChanged(int)), | |
179 this, SLOT(viewFontSizeChanged(int))); | |
158 | 180 |
159 // General tab | 181 // General tab |
160 | 182 |
161 QFrame *frame = new QFrame; | 183 QFrame *frame = new QFrame; |
162 | 184 |
168 subgrid->addWidget(new QLabel(tr("%1:").arg(prefs->getPropertyLabel | 190 subgrid->addWidget(new QLabel(tr("%1:").arg(prefs->getPropertyLabel |
169 ("Property Box Layout"))), | 191 ("Property Box Layout"))), |
170 row, 0); | 192 row, 0); |
171 subgrid->addWidget(propertyLayout, row++, 1, 1, 2); | 193 subgrid->addWidget(propertyLayout, row++, 1, 1, 2); |
172 | 194 |
195 #ifndef Q_WS_MAC | |
173 subgrid->addWidget(new QLabel(tr("%1:").arg(prefs->getPropertyLabel | 196 subgrid->addWidget(new QLabel(tr("%1:").arg(prefs->getPropertyLabel |
174 ("Background Mode"))), | 197 ("Background Mode"))), |
175 row, 0); | 198 row, 0); |
176 subgrid->addWidget(bgMode, row++, 1, 1, 2); | 199 subgrid->addWidget(bgMode, row++, 1, 1, 2); |
177 | 200 #endif |
178 subgrid->addWidget(new QLabel(tr("%1:").arg(prefs->getPropertyLabel | 201 |
179 ("Resample On Load"))), | 202 subgrid->addWidget(new QLabel(tr("%1:").arg(prefs->getPropertyLabel |
180 row, 0); | 203 ("View Font Size"))), |
181 subgrid->addWidget(resampleOnLoad, row++, 1, 1, 1); | 204 row, 0); |
182 | 205 subgrid->addWidget(fontSize, row++, 1, 1, 2); |
183 subgrid->addWidget(new QLabel(tr("%1:").arg(prefs->getPropertyLabel | 206 |
184 ("Resample Quality"))), | 207 subgrid->addWidget(new QLabel(tr("%1:").arg(prefs->getPropertyLabel |
185 row, 0); | 208 ("Show Splash Screen"))), |
186 subgrid->addWidget(resampleQuality, row++, 1, 1, 2); | 209 row, 0); |
210 subgrid->addWidget(showSplash, row++, 1, 1, 1); | |
187 | 211 |
188 subgrid->addWidget(new QLabel(tr("%1:").arg(prefs->getPropertyLabel | 212 subgrid->addWidget(new QLabel(tr("%1:").arg(prefs->getPropertyLabel |
189 ("Temporary Directory Root"))), | 213 ("Temporary Directory Root"))), |
190 row, 0); | 214 row, 0); |
191 subgrid->addWidget(m_tempDirRootEdit, row, 1, 1, 1); | 215 subgrid->addWidget(m_tempDirRootEdit, row, 1, 1, 1); |
192 subgrid->addWidget(tempDirButton, row, 2, 1, 1); | 216 subgrid->addWidget(tempDirButton, row, 2, 1, 1); |
193 row++; | 217 row++; |
218 | |
219 subgrid->addWidget(new QLabel(tr("%1:").arg(prefs->getPropertyLabel | |
220 ("Resample On Load"))), | |
221 row, 0); | |
222 subgrid->addWidget(resampleOnLoad, row++, 1, 1, 1); | |
223 | |
224 subgrid->addWidget(new QLabel(tr("%1:").arg(prefs->getPropertyLabel | |
225 ("Resample Quality"))), | |
226 row, 0); | |
227 subgrid->addWidget(resampleQuality, row++, 1, 1, 2); | |
194 | 228 |
195 subgrid->setRowStretch(row, 10); | 229 subgrid->setRowStretch(row, 10); |
196 | 230 |
197 tab->addTab(frame, tr("&General")); | 231 tab->addTab(frame, tr("&General")); |
198 | 232 |
286 m_applyButton->setEnabled(true); | 320 m_applyButton->setEnabled(true); |
287 m_changesOnRestart = true; | 321 m_changesOnRestart = true; |
288 } | 322 } |
289 | 323 |
290 void | 324 void |
325 PreferencesDialog::showSplashChanged(int state) | |
326 { | |
327 m_showSplash = (state == Qt::Checked); | |
328 m_applyButton->setEnabled(true); | |
329 m_changesOnRestart = true; | |
330 } | |
331 | |
332 void | |
291 PreferencesDialog::tempDirRootChanged(QString r) | 333 PreferencesDialog::tempDirRootChanged(QString r) |
292 { | 334 { |
293 m_tempDirRoot = r; | 335 m_tempDirRoot = r; |
294 m_applyButton->setEnabled(true); | 336 m_applyButton->setEnabled(true); |
295 } | 337 } |
310 PreferencesDialog::backgroundModeChanged(int mode) | 352 PreferencesDialog::backgroundModeChanged(int mode) |
311 { | 353 { |
312 m_backgroundMode = mode; | 354 m_backgroundMode = mode; |
313 m_applyButton->setEnabled(true); | 355 m_applyButton->setEnabled(true); |
314 m_changesOnRestart = true; | 356 m_changesOnRestart = true; |
357 } | |
358 | |
359 void | |
360 PreferencesDialog::viewFontSizeChanged(int sz) | |
361 { | |
362 m_viewFontSize = sz; | |
363 m_applyButton->setEnabled(true); | |
315 } | 364 } |
316 | 365 |
317 void | 366 void |
318 PreferencesDialog::okClicked() | 367 PreferencesDialog::okClicked() |
319 { | 368 { |
331 prefs->setPropertyBoxLayout(Preferences::PropertyBoxLayout | 380 prefs->setPropertyBoxLayout(Preferences::PropertyBoxLayout |
332 (m_propertyLayout)); | 381 (m_propertyLayout)); |
333 prefs->setTuningFrequency(m_tuningFrequency); | 382 prefs->setTuningFrequency(m_tuningFrequency); |
334 prefs->setResampleQuality(m_resampleQuality); | 383 prefs->setResampleQuality(m_resampleQuality); |
335 prefs->setResampleOnLoad(m_resampleOnLoad); | 384 prefs->setResampleOnLoad(m_resampleOnLoad); |
385 prefs->setShowSplash(m_showSplash); | |
336 prefs->setTemporaryDirectoryRoot(m_tempDirRoot); | 386 prefs->setTemporaryDirectoryRoot(m_tempDirRoot); |
337 prefs->setBackgroundMode(Preferences::BackgroundMode(m_backgroundMode)); | 387 prefs->setBackgroundMode(Preferences::BackgroundMode(m_backgroundMode)); |
388 prefs->setViewFontSize(m_viewFontSize); | |
338 | 389 |
339 m_applyButton->setEnabled(false); | 390 m_applyButton->setEnabled(false); |
340 | 391 |
341 if (m_changesOnRestart) { | 392 if (m_changesOnRestart) { |
342 QMessageBox::information(this, tr("Preferences"), | 393 QMessageBox::information(this, tr("Preferences"), |