X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=modules%2Fgui%2Fqt4%2Fcomponents%2Fsimple_preferences.cpp;h=59f5211edb00d6f57ba4ae5515b22a84690171c4;hb=c3ce1f59a6c779ddb86c287af25ad815b8b2d807;hp=724627e549ee683f45d2a24767939162ebf32ade;hpb=aa8da70e76f4f41cf1038ad09c927f6a90b7cfb7;p=vlc diff --git a/modules/gui/qt4/components/simple_preferences.cpp b/modules/gui/qt4/components/simple_preferences.cpp index 724627e549..59f5211edb 100644 --- a/modules/gui/qt4/components/simple_preferences.cpp +++ b/modules/gui/qt4/components/simple_preferences.cpp @@ -33,7 +33,6 @@ #include "qt4.hpp" #include -#include #include "pixmaps/hotkeys_50x50.xpm" #include "pixmaps/audio_50x50.xpm" @@ -49,7 +48,7 @@ #include "ui/sprefs_hotkeys.h" #include "ui/sprefs_interface.h" -#define ITEM_HEIGHT 50 +#define ITEM_HEIGHT 64 /********************************************************************* * The List of categories @@ -57,25 +56,32 @@ SPrefsCatList::SPrefsCatList( intf_thread_t *_p_intf, QWidget *_parent ) : QListWidget( _parent ), p_intf( _p_intf ) { - setIconSize( QSize( ITEM_HEIGHT,ITEM_HEIGHT ) ); - setAlternatingRowColors( true ); - setViewMode(QListView::IconMode); + setIconSize( QSize( ITEM_HEIGHT, ITEM_HEIGHT ) ); + setViewMode(QListView::ListMode); + setMovement(QListView::Static); setMaximumWidth(200); + setSpacing(0); + setWordWrap(true); + setVerticalScrollMode(QAbstractItemView::ScrollPerPixel); + setHorizontalScrollBarPolicy(Qt::ScrollBarAlwaysOff); + setAlternatingRowColors( true ); -#define ADD_CATEGORY( id, label, icon ) \ - addItem( label ); \ - item( id )->setIcon( QIcon( QPixmap( icon ) ) ); \ - item( id )->setData( Qt::UserRole, qVariantFromValue( (int)id ) ); \ - item( id )->setTextAlignment(Qt::AlignHCenter); \ - item( id )->setFlags(Qt::ItemIsSelectable | Qt::ItemIsEnabled); - - ADD_CATEGORY( SPrefsVideo, qtr("Video"), video_50x50_xpm ); - ADD_CATEGORY( SPrefsAudio, qtr("Audio"), audio_50x50_xpm ); +#define ADD_CATEGORY( id, label, icon ) \ + addItem( label ); \ + item( id )->setIcon( QIcon( ":/pixmaps/" #icon ) ) ; \ + item( id )->setTextAlignment( Qt::AlignLeft | Qt::AlignVCenter ); \ + item( id )->setData( Qt::UserRole, qVariantFromValue( (int)id ) ); \ + item( id )->setFlags( Qt::ItemIsSelectable | Qt::ItemIsEnabled ); + + ADD_CATEGORY( SPrefsInterface, qtr("Interface"), + spref_cone_Interface_64.png ); + ADD_CATEGORY( SPrefsAudio, qtr("Audio"), spref_cone_Audio_64.png ); + ADD_CATEGORY( SPrefsVideo, qtr("Video"), spref_cone_Video_64.png ); + ADD_CATEGORY( SPrefsSubtitles, qtr("Subtitles"), + spref_cone_Subtitles_64.png ); ADD_CATEGORY( SPrefsInputAndCodecs, qtr("Input and Codecs"), - input_and_codecs_50x50_xpm ); - ADD_CATEGORY( SPrefsInterface, qtr("Interface"), interface_50x50_xpm ); - ADD_CATEGORY( SPrefsSubtitles, qtr("Subtitles"), subtitles_50x50_xpm ); - ADD_CATEGORY( SPrefsHotkeys, qtr("Hotkeys"), hotkeys_50x50_xpm ); + spref_cone_Input_64.png ); + ADD_CATEGORY( SPrefsHotkeys, qtr("Hotkeys"), spref_cone_Hotkeys_64.png ); setCurrentRow( SPrefsInterface ); } @@ -107,6 +113,16 @@ SPrefsPanel::SPrefsPanel( intf_thread_t *_p_intf, QWidget *_parent, controls.append( control ); \ } +#define CONFIG_GENERIC_FILE( option, type, label, qcontrol, qbutton ) \ + p_config = config_FindConfig( VLC_OBJECT(p_intf), option ); \ + if( p_config ) \ + { \ + control = new type ## ConfigControl( VLC_OBJECT(p_intf), \ + p_config, label, ui.qcontrol, ui.qbutton, \ + false ); \ + controls.append( control ); \ + } + #define START_SPREFS_CAT( name , label ) \ @@ -126,8 +142,8 @@ SPrefsPanel::SPrefsPanel( intf_thread_t *_p_intf, QWidget *_parent, // Title Label QLabel *panel_label = new QLabel; QFont labelFont = QApplication::font( static_cast(0) ); - labelFont.setPointSize( labelFont.pointSize() + 4 ); - labelFont.setBold( true ); + labelFont.setPointSize( labelFont.pointSize() + 6 ); + labelFont.setFamily( "Verdana" ); panel_label->setFont( labelFont ); // Title
@@ -157,8 +173,8 @@ SPrefsPanel::SPrefsPanel( intf_thread_t *_p_intf, QWidget *_parent, dXdisplayDevice ); #endif - CONFIG_GENERIC( "snapshot-path", String, NULL, - snapshotsDirectory ); /* FIXME -> use file instead of string */ + CONFIG_GENERIC_FILE( "snapshot-path", Directory, NULL, + snapshotsDirectory, snapshotsDirectoryBrowse ); CONFIG_GENERIC( "snapshot-prefix", String, NULL, snapshotsPrefix ); CONFIG_GENERIC( "snapshot-sequential", Bool, NULL, snapshotsSequentialNumbering ); @@ -191,14 +207,13 @@ SPrefsPanel::SPrefsPanel( intf_thread_t *_p_intf, QWidget *_parent, CONFIG_GENERIC( "aout" , Module , NULL, outputModule ); #ifndef WIN32 CONFIG_GENERIC( "alsadev" , StringList , NULL, alsaDevice ); - CONFIG_GENERIC( "dspdev" , String , NULL, OSSDevice ); - //FIXME File + CONFIG_GENERIC_FILE( "dspdev" , File , NULL, OSSDevice, OSSBrowse ); #else CONFIG_GENERIC( "directx-audio-device" , IntegerList, NULL, DirectXDevice ); #endif - CONFIG_GENERIC( "audiofile-file" , String , NULL, FileName ); - //Fixme File + CONFIG_GENERIC_FILE( "audiofile-file" , File , NULL, FileName, + fileBrowseButton ); CONFIG_GENERIC( "headphone-dolby" , Bool , NULL, headphoneEffect ); // CONFIG_GENERIC( "" , Bool, NULL, ); activation of normalizer @@ -229,8 +244,11 @@ SPrefsPanel::SPrefsPanel( intf_thread_t *_p_intf, QWidget *_parent, /* Interface Panel */ START_SPREFS_CAT( Interface, "Interfaces settings" ); - CONFIG_GENERIC( "language", StringList, NULL, language ); + CONFIG_GENERIC( "language", StringList, NULL, language ); +#if !defined( WIN32 ) && !defined( HAVE_DBUS_3 ) + ui.OneInterfaceBox->hide(); +#endif /* interface */ /* p_config = config_FindConfig( VLC_OBJECT(p_intf), "intf" ); if( p_config->value.psz && strcmp( p_config->value.psz, "qt4" )) @@ -239,11 +257,13 @@ SPrefsPanel::SPrefsPanel( intf_thread_t *_p_intf, QWidget *_parent, ui.skins->setChecked( true );*/ /* CONFIG_GENERIC( "intf", Module, NULL, ??? ); */ //FIXME interface choice CONFIG_GENERIC( "qt-always-video", Bool, NULL, qtAlwaysVideo ); - CONFIG_GENERIC( "skins2-last", String, NULL, fileSkin); - //FIXME File + CONFIG_GENERIC_FILE( "skins2-last", File, NULL, fileSkin, + skinBrowse ); +#if defined( WIN32 ) || defined(HAVE_DBUS_3) CONFIG_GENERIC( "one-instance", Bool, NULL, OneInterfaceMode ); CONFIG_GENERIC( "playlist-enqueue", Bool, NULL, EnqueueOneInterfaceMode ); +#endif END_SPREFS_CAT; START_SPREFS_CAT( Subtitles, "Subtitles & OSD settings" ); @@ -252,8 +272,8 @@ SPrefsPanel::SPrefsPanel( intf_thread_t *_p_intf, QWidget *_parent, CONFIG_GENERIC( "subsdec-encoding", StringList, NULL, encoding ); CONFIG_GENERIC( "sub-language", String, NULL, preferredLanguage ); - CONFIG_GENERIC( "freetype-font", String, NULL, font ); - /* FIXME -> use file instead of string */ + CONFIG_GENERIC_FILE( "freetype-font", File, NULL, font, + fontBrowse ); CONFIG_GENERIC( "freetype-color", IntegerList, NULL, fontColor ); CONFIG_GENERIC( "freetype-rel-fontsize", IntegerList, NULL, fontSize );