use shared qml files

This commit is contained in:
2016-10-07 22:13:41 +03:00
parent c9f5be6a60
commit f1b5208bb2
15 changed files with 47 additions and 10 deletions

View File

@ -1,154 +0,0 @@
/***************************************************************************
* This file is part of awesome-widgets *
* *
* awesome-widgets is free software: you can redistribute it and/or *
* modify it under the terms of the GNU General Public License as *
* published by the Free Software Foundation, either version 3 of the *
* License, or (at your option) any later version. *
* *
* awesome-widgets is distributed in the hope that it will be useful, *
* but WITHOUT ANY WARRANTY; without even the implied warranty of *
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
* GNU General Public License for more details. *
* *
* You should have received a copy of the GNU General Public License *
* along with awesome-widgets. If not, see http://www.gnu.org/licenses/ *
***************************************************************************/
import QtQuick 2.0
import QtQuick.Controls 1.3 as QtControls
import QtQuick.Dialogs 1.2 as QtDialogs
import org.kde.plasma.private.awesomewidget 1.0
QtDialogs.Dialog {
id: reportDialog
AWActions {
id: awActions
}
AWBugReporter {
id: awBugReporter
}
width: 480
height: 640
property bool debug: awActions.isDebugEnabled()
title: i18n("Report a bug")
standardButtons: QtDialogs.StandardButton.Ok | QtDialogs.StandardButton.Cancel | QtDialogs.StandardButton.Reset
QtControls.TextField {
id: title
width: parent.width
placeholderText: i18n("Report subject")
}
Column {
id: body
width: parent.width
anchors.top: title.bottom
anchors.bottom: parent.bottom
QtControls.GroupBox {
width: parent.width
height: parent.height / 5
title: i18n("Description")
QtControls.TextArea {
id: description
width: parent.width
height: parent.height
textFormat: TextEdit.PlainText
}
}
QtControls.GroupBox {
width: parent.width
height: parent.height / 5
title: i18n("Steps to reproduce")
QtControls.TextArea {
id: reproduce
width: parent.width
height: parent.height
textFormat: TextEdit.PlainText
}
}
QtControls.GroupBox {
width: parent.width
height: parent.height / 5
title: i18n("Expected result")
QtControls.TextArea {
id: expected
width: parent.width
height: parent.height
textFormat: TextEdit.PlainText
}
}
QtControls.GroupBox {
width: parent.width
height: parent.height * 2 / 5
title: i18n("Logs")
Row {
id: debugCmdLabel
width: parent.width
QtControls.Label {
width: parent.width * 2 / 5
horizontalAlignment: Text.AlignJustify
verticalAlignment: Text.AlignVCenter
wrapMode: Text.WordWrap
text: i18n("Use command")
}
QtControls.TextField {
id: customTime
width: parent.width * 3 / 5
readOnly: true
text: "QT_LOGGING_RULES=*=true plasmawindowed org.kde.plasma.awesomewidget"
}
}
QtControls.Button {
id: logButton
anchors.top: debugCmdLabel.bottom
width: parent.width
text: i18n("Load log file")
onClicked: logPath.open()
}
QtControls.TextArea {
anchors.top: logButton.bottom
anchors.bottom: parent.bottom
id: logBody
width: parent.width
textFormat: TextEdit.PlainText
}
QtDialogs.FileDialog {
id: logPath
title: i18n("Open log file")
onAccepted:
logBody.text = awActions.getFileContent(logPath.fileUrl.toString().replace("file://", ""))
}
}
}
onAccepted: {
if (debug) console.debug()
var text = awBugReporter.generateText(description.text, reproduce.text,
expected.text, logBody.text)
awBugReporter.sendBugReport(title.text, text)
}
onReset: {
if (debug) console.debug()
title.text = ""
description.text = ""
reproduce.text = ""
expected.text = ""
}
Component.onCompleted: {
if (debug) console.debug()
awBugReporter.doConnect()
}
}

View File

