Skip to content
Snippets Groups Projects

Compare revisions

Changes are shown as if the source revision was being merged into the target revision. Learn more about comparing revisions.

Source

Select target project
No results found

Target

Select target project
  • videolan/vlc
  • chouquette/vlc
  • bakiewicz.marek122/vlc
  • devnexen/vlc
  • rohanrajpal/vlc
  • blurrrb/vlc
  • gsoc/gsoc2019/darkapex/vlc
  • b1ue/vlc
  • fkuehne/vlc
  • magsoft/vlc
  • chub/vlc
  • cramiro9/vlc
  • robUx4/vlc
  • rom1v/vlc
  • akshayaky/vlc
  • tmk907/vlc
  • akymaster/vlc
  • govind.sharma/vlc
  • psilokos/vlc
  • xjbeta/vlc
  • jahan/vlc
  • 1480c1/vlc
  • amanchande/vlc
  • aaqib/vlc
  • rist/vlc
  • apol/vlc
  • mindfreeze/vlc
  • alexandre-janniaux/vlc
  • sandsmark/vlc
  • jagannatharjun/vlc
  • gsoc/gsoc2020/matiaslgonzalez/vlc
  • gsoc/gsoc2020/jagannatharjun/vlc
  • mstorsjo/vlc
  • gsoc/gsoc2020/vedenta/vlc
  • gsoc/gsoc2020/arnav-ishaan/vlc
  • gsoc/gsoc2020/andreduong/vlc
  • fuzun/vlc
  • gsoc/gsoc2020/vatsin/vlc
  • gsoc/gsoc2020/sagid/vlc
  • yaron/vlc
  • Phoenix/vlc
  • Garf/vlc
  • ePiratWorkarounds/vlc
  • tguillem/vlc
  • jnqnfe/vlc
  • mdc/vlc
  • Vedaa/vlc
  • rasa/vlc
  • quink/vlc
  • yealo/vlc
  • aleksey_ak/vlc
  • ePirat/vlc
  • ilya.yanok/vlc
  • asenat/vlc
  • m/vlc
  • bunjee/vlc
  • BLumia/vlc
  • sagudev/vlc
  • hamedmonji30/vlc
  • nullgemm/vlc
  • DivyamAhuja/vlc
  • thesamesam/vlc
  • dag7/vlc
  • snehil101/vlc
  • haasn/vlc
  • jbk/vlc
  • ValZapod/vlc
  • mfkl/vlc
  • WangChuan/vlc
  • core1024/vlc
  • GhostVaibhav/vlc
  • dfuhrmann/vlc
  • davide.prade/vlc
  • tmatth/vlc
  • Courmisch/vlc
  • zouya/vlc
  • hpi/vlc
  • EwoutH/vlc
  • aleung27/vlc
  • hengwu0/vlc
  • saladin/vlc
  • ashuio/vlc
  • richselwood/vlc
  • verma16Ayush/vlc
  • chemicalflash/vlc
  • PoignardAzur/vlc
  • huangjieNT/vlc
  • Blake-Haydon/vlc
  • AnuthaDev/vlc
  • gsoc/gsoc2021/mpd/vlc
  • nicolas_lequec/vlc
  • sambassaly/vlc
  • thresh/vlc
  • bonniegong/vlc
  • myaashish/vlc
  • stavros.vagionitis/vlc
  • ileoo/vlc
  • louis-santucci/vlc
  • cchristiansen/vlc
  • sabyasachi07/vlc
  • AbduAmeen/vlc
  • ashishb0410/vlc
  • urbanhusky/vlc
  • davidepietrasanta/vlc
  • riksleutelstad/vlc
  • jeremyVignelles/vlc
  • komh/vlc
  • iamjithinjohn/vlc
  • JohannesKauffmann/vlc2
  • kunglao/vlc
  • natzberg/vlc
  • jill/vlc
  • cwendling/vlc
  • adufou/vlc
  • ErwanAirone/vlc
  • HasinduDilshan10/vlc
  • vagrantc/vlc
  • rafiv/macos-bigsur-icon
  • Aymeriic/vlc
  • saranshg20/vlc
  • metzlove24/vlc
  • linkfanel/vlc
  • Ds886/vlc
  • metehan-arslan/vlc
  • Skantes/vlc
  • kgsandundananjaya96/vlc
  • mitchcapper/vlc
  • advaitgupta/vlc
  • StefanBruens/vlc
  • ratajs/vlc
  • T.M.F.B.3761/vlc
  • m222059/vlc
  • casemerrick/vlc
  • joshuaword2alt/vlc
  • sjwaddy/vlc
  • dima/vlc
  • Ybalrid/vlc
  • umxprime/vlc
  • eschmidt/vlc
  • vannieuwenhuysenmichelle/vlc
  • badcf00d/vlc
  • wesinator/vlc
  • louis/vlc
  • xqq/vlc
  • EmperorYP7/vlc
  • NicoLiam/vlc
  • loveleen/vlc
  • rofferom/vlc
  • rbultje/vlc
  • TheUnamed/vlc
  • pratiksharma341/vlc
  • Saurab17/vlc
  • purist.coder/vlc
  • Shuicheng/vlc
  • mdrrubel292/vlc
  • silverbleu00/vlc
  • metif12/vlc
  • asher-m/vlc
  • jeffk/vlc
  • Brandonbr1/vlc
  • beautyyuyanli/vlc
  • rego21/vlc
  • muyangren907/vlc
  • collectionbylawrencejason/vlc
  • evelez/vlc
  • GSMgeeth/vlc
  • Oneric/vlc
  • TJ5/vlc
  • XuanTung95/vlc
  • darrenjenny21/vlc
  • Trenly/vlc
  • RockyTDR/vlc
  • mjakubowski/vlc
  • caprica/vlc
  • ForteFrankie/vlc
  • seannamiller19/vlc
  • junlon2006/vlc
  • kiwiren6666/vlc
  • iuseiphonexs/vlc
  • fenngtun/vlc
  • Rajdutt999/vlc
  • typx/vlc
  • leon.vitanos/vlc
  • robertogarci0938/vlc
  • gsoc/gsoc2022/luc65r/vlc-mpd
  • skeller/vlc
  • MCJack123/vlc
  • luc65r/vlc-mpd
  • popov895/vlc
  • claucambra/vlc
  • brad/vlc
  • matthewmurua88/vlc
  • Tomas8874/vlc
  • philenotfound/vlc
  • makita-do3/vlc
  • LZXCorp/vlc
  • mar0x/vlc
  • senojetkennedy0102/vlc
  • shaneb243/vlc
  • ahmadbader/vlc
  • rajduttcse26/vlc-audio-filters
  • Juniorzito8415/vlc
  • achernyakov/vlc
  • lucasjetgroup/vlc
  • pupdoggy666/vlc
  • gmde9363/vlc
  • alexnwayne/vlc
  • bahareebrahimi781/vlc
  • hamad633666/vlc
  • umghof3112/vlc
  • joe0199771874/vlc
  • Octocats66666666/vlc
  • jjm_223/vlc
  • btech10110.19/vlc
  • sunnykfc028/vlc-audio-filters
  • loic/vlc
  • nguyenminhducmx1/vlc
  • JanekKrueger/vlc
  • bstubbington2/vlc
  • rcombs/vlc
  • Ordissimo/vlc
  • king7532/vlc
  • noobsauce101/vlc
  • schong0525/vlc
  • myQwil/vlc
  • apisbg91/vlc
  • geeboy0101017/vlc
  • kim.faughey/vlc
  • nurupo/vlc
  • yyusea/vlc
  • 0711235879.khco/vlc
  • ialo/vlc
  • iloveyeye2/vlc
  • gdtdftdqtd/vlc
  • leandroconsiglio/vlc
  • AndyHTML2012/vlc
  • ncz/vlc
  • lucenticus/vlc
  • knr1931/vlc
  • kjoonlee/vlc
  • chandrakant100/vlc-qt
  • johge42/vlc
  • polter/vlc
  • hexchain/vlc
  • Tushwrld/vlc
  • mztea928/vlc
  • jbelloncastro/vlc
  • alvinhochun/vlc
  • ghostpiratecrow/vlc
  • ujjwaltwitx/vlc
  • alexsonarin06/vlc
  • adrianbon76/vlc
  • altsod/vlc
  • damien.lucas44/vlc
  • dmytrivtaisa/vlc
  • utk202/vlc
  • aaxhrj/vlc
  • thomas.hermes/vlc
  • structurenewworldorder/vlc
  • slomo/vlc
  • wantlamy/vlc
  • musc.o3cminc/vlc
  • thebarshablog/vlc
  • kerrick/vlc
  • kratos142518/vlc
  • leogps/vlc
  • vacantron/vlc
  • luna_koly/vlc
  • Ratio2/vlc
  • anuoshemohammad/vlc
  • apsun/vlc
  • aaa1115910/vlc
  • alimotmoyo/vlc
  • Ambossmann/vlc
  • Sam-LearnsToCode/vlc
  • Chilledheart/vlc
  • Labnann/vlc
  • ktcoooot1/vlc
  • mohit-marathe/vlc
  • johnddx/vlc
  • manstabuk/vlc
  • Omar-ahmed314/vlc
  • vineethkm/vlc
  • 9Enemi86/vlc
  • radoslav.m.panteleev/vlc
  • ashishami2002/vlc
  • Corbax/vlc
  • firnasahmed/vlc
  • pelayarmalam4/vlc
  • c0ff330k/vlc
  • shikhindahikar/vlc
  • l342723951/vlc
  • christianschwandner/vlc
  • douniwan5788/vlc
  • 7damian7/vlc
  • ferdnyc/vlc
  • f.ales1/vlc
  • pandagby/vlc
  • BaaBaa/vlc
  • jewe37/vlc
  • w00drow/vlc
  • russelltg/vlc
  • ironicallygod/vlc
  • soumyaDghosh/vlc
  • linzihao1999/vlc
  • deyayush6/vlc
  • mibi88/vlc
  • newabdallah10/vlc
  • jhorbincolombia/vlc
  • rimvihaqueshupto/vlc
  • andrewkhon98/vlc
  • fab78/vlc
  • lapaz17/vlc
  • amanna13/vlc
  • mdakram28/vlc
  • 07jw1980/vlc
  • sohamgupta/vlc
  • Eson-Jia1/vlc
  • Sumou/vlc
  • vikram-kangotra/vlc
  • chalice191/vlc
  • olivercalder/vlc
  • aaasg4001/vlc
  • zipdox/vlc
  • kwizart/vlc
  • Dragon-S/vlc
  • jdemeule/vlc
  • gabriel_lt/vlc
  • locutusofborg/vlc
  • sammirata/vlc-librist
  • another/vlc
  • Benjamin_Loison/vlc
  • ahmedmoselhi/vlc
  • petergaal/vlc
  • huynhsontung/vlc
  • dariusmihut/vlc
  • tvermaashutosh/vlc
  • buti/vlc
  • Niram7777/vlc
  • rohan-here/vlc
  • balaji-sivasakthi/vlc
  • rlindner81/vlc
  • Kakadus/vlc
  • djain/vlc
  • ABBurmeister/vlc
  • craighuggins/vlc
  • orbea/vlc
  • maxos/vlc
  • aakarshmj/vlc
  • kblaschke/vlc
  • ankitm/vlc
  • advait-0/vlc
  • mohak2003/vlc
  • yselkowitz/vlc
  • AZM999/vlc-azm
  • andrey.turkin/vlc
  • Disha-Baghel/vlc
  • nowrep/vlc
  • Apeng/vlc
  • Choucroute_melba/vlc
  • autra/vlc
  • eclipseo/vlc
  • fhuber/vlc
  • olafhering/vlc
  • sdasda7777/vlc
  • 1div0/vlc
  • skosnits/vlc-extended-playlist-support
  • dnicolson/vlc
  • Timshel/vlc
  • octopols/vlc
  • MangalK/vlc
  • nima64/vlc
  • misawai/vlc
  • Alexander-Wilms/vlc
  • Maxime2/vlc-fork-for-visualizer
  • ww/vlc
  • jeske/vlc
  • sgross-emlix/vlc
  • morenonatural/vlc
  • freakingLovesVLC/vlc
  • borisgolovnev/vlc
  • mpromonet/vlc
  • diogo.simao-marques/vlc
  • masstock/vlc
  • pratikpatel8982/vlc
  • hugok79/vlc
  • longervision/vlc
  • abhiudaysurya/vlc
  • rishabhgarg/vlc
  • tumic/vlc
  • cart/vlc
  • shubham442/vlc
  • Aditya692005/vlc
  • sammirata/vlc4
  • syrykh/vlc
  • Vvorcun/macos-new-icon
  • AyaanshC/vlc
  • nasso/vlc
  • Quark/vlc
  • sebastinas/vlc
  • rhstone/vlc
  • talregev/vlc
  • Managor/vlc
