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 (7)
Showing
with 73 additions and 48 deletions
......@@ -194,7 +194,7 @@ FocusScope {
delegate: Widgets.BannerTabButton {
iconTxt: model.icon
showText: globalToolbar.colapseTabButtons
selected: model.index === root.selectedIndex
selected: History.match(History.viewPath, ["mc", model.name])
onClicked: root.itemClicked(model.index)
height: globalMenuGroup.height
}
......
......@@ -185,17 +185,6 @@ FocusScope {
}
}
function showPlayer() {
History.push(["player"])
}
function play(backend, ids) {
showPlayer();
backend.addAndPlay(ids);
}
Util.ModelSortSettingHandler {
id: modelSortSettingHandler
}
......@@ -565,8 +554,9 @@ FocusScope {
target: Player
onHasVideoOutputChanged: {
if (Player.hasVideoOutput && MainCtx.hasEmbededVideo) {
if (History.current.view !== "player")
if (!History.match(History.viewPath, ["player"]))
g_mainDisplay.showPlayer()
History.push(["player"])
} else {
_showMiniPlayer = false;
}
......
......@@ -72,7 +72,7 @@ Item {
}
stackView.loadView(_pageModel, current.name, current.properties)
MainCtx.mediaLibraryVisible = (current.name !== "player")
MainCtx.mediaLibraryVisible = !History.match(History.viewPath, ["player"])
}
Item {
......@@ -168,7 +168,7 @@ Item {
return
}
if (History.current.name !== "player")
if (History.match(History.viewPath, ["player"]))
return
if (MainCtx.hasEmbededVideo && MainCtx.canShowVideoPIP === false)
......@@ -176,11 +176,9 @@ Item {
History.previous()
} else {
if (History.current.name === "player")
if (History.match(History.viewPath, ["player"]))
return
stackView.currentItem._inhibitMiniPlayer = true
History.push(["player"])
}
}
......@@ -234,7 +232,7 @@ Item {
target: Player
onPlayingStateChanged: {
if (Player.playingState === Player.PLAYING_STATE_STOPPED
&& History.current.name === "player") {
&& History.match(History.viewPath, ["player"]) ) {
if (History.previousEmpty)
_pushHome()
else
......
......@@ -23,6 +23,7 @@ import "qrc:///style/"
import "qrc:///widgets/" as Widgets
FocusScope {
id: root
Accessible.role: Accessible.Client
Accessible.name: I18n.qtr("Home view")
......@@ -56,6 +57,7 @@ FocusScope {
focus: true
anchors.horizontalCenter: parent.horizontalCenter
onClicked: DialogsProvider.simpleOpenDialog()
Navigation.parentItem: root
}
}
}
......@@ -90,11 +90,12 @@ MainInterface.MainViewLoader {
function onAction(indexes) {
model.addAndPlay( indexes )
g_mainDisplay.showPlayer()
History.push(["player"])
}
function onDoubleClick(object) {
g_mainDisplay.play(MediaLib, object.id)
MediaLib.addAndPlay(object.id)
History.push(["player"])
}
function onLabelGrid(object) { return getLabel(object) }
......
......@@ -143,10 +143,13 @@ VideoAll {
function onAction(indexes) {
model.addAndPlay( indexes )
g_mainDisplay.showPlayer()
History.push(["player"])
}
function onDoubleClick(object) { g_mainDisplay.play(MediaLib, object.id) }
function onDoubleClick(object) {
MediaLib.addAndPlay(object.id)
History.push(["player"])
}
function isInfoExpandPanelAvailable(modelIndexData) { return true }
}
......@@ -184,7 +187,7 @@ VideoAll {
if (object.isVideo) {
model.addAndPlay( indexes )
g_mainDisplay.showPlayer()
History.push(["player"])
return
}
......@@ -194,8 +197,8 @@ VideoAll {
function onDoubleClick(object) {
if (object.isVideo) {
g_mainDisplay.play(MediaLib, object.id)
MediaLib.addAndPlay(object.id)
History.push(["player"])
return
}
......
......@@ -49,12 +49,12 @@ FocusScope {
function _play(id) {
MediaLib.addAndPlay( id, [":restore-playback-pos=2"] )
g_mainDisplay.showPlayer()
History.push(["player"])
}
function _playIndex(idx) {
recentModel.addAndPlay( [idx], [":restore-playback-pos=2"] )
g_mainDisplay.showPlayer()
History.push(["player"])
}
// Childs
......
......@@ -37,7 +37,7 @@ Widgets.GridItem {
function play() {
if ( model.id !== undefined ) {
MediaLib.addAndPlay( model.id )
g_mainDisplay.showPlayer()
History.push(["player"])
}
}
......
......@@ -27,7 +27,7 @@ import "qrc:///widgets/" as Widgets
T.Control {
id: control
property var path
property var path: []
property var _contentModel
property var _menuModel
......
......@@ -105,8 +105,6 @@ MainInterface.MainGridView {
{ source_name: itemData.name }], Qt.TabFocusReason)
}
Navigation.parentItem: root
Navigation.cancelAction: function() {
History.previous(Qt.BacktabFocusReason)
}
......
......@@ -85,13 +85,13 @@ AbstractButton {
if (KeyHelper.matchOk(event)) {
event.accepted = true
g_mainDisplay.showPlayer()
History.push(["player"])
}
}
// Events
onClicked: g_mainDisplay.showPlayer()
onClicked: History.push(["player"])
background: Widgets.AnimatedBackground {
active: visualFocus
......
......@@ -33,7 +33,7 @@ Widgets.IconControlButton {
// Private
readonly property bool _isCurrentViewPlayer: (History.current.name === "player")
readonly property bool _isCurrentViewPlayer: History.match(History.viewPath, ["player"])
// Aliases
......
......@@ -26,10 +26,10 @@ Widgets.IconControlButton {
iconText: VLCIcons.fullscreen
onClicked: {
if (History.current.view === "player")
if (History.match(History.viewPath, ["player"]))
History.previous()
else
g_mainDisplay.showPlayer()
History.push(["player"])
}
text: I18n.qtr("Switch Player")
......
......@@ -137,13 +137,16 @@ static bool isNodeValid(QVariant& value)
return false;
}
static QString getViewPath(QVariantMap map)
static QStringList getViewPath(QVariantMap map)
{
QString r;
QStringList r;
if (map.contains("view"))
r = getViewPath(map.value("view").toMap());
return getViewPath(map.value("view").toMap());
else if (map.contains("name"))
r = "/" + map.value("name").toString() + getViewPath(map.value("properties").toMap());
{
r = QStringList( map.value("name").toString() );
r.append(std::move(getViewPath(map.value("properties").toMap())));
}
return r;
}
......@@ -219,7 +222,7 @@ void NavigationHistory::updateViewPath()
emit viewPathChanged( m_viewPath );
}
QString NavigationHistory::viewPath() const
QStringList NavigationHistory::viewPath() const
{
return m_viewPath;
}
......@@ -232,3 +235,27 @@ Qt::FocusReason NavigationHistory::takeFocusReason()
return reason;
}
Q_INVOKABLE bool NavigationHistory::match(const QStringList& path, const QStringList& pattern)
{
if (pattern.length() > path.length())
return false;
for (qsizetype i = 0; i < pattern.length(); i++)
{
if (pattern[i] != path[i])
return false;
}
return true;
}
Q_INVOKABLE bool NavigationHistory::exactMatch(const QStringList& path, const QStringList& pattern)
{
if (pattern.length() != path.length())
return false;
for (qsizetype i = 0; i < pattern.length(); i++)
{
if (pattern[i] != path[i])
return false;
}
return true;
}
......@@ -10,7 +10,7 @@ class NavigationHistory : public QObject
public:
Q_PROPERTY(QVariant current READ getCurrent NOTIFY currentChanged FINAL)
Q_PROPERTY(bool previousEmpty READ isPreviousEmpty NOTIFY previousEmptyChanged FINAL)
Q_PROPERTY(QString viewPath READ viewPath NOTIFY viewPathChanged FINAL)
Q_PROPERTY(QStringList viewPath READ viewPath NOTIFY viewPathChanged FINAL)
enum class PostAction{
Stay,
......@@ -23,15 +23,18 @@ public:
QVariant getCurrent();
bool isPreviousEmpty();
QString viewPath() const;
QStringList viewPath() const;
// NOTE: The first item to call this takes ownership over the focus reason.
Q_INVOKABLE Qt::FocusReason takeFocusReason();
Q_INVOKABLE bool match(const QStringList& path, const QStringList& pattern);
Q_INVOKABLE bool exactMatch(const QStringList& path, const QStringList& pattern);
signals:
void currentChanged(QVariant current);
void previousEmptyChanged(bool empty);
void viewPathChanged(QString viewPath);
void viewPathChanged(const QStringList& viewPath);
public slots:
/**
......@@ -102,7 +105,7 @@ private:
void updateViewPath();
QVariantList m_history;
QString m_viewPath;
QStringList m_viewPath;
Qt::FocusReason m_reason;
};
......
......@@ -51,7 +51,7 @@ QtObject {
function set(model, key) {
_model = model
_key = key
_key = key.join("/")
if (!_model)
return
......
......@@ -121,7 +121,10 @@ Item {
playCoverVisible: (titleDel.currentlyFocused || titleDel.containsMouse)
playIconSize: VLCStyle.play_cover_small
onPlayIconClicked: g_mainDisplay.play(MediaLib, titleDel.rowModel.id)
onPlayIconClicked: {
MediaLib.addAndPlay(titleDel.rowModel.id)
History.push(["player"])
}
radius: root.titleCover_radius
color: titleDel.colorContext.bg.secondary
......