@ -1,44 +0,0 @@
/***************************************************************************
* This file is part of awesome-widgets *
* *
* awesome-widgets is free software: you can redistribute it and/or *
* modify it under the terms of the GNU General Public License as *
* published by the Free Software Foundation, either version 3 of the *
* License, or (at your option) any later version. *
* *
* awesome-widgets is distributed in the hope that it will be useful, *
* but WITHOUT ANY WARRANTY; without even the implied warranty of *
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
* GNU General Public License for more details. *
* *
* You should have received a copy of the GNU General Public License *
* along with awesome-widgets. If not, see http://www.gnu.org/licenses/ *
***************************************************************************/
import QtQuick 2.0
import QtQuick.Controls 1.3 as QtControls
Row {
height: implicitHeight
width: parent.width
property alias text: label.text
property alias value: button.text
property alias style: button.style
signal buttonActivated
QtControls.Label {
id: label
height: parent.height
width: parent.width * 2 / 5
horizontalAlignment: Text.AlignRight
verticalAlignment: Text.AlignVCenter
}
QtControls.Button {
id: button
width: parent.width * 3 / 5
onClicked: buttonActivated()
}
}

View File

@ -1,37 +0,0 @@
/***************************************************************************
* This file is part of awesome-widgets *
* *
* awesome-widgets is free software: you can redistribute it and/or *
* modify it under the terms of the GNU General Public License as *
* published by the Free Software Foundation, either version 3 of the *
* License, or (at your option) any later version. *
* *
* awesome-widgets is distributed in the hope that it will be useful, *
* but WITHOUT ANY WARRANTY; without even the implied warranty of *
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
* GNU General Public License for more details. *
* *
* You should have received a copy of the GNU General Public License *
* along with awesome-widgets. If not, see http://www.gnu.org/licenses/ *
***************************************************************************/
import QtQuick 2.0
import QtQuick.Controls 1.3 as QtControls
Row {
height: implicitHeight
width: parent.width
property alias text: checkBox.text
property alias checked: checkBox.checked
QtControls.Label {
height: parent.heigth
width: parent.width * 2 / 5
}
QtControls.CheckBox {
id: checkBox
width: parent.width * 3 / 5
}
}

View File

@ -1,46 +0,0 @@
/***************************************************************************
* This file is part of awesome-widgets *
* *
* awesome-widgets is free software: you can redistribute it and/or *
* modify it under the terms of the GNU General Public License as *
* published by the Free Software Foundation, either version 3 of the *
* License, or (at your option) any later version. *
* *
* awesome-widgets is distributed in the hope that it will be useful, *
* but WITHOUT ANY WARRANTY; without even the implied warranty of *
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
* GNU General Public License for more details. *
* *
* You should have received a copy of the GNU General Public License *
* along with awesome-widgets. If not, see http://www.gnu.org/licenses/ *
***************************************************************************/
import QtQuick 2.0
import QtQuick.Controls.Styles 1.3 as QtStyles
import QtQuick.Dialogs 1.1 as QtDialogs
Row {
height: implicitHeight
width: parent.width
property alias text: selector.text
property alias value: selector.value
ButtonSelector {
id: selector
style: QtStyles.ButtonStyle {
background: Rectangle {
color: value
}
}
onButtonActivated: colorDialog.visible = true
}
QtDialogs.ColorDialog {
id: colorDialog
title: i18n("Select a color")
color: value
onAccepted: value = colorDialog.color
}
}

View File

@ -1,55 +0,0 @@
/***************************************************************************
* This file is part of awesome-widgets *
* *
* awesome-widgets is free software: you can redistribute it and/or *
* modify it under the terms of the GNU General Public License as *
* published by the Free Software Foundation, either version 3 of the *
* License, or (at your option) any later version. *
* *
* awesome-widgets is distributed in the hope that it will be useful, *
* but WITHOUT ANY WARRANTY; without even the implied warranty of *
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
* GNU General Public License for more details. *
* *
* You should have received a copy of the GNU General Public License *
* along with awesome-widgets. If not, see http://www.gnu.org/licenses/ *
***************************************************************************/
import QtQuick 2.0
import QtQuick.Controls 1.3 as QtControls
Row {
height: implicitHeight
width: parent.width
property alias currentIndex: comboBox.currentIndex
property alias editable: comboBox.editable
property alias editText: comboBox.editText
property alias model: comboBox.model
property alias text: label.text
property string value
signal valueEdited(string newValue)
QtControls.Label {
id: label
height: parent.height
width: parent.width * 2 / 5
horizontalAlignment: Text.AlignRight
verticalAlignment: Text.AlignVCenter
}
QtControls.ComboBox {
id: comboBox
width: parent.width * 3 / 5
textRole: 'label'
onCurrentIndexChanged: valueEdited(comboBox.model[comboBox.currentIndex]['name'])
Component.onCompleted: {
var total = comboBox.model.length
for (var i = 0; i < total; i++) {
if (comboBox.model[i]["name"] == value)
comboBox.currentIndex = i
}
}
}
}

