From ea247cd796b51c8915301e01c866a1762a9a804d Mon Sep 17 00:00:00 2001 From: David Rowe Date: Mon, 22 Feb 2016 14:08:00 +1300 Subject: [PATCH 01/16] Fix information, question, and warning OffscreenUI message box icons --- libraries/ui/src/OffscreenUi.cpp | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/libraries/ui/src/OffscreenUi.cpp b/libraries/ui/src/OffscreenUi.cpp index fa40fedb9b..d16f49f945 100644 --- a/libraries/ui/src/OffscreenUi.cpp +++ b/libraries/ui/src/OffscreenUi.cpp @@ -251,15 +251,15 @@ QMessageBox::StandardButton OffscreenUi::critical(const QString& title, const QS } QMessageBox::StandardButton OffscreenUi::information(const QString& title, const QString& text, QMessageBox::StandardButtons buttons, QMessageBox::StandardButton defaultButton) { - return DependencyManager::get()->messageBox(QMessageBox::Icon::Critical, title, text, buttons, defaultButton); + return DependencyManager::get()->messageBox(QMessageBox::Icon::Information, title, text, buttons, defaultButton); } QMessageBox::StandardButton OffscreenUi::question(const QString& title, const QString& text, QMessageBox::StandardButtons buttons, QMessageBox::StandardButton defaultButton) { - return DependencyManager::get()->messageBox(QMessageBox::Icon::Critical, title, text, buttons, defaultButton); + return DependencyManager::get()->messageBox(QMessageBox::Icon::Question, title, text, buttons, defaultButton); } QMessageBox::StandardButton OffscreenUi::warning(const QString& title, const QString& text, QMessageBox::StandardButtons buttons, QMessageBox::StandardButton defaultButton) { - return DependencyManager::get()->messageBox(QMessageBox::Icon::Critical, title, text, buttons, defaultButton); + return DependencyManager::get()->messageBox(QMessageBox::Icon::Warning, title, text, buttons, defaultButton); } From 26a46207c20ddec739828734878316887c17b050 Mon Sep 17 00:00:00 2001 From: David Rowe Date: Mon, 22 Feb 2016 17:03:48 +1300 Subject: [PATCH 02/16] Set up QML tests for message box modal dialog restyling --- tests/ui/qml/main.qml | 35 +++++++++++++++++++++++++++++------ 1 file changed, 29 insertions(+), 6 deletions(-) diff --git a/tests/ui/qml/main.qml b/tests/ui/qml/main.qml index c610ab80ab..d5ef2584f5 100644 --- a/tests/ui/qml/main.qml +++ b/tests/ui/qml/main.qml @@ -81,17 +81,25 @@ ApplicationWindow { } */ Button { - text: "Show Long Error" + // Replicates message box that pops up after selecting new avatar. Includes title. + text: "Confirm Avatar" onClicked: { - desktop.messageBox({ - informativeText: "Diagnostic cycle will be complete in 30 seconds Diagnostic cycle will be complete in 30 seconds Diagnostic cycle will be complete in 30 seconds Diagnostic cycle will be complete in 30 seconds Diagnostic cycle will be complete in 30 seconds Diagnostic cycle will be complete in 30 seconds Diagnostic cycle will be complete in 30 seconds Diagnostic cycle will be complete in 30 seconds ", - text: "Baloney", - icon: OriginalDialogs.StandardIcon.Warning, - detailedText: "sakjd;laskj dksa;dl jka;lsd j;lkjas ;dlkaj s;dlakjd ;alkjda; slkjda; lkjda;lksjd ;alksjd; alksjd ;alksjd; alksjd; alksdjas;ldkjas;lkdja ;kj ;lkasjd; lkj as;dlka jsd;lka jsd;laksjd a" + var messageBox = desktop.messageBox({ + title: "Set Avatar", + text: "Would you like to use 'Albert' for your avatar?", + icon: OriginalDialogs.StandardIcon.Question, + //icon: OriginalDialogs.StandardIcon.Information, // Test informaton icon + //icon: OriginalDialogs.StandardIcon.Warning, // Test warning icon + //icon: OriginalDialogs.StandardIcon.Critical, // Test critical icon + buttons: OriginalDialogs.StandardButton.Ok + OriginalDialogs.StandardButton.Cancel }); + messageBox.selected.connect(function(button) { + console.log("You clicked " + button) + }) } } Button { + // Message without title. text: "Show Error" onClicked: { var messageBox = desktop.messageBox({ @@ -103,6 +111,20 @@ ApplicationWindow { }) } } + Button { + // detailedText is not currently used anywhere in Interface but it is easier to leave in and style good enough. + text: "Show Long Error" + onClicked: { + desktop.messageBox({ + informativeText: "Diagnostic cycle will be complete in 30 seconds Diagnostic cycle will be complete in 30 seconds Diagnostic cycle will be complete in 30 seconds Diagnostic cycle will be complete in 30 seconds Diagnostic cycle will be complete in 30 seconds Diagnostic cycle will be complete in 30 seconds Diagnostic cycle will be complete in 30 seconds Diagnostic cycle will be complete in 30 seconds ", + text: "Baloney", + icon: OriginalDialogs.StandardIcon.Warning, + detailedText: "sakjd;laskj dksa;dl jka;lsd j;lkjas ;dlkaj s;dlakjd ;alkjda; slkjda; lkjda;lksjd ;alksjd; alksjd ;alksjd; alksjd; alksdjas;ldkjas;lkdja ;kj ;lkasjd; lkj as;dlka jsd;lka jsd;laksjd a" + }); + } + } + /* + // There is no such desktop.queryBox() function; may need to update test to cover QueryDialog.qml? Button { text: "Show Query" onClicked: { @@ -120,6 +142,7 @@ ApplicationWindow { }) } } + */ Button { text: "Open Directory" property var builder: Component { From 72fb2ff102e10a14f4fe90c9119235b661a8e806 Mon Sep 17 00:00:00 2001 From: David Rowe Date: Mon, 22 Feb 2016 17:05:57 +1300 Subject: [PATCH 03/16] Make copies of modal window files --- .../resources/qml/windows-uit/ModalFrame.qml | 41 +++++++++++++++++++ .../resources/qml/windows-uit/ModalWindow.qml | 22 ++++++++++ 2 files changed, 63 insertions(+) create mode 100644 interface/resources/qml/windows-uit/ModalFrame.qml create mode 100644 interface/resources/qml/windows-uit/ModalWindow.qml diff --git a/interface/resources/qml/windows-uit/ModalFrame.qml b/interface/resources/qml/windows-uit/ModalFrame.qml new file mode 100644 index 0000000000..25f89a8baa --- /dev/null +++ b/interface/resources/qml/windows-uit/ModalFrame.qml @@ -0,0 +1,41 @@ +// +// ModalFrame.qml +// +// Created by Bradley Austin Davis on 15 Jan 2016 +// Copyright 2015 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 +// + +import QtQuick 2.5 + +import "." +import "../controls" + +Frame { + id: frame + + Item { + anchors.fill: parent + + Rectangle { + id: background + anchors.fill: parent + anchors.margins: -4096 + visible: window.visible + color: "#7f7f7f7f"; + radius: 3; + } + + Text { + y: -implicitHeight - iconSize / 2 + text: window.title + elide: Text.ElideRight + font.bold: true + color: window.focus ? "white" : "gray" + style: Text.Outline; + styleColor: "black" + } + } +} diff --git a/interface/resources/qml/windows-uit/ModalWindow.qml b/interface/resources/qml/windows-uit/ModalWindow.qml new file mode 100644 index 0000000000..47da73281d --- /dev/null +++ b/interface/resources/qml/windows-uit/ModalWindow.qml @@ -0,0 +1,22 @@ +// +// ModalWindow.qml +// +// Created by Bradley Austin Davis on 22 Jan 2016 +// Copyright 2015 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 +// + +import QtQuick 2.5 + +import "." + +Window { + id: root + anchors.centerIn: parent + modality: Qt.ApplicationModal + destroyOnCloseButton: true + destroyOnInvisible: true + frame: ModalFrame{} +} From 42734a0202ce53a09820b2381fcedacf9850af6c Mon Sep 17 00:00:00 2001 From: David Rowe Date: Mon, 22 Feb 2016 21:16:00 +1300 Subject: [PATCH 04/16] Tidy desktop QML dialogs --- interface/resources/qml/desktop/Desktop.qml | 17 +++++++++++------ interface/resources/qml/desktop/FocusHack.qml | 13 ++++++++++--- 2 files changed, 21 insertions(+), 9 deletions(-) diff --git a/interface/resources/qml/desktop/Desktop.qml b/interface/resources/qml/desktop/Desktop.qml index c4ca0ab9a3..7570bf4dac 100644 --- a/interface/resources/qml/desktop/Desktop.qml +++ b/interface/resources/qml/desktop/Desktop.qml @@ -1,13 +1,21 @@ +// +// Desktop.qml +// +// Created by Bradley Austin Davis on 15 Apr 2015 +// Copyright 2015 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 +// + import QtQuick 2.5 import QtQuick.Controls 1.4 -import QtQuick.Dialogs 1.2 as OriginalDialogs; import "../dialogs" import "../menus" import "../js/Utils.js" as Utils -// This is our primary 'desktop' object to which all VR dialogs and -// windows will be childed. +// This is our primary 'desktop' object to which all VR dialogs and windows are childed. FocusScope { id: desktop anchors.fill: parent; @@ -316,6 +324,3 @@ FocusScope { } } - - - diff --git a/interface/resources/qml/desktop/FocusHack.qml b/interface/resources/qml/desktop/FocusHack.qml index 7514705983..e62319b5a7 100644 --- a/interface/resources/qml/desktop/FocusHack.qml +++ b/interface/resources/qml/desktop/FocusHack.qml @@ -1,3 +1,13 @@ +// +// FocusHack.qml +// +// Created by Bradley Austin Davis on 21 Jan 2015 +// Copyright 2016 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 +// + import QtQuick 2.5 FocusScope { @@ -21,6 +31,3 @@ FocusScope { focusTimer.running = true; } } - - - From f7654dce05568ee21ab7be61441060cea6a08eaa Mon Sep 17 00:00:00 2001 From: David Rowe Date: Tue, 23 Feb 2016 13:10:02 +1300 Subject: [PATCH 05/16] Style modal dialog background and border --- .../qml/styles-uit/HifiConstants.qml | 2 ++ interface/resources/qml/windows-uit/Frame.qml | 1 - .../resources/qml/windows-uit/ModalFrame.qml | 24 ++++++++++++++++--- .../resources/qml/windows-uit/ModalWindow.qml | 2 +- .../resources/qml/windows-uit/Window.qml | 4 ++-- 5 files changed, 26 insertions(+), 7 deletions(-) diff --git a/interface/resources/qml/styles-uit/HifiConstants.qml b/interface/resources/qml/styles-uit/HifiConstants.qml index fda90d731a..b18a4498bf 100644 --- a/interface/resources/qml/styles-uit/HifiConstants.qml +++ b/interface/resources/qml/styles-uit/HifiConstants.qml @@ -77,6 +77,8 @@ Item { readonly property real textPadding: 8 readonly property real tablePadding: 12 readonly property real tableRowHeight: largeScreen ? 26 : 23 + readonly property real modalDialogMargin: 50 + readonly property real modalDialogTitleHeight: 40 // DJRTODO: Use } Item { diff --git a/interface/resources/qml/windows-uit/Frame.qml b/interface/resources/qml/windows-uit/Frame.qml index 7f9e927d29..8dfd3a293f 100644 --- a/interface/resources/qml/windows-uit/Frame.qml +++ b/interface/resources/qml/windows-uit/Frame.qml @@ -18,7 +18,6 @@ Item { id: frame HifiConstants { id: hifi } - property alias window: frame.parent // Convenience accessor for the window default property var decoration readonly property int iconSize: 22 diff --git a/interface/resources/qml/windows-uit/ModalFrame.qml b/interface/resources/qml/windows-uit/ModalFrame.qml index 25f89a8baa..9c2e18d0f4 100644 --- a/interface/resources/qml/windows-uit/ModalFrame.qml +++ b/interface/resources/qml/windows-uit/ModalFrame.qml @@ -14,11 +14,29 @@ import "." import "../controls" Frame { - id: frame - Item { - anchors.fill: parent + id: modalFrame + anchors.fill: parent + anchors.margins: 0 + + readonly property bool hasTitle: window.title != "" + + Rectangle { + anchors { + topMargin: -hifi.dimensions.modalDialogMargin - (modalFrame.hasTitle ? hifi.dimensions.modalDialogTitleHeight : 0) + leftMargin: -hifi.dimensions.modalDialogMargin + rightMargin: -hifi.dimensions.modalDialogMargin + bottomMargin: -hifi.dimensions.modalDialogMargin + fill: parent + } + border { + width: hifi.dimensions.borderWidth + color: hifi.colors.lightGrayText80 + } + radius: hifi.dimensions.borderRadius + color: hifi.colors.faintGray + } Rectangle { id: background anchors.fill: parent diff --git a/interface/resources/qml/windows-uit/ModalWindow.qml b/interface/resources/qml/windows-uit/ModalWindow.qml index 47da73281d..af099eb275 100644 --- a/interface/resources/qml/windows-uit/ModalWindow.qml +++ b/interface/resources/qml/windows-uit/ModalWindow.qml @@ -13,7 +13,7 @@ import QtQuick 2.5 import "." Window { - id: root + id: window anchors.centerIn: parent modality: Qt.ApplicationModal destroyOnCloseButton: true diff --git a/interface/resources/qml/windows-uit/Window.qml b/interface/resources/qml/windows-uit/Window.qml index caf465fb58..8a1cd44c8b 100644 --- a/interface/resources/qml/windows-uit/Window.qml +++ b/interface/resources/qml/windows-uit/Window.qml @@ -133,12 +133,13 @@ Fadable { anchors.fill: parent anchors.rightMargin: parent.isScrolling ? 11 : 0 color: hifi.colors.baseGray + visible: modality != Qt.ApplicationModal } LinearGradient { // FIXME: Alpha gradients display as fuschia under QtQuick 2.5 on OSX. // Check again when have a later version of QtQuick. - visible: Qt.platform.os != "osx" + visible: modality != Qt.ApplicationModal && Qt.platform.os != "osx" anchors.top: contentBackground.bottom anchors.left: contentBackground.left width: contentBackground.width - 1 @@ -201,7 +202,6 @@ Fadable { } } } - children: [ swallower, frame, pane, activator ] Component.onCompleted: { raise(); setDefaultFocus(); } From e86b36b00f9b98e8b611a74b09fc44bb52843d70 Mon Sep 17 00:00:00 2001 From: David Rowe Date: Tue, 23 Feb 2016 13:12:29 +1300 Subject: [PATCH 06/16] Don't whitewash screen when modal dialog is displayed Focus shadow is used instead. --- interface/resources/qml/windows-uit/ModalFrame.qml | 8 -------- 1 file changed, 8 deletions(-) diff --git a/interface/resources/qml/windows-uit/ModalFrame.qml b/interface/resources/qml/windows-uit/ModalFrame.qml index 9c2e18d0f4..740f563ba3 100644 --- a/interface/resources/qml/windows-uit/ModalFrame.qml +++ b/interface/resources/qml/windows-uit/ModalFrame.qml @@ -37,14 +37,6 @@ Frame { radius: hifi.dimensions.borderRadius color: hifi.colors.faintGray } - Rectangle { - id: background - anchors.fill: parent - anchors.margins: -4096 - visible: window.visible - color: "#7f7f7f7f"; - radius: 3; - } Text { y: -implicitHeight - iconSize / 2 From f1921b4e38079219623642431f8cd8c96b1f5b29 Mon Sep 17 00:00:00 2001 From: David Rowe Date: Tue, 23 Feb 2016 13:14:38 +1300 Subject: [PATCH 07/16] Style modal dialog title --- .../resources/qml/windows-uit/ModalFrame.qml | 26 ++++++++++++++----- 1 file changed, 19 insertions(+), 7 deletions(-) diff --git a/interface/resources/qml/windows-uit/ModalFrame.qml b/interface/resources/qml/windows-uit/ModalFrame.qml index 740f563ba3..fd6d13c235 100644 --- a/interface/resources/qml/windows-uit/ModalFrame.qml +++ b/interface/resources/qml/windows-uit/ModalFrame.qml @@ -11,7 +11,8 @@ import QtQuick 2.5 import "." -import "../controls" +import "../controls-uit" +import "../styles-uit" Frame { Item { @@ -38,14 +39,25 @@ Frame { color: hifi.colors.faintGray } - Text { - y: -implicitHeight - iconSize / 2 + RalewayRegular { text: window.title elide: Text.ElideRight - font.bold: true - color: window.focus ? "white" : "gray" - style: Text.Outline; - styleColor: "black" + color: hifi.colors.baseGrayHighlight + size: hifi.fontSizes.overlayTitle + y: -hifi.dimensions.modalDialogTitleHeight + anchors { + left: parent.left + right: parent.right + } + horizontalAlignment: Text.AlignHCenter + visible: modalFrame.hasTitle + } + Rectangle { + anchors.left: parent.left + anchors.right: parent.right + height: 1 + color: hifi.colors.lightGray + visible: modalFrame.hasTitle } } } From 33cfe8f21fdb6a31bc5894595012b4063d470084 Mon Sep 17 00:00:00 2001 From: David Rowe Date: Tue, 23 Feb 2016 13:31:08 +1300 Subject: [PATCH 08/16] Style modal dialog icon and message --- .../resources/qml/dialogs/MessageDialog.qml | 45 +++++++++++-------- 1 file changed, 27 insertions(+), 18 deletions(-) diff --git a/interface/resources/qml/dialogs/MessageDialog.qml b/interface/resources/qml/dialogs/MessageDialog.qml index 3b7cc2c9a8..32db266f9d 100644 --- a/interface/resources/qml/dialogs/MessageDialog.qml +++ b/interface/resources/qml/dialogs/MessageDialog.qml @@ -1,10 +1,21 @@ +// +// Desktop.qml +// +// Created by Bradley Austin Davis on 25 Apr 2015 +// Copyright 2015 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 +// + import QtQuick 2.5 -import QtQuick.Controls 1.2 +import QtQuick.Controls 1.4 import QtQuick.Dialogs 1.2 as OriginalDialogs -import "../controls" -import "../styles" -import "../windows" +import "../controls-uit" +import "../styles-uit" +import "../windows-uit" + import "messageDialog" // FIXME respect default button functionality @@ -39,17 +50,16 @@ ModalWindow { property int clickedButton: OriginalDialogs.StandardButton.NoButton; focus: defaultButton === OriginalDialogs.StandardButton.NoButton - Rectangle { + Item { id: messageBox clip: true - anchors.fill: parent - radius: 4 - color: "white" + width: pane.width + height: pane.height QtObject { id: d - readonly property real spacing: hifi.layout.spacing - readonly property real outerSpacing: hifi.layout.spacing * 2 + readonly property real spacing: hifi.dimensions.contentSpacing.x + readonly property real outerSpacing: hifi.dimensions.contentSpacing.y readonly property int minWidth: 480 readonly property int maxWdith: 1280 readonly property int minHeight: 160 @@ -65,16 +75,16 @@ ModalWindow { FontAwesome { id: iconHolder - size: 48 + size: 30 anchors { left: parent.left top: parent.top margins: d.spacing * 2 } + color: hifi.colors.lightGrayText verticalAlignment: Text.AlignVCenter horizontalAlignment: Text.AlignHCenter - style: Text.Outline; styleColor: "black" Component.onCompleted: updateIcon(); function updateIcon() { if (!root) { @@ -83,22 +93,18 @@ ModalWindow { switch (root.icon) { case OriginalDialogs.StandardIcon.Information: text = "\uF05A"; - color = "blue"; break; case OriginalDialogs.StandardIcon.Question: text = "\uF059" - color = "blue"; break; case OriginalDialogs.StandardIcon.Warning: text = "\uF071" - color = "yellow"; break; case OriginalDialogs.StandardIcon.Critical: text = "\uF057" - color = "red" break; default: @@ -108,12 +114,15 @@ ModalWindow { } } - Text { + RalewaySemibold { id: mainTextContainer onHeightChanged: d.resize(); onWidthChanged: d.resize(); wrapMode: Text.WordWrap - font { pointSize: 14; weight: Font.Bold } + size: hifi.fontSizes.menuItem + color: hifi.colors.baseGrayHighlight anchors { left: iconHolder.right; top: parent.top; margins: d.spacing * 2 } + lineHeight: 2 + lineHeightMode: Text.ProportionalHeight } Text { From 84e352a1de9333c4544a522ed595da92de2eae83 Mon Sep 17 00:00:00 2001 From: David Rowe Date: Tue, 23 Feb 2016 14:54:49 +1300 Subject: [PATCH 09/16] Move icon to be in title --- .../resources/qml/dialogs/MessageDialog.qml | 78 ++++++++----------- .../resources/qml/windows-uit/ModalFrame.qml | 34 +++++--- 2 files changed, 56 insertions(+), 56 deletions(-) diff --git a/interface/resources/qml/dialogs/MessageDialog.qml b/interface/resources/qml/dialogs/MessageDialog.qml index 32db266f9d..8524b5ce75 100644 --- a/interface/resources/qml/dialogs/MessageDialog.qml +++ b/interface/resources/qml/dialogs/MessageDialog.qml @@ -43,13 +43,36 @@ ModalWindow { property alias detailedText: detailedText.text property alias text: mainTextContainer.text property alias informativeText: informativeTextContainer.text - onIconChanged: iconHolder.updateIcon(); + onIconChanged: updateIcon(); property int buttons: OriginalDialogs.StandardButton.Ok property int icon: OriginalDialogs.StandardIcon.NoIcon + property string iconText: "" property int defaultButton: OriginalDialogs.StandardButton.NoButton; property int clickedButton: OriginalDialogs.StandardButton.NoButton; focus: defaultButton === OriginalDialogs.StandardButton.NoButton + function updateIcon() { + if (!root) { + return; + } + switch (root.icon) { + case OriginalDialogs.StandardIcon.Information: + iconText = "\uF05A"; + break; + case OriginalDialogs.StandardIcon.Question: + iconText = "\uF059" + break; + case OriginalDialogs.StandardIcon.Warning: + iconText = "\uF071" + break; + case OriginalDialogs.StandardIcon.Critical: + iconText = "\uF057" + break; + default: + iconText = "" + } + } + Item { id: messageBox clip: true @@ -66,61 +89,25 @@ ModalWindow { readonly property int maxHeight: 720 function resize() { - var targetWidth = iconHolder.width + mainTextContainer.width + d.spacing * 6 + var targetWidth = mainTextContainer.width var targetHeight = mainTextContainer.implicitHeight + informativeTextContainer.implicitHeight + d.spacing * 8 + buttons.height + details.height root.width = (targetWidth < d.minWidth) ? d.minWidth : ((targetWidth > d.maxWdith) ? d.maxWidth : targetWidth) root.height = (targetHeight < d.minHeight) ? d.minHeight: ((targetHeight > d.maxHeight) ? d.maxHeight : targetHeight) } } - FontAwesome { - id: iconHolder - size: 30 - anchors { - left: parent.left - top: parent.top - margins: d.spacing * 2 - } - color: hifi.colors.lightGrayText - - verticalAlignment: Text.AlignVCenter - horizontalAlignment: Text.AlignHCenter - Component.onCompleted: updateIcon(); - function updateIcon() { - if (!root) { - return; - } - switch (root.icon) { - case OriginalDialogs.StandardIcon.Information: - text = "\uF05A"; - break; - - case OriginalDialogs.StandardIcon.Question: - text = "\uF059" - break; - - case OriginalDialogs.StandardIcon.Warning: - text = "\uF071" - break; - - case OriginalDialogs.StandardIcon.Critical: - text = "\uF057" - break; - - default: - text = "" - } - visible = (text != ""); - } - } - RalewaySemibold { id: mainTextContainer onHeightChanged: d.resize(); onWidthChanged: d.resize(); wrapMode: Text.WordWrap size: hifi.fontSizes.menuItem color: hifi.colors.baseGrayHighlight - anchors { left: iconHolder.right; top: parent.top; margins: d.spacing * 2 } + anchors { + left: parent.left; + top: parent.top; + margins: 0 + topMargin: hifi.dimensions.contentSpacing.y + } lineHeight: 2 lineHeightMode: Text.ProportionalHeight } @@ -130,7 +117,7 @@ ModalWindow { onHeightChanged: d.resize(); onWidthChanged: d.resize(); wrapMode: Text.WordWrap font.pointSize: 11 - anchors { top: mainTextContainer.bottom; right: parent.right; left: iconHolder.right; margins: d.spacing * 2 } + anchors { top: mainTextContainer.bottom; right: parent.right; left: parent.left; margins: d.spacing * 2 } } Flow { @@ -199,6 +186,7 @@ ModalWindow { } ] + Component.onCompleted: updateIcon(); onStateChanged: d.resize() } diff --git a/interface/resources/qml/windows-uit/ModalFrame.qml b/interface/resources/qml/windows-uit/ModalFrame.qml index fd6d13c235..7cf3af86ec 100644 --- a/interface/resources/qml/windows-uit/ModalFrame.qml +++ b/interface/resources/qml/windows-uit/ModalFrame.qml @@ -39,19 +39,31 @@ Frame { color: hifi.colors.faintGray } - RalewayRegular { - text: window.title - elide: Text.ElideRight - color: hifi.colors.baseGrayHighlight - size: hifi.fontSizes.overlayTitle - y: -hifi.dimensions.modalDialogTitleHeight - anchors { - left: parent.left - right: parent.right - } - horizontalAlignment: Text.AlignHCenter + Item { visible: modalFrame.hasTitle + width: title.width + (window.iconText !== "" ? icon.width + hifi.dimensions.contentSpacing.x : 0) + x: (parent.width - width) / 2 + + FontAwesome { + id: icon + text: window.iconText + size: 30 + color: hifi.colors.lightGrayText + visible: text != "" + y: -hifi.dimensions.modalDialogTitleHeight + anchors.left: parent.left + } + RalewayRegular { + id: title + text: window.title + elide: Text.ElideRight + color: hifi.colors.baseGrayHighlight + size: hifi.fontSizes.overlayTitle + y: -hifi.dimensions.modalDialogTitleHeight + anchors.right: parent.right + } } + Rectangle { anchors.left: parent.left anchors.right: parent.right From 86bb1b1ed8788222a83f629d41f2c19e86603862 Mon Sep 17 00:00:00 2001 From: David Rowe Date: Tue, 23 Feb 2016 17:44:11 +1300 Subject: [PATCH 10/16] Make copy of TextEdit control for restyling --- .../resources/qml/controls-uit/TextEdit.qml | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) create mode 100644 interface/resources/qml/controls-uit/TextEdit.qml diff --git a/interface/resources/qml/controls-uit/TextEdit.qml b/interface/resources/qml/controls-uit/TextEdit.qml new file mode 100644 index 0000000000..d6d0c60af3 --- /dev/null +++ b/interface/resources/qml/controls-uit/TextEdit.qml @@ -0,0 +1,18 @@ +// +// TextEdit.qml +// +// Created by Bradley Austin Davis on 24 Apr 2015 +// Copyright 2015 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 +// + +import QtQuick 2.3 as Original +import "../styles" + +Original.TextEdit { + HifiConstants { id: hifi } + font.family: hifi.fonts.fontFamily + font.pixelSize: hifi.fonts.pixelSize +} From aa32c1f1af21d003b263a079507202fffc7ab105 Mon Sep 17 00:00:00 2001 From: David Rowe Date: Tue, 23 Feb 2016 17:54:02 +1300 Subject: [PATCH 11/16] Restyle modal message dialog content --- .../resources/qml/controls-uit/TextEdit.qml | 19 ++++++--- .../resources/qml/dialogs/MessageDialog.qml | 40 ++++++++++++++----- .../messageDialog/MessageDialogButton.qml | 13 ++++++ .../qml/styles-uit/HifiConstants.qml | 1 + .../resources/qml/windows-uit/ModalFrame.qml | 2 +- 5 files changed, 57 insertions(+), 18 deletions(-) diff --git a/interface/resources/qml/controls-uit/TextEdit.qml b/interface/resources/qml/controls-uit/TextEdit.qml index d6d0c60af3..5edc65a6e5 100644 --- a/interface/resources/qml/controls-uit/TextEdit.qml +++ b/interface/resources/qml/controls-uit/TextEdit.qml @@ -8,11 +8,18 @@ // See the accompanying file LICENSE or http://www.apache.org/licenses/LICENSE-2.0.html // -import QtQuick 2.3 as Original -import "../styles" +import QtQuick 2.5 +import QtQuick.Controls 1.4 +import QtQuick.Controls.Styles 1.4 +import "../styles-uit" -Original.TextEdit { - HifiConstants { id: hifi } - font.family: hifi.fonts.fontFamily - font.pixelSize: hifi.fonts.pixelSize +TextEdit { + + property real size: 32 + + FontLoader { id: ralewaySemibold; source: "../../fonts/Raleway-Semibold.ttf"; } + font.family: ralewaySemibold.name + font.pointSize: size + verticalAlignment: Text.AlignVCenter + horizontalAlignment: Text.AlignLeft } diff --git a/interface/resources/qml/dialogs/MessageDialog.qml b/interface/resources/qml/dialogs/MessageDialog.qml index 8524b5ce75..bac13c5403 100644 --- a/interface/resources/qml/dialogs/MessageDialog.qml +++ b/interface/resources/qml/dialogs/MessageDialog.qml @@ -18,7 +18,6 @@ import "../windows-uit" import "messageDialog" -// FIXME respect default button functionality ModalWindow { id: root HifiConstants { id: hifi } @@ -85,12 +84,15 @@ ModalWindow { readonly property real outerSpacing: hifi.dimensions.contentSpacing.y readonly property int minWidth: 480 readonly property int maxWdith: 1280 - readonly property int minHeight: 160 + readonly property int minHeight: 120 readonly property int maxHeight: 720 function resize() { var targetWidth = mainTextContainer.width - var targetHeight = mainTextContainer.implicitHeight + informativeTextContainer.implicitHeight + d.spacing * 8 + buttons.height + details.height + var targetHeight = mainTextContainer.height + 4 * hifi.dimensions.contentSpacing.y + + (informativeTextContainer.text != "" ? informativeTextContainer.contentHeight + hifi.dimensions.contentSpacing.y : 0) + + buttons.height + + (content.state === "expanded" ? details.implicitHeight + hifi.dimensions.contentSpacing.y : 0) root.width = (targetWidth < d.minWidth) ? d.minWidth : ((targetWidth > d.maxWdith) ? d.maxWidth : targetWidth) root.height = (targetHeight < d.minHeight) ? d.minHeight: ((targetHeight > d.maxHeight) ? d.maxHeight : targetHeight) } @@ -103,8 +105,8 @@ ModalWindow { size: hifi.fontSizes.menuItem color: hifi.colors.baseGrayHighlight anchors { - left: parent.left; top: parent.top; + left: parent.left; margins: 0 topMargin: hifi.dimensions.contentSpacing.y } @@ -112,12 +114,19 @@ ModalWindow { lineHeightMode: Text.ProportionalHeight } - Text { + RalewaySemibold { id: informativeTextContainer onHeightChanged: d.resize(); onWidthChanged: d.resize(); wrapMode: Text.WordWrap - font.pointSize: 11 - anchors { top: mainTextContainer.bottom; right: parent.right; left: parent.left; margins: d.spacing * 2 } + size: hifi.fontSizes.menuItem + color: hifi.colors.baseGrayHighlight + anchors { + top: mainTextContainer.bottom; + left: parent.left; + right: parent.right; + margins: 0 + topMargin: text != "" ? hifi.dimensions.contentSpacing.y : 0 + } } Flow { @@ -147,8 +156,8 @@ ModalWindow { Button { id: moreButton text: qsTr("Show Details...") - onClicked: { content.state = (content.state === "" ? "expanded" : "") - } + width: 160 + onClicked: { content.state = (content.state === "" ? "expanded" : "") } visible: detailedText && detailedText.length > 0 } MessageDialogButton { dialog: root; text: qsTr("Help"); button: OriginalDialogs.StandardButton.Help; } @@ -157,10 +166,16 @@ ModalWindow { Item { id: details width: parent.width - implicitHeight: detailedText.implicitHeight + root.spacing + implicitHeight: detailedText.implicitHeight height: 0 clip: true - anchors { bottom: parent.bottom; left: parent.left; right: parent.right; margins: d.spacing * 2 } + anchors { + top: buttons.bottom + left: parent.left; + right: parent.right; + margins: 0 + topMargin: hifi.dimensions.contentSpacing.y + } Flickable { id: flickable contentHeight: detailedText.height @@ -169,10 +184,13 @@ ModalWindow { anchors.bottomMargin: root.outerSpacing TextEdit { id: detailedText + size: hifi.fontSizes.menuItem + color: hifi.colors.baseGrayHighlight width: details.width wrapMode: Text.WordWrap readOnly: true selectByMouse: true + anchors.margins: 0 } } } diff --git a/interface/resources/qml/dialogs/messageDialog/MessageDialogButton.qml b/interface/resources/qml/dialogs/messageDialog/MessageDialogButton.qml index 2bcb3d1f29..b7ff9354eb 100644 --- a/interface/resources/qml/dialogs/messageDialog/MessageDialogButton.qml +++ b/interface/resources/qml/dialogs/messageDialog/MessageDialogButton.qml @@ -1,11 +1,24 @@ +// +// MessageDialogButton.qml +// +// Created by Bradley Austin Davis on 29 Jan 2016 +// Copyright 2015 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 +// + import QtQuick 2.5 import QtQuick.Controls 1.2 import QtQuick.Dialogs 1.2 +import "../../controls-uit" + Button { property var dialog; property int button: StandardButton.NoButton; + color: dialog.defaultButton === button ? hifi.buttons.blue : hifi.buttons.white focus: dialog.defaultButton === button onClicked: dialog.click(button) visible: dialog.buttons & button diff --git a/interface/resources/qml/styles-uit/HifiConstants.qml b/interface/resources/qml/styles-uit/HifiConstants.qml index b18a4498bf..466feb88d5 100644 --- a/interface/resources/qml/styles-uit/HifiConstants.qml +++ b/interface/resources/qml/styles-uit/HifiConstants.qml @@ -42,6 +42,7 @@ Item { readonly property color baseGrayShadow60: "#99252525" readonly property color baseGrayHighlight40: "#66575757" readonly property color baseGrayHighlight15: "#26575757" + readonly property color lightGrayText80: "#ccafafaf" readonly property color faintGray50: "#80e3e3e3" // Other colors diff --git a/interface/resources/qml/windows-uit/ModalFrame.qml b/interface/resources/qml/windows-uit/ModalFrame.qml index 7cf3af86ec..b76996a873 100644 --- a/interface/resources/qml/windows-uit/ModalFrame.qml +++ b/interface/resources/qml/windows-uit/ModalFrame.qml @@ -50,7 +50,7 @@ Frame { size: 30 color: hifi.colors.lightGrayText visible: text != "" - y: -hifi.dimensions.modalDialogTitleHeight + y: -hifi.dimensions.modalDialogTitleHeight - 3 anchors.left: parent.left } RalewayRegular { From 49c229897f53a874b59ac63a997623c7190920e8 Mon Sep 17 00:00:00 2001 From: David Rowe Date: Tue, 23 Feb 2016 17:55:36 +1300 Subject: [PATCH 12/16] Give the "change avatar?" confirmation dialog a default action --- interface/src/Application.cpp | 2 +- tests/ui/qml/main.qml | 6 ++++-- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/interface/src/Application.cpp b/interface/src/Application.cpp index 7c1fd9279b..0268bc52a4 100644 --- a/interface/src/Application.cpp +++ b/interface/src/Application.cpp @@ -4315,7 +4315,7 @@ bool Application::askToSetAvatarUrl(const QString& url) { case FSTReader::HEAD_AND_BODY_MODEL: ok = QMessageBox::Ok == OffscreenUi::question("Set Avatar", "Would you like to use '" + modelName + "' for your avatar?", - QMessageBox::Ok | QMessageBox::Cancel); + QMessageBox::Ok | QMessageBox::Cancel, QMessageBox::Ok); break; default: diff --git a/tests/ui/qml/main.qml b/tests/ui/qml/main.qml index d5ef2584f5..0bdfdb64b9 100644 --- a/tests/ui/qml/main.qml +++ b/tests/ui/qml/main.qml @@ -87,11 +87,13 @@ ApplicationWindow { var messageBox = desktop.messageBox({ title: "Set Avatar", text: "Would you like to use 'Albert' for your avatar?", - icon: OriginalDialogs.StandardIcon.Question, + icon: OriginalDialogs.StandardIcon.Question, // Test question icon //icon: OriginalDialogs.StandardIcon.Information, // Test informaton icon //icon: OriginalDialogs.StandardIcon.Warning, // Test warning icon //icon: OriginalDialogs.StandardIcon.Critical, // Test critical icon - buttons: OriginalDialogs.StandardButton.Ok + OriginalDialogs.StandardButton.Cancel + //icon: OriginalDialogs.StandardIcon.NoIcon, // Test no icon + buttons: OriginalDialogs.StandardButton.Ok + OriginalDialogs.StandardButton.Cancel, + defaultButton: OriginalDialogs.StandardButton.Ok }); messageBox.selected.connect(function(button) { console.log("You clicked " + button) From b09a20187abaa3c9a7a26adb31d4b1460f1604c6 Mon Sep 17 00:00:00 2001 From: David Rowe Date: Tue, 23 Feb 2016 17:57:21 +1300 Subject: [PATCH 13/16] Reverse order buttons appear in to make more consistent with Windows --- .../resources/qml/dialogs/MessageDialog.qml | 40 +++++++++++-------- 1 file changed, 23 insertions(+), 17 deletions(-) diff --git a/interface/resources/qml/dialogs/MessageDialog.qml b/interface/resources/qml/dialogs/MessageDialog.qml index bac13c5403..f31b5cf41d 100644 --- a/interface/resources/qml/dialogs/MessageDialog.qml +++ b/interface/resources/qml/dialogs/MessageDialog.qml @@ -135,24 +135,30 @@ ModalWindow { spacing: d.spacing onHeightChanged: d.resize(); onWidthChanged: d.resize(); layoutDirection: Qt.RightToLeft - anchors { bottom: details.top; right: parent.right; margins: d.spacing * 2; bottomMargin: 0 } - MessageDialogButton { dialog: root; text: qsTr("OK"); button: OriginalDialogs.StandardButton.Ok; } - MessageDialogButton { dialog: root; text: qsTr("Open"); button: OriginalDialogs.StandardButton.Open; } - MessageDialogButton { dialog: root; text: qsTr("Save"); button: OriginalDialogs.StandardButton.Save; } - MessageDialogButton { dialog: root; text: qsTr("Save All"); button: OriginalDialogs.StandardButton.SaveAll; } - MessageDialogButton { dialog: root; text: qsTr("Retry"); button: OriginalDialogs.StandardButton.Retry; } - MessageDialogButton { dialog: root; text: qsTr("Ignore"); button: OriginalDialogs.StandardButton.Ignore; } - MessageDialogButton { dialog: root; text: qsTr("Apply"); button: OriginalDialogs.StandardButton.Apply; } - MessageDialogButton { dialog: root; text: qsTr("Yes"); button: OriginalDialogs.StandardButton.Yes; } - MessageDialogButton { dialog: root; text: qsTr("Yes to All"); button: OriginalDialogs.StandardButton.YesToAll; } - MessageDialogButton { dialog: root; text: qsTr("No"); button: OriginalDialogs.StandardButton.No; } - MessageDialogButton { dialog: root; text: qsTr("No to All"); button: OriginalDialogs.StandardButton.NoToAll; } - MessageDialogButton { dialog: root; text: qsTr("Discard"); button: OriginalDialogs.StandardButton.Discard; } - MessageDialogButton { dialog: root; text: qsTr("Reset"); button: OriginalDialogs.StandardButton.Reset; } - MessageDialogButton { dialog: root; text: qsTr("Restore Defaults"); button: OriginalDialogs.StandardButton.RestoreDefaults; } - MessageDialogButton { dialog: root; text: qsTr("Cancel"); button: OriginalDialogs.StandardButton.Cancel; } - MessageDialogButton { dialog: root; text: qsTr("Abort"); button: OriginalDialogs.StandardButton.Abort; } + anchors { + top: informativeTextContainer.bottom + horizontalCenter: parent.horizontalCenter + margins: 0 + topMargin: hifi.dimensions.contentSpacing.y + } MessageDialogButton { dialog: root; text: qsTr("Close"); button: OriginalDialogs.StandardButton.Close; } + MessageDialogButton { dialog: root; text: qsTr("Abort"); button: OriginalDialogs.StandardButton.Abort; } + MessageDialogButton { dialog: root; text: qsTr("Cancel"); button: OriginalDialogs.StandardButton.Cancel; } + MessageDialogButton { dialog: root; text: qsTr("Restore Defaults"); button: OriginalDialogs.StandardButton.RestoreDefaults; } + MessageDialogButton { dialog: root; text: qsTr("Reset"); button: OriginalDialogs.StandardButton.Reset; } + MessageDialogButton { dialog: root; text: qsTr("Discard"); button: OriginalDialogs.StandardButton.Discard; } + MessageDialogButton { dialog: root; text: qsTr("No to All"); button: OriginalDialogs.StandardButton.NoToAll; } + MessageDialogButton { dialog: root; text: qsTr("No"); button: OriginalDialogs.StandardButton.No; } + MessageDialogButton { dialog: root; text: qsTr("Yes to All"); button: OriginalDialogs.StandardButton.YesToAll; } + MessageDialogButton { dialog: root; text: qsTr("Yes"); button: OriginalDialogs.StandardButton.Yes; } + MessageDialogButton { dialog: root; text: qsTr("Apply"); button: OriginalDialogs.StandardButton.Apply; } + MessageDialogButton { dialog: root; text: qsTr("Ignore"); button: OriginalDialogs.StandardButton.Ignore; } + MessageDialogButton { dialog: root; text: qsTr("Retry"); button: OriginalDialogs.StandardButton.Retry; } + MessageDialogButton { dialog: root; text: qsTr("Save All"); button: OriginalDialogs.StandardButton.SaveAll; } + MessageDialogButton { dialog: root; text: qsTr("Save"); button: OriginalDialogs.StandardButton.Save; } + MessageDialogButton { dialog: root; text: qsTr("Open"); button: OriginalDialogs.StandardButton.Open; } + MessageDialogButton { dialog: root; text: qsTr("OK"); button: OriginalDialogs.StandardButton.Ok; } + Button { id: moreButton text: qsTr("Show Details...") From 0e3cbd2930ec226c32db92e8b7569eb7e61bdc30 Mon Sep 17 00:00:00 2001 From: David Rowe Date: Tue, 23 Feb 2016 18:05:49 +1300 Subject: [PATCH 14/16] Tidying --- interface/resources/qml/styles-uit/HifiConstants.qml | 2 +- interface/resources/qml/windows-uit/Window.qml | 2 ++ 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/interface/resources/qml/styles-uit/HifiConstants.qml b/interface/resources/qml/styles-uit/HifiConstants.qml index 466feb88d5..da904d5edb 100644 --- a/interface/resources/qml/styles-uit/HifiConstants.qml +++ b/interface/resources/qml/styles-uit/HifiConstants.qml @@ -79,7 +79,7 @@ Item { readonly property real tablePadding: 12 readonly property real tableRowHeight: largeScreen ? 26 : 23 readonly property real modalDialogMargin: 50 - readonly property real modalDialogTitleHeight: 40 // DJRTODO: Use + readonly property real modalDialogTitleHeight: 40 } Item { diff --git a/interface/resources/qml/windows-uit/Window.qml b/interface/resources/qml/windows-uit/Window.qml index 8a1cd44c8b..2bc0175bf2 100644 --- a/interface/resources/qml/windows-uit/Window.qml +++ b/interface/resources/qml/windows-uit/Window.qml @@ -58,6 +58,8 @@ Fadable { // The content to place inside the window, determined by the client default property var content + function setDefaultFocus() {} // Default function; can be overridden by dialogs. + property var rectifier: Timer { property bool executing: false; interval: 100 From 6bf377aac84c46a10f81c9dd9b3ff1c0daba316f Mon Sep 17 00:00:00 2001 From: David Rowe Date: Tue, 23 Feb 2016 18:16:32 +1300 Subject: [PATCH 15/16] Move FontAwesome.qml to be with other font files --- .../resources/qml/{controls-uit => styles-uit}/FontAwesome.qml | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename interface/resources/qml/{controls-uit => styles-uit}/FontAwesome.qml (100%) diff --git a/interface/resources/qml/controls-uit/FontAwesome.qml b/interface/resources/qml/styles-uit/FontAwesome.qml similarity index 100% rename from interface/resources/qml/controls-uit/FontAwesome.qml rename to interface/resources/qml/styles-uit/FontAwesome.qml From a816d835d3129350eaa7488e52b39c606cfae350 Mon Sep 17 00:00:00 2001 From: David Rowe Date: Wed, 24 Feb 2016 13:59:43 +1300 Subject: [PATCH 16/16] Finesse modal message box dialog layout --- interface/resources/qml/dialogs/MessageDialog.qml | 14 +++++++------- .../resources/qml/styles-uit/HifiConstants.qml | 2 +- interface/resources/qml/windows-uit/ModalFrame.qml | 10 +++++----- 3 files changed, 13 insertions(+), 13 deletions(-) diff --git a/interface/resources/qml/dialogs/MessageDialog.qml b/interface/resources/qml/dialogs/MessageDialog.qml index f31b5cf41d..21d17c4e54 100644 --- a/interface/resources/qml/dialogs/MessageDialog.qml +++ b/interface/resources/qml/dialogs/MessageDialog.qml @@ -89,8 +89,8 @@ ModalWindow { function resize() { var targetWidth = mainTextContainer.width - var targetHeight = mainTextContainer.height + 4 * hifi.dimensions.contentSpacing.y - + (informativeTextContainer.text != "" ? informativeTextContainer.contentHeight + hifi.dimensions.contentSpacing.y : 0) + var targetHeight = mainTextContainer.height + 3 * hifi.dimensions.contentSpacing.y + + (informativeTextContainer.text != "" ? informativeTextContainer.contentHeight + 3 * hifi.dimensions.contentSpacing.y : 0) + buttons.height + (content.state === "expanded" ? details.implicitHeight + hifi.dimensions.contentSpacing.y : 0) root.width = (targetWidth < d.minWidth) ? d.minWidth : ((targetWidth > d.maxWdith) ? d.maxWidth : targetWidth) @@ -121,9 +121,9 @@ ModalWindow { size: hifi.fontSizes.menuItem color: hifi.colors.baseGrayHighlight anchors { - top: mainTextContainer.bottom; - left: parent.left; - right: parent.right; + top: mainTextContainer.bottom + left: parent.left + right: parent.right margins: 0 topMargin: text != "" ? hifi.dimensions.contentSpacing.y : 0 } @@ -136,10 +136,10 @@ ModalWindow { onHeightChanged: d.resize(); onWidthChanged: d.resize(); layoutDirection: Qt.RightToLeft anchors { - top: informativeTextContainer.bottom + top: informativeTextContainer.text == "" ? mainTextContainer.bottom : informativeTextContainer.bottom horizontalCenter: parent.horizontalCenter margins: 0 - topMargin: hifi.dimensions.contentSpacing.y + topMargin: 2 * hifi.dimensions.contentSpacing.y } MessageDialogButton { dialog: root; text: qsTr("Close"); button: OriginalDialogs.StandardButton.Close; } MessageDialogButton { dialog: root; text: qsTr("Abort"); button: OriginalDialogs.StandardButton.Abort; } diff --git a/interface/resources/qml/styles-uit/HifiConstants.qml b/interface/resources/qml/styles-uit/HifiConstants.qml index e18380f492..77e74163c3 100644 --- a/interface/resources/qml/styles-uit/HifiConstants.qml +++ b/interface/resources/qml/styles-uit/HifiConstants.qml @@ -79,7 +79,7 @@ Item { readonly property real textPadding: 8 readonly property real tablePadding: 12 readonly property real tableRowHeight: largeScreen ? 26 : 23 - readonly property real modalDialogMargin: 50 + readonly property vector2d modalDialogMargin: Qt.vector2d(50, 30) readonly property real modalDialogTitleHeight: 40 } diff --git a/interface/resources/qml/windows-uit/ModalFrame.qml b/interface/resources/qml/windows-uit/ModalFrame.qml index b76996a873..17b60061e8 100644 --- a/interface/resources/qml/windows-uit/ModalFrame.qml +++ b/interface/resources/qml/windows-uit/ModalFrame.qml @@ -25,10 +25,10 @@ Frame { Rectangle { anchors { - topMargin: -hifi.dimensions.modalDialogMargin - (modalFrame.hasTitle ? hifi.dimensions.modalDialogTitleHeight : 0) - leftMargin: -hifi.dimensions.modalDialogMargin - rightMargin: -hifi.dimensions.modalDialogMargin - bottomMargin: -hifi.dimensions.modalDialogMargin + topMargin: -hifi.dimensions.modalDialogMargin.y - (modalFrame.hasTitle ? hifi.dimensions.modalDialogTitleHeight + 10 : 0) + leftMargin: -hifi.dimensions.modalDialogMargin.x + rightMargin: -hifi.dimensions.modalDialogMargin.x + bottomMargin: -hifi.dimensions.modalDialogMargin.y fill: parent } border { @@ -50,7 +50,7 @@ Frame { size: 30 color: hifi.colors.lightGrayText visible: text != "" - y: -hifi.dimensions.modalDialogTitleHeight - 3 + y: -hifi.dimensions.modalDialogTitleHeight - 5 anchors.left: parent.left } RalewayRegular {