comparison main/PreferencesDialog.cpp @ 245:fc542303eda2 1.2-stable

* merge from trunk (1.2 ended up being tracked from trunk, but we may want this branch for fixes later)
author Chris Cannam
date Wed, 27 Feb 2008 10:32:45 +0000
parents 98ba77e0d897
children
comparison
equal deleted inserted replaced
223:35e438b612ff 245:fc542303eda2
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"),