View File

@ -1,59 +0,0 @@
/***************************************************************************
* This file is part of awesome-widgets *
* *
* awesome-widgets is free software: you can redistribute it and/or *
* modify it under the terms of the GNU General Public License as *
* published by the Free Software Foundation, either version 3 of the *
* License, or (at your option) any later version. *
* *
* awesome-widgets is distributed in the hope that it will be useful, *
* but WITHOUT ANY WARRANTY; without even the implied warranty of *
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
* GNU General Public License for more details. *
* *
* You should have received a copy of the GNU General Public License *
* along with awesome-widgets. If not, see http://www.gnu.org/licenses/ *
***************************************************************************/
import QtQuick 2.0
import QtQuick.Dialogs 1.2 as QtDialogs
import org.kde.plasma.private.awesomewidget 1.0
Item {
property var configuration
AWConfigHelper {
id: awConfig
}
QtDialogs.MessageDialog {
id: messageDialog
standardButtons: QtDialogs.StandardButton.Ok
}
QtDialogs.FileDialog {
id: fileDialog
selectExisting: false
title: i18n("Export")
folder: awConfig.configurationDirectory()
onAccepted: {
var status = awConfig.exportConfiguration(
configuration,
fileDialog.fileUrl.toString().replace("file://", ""))
if (status) {
messageDialog.title = i18n("Success")
messageDialog.text = i18n("Please note that binary files were not copied")
} else {
messageDialog.title = i18n("Ooops...")
messageDialog.text = i18n("Could not save configuration file")
}
messageDialog.open()
}
}
function open() {
return fileDialog.open()
}
}

View File

@ -1,54 +0,0 @@
/***************************************************************************
* This file is part of awesome-widgets *
* *
* awesome-widgets is free software: you can redistribute it and/or *
* modify it under the terms of the GNU General Public License as *
* published by the Free Software Foundation, either version 3 of the *
* License, or (at your option) any later version. *
* *
* awesome-widgets is distributed in the hope that it will be useful, *
* but WITHOUT ANY WARRANTY; without even the implied warranty of *
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
* GNU General Public License for more details. *
* *
* You should have received a copy of the GNU General Public License *
* along with awesome-widgets. If not, see http://www.gnu.org/licenses/ *
***************************************************************************/
import QtQuick 2.0
import QtQuick.Dialogs 1.1 as QtDialogs
Row {
height: implicitHeight
width: parent.width
property alias text: selector.text
property alias value: selector.value
ButtonSelector {
id: selector
text: label.text
onButtonActivated: {
fontDialog.setFont()
fontDialog.visible = true
}
}
QtDialogs.FontDialog {
id: fontDialog
title: i18n("Select a font")
signal setFont
onAccepted: value = fontDialog.font.family
onSetFont: {
fontDialog.font = Qt.font({
family: value,
pointSize: 12,
italic: false,
weight: Font.Normal,
})
}
}
}

View File

@ -1,71 +0,0 @@
/***************************************************************************
* This file is part of awesome-widgets *
* *
* awesome-widgets is free software: you can redistribute it and/or *
* modify it under the terms of the GNU General Public License as *
* published by the Free Software Foundation, either version 3 of the *
* License, or (at your option) any later version. *
* *
* awesome-widgets is distributed in the hope that it will be useful, *
* but WITHOUT ANY WARRANTY; without even the implied warranty of *
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
* GNU General Public License for more details. *
* *
* You should have received a copy of the GNU General Public License *
* along with awesome-widgets. If not, see http://www.gnu.org/licenses/ *
***************************************************************************/
import QtQuick 2.0
import QtQuick.Controls 1.3 as QtControls
import QtQuick.Dialogs 1.2 as QtDialogs
import org.kde.plasma.private.awesomewidget 1.0
Item {
AWConfigHelper {
id: awConfig
}
signal configurationReceived(var configuration)
QtDialogs.FileDialog {
id: fileDialog
title: i18n("Import")
folder: awConfig.configurationDirectory()
onAccepted: importSelection.open()
}
QtDialogs.Dialog {
id: importSelection
Column {
QtControls.CheckBox {
id: importPlasmoid
text: i18n("Import plasmoid settings")
}
QtControls.CheckBox {
id: importExtensions
text: i18n("Import extensions")
}
QtControls.CheckBox {
id: importAdds
text: i18n("Import additional files")
}
}
onAccepted: {
var importConfig = awConfig.importConfiguration(
fileDialog.fileUrl.toString().replace("file://", ""),
importPlasmoid.checked, importExtensions.checked,
importAdds.checked)
configurationReceived(importConfig)
}
}
function open() {
return fileDialog.open()
}
}

