History

Merge remote-tracking branch 'upstream/master' into 19554-2

Ryan Huffman committed 12 years ago

Commit 2de98482 parents 23d68d5 bd37a7520 files · +347 −84Browse files

Showing the changes to interface/src/ui/PreferencesDialog.cpp (1 of 20 files). Show all

Unified · Split

interface/src/ui/PreferencesDialog.cpp+18−0
@@ -28,6 +28,7 @@ PreferencesDialog::PreferencesDialog(QWidget* parent, Qt::WindowFlags flags) : F · 27 unmodified lines
2828
2929 connect(ui.buttonBrowseHead, &QPushButton::clicked, this, &PreferencesDialog::openHeadModelBrowser);
3030 connect(ui.buttonBrowseBody, &QPushButton::clicked, this, &PreferencesDialog::openBodyModelBrowser);
31+ connect(ui.buttonBrowseLocation, &QPushButton::clicked, this, &PreferencesDialog::openSnapshotLocationBrowser);
3132 }
3233
3334 void PreferencesDialog::accept() {
@@ -59,6 +60,17 @@ void PreferencesDialog::openBodyModelBrowser() { · 25 unmodified lines
5960 modelBrowser.browse();
6061 }
6162
63+void PreferencesDialog::openSnapshotLocationBrowser() {
64+ setWindowFlags(windowFlags() & ~Qt::WindowStaysOnTopHint);
65+ QString dir = QFileDialog::getExistingDirectory(this, tr("Snapshots Location"),
66+ QStandardPaths::writableLocation(QStandardPaths::DesktopLocation),
67+ QFileDialog::ShowDirsOnly | QFileDialog::DontResolveSymlinks);
68+ if (!dir.isNull() && !dir.isEmpty()) {
69+ ui.snapshotLocationEdit->setText(dir);
70+ }
71+ setWindowFlags(windowFlags() | Qt::WindowStaysOnTopHint);
72+}
73+
6274 void PreferencesDialog::resizeEvent(QResizeEvent *resizeEvent) {
6375
6476 // keep buttons panel at the bottom
@@ -94,6 +106,8 @@ void PreferencesDialog::loadPreferences() { · 29 unmodified lines
94106 _skeletonURLString = myAvatar->getSkeletonModel().getURL().toString();
95107 ui.skeletonURLEdit->setText(_skeletonURLString);
96108
109+ ui.snapshotLocationEdit->setText(menuInstance->getSnapshotsLocation());
110+
97111 ui.pupilDilationSlider->setValue(myAvatar->getHead()->getPupilDilation() *
98112 ui.pupilDilationSlider->maximum());
99113
@@ -143,6 +157,10 @@ void PreferencesDialog::savePreferences() { · 43 unmodified lines
143157 Application::getInstance()->bumpSettings();
144158 }
145159
160+ if (!ui.snapshotLocationEdit->text().isEmpty() && QDir(ui.snapshotLocationEdit->text()).exists()) {
161+ Menu::getInstance()->setSnapshotsLocation(ui.snapshotLocationEdit->text());
162+ }
163+
146164 myAvatar->getHead()->setPupilDilation(ui.pupilDilationSlider->value() / (float)ui.pupilDilationSlider->maximum());
147165 myAvatar->setLeanScale(ui.leanScaleSpin->value());
148166 myAvatar->setClampedTargetScale(ui.avatarScaleSpin->value());