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)
......@@ -731,6 +731,7 @@ libqt_plugin_la_RES = \
gui/qt/pixmaps/menu/folder.svg \
gui/qt/pixmaps/menu/help.svg \
gui/qt/pixmaps/menu/info.svg \
gui/qt/pixmaps/menu/media_library.svg \
gui/qt/pixmaps/menu/messages.svg \
gui/qt/pixmaps/menu/movie.svg \
gui/qt/pixmaps/menu/music.svg \
......
......@@ -488,6 +488,15 @@ inline void MainCtx::initSystray()
createSystray();
}
void MainCtx::setMediaLibraryVisible( bool visible )
{
if (m_mediaLibraryVisible == visible)
return;
m_mediaLibraryVisible = visible;
emit mediaLibraryVisibleChanged(visible);
}
void MainCtx::setPlaylistDocked( bool docked )
{
......
......@@ -148,6 +148,8 @@ class MainCtx : public QObject
{
Q_OBJECT
Q_PROPERTY(bool mediaLibraryVisible READ isMediaLibraryVisible WRITE setMediaLibraryVisible
NOTIFY mediaLibraryVisibleChanged FINAL)
Q_PROPERTY(bool playlistDocked READ isPlaylistDocked WRITE setPlaylistDocked NOTIFY playlistDockedChanged FINAL)
Q_PROPERTY(bool playlistVisible READ isPlaylistVisible WRITE setPlaylistVisible NOTIFY playlistVisibleChanged FINAL)
Q_PROPERTY(double playlistWidthFactor READ getPlaylistWidthFactor WRITE setPlaylistWidthFactor NOTIFY playlistWidthFactorChanged FINAL)
......@@ -231,6 +233,7 @@ public:
inline bool isInterfaceFullScreen() const { return m_windowVisibility == QWindow::FullScreen; }
inline bool isInterfaceVisible() const { return m_windowVisibility != QWindow::Hidden; }
bool isMediaLibraryVisible() { return m_mediaLibraryVisible; }
bool isPlaylistDocked() { return b_playlistDocked; }
bool isPlaylistVisible() { return playlistVisible; }
inline double getPlaylistWidthFactor() const { return playlistWidthFactor; }
......@@ -364,6 +367,7 @@ protected:
QUrl m_dialogFilepath; /* Last path used in dialogs */
/* States */
bool m_mediaLibraryVisible = true;
bool playlistVisible = false; ///< Is the playlist visible ?
double playlistWidthFactor = 4.; ///< playlist size: root.width / playlistScaleFactor
......@@ -390,6 +394,7 @@ public slots:
void hideUpdateSystrayMenu();
void toggleToolbarMenu();
void toggleInterfaceFullScreen();
void setMediaLibraryVisible( bool );
void setPlaylistDocked( bool );
void setPlaylistVisible( bool );
void setPlaylistWidthFactor( double );
......@@ -436,6 +441,7 @@ signals:
void askRaise();
void kc_pressed(); /* easter eggs */
void mediaLibraryVisibleChanged(bool);
void playlistDockedChanged(bool);
void playlistVisibleChanged(bool);
void playlistWidthFactorChanged(double);
......
......@@ -107,6 +107,8 @@ Item {
return
}
stackView.loadView(g_mainInterface.pageModel, current.name, current.properties)
MainCtx.mediaLibraryVisible = (current.name !== "player")
}
Connections {
......@@ -114,6 +116,39 @@ Item {
onCurrentChanged: loadCurrentHistoryView()
}
Connections {
target: MainCtx
onMediaLibraryVisibleChanged: {
if (MainCtx.mediaLibraryVisible) {
// NOTE: Useful when we started the application on the 'player' view.
if (History.previousEmpty) {
if (MainCtx.hasEmbededVideo && MainCtx.canShowVideoPIP === false)
mainPlaylistController.stop()
_pushHome()
return
}
if (History.current.name !== "player")
return
if (MainCtx.hasEmbededVideo && MainCtx.canShowVideoPIP === false)
mainPlaylistController.stop()
History.previous()
} else {
if (History.current.name === "player")
return
stackView.currentItem._inhibitMiniPlayer = true
History.push(["player"])
}
}
}
function setInitialView() {
//set the initial view
const loadPlayer = !mainPlaylistController.empty;
......@@ -127,6 +162,12 @@ Item {
History.push(["player"])
}
function _pushHome() {
if (MainCtx.mediaLibraryAvailable)
History.push(["mc", "video"])
else
History.push(["mc", "home"])
}
Component.onCompleted: {
g_mainInterface._interfaceReady = true;
......@@ -177,12 +218,7 @@ Item {
if (Player.playingState === Player.PLAYING_STATE_STOPPED
&& History.current.name === "player") {
if (History.previousEmpty)
{
if (MainCtx.mediaLibraryAvailable)
History.push(["mc", "video"])
else
History.push(["mc", "home"])
}
_pushHome()
else
History.previous()
}
......
......@@ -296,6 +296,22 @@ void VLCMenuBar::ViewMenu( qt_intf_t *p_intf, QMenu *menu )
if( m && m->parent() == menu ) delete m;
}
QString title;
if (mi->hasMediaLibrary())
title = qtr("Media Library");
else
title = qtr("Browse and Discover");
action = menu->addAction(
#ifndef __APPLE__
QIcon( ":/menu/media_library.svg" ),
#endif
title);
action->setCheckable( true );
connect( action, &QAction::triggered, mi, &MainCtx::setMediaLibraryVisible );
action->setChecked( mi->isMediaLibraryVisible() );
action = menu->addAction(
#ifndef __APPLE__
QIcon( ":/menu/playlist.svg" ),
......
<svg viewBox="0 0 48 48" xmlns="http://www.w3.org/2000/svg">
<g fill="#747474">
<path d="M8 8v5l32-.001v-5zm0 10v5l32-.001v-5zm0 10v5l18-.001v-5z"/>
<path d="m40 34-9 6V28z" fill-rule="evenodd"/>
</g>
</svg>
......@@ -46,6 +46,12 @@ FocusScope{
property int reservedHeight: 0
// Private
property bool _showTopBar: (pinControls === false || root.showToolbar === false)
property bool _showCenterText: (pinControls && showToolbar === false && showCSD)
readonly property int _sideMargin: VLCStyle.margin_small + sideMargin
// Aliases
......@@ -70,6 +76,9 @@ FocusScope{
onTopMarginChanged: root._layout()
onSideMarginChanged: root._layout()
on_ShowTopBarChanged: _layout()
on_ShowCenterText: _layout()
function _layoutLine(c1, c2, offset)
{
let c1Height = c1 !== undefined ? c1.implicitHeight : 0
......@@ -100,7 +109,7 @@ FocusScope{
function _layout() {
let offset = root.topMargin
if (root.pinControls && !root.showToolbar && root.showCSD) {
if (root._showCenterText) {
//place everything on one line
//csdDecorations.implicitHeight gets overwritten when the height is set,
//VLCStyle.icon_normal is its initial value
......@@ -156,16 +165,8 @@ FocusScope{
right = playlistGroup
const secondLineOffset = offset
const secondLineHeight = root._layoutLine(left, right, offset)
offset += secondLineHeight
if (root.pinControls) {
centerTitleText.y = secondLineOffset
centerTitleText.height = secondLineHeight
}
if (_showTopBar)
offset += _layoutLine(left, right, offset)
}
root.implicitHeight = offset
......@@ -192,7 +193,7 @@ FocusScope{
anchors.top: parent.top
anchors.left: parent.left
anchors.leftMargin: root._sideMargin
anchors.leftMargin: root.sideMargin
width: implicitWidth
......@@ -203,7 +204,6 @@ FocusScope{
onMenuOpenedChanged: root.requestLockUnlockAutoHide(menuOpened)
}
Item {
id: logoOrResume
......@@ -214,8 +214,14 @@ FocusScope{
implicitWidth: resumeVisible ? resumeDialog.implicitWidth
: logoGroup.implicitWidth
implicitHeight: resumeVisible ? resumeDialog.implicitHeight
: logoGroup.implicitHeight
implicitHeight: {
if (root.resumeVisible)
return resumeDialog.implicitHeight
else if (_showTopBar)
return logoGroup.implicitHeight
else
return 0
}
onImplicitHeightChanged: root._layout()
......@@ -223,7 +229,8 @@ FocusScope{
id: logoGroup
anchors.fill: parent
visible: !resumeVisible
visible: (root._showTopBar && root.resumeVisible === false)
implicitHeight: VLCStyle.icon_banner + VLCStyle.margin_xxsmall * 2
implicitWidth: backBtn.implicitWidth + logo.implicitWidth + VLCStyle.margin_xxsmall
......@@ -266,7 +273,6 @@ FocusScope{
}
}
ResumeDialog {
id: resumeDialog
......@@ -305,7 +311,8 @@ FocusScope{
readonly property bool _alignHCenter: _centerX > _leftLimit
&& _centerX + centerTitleText.implicitWidth < _rightLimit
visible: root.pinControls && !resumeVisible
visible: (_showCenterText && root.resumeVisible === false)
enabled: visible
width: Math.min(centerTitleText._availableWidth, centerTitleText.implicitWidth)
......@@ -345,6 +352,7 @@ FocusScope{
width: root.textWidth - VLCStyle.margin_normal
visible: !root.pinControls
enabled: visible
topPadding: VLCStyle.margin_large
......@@ -392,6 +400,8 @@ FocusScope{
anchors.right: parent.right
anchors.rightMargin: root._sideMargin + extraRightMargin
visible: root._showTopBar
Widgets.IconControlButton {
id: menuSelector
......
......@@ -11,6 +11,8 @@ NavigationHistory::NavigationHistory(QObject *parent)
QVariant NavigationHistory::getCurrent()
{
assert(m_history.isEmpty() == false);
return m_history.back();
}
......
......@@ -24,6 +24,7 @@
<file alias="folder.svg">pixmaps/menu/folder.svg</file>
<file alias="help.svg">pixmaps/menu/help.svg</file>
<file alias="info.svg">pixmaps/menu/info.svg</file>
<file alias="media_library.svg">pixmaps/menu/media_library.svg</file>
<file alias="messages.svg">pixmaps/menu/messages.svg</file>
<file alias="movie.svg">pixmaps/menu/movie.svg</file>
<file alias="music.svg">pixmaps/menu/music.svg</file>
......