View File

@ -1,47 +0,0 @@
/***************************************************************************
* This file is part of awesome-widgets *
* *
* awesome-widgets is free software: you can redistribute it and/or *
* modify it under the terms of the GNU General Public License as *
* published by the Free Software Foundation, either version 3 of the *
* License, or (at your option) any later version. *
* *
* awesome-widgets is distributed in the hope that it will be useful, *
* but WITHOUT ANY WARRANTY; without even the implied warranty of *
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
* GNU General Public License for more details. *
* *
* You should have received a copy of the GNU General Public License *
* along with awesome-widgets. If not, see http://www.gnu.org/licenses/ *
***************************************************************************/
import QtQuick 2.0
import QtQuick.Controls 1.3 as QtControls
Row {
height: implicitHeight
width: parent.width
property alias text: label.text
property alias value: spinBox.value
property alias maximumValue: spinBox.maximumValue
property alias minimumValue: spinBox.minimumValue
property alias stepSize: spinBox.stepSize
signal valueEdited(int newValue)
QtControls.Label {
id: label
height: parent.height
width: parent.width * 2 / 5
horizontalAlignment: Text.AlignRight
verticalAlignment: Text.AlignVCenter
}
QtControls.SpinBox {
id: spinBox
width: parent.width * 3 / 5
onEditingFinished: valueEdited(spinBox.value)
}
}

View File

@ -1,43 +0,0 @@
/***************************************************************************
* This file is part of awesome-widgets *
* *
* awesome-widgets is free software: you can redistribute it and/or *
* modify it under the terms of the GNU General Public License as *
* published by the Free Software Foundation, either version 3 of the *
* License, or (at your option) any later version. *
* *
* awesome-widgets is distributed in the hope that it will be useful, *
* but WITHOUT ANY WARRANTY; without even the implied warranty of *
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
* GNU General Public License for more details. *
* *
* You should have received a copy of the GNU General Public License *
* along with awesome-widgets. If not, see http://www.gnu.org/licenses/ *
***************************************************************************/
import QtQuick 2.0
import QtQuick.Controls 1.3 as QtControls
Row {
height: implicitHeight
width: parent.width
property alias text: label.text
property alias value: textField.text
signal valueEdited(string newValue)
QtControls.Label {
id: label
height: parent.height
width: parent.width * 2 / 5
horizontalAlignment: Text.AlignRight
verticalAlignment: Text.AlignVCenter
}
QtControls.TextField {
id: textField
width: parent.width * 3 / 5
onEditingFinished: valueEdited(textField.text)
}
}

View File

@ -1,11 +1,12 @@
singleton general 1.0 general.qml
BugReport ./BugReport.qml
ButtonSelector ./ButtonSelector.qml
CheckBoxSelector ./CheckBoxSelector.qml
ColorSelector ./ColorSelector.qml
ComboBoxSelector ./ComboBoxSelector.qml
ExportDialog ./ExportDialog.qml
FontSelector ./FontSelector.qml
ImportDialog ./ImportDialog.qml
IntegerSelector ./IntegerSelector.qml
LineSelector ./LineSelector.qml
BugReport file:///usr/share/awesomewidgets/qml/BugReport.qml
ButtonSelector file:///usr/share/awesomewidgets/qml/ButtonSelector.qml
CheckBoxSelector file:///usr/share/awesomewidgets/qml/CheckBoxSelector.qml
ColorSelector file:///usr/share/awesomewidgets/qml/ColorSelector.qml
ComboBoxSelector file:///usr/share/awesomewidgets/qml/ComboBoxSelector.qml
ExportDialog file:///usr/share/awesomewidgets/qml/ExportDialog.qml
FontSelector file:///usr/share/awesomewidgets/qml/FontSelector.qml
ImportDialog file:///usr/share/awesomewidgets/qml/ImportDialog.qml
IntegerSelector file:///usr/share/awesomewidgets/qml/IntegerSelector.qml
LineSelector file:///usr/share/awesomewidgets/qml/LineSelector.qml