@ -19,9 +19,10 @@
* along with this program . If not , see < http: / / w w w . g n u . o r g / l i c e n s e s / >
* /
import QtQuick 2.0
import QtQuick . Controls 1.2 as QtControls
import QtQuick . Layouts 1.0
import QtQuick 2.5
import QtQuick . Controls 1.4 as QQC1
import QtQuick . Controls 2.5 as QQC2
import QtQuick . Layouts 1.3
import QtQuick . Dialogs 1.1
import org . kde . plasma . core 2.1 as PlasmaCore
@ -29,10 +30,10 @@ import org.kde.plasma.components 2.0 as PlasmaComponents
import org . kde . kholidays 1.0 as KHolidays
import org . kde . holidayeventshelperplugin 1.0
Item {
ColumnLayout {
id: holidaysConfig
width: parent . width
height: parent . he ight
anchors.left: parent . left
anchors.right: parent . r ight
signal configurationChanged
@ -42,7 +43,7 @@ Item {
}
/ / T h i s i s j u s t f o r g e t t i n g t h e c o l u m n w i d t h
QtControls . CheckBox {
QQC2 . CheckBox {
id: checkbox
visible: false
}
@ -51,68 +52,65 @@ Item {
id: configHelper
}
ColumnLayout {
anchors.fill: parent
QtControls . TextField {
id: filter
Layout.fillWidth: true
placeholderText: i18nd ( "kholidays_calendar_plugin" , "Search Holiday Regions" )
}
QQC2 . TextField {
id: filter
Layout.fillWidth: true
placeholderText: i18nd ( "kholidays_calendar_plugin" , "Search..." )
}
QtControls . TableView {
id: holidaysView
/ / S t i l l Q Q C 1 b e v c a u s e t h e r e ' s n o Q Q C 2 T a b l e V i e w
QQC1 . TableView {
id: holidaysView
signal toggleCurrent
signal toggleCurrent
Layout.fillWidth: true
Layout.fillHeight: true
Layout.fillWidth: true
Layout.fillHeight: true
Keys.onSpacePressed: toggleCurrent ( )
Keys.onSpacePressed: toggleCurrent ( )
model: PlasmaCore . SortFilterModel {
sourceModel: KHolidays . HolidayRegionsModel {
id: holidaysModel
}
/ / S o r t F i l t e r M o d e l d o e s n ' t h a v e a c a s e - s e n s i t i v i t y o p t i o n . . .
/ / b u t f i l t e r R e g E x p a l w a y s c a u s e s c a s e - i n s e n s i t i v e s o r t i n g
filterRegExp: filter . text
filterRole: "name"
model: PlasmaCore . SortFilterModel {
sourceModel: KHolidays . HolidayRegionsModel {
id: holidaysModel
}
/ / S o r t F i l t e r M o d e l d o e s n ' t h a v e a c a s e - s e n s i t i v i t y o p t i o n . . .
/ / b u t f i l t e r R e g E x p a l w a y s c a u s e s c a s e - i n s e n s i t i v e s o r t i n g
filterRegExp: filter . text
filterRole: "name"
}
QtControls . TableViewColumn {
width: checkbox . width
delegate: QtControls . CheckBox {
id: checkBox
anchors.centerIn: parent
checked: model ? configHelper . selectedRegions . indexOf ( model . region ) !== - 1 : false
activeFocusOnTab: false / / o n l y l e t t h e T a b l e V i e w a s a w h o l e g e t f o c u s
onClicked: {
/ / n e e d e d f o r m o d e l ' s s e t D a t a t o b e c a l l e d
if ( checked ) {
configHelper . addRegion ( model . region ) ;
} else {
configHelper . removeRegion ( model . region ) ;
}
holidaysConfig . configurationChanged ( ) ;
QQC1 . TableViewColumn {
width: checkbox . width
delegate: QQC2 . CheckBox {
id: checkBox
anchors.centerIn: parent
checked: model ? configHelper . selectedRegions . indexOf ( model . region ) !== - 1 : false
activeFocusOnTab: false / / o n l y l e t t h e T a b l e V i e w a s a w h o l e g e t f o c u s
onClicked: {
/ / n e e d e d f o r m o d e l ' s s e t D a t a t o b e c a l l e d
if ( checked ) {
configHelper . addRegion ( model . region ) ;
} else {
configHelper . removeRegion ( model . region ) ;
}
holidaysConfig . configurationChanged ( ) ;
}
resizable: false
movable: false
}
QtControls . TableViewColumn {
role: "region"
title: i18nd ( "kholidays_calendar_plugin" , "Region" )
}
QtControls . TableViewColumn {
role: "name"
title: i18nd ( "kholidays_calendar_plugin" , "Name" )
}
QtControls . TableViewColumn {
role: "description"
title: i18nd ( "kholidays_calendar_plugin" , "Description" )
}
resizable: false
movable: false
}
QQC1 . TableViewColumn {
role: "region"
title: i18nd ( "kholidays_calendar_plugin" , "Region" )
}
QQC1 . TableViewColumn {
role: "name"
title: i18nd ( "kholidays_calendar_plugin" , "Name" )
}
QQC1 . TableViewColumn {
role: "description"
title: i18nd ( "kholidays_calendar_plugin" , "Description" )
}
}
}