Jean-Baptiste Kempf pushed to branch master at VideoLAN / VLC
Commits:
0e535ad8 by Benjamin Arnaud at 2022-12-22T10:01:27+00:00
qml/TableView(s): Switch to sub-model based models
This should improve maintenability and clarity of our TableView models.
It also brings a better modularity when we have different models depending
on the current width of the application, like in MusicTrackListDisplay.
In MusicTracksDisplay we switch to a dedicated sortModel for the SortControl.
Co-authored-by: Pierre Lamot <[email protected]>
- - - - -
125791ae by Benjamin Arnaud at 2022-12-22T10:01:27+00:00
qml/TableView(s): Switch to column sized models
This enforces the fact that we're using columns instead of absolute width
to define our sizes in TableView(s) models. That way we know we always
respect the grid approach of our UI design.
- - - - -
16e91345 by Benjamin Arnaud at 2022-12-22T10:01:27+00:00
qml/TableView(s): Remove 'isPrimary' from models
- - - - -
15 changed files:
- modules/gui/qt/medialibrary/qml/MusicAlbums.qml
- modules/gui/qt/medialibrary/qml/MusicAlbumsGridExpandDelegate.qml
- modules/gui/qt/medialibrary/qml/MusicAllArtists.qml
- modules/gui/qt/medialibrary/qml/MusicArtist.qml
- modules/gui/qt/medialibrary/qml/MusicGenres.qml
- modules/gui/qt/medialibrary/qml/MusicTrackListDisplay.qml
- modules/gui/qt/medialibrary/qml/MusicTracksDisplay.qml
- modules/gui/qt/medialibrary/qml/PlaylistMedia.qml
- modules/gui/qt/medialibrary/qml/PlaylistMediaList.qml
- modules/gui/qt/medialibrary/qml/UrlListDisplay.qml
- modules/gui/qt/medialibrary/qml/VideoListDisplay.qml
- modules/gui/qt/network/qml/BrowseDeviceView.qml
- modules/gui/qt/network/qml/BrowseTreeDisplay.qml
- modules/gui/qt/widgets/qml/KeyNavigableTableView.qml
- modules/gui/qt/widgets/qml/TableViewDelegate.qml
Changes:
=====================================
modules/gui/qt/medialibrary/qml/MusicAlbums.qml
=====================================
@@ -217,11 +217,39 @@ FocusScope {
rowHeight: VLCStyle.tableCoverRow_height
headerTopPadding: VLCStyle.margin_normal
- sortModel: [
- { isPrimary: true, criteria: "title", width:
VLCStyle.colWidth(2), text: I18n.qtr("Title"), headerDelegate:
tableColumns.titleHeaderDelegate, colDelegate: tableColumns.titleDelegate,
placeHolder: VLCStyle.noArtAlbumCover },
- { criteria: "main_artist", width:
VLCStyle.colWidth(Math.max(tableView_id._nbCols - 3, 1)), text:
I18n.qtr("Artist") },
- { criteria: "duration", width:VLCStyle.colWidth(1),
showSection: "", headerDelegate: tableColumns.timeHeaderDelegate, colDelegate:
tableColumns.timeColDelegate },
- ]
+ sortModel: [{
+ size: 2,
+
+ model: {
+ criteria: "title",
+
+ text: I18n.qtr("Title"),
+
+ headerDelegate: tableColumns.titleHeaderDelegate,
+ colDelegate: tableColumns.titleDelegate,
+
+ placeHolder: VLCStyle.noArtAlbumCover
+ }
+ }, {
+ size: Math.max(tableView_id._nbCols - 3, 1),
+
+ model: {
+ criteria: "main_artist",
+
+ text: I18n.qtr("Artist")
+ }
+ }, {
+ size: 1,
+
+ model: {
+ criteria: "duration",
+
+ showSection: "",
+
+ headerDelegate: tableColumns.timeHeaderDelegate,
+ colDelegate: tableColumns.timeColDelegate
+ }
+ }]
Navigation.cancelAction: root._onNavigationCancel
=====================================
modules/gui/qt/medialibrary/qml/MusicAlbumsGridExpandDelegate.qml
=====================================
@@ -289,10 +289,35 @@ FocusScope {
currentIndex = 0
}
- sortModel: [
- { isPrimary: true, criteria: "title", width:
VLCStyle.colWidth(Math.max(tracks._nbCols - 1, 1)), visible: true, text:
I18n.qtr("Title"), showSection: "", colDelegate: titleDelegate, headerDelegate:
titleHeaderDelegate },
- { criteria: "duration", width:
VLCStyle.colWidth(1), visible: true, showSection: "", colDelegate:
tableColumns.timeColDelegate, headerDelegate: tableColumns.timeHeaderDelegate },
- ]
+ sortModel: [{
+ size: Math.max(tracks._nbCols - 1, 1),
+
+ model: {
+ criteria: "title",
+
+ visible: true,
+
+ text: I18n.qtr("Title"),
+
+ showSection: "",
+
+ colDelegate: titleDelegate,
+ headerDelegate: titleHeaderDelegate
+ }
+ }, {
+ size: 1,
+
+ model: {
+ criteria: "duration",
+
+ visible: true,
+
+ showSection: "",
+
+ colDelegate: tableColumns.timeColDelegate,
+ headerDelegate: tableColumns.timeHeaderDelegate
+ }
+ }]
Navigation.parentItem: root
Navigation.leftItem: actionButtons
=====================================
modules/gui/qt/medialibrary/qml/MusicAllArtists.qml
=====================================
@@ -187,10 +187,28 @@ FocusScope {
}
}
- sortModel: [
- { isPrimary: true, criteria: "name", width:
VLCStyle.colWidth(Math.max(artistTable._nbCols - 1, 1)), text:
I18n.qtr("Name"), headerDelegate: tableColumns.titleHeaderDelegate,
colDelegate: tableColumns.titleDelegate, placeHolder: VLCStyle.noArtArtistSmall
},
- { criteria: "nb_tracks", width: VLCStyle.colWidth(1), text:
I18n.qtr("Tracks") }
- ]
+ sortModel: [{
+ size: Math.max(artistTable._nbCols - 1, 1),
+
+ model: {
+ criteria: "name",
+
+ text: I18n.qtr("Name"),
+
+ headerDelegate: tableColumns.titleHeaderDelegate,
+ colDelegate: tableColumns.titleDelegate,
+
+ placeHolder: VLCStyle.noArtArtistSmall
+ }
+ }, {
+ size: 1,
+
+ model: {
+ criteria: "nb_tracks",
+
+ text: I18n.qtr("Tracks")
+ }
+ }]
onItemDoubleClicked:
root.requestArtistAlbumView(Qt.MouseFocusReason)
=====================================
modules/gui/qt/medialibrary/qml/MusicArtist.qml
=====================================
@@ -395,11 +395,37 @@ FocusScope {
headerPositioning: ListView.InlineHeader
rowHeight: VLCStyle.tableCoverRow_height
- sortModel: [
- { isPrimary: true, criteria: "title", width:
VLCStyle.colWidth(2), text: I18n.qtr("Title"), headerDelegate:
tableColumns.titleHeaderDelegate, colDelegate: tableColumns.titleDelegate },
- { criteria: "album_title", width:
VLCStyle.colWidth(Math.max(tableView_id._nbCols - 3, 1)), text:
I18n.qtr("Album") },
- { criteria: "duration", width:VLCStyle.colWidth(1),
showSection: "", headerDelegate: tableColumns.timeHeaderDelegate, colDelegate:
tableColumns.timeColDelegate },
- ]
+ sortModel: [{
+ size: 2,
+
+ model: {
+ criteria: "title",
+
+ text: I18n.qtr("Title"),
+
+ headerDelegate: tableColumns.titleHeaderDelegate,
+ colDelegate: tableColumns.titleDelegate
+ }
+ }, {
+ size: Math.max(tableView_id._nbCols - 3, 1),
+
+ model: {
+ criteria: "album_title",
+
+ text: I18n.qtr("Album")
+ }
+ }, {
+ size: 1,
+
+ model: {
+ criteria: "duration",
+
+ showSection: "",
+
+ headerDelegate: tableColumns.timeHeaderDelegate,
+ colDelegate: tableColumns.timeColDelegate
+ }
+ }]
Navigation.parentItem: root
=====================================
modules/gui/qt/medialibrary/qml/MusicGenres.qml
=====================================
@@ -247,25 +247,30 @@ FocusScope {
headerTopPadding: VLCStyle.margin_normal
sortModel: [{
- isPrimary: true,
- criteria: "cover",
+ size: 1,
- width: VLCStyle.colWidth(1),
+ model: {
+ criteria: "cover",
- headerDelegate: tableColumns.titleHeaderDelegate,
- colDelegate: tableColumns.titleDelegate
+ headerDelegate: tableColumns.titleHeaderDelegate,
+ colDelegate: tableColumns.titleDelegate
+ }
}, {
- criteria: "name",
+ size: _nameColSpan,
- width: VLCStyle.colWidth(_nameColSpan),
+ model: {
+ criteria: "name",
- text: I18n.qtr("Name")
+ text: I18n.qtr("Name")
+ }
}, {
- criteria: "nb_tracks",
+ size: 1,
- width: VLCStyle.colWidth(1),
+ model: {
+ criteria: "nb_tracks",
- text: I18n.qtr("Tracks")
+ text: I18n.qtr("Tracks")
+ }
}]
onItemDoubleClicked: {
=====================================
modules/gui/qt/medialibrary/qml/MusicTrackListDisplay.qml
=====================================
@@ -30,33 +30,141 @@ import "qrc:///style/"
Widgets.KeyNavigableTableView {
id: root
- property var sortModelSmall: [
- { isPrimary: true, criteria: "title", width:
VLCStyle.colWidth(1), text: I18n.qtr("Title"), showSection: "title",
colDelegate: tableColumns.titleDelegate, headerDelegate:
tableColumns.titleHeaderDelegate, placeHolder: VLCStyle.noArtAlbumCover },
- { criteria: "album_title", width: VLCStyle.colWidth(1), text:
I18n.qtr("Album"), showSection: "album_title" },
- { criteria: "main_artist", width: VLCStyle.colWidth(1), text:
I18n.qtr("Artist"), showSection: "main_artist" },
- { criteria: "duration", width: VLCStyle.colWidth(1), text:
I18n.qtr("Duration"), showSection: "", colDelegate:
tableColumns.timeColDelegate, headerDelegate: tableColumns.timeHeaderDelegate },
- ]
-
- property var sortModelMedium: [
- { isPrimary: true, criteria: "title", width:
VLCStyle.colWidth(2), text: I18n.qtr("Title"), showSection: "title",
colDelegate: tableColumns.titleDelegate, headerDelegate:
tableColumns.titleHeaderDelegate, placeHolder: VLCStyle.noArtAlbumCover },
- { criteria: "album_title", width: VLCStyle.colWidth(2), text:
I18n.qtr("Album"), showSection: "album_title" },
- { criteria: "main_artist", width: VLCStyle.colWidth(1), text:
I18n.qtr("Artist"), showSection: "main_artist" },
- { criteria: "duration", width: VLCStyle.colWidth(1), text:
I18n.qtr("Duration"), showSection: "", colDelegate:
tableColumns.timeColDelegate, headerDelegate: tableColumns.timeHeaderDelegate },
- ]
+ // Properties
readonly property int _expandingColsSpan:
Math.floor((VLCStyle.gridColumnsForWidth(root.availableRowWidth) - 3 /* static
cols (track_number, etc)*/) / 3)
- property var sortModelLarge: [
- { isPrimary: true, criteria: "title", width:
VLCStyle.colWidth(root._expandingColsSpan), text: I18n.qtr("Title"),
showSection: "title", colDelegate: tableColumns.titleDelegate, headerDelegate:
tableColumns.titleHeaderDelegate, placeHolder: VLCStyle.noArtAlbumCover },
- { criteria: "album_title", width:
VLCStyle.colWidth(root._expandingColsSpan), text: I18n.qtr("Album"),
showSection: "album_title" },
- { criteria: "main_artist", width:
VLCStyle.colWidth(root._expandingColsSpan), text: I18n.qtr("Artist"),
showSection: "main_artist" },
- { criteria: "duration", width: VLCStyle.colWidth(1), text:
I18n.qtr("Duration"), showSection: "", colDelegate:
tableColumns.timeColDelegate, headerDelegate: tableColumns.timeHeaderDelegate },
- { criteria: "track_number",width: VLCStyle.colWidth(1), text:
I18n.qtr("Track"), showSection: "" },
- { criteria: "disc_number", width: VLCStyle.colWidth(1), text:
I18n.qtr("Disc"), showSection: "" },
- ]
-
- sortModel: ( availableRowWidth < VLCStyle.colWidth(6) ) ? sortModelSmall
- : (
availableRowWidth < VLCStyle.colWidth(9) )
- ?
sortModelMedium : sortModelLarge
+
+ property alias parentId: rootmodel.parentId
+
+ // Private
+
+ property var _lineTitle: ({
+ criteria: "title",
+
+ text: I18n.qtr("Title"),
+
+ showSection: "title",
+
+ colDelegate: tableColumns.titleDelegate,
+ headerDelegate: tableColumns.titleHeaderDelegate,
+
+ placeHolder: VLCStyle.noArtAlbumCover
+ })
+
+ property var _lineAlbum: ({
+ criteria: "album_title",
+
+ text: I18n.qtr("Album"),
+
+ showSection: "album_title"
+ })
+
+ property var _lineArtist: ({
+ criteria: "main_artist",
+
+ text: I18n.qtr("Artist"),
+
+ showSection: "main_artist"
+ })
+
+ property var _lineDuration: ({
+ criteria: "duration",
+
+ text: I18n.qtr("Duration"),
+
+ showSection: "",
+
+ colDelegate: tableColumns.timeColDelegate,
+ headerDelegate: tableColumns.timeHeaderDelegate
+ })
+
+ property var _lineTrack: ({
+ criteria: "track_number",
+
+ text: I18n.qtr("Track"),
+
+ showSection: ""
+ })
+
+ property var _lineDisc: ({
+ criteria: "disc_number",
+
+ text: I18n.qtr("Disc"),
+
+ showSection: ""
+ })
+
+ property var _modelLarge: [{
+ size: _expandingColsSpan,
+
+ model: _lineTitle
+ }, {
+ size: _expandingColsSpan,
+
+ model: _lineAlbum
+ }, {
+ size: _expandingColsSpan,
+
+ model: _lineArtist
+ }, {
+ size: 1,
+
+ model: _lineDuration
+ }, {
+ size: 1,
+
+ model: _lineTrack
+ }, {
+ size: 1,
+
+ model: _lineDisc
+ }]
+
+ property var _modelMedium: [{
+ size: 2,
+
+ model: _lineTitle
+ }, {
+ size: 2,
+
+ model: _lineAlbum
+ }, {
+ size: 1,
+
+ model: _lineArtist
+ }, {
+ size: 1,
+
+ model: _lineDuration
+ }]
+
+ property var _modelSmall: [{
+ size: 1,
+
+ model: _lineTitle
+ }, {
+ size: 1,
+
+ model: _lineAlbum
+ }, {
+ size: 1,
+
+ model: _lineArtist
+ }, {
+ size: 1,
+
+ model: _lineDuration
+ }]
+
+ sortModel: {
+ if (availableRowWidth < VLCStyle.colWidth(6))
+ return _modelSmall
+ else if (availableRowWidth < VLCStyle.colWidth(9))
+ return _modelMedium
+ else
+ return _modelLarge
+ }
+
section.property: "title_first_symbol"
headerColor: VLCStyle.colors.bg
@@ -65,8 +173,6 @@ Widgets.KeyNavigableTableView {
selectionDelegateModel: selectionModel
rowHeight: VLCStyle.tableCoverRow_height
- property alias parentId: rootmodel.parentId
-
onActionForSelection: MediaLib.addAndPlay(model.getIdsForIndexes(
selection ))
onItemDoubleClicked: MediaLib.addAndPlay(model.id)
onContextMenuButtonClicked:
contextMenu.popup(selectionModel.selectedIndexes, globalMousePos)
=====================================
modules/gui/qt/medialibrary/qml/MusicTracksDisplay.qml
=====================================
@@ -27,7 +27,15 @@ import "qrc:///main/" as MainInterface
FocusScope {
id: root
- property alias sortModel: tracklistdisplay_id.sortModel
+ property var sortModel: [
+ { text: I18n.qtr("Title"), criteria: "title"},
+ { text: I18n.qtr("Album"), criteria: "album_title" },
+ { text: I18n.qtr("Artist"), criteria: "main_artist" },
+ { text: I18n.qtr("Duration"), criteria: "duration" },
+ { text: I18n.qtr("Track"), criteria: "track_number" },
+ { text: I18n.qtr("Disc"), criteria: "disc_number" }
+ ]
+
property alias model: tracklistdisplay_id.model
property alias selectionModel: tracklistdisplay_id.selectionDelegateModel
readonly property bool isViewMultiView: false
=====================================
modules/gui/qt/medialibrary/qml/PlaylistMedia.qml
=====================================
@@ -55,31 +55,35 @@ MainInterface.MainTableView {
acceptDrop: true
sortModel: [{
- criteria: "thumbnail",
+ size: 1,
- width: VLCStyle.colWidth(1),
+ model: {
+ criteria: "thumbnail",
- type: "image",
+ type: "image",
- headerDelegate: table.titleHeaderDelegate,
- colDelegate : table.titleDelegate,
+ headerDelegate: table.titleHeaderDelegate,
+ colDelegate : table.titleDelegate,
- placeHolder: VLCStyle.noArtAlbumCover,
+ placeHolder: VLCStyle.noArtAlbumCover
+ }
}, {
- isPrimary: true,
-
- criteria: "title",
+ size: Math.max(columns - 2, 1),
- width: VLCStyle.colWidth(Math.max(columns - 2, 1)),
+ model: {
+ criteria: "title",
- text: I18n.qtr("Title")
+ text: I18n.qtr("Title")
+ }
}, {
- criteria: "duration",
+ size: 1,
- width: VLCStyle.colWidth(1),
+ model: {
+ criteria: "duration",
- headerDelegate: table.timeHeaderDelegate,
- colDelegate : table.timeColDelegate
+ headerDelegate: table.timeHeaderDelegate,
+ colDelegate : table.timeColDelegate
+ }
}]
//---------------------------------------------------------------------------------------------
=====================================
modules/gui/qt/medialibrary/qml/PlaylistMediaList.qml
=====================================
@@ -342,25 +342,30 @@ FocusScope {
headerColor: VLCStyle.colors.bg
sortModel: [{
- isPrimary: true,
- criteria: "thumbnail",
+ size: 1,
- width: VLCStyle.colWidth(1),
+ model: {
+ criteria: "thumbnail",
- headerDelegate: columns.titleHeaderDelegate,
- colDelegate : columns.titleDelegate
+ headerDelegate: columns.titleHeaderDelegate,
+ colDelegate : columns.titleDelegate
+ }
}, {
- criteria: "name",
+ size: _columns,
- width: VLCStyle.colWidth(_columns),
+ model: {
+ criteria: "name",
- text: I18n.qtr("Name")
+ text: I18n.qtr("Name")
+ }
}, {
- criteria: "count",
+ size: 1,
- width: VLCStyle.colWidth(1),
+ model: {
+ criteria: "count",
- text: I18n.qtr("Tracks")
+ text: I18n.qtr("Tracks")
+ }
}]
Navigation.parentItem: root
=====================================
modules/gui/qt/medialibrary/qml/UrlListDisplay.qml
=====================================
@@ -43,20 +43,29 @@ Widgets.KeyNavigableTableView {
selectionDelegateModel: selectionModel
sortModel: [{
- "isPrimary": true,
- "criteria": "url",
- "width": VLCStyle.colWidth(Math.max(listView_id._nbCols - 1,
- 1)),
- "text": I18n.qtr("Url"),
- "showSection": "url",
+ size: Math.max(listView_id._nbCols - 1, 1),
+
+ model: {
+ criteria: url,
+
+ text: I18n.qtr("Url"),
+
+ showSection: url,
+
headerDelegate: urlHeaderDelegate
- }, {
- "criteria": "last_played_date",
- "width": VLCStyle.colWidth(1),
- "showSection": "",
- "headerDelegate": tableColumns.timeHeaderDelegate,
- "showContextButton": true
- }]
+ }
+ }, {
+ size: 1,
+
+ model: {
+ criteria: last_played_date,
+
+ showSection: "",
+ showContextButton: true,
+
+ headerDelegate: tableColumns.timeHeaderDelegate
+ }
+ }]
rowHeight: VLCStyle.listAlbumCover_height + VLCStyle.margin_xxsmall * 2
headerColor: VLCStyle.colors.bg
=====================================
modules/gui/qt/medialibrary/qml/VideoListDisplay.qml
=====================================
@@ -47,36 +47,42 @@ MainInterface.MainTableView {
//---------------------------------------------------------------------------------------------
sortModel: [{
- type: "image",
+ size: 1,
- criteria: "thumbnail",
+ model: ({
+ type: "image",
- width: VLCStyle.colWidth(1),
+ criteria: "thumbnail",
- showSection: "",
+ showSection: "",
- placeHolder: VLCStyle.noArtVideoCover,
+ placeHolder: VLCStyle.noArtVideoCover,
- headerDelegate: tableColumns.titleHeaderDelegate,
- colDelegate : tableColumns.titleDelegate,
+ headerDelegate: tableColumns.titleHeaderDelegate,
+ colDelegate : tableColumns.titleDelegate
+ })
}, {
- isPrimary: true,
- criteria: mainCriteria,
+ size: Math.max(listView_id._nbCols - 2, 1),
- width: VLCStyle.colWidth(Math.max(listView_id._nbCols - 2, 1)),
+ model: ({
+ criteria: mainCriteria,
- showSection: "title",
+ showSection: "title",
- text: I18n.qtr("Title")
+ text: I18n.qtr("Title")
+ })
}, {
- criteria: "duration",
+ size: 1,
- width: VLCStyle.colWidth(1),
+ model: ({
+ criteria: "duration",
- showSection: "",
+ showSection: "",
+ showContextButton: true,
- headerDelegate: tableColumns.timeHeaderDelegate, showContextButton:
true,
- colDelegate : tableColumns.timeColDelegate
+ headerDelegate: tableColumns.timeHeaderDelegate,
+ colDelegate : tableColumns.timeColDelegate
+ })
}]
section.property: "title_first_symbol"
=====================================
modules/gui/qt/network/qml/BrowseDeviceView.qml
=====================================
@@ -278,27 +278,32 @@ FocusScope {
model: modelFilter
sortModel: [{
- criteria: "artwork",
+ size: 1,
- width: VLCStyle.colWidth(1),
+ model: {
+ criteria: "artwork",
- headerDelegate: artworkHeader,
- colDelegate : artworkColumn
+ headerDelegate: artworkHeader,
+ colDelegate : artworkColumn
+ }
}, {
- isPrimary: true,
- criteria: "name",
+ size: listView._nameColSpan,
- width: VLCStyle.colWidth(listView._nameColSpan),
+ model: {
+ criteria: "name",
- text: I18n.qtr("Name")
+ text: I18n.qtr("Name")
+ }
}, {
- criteria: "mrl",
+ size: Math.max(listView._nbCols - listView._nameColSpan - 1,
1),
- width: VLCStyle.colWidth(Math.max(listView._nbCols -
listView._nameColSpan - 1), 1),
+ model: {
+ criteria: "mrl",
- text: I18n.qtr("Url"),
+ text: I18n.qtr("Url"),
- colDelegate: mrlColumn
+ colDelegate: mrlColumn
+ }
}]
header: root.header
=====================================
modules/gui/qt/network/qml/BrowseTreeDisplay.qml
=====================================
@@ -307,11 +307,34 @@ FocusScope {
}
}
- sortModel: [
- { criteria: "thumbnail", width: VLCStyle.colWidth(1),
headerDelegate: tableView.thumbnailHeader, colDelegate:
tableView.thumbnailColumn },
- { isPrimary: true, criteria: "name", width:
VLCStyle.colWidth(tableView._nameColSpan), text: I18n.qtr("Name") },
- { criteria: "mrl", width:
VLCStyle.colWidth(Math.max(tableView._nbCols - tableView._nameColSpan - 1), 1),
text: I18n.qtr("Url"), showContextButton: true },
- ]
+ sortModel: [{
+ size: 1,
+
+ model: {
+ criteria: "thumbnail",
+
+ headerDelegate: tableView.thumbnailHeader,
+ colDelegate: tableView.thumbnailColumn
+ }
+ }, {
+ size: tableView._nameColSpan,
+
+ model: {
+ criteria: "name",
+
+ text: I18n.qtr("Name")
+ }
+ }, {
+ size: Math.max(tableView._nbCols - tableView._nameColSpan - 1,
1),
+
+ model: {
+ criteria: "mrl",
+
+ text: I18n.qtr("Url"),
+
+ showContextButton: true
+ }
+ }]
onActionForSelection: _actionAtIndex(selection[0].row)
onItemDoubleClicked: _actionAtIndex(index)
=====================================
modules/gui/qt/widgets/qml/KeyNavigableTableView.qml
=====================================
@@ -54,7 +54,7 @@ FocusScope {
var size = leftMargin + rightMargin
for (var i in sortModel)
- size += sortModel[i].width
+ size += VLCStyle.colWidth(sortModel[i].size)
return size + Math.max(VLCStyle.column_spacing * (sortModel.length -
1), 0)
}
@@ -314,11 +314,13 @@ FocusScope {
model: sortModel
MouseArea {
height: childrenRect.height
- width: modelData.width || 1
+
+ width: VLCStyle.colWidth(modelData.size) || 1
+
//Layout.alignment: Qt.AlignVCenter
Loader {
- property var model: modelData
+ property var model: modelData.model
sourceComponent: model.headerDelegate ||
root.tableHeaderDelegate
}
=====================================
modules/gui/qt/widgets/qml/TableViewDelegate.qml
=====================================
@@ -179,7 +179,7 @@ T.Control {
Loader{
property var rowModel: delegate.rowModel
- property var colModel: modelData
+ property var colModel: modelData.model
readonly property int index: delegate._index
@@ -189,7 +189,7 @@ T.Control {
readonly property color foregroundColor:
delegate.background.foregroundColor
- width: (modelData.width) ? modelData.width : 0
+ width: (modelData.size) ? VLCStyle.colWidth(modelData.size) : 0
height: parent.height
View it on GitLab:
https://code.videolan.org/videolan/vlc/-/compare/12497780d6b1d109f5bdfaaa0128a0a2506d0711...16e913456ee1075b2b819d7951892b1e3f3f980b
--
View it on GitLab:
https://code.videolan.org/videolan/vlc/-/compare/12497780d6b1d109f5bdfaaa0128a0a2506d0711...16e913456ee1075b2b819d7951892b1e3f3f980b
You're receiving this email because of your account on code.videolan.org.
VideoLAN code repository instance_______________________________________________
vlc-commits mailing list
[email protected]
https://mailman.videolan.org/listinfo/vlc-commits