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
  • abdsaber000/vlc
  • falbrechtskirchinger/vlc
405 results
Show changes
Commits on Source (2)
Showing
with 59 additions and 29 deletions
......@@ -573,6 +573,7 @@ libqt_plugin_la_RES = \
gui/qt/pixmaps/play.svg \
gui/qt/pixmaps/play_button.svg \
gui/qt/pixmaps/play_shadow.png \
gui/qt/pixmaps/new_indicator.svg \
gui/qt/pixmaps/playlist/add.svg \
gui/qt/pixmaps/playlist/playlist.svg \
gui/qt/pixmaps/playlist/remove.svg \
......
......@@ -77,6 +77,7 @@ QHash<int, QByteArray> MLGroupListModel::roleNames() const /* override */
{ GROUP_DATE, "date" },
{ GROUP_COUNT, "count" },
// NOTE: Media specific.
{ GROUP_IS_NEW, "isNew" },
{ GROUP_TITLE, "title" },
{ GROUP_RESOLUTION, "resolution_name" },
{ GROUP_CHANNEL, "channel" },
......@@ -154,6 +155,8 @@ QVariant MLGroupListModel::data(const QModelIndex & index, int role) const /* ov
case GROUP_COUNT:
return 1;
// NOTE: Media specific.
case GROUP_IS_NEW:
return QVariant::fromValue(video->isNew());
case GROUP_TITLE:
return QVariant::fromValue(video->getTitle());
case GROUP_RESOLUTION:
......
......@@ -42,6 +42,7 @@ public:
GROUP_DATE,
GROUP_COUNT,
// NOTE: Media specific.
GROUP_IS_NEW,
GROUP_TITLE,
GROUP_RESOLUTION,
GROUP_CHANNEL,
......
......@@ -106,6 +106,11 @@ MLPlaylistMedia::MLPlaylistMedia(vlc_medialibrary_t * ml, const vlc_ml_media_t *
// Interface
//-------------------------------------------------------------------------------------------------
bool MLPlaylistMedia::isNew() const
{
return (m_playCount == 1 && m_progress <= 0);
}
QString MLPlaylistMedia::getTitle() const
{
return m_title;
......
......@@ -39,6 +39,8 @@ public:
MLPlaylistMedia(vlc_medialibrary_t * ml, const vlc_ml_media_t * data);
public: // Interface
bool isNew() const;
QString getTitle() const;
QString getThumbnail();
......
......@@ -173,6 +173,7 @@ QHash<int, QByteArray> MLPlaylistModel::roleNames() const /* override */
return
{
{ MEDIA_ID, "id" },
{ MEDIA_IS_NEW, "isNew" },
{ MEDIA_TITLE, "title" },
{ MEDIA_THUMBNAIL, "thumbnail" },
{ MEDIA_DURATION, "duration" },
......@@ -199,6 +200,8 @@ QVariant MLPlaylistModel::data(const QModelIndex & index, int role) const /* ove
{
case MEDIA_ID:
return QVariant::fromValue(media->getId());
case MEDIA_IS_NEW:
return QVariant::fromValue(media->isNew());
case MEDIA_TITLE:
return QVariant::fromValue(media->getTitle());
case MEDIA_THUMBNAIL:
......
......@@ -30,6 +30,7 @@ public:
enum Role
{
MEDIA_ID = Qt::UserRole + 1,
MEDIA_IS_NEW,
MEDIA_TITLE,
MEDIA_THUMBNAIL,
MEDIA_DURATION,
......
......@@ -22,6 +22,7 @@ namespace {
enum Role {
VIDEO_ID = Qt::UserRole + 1,
VIDEO_IS_NEW,
VIDEO_TITLE,
VIDEO_THUMBNAIL,
VIDEO_DURATION,
......@@ -50,6 +51,8 @@ QVariant MLRecentsVideoModel::data( const QModelIndex& index , int role ) const
{
case VIDEO_ID:
return QVariant::fromValue( video->getId() );
case VIDEO_IS_NEW:
return QVariant::fromValue( video->isNew() );
case VIDEO_TITLE:
return QVariant::fromValue( video->getTitle() );
case VIDEO_THUMBNAIL:
......@@ -79,6 +82,7 @@ QHash<int, QByteArray> MLRecentsVideoModel::roleNames() const
{
return {
{ VIDEO_ID, "id" },
{ VIDEO_IS_NEW, "isNew" },
{ VIDEO_TITLE, "title" },
{ VIDEO_THUMBNAIL, "thumbnail" },
{ VIDEO_DURATION, "duration" },
......
......@@ -163,6 +163,11 @@ void MLVideo::onMlEvent( const vlc_ml_event_t* event )
vlc_ml_event_unregister_from_callback( m_ml, m_ml_event_handle.release() );
}
bool MLVideo::isNew() const
{
return (m_playCount == 1 && m_progress <= 0);
}
QString MLVideo::getFileName() const
{
return m_fileName;
......
......@@ -90,6 +90,7 @@ class MLVideo : public MLItem
public:
MLVideo(vlc_medialibrary_t *ml, const vlc_ml_media_t *data);
bool isNew() const;
QString getFileName() const;
QString getTitle() const;
QString getThumbnail();
......
......@@ -52,6 +52,8 @@ QVariant MLVideoModel::data(const QModelIndex& index, int role) const
{
case VIDEO_ID:
return QVariant::fromValue( video->getId() );
case VIDEO_IS_NEW:
return QVariant::fromValue( video->isNew() );
case VIDEO_FILENAME:
return QVariant::fromValue( video->getFileName() );
case VIDEO_TITLE:
......@@ -88,6 +90,7 @@ QHash<int, QByteArray> MLVideoModel::roleNames() const
{
return {
{ VIDEO_ID, "id" },
{ VIDEO_IS_NEW, "isNew" },
{ VIDEO_FILENAME, "fileName" },
{ VIDEO_TITLE, "title" },
{ VIDEO_THUMBNAIL, "thumbnail" },
......
......@@ -38,6 +38,7 @@ class MLVideoModel : public MLBaseModel
public:
enum Role {
VIDEO_ID = Qt::UserRole + 1,
VIDEO_IS_NEW,
VIDEO_FILENAME,
VIDEO_TITLE,
VIDEO_THUMBNAIL,
......
......@@ -285,7 +285,8 @@ FocusScope {
labels: _getLabels(model, i18n.qtr("%1 Videos"))
// NOTE: We don't want to show the indicator for a group.
showNewIndicator: (model.count === 1)
// FIXME: Sometimes MLBaseModel::getDataAt returns {} so we use 'isNew === true'.
showNewIndicator: (model.count === 1 && model.isNew === true)
dragItem: dragItemGroup
......
......@@ -284,9 +284,6 @@ FocusScope {
labels: (model.count > 1) ? [ i18n.qtr("%1 Tracks").arg(_getCount(model)) ]
: [ i18n.qtr("%1 Track") .arg(_getCount(model)) ]
// NOTE: We don't want to show the new indicator for a playlist.
showNewIndicator: false
dragItem: dragItemPlaylist
selectedUnderlay : shadows.selected
......
......@@ -270,7 +270,11 @@ FocusScope {
&&
gridView.expandIndex !== gridItem.index) ? 0.7 : 1
// FIXME: Sometimes MLBaseModel::getDataAt returns {} so we use 'isNew === true'.
showNewIndicator: (model.isNew === true)
dragItem: root.dragItem
unselectedUnderlay: shadows.unselected
selectedUnderlay: shadows.selected
......
......@@ -26,8 +26,7 @@ import "qrc:///style/"
Widgets.GridItem {
id: root
property bool showNewIndicator: true
property int newIndicatorMedian: root.highlighted ? VLCStyle.icon_small : VLCStyle.icon_xsmall
property alias showNewIndicator: image.visible
property var labels: [
model.resolution_name || "",
......@@ -80,29 +79,18 @@ Widgets.GridItem {
}
onPlayClicked: root.play()
Behavior on newIndicatorMedian {
NumberAnimation {
duration: VLCStyle.duration_normal
easing.type: Easing.InOutSine
}
}
Item {
clip: true
x: parent.width - width
y: 0
width: 2 * root.newIndicatorMedian
height: 2 * root.newIndicatorMedian
visible: root.showNewIndicator && model.progress <= 0
Rectangle {
x: parent.width - root.newIndicatorMedian
y: - root.newIndicatorMedian
width: 2 * root.newIndicatorMedian
height: 2 * root.newIndicatorMedian
color: VLCStyle.colors.accent
rotation: 45
}
Image {
id: image
anchors.right: parent.right
anchors.top: parent.top
width: VLCStyle.gridItem_newIndicator
height: width
visible: false
source: VLCStyle.newIndicator
}
}
<?xml version="1.0" encoding="UTF-8"?>
<svg width="8" height="8" viewBox="0 0 8 8" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<path d="M0,0 L6,0 C7.104569,-2.02906125e-16 8,0.8954305 8,2 L8,8 L8,8 L0,0 Z" fill="#FF610A"/>
</svg>
......@@ -192,6 +192,8 @@ QtObject {
readonly property int gridItemSelectedBorder: dp(8, scale)
readonly property int gridItem_newIndicator: dp(8, scale)
readonly property int column_width: dp(114, scale)
readonly property int column_margin_width: dp(32, scale)
......@@ -265,6 +267,9 @@ QtObject {
// Play shadow
readonly property url playShadow: "qrc:///play_shadow.png";
// New indicator
readonly property url newIndicator: "qrc:///new_indicator.svg";
// Player controlbar
readonly property int maxControlbarControlHeight: dp(64, scale)
......
......@@ -121,6 +121,7 @@
<file alias="theme_daynight.svg">pixmaps/theme_daynight.svg</file>
<file alias="theme_light.svg">pixmaps/theme_light.svg</file>
<file alias="play_shadow.png">pixmaps/play_shadow.png</file>
<file alias="new_indicator.svg">pixmaps/new_indicator.svg</file>
</qresource>
<qresource prefix="/prefsmenu">
<file alias="cone_audio_64.png">pixmaps/prefs/spref_cone_Audio_64.png</file>
......