From b0361025b0df025594924281545d33b94d72e848 Mon Sep 17 00:00:00 2001 From: Ryan Huffman Date: Thu, 21 Aug 2014 14:32:38 -0700 Subject: [PATCH 01/14] Remove custom behavior from running scripts widget --- interface/src/Application.cpp | 15 +++++++++------ interface/src/ui/RunningScriptsWidget.cpp | 15 +++++++++------ interface/src/ui/RunningScriptsWidget.h | 3 +-- interface/ui/runningScriptsWidget.ui | 10 ++++++++-- 4 files changed, 27 insertions(+), 16 deletions(-) diff --git a/interface/src/Application.cpp b/interface/src/Application.cpp index 11729eef90..4be2e689b8 100644 --- a/interface/src/Application.cpp +++ b/interface/src/Application.cpp @@ -3850,14 +3850,17 @@ void Application::manageRunningScriptsWidgetVisibility(bool shown) { } void Application::toggleRunningScriptsWidget() { - if (_runningScriptsWidgetWasVisible) { - _runningScriptsWidget->hide(); - _runningScriptsWidgetWasVisible = false; + if (_runningScriptsWidget->isVisible()) { + if (_runningScriptsWidget->hasFocus()) { + _runningScriptsWidget->hide(); + } else { + _runningScriptsWidget->raise(); + setActiveWindow(_runningScriptsWidget); + _runningScriptsWidget->setFocus(); + } } else { - _runningScriptsWidget->setBoundary(QRect(_window->geometry().topLeft(), - _window->size())); _runningScriptsWidget->show(); - _runningScriptsWidgetWasVisible = true; + _runningScriptsWidget->setFocus(); } } diff --git a/interface/src/ui/RunningScriptsWidget.cpp b/interface/src/ui/RunningScriptsWidget.cpp index 5bcb1a85de..38298643a3 100644 --- a/interface/src/ui/RunningScriptsWidget.cpp +++ b/interface/src/ui/RunningScriptsWidget.cpp @@ -24,7 +24,7 @@ #include "ScriptsModel.h" RunningScriptsWidget::RunningScriptsWidget(QWidget* parent) : - FramelessDialog(parent, 0, POSITION_LEFT), + QWidget(parent, Qt::Window), ui(new Ui::RunningScriptsWidget), _signalMapper(this), _proxyModel(this), @@ -33,8 +33,6 @@ RunningScriptsWidget::RunningScriptsWidget(QWidget* parent) : setAttribute(Qt::WA_DeleteOnClose, false); - setAllowResize(false); - ui->hideWidgetButton->setIcon(QIcon(Application::resourcesPath() + "images/close.svg")); ui->reloadAllButton->setIcon(QIcon(Application::resourcesPath() + "images/reload.svg")); ui->stopAllButton->setIcon(QIcon(Application::resourcesPath() + "images/stop.svg")); @@ -143,6 +141,8 @@ void RunningScriptsWidget::setRunningScripts(const QStringList& list) { line->setFrameShape(QFrame::HLine); line->setStyleSheet("color: #E1E1E1; margin-left: 6px; margin-right: 6px;"); + row->setStyleSheet("background: #f7f7f7;"); + ui->scrollAreaWidgetContents->layout()->addWidget(row); ui->scrollAreaWidgetContents->layout()->addWidget(line); } @@ -163,7 +163,10 @@ void RunningScriptsWidget::showEvent(QShowEvent* event) { ui->filterLineEdit->setFocus(); } - FramelessDialog::showEvent(event); + const QRect parentGeometry = parentWidget()->geometry(); + setGeometry(parentGeometry.topLeft().x(), parentGeometry.topLeft().y(), size().width(), parentWidget()->size().height()); + + QWidget::showEvent(event); } void RunningScriptsWidget::selectFirstInList() { @@ -189,14 +192,14 @@ bool RunningScriptsWidget::eventFilter(QObject* sender, QEvent* event) { return false; } - return FramelessDialog::eventFilter(sender, event); + return QWidget::eventFilter(sender, event); } void RunningScriptsWidget::keyPressEvent(QKeyEvent *keyEvent) { if (keyEvent->key() == Qt::Key_Escape) { return; } else { - FramelessDialog::keyPressEvent(keyEvent); + QWidget::keyPressEvent(keyEvent); } } diff --git a/interface/src/ui/RunningScriptsWidget.h b/interface/src/ui/RunningScriptsWidget.h index 6810aca487..7493a1a5ce 100644 --- a/interface/src/ui/RunningScriptsWidget.h +++ b/interface/src/ui/RunningScriptsWidget.h @@ -25,8 +25,7 @@ namespace Ui { class RunningScriptsWidget; } -class RunningScriptsWidget : public FramelessDialog -{ +class RunningScriptsWidget : public QWidget { Q_OBJECT public: explicit RunningScriptsWidget(QWidget* parent = NULL); diff --git a/interface/ui/runningScriptsWidget.ui b/interface/ui/runningScriptsWidget.ui index b58c8436d0..42d4813021 100644 --- a/interface/ui/runningScriptsWidget.ui +++ b/interface/ui/runningScriptsWidget.ui @@ -7,7 +7,7 @@ 0 0 324 - 971 + 643 @@ -17,7 +17,7 @@ * { font-family: Helvetica, Arial, sans-serif; } -QWidget { +#RunningScriptsWidget { background: #f7f7f7; } @@ -326,6 +326,11 @@ padding-top: 3px; Qt::LeftToRight + + #runningScriptsList { + background: #f7f7f7; +} + QFrame::NoFrame @@ -608,6 +613,7 @@ background-color: white; QListView { + background: #f7f7f7; border: 1px solid rgb(128, 128, 128); border-radius: 2px; } From dcae9eb6da1a8b701abaa54d7f2594f6778c6079 Mon Sep 17 00:00:00 2001 From: Ryan Huffman Date: Thu, 21 Aug 2014 14:57:55 -0700 Subject: [PATCH 02/14] Remove fullscreen button from running scripts window --- interface/src/ui/RunningScriptsWidget.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/interface/src/ui/RunningScriptsWidget.cpp b/interface/src/ui/RunningScriptsWidget.cpp index 38298643a3..163b83367d 100644 --- a/interface/src/ui/RunningScriptsWidget.cpp +++ b/interface/src/ui/RunningScriptsWidget.cpp @@ -24,7 +24,8 @@ #include "ScriptsModel.h" RunningScriptsWidget::RunningScriptsWidget(QWidget* parent) : - QWidget(parent, Qt::Window), + QWidget(parent, Qt::Window | Qt::CustomizeWindowHint | Qt::WindowTitleHint | Qt::WindowMinMaxButtonsHint | + Qt::WindowCloseButtonHint), ui(new Ui::RunningScriptsWidget), _signalMapper(this), _proxyModel(this), From dd8f7765254bdd6b3b1a49b6e5ae424d3665749d Mon Sep 17 00:00:00 2001 From: Ryan Huffman Date: Thu, 21 Aug 2014 15:06:27 -0700 Subject: [PATCH 03/14] Fix size of running scripts window --- interface/src/ui/RunningScriptsWidget.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/interface/src/ui/RunningScriptsWidget.cpp b/interface/src/ui/RunningScriptsWidget.cpp index 163b83367d..11ced36142 100644 --- a/interface/src/ui/RunningScriptsWidget.cpp +++ b/interface/src/ui/RunningScriptsWidget.cpp @@ -165,7 +165,7 @@ void RunningScriptsWidget::showEvent(QShowEvent* event) { } const QRect parentGeometry = parentWidget()->geometry(); - setGeometry(parentGeometry.topLeft().x(), parentGeometry.topLeft().y(), size().width(), parentWidget()->size().height()); + setGeometry(parentGeometry.topLeft().x(), parentGeometry.topLeft().y(), size().width(), parentWidget()->height()); QWidget::showEvent(event); } From b3bdfc45ce0c59051cc77dd50b8f29a67a0edd2c Mon Sep 17 00:00:00 2001 From: Ryan Huffman Date: Thu, 21 Aug 2014 15:13:08 -0700 Subject: [PATCH 04/14] Remove close button from running scripts widget --- interface/src/ui/RunningScriptsWidget.cpp | 3 --- interface/ui/runningScriptsWidget.ui | 22 ---------------------- 2 files changed, 25 deletions(-) diff --git a/interface/src/ui/RunningScriptsWidget.cpp b/interface/src/ui/RunningScriptsWidget.cpp index 11ced36142..a2da0412ff 100644 --- a/interface/src/ui/RunningScriptsWidget.cpp +++ b/interface/src/ui/RunningScriptsWidget.cpp @@ -34,7 +34,6 @@ RunningScriptsWidget::RunningScriptsWidget(QWidget* parent) : setAttribute(Qt::WA_DeleteOnClose, false); - ui->hideWidgetButton->setIcon(QIcon(Application::resourcesPath() + "images/close.svg")); ui->reloadAllButton->setIcon(QIcon(Application::resourcesPath() + "images/reload.svg")); ui->stopAllButton->setIcon(QIcon(Application::resourcesPath() + "images/stop.svg")); ui->loadScriptButton->setIcon(QIcon(Application::resourcesPath() + "images/plus-white.svg")); @@ -58,8 +57,6 @@ RunningScriptsWidget::RunningScriptsWidget(QWidget* parent) : _recentlyLoadedScriptsTable->setColumnCount(1); _recentlyLoadedScriptsTable->setColumnWidth(0, 265); - connect(ui->hideWidgetButton, &QPushButton::clicked, - Application::getInstance(), &Application::toggleRunningScriptsWidget); connect(ui->reloadAllButton, &QPushButton::clicked, Application::getInstance(), &Application::reloadAllScripts); connect(ui->stopAllButton, &QPushButton::clicked, diff --git a/interface/ui/runningScriptsWidget.ui b/interface/ui/runningScriptsWidget.ui index 42d4813021..e5d5ba0e98 100644 --- a/interface/ui/runningScriptsWidget.ui +++ b/interface/ui/runningScriptsWidget.ui @@ -77,28 +77,6 @@ background: transparent; - - - - PointingHandCursor - - - border: 0 - - - - - - - 16 - 16 - - - - true - - - From ce0e0a9c592aea1841694e53811c9d1f8114e209 Mon Sep 17 00:00:00 2001 From: Ryan Huffman Date: Sun, 31 Aug 2014 11:30:26 -0700 Subject: [PATCH 05/14] Remove custom background, font, and button styles on RunningScripts --- interface/src/ui/RunningScriptsWidget.cpp | 2 - interface/ui/runningScriptsWidget.ui | 86 ----------------------- 2 files changed, 88 deletions(-) diff --git a/interface/src/ui/RunningScriptsWidget.cpp b/interface/src/ui/RunningScriptsWidget.cpp index a2da0412ff..72147ee1b2 100644 --- a/interface/src/ui/RunningScriptsWidget.cpp +++ b/interface/src/ui/RunningScriptsWidget.cpp @@ -139,8 +139,6 @@ void RunningScriptsWidget::setRunningScripts(const QStringList& list) { line->setFrameShape(QFrame::HLine); line->setStyleSheet("color: #E1E1E1; margin-left: 6px; margin-right: 6px;"); - row->setStyleSheet("background: #f7f7f7;"); - ui->scrollAreaWidgetContents->layout()->addWidget(row); ui->scrollAreaWidgetContents->layout()->addWidget(line); } diff --git a/interface/ui/runningScriptsWidget.ui b/interface/ui/runningScriptsWidget.ui index e5d5ba0e98..0dd418af70 100644 --- a/interface/ui/runningScriptsWidget.ui +++ b/interface/ui/runningScriptsWidget.ui @@ -13,14 +13,6 @@ Form - - * { - font-family: Helvetica, Arial, sans-serif; -} -#RunningScriptsWidget { - background: #f7f7f7; -} - 20 @@ -114,7 +106,6 @@ background: transparent; - Helvetica,Arial,sans-serif -1 75 false @@ -173,31 +164,6 @@ background: transparent; - - - 0 - 0 - - - - - 111 - 35 - - - - PointingHandCursor - - - false - - - background: #0e7077; -color: #fff; -border-radius: 4px; -font: bold 14px; -padding-top: 3px; - Reload all @@ -205,28 +171,6 @@ padding-top: 3px; - - - 0 - 0 - - - - - 111 - 35 - - - - PointingHandCursor - - - background: #0e7077; -color: #fff; -border-radius: 4px; -font: bold 14px; -padding-top: 3px; - Stop all @@ -304,11 +248,6 @@ padding-top: 3px; Qt::LeftToRight - - #runningScriptsList { - background: #f7f7f7; -} - QFrame::NoFrame @@ -459,9 +398,6 @@ font-size: 14px; 300 - - - 0 @@ -522,28 +458,6 @@ font: bold 16px; - - - 0 - 0 - - - - - 111 - 35 - - - - PointingHandCursor - - - background: #0e7077; -color: #fff; -border-radius: 4px; -font: bold 14px; -padding-top: 3px; - Load script From 2283b68dba1072fc7f7d4f30f4e050b0e0fb1760 Mon Sep 17 00:00:00 2001 From: Ryan Huffman Date: Sun, 31 Aug 2014 11:31:45 -0700 Subject: [PATCH 06/14] Remove 'recently loaded' widgets from RunningScripts --- interface/src/ui/RunningScriptsWidget.cpp | 7 --- interface/ui/runningScriptsWidget.ui | 77 ----------------------- 2 files changed, 84 deletions(-) diff --git a/interface/src/ui/RunningScriptsWidget.cpp b/interface/src/ui/RunningScriptsWidget.cpp index 72147ee1b2..f0e4f427d9 100644 --- a/interface/src/ui/RunningScriptsWidget.cpp +++ b/interface/src/ui/RunningScriptsWidget.cpp @@ -38,8 +38,6 @@ RunningScriptsWidget::RunningScriptsWidget(QWidget* parent) : ui->stopAllButton->setIcon(QIcon(Application::resourcesPath() + "images/stop.svg")); ui->loadScriptButton->setIcon(QIcon(Application::resourcesPath() + "images/plus-white.svg")); - ui->recentlyLoadedScriptsArea->hide(); - ui->filterLineEdit->installEventFilter(this); connect(&_proxyModel, &QSortFilterProxyModel::modelReset, @@ -53,10 +51,6 @@ RunningScriptsWidget::RunningScriptsWidget(QWidget* parent) : connect(ui->filterLineEdit, &QLineEdit::textChanged, this, &RunningScriptsWidget::updateFileFilter); connect(ui->scriptListView, &QListView::doubleClicked, this, &RunningScriptsWidget::loadScriptFromList); - _recentlyLoadedScriptsTable = new ScriptsTableWidget(ui->recentlyLoadedScriptsTableWidget); - _recentlyLoadedScriptsTable->setColumnCount(1); - _recentlyLoadedScriptsTable->setColumnWidth(0, 265); - connect(ui->reloadAllButton, &QPushButton::clicked, Application::getInstance(), &Application::reloadAllScripts); connect(ui->stopAllButton, &QPushButton::clicked, @@ -200,7 +194,6 @@ void RunningScriptsWidget::keyPressEvent(QKeyEvent *keyEvent) { } void RunningScriptsWidget::scriptStopped(const QString& scriptName) { - // _recentlyLoadedScripts.prepend(scriptName); } void RunningScriptsWidget::allScriptsStopped() { diff --git a/interface/ui/runningScriptsWidget.ui b/interface/ui/runningScriptsWidget.ui index 0dd418af70..701c4ca75e 100644 --- a/interface/ui/runningScriptsWidget.ui +++ b/interface/ui/runningScriptsWidget.ui @@ -307,83 +307,6 @@ background: transparent; - - - - true - - - - 0 - 100 - - - - - 16777215 - 16777215 - - - - - 0 - - - 0 - - - 0 - - - 0 - - - 0 - - - - - color: #0e7077; -font: bold 16px; - - - <html><head/><body><p><span style=" font-weight:600;">Recently loaded</span></p></body></html> - - - - - - - font: 14px; - - - There are no recently loaded scripts. - - - - - - - - 0 - 1 - - - - - 284 - 0 - - - - background: transparent; -font-size: 14px; - - - - - - From 936a9fad4784c0e41bf7af05ca2b1a0c04fe5930 Mon Sep 17 00:00:00 2001 From: Ryan Huffman Date: Sun, 31 Aug 2014 12:28:45 -0700 Subject: [PATCH 07/14] Disable icons on RunningScripts buttons --- interface/src/ui/RunningScriptsWidget.cpp | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/interface/src/ui/RunningScriptsWidget.cpp b/interface/src/ui/RunningScriptsWidget.cpp index f0e4f427d9..ee04c68b14 100644 --- a/interface/src/ui/RunningScriptsWidget.cpp +++ b/interface/src/ui/RunningScriptsWidget.cpp @@ -34,9 +34,9 @@ RunningScriptsWidget::RunningScriptsWidget(QWidget* parent) : setAttribute(Qt::WA_DeleteOnClose, false); - ui->reloadAllButton->setIcon(QIcon(Application::resourcesPath() + "images/reload.svg")); - ui->stopAllButton->setIcon(QIcon(Application::resourcesPath() + "images/stop.svg")); - ui->loadScriptButton->setIcon(QIcon(Application::resourcesPath() + "images/plus-white.svg")); + //ui->reloadAllButton->setIcon(QIcon(Application::resourcesPath() + "images/reload.svg")); + //ui->stopAllButton->setIcon(QIcon(Application::resourcesPath() + "images/stop.svg")); + //ui->loadScriptButton->setIcon(QIcon(Application::resourcesPath() + "images/plus.svg")); ui->filterLineEdit->installEventFilter(this); From 9e510632b9d5f196c8c29a129d52c5172758a71b Mon Sep 17 00:00:00 2001 From: Ryan Huffman Date: Sun, 31 Aug 2014 12:29:54 -0700 Subject: [PATCH 08/14] Remove box styling from RunningScripts --- interface/ui/runningScriptsWidget.ui | 55 +++------------------------- 1 file changed, 6 insertions(+), 49 deletions(-) diff --git a/interface/ui/runningScriptsWidget.ui b/interface/ui/runningScriptsWidget.ui index 701c4ca75e..8bb29a2f49 100644 --- a/interface/ui/runningScriptsWidget.ui +++ b/interface/ui/runningScriptsWidget.ui @@ -42,11 +42,10 @@ color: #0e7077; -font-size: 20px; -background: transparent; +font-size: 20px; - <html><head/><body><p><span style=" font-size:18px;">Running Scripts</span></p></body></html> + Running Scripts 0 @@ -115,10 +114,10 @@ background: transparent; color: #0e7077; font: bold 16px; -background: transparent; + - <html><head/><body><p><span style=" font-weight:600;">Currently running</span></p></body></html> + Currently Running @@ -147,9 +146,6 @@ background: transparent; - - 24 - 0 @@ -183,8 +179,8 @@ background: transparent; - 40 - 20 + 0 + 0 @@ -192,22 +188,6 @@ background: transparent; - - - - Qt::Vertical - - - QSizePolicy::Fixed - - - - 20 - 8 - - - - @@ -391,12 +371,6 @@ font: bold 16px; - - border: 1px solid rgb(128, 128, 128); -border-radius: 2px; -padding: 4px; -background-color: white; - @@ -426,23 +400,6 @@ background-color: white; - - QListView { - background: #f7f7f7; - border: 1px solid rgb(128, 128, 128); - border-radius: 2px; -} -QListView::item { - padding-top: 2px; - padding-bottom: 2px; -} - - - QFrame::Box - - - QFrame::Plain - Qt::ScrollBarAlwaysOn From a95b670716f601598606bcbd6f1a2ca007b46d09 Mon Sep 17 00:00:00 2001 From: Ryan Huffman Date: Tue, 2 Sep 2014 12:37:51 -0700 Subject: [PATCH 09/14] Update RunningScripts style: font, spacing, title --- interface/ui/runningScriptsWidget.ui | 333 +++++++++++++++------------ 1 file changed, 184 insertions(+), 149 deletions(-) diff --git a/interface/ui/runningScriptsWidget.ui b/interface/ui/runningScriptsWidget.ui index 8bb29a2f49..5d21dc387e 100644 --- a/interface/ui/runningScriptsWidget.ui +++ b/interface/ui/runningScriptsWidget.ui @@ -11,17 +11,20 @@ - Form + Running Scripts + + + * { font-family: Helvetica, Arial, sans-serif; } - 20 + 14 20 - 20 + 14 20 @@ -30,13 +33,13 @@ - 0 + 6 0 - 0 + 6 @@ -102,23 +105,45 @@ font-size: 20px; 0 - - - - -1 - 75 - false - true - - - - color: #0e7077; + + + + 0 + + + 6 + + + 0 + + + 6 + + + 0 + + + + + + Helvetica,Arial,sans-serif + -1 + 75 + false + true + + + + color: #0e7077; font: bold 16px; - - - Currently Running - + + + Currently Running + + + + @@ -145,6 +170,9 @@ font: bold 16px; 0 + + reloadStopButtonArea { padding: 0 } + 0 @@ -189,99 +217,104 @@ font: bold 16px; - - - font: 14px; - - - There are no scripts currently running. - - - Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter - - - - - - - Qt::Vertical - - - QSizePolicy::Fixed - - - - 20 - 10 - - - - - - - - - Helvetica,Arial,sans-serif - 14 - - - - Qt::LeftToRight - - - QFrame::NoFrame - - - 0 - - - Qt::ScrollBarAsNeeded - - - Qt::ScrollBarAlwaysOff - - - true - - - Qt::AlignLeading|Qt::AlignLeft|Qt::AlignTop - - - - - 0 - 0 - 284 - 16 - + + + + 0 - - - 0 - 0 - + + 6 - - font-size: 14px; + + 0 - - - 0 - - - 0 - - - 0 - - - 0 - - - 0 - - - + + 6 + + + 0 + + + + + + Helvetica,Arial,sans-serif + 14 + + + + Qt::LeftToRight + + + QFrame::NoFrame + + + 0 + + + Qt::ScrollBarAsNeeded + + + Qt::ScrollBarAlwaysOff + + + true + + + Qt::AlignLeading|Qt::AlignLeft|Qt::AlignTop + + + + + 0 + 0 + 284 + 16 + + + + + 0 + 0 + + + + font-size: 14px; + + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + + + + + + + font: 14px; + + + There are no scripts currently running. + + + Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter + + + + @@ -324,16 +357,16 @@ font: bold 16px; 0 - 0 + 6 0 - 0 + 6 - 15 + 0 @@ -370,42 +403,44 @@ font: bold 16px; - - - - - - filter - - - true - - - - - - - Qt::Vertical - - - QSizePolicy::Fixed - - - - 20 - 6 - - - - - - - - Qt::ScrollBarAlwaysOn - - - Qt::ScrollBarAlwaysOff - + + + + 6 + + + 0 + + + 6 + + + 0 + + + + + + + + filter + + + true + + + + + + + Qt::ScrollBarAlwaysOn + + + Qt::ScrollBarAlwaysOff + + + + From 67cefc8d54957019e942c796ca32133e50172ffb Mon Sep 17 00:00:00 2001 From: Ryan Huffman Date: Tue, 2 Sep 2014 13:12:52 -0700 Subject: [PATCH 10/14] Reduce height of RunningScripts so titlebar is inside main window --- interface/src/ui/RunningScriptsWidget.cpp | 6 ++++- libraries/shared/src/UIUtil.cpp | 29 +++++++++++++++++++++++ libraries/shared/src/UIUtil.h | 24 +++++++++++++++++++ 3 files changed, 58 insertions(+), 1 deletion(-) create mode 100644 libraries/shared/src/UIUtil.cpp create mode 100644 libraries/shared/src/UIUtil.h diff --git a/interface/src/ui/RunningScriptsWidget.cpp b/interface/src/ui/RunningScriptsWidget.cpp index ee04c68b14..7f3428784b 100644 --- a/interface/src/ui/RunningScriptsWidget.cpp +++ b/interface/src/ui/RunningScriptsWidget.cpp @@ -22,6 +22,7 @@ #include "Application.h" #include "Menu.h" #include "ScriptsModel.h" +#include "UIUtil.h" RunningScriptsWidget::RunningScriptsWidget(QWidget* parent) : QWidget(parent, Qt::Window | Qt::CustomizeWindowHint | Qt::WindowTitleHint | Qt::WindowMinMaxButtonsHint | @@ -154,7 +155,10 @@ void RunningScriptsWidget::showEvent(QShowEvent* event) { } const QRect parentGeometry = parentWidget()->geometry(); - setGeometry(parentGeometry.topLeft().x(), parentGeometry.topLeft().y(), size().width(), parentWidget()->height()); + int titleBarHeight = UIUtil::getWindowTitleBarHeight(this); + + setGeometry(parentGeometry.topLeft().x(), parentGeometry.topLeft().y() + titleBarHeight, + size().width(), parentWidget()->height() - titleBarHeight); QWidget::showEvent(event); } diff --git a/libraries/shared/src/UIUtil.cpp b/libraries/shared/src/UIUtil.cpp new file mode 100644 index 0000000000..82c41e42c8 --- /dev/null +++ b/libraries/shared/src/UIUtil.cpp @@ -0,0 +1,29 @@ +// +// UIUtil.cpp +// library/shared/src +// +// Created by Ryan Huffman on 09/02/2014. +// Copyright 2014 High Fidelity, Inc. +// +// Distributed under the Apache License, Version 2.0. +// See the accompanying file LICENSE or http://www.apache.org/licenses/LICENSE-2.0.html +// + +#include +#include + +#include "UIUtil.h" + +int UIUtil::getWindowTitleBarHeight(QWidget *window) { + QStyleOptionTitleBar options; + options.titleBarState = 1; + options.titleBarFlags = Qt::Window; + int titleBarHeight = window->style()->pixelMetric(QStyle::PM_TitleBarHeight, &options, window); + +#if defined(Q_OS_MAC) + // The height on OSX is 4 pixels too tall + titleBarHeight -= 4; +#endif + + return titleBarHeight; +} diff --git a/libraries/shared/src/UIUtil.h b/libraries/shared/src/UIUtil.h new file mode 100644 index 0000000000..3eeae9efbd --- /dev/null +++ b/libraries/shared/src/UIUtil.h @@ -0,0 +1,24 @@ +// +// UIUtil.h +// library/shared/src +// +// Created by Ryan Huffman on 09/02/2014. +// Copyright 2014 High Fidelity, Inc. +// +// Distributed under the Apache License, Version 2.0. +// See the accompanying file LICENSE or http://www.apache.org/licenses/LICENSE-2.0.html +// + + +#ifndef hifi_UIUtil_h +#define hifi_UIUtil_h + +#include + +class UIUtil { +public: + static int getWindowTitleBarHeight(QWidget *window); + +}; + +#endif // hifi_UIUtil_h From e6def6e35b4f8f25faa3c2cc92564a445c81126e Mon Sep 17 00:00:00 2001 From: Ryan Huffman Date: Tue, 2 Sep 2014 14:01:24 -0700 Subject: [PATCH 11/14] Fix spacing on RunningScripts --- interface/ui/runningScriptsWidget.ui | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/interface/ui/runningScriptsWidget.ui b/interface/ui/runningScriptsWidget.ui index 5d21dc387e..ddc6ad6c27 100644 --- a/interface/ui/runningScriptsWidget.ui +++ b/interface/ui/runningScriptsWidget.ui @@ -175,13 +175,13 @@ font: bold 16px; - 0 + 6 0 - 0 + 6 0 @@ -360,13 +360,13 @@ font: bold 16px; 6 - 0 + 6 6 - 0 + 6 From 55acff02a18f41c3fef8b53af346891e88654727 Mon Sep 17 00:00:00 2001 From: Ryan Huffman Date: Tue, 2 Sep 2014 14:13:42 -0700 Subject: [PATCH 12/14] Update RunningScripts height to take menu bar into account --- interface/src/ui/RunningScriptsWidget.cpp | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/interface/src/ui/RunningScriptsWidget.cpp b/interface/src/ui/RunningScriptsWidget.cpp index 7f3428784b..52735f3a2b 100644 --- a/interface/src/ui/RunningScriptsWidget.cpp +++ b/interface/src/ui/RunningScriptsWidget.cpp @@ -156,9 +156,11 @@ void RunningScriptsWidget::showEvent(QShowEvent* event) { const QRect parentGeometry = parentWidget()->geometry(); int titleBarHeight = UIUtil::getWindowTitleBarHeight(this); + int menuBarHeight = Menu::getInstance()->geometry().height(); + int topMargin = titleBarHeight + menuBarHeight; - setGeometry(parentGeometry.topLeft().x(), parentGeometry.topLeft().y() + titleBarHeight, - size().width(), parentWidget()->height() - titleBarHeight); + setGeometry(parentGeometry.topLeft().x(), parentGeometry.topLeft().y() + topMargin, + size().width(), parentWidget()->height() - topMargin); QWidget::showEvent(event); } From 5937830443d628457b3b1761b930cdf3e81c1c1f Mon Sep 17 00:00:00 2001 From: Ryan Huffman Date: Wed, 3 Sep 2014 08:27:18 -0700 Subject: [PATCH 13/14] Update getWindowTitleBarHeight signature --- libraries/shared/src/UIUtil.cpp | 2 +- libraries/shared/src/UIUtil.h | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/libraries/shared/src/UIUtil.cpp b/libraries/shared/src/UIUtil.cpp index 82c41e42c8..db9dde2f00 100644 --- a/libraries/shared/src/UIUtil.cpp +++ b/libraries/shared/src/UIUtil.cpp @@ -14,7 +14,7 @@ #include "UIUtil.h" -int UIUtil::getWindowTitleBarHeight(QWidget *window) { +int UIUtil::getWindowTitleBarHeight(const QWidget* window) { QStyleOptionTitleBar options; options.titleBarState = 1; options.titleBarFlags = Qt::Window; diff --git a/libraries/shared/src/UIUtil.h b/libraries/shared/src/UIUtil.h index 3eeae9efbd..304e8bfce9 100644 --- a/libraries/shared/src/UIUtil.h +++ b/libraries/shared/src/UIUtil.h @@ -17,7 +17,7 @@ class UIUtil { public: - static int getWindowTitleBarHeight(QWidget *window); + static int getWindowTitleBarHeight(const QWidget* window); }; From d4ebe577df40324cc9a0275810ef484ae54b396c Mon Sep 17 00:00:00 2001 From: Ryan Huffman Date: Wed, 3 Sep 2014 08:28:25 -0700 Subject: [PATCH 14/14] Remove commented out icons --- interface/src/ui/RunningScriptsWidget.cpp | 4 ---- 1 file changed, 4 deletions(-) diff --git a/interface/src/ui/RunningScriptsWidget.cpp b/interface/src/ui/RunningScriptsWidget.cpp index 52735f3a2b..7a46873129 100644 --- a/interface/src/ui/RunningScriptsWidget.cpp +++ b/interface/src/ui/RunningScriptsWidget.cpp @@ -35,10 +35,6 @@ RunningScriptsWidget::RunningScriptsWidget(QWidget* parent) : setAttribute(Qt::WA_DeleteOnClose, false); - //ui->reloadAllButton->setIcon(QIcon(Application::resourcesPath() + "images/reload.svg")); - //ui->stopAllButton->setIcon(QIcon(Application::resourcesPath() + "images/stop.svg")); - //ui->loadScriptButton->setIcon(QIcon(Application::resourcesPath() + "images/plus.svg")); - ui->filterLineEdit->installEventFilter(this); connect(&_proxyModel, &QSortFilterProxyModel::modelReset,