]> git.sesse.net Git - vlc/blobdiff - modules/gui/qt4/menus.cpp
Qt4 - Yet another icon from Danko: Preferences.
[vlc] / modules / gui / qt4 / menus.cpp
index 5252d9b41d497d2ee08a36704c5319ffd640e5ee..4ea62c352fd743ea5da9f7f3cdf8f3adda7e0e48 100644 (file)
  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301, USA.
  *****************************************************************************/
 
-#include <QMenu>
-#include <QMenuBar>
-#include <QAction>
-#include <QActionGroup>
-#include <QSignalMapper>
-#include <QSystemTrayIcon>
-
 #ifndef WIN32
 #   include <signal.h>
 #endif
 #include "dialogs_provider.hpp"
 #include "input_manager.hpp"
 
+#include <QMenu>
+#include <QMenuBar>
+#include <QAction>
+#include <QActionGroup>
+#include <QSignalMapper>
+#include <QSystemTrayIcon>
+
 enum
 {
     ITEM_NORMAL,
@@ -52,24 +52,24 @@ static QActionGroup *currentGroup;
 // Add static entries to menus
 #define DP_SADD( menu, text, help, icon, slot, shortcut ) \
 { \
-    if( strlen(icon) > 0 ) \
+    if( strlen( icon ) > 0 ) \
     { \
-        if( strlen(shortcut) > 0 ) \
+        if( strlen( shortcut ) > 0 ) \
         { \
-            menu->addAction( QIcon(icon), text, THEDP, SLOT( slot ), \
-                    qtr(shortcut) );\
+            menu->addAction( QIcon( icon ), text, THEDP, SLOT( slot ), \
+                    qtr( shortcut ) );\
         } \
         else \
         { \
-            menu->addAction( QIcon(icon), text, THEDP, SLOT( slot ) );\
+            menu->addAction( QIcon( icon ), text, THEDP, SLOT( slot ) );\
         } \
     } \
     else \
     { \
-        if( strlen(shortcut) > 0 ) \
+        if( strlen( shortcut ) > 0 ) \
         { \
             menu->addAction( text, THEDP, SLOT( slot ), \
-                    qtr(shortcut) ); \
+                    qtr( shortcut ) ); \
         } \
         else \
         { \
@@ -79,10 +79,10 @@ static QActionGroup *currentGroup;
 }
 #define MIM_SADD( menu, text, help, icon, slot ) \
 { \
-    if( strlen(icon) > 0 ) \
+    if( strlen( icon ) > 0 ) \
     { \
         QAction *action = menu->addAction( text, THEMIM, SLOT( slot ) ); \
-        action->setIcon(QIcon(icon)); \
+        action->setIcon( QIcon( icon ) ); \
     } \
     else \
     { \
@@ -175,11 +175,11 @@ void QVLCMenu::createMenuBar( MainInterface *mi, intf_thread_t *p_intf,
 
     sigemptyset( &set );
     sigaddset( &set, SIGCHLD );
-    pthread_sigmask (SIG_UNBLOCK, &set, NULL);
+    pthread_sigmask( SIG_UNBLOCK, &set, NULL );
 #endif
     QMenuBar *bar = mi->menuBar();
 #ifndef WIN32
-    pthread_sigmask (SIG_BLOCK, &set, NULL);
+    pthread_sigmask( SIG_BLOCK, &set, NULL );
 #endif
     BAR_ADD( FileMenu(), qtr("&Media") );
     if( playlist )
@@ -197,18 +197,22 @@ void QVLCMenu::createMenuBar( MainInterface *mi, intf_thread_t *p_intf,
 QMenu *QVLCMenu::FileMenu()
 {
     QMenu *menu = new QMenu();
-    DP_SADD( menu, qtr("Open &File..." ), "", "", openFileDialog(), "Ctrl+O" );
+    DP_SADD( menu, qtr("Open &File..." ), "",
+            ":/pixmaps/vlc_file-asym_16px.png", openFileDialog(), "Ctrl+O" );
     DP_SADD( menu, qtr("Open &Disc..." ), "", "", openDiscDialog(), "Ctrl+D" );
-    DP_SADD( menu, qtr("Open &Network..." ), "", "", openNetDialog(), "Ctrl+N" );
-    DP_SADD( menu, qtr("Open &Capture Device..." ), "", "", openCaptureDialog(),
+    DP_SADD( menu, qtr("Open &Network..." ), "",
+                ":/pixmaps/vlc_network_16px.png", openNetDialog(), "Ctrl+N" );
+    DP_SADD( menu, qtr("Open &Capture Device..." ), "",
+            ":/pixmaps/vlc_capture-card_16px.png", openCaptureDialog(),
             "Ctrl+C" );
     menu->addSeparator();
-    DP_SADD( menu, qtr("&Streaming..."), "", "", openThenStreamingDialogs(), 
-            "Ctrl+S" );
-    DP_SADD( menu, qtr("Conve&rt / Save..."), "", "", openThenTranscodingDialogs(), 
-            "Ctrl+R" );
+    DP_SADD( menu, qtr("&Streaming..."), "", ":/pixmaps/vlc_stream_16px.png",
+            openThenStreamingDialogs(), "Ctrl+S" );
+    DP_SADD( menu, qtr("Conve&rt / Save..."), "", "",
+            openThenTranscodingDialogs(), "Ctrl+R" );
     menu->addSeparator();
-    DP_SADD( menu, qtr("&Quit") , "", "", quit(), "Ctrl+Q");
+    DP_SADD( menu, qtr("&Quit") , "", ":/pixmaps/vlc_quit_16px.png", quit(),
+            "Ctrl+Q");
     return menu;
 }
 
@@ -218,8 +222,8 @@ QMenu *QVLCMenu::PlaylistMenu( MainInterface *mi, intf_thread_t *p_intf )
     menu->addMenu( SDMenu( p_intf ) );
     menu->addSeparator();
 
-    DP_SADD( menu, qtr(I_PL_LOAD), "", "", openPlaylist(), "Ctrl+L" );
-    DP_SADD( menu, qtr(I_PL_SAVE), "", "", savePlaylist(), "Ctrl+K" );
+    DP_SADD( menu, qtr( I_PL_LOAD ), "", "", openPlaylist(), "Ctrl+L" );
+    DP_SADD( menu, qtr( I_PL_SAVE ), "", "", savePlaylist(), "Ctrl+K" );
     menu->addSeparator();
     menu->addAction( qtr("Undock from interface"), mi,
             SLOT( undockPlaylist() ), qtr("Ctrl+U") );
@@ -238,12 +242,14 @@ QMenu *QVLCMenu::ToolsMenu( intf_thread_t *p_intf, MainInterface *mi,
         menu->addMenu( intfmenu );
         menu->addSeparator();
     }
-    DP_SADD( menu, qtr(I_MENU_MSG), "", "", messagesDialog(), "Ctrl+M" );
-    DP_SADD( menu, qtr(I_MENU_INFO) , "", "", mediaInfoDialog(), "Ctrl+J" );
-    DP_SADD( menu, qtr(I_MENU_CODECINFO) , "", "", mediaCodecDialog(), "Ctrl+I" );
-    DP_SADD( menu, qtr(I_MENU_GOTOTIME), "","", gotoTimeDialog(), "Ctrl+T" );
-    DP_SADD( menu, qtr(I_MENU_BOOKMARK), "","", bookmarksDialog(), "Ctrl+B" );
-    DP_SADD( menu, qtr(I_MENU_VLM), "","", vlmDialog(), "Ctrl+V" );
+    DP_SADD( menu, qtr( I_MENU_MSG ), "", ":/pixmaps/vlc_messages_16px.png",
+             messagesDialog(), "Ctrl+M" );
+    DP_SADD( menu, qtr( I_MENU_INFO ) , "", "", mediaInfoDialog(), "Ctrl+J" );
+    DP_SADD( menu, qtr( I_MENU_CODECINFO ) , "", ":/pixmaps/vlc_info_16px.png",
+             mediaCodecDialog(), "Ctrl+I" );
+    DP_SADD( menu, qtr( I_MENU_GOTOTIME ), "","", gotoTimeDialog(), "Ctrl+T" );
+    DP_SADD( menu, qtr( I_MENU_BOOKMARK ), "","", bookmarksDialog(), "Ctrl+B" );
+    DP_SADD( menu, qtr( I_MENU_VLM ), "","", vlmDialog(), "Ctrl+V" );
 
     menu->addSeparator();
     if( mi )
@@ -260,10 +266,11 @@ QMenu *QVLCMenu::ToolsMenu( intf_thread_t *p_intf, MainInterface *mi,
 #endif
         menu->addAction ( qtr( "Playlist"), mi, SLOT( playlist() ) );
     }
-    DP_SADD( menu, qtr(I_MENU_EXT), "","",extendedDialog(), "Ctrl+E" );
-    DP_SADD( menu, qtr("Hide Menus..."), "","",hideMenus(), "Ctrl+H" );
+    DP_SADD( menu, qtr( I_MENU_EXT ), "","",extendedDialog(), "Ctrl+E" );
+    DP_SADD( menu, qtr( "Hide Menus..." ), "","",hideMenus(), "Ctrl+H" );
     menu->addSeparator();
-    DP_SADD( menu, qtr("Preferences"), "", "", prefsDialog(), "Ctrl+P" );
+    DP_SADD( menu, qtr("Preferences"), "", ":/pixmaps/vlc_preferences_16px.png",
+             prefsDialog(), "Ctrl+P" );
     return menu;
 }
 
@@ -280,8 +287,8 @@ QMenu *QVLCMenu::InterfacesMenu( intf_thread_t *p_intf, QMenu *current )
     if( !p_intf->pf_show_dialog )
     {
         menu->addSeparator();
-        menu->addAction( qtr("Switch to skins"), THEDP, SLOT(switchToSkins()),
-                qtr("Ctrl+Z") );
+        menu->addAction( qtr("Switch to skins"), THEDP, SLOT( switchToSkins() ),
+                QString("Ctrl+Z") );
     }
 
     CONNECT( menu, aboutToShow(), THEDP->menusUpdateMapper, map() );
@@ -360,7 +367,7 @@ QMenu *QVLCMenu::NavigMenu( intf_thread_t *p_intf, QMenu *current )
 QMenu *QVLCMenu::SDMenu( intf_thread_t *p_intf )
 {
     QMenu *menu = new QMenu();
-    menu->setTitle( qtr(I_PL_SD) );
+    menu->setTitle( qtr( I_PL_SD ) );
     vlc_list_t *p_list = vlc_list_find( p_intf, VLC_OBJECT_MODULE,
             FIND_ANYWHERE );
     int i_num = 0;
@@ -399,9 +406,9 @@ QMenu *QVLCMenu::SDMenu( intf_thread_t *p_intf )
 QMenu *QVLCMenu::HelpMenu()
 {
     QMenu *menu = new QMenu();
-    DP_SADD( menu, qtr("Help") , "", "", helpDialog(), "F1" );
+    DP_SADD( menu, qtr("Help") , "", ":/pixmaps/vlc_help_16px.png", helpDialog(), "F1" );
     menu->addSeparator();
-    DP_SADD( menu, qtr(I_MENU_ABOUT), "", "", aboutDialog(), "Ctrl+F1");
+    DP_SADD( menu, qtr( I_MENU_ABOUT ), "", "", aboutDialog(), "Ctrl+F1");
     return menu;
 }
 
@@ -429,16 +436,20 @@ QMenu *QVLCMenu::HelpMenu()
     { \
         var_Get( p_input, "state", &val ); \
         if( val.i_int == PLAYING_S ) \
-            MIM_SADD( menu, qtr("Pause"), "", "", togglePlayPause() ) \
+            MIM_SADD( menu, qtr("Pause"), "", ":/pixmaps/vlc_pause_16px.png", \
+                    togglePlayPause() ) \
         else \
-            MIM_SADD( menu, qtr("Play"), "", "", togglePlayPause() ) \
+            MIM_SADD( menu, qtr("Play"), "", ":/pixmaps/vlc_play_16px.png", \
+                    togglePlayPause() ) \
     } \
     else if( THEPL->items.i_size && THEPL->i_enabled ) \
-        MIM_SADD( menu, qtr("Play"), "", "", togglePlayPause() ); \
+        MIM_SADD( menu, qtr("Play"), "", ":/pixmaps/vlc_play_16px.png", \
+                togglePlayPause() ); \
     \
-    MIM_SADD( menu, qtr("Stop"), "", "", stop() ); \
-    MIM_SADD( menu, qtr("Previous"), "", "", prev() ); \
-    MIM_SADD( menu, qtr("Next"), "", "", next() );
+    MIM_SADD( menu, qtr("Stop"), "", ":/pixmaps/vlc_stop_16px.png", stop() ); \
+    MIM_SADD( menu, qtr("Previous"), "", ":/pixmaps/vlc_previous_16px.png", \
+            prev() ); \
+    MIM_SADD( menu, qtr("Next"), "", ":/pixmaps/vlc_next_16px.png", next() );
 
 #define POPUP_STATIC_ENTRIES \
     POPUP_PLAY_ENTRIES( menu ); \
@@ -597,25 +608,25 @@ void QVLCMenu::updateSystrayMenu( MainInterface *mi, intf_thread_t *p_intf,
     POPUP_BOILERPLATE;
     QMenu *sysMenu = mi->getSysTrayMenu();
     sysMenu->clear();
-    DP_SADD( sysMenu, qtr("&About VLC media player" ), "", "",
-            aboutDialog(), "" );
-    sysMenu->addSeparator();
-    POPUP_PLAY_ENTRIES( sysMenu );
-    sysMenu->addSeparator();
-    DP_SADD( sysMenu, qtr("&Open" ), "", "", openFileDialog(), "" );
-    sysMenu->addSeparator();
-
-    if( !mi->isVisible() || b_force_visible )
+    if( mi->isVisible() || b_force_visible )
     {
-        sysMenu->addAction( qtr("Hide Interface"), mi,
+        sysMenu->addAction( QIcon( ":/vlc16.png" ),
+                qtr("Hide VLC media player"), mi,
                 SLOT( toggleUpdateSystrayMenu() ) );
     }
     else
     {
-        sysMenu->addAction( qtr("Show Interface"), mi,
+        sysMenu->addAction( QIcon( ":/vlc16.png" ),
+                qtr("Show VLC media player"), mi,
                 SLOT( toggleUpdateSystrayMenu() ) );
     }
-    DP_SADD( sysMenu, qtr("&Quit") , "", "", quit(), "" );
+    sysMenu->addSeparator();
+    POPUP_PLAY_ENTRIES( sysMenu );
+    sysMenu->addSeparator();
+    DP_SADD( sysMenu, qtr("&Open Media" ), "",
+            ":/pixmaps/vlc_file-wide_16px.png", openFileDialog(), "" );
+    DP_SADD( sysMenu, qtr("&Quit") , "", ":/pixmaps/vlc_quit_16px.png",
+             quit(), "" );
 
     mi->getSysTray()->setContextMenu( sysMenu );
 }
@@ -915,7 +926,7 @@ void QVLCMenu::CreateAndConnect( QMenu *menu, const char *psz_var,
     {
         action->setCheckable( true );
         if( !currentGroup )
-            currentGroup = new QActionGroup(menu);
+            currentGroup = new QActionGroup( menu );
         currentGroup->addAction( action );
     }