403 results
Show changes
Commits on Source (5)
......@@ -250,6 +250,7 @@ FocusScope {
}
}
clip: true // content may overflow if not enough space is provided
headerPositioning: ListView.InlineHeader
section.property: ""
......
......@@ -399,6 +399,7 @@ FocusScope {
readonly property int _nbCols: VLCStyle.gridColumnsForWidth(tableView_id.availableRowWidth)
clip: true // content may overflow if not enough space is provided
model: trackModel
selectionDelegateModel: trackSelectionModel
headerColor: VLCStyle.colors.bg
......
......@@ -91,6 +91,7 @@ FocusScope {
property alias fadeRectBottomHovered: fadeRectBottom.isHovered
property alias fadeRectTopHovered: fadeRectTop.isHovered
property alias flickableDirection: view.flickableDirection
property alias listScrollBar: scroll_id
property alias buttonLeft: buttonLeft
......
......@@ -47,6 +47,13 @@ FocusScope {
text: model.text || ""
}
readonly property real usedRowSpace: {
var s = 0
for (var i in sortModel)
s += sortModel[i].width + root.horizontalSpacing
return s + root._contextButtonHorizontalSpace + (VLCStyle.margin_xxxsmall * 2)
}
property Component header: Item{}
property var headerItem: view.headerItem.loadedHeader
property color headerColor
......@@ -54,7 +61,7 @@ FocusScope {
property var selectionDelegateModel
property real rowHeight: VLCStyle.tableRow_height
readonly property int _contextButtonHorizontalSpace: VLCStyle.icon_normal + VLCStyle.margin_xxsmall * 2
readonly property int _contextButtonHorizontalSpace: VLCStyle.icon_normal
property int horizontalSpacing: VLCStyle.column_margin_width
property real availableRowWidth: 0
......@@ -198,7 +205,7 @@ FocusScope {
function _update() {
root.availableRowWidth = root.width
- ( !!section.property ? VLCStyle.table_section_width * 2 : 0 )
- _contextButtonHorizontalSpace
- (root.horizontalSpacing + _contextButtonHorizontalSpace)
root._availabeRowWidthLastUpdateTime = Date.now()
}
......@@ -242,7 +249,7 @@ FocusScope {
readonly property alias contentWidth: row.width
property alias loadedHeader: headerLoader.item
width: parent.width
width: view.width
height: col.height
color: headerColor
visible: view.modelCount > 0
......@@ -283,15 +290,12 @@ FocusScope {
Row {
id: row
anchors {
leftMargin: VLCStyle.margin_xxxsmall
rightMargin: VLCStyle.margin_xxxsmall
horizontalCenter: parent.horizontalCenter
horizontalCenterOffset: - root._contextButtonHorizontalSpace / 2
}
height: implicitHeight
x: Math.max(0, view.width - root.usedRowSpace) / 2
leftPadding: VLCStyle.margin_xxxsmall
rightPadding: VLCStyle.margin_xxxsmall
topPadding: root.headerTopPadding
bottomPadding: VLCStyle.margin_xsmall
spacing: root.horizontalSpacing
Repeater {
......@@ -326,6 +330,14 @@ FocusScope {
}
}
}
Item {
// placeholder for context button
width: root._contextButtonHorizontalSpace
height: 1
}
}
}
}
......@@ -341,6 +353,9 @@ FocusScope {
delegate: TableViewDelegate {}
flickableDirection: Flickable.AutoFlickDirection
contentWidth: root.usedRowSpace
onSelectAll: selectionDelegateModel.selectAll()
onSelectionUpdated: selectionDelegateModel.updateSelection( keyModifiers, oldIndex, newIndex )
onActionAtIndex: root.actionForSelection( selectionDelegateModel.selectedIndexes )
......
......@@ -40,10 +40,14 @@ T.Control {
// Settings
width: view.width
width: Math.max(view.width, content.implicitWidth)
height: root.rowHeight
leftPadding: Math.max(0, view.width - root.usedRowSpace) / 2
hoverEnabled: true
ListView.delayRemove: dragActive
// Connections
......@@ -70,142 +74,135 @@ T.Control {
backgroundColor: {
if (delegate.selected)
return VLCStyle.colors.gridSelect;
else if (hoverArea.containsMouse)
else if (delegate.hovered)
return VLCStyle.colors.listHover;
else
return VLCStyle.colors.setColorAlpha(VLCStyle.colors.listHover, 0);
}
}
contentItem: MouseArea {
id: hoverArea
MouseArea {
id: hoverArea
// Settings
// Settings
anchors.fill: parent
anchors.fill: parent
hoverEnabled: true
hoverEnabled: false
Keys.onMenuPressed: root.contextMenuButtonClicked(contextButton,rowModel)
Keys.onMenuPressed: root.contextMenuButtonClicked(contextButton,rowModel)
acceptedButtons: Qt.RightButton | Qt.LeftButton
acceptedButtons: Qt.RightButton | Qt.LeftButton
drag.target: root.dragItem
drag.target: root.dragItem
drag.axis: Drag.XAndYAxis
drag.axis: Drag.XAndYAxis
// Events
// Events
onPressed: _modifiersOnLastPress = mouse.modifiers
onPressed: _modifiersOnLastPress = mouse.modifiers
onClicked: {
if (mouse.button === Qt.LeftButton
||
selectionDelegateModel.isSelected(root.model.index(index, 0)) == false) {
onClicked: {
if (mouse.button === Qt.LeftButton
||
selectionDelegateModel.isSelected(root.model.index(index, 0)) == false) {
selectionDelegateModel.updateSelection(mouse.modifiers, view.currentIndex, index);
selectionDelegateModel.updateSelection(mouse.modifiers, view.currentIndex, index);
view.currentIndex = index;
view.currentIndex = index;
delegate.forceActiveFocus();
delegate.forceActiveFocus();
}
if (mouse.button === Qt.RightButton)
root.rightClick(delegate, rowModel, hoverArea.mapToGlobal(mouse.x, mouse.y));
}
if (mouse.button === Qt.RightButton)
root.rightClick(delegate, rowModel, hoverArea.mapToGlobal(mouse.x, mouse.y));
}
onPositionChanged: {
if (drag.active == false)
return;
onPositionChanged: {
if (drag.active == false)
return;
var pos = drag.target.parent.mapFromItem(hoverArea, mouseX, mouseY);
var pos = drag.target.parent.mapFromItem(hoverArea, mouseX, mouseY);
drag.target.x = pos.x + VLCStyle.dragDelta;
drag.target.y = pos.y + VLCStyle.dragDelta;
}
drag.target.x = pos.x + VLCStyle.dragDelta;
drag.target.y = pos.y + VLCStyle.dragDelta;
}
onDoubleClicked: {
if (mouse.button === Qt.LeftButton)
root.itemDoubleClicked(delegate._index, rowModel)
}
onDoubleClicked: {
if (mouse.button === Qt.LeftButton)
root.itemDoubleClicked(delegate._index, rowModel)
}
drag.onActiveChanged: {
// NOTE: Perform the "click" action because the click action is only executed on mouse
// release (we are in the pressed state) but we will need the updated list on drop.
if (drag.active
&&
selectionDelegateModel.isSelected(root.model.index(index, 0)) == false) {
selectionDelegateModel.updateSelection(_modifiersOnLastPress, view.currentIndex,
index);
} else if (root.dragItem) {
root.dragItem.Drag.drop();
}
drag.onActiveChanged: {
// NOTE: Perform the "click" action because the click action is only executed on mouse
// release (we are in the pressed state) but we will need the updated list on drop.
if (drag.active
&&
selectionDelegateModel.isSelected(root.model.index(index, 0)) == false) {
selectionDelegateModel.updateSelection(_modifiersOnLastPress, view.currentIndex,
index);
} else if (root.dragItem) {
root.dragItem.Drag.drop();
root.dragItem.Drag.active = drag.active;
}
root.dragItem.Drag.active = drag.active;
}
}
// Childs
Row {
id: content
anchors.top : parent.top
anchors.bottom: parent.bottom
anchors.leftMargin : VLCStyle.margin_xxxsmall
anchors.rightMargin : VLCStyle.margin_xxxsmall
anchors.topMargin : VLCStyle.margin_xxsmall
anchors.bottomMargin: VLCStyle.margin_xxsmall
anchors.horizontalCenter: parent.horizontalCenter
contentItem: Row {
id: content
anchors.horizontalCenterOffset: Math.round(-(root._contextButtonHorizontalSpace) / 2)
leftPadding: VLCStyle.margin_xxxsmall
rightPadding: VLCStyle.margin_xxxsmall
spacing: root.horizontalSpacing
spacing: root.horizontalSpacing
Repeater {
model: sortModel
Repeater {
model: sortModel
Loader{
property var rowModel: delegate.rowModel
Loader{
property var rowModel: delegate.rowModel
property var colModel: modelData
property var colModel: modelData
readonly property int index: delegate._index
readonly property int index: delegate._index
readonly property bool currentlyFocused: delegate.activeFocus
readonly property bool currentlyFocused: delegate.activeFocus
readonly property bool containsMouse: hoverArea.containsMouse
readonly property bool containsMouse: hoverArea.containsMouse
readonly property color foregroundColor: background.foregroundColor
readonly property color foregroundColor: background.foregroundColor
width: (modelData.width) ? modelData.width : 0
width: (modelData.width) ? modelData.width : 0
height: parent.height
height: parent.height
sourceComponent: (colModel.colDelegate) ? colModel.colDelegate
: root.colDelegate
}
sourceComponent: (colModel.colDelegate) ? colModel.colDelegate
: root.colDelegate
}
}
ContextButton {
anchors.left: content.right
Item {
width: root._contextButtonHorizontalSpace
anchors.leftMargin: VLCStyle.margin_xxsmall
height: parent.height
anchors.verticalCenter: content.verticalCenter
ContextButton {
id: contextButton
color: background.foregroundColor
anchors.verticalCenter: parent.verticalCenter
backgroundColor: (hovered || activeFocus)
? VLCStyle.colors.getBgColor(delegate.selected, hovered, activeFocus)
: "transparent"
color: background.foregroundColor
visible: hoverArea.containsMouse
backgroundColor: (hovered || activeFocus)
? VLCStyle.colors.getBgColor(delegate.selected, hovered, activeFocus)
: "transparent"
onClicked: root.contextMenuButtonClicked(this, delegate.rowModel)
visible: delegate.hovered
onClicked: root.contextMenuButtonClicked(this, delegate.rowModel)
}
}
}
}