Qt 5.9: drop overlay for Shortcut support
Now we required 5.9, can use this everywhere
This commit is contained in:
parent
306cc83744
commit
7313f62353
4 changed files with 24 additions and 79 deletions
|
@ -85,13 +85,6 @@ LauncherMainWindow::LauncherMainWindow() :
|
||||||
setResizeMode(QQuickView::SizeRootObjectToView);
|
setResizeMode(QQuickView::SizeRootObjectToView);
|
||||||
engine()->addImportPath("qrc:///");
|
engine()->addImportPath("qrc:///");
|
||||||
|
|
||||||
// allow selecting different QML files based on the Qt version we are
|
|
||||||
// compiled against
|
|
||||||
auto selector = new QQmlFileSelector(engine(), this);
|
|
||||||
#if QT_VERSION >= 0x050600
|
|
||||||
selector->setExtraSelectors({"qt56"});
|
|
||||||
#endif
|
|
||||||
|
|
||||||
QQmlContext* ctx = rootContext();
|
QQmlContext* ctx = rootContext();
|
||||||
ctx->setContextProperty("_launcher", m_controller);
|
ctx->setContextProperty("_launcher", m_controller);
|
||||||
ctx->setContextProperty("_addOns", addOnsCtl);
|
ctx->setContextProperty("_addOns", addOnsCtl);
|
||||||
|
|
|
@ -1,68 +0,0 @@
|
||||||
import QtQuick 2.6 // so we can use Shortcut
|
|
||||||
import "."
|
|
||||||
import ".."
|
|
||||||
|
|
||||||
BaseMenuItem {
|
|
||||||
id: root
|
|
||||||
|
|
||||||
property alias text: itemText.text
|
|
||||||
property alias shortcut: keyShortcut.sequence
|
|
||||||
|
|
||||||
signal triggered();
|
|
||||||
|
|
||||||
function minWidth() {
|
|
||||||
return itemText.width + shortcutText.width + (Style.inset * 2)
|
|
||||||
}
|
|
||||||
|
|
||||||
Shortcut {
|
|
||||||
id: keyShortcut
|
|
||||||
onActivated: root.triggered();
|
|
||||||
enabled: root.enabled
|
|
||||||
}
|
|
||||||
|
|
||||||
Rectangle {
|
|
||||||
height: parent.height
|
|
||||||
width: parent.width
|
|
||||||
visible: mouse.containsMouse
|
|
||||||
color: "#cfcfcf"
|
|
||||||
}
|
|
||||||
|
|
||||||
Text {
|
|
||||||
id: itemText
|
|
||||||
font.pixelSize: Style.baseFontPixelSize
|
|
||||||
color: mouse.containsMouse ? Style.themeColor :
|
|
||||||
(root.enabled ? Style.baseTextColor : Style.disabledTextColor);
|
|
||||||
|
|
||||||
anchors {
|
|
||||||
left: parent.left
|
|
||||||
leftMargin: Style.inset
|
|
||||||
verticalCenter: parent.verticalCenter
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
Text {
|
|
||||||
id: shortcutText
|
|
||||||
color: Style.disabledTextColor
|
|
||||||
font.pixelSize: Style.baseFontPixelSize
|
|
||||||
width: implicitWidth + Style.inset
|
|
||||||
horizontalAlignment: Text.AlignRight
|
|
||||||
text: keyShortcut.nativeText
|
|
||||||
|
|
||||||
anchors {
|
|
||||||
right: parent.right
|
|
||||||
rightMargin: Style.inset
|
|
||||||
verticalCenter: parent.verticalCenter
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
MouseArea {
|
|
||||||
id: mouse
|
|
||||||
enabled: root.enabled
|
|
||||||
anchors.fill: parent
|
|
||||||
hoverEnabled: root.enabled
|
|
||||||
onClicked: {
|
|
||||||
root.closeMenu();
|
|
||||||
root.triggered();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
|
@ -1,16 +1,22 @@
|
||||||
import QtQuick 2.4
|
import QtQuick 2.6 // so we can use Shortcut
|
||||||
import "."
|
import "."
|
||||||
|
|
||||||
BaseMenuItem {
|
BaseMenuItem {
|
||||||
id: root
|
id: root
|
||||||
|
|
||||||
property alias text: itemText.text
|
property alias text: itemText.text
|
||||||
property string shortcut: "" // for compatability with Qt 5.6 and up
|
property alias shortcut: keyShortcut.sequence
|
||||||
|
|
||||||
signal triggered();
|
signal triggered();
|
||||||
|
|
||||||
function minWidth() {
|
function minWidth() {
|
||||||
return itemText.width + (Style.inset * 2)
|
return itemText.width + shortcutText.width + (Style.inset * 2)
|
||||||
|
}
|
||||||
|
|
||||||
|
Shortcut {
|
||||||
|
id: keyShortcut
|
||||||
|
onActivated: root.triggered();
|
||||||
|
enabled: root.enabled
|
||||||
}
|
}
|
||||||
|
|
||||||
Rectangle {
|
Rectangle {
|
||||||
|
@ -33,6 +39,21 @@ BaseMenuItem {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Text {
|
||||||
|
id: shortcutText
|
||||||
|
color: Style.disabledTextColor
|
||||||
|
font.pixelSize: Style.baseFontPixelSize
|
||||||
|
width: implicitWidth + Style.inset
|
||||||
|
horizontalAlignment: Text.AlignRight
|
||||||
|
text: keyShortcut.nativeText
|
||||||
|
|
||||||
|
anchors {
|
||||||
|
right: parent.right
|
||||||
|
rightMargin: Style.inset
|
||||||
|
verticalCenter: parent.verticalCenter
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
MouseArea {
|
MouseArea {
|
||||||
id: mouse
|
id: mouse
|
||||||
enabled: root.enabled
|
enabled: root.enabled
|
||||||
|
|
|
@ -105,7 +105,6 @@
|
||||||
<file>qml/Menu.qml</file>
|
<file>qml/Menu.qml</file>
|
||||||
<file>qml/BaseMenuItem.qml</file>
|
<file>qml/BaseMenuItem.qml</file>
|
||||||
<file>qml/MenuItem.qml</file>
|
<file>qml/MenuItem.qml</file>
|
||||||
<file>qml/+qt56/MenuItem.qml</file>
|
|
||||||
<file>qml/MenuDivider.qml</file>
|
<file>qml/MenuDivider.qml</file>
|
||||||
<file>qml/ToggleBox.qml</file>
|
<file>qml/ToggleBox.qml</file>
|
||||||
<file>qml/LocationAltitudeRow.qml</file>
|
<file>qml/LocationAltitudeRow.qml</file>
|
||||||
|
|
Loading…
Reference in a new issue