From d70943dd6c37ebc36760c1bc1caeaf8a86302b02 Mon Sep 17 00:00:00 2001 From: Vladyslav Stelmakhovskyi Date: Sat, 11 Mar 2017 12:23:31 +0100 Subject: [PATCH 1/2] Add Graphics preferences to Tablet. Use TabletComboBox instead of desktop ComboBox for Tablet preferences --- .../hifi/tablet/TabletGraphicsPreferences.qml | 34 ++++++++++ .../tabletWindows/preferences/Section.qml | 2 +- .../preferences/TabletComboBoxPreference.qml | 65 +++++++++++++++++++ interface/src/Menu.cpp | 3 +- 4 files changed, 102 insertions(+), 2 deletions(-) create mode 100644 interface/resources/qml/hifi/tablet/TabletGraphicsPreferences.qml create mode 100644 interface/resources/qml/hifi/tablet/tabletWindows/preferences/TabletComboBoxPreference.qml diff --git a/interface/resources/qml/hifi/tablet/TabletGraphicsPreferences.qml b/interface/resources/qml/hifi/tablet/TabletGraphicsPreferences.qml new file mode 100644 index 0000000000..2ca9634ee6 --- /dev/null +++ b/interface/resources/qml/hifi/tablet/TabletGraphicsPreferences.qml @@ -0,0 +1,34 @@ +import QtQuick 2.5 +import Qt.labs.settings 1.0 + +import "tabletWindows" +import "../../dialogs" +import QtQuick.Controls 1.4 +import QtQuick.Controls.Styles 1.4 +import QtGraphicalEffects 1.0 + +StackView { + id: profileRoot + initialItem: root + objectName: "stack" + + property var eventBridge; + signal sendToScript(var message); + + function pushSource(path) { + editRoot.push(Qt.reslovedUrl(path)); + } + + function popSource() { + + } + + TabletPreferencesDialog { + id: root + property string title: "Graphics Settings" + objectName: "TabletGraphicsPreferences" + width: parent.width + height: parent.height + showCategories: ["Graphics"] + } +} diff --git a/interface/resources/qml/hifi/tablet/tabletWindows/preferences/Section.qml b/interface/resources/qml/hifi/tablet/tabletWindows/preferences/Section.qml index 3d6dfa10ce..54f616e0f4 100644 --- a/interface/resources/qml/hifi/tablet/tabletWindows/preferences/Section.qml +++ b/interface/resources/qml/hifi/tablet/tabletWindows/preferences/Section.qml @@ -80,7 +80,7 @@ Preference { property var sliderBuilder: Component { SliderPreference { } } property var avatarBuilder: Component { AvatarPreference { } } property var buttonBuilder: Component { ButtonPreference { } } - property var comboBoxBuilder: Component { ComboBoxPreference { } } + property var comboBoxBuilder: Component { TabletComboBoxPreference { } } property var preferences: [] property int checkBoxCount: 0 diff --git a/interface/resources/qml/hifi/tablet/tabletWindows/preferences/TabletComboBoxPreference.qml b/interface/resources/qml/hifi/tablet/tabletWindows/preferences/TabletComboBoxPreference.qml new file mode 100644 index 0000000000..0ff000f3e1 --- /dev/null +++ b/interface/resources/qml/hifi/tablet/tabletWindows/preferences/TabletComboBoxPreference.qml @@ -0,0 +1,65 @@ +// +// ComboBoxPreference.qml +// +// Created by Bradley Austin Davis on 18 Jan 2016 +// 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 + +import QtQuick.Controls 1.4 +import QtQuick.Controls.Styles 1.4 +import "../../../../controls-uit" as HiFiControls +import "../../../../styles-uit" + +Preference { + id: root + height: control.height + hifi.dimensions.controlInterlineHeight + + Component.onCompleted: { + dataComboBox.currentIndex = dataComboBox.comboBox.find(preference.value); + } + + function save() { + preference.value = dataComboBox.currentText; + preference.save(); + } + + Item { + id: control + anchors { + left: parent.left + right: parent.right + bottom: parent.bottom + } + height: Math.max(labelText.height, dataComboBox.controlHeight) + + HiFiControls.Label { + id: labelText + text: root.label + ":" + colorScheme: hifi.colorSchemes.dark + anchors { + left: parent.left + right: dataComboBox.left + rightMargin: hifi.dimensions.labelPadding + verticalCenter: parent.verticalCenter + } + horizontalAlignment: Text.AlignRight + wrapMode: Text.Wrap + } + + HiFiControls.TabletComboBox { + id: dataComboBox + model: preference.items + width: 150 + anchors { + right: parent.right + verticalCenter: parent.verticalCenter + } + colorScheme: hifi.colorSchemes.dark + } + } +} diff --git a/interface/src/Menu.cpp b/interface/src/Menu.cpp index 241f908190..d53f6b6c7a 100644 --- a/interface/src/Menu.cpp +++ b/interface/src/Menu.cpp @@ -329,7 +329,8 @@ Menu::Menu() { // Developer > Graphics... action = addActionToQMenuAndActionHash(developerMenu, "Graphics..."); connect(action, &QAction::triggered, [] { - DependencyManager::get()->toggle(QString("hifi/dialogs/GraphicsPreferencesDialog.qml"), "GraphicsPreferencesDialog"); + qApp->showDialog(QString("hifi/dialogs/GraphicsPreferencesDialog.qml"), + QString("../../hifi/tablet/TabletGraphicsPreferences.qml"), "GraphicsPreferencesDialog"); }); // Developer > Render >>> From 0accce5337f7ed1a172f731d4364cea84b958a9e Mon Sep 17 00:00:00 2001 From: Vladyslav Stelmakhovskyi Date: Tue, 14 Mar 2017 15:53:41 +0100 Subject: [PATCH 2/2] TabletComboBoxPreference.qml not needed anymore --- .../tabletWindows/preferences/Section.qml | 2 +- .../preferences/TabletComboBoxPreference.qml | 65 ------------------- 2 files changed, 1 insertion(+), 66 deletions(-) delete mode 100644 interface/resources/qml/hifi/tablet/tabletWindows/preferences/TabletComboBoxPreference.qml diff --git a/interface/resources/qml/hifi/tablet/tabletWindows/preferences/Section.qml b/interface/resources/qml/hifi/tablet/tabletWindows/preferences/Section.qml index 54f616e0f4..3d6dfa10ce 100644 --- a/interface/resources/qml/hifi/tablet/tabletWindows/preferences/Section.qml +++ b/interface/resources/qml/hifi/tablet/tabletWindows/preferences/Section.qml @@ -80,7 +80,7 @@ Preference { property var sliderBuilder: Component { SliderPreference { } } property var avatarBuilder: Component { AvatarPreference { } } property var buttonBuilder: Component { ButtonPreference { } } - property var comboBoxBuilder: Component { TabletComboBoxPreference { } } + property var comboBoxBuilder: Component { ComboBoxPreference { } } property var preferences: [] property int checkBoxCount: 0 diff --git a/interface/resources/qml/hifi/tablet/tabletWindows/preferences/TabletComboBoxPreference.qml b/interface/resources/qml/hifi/tablet/tabletWindows/preferences/TabletComboBoxPreference.qml deleted file mode 100644 index 0ff000f3e1..0000000000 --- a/interface/resources/qml/hifi/tablet/tabletWindows/preferences/TabletComboBoxPreference.qml +++ /dev/null @@ -1,65 +0,0 @@ -// -// ComboBoxPreference.qml -// -// Created by Bradley Austin Davis on 18 Jan 2016 -// 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 - -import QtQuick.Controls 1.4 -import QtQuick.Controls.Styles 1.4 -import "../../../../controls-uit" as HiFiControls -import "../../../../styles-uit" - -Preference { - id: root - height: control.height + hifi.dimensions.controlInterlineHeight - - Component.onCompleted: { - dataComboBox.currentIndex = dataComboBox.comboBox.find(preference.value); - } - - function save() { - preference.value = dataComboBox.currentText; - preference.save(); - } - - Item { - id: control - anchors { - left: parent.left - right: parent.right - bottom: parent.bottom - } - height: Math.max(labelText.height, dataComboBox.controlHeight) - - HiFiControls.Label { - id: labelText - text: root.label + ":" - colorScheme: hifi.colorSchemes.dark - anchors { - left: parent.left - right: dataComboBox.left - rightMargin: hifi.dimensions.labelPadding - verticalCenter: parent.verticalCenter - } - horizontalAlignment: Text.AlignRight - wrapMode: Text.Wrap - } - - HiFiControls.TabletComboBox { - id: dataComboBox - model: preference.items - width: 150 - anchors { - right: parent.right - verticalCenter: parent.verticalCenter - } - colorScheme: hifi.colorSchemes.dark - } - } -}