diff --git a/Options.qml b/Options.qml
index c0c44ea..a2e39d9 100644
--- a/Options.qml
+++ b/Options.qml
@@ -48,6 +48,10 @@ Pane {
ToolTip.visible: hovered
ToolTip.text: qsTr("Choose the folder containing the addons")
}
+ Button {
+ icon.name: "delete"
+ onClicked: Engine.setAddonsPath(index)
+ }
}
}
Button {
diff --git a/main.qml b/main.qml
index 769efeb..8afabe9 100644
--- a/main.qml
+++ b/main.qml
@@ -224,25 +224,34 @@ ApplicationWindow {
id: addDialog
title: "Clone Repository"
standardButtons: Dialog.Ok | Dialog.Cancel
- RowLayout {
+ ColumnLayout {
anchors.fill: parent
- TextField {
- Layout.fillWidth: true
- id: addField
- placeholderText: "Git clone url"
- onAccepted: addDialog.accept()
- focus: visible
+ RowLayout {
+ TextField {
+ Layout.fillWidth: true
+ id: addField
+ placeholderText: "Git clone url"
+ onAccepted: addDialog.accept()
+ focus: visible
+ }
+ ToolButton {
+ id: cloneHelpBtn
+ icon.name: "help-whatsthis"
+ onClicked: cloneHelpDialog.visible = true
+ }
}
- ToolButton {
- id: cloneHelpBtn
- icon.name: "help-whatsthis"
- onClicked: cloneHelpDialog.visible = true
+ ComboBox {
+ id: pathChooser
+ visible: Engine.addonsPaths.length > 1
+ model: Engine.addonsPaths
+ currentIndex: 1
+ Layout.fillWidth: true
}
}
focus: visible
modal: true
onAccepted: {
- Engine.clone(addField.text)
+ Engine.clone(addField.text, pathChooser.currentIndex)
addField.clear()
}
onRejected: addField.clear()
@@ -285,11 +294,25 @@ ApplicationWindow {
Dialog {
x: (parent.width - width) / 2
y: (parent.height - height) / 2
- visible: Engine.addonsPaths[0] != "" && !Engine.addonsPaths[0].toLowerCase().match("interface/addons$")
+ property var invalidPaths: {
+ var l = []
+ for (var i = 0; i < Engine.addonsPaths.length; i++)
+ if (Engine.addonsPaths[i] != "" && !Engine.addonsPaths[i].toLowerCase().match("interface/addons$"))
+ l.push(Engine.addonsPaths[i])
+ return l
+ }
+ id: invalidDialog
+ visible: invalidPaths.length > 0
title: qsTr("Warning")
Label {
anchors.fill: parent
- text: qsTr("The path set for addons does not appear to be valid. Please make sure it is set to the Interface/AddOns folder inside your World of Warcraft folder.")
+ text: {
+ var m = qsTr("Following paths don't appears to be valid. Please make sure it is set to the Interface/AddOns folder inside your World of Warcraft folder.", "", invalidDialog.invalidPaths.length)
+ for (var i = 0; i < invalidDialog.invalidPaths.length; i++)
+ m += "
" + invalidDialog.invalidPaths[i]+""
+ return m
+ }
+ textFormat: Text.RichText
wrapMode: Text.WordWrap
}
modal: true