mirror of
https://github.com/arcan1s/awesome-widgets.git
synced 2025-07-09 03:45:51 +00:00
use shared qml files
This commit is contained in:
55
sources/qml/ComboBoxSelector.qml
Normal file
55
sources/qml/ComboBoxSelector.qml
Normal file
@ -0,0 +1,55 @@
|
||||
/***************************************************************************
|
||||
* 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
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user