Showing the changes to interface/src/Application.cpp (1 of 18 files). Show all
Unified · Split
| @@ -30,7 +30,6 @@ · 29 unmodified lines | ||
| 30 | 30 | #include <QImage> |
| 31 | 31 | #include <QInputDialog> |
| 32 | 32 | #include <QKeyEvent> |
| 33 | −#include <QMainWindow> | |
| 34 | 33 | #include <QMenuBar> |
| 35 | 34 | #include <QMouseEvent> |
| 36 | 35 | #include <QNetworkAccessManager> |
| @@ -132,7 +131,7 @@ QString& Application::resourcesPath() { · 95 unmodified lines | ||
| 132 | 131 | |
| 133 | 132 | Application::Application(int& argc, char** argv, QElapsedTimer &startup_time) : |
| 134 | 133 | QApplication(argc, argv), |
| 135 | − _window(new QMainWindow(desktop())), | |
| 134 | + _window(new MainWindow(desktop())), | |
| 136 | 135 | _glWidget(new GLCanvas()), |
| 137 | 136 | _nodeThread(new QThread(this)), |
| 138 | 137 | _datagramProcessor(), |
| @@ -164,7 +163,9 @@ Application::Application(int& argc, char** argv, QElapsedTimer &startup_time) : · 25 unmodified lines | ||
| 164 | 163 | _packetsPerSecond(0), |
| 165 | 164 | _bytesPerSecond(0), |
| 166 | 165 | _previousScriptLocation(), |
| 167 | − _logger(new FileLogger(this)) | |
| 166 | + _logger(new FileLogger(this)), | |
| 167 | + _runningScriptsWidget(new RunningScriptsWidget(_window)), | |
| 168 | + _runningScriptsWidgetWasVisible(false) | |
| 168 | 169 | { |
| 169 | 170 | // init GnuTLS for DTLS with domain-servers |
| 170 | 171 | DTLSClientSession::globalInit(); |
| @@ -334,7 +335,6 @@ Application::Application(int& argc, char** argv, QElapsedTimer &startup_time) : · 163 unmodified lines | ||
| 334 | 335 | LocalVoxelsList::getInstance()->addPersistantTree(DOMAIN_TREE_NAME, _voxels.getTree()); |
| 335 | 336 | LocalVoxelsList::getInstance()->addPersistantTree(CLIPBOARD_TREE_NAME, &_clipboard); |
| 336 | 337 | |
| 337 | − _window->addDockWidget(Qt::NoDockWidgetArea, _runningScriptsWidget = new RunningScriptsWidget()); | |
| 338 | 338 | _runningScriptsWidget->setRunningScripts(getRunningScripts()); |
| 339 | 339 | connect(_runningScriptsWidget, &RunningScriptsWidget::stopScriptName, this, &Application::stopScript); |
| 340 | 340 | |
| @@ -355,6 +355,12 @@ Application::Application(int& argc, char** argv, QElapsedTimer &startup_time) : · 14 unmodified lines | ||
| 355 | 355 | QMutexLocker locker(&_settingsMutex); |
| 356 | 356 | _previousScriptLocation = _settings->value("LastScriptLocation", QVariant("")).toString(); |
| 357 | 357 | } |
| 358 | + | |
| 359 | + connect(_window, &MainWindow::windowGeometryChanged, | |
| 360 | + _runningScriptsWidget, &RunningScriptsWidget::setBoundary); | |
| 361 | + | |
| 362 | + //When -url in command line, teleport to location | |
| 363 | + urlGoTo(argc, constArgv); | |
| 358 | 364 | } |
| 359 | 365 | |
| 360 | 366 | Application::~Application() { |
| @@ -2631,7 +2637,6 @@ void Application::displayOverlay() { · 2270 unmodified lines | ||
| 2631 | 2637 | if (audioLevel > AUDIO_METER_SCALE_WIDTH) { |
| 2632 | 2638 | audioLevel = AUDIO_METER_SCALE_WIDTH; |
| 2633 | 2639 | } |
| 2634 | − | |
| 2635 | 2640 | bool isClipping = ((_audio.getTimeSinceLastClip() > 0.f) && (_audio.getTimeSinceLastClip() < CLIPPING_INDICATOR_TIME)); |
| 2636 | 2641 | |
| 2637 | 2642 | if ((_audio.getTimeSinceLastClip() > 0.f) && (_audio.getTimeSinceLastClip() < CLIPPING_INDICATOR_TIME)) { |
| @@ -3326,31 +3331,23 @@ void Application::reloadAllScripts() { · 688 unmodified lines | ||
| 3326 | 3331 | } |
| 3327 | 3332 | } |
| 3328 | 3333 | |
| 3329 | −void Application::toggleRunningScriptsWidget() | |
| 3330 | −{ | |
| 3331 | − if (!_runningScriptsWidget->toggleViewAction()->isChecked()) { | |
| 3332 | − _runningScriptsWidget->move(_window->geometry().topLeft().x(), _window->geometry().topLeft().y()); | |
| 3333 | − _runningScriptsWidget->resize(0, _window->height()); | |
| 3334 | − _runningScriptsWidget->toggleViewAction()->trigger(); | |
| 3335 | − _runningScriptsWidget->grabKeyboard(); | |
| 3336 | − | |
| 3337 | − QPropertyAnimation* slideAnimation = new QPropertyAnimation(_runningScriptsWidget, "geometry", _runningScriptsWidget); | |
| 3338 | − slideAnimation->setStartValue(_runningScriptsWidget->geometry()); | |
| 3339 | − slideAnimation->setEndValue(QRect(_window->geometry().topLeft().x(), _window->geometry().topLeft().y(), | |
| 3340 | − 310, _runningScriptsWidget->height())); | |
| 3341 | − slideAnimation->setDuration(250); | |
| 3342 | − slideAnimation->start(QAbstractAnimation::DeleteWhenStopped); | |
| 3343 | − } else { | |
| 3344 | − _runningScriptsWidget->releaseKeyboard(); | |
| 3345 | − | |
| 3346 | − QPropertyAnimation* slideAnimation = new QPropertyAnimation(_runningScriptsWidget, "geometry", _runningScriptsWidget); | |
| 3347 | − slideAnimation->setStartValue(_runningScriptsWidget->geometry()); | |
| 3348 | − slideAnimation->setEndValue(QRect(_window->geometry().topLeft().x(), _window->geometry().topLeft().y(), | |
| 3349 | − 0, _runningScriptsWidget->height())); | |
| 3350 | − slideAnimation->setDuration(250); | |
| 3351 | − slideAnimation->start(QAbstractAnimation::DeleteWhenStopped); | |
| 3334 | +void Application::manageRunningScriptsWidgetVisibility(bool shown) { | |
| 3335 | + if (_runningScriptsWidgetWasVisible && shown) { | |
| 3336 | + _runningScriptsWidget->show(); | |
| 3337 | + } else if (_runningScriptsWidgetWasVisible && !shown) { | |
| 3338 | + _runningScriptsWidget->hide(); | |
| 3339 | + } | |
| 3340 | +} | |
| 3352 | 3341 | |
| 3353 | − QTimer::singleShot(260, _runningScriptsWidget->toggleViewAction(), SLOT(trigger())); | |
| 3342 | +void Application::toggleRunningScriptsWidget() { | |
| 3343 | + if (_runningScriptsWidgetWasVisible) { | |
| 3344 | + _runningScriptsWidget->hide(); | |
| 3345 | + _runningScriptsWidgetWasVisible = false; | |
| 3346 | + } else { | |
| 3347 | + _runningScriptsWidget->setBoundary(QRect(_window->geometry().topLeft(), | |
| 3348 | + _window->size())); | |
| 3349 | + _runningScriptsWidget->show(); | |
| 3350 | + _runningScriptsWidgetWasVisible = true; | |
| 3354 | 3351 | } |
| 3355 | 3352 | } |
| 3356 | 3353 | |