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 (9)
Showing
with 117 additions and 231 deletions
......@@ -261,6 +261,7 @@ libqt_plugin_la_SOURCES = \
gui/qt/util/audio_device_model.cpp \
gui/qt/util/audio_device_model.hpp \
gui/qt/util/color_scheme_model.cpp gui/qt/util/color_scheme_model.hpp \
gui/qt/util/color_svg_image_provider.cpp gui/qt/util/color_svg_image_provider.hpp \
gui/qt/util/covergenerator.cpp \
gui/qt/util/covergenerator.hpp \
gui/qt/util/imageluminanceextractor.cpp gui/qt/util/imageluminanceextractor.hpp \
......@@ -456,6 +457,7 @@ nodist_libqt_plugin_la_SOURCES = \
gui/qt/util/asynctask.moc.cpp \
gui/qt/util/audio_device_model.moc.cpp \
gui/qt/util/color_scheme_model.moc.cpp \
gui/qt/util/color_svg_image_provider.moc.cpp \
gui/qt/util/imageluminanceextractor.moc.cpp \
gui/qt/util/i18n.moc.cpp \
gui/qt/util/keyhelper.moc.cpp \
......@@ -601,15 +603,6 @@ libqt_plugin_la_RES = \
gui/qt/pixmaps/icons/add.svg \
gui/qt/pixmaps/icons/album_cover.svg \
gui/qt/pixmaps/icons/aspect_ratio.svg \
gui/qt/pixmaps/icons/atob_bg_ab.svg \
gui/qt/pixmaps/icons/atob_bg_a.svg \
gui/qt/pixmaps/icons/atob_bg_b.svg \
gui/qt/pixmaps/icons/atob_bg_none.svg \
gui/qt/pixmaps/icons/atob_fg_ab.svg \
gui/qt/pixmaps/icons/atob_fg_a.svg \
gui/qt/pixmaps/icons/atob_fg_b.svg \
gui/qt/pixmaps/icons/atob_noa.svg \
gui/qt/pixmaps/icons/atob_nob.svg \
gui/qt/pixmaps/icons/atob.svg \
gui/qt/pixmaps/icons/audiosub.svg \
gui/qt/pixmaps/icons/back.svg \
......@@ -738,6 +731,7 @@ libqt_plugin_la_RES = \
gui/qt/pixmaps/misc/wait2.svg \
gui/qt/pixmaps/misc/wait3.svg \
gui/qt/pixmaps/misc/wait4.svg \
gui/qt/pixmaps/placeholder/add_service.svg \
gui/qt/pixmaps/placeholder/noart.png \
gui/qt/pixmaps/placeholder/noart_album.svg \
gui/qt/pixmaps/placeholder/noart_albumCover.svg \
......
......@@ -41,6 +41,7 @@
#include "util/qmlinputitem.hpp"
#include "util/mouse_event_filter.hpp"
#include "util/flickable_scroll_handler.hpp"
#include "util/color_svg_image_provider.hpp"
#include "util/effects_image_provider.hpp"
#include "dialogs/help/aboutmodel.hpp"
......@@ -133,6 +134,7 @@ MainUI::MainUI(qt_intf_t *p_intf, MainCtx *mainCtx, QWindow* interfaceWindow, Q
SingletonRegisterHelper<SystemPalette>::setInstance( new SystemPalette(this) );
SingletonRegisterHelper<DialogErrorModel>::setInstance( new DialogErrorModel(m_intf, this));
SingletonRegisterHelper<QmlKeyHelper>::setInstance( new QmlKeyHelper(this) );
SingletonRegisterHelper<SVGColorImage>::setInstance( new SVGColorImage(this) );
if (m_mainCtx->hasMediaLibrary())
{
......@@ -160,8 +162,9 @@ bool MainUI::setup(QQmlEngine* engine)
engine->addImageProvider(MLCUSTOMCOVER_PROVIDERID, customCover);
}
SingletonRegisterHelper<EffectsImageProvider>::setInstance(new EffectsImageProvider(engine));
engine->addImageProvider(QStringLiteral("svgcolor"), new SVGColorImageImageProvider(m_intf));
m_component = new QQmlComponent(engine, QStringLiteral("qrc:/main/MainInterface.qml"), QQmlComponent::PreferSynchronous, engine);
if (m_component->isLoading())
......@@ -225,10 +228,13 @@ void MainUI::registerQMLTypes()
qmlRegisterSingletonType<DialogErrorModel>(uri, versionMajor, versionMinor, "DialogErrorModel", SingletonRegisterHelper<DialogErrorModel>::callback);
qmlRegisterSingletonType<QmlKeyHelper>(uri, versionMajor, versionMinor, "KeyHelper", SingletonRegisterHelper<QmlKeyHelper>::callback);
qmlRegisterSingletonType<EffectsImageProvider>(uri, versionMajor, versionMinor, "Effects", SingletonRegisterHelper<EffectsImageProvider>::callback);
qmlRegisterSingletonType<SVGColorImage>(uri, versionMajor, versionMinor, "SVGColorImage", SingletonRegisterHelper<SVGColorImage>::callback);
qmlRegisterUncreatableType<QAbstractItemModel>(uri, versionMajor, versionMinor, "QtAbstractItemModel", "");
qmlRegisterUncreatableType<QWindow>(uri, versionMajor, versionMinor, "QtWindow", "");
qmlRegisterUncreatableType<QScreen>(uri, versionMajor, versionMinor, "QtScreen", "");
qmlRegisterUncreatableType<SVGColorImageBuilder>(uri, versionMajor, versionMinor, "SVGColorImageBuilder", "");
qRegisterMetaType<VLCTick>();
qmlRegisterUncreatableType<VLCTick>(uri, versionMajor, versionMinor, "VLCTick", "");
......
......@@ -165,7 +165,9 @@ FocusScope {
Image {
sourceSize.width: VLCStyle.icon_normal
sourceSize.height: VLCStyle.icon_normal
source: "qrc:///misc/cone.svg"
source: SVGColorImage.colorize("qrc:///misc/cone.svg")
.accent(VLCStyle.colors.accent)
.uri()
enabled: false
}
......
......@@ -16,6 +16,8 @@
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301, USA.
*****************************************************************************/
#include <QQmlFile>
#include "networksourcesmodel.hpp"
#include "networkmediamodel.hpp"
......@@ -129,15 +131,15 @@ bool NetworkSourcesModel::initializeMediaSources()
if ( item.name.startsWith( "podcast" ) )
{
item.artworkUrl = QUrl::fromLocalFile(":/sd/podcast.svg");
item.artworkUrl = QUrl("qrc:///sd/podcast.svg");
}
else if ( item.name.startsWith("lua{") )
{
int i_head = item.name.indexOf( "sd='" ) + 4;
int i_tail = item.name.indexOf( '\'', i_head );
const QString iconName = QString( ":/sd/%1.svg" ).arg( item.name.mid( i_head, i_tail - i_head ) );
item.artworkUrl = QFileInfo::exists( iconName ) ? QUrl::fromLocalFile( iconName )
: QUrl::fromLocalFile( ":/sd/network.svg" );
const QString iconName = QString( "qrc:///sd/%1.svg" ).arg( item.name.mid( i_head, i_tail - i_head ) );
item.artworkUrl = QFileInfo::exists( QQmlFile::urlToLocalFileOrQrc(iconName) ) ? QUrl(iconName)
: QUrl("qrc:///sd/network.svg");
}
m_items.push_back( std::move(item) );
......
......@@ -107,7 +107,6 @@ FocusScope {
NetworkCustomCover {
networkModel: model
iconSize: networkDragItem.coverSize / 2
width: networkDragItem.coverSize / 2
height: networkDragItem.coverSize / 2
}
......
......@@ -24,45 +24,41 @@ import org.videolan.vlc 0.1
import "qrc:///widgets/" as Widgets
import "qrc:///style/"
Item {
Widgets.ScaledImage {
id: custom_cover
property var networkModel
property alias iconSize: custom_cover.width
property var bgColor: undefined
Widgets.ScaledImage {
id: custom_cover
sourceSize: Qt.size(width, height)
source: {
if (!!networkModel.artwork && networkModel.artwork.length > 0)
return networkModel.artwork
anchors.centerIn: parent
height: iconSize
sourceSize: Qt.size(width, height)
source: {
if (!networkModel)
return ""
var img = SVGColorImage.colorize(_baseUri(networkModel.type))
.color1(VLCStyle.colors.text)
.accent(VLCStyle.colors.accent)
switch (networkModel.type) {
case NetworkMediaModel.TYPE_DISC:
return "qrc:///sd/disc.svg"
case NetworkMediaModel.TYPE_CARD:
return "qrc:///sd/capture-card.svg"
case NetworkMediaModel.TYPE_STREAM:
return "qrc:///sd/stream.svg"
case NetworkMediaModel.TYPE_PLAYLIST:
return "qrc:///sd/playlist.svg"
case NetworkMediaModel.TYPE_FILE:
return "qrc:///sd/file.svg"
default:
return "qrc:///sd/directory.svg"
}
}
if (bgColor !== undefined)
img.background(bgColor)
return img.uri()
}
ColorOverlay {
anchors.fill: custom_cover
source: custom_cover
color: VLCStyle.colors.text
visible: custom_cover.visible
&& !!networkModel
&& networkModel.type !== NetworkMediaModel.TYPE_DISC
&& networkModel.type !== NetworkMediaModel.TYPE_CARD
&& networkModel.type !== NetworkMediaModel.TYPE_STREAM
function _baseUri(type) {
switch (type) {
case NetworkMediaModel.TYPE_DISC:
return "qrc:///sd/disc.svg"
case NetworkMediaModel.TYPE_CARD:
return "qrc:///sd/capture-card.svg"
case NetworkMediaModel.TYPE_STREAM:
return "qrc:///sd/stream.svg"
case NetworkMediaModel.TYPE_PLAYLIST:
return "qrc:///sd/playlist.svg"
case NetworkMediaModel.TYPE_FILE:
return "qrc:///sd/file.svg"
default:
return "qrc:///sd/directory.svg"
}
}
}
......@@ -40,7 +40,32 @@ Widgets.GridItem {
&&
model.type !== NetworkMediaModel.TYPE_DIRECTORY)
image: model.artwork && model.artwork.toString() !== "" ? model.artwork : ""
image: {
if (model.artwork && model.artwork.toString() !== "") {
return model.artwork
} else {
var f = function(type) {
switch (type) {
case NetworkMediaModel.TYPE_DISC:
return "qrc://sd/disc.svg"
case NetworkMediaModel.TYPE_CARD:
return "qrc://sd/capture-card.svg"
case NetworkMediaModel.TYPE_STREAM:
return "qrc://sd/stream.svg"
case NetworkMediaModel.TYPE_PLAYLIST:
return "qrc://sd/playlist.svg"
case NetworkMediaModel.TYPE_FILE:
return "qrc://sd/file.svg"
default:
return "qrc://sd/directory.svg"
}
}
return SVGColorImage.colorize(f(model.type))
.color1(VLCStyle.colors.text)
.accent(VLCStyle.colors.accent)
.uri()
}
}
title: model.name || I18n.qtr("Unknown share")
subtitle: {
......@@ -52,11 +77,4 @@ Widgets.GridItem {
return model.mrl
}
}
pictureOverlay: NetworkCustomCover {
networkModel: model
iconSize: VLCStyle.icon_normal
visible: !root.isImageReady
}
}
......@@ -32,30 +32,12 @@ Widgets.ListItem {
focus: true
cover: Image {
cover: NetworkCustomCover {
id: cover_obj
networkModel: model
fillMode: Image.PreserveAspectFit
source: {
if (model.artwork && model.artwork.toString() !== "") {
return model.artwork
}
switch (model.type) {
case NetworkMediaModel.TYPE_DISC:
return "qrc:///sd/disc.svg"
case NetworkMediaModel.TYPE_CARD:
return "qrc:///sd/capture-card.svg"
case NetworkMediaModel.TYPE_STREAM:
return "qrc:///sd/stream.svg"
case NetworkMediaModel.TYPE_PLAYLIST:
return "qrc:///sd/playlist.svg"
case NetworkMediaModel.TYPE_FILE:
return "qrc:///sd/file.svg"
default:
return "qrc:///sd/directory.svg"
}
}
}
line1: model.name || I18n.qtr("Unknown share")
line2: model.mrl
imageText: (model.type !== NetworkMediaModel.TYPE_DIRECTORY && model.type !== NetworkMediaModel.TYPE_NODE) ? model.protocol : ""
......
......@@ -44,75 +44,29 @@ Item {
readonly property bool _showCustomCover: (!artworkSource) || (artwork.status != Image.Ready)
readonly property var _shadowRects: [
{
"x": background.x,
"y": background.y,
"width": background.width,
"height": background.height
},
{
"x": artwork.x,
"y": artwork.y,
"width": artwork.paintedWidth,
"height": artwork.paintedHeight
}
]
readonly property var _shadowRect: _shadowRects[_showCustomCover ? 0 : 1]
signal playClicked(int index)
Widgets.ListCoverShadow {
x: _shadowRect.x
y: _shadowRect.y
width: _shadowRect.width
height: _shadowRect.height
x: artwork.x
y: artwork.y
width: artwork.width
height: artwork.height
}
Rectangle {
id: background
NetworkCustomCover {
id: artwork
anchors.verticalCenter: parent.verticalCenter
color: VLCStyle.colors.bg
bgColor: VLCStyle.colors.bg
width: VLCStyle.listAlbumCover_width
height: VLCStyle.listAlbumCover_height
radius: VLCStyle.listAlbumCover_radius
visible: item._showCustomCover
NetworkCustomCover {
networkModel: rowModel
anchors.fill: parent
iconSize: VLCStyle.icon_small
}
Widgets.PlayCover {
anchors.centerIn: parent
width: VLCStyle.play_cover_small
visible: item._showPlayCover
onClicked: playClicked(item.index)
}
}
Widgets.ScaledImage {
id: artwork
x: Math.round((width - paintedWidth) / 2)
y: Math.round((parent.height - paintedHeight) / 2)
width: VLCStyle.listAlbumCover_width
height: VLCStyle.listAlbumCover_height
fillMode: Image.PreserveAspectFit
horizontalAlignment: Image.AlignLeft
verticalAlignment: Image.AlignTop
source: item.artworkSource
visible: !item._showCustomCover
networkModel: rowModel
//radius: VLCStyle.listAlbumCover_radius
Widgets.PlayCover {
x: Math.round((artwork.paintedWidth - width) / 2)
y: Math.round((artwork.paintedHeight - height) / 2)
x: Math.round((artwork.width - width) / 2)
y: Math.round((artwork.height - height) / 2)
width: VLCStyle.play_cover_small
......
......@@ -19,7 +19,6 @@ import QtQuick 2.11
import QtQuick.Controls 2.4
import QtQml.Models 2.2
import QtQuick.Layouts 1.11
import QtQuick.Shapes 1.0
import org.videolan.vlc 0.1
......@@ -325,7 +324,28 @@ Widgets.PageLoader {
height: VLCStyle.gridCover_network_height + VLCStyle.margin_xsmall + VLCStyle.fontHeight_normal
playCoverBorderWidth: VLCStyle.gridCover_network_border
playCoverShowPlay: false
pictureOverlay: overlay
image: {
if (is_dummy) {
return SVGColorImage.colorize("qrc:///placeholder/add_service.svg")
.color1(VLCStyle.colors.text)
.accent(VLCStyle.colors.accent)
.uri()
} else if (model.artwork && model.artwork.toString() !== "") {
//if the source is a qrc artwork, we should colorize it
if (model.artwork.toString().match(/qrc:\/\/.*svg/))
{
return SVGColorImage.colorize(model.artwork)
.color1(VLCStyle.colors.text)
.accent(VLCStyle.colors.accent)
.uri()
}
return model.artwork
} else {
return SVGColorImage.colorize("qrc:///sd/directory.svg")
.color1(VLCStyle.colors.text)
.uri()
}
}
onItemDoubleClicked: {
if (is_dummy)
......@@ -342,61 +362,6 @@ Widgets.PageLoader {
gridView.currentIndex = index
gridView.forceActiveFocus()
}
Component {
id: overlay
Item {
Image {
x: (pictureWidth - paintedWidth) / 2
y: (pictureHeight - paintedWidth) / 2
width: VLCStyle.icon_large
height: VLCStyle.icon_large
fillMode: Image.PreserveAspectFit
source: model.artwork || "qrc:///sd/directory.svg"
visible: !is_dummy
}
Loader {
anchors.fill: parent
active: is_dummy
visible: is_dummy
sourceComponent: Item {
Shape {
id: shape
x: 1
y: 1
width: parent.width - 2
height: parent.height - 2
ShapePath {
strokeColor: VLCStyle.colors.setColorAlpha(VLCStyle.colors.text, .62)
strokeWidth: VLCStyle.dp(1, VLCStyle.scale)
dashPattern: [VLCStyle.dp(2, VLCStyle.scale), VLCStyle.dp(4, VLCStyle.scale)]
strokeStyle: ShapePath.DashLine
fillColor: VLCStyle.colors.setColorAlpha(VLCStyle.colors.bg, .62)
startX: 1
startY: 1
PathLine { x: shape.width ; y: 1 }
PathLine { x: shape.width ; y: shape.height }
PathLine { x: 1; y: shape.height }
PathLine { x: 1; y: 1 }
}
}
Widgets.IconLabel {
text: VLCIcons.add
font.pixelSize: VLCStyle.icon_large
anchors.centerIn: parent
color: VLCStyle.colors.accent
}
}
}
}
}
}
onActionAtIndex: {
......
......@@ -9,12 +9,6 @@
{"key":"album_cover", "path": "./icons/album_cover.svg"},
{"key":"aspect_ratio", "path": "./icons/aspect_ratio.svg"},
{"key":"atob", "path": "./icons/atob.svg"},
{"key":"atob_bg_ab", "path": "./icons/atob_bg_ab.svg"},
{"key":"atob_bg_b", "path": "./icons/atob_bg_b.svg"},
{"key":"atob_bg_none", "path": "./icons/atob_bg_none.svg"},
{"key":"atob_fg_a", "path": "./icons/atob_fg_a.svg"},
{"key":"atob_fg_ab", "path": "./icons/atob_fg_ab.svg"},
{"key":"atob_fg_b", "path": "./icons/atob_fg_b.svg"},
{"key":"audiosub", "path": "./icons/audiosub.svg"},
{"key":"back", "path": "./icons/back.svg"},
{"key":"breadcrumb_sep", "path": "./icons/breadcrumb_sep.svg"},
......
No preview for this file type
<svg viewBox="0 0 48 48" xmlns="http://www.w3.org/2000/svg">
<path d="M11 28a4 4 0 0 0-4 4v12h4v-4h4v4h4V32a4 4 0 0 0-4-4h-4zm18 0v16h9a3 3 0 0 0 3-3v-2a3 3 0 0 0-3-3h-1a3 3 0 0 0 3-3v-2a3 3 0 0 0-3-3h-8zm-17 3h2a1 1 0 0 1 1 1v5h-4v-5a1 1 0 0 1 1-1zm21 0h2a1 1 0 0 1 1 1v1.5a1 1 0 0 1-1 1h-2V31zm0 6.5h3a1 1 0 0 1 1 1V40a1 1 0 0 1-1 1h-3v-3.5z" fill="#ff950d" fill-rule="evenodd"/>
<path d="M10 6v14h6v-8h16v4h-5l8 8 8-8h-5V6H10z" fill="#747474"/>
<?xml version="1.0" encoding="UTF-8"?>
<svg viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg">
<!-- colors values have a purpose, changing them may break the associated component -->
<path d="m6.0364 10.32c-0.27614 0-0.5-0.2239-0.5-0.5v-2.32c0-1.3807 1.1193-2.5 2.5-2.5h7.04c1.3808 0 2.5 1.1193 2.5 2.5v0.88c0 0.05005-0.0073 0.09838-0.021 0.14398l1e-4 0.13826 1.1015-1.1016 0.0665-0.05554c0.1871-0.1296 0.4457-0.11109 0.6124 0.05554 0.1666 0.16662 0.1851 0.42527 0.0555 0.61234l-0.0555 0.06648-1.9217 1.9216-0.0665 0.0556c-0.1636 0.1134-0.3821 0.1134-0.5458 0l-0.0665-0.0556-1.9216-1.9216-0.0556-0.06648c-0.1134-0.16369-0.1134-0.38217 0-0.54586l0.0556-0.06648 0.0664-0.05554c0.1637-0.1134 0.3822-0.1134 0.5459 0l0.0665 0.05554 1.1029 1.1016-1e-4 -0.1454c-0.0123-0.04349-0.019-0.08939-0.019-0.13684v-0.88c0-0.82843-0.6715-1.5-1.5-1.5h-7.04c-0.82843 0-1.5 0.67157-1.5 1.5v2.32c0 0.2761-0.22386 0.5-0.5 0.5z" fill="#ff00ff"/>
<path d="m6.0137 12.643-2.0137 5.377h0.97461l0.46484-1.3691h2.1152l0.48438 1.3691h0.97852l-1.998-5.377h-1.0059zm0.47266 0.79883h0.015625c0.025 0.155 0.047812 0.26789 0.070312 0.33789l0.74609 2.1445h-1.6465l0.74023-2.1445c0.0275-0.0825 0.051719-0.19539 0.074219-0.33789z" fill="#aaaaaa"/>
<path d="m15.418 12.643v5.377h1.7266c0.5525 0 1.0086-0.14273 1.3711-0.42773s0.54492-0.65719 0.54492-1.1172c0-0.37-0.11148-0.67039-0.33398-0.90039-0.22-0.2325-0.51476-0.36961-0.88476-0.41211v-0.013671c0.305-0.095001 0.54234-0.25547 0.71484-0.48047s0.25976-0.48992 0.25976-0.79492c0-0.365-0.15203-0.66117-0.45703-0.88867-0.3025-0.2275-0.71438-0.3418-1.2344-0.3418h-1.707zm0.88867 0.7168h0.65039c0.615 0 0.92188 0.22945 0.92188 0.68945 0 0.2675-0.088125 0.47555-0.26562 0.62305-0.175 0.145-0.41852 0.2168-0.72852 0.2168h-0.57812v-1.5293zm0 2.2461h0.64648c0.7725 0 1.1582 0.27844 1.1582 0.83594 0 0.27-0.090937 0.48172-0.27344 0.63672-0.18 0.1525-0.43703 0.22852-0.76953 0.22852h-0.76172v-1.7012z" fill="#bbbbbb"/>
</svg>
<svg viewBox="0 0 48 48" xmlns="http://www.w3.org/2000/svg">
<path d="M10 6v14h6v-8h16v4h-5l8 8 8-8h-5V6Zm1 22a4 4 0 0 0-4 4v12h4v-4h4v4h4V32a4 4 0 0 0-4-4zm1 3h2a1 1 0 0 1 1 1v5h-4v-5a1 1 0 0 1 1-1z" fill="#747474"/>
</svg>
<svg viewBox="0 0 48 48" xmlns="http://www.w3.org/2000/svg">
<path d="M10 6v14h6v-8h16v4h-5l8 8 8-8h-5V6H10zm1 22a4 4 0 0 0-4 4v12h4v-4h4v4h4V32a4 4 0 0 0-4-4h-4zm18 0v16h9a3 3 0 0 0 3-3v-2a3 3 0 0 0-3-3h-1a3 3 0 0 0 3-3v-2a3 3 0 0 0-3-3h-8zm-17 3h2a1 1 0 0 1 1 1v5h-4v-5a1 1 0 0 1 1-1zm21 0h2a1 1 0 0 1 1 1v1.5a1 1 0 0 1-1 1h-2V31zm0 6.5h3a1 1 0 0 1 1 1V40a1 1 0 0 1-1 1h-3v-3.5z" fill="#747474"/>
</svg>
<svg viewBox="0 0 48 48" xmlns="http://www.w3.org/2000/svg">
<path d="M10 6v14h6v-8h16v4h-5l8 8 8-8h-5V6Zm19 22v16h9a3 3 0 0 0 3-3v-2a3 3 0 0 0-3-3h-1a3 3 0 0 0 3-3v-2a3 3 0 0 0-3-3zm4 3h2a1 1 0 0 1 1 1v1.5a1 1 0 0 1-1 1h-2zm0 6.5h3a1 1 0 0 1 1 1V40a1 1 0 0 1-1 1h-3z" fill="#747474"/>
</svg>
<svg viewBox="0 0 48 48" xmlns="http://www.w3.org/2000/svg">
<path d="M10 6v14h6v-8h16v4h-5l8 8 8-8h-5V6Z" fill="#747474"/>
</svg>
<svg viewBox="0 0 48 48" xmlns="http://www.w3.org/2000/svg">
<path d="M11 28a4 4 0 0 0-4 4v12h4v-4h4v4h4V32a4 4 0 0 0-4-4zm1 3h2a1 1 0 0 1 1 1v5h-4v-5a1 1 0 0 1 1-1z" fill="#747474"/>
</svg>
<svg viewBox="0 0 48 48" xmlns="http://www.w3.org/2000/svg">
<path d="M11 28a4 4 0 0 0-4 4v12h4v-4h4v4h4V32a4 4 0 0 0-4-4zm18 0v16h9a3 3 0 0 0 3-3v-2a3 3 0 0 0-3-3h-1a3 3 0 0 0 3-3v-2a3 3 0 0 0-3-3zm-17 3h2a1 1 0 0 1 1 1v5h-4v-5a1 1 0 0 1 1-1zm21 0h2a1 1 0 0 1 1 1v1.5a1 1 0 0 1-1 1h-2zm0 6.5h3a1 1 0 0 1 1 1V40a1 1 0 0 1-1 1h-3z" fill="#747474"/>
</svg>
<svg viewBox="0 0 48 48" xmlns="http://www.w3.org/2000/svg">
<path d="M29 28v16h9a3 3 0 0 0 3-3v-2a3 3 0 0 0-3-3h-1a3 3 0 0 0 3-3v-2a3 3 0 0 0-3-3zm4 3h2a1 1 0 0 1 1 1v1.5a1 1 0 0 1-1 1h-2zm0 6.5h3a1 1 0 0 1 1 1V40a1 1 0 0 1-1 1h-3z" fill="#747474"/>
</svg>