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 (5)
......@@ -68,12 +68,8 @@
DialogsProvider* DialogsProvider::instance = NULL;
DialogsProvider::DialogsProvider( qt_intf_t *_p_intf ) :
QObject( NULL ), p_intf( _p_intf ),
popupMenu( NULL ),
videoPopupMenu( NULL ),
audioPopupMenu( NULL ),
miscPopupMenu( NULL )
DialogsProvider::DialogsProvider( qt_intf_t *_p_intf )
: QObject( NULL ), p_intf( _p_intf )
{
b_isDying = false;
}
......@@ -101,11 +97,6 @@ DialogsProvider::~DialogsProvider()
ErrorsDialog::killInstance();
FirstRunWizard::killInstance();
delete popupMenu;
delete videoPopupMenu;
delete audioPopupMenu;
delete miscPopupMenu;
/* free parentless menus */
VLCMenuBar::freeRendererMenu();
}
......@@ -201,39 +192,39 @@ void DialogsProvider::customEvent( QEvent *event )
#endif
case INTF_DIALOG_POPUPMENU:
{
delete popupMenu; popupMenu = NULL;
popupMenu.reset();
bool show = (de->i_arg != 0);
if( show )
{
//popping a QMenu prevents mouse release events to be received,
//this ensures the coherency of the vout mouse state.
emit releaseMouseEvents();
popupMenu = VLCMenuBar::PopupMenu( p_intf, true );
popupMenu.reset(VLCMenuBar::PopupMenu( p_intf, true ));
}
break;
}
case INTF_DIALOG_AUDIOPOPUPMENU:
{
delete audioPopupMenu; audioPopupMenu = NULL;
audioPopupMenu.reset();
bool show = (de->i_arg != 0);
if( show )
audioPopupMenu = VLCMenuBar::AudioPopupMenu( p_intf, show );
audioPopupMenu.reset(VLCMenuBar::AudioPopupMenu( p_intf, show ));
break;
}
case INTF_DIALOG_VIDEOPOPUPMENU:
{
delete videoPopupMenu; videoPopupMenu = NULL;
videoPopupMenu.reset();
bool show = (de->i_arg != 0);
if( show )
videoPopupMenu = VLCMenuBar::VideoPopupMenu( p_intf, show );
videoPopupMenu.reset(VLCMenuBar::VideoPopupMenu( p_intf, show ));
break;
}
case INTF_DIALOG_MISCPOPUPMENU:
{
delete miscPopupMenu; miscPopupMenu = NULL;
miscPopupMenu.reset();
bool show = (de->i_arg != 0);
if( show )
miscPopupMenu = VLCMenuBar::MiscPopupMenu( p_intf, show );
miscPopupMenu.reset(VLCMenuBar::MiscPopupMenu( p_intf, show ));
break;
}
case INTF_DIALOG_WIZARD:
......@@ -404,14 +395,12 @@ void DialogsProvider::epgDialog()
void DialogsProvider::setPopupMenu()
{
delete popupMenu;
popupMenu = VLCMenuBar::PopupMenu( p_intf, true );
popupMenu.reset(VLCMenuBar::PopupMenu( p_intf, true ));
}
void DialogsProvider::destroyPopupMenu()
{
delete popupMenu;
popupMenu = NULL;
popupMenu.reset();
}
/* Generic open file */
......@@ -873,11 +862,11 @@ void DialogsProvider::sendKey( int key )
// translate from a vlc keycode into a Qt sequence
QKeySequence kseq0( VLCKeyToString( key, true ) );
if( popupMenu == NULL )
if( !popupMenu )
{
// make sure at least a non visible popupmenu is available
popupMenu = VLCMenuBar::PopupMenu( p_intf, false );
if( unlikely( popupMenu == NULL ) )
popupMenu.reset(VLCMenuBar::PopupMenu( p_intf, false ));
if( unlikely( !popupMenu ) )
return;
}
......
......@@ -118,10 +118,10 @@ private:
qt_intf_t *p_intf;
QMenu* popupMenu;
QMenu* videoPopupMenu;
QMenu* audioPopupMenu;
QMenu* miscPopupMenu;
std::unique_ptr<QMenu> popupMenu;
std::unique_ptr<QMenu> videoPopupMenu;
std::unique_ptr<QMenu> audioPopupMenu;
std::unique_ptr<QMenu> miscPopupMenu;
QWidget* root;
bool b_isDying;
......
......@@ -171,7 +171,7 @@ VLCMenuBar::VLCMenuBar(QObject* parent)
* Media ( File ) Menu
* Opening, streaming and quit
**/
QMenu *VLCMenuBar::FileMenu(qt_intf_t *p_intf, QMenu *menu)
void VLCMenuBar::FileMenu(qt_intf_t *p_intf, QMenu *menu)
{
auto mi = p_intf->p_mi;
QAction *action;
......@@ -230,13 +230,12 @@ QMenu *VLCMenuBar::FileMenu(qt_intf_t *p_intf, QMenu *menu)
addDPStaticEntry( menu, qtr( "&Quit" ) ,
":/menu/exit.svg", &DialogsProvider::quit, "Ctrl+Q" );
return menu;
}
/**
* Tools, like Media Information, Preferences or Messages
**/
QMenu *VLCMenuBar::ToolsMenu( qt_intf_t *p_intf, QMenu *menu )
void VLCMenuBar::ToolsMenu( qt_intf_t *p_intf, QMenu *menu )
{
addDPStaticEntry( menu, qtr( "&Effects and Filters"), ":/menu/settings.svg",
&DialogsProvider::extendedDialog, "Ctrl+E" );
......@@ -271,8 +270,6 @@ QMenu *VLCMenuBar::ToolsMenu( qt_intf_t *p_intf, QMenu *menu )
addDPStaticEntry( menu, qtr( "&Preferences" ),
":/menu/preferences.svg", &DialogsProvider::prefsDialog, "Ctrl+P", QAction::PreferencesRole );
return menu;
}
/**
......@@ -280,32 +277,23 @@ QMenu *VLCMenuBar::ToolsMenu( qt_intf_t *p_intf, QMenu *menu )
* Interface modification, load other interfaces, activate Extensions
* \param current, set to NULL for menu creation, else for menu update
**/
QMenu *VLCMenuBar::ViewMenu( qt_intf_t *p_intf, QMenu *current )
void VLCMenuBar::ViewMenu( qt_intf_t *p_intf, QMenu *menu )
{
QAction *action;
QMenu *menu;
MainCtx *mi = p_intf->p_mi;
assert( mi );
assert(menu);
if( !current )
//menu->clear();
//HACK menu->clear() does not delete submenus
QList<QAction*> actions = menu->actions();
foreach( QAction *a, actions )
{
menu = new QMenu( qtr( "&View" ) );
menu->setAttribute(Qt::WA_DeleteOnClose);
}
else
{
menu = current;
//menu->clear();
//HACK menu->clear() does not delete submenus
QList<QAction*> actions = menu->actions();
foreach( QAction *a, actions )
{
QMenu *m = a->menu();
if( a->parent() == menu ) delete a;
else menu->removeAction( a );
if( m && m->parent() == menu ) delete m;
}
QMenu *m = a->menu();
if( a->parent() == menu ) delete a;
else menu->removeAction( a );
if( m && m->parent() == menu ) delete m;
}
action = menu->addAction(
......@@ -344,7 +332,7 @@ QMenu *VLCMenuBar::ViewMenu( qt_intf_t *p_intf, QMenu *current )
action->setCheckable( true );
action->setChecked( mi->hasGridView() );
menu->addMenu( new CheckableListMenu(qtr( "&Color Scheme" ), mi->getColorScheme(), CheckableListMenu::GROUPED, current) );
menu->addMenu( new CheckableListMenu(qtr( "&Color Scheme" ), mi->getColorScheme(), CheckableListMenu::GROUPED, menu) );
menu->addSeparator();
......@@ -353,20 +341,17 @@ QMenu *VLCMenuBar::ViewMenu( qt_intf_t *p_intf, QMenu *current )
/* Extensions */
ExtensionsMenu( p_intf, menu );
return menu;
}
/**
* Interface Sub-Menu, to list extras interface and skins
**/
QMenu *VLCMenuBar::InterfacesMenu( qt_intf_t *p_intf, QMenu *current )
void VLCMenuBar::InterfacesMenu( qt_intf_t *p_intf, QMenu *current )
{
assert(current);
VLCVarChoiceModel* model = new VLCVarChoiceModel(VLC_OBJECT(p_intf->intf), "intf-add", current);
CheckableListMenu* submenu = new CheckableListMenu(qtr("Interfaces"), model, CheckableListMenu::UNGROUPED, current);
current->addMenu(submenu);
return current;
}
/**
......@@ -405,7 +390,7 @@ static inline void VolumeEntries( qt_intf_t *p_intf, QMenu *current )
/**
* Main Audio Menu
**/
QMenu *VLCMenuBar::AudioMenu( qt_intf_t *p_intf, QMenu * current )
void VLCMenuBar::AudioMenu( qt_intf_t *p_intf, QMenu * current )
{
if( current->isEmpty() )
{
......@@ -429,12 +414,10 @@ QMenu *VLCMenuBar::AudioMenu( qt_intf_t *p_intf, QMenu * current )
current->addMenu( new CheckableListMenu(qtr( "&Visualizations" ), THEMIM->getAudioVisualizations(), CheckableListMenu::GROUPED, current) );
VolumeEntries( p_intf, current );
}
return current;
}
/* Subtitles */
QMenu *VLCMenuBar::SubtitleMenu( qt_intf_t *p_intf, QMenu *current, bool b_popup )
void VLCMenuBar::SubtitleMenu( qt_intf_t *p_intf, QMenu *current, bool b_popup )
{
if( current->isEmpty() || b_popup )
{
......@@ -443,14 +426,13 @@ QMenu *VLCMenuBar::SubtitleMenu( qt_intf_t *p_intf, QMenu *current, bool b_popup
current->addMenu(new CheckableListMenu(qtr( "Sub &Track" ), THEMIM->getSubtitleTracks(), CheckableListMenu::GROUPED, current));
current->addSeparator();
}
return current;
}
/**
* Main Video Menu
* Subtitles are part of Video.
**/
QMenu *VLCMenuBar::VideoMenu( qt_intf_t *p_intf, QMenu *current )
void VLCMenuBar::VideoMenu( qt_intf_t *p_intf, QMenu *current )
{
if( current->isEmpty() )
{
......@@ -482,15 +464,13 @@ QMenu *VLCMenuBar::VideoMenu( qt_intf_t *p_intf, QMenu *current )
connect(snapshotAction, &QAction::triggered, THEMIM, &PlayerController::snapshot);
current->addAction(snapshotAction);
}
return current;
}
/**
* Navigation Menu
* For DVD, MP4, MOV and other chapter based format
**/
QMenu *VLCMenuBar::NavigMenu( qt_intf_t *p_intf, QMenu *menu )
void VLCMenuBar::NavigMenu( qt_intf_t *p_intf, QMenu *menu )
{
QAction *action;
QMenu *submenu;
......@@ -523,10 +503,10 @@ QMenu *VLCMenuBar::NavigMenu( qt_intf_t *p_intf, QMenu *menu )
PopupMenuControlEntries( menu, p_intf );
return RebuildNavigMenu( p_intf, menu );
RebuildNavigMenu( p_intf, menu );
}
QMenu *VLCMenuBar::RebuildNavigMenu( qt_intf_t *p_intf, QMenu *menu )
void VLCMenuBar::RebuildNavigMenu( qt_intf_t *p_intf, QMenu *menu )
{
QAction* action;
......@@ -544,14 +524,12 @@ QMenu *VLCMenuBar::RebuildNavigMenu( qt_intf_t *p_intf, QMenu *menu )
#undef ADD_ACTION
PopupMenuPlaylistEntries( menu, p_intf );
return menu;
}
/**
* Help/About Menu
**/
QMenu *VLCMenuBar::HelpMenu( QMenu *menu )
void VLCMenuBar::HelpMenu( QMenu *menu )
{
addDPStaticEntry( menu, qtr( "&Help" ) ,
":/menu/help.svg", &DialogsProvider::helpDialog, "F1" );
......@@ -562,19 +540,11 @@ QMenu *VLCMenuBar::HelpMenu( QMenu *menu )
menu->addSeparator();
addDPStaticEntry( menu, qfut( I_MENU_ABOUT ), ":/menu/info.svg",
&DialogsProvider::aboutDialog, "Shift+F1", QAction::AboutRole );
return menu;
}
/*****************************************************************************
* Popup menus - Right Click menus *
*****************************************************************************/
#define POPUP_BOILERPLATE \
QMenu* menu;
#define CREATE_POPUP \
menu = new QMenu(); \
if( show ) \
menu->popup( QCursor::pos() ); \
void VLCMenuBar::PopupMenuPlaylistEntries( QMenu *menu, qt_intf_t *p_intf )
{
......@@ -699,11 +669,6 @@ void VLCMenuBar::PopupMenuStaticEntries( QMenu *menu )
menu->addMenu( openmenu );
menu->addSeparator();
#if 0
QMenu *helpmenu = HelpMenu( menu );
helpmenu->setTitle( qtr( "Help" ) );
menu->addMenu( helpmenu );
#endif
addDPStaticEntry( menu, qtr( "Quit" ), ":/menu/exit.svg",
&DialogsProvider::quit, "Ctrl+Q", QAction::QuitRole );
......@@ -756,7 +721,6 @@ QMenu* VLCMenuBar::PopupMenu( qt_intf_t *p_intf, bool show )
input_item_t* p_input = THEMIM->getInput();
QAction *action;
bool b_isFullscreen = false;
MainCtx *mi = p_intf->p_mi;
PopupMenuPlaylistEntries( menu, p_intf );
menu->addSeparator();
......@@ -782,26 +746,30 @@ QMenu* VLCMenuBar::PopupMenu( qt_intf_t *p_intf, bool show )
/* Audio menu */
submenu = new QMenu( menu );
action = menu->addMenu( AudioMenu( p_intf, submenu ) );
AudioMenu( p_intf, submenu );
action = menu->addMenu( submenu );
action->setText( qtr( "&Audio" ) );
if( action->menu()->isEmpty() )
action->setEnabled( false );
/* Video menu */
submenu = new QMenu( menu );
action = menu->addMenu( VideoMenu( p_intf, submenu ) );
VideoMenu( p_intf, submenu );
action = menu->addMenu( submenu );
action->setText( qtr( "&Video" ) );
if( action->menu()->isEmpty() )
action->setEnabled( false );
/* Subtitles menu */
submenu = new QMenu( menu );
action = menu->addMenu( SubtitleMenu( p_intf, submenu, true ) );
SubtitleMenu( p_intf, submenu, true );
action = menu->addMenu( submenu );
action->setText( qtr( "Subti&tle") );
/* Playback menu for chapters */
submenu = new QMenu( menu );
action = menu->addMenu( NavigMenu( p_intf, submenu ) );
NavigMenu( p_intf, submenu );
action = menu->addMenu( submenu );
action->setText( qtr( "&Playback" ) );
if( action->menu()->isEmpty() )
action->setEnabled( false );
......@@ -812,22 +780,14 @@ QMenu* VLCMenuBar::PopupMenu( qt_intf_t *p_intf, bool show )
/* Add some special entries for windowed mode: Interface Menu */
if( !b_isFullscreen )
{
QMenu *submenu = new QMenu( qtr( "Tool&s" ), menu );
/*QMenu *tools =*/ ToolsMenu( p_intf, submenu );
submenu->addSeparator();
if( mi )
{
QMenu* viewMenu = ViewMenu( p_intf, NULL );
viewMenu->setTitle( qtr( "V&iew" ) );
submenu->addMenu( viewMenu );
}
/* In skins interface, append some items */
if( p_intf->b_isDialogProvider )
{
// same as Tool menu but with extra entries
QMenu* submenu = new QMenu( qtr( "Interface" ), menu );
ToolsMenu( p_intf, submenu );
submenu->addSeparator();
vlc_object_t* p_object = vlc_object_parent(p_intf->intf);
submenu->setTitle( qtr( "Interface" ) );
/* Open skin dialog box */
if (var_Type(p_object, "intf-skins-interactive") & VLC_VAR_ISCOMMAND)
......@@ -848,22 +808,33 @@ QMenu* VLCMenuBar::PopupMenu( qt_intf_t *p_intf, bool show )
/* list of extensions */
ExtensionsMenu( p_intf, submenu );
menu->addMenu( submenu );
}
else
{
QMenu* toolsMenu = new QMenu( qtr( "Tool&s" ), menu );
ToolsMenu( p_intf, toolsMenu );
menu->addMenu( toolsMenu );
menu->addMenu( submenu );
QMenu* viewMenu = new QMenu( qtr( "V&iew" ), menu );
ViewMenu( p_intf, viewMenu );
menu->addMenu( viewMenu );
}
}
/* Static entries for ending, like open */
if( p_intf->b_isDialogProvider )
{
QMenu *openmenu = FileMenu( p_intf, menu );
openmenu->setTitle( qtr( "Open Media" ) );
QMenu* openmenu = new QMenu( qtr( "Open Media" ), menu );
FileMenu( p_intf, openmenu );
menu->addMenu( openmenu );
menu->addSeparator();
QMenu *helpmenu = HelpMenu( menu );
helpmenu->setTitle( qtr( "Help" ) );
QMenu* helpmenu = new QMenu( qtr( "Help" ), menu );
HelpMenu( helpmenu );
menu->addMenu( helpmenu );
addDPStaticEntry( menu, qtr( "Quit" ), ":/menu/exit.svg",
......@@ -877,10 +848,6 @@ QMenu* VLCMenuBar::PopupMenu( qt_intf_t *p_intf, bool show )
return menu;
}
#undef CREATE_POPUP
#undef POPUP_BOILERPLATE
#undef BAR_DADD
/************************************************************************
* Systray Menu *
************************************************************************/
......
......@@ -57,26 +57,26 @@ public:
protected:
/* All main Menus */
static QMenu *FileMenu( qt_intf_t *, QMenu * );
static void FileMenu( qt_intf_t *, QMenu * );
static QMenu *ToolsMenu( qt_intf_t *, QMenu * );
static void ToolsMenu( qt_intf_t *, QMenu * );
static QMenu *ViewMenu( qt_intf_t *, QMenu *);
static void ViewMenu( qt_intf_t *, QMenu *);
static QMenu *InterfacesMenu( qt_intf_t *p_intf, QMenu * );
static void InterfacesMenu( qt_intf_t *p_intf, QMenu * );
static void ExtensionsMenu( qt_intf_t *p_intf, QMenu * );
static QMenu *NavigMenu( qt_intf_t *, QMenu * );
static void NavigMenu( qt_intf_t *, QMenu * );
static QMenu *RebuildNavigMenu(qt_intf_t *, QMenu *);
static void RebuildNavigMenu(qt_intf_t *, QMenu *);
static QMenu *VideoMenu( qt_intf_t *, QMenu * );
static void VideoMenu( qt_intf_t *, QMenu * );
static QMenu *SubtitleMenu( qt_intf_t *, QMenu *current, bool b_popup = false );
static void SubtitleMenu( qt_intf_t *, QMenu *current, bool b_popup = false );
static QMenu *AudioMenu( qt_intf_t *, QMenu * );
static void AudioMenu( qt_intf_t *, QMenu * );
static QMenu *HelpMenu( QMenu *menu );
static void HelpMenu( QMenu *menu );
/* Popups Menus */
static void PopupMenuStaticEntries( QMenu *menu );
......