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
404 results
Show changes
Commits on Source (5)
......@@ -1048,6 +1048,9 @@ SPrefsPanel::SPrefsPanel( qt_intf_t *_p_intf, QWidget *_parent,
BUTTONACT( ui.addButton, &SPrefsPanel::MLaddNewFolder );
BUTTONACT( ui.banButton, &SPrefsPanel::MLBanFolder );
connect( ui.reloadButton, &QPushButton::clicked
, p_intf->p_mi->getMediaLibrary(), &MediaLib::reload);
}
else
{
......
......@@ -8,7 +8,7 @@
<x>0</x>
<y>0</y>
<width>700</width>
<height>507</height>
<height>535</height>
</rect>
</property>
<property name="sizePolicy">
......@@ -27,36 +27,27 @@
<string>Folders</string>
</property>
<layout class="QGridLayout" name="gridLayout">
<item row="0" column="1" colspan="2">
<spacer name="horizontalSpacer_2">
<item row="1" column="0">
<widget class="QLabel" name="label_2">
<property name="text">
<string>Folders scanned by the Media Library:</string>
</property>
</widget>
</item>
<item row="3" column="1" rowspan="2">
<spacer name="horizontalSpacer">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>627</width>
<height>17</height>
<width>40</width>
<height>20</height>
</size>
</property>
</spacer>
</item>
<item row="0" column="3">
<widget class="QPushButton" name="addButton">
<property name="maximumSize">
<size>
<width>16</width>
<height>16</height>
</size>
</property>
<property name="toolTip">
<string>Add scanned folder</string>
</property>
<property name="text">
<string>+</string>
</property>
</widget>
</item>
<item row="3" column="3">
<item row="4" column="3">
<widget class="QPushButton" name="banButton">
<property name="maximumSize">
<size>
......@@ -72,34 +63,36 @@
</property>
</widget>
</item>
<item row="0" column="0">
<widget class="QLabel" name="label_2">
<property name="text">
<string>Folders scanned by the Media Library:</string>
</property>
</widget>
</item>
<item row="2" column="1" rowspan="2">
<spacer name="horizontalSpacer">
<item row="1" column="1" colspan="2">
<spacer name="horizontalSpacer_2">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>40</width>
<height>20</height>
<width>627</width>
<height>17</height>
</size>
</property>
</spacer>
</item>
<item row="2" column="0" rowspan="2">
<widget class="QLabel" name="label">
<item row="1" column="3">
<widget class="QPushButton" name="addButton">
<property name="maximumSize">
<size>
<width>16</width>
<height>16</height>
</size>
</property>
<property name="toolTip">
<string>Add scanned folder</string>
</property>
<property name="text">
<string>Banned folders:</string>
<string>+</string>
</property>
</widget>
</item>
<item row="4" column="0" colspan="4">
<item row="5" column="0" colspan="4">
<widget class="MLFoldersEditor" name="bannedEntryPoints">
<property name="editTriggers">
<set>QAbstractItemView::AllEditTriggers</set>
......@@ -119,7 +112,7 @@
<row/>
</widget>
</item>
<item row="1" column="0" colspan="4">
<item row="2" column="0" colspan="4">
<widget class="MLFoldersEditor" name="entryPoints">
<property name="editTriggers">
<set>QAbstractItemView::AllEditTriggers</set>
......@@ -139,6 +132,49 @@
<row/>
</widget>
</item>
<item row="3" column="0" rowspan="2">
<widget class="QLabel" name="label">
<property name="text">
<string>Banned folders:</string>
</property>
</widget>
</item>
<item row="0" column="0">
<widget class="QLabel" name="label_3">
<property name="text">
<string>Reload All Folders</string>
</property>
</widget>
</item>
<item row="0" column="3">
<widget class="QPushButton" name="reloadButton">
<property name="maximumSize">
<size>
<width>18</width>
<height>18</height>
</size>
</property>
<property name="accessibleName">
<string>Reload</string>
</property>
<property name="text">
<string></string>
</property>
</widget>
</item>
<item row="0" column="1">
<spacer name="horizontalSpacer_3">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>40</width>
<height>20</height>
</size>
</property>
</spacer>
</item>
</layout>
</widget>
</item>
......
......@@ -96,6 +96,15 @@ QHash<int, QByteArray> MLFoldersBaseModel::roleNames() const
};
}
void MLFoldersBaseModel::reload(const int row)
{
const QString mrl = m_mrls.at(row).mrl;
m_mediaLib->runOnMLThread(this, [mrl](vlc_medialibrary_t *ml)
{
vlc_ml_reload_folder( ml, qtu(mrl) );
});
}
void MLFoldersBaseModel::removeAt(int index)
{
assert(index < rowCount());
......
......@@ -72,6 +72,8 @@ public:
public slots:
virtual void remove( const QUrl &mrl ) = 0;
virtual void add( const QUrl &mrl ) = 0;
virtual void reload( const int row );
void removeAt( int index );
signals:
......
......@@ -34,9 +34,9 @@
#include <QPushButton>
MLFoldersEditor::MLFoldersEditor(QWidget *parent)
: QTableWidget(0, 2, parent)
: QTableWidget(0, 3, parent)
{
setHorizontalHeaderLabels({ qtr("Path"), qtr("Remove") });
setHorizontalHeaderLabels({ qtr("Path"), qtr("Remove"), qtr("Reload") });
horizontalHeader()->setMinimumSectionSize( 100 );
horizontalHeader()->setSectionResizeMode( 0 , QHeaderView::Stretch );
horizontalHeader()->setFixedHeight( 24 );
......@@ -129,28 +129,55 @@ void MLFoldersEditor::newRow(const QUrl &mrl)
col1->setFlags( Qt::ItemIsEnabled | Qt::ItemIsSelectable );
setItem( row, 0, col1 );
QWidget *wid = new QWidget( this );
QBoxLayout* layout = new QBoxLayout( QBoxLayout::LeftToRight , wid );
QPushButton *pb = new QPushButton( "-" , wid );
pb->setFixedSize( 16 , 16 );
auto buttonCol = [&, this] (const int col, const QString &icon, const QString &accessibleName
, std::function<void (MLFoldersEditor *editor, int row)> action)
{
QWidget *wid = new QWidget( this );
QBoxLayout* layout = new QBoxLayout( QBoxLayout::LeftToRight , wid );
layout->addWidget( pb , Qt::AlignCenter );
wid->setLayout( layout );
QPushButton *pb = new QPushButton( icon , wid );
pb->setFixedSize( 18 , 18 );
pb->setAccessibleName(accessibleName);
connect( pb , &QPushButton::clicked , this, [this, col1]()
{
int row = col1->row();
vlc_assert( row >= 0 );
layout->addWidget( pb , Qt::AlignCenter );
wid->setLayout( layout );
connect( pb, &QPushButton::clicked, this, [=, this]()
{
action(this, col1->row());
});
setCellWidget( row, col, wid );
};
buttonCol( 1, "-", qtr("Remove"), &MLFoldersEditor::markRemoved );
buttonCol( 2, "⟳", qtr("Reload"), &MLFoldersEditor::reloadUrl );
}
const QUrl mrl = col1->data( Qt::UserRole ).toUrl();
const auto index = m_newEntries.indexOf( mrl );
if ( index == -1 )
m_removeEntries.push_back( mrl );
else
m_newEntries.remove( index );
QUrl MLFoldersEditor::url(int row)
{
const QTableWidgetItem *col1 = item(row, 0);
return col1->data( Qt::UserRole ).toUrl();
}
void MLFoldersEditor::markRemoved(int row)
{
const QUrl mrl = url( row );
const auto index = m_newEntries.indexOf( mrl );
if ( index == -1 )
m_removeEntries.push_back( mrl );
else
m_newEntries.remove( index );
removeRow( row );
}
removeRow( row );
});
void MLFoldersEditor::reloadUrl(int row)
{
const QUrl mrl = url( row );
if ( m_newEntries.contains(mrl)
|| m_removeEntries.contains(mrl) )
return;
setCellWidget( row, 1, wid );
m_foldersModel->reload( row );
}
......@@ -52,6 +52,10 @@ private:
void newRow(const QUrl &mrl);
void removeMrlEntry(const QUrl &mrl);
QUrl url(int row);
void markRemoved(int row);
void reloadUrl(int row);
MLFoldersBaseModel *m_foldersModel = nullptr;
// new entries to add/remove on 'commit' call
......