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
  • b.sullender/vlc
  • hulxv/vlc
  • zyad-ayad/vlc
  • shocknovaa/vlc
  • gremlinflat/vlc
  • Pratham24D/vlc
411 results
Show changes
Commits on Source (5)
......@@ -66,8 +66,6 @@
#define I_OP_DIR_WINTITLE I_DIR_OR_FOLDER( N_("Open Directory"), \
N_("Open Folder") )
DialogsProvider* DialogsProvider::instance = NULL;
DialogsProvider::DialogsProvider( qt_intf_t *_p_intf )
: QObject( NULL ), p_intf( _p_intf )
{
......
......@@ -36,6 +36,8 @@
#include "playlist/playlist_item.hpp"
#include "util/singleton.hpp"
#include <QObject>
#include <QStringList>
......@@ -64,29 +66,23 @@ class QEvent;
class QSignalMapper;
class VLCMenuBar;
class DialogsProvider : public QObject
class DialogsProvider : public QObject, public Singleton<DialogsProvider>
{
Q_OBJECT
friend class VLCMenuBar;
friend class Singleton<DialogsProvider>;
public:
static DialogsProvider *getInstance()
{
const auto instance = Singleton<DialogsProvider>::getInstance<false>();
assert( instance );
return instance;
}
static DialogsProvider *getInstance( qt_intf_t *p_intf )
{
if( !instance )
instance = new DialogsProvider( p_intf );
return instance;
return Singleton<DialogsProvider>::getInstance( p_intf );
}
static void killInstance()
{
delete instance;
instance = NULL;
}
QStringList showSimpleOpen( const QString& help = QString(),
int filters = EXT_FILTER_MEDIA |
EXT_FILTER_VIDEO | EXT_FILTER_AUDIO |
......@@ -110,9 +106,8 @@ protected:
void customEvent( QEvent *);
private:
DialogsProvider( qt_intf_t *);
DialogsProvider( qt_intf_t * );
virtual ~DialogsProvider();
static DialogsProvider *instance;
void loadMediaFile( es_format_category_e category, int filter, const QString& dialogTitle );
......
......@@ -39,8 +39,6 @@
#include <QKeyEvent>
#include "widgets/native/customwidgets.hpp"
ExtensionsDialogProvider *ExtensionsDialogProvider::instance = NULL;
static void DialogCallback( extension_dialog_t *p_ext_dialog,
void *p_data );
......@@ -49,6 +47,9 @@ ExtensionsDialogProvider::ExtensionsDialogProvider( qt_intf_t *_p_intf,
extensions_manager_t *p_mgr )
: QObject( NULL ), p_intf( _p_intf ), p_extensions_manager( p_mgr )
{
assert(p_intf);
assert(p_extensions_manager);
vlc_dialog_provider_set_ext_callback( p_intf, DialogCallback, NULL );
connect( this, &ExtensionsDialogProvider::SignalDialog,
......
......@@ -25,6 +25,7 @@
#include "qt.hpp"
#include <vlc_extensions.h>
#include "util/singleton.hpp"
#include "assert.h"
......@@ -38,17 +39,16 @@ class QKeyEvent;
class ExtensionsDialogProvider;
class ExtensionDialog;
class ExtensionsDialogProvider : public QObject
class ExtensionsDialogProvider : public QObject, public Singleton<ExtensionsDialogProvider>
{
/** This is the dialog provider for Extensions dialogs
* @todo Make this class be a public Singleton<EDP>
* @todo Add a setExtManager() function (with vlc_object_hold)
**/
friend class Singleton<ExtensionsDialogProvider>;
Q_OBJECT
private:
static ExtensionsDialogProvider *instance;
qt_intf_t *p_intf;
extensions_manager_t *p_extensions_manager;
......@@ -58,30 +58,15 @@ private slots:
ExtensionDialog* UpdateExtDialog( extension_dialog_t *p_dialog );
public:
ExtensionsDialogProvider( qt_intf_t *p_intf,
extensions_manager_t *p_mgr );
virtual ~ExtensionsDialogProvider();
static ExtensionsDialogProvider* getInstance( qt_intf_t *p_intf = NULL,
extensions_manager_t *p_mgr = NULL )
{
if( !instance )
{
assert( p_intf != NULL && p_mgr != NULL );
instance = new ExtensionsDialogProvider( p_intf, p_mgr );
}
return instance;
}
static void killInstance()
{
delete instance;
instance = NULL;
}
void ManageDialog( extension_dialog_t *p_dialog );
signals:
void SignalDialog( extension_dialog_t *p_dialog );
private:
ExtensionsDialogProvider( qt_intf_t *p_intf = nullptr,
extensions_manager_t *p_mgr = nullptr );
virtual ~ExtensionsDialogProvider();
};
......
......@@ -36,15 +36,10 @@
#define MENU_GET_ACTION(a) ( (uint16_t)( ((uint32_t)a) >> 16 ) )
#define MENU_GET_EXTENSION(a) ( (uint16_t)( ((uint32_t)a) & 0xFFFF ) )
ExtensionsManager* ExtensionsManager::instance = NULL;
ExtensionsManager::ExtensionsManager( qt_intf_t *_p_intf, QObject *parent )
: QObject( parent ), p_intf( _p_intf ), p_extensions_manager( NULL )
, p_edp( NULL )
{
assert( ExtensionsManager::instance == NULL );
instance = this;
menuMapper = new QSignalMapper( this );
connect( menuMapper, QSIGNALMAPPER_MAPPEDINT_SIGNAL, this, &ExtensionsManager::triggerMenu );
connect( THEMIM, &PlayerController::playingStateChanged, this, &ExtensionsManager::playingChanged );
......
......@@ -31,6 +31,7 @@
#include "qt.hpp"
#include <player/player_controller.hpp>
#include "util/singleton.hpp"
#include <QObject>
......@@ -39,26 +40,12 @@ class QSignalMapper;
class ExtensionsDialogProvider;
class ExtensionsManager : public QObject
class ExtensionsManager : public QObject, public Singleton<ExtensionsManager>
{
friend class Singleton<ExtensionsManager>;
Q_OBJECT
public:
static ExtensionsManager *getInstance( qt_intf_t *_p_intf,
QObject *_parent = 0 )
{
if( !instance )
instance = new ExtensionsManager( _p_intf, _parent );
return instance;
}
static void killInstance()
{
delete instance;
instance = NULL;
}
ExtensionsManager( qt_intf_t *p_intf, QObject *parent );
virtual ~ExtensionsManager();
inline bool isLoaded() { return p_extensions_manager != NULL; }
inline bool cannotLoad() { return b_unloading || b_failed; }
inline bool isUnloading() { return b_unloading; }
......@@ -72,6 +59,10 @@ public:
return p_extensions_manager;
}
private:
ExtensionsManager( qt_intf_t *p_intf, QObject *parent = nullptr );
virtual ~ExtensionsManager();
public slots:
bool loadExtensions();
void unloadExtensions();
......
......@@ -36,16 +36,15 @@
# define DEBUG_QT 1
#endif
OpenDialog *OpenDialog::instance = NULL;
OpenDialog* OpenDialog::getInstance( qt_intf_t *p_intf,
bool b_rawInstance, int _action_flag, bool b_selectMode )
{
/* Creation */
if( !instance )
instance = new OpenDialog( nullptr, p_intf, b_selectMode,
_action_flag );
else if( !b_rawInstance )
const auto instance = Singleton<OpenDialog>::getInstance(nullptr,
p_intf,
b_selectMode,
_action_flag);
if( !b_rawInstance )
{
/* Request the instance but change small details:
- Button menu */
......
......@@ -32,6 +32,7 @@
#include "widgets/native/qvlcframe.hpp"
#include "dialogs/open/open_panels.hpp"
#include "util/singleton.hpp"
/* Auto-generated from .ui files */
#include "ui_open.h"
......@@ -55,20 +56,16 @@ enum {
class QString;
class OpenDialog : public QVLCDialog
class OpenDialog : public QVLCDialog, public Singleton<OpenDialog>
{
friend Singleton<OpenDialog>;
Q_OBJECT
public:
static OpenDialog * getInstance(qt_intf_t *p_intf,
bool b_rawInstance = false, int _action_flag = 0,
bool b_selectMode = false );
static void killInstance()
{
delete instance;
instance = NULL;
}
void showTab( int = OPEN_FILE_TAB );
QString getMRL( bool b = true );
......@@ -87,8 +84,6 @@ private:
int _action_flag = 0 );
virtual ~OpenDialog();
static OpenDialog *instance;
QString optionsMRL;
QString storedMethod;
QStringList itemsMRL;
......
......@@ -29,27 +29,34 @@
#include "qt.hpp"
template <typename T>
class Singleton
class Singleton
{
public:
static T* getInstance( qt_intf_t *p_intf = NULL )
template <bool create, class = typename std::enable_if<!create>::type>
static T* getInstance( void )
{
vlc::threads::mutex_locker lock( m_mutex );
if ( m_instance == NULL )
m_instance = new T( p_intf );
return m_instance;
}
static void killInstance()
template <class T2 = T, typename... Args>
static T* getInstance( Args&&... args )
{
vlc::threads::mutex_locker lock( m_mutex );
if ( m_instance != NULL )
{
delete m_instance;
m_instance = NULL;
}
if ( !m_instance )
m_instance = new T2( std::forward<Args>( args )... );
return m_instance;
}
static void killInstance()
{
vlc::threads::mutex_locker lock( m_mutex );
delete m_instance;
m_instance = nullptr;
}
protected:
Singleton(){}
virtual ~Singleton(){}
......@@ -59,13 +66,11 @@ protected:
Singleton<T>& operator=(const Singleton<T>&);
private:
static T* m_instance;
static T* m_instance;
static vlc::threads::mutex m_mutex;
};
template <typename T>
T* Singleton<T>::m_instance = NULL;
T* Singleton<T>::m_instance = nullptr;
template <typename T>
vlc::threads::mutex Singleton<T>::m_mutex;
......