diff --git a/interface/CMakeLists.txt b/interface/CMakeLists.txt index 29943eb4cb..4e58d898af 100644 --- a/interface/CMakeLists.txt +++ b/interface/CMakeLists.txt @@ -74,11 +74,6 @@ file (GLOB_RECURSE QT_UI_FILES ui/*.ui) # have qt5 wrap them and generate the appropriate header files qt5_wrap_ui(QT_UI_HEADERS "${QT_UI_FILES}") -# grab the resource files in resources -file (GLOB_RECURSE QT_RESOURCE_FILES resources/*.qrc) -# have qt5 wrap them and generate the appropriate source files -qt5_add_resources(QT_RESOURCES "${QT_RESOURCE_FILES}") - # add them to the interface source files set(INTERFACE_SRCS ${INTERFACE_SRCS} "${QT_UI_HEADERS}" "${QT_RESOURCES}") diff --git a/interface/resources/resources.qrc b/interface/resources/resources.qrc deleted file mode 100644 index 196c71b743..0000000000 --- a/interface/resources/resources.qrc +++ /dev/null @@ -1,11 +0,0 @@ - - - styles/search.svg - images/close.svg - images/kill-script.svg - images/reload.svg - images/stop.svg - images/pin.svg - images/pinned.svg - - diff --git a/interface/src/Application.cpp b/interface/src/Application.cpp index a7f2d7d7ec..9e812ac954 100644 --- a/interface/src/Application.cpp +++ b/interface/src/Application.cpp @@ -251,6 +251,7 @@ Application::Application(int& argc, char** argv, timeval &startup_time) : QMetaObject::invokeMethod(&accountManager, "checkAndSignalForAccessToken", Qt::QueuedConnection); _settings = new QSettings(this); + _numChangedSettings = 0; // Check to see if the user passed in a command line option for loading a local // Voxel File. @@ -407,6 +408,7 @@ void Application::saveSettings() { _voxelImporter->saveSettings(_settings); } _settings->sync(); + _numChangedSettings = 0; } @@ -1322,6 +1324,9 @@ void Application::idle() { // After finishing all of the above work, restart the idle timer, allowing 2ms to process events. idleTimer->start(2); } + if (_numChangedSettings > 0) { + saveSettings(); + } } } @@ -1668,6 +1673,7 @@ void Application::init() { connect(_rearMirrorTools, SIGNAL(restoreView()), SLOT(restoreMirrorView())); connect(_rearMirrorTools, SIGNAL(shrinkView()), SLOT(shrinkMirrorView())); connect(_rearMirrorTools, SIGNAL(resetView()), SLOT(resetSensors())); + connect(_myAvatar, SIGNAL(transformChanged()), this, SLOT(bumpSettings())); } void Application::closeMirrorView() { diff --git a/interface/src/Application.h b/interface/src/Application.h index ed269226fe..6a14788caa 100644 --- a/interface/src/Application.h +++ b/interface/src/Application.h @@ -286,6 +286,8 @@ public slots: void uploadHead(); void uploadSkeleton(); + void bumpSettings() { ++_numChangedSettings; } + private slots: void timer(); void idle(); @@ -376,6 +378,7 @@ private: QNetworkAccessManager* _networkAccessManager; QMutex _settingsMutex; QSettings* _settings; + int _numChangedSettings; QUndoStack _undoStack; diff --git a/interface/src/Menu.cpp b/interface/src/Menu.cpp index 4b5d24e376..b5b1ea9e9c 100644 --- a/interface/src/Menu.cpp +++ b/interface/src/Menu.cpp @@ -695,6 +695,7 @@ QAction* Menu::addCheckableActionToQMenuAndActionHash(QMenu* destinationMenu, QAction::NoRole, menuItemLocation); action->setCheckable(true); action->setChecked(checked); + connect(action, SIGNAL(changed()), Application::getInstance(), SLOT(bumpSettings())); return action; } @@ -928,7 +929,6 @@ void Menu::goToLocation() { QString currentLocation = QString("%1, %2, %3").arg(QString::number(avatarPos.x), QString::number(avatarPos.y), QString::number(avatarPos.z)); - QInputDialog coordinateDialog(Application::getInstance()->getWindow()); coordinateDialog.setWindowTitle("Go to Location"); coordinateDialog.setLabelText("Coordinate as x,y,z:"); diff --git a/interface/src/avatar/MyAvatar.cpp b/interface/src/avatar/MyAvatar.cpp index a4f4cce79d..a258cd341b 100644 --- a/interface/src/avatar/MyAvatar.cpp +++ b/interface/src/avatar/MyAvatar.cpp @@ -1167,6 +1167,7 @@ void MyAvatar::goToLocationFromResponse(const QJsonObject& jsonObject) { glm::vec3 newPosition = glm::vec3(coordinateItems[0].toFloat(), coordinateItems[1].toFloat(), coordinateItems[2].toFloat()) - newOrientation * IDENTITY_FRONT * DISTANCE_TO_USER; setPosition(newPosition); + emit transformChanged(); } } diff --git a/interface/src/avatar/MyAvatar.h b/interface/src/avatar/MyAvatar.h index ec33847255..66ab322444 100644 --- a/interface/src/avatar/MyAvatar.h +++ b/interface/src/avatar/MyAvatar.h @@ -106,6 +106,9 @@ public slots: glm::vec3 getThrust() { return _thrust; }; void setThrust(glm::vec3 newThrust) { _thrust = newThrust; } +signals: + void transformChanged(); + private: bool _mousePressed; float _bodyPitchDelta; // degrees diff --git a/interface/src/location/LocationManager.cpp b/interface/src/location/LocationManager.cpp index 7d22dde040..8009551b6c 100644 --- a/interface/src/location/LocationManager.cpp +++ b/interface/src/location/LocationManager.cpp @@ -118,8 +118,6 @@ void LocationManager::checkForMultipleDestinations() { Application::getInstance()->getAvatar()->goToLocationFromResponse(_placeData); return; } - - emit locationChanged(); } } @@ -178,6 +176,7 @@ void LocationManager::goToOrientation(QString orientation) { glm::quat avatarOrientation = myAvatar->getOrientation(); if (newAvatarOrientation != avatarOrientation) { myAvatar->setOrientation(newAvatarOrientation); + emit myAvatar->transformChanged(); } } } @@ -211,6 +210,7 @@ bool LocationManager::goToDestination(QString destination) { qDebug("Going To Location: %f, %f, %f...", x, y, z); myAvatar->setPosition(newAvatarPos); + emit myAvatar->transformChanged(); } return true; diff --git a/interface/src/location/LocationManager.h b/interface/src/location/LocationManager.h index 26e1cb52d5..ac66b3d08b 100644 --- a/interface/src/location/LocationManager.h +++ b/interface/src/location/LocationManager.h @@ -48,7 +48,6 @@ private: signals: void creationCompleted(LocationManager::NamedLocationCreateResponse response); void multipleDestinationsFound(const QJsonObject& userData, const QJsonObject& placeData); - void locationChanged(); private slots: void namedLocationDataReceived(const QJsonObject& data); diff --git a/interface/src/ui/PreferencesDialog.cpp b/interface/src/ui/PreferencesDialog.cpp index d1c9b4f6ca..a14e80e62f 100644 --- a/interface/src/ui/PreferencesDialog.cpp +++ b/interface/src/ui/PreferencesDialog.cpp @@ -140,6 +140,7 @@ void PreferencesDialog::savePreferences() { if (shouldDispatchIdentityPacket) { myAvatar->sendIdentityPacket(); + Application::getInstance()->bumpSettings(); } myAvatar->getHead()->setPupilDilation(ui.pupilDilationSlider->value() / (float)ui.pupilDilationSlider->maximum()); diff --git a/interface/src/ui/RunningScriptsWidget.cpp b/interface/src/ui/RunningScriptsWidget.cpp index dc9ae7c5f8..9a9a1c7486 100644 --- a/interface/src/ui/RunningScriptsWidget.cpp +++ b/interface/src/ui/RunningScriptsWidget.cpp @@ -77,7 +77,7 @@ void RunningScriptsWidget::setRunningScripts(const QStringList& list) scriptName->setToolTip(list.at(i)); scriptName->setTextAlignment(Qt::AlignCenter); QTableWidgetItem *closeIcon = new QTableWidgetItem; - closeIcon->setIcon(QIcon(":/images/kill-script.svg")); + closeIcon->setIcon(QIcon(Application::resourcesPath() + "/images/kill-script.svg")); ui->runningScriptsTableWidget->setItem(i, 0, scriptName); ui->runningScriptsTableWidget->setItem(i, 1, closeIcon); diff --git a/interface/ui/chatWindow.ui b/interface/ui/chatWindow.ui index c46e692fc6..9f1f0527b8 100644 --- a/interface/ui/chatWindow.ui +++ b/interface/ui/chatWindow.ui @@ -100,9 +100,9 @@ - - :/images/pin.svg - :/images/pinned.svg:/images/pin.svg + + ../resources/images/pin.svg + ../resources/images/pinned.svg../resources/images/pin.svg true @@ -139,8 +139,8 @@ - - :/images/close.svg:/images/close.svg + + ../resources/images/close.svg../resources/images/close.svg true @@ -239,9 +239,7 @@ messagePlainTextEdit messagesScrollArea - - - + togglePinnedButton diff --git a/interface/ui/runningScriptsWidget.ui b/interface/ui/runningScriptsWidget.ui index 9494d4ed09..c7fc9e43e8 100644 --- a/interface/ui/runningScriptsWidget.ui +++ b/interface/ui/runningScriptsWidget.ui @@ -70,8 +70,8 @@ border-radius: 6px; Reload All - - :/images/reload.svg:/images/reload.svg + + ../resources/images/reload.svg../resources/images/reload.svg @@ -95,8 +95,8 @@ border-radius: 6px; Stop All - - :/images/stop.svg:/images/stop.svg + + ../resources/images/stop.svg../resources/images/stop.svg @@ -166,8 +166,8 @@ border-radius: 6px; - - :/images/close.svg:/images/close.svg + + ../resources/images/close.svg../resources/images/close.svg @@ -241,8 +241,6 @@ border-radius: 6px; - - - +