From 031e7a2d7288934c46192f0363345d9e230ee3e5 Mon Sep 17 00:00:00 2001 From: Jean-Baptiste Kempf Date: Thu, 31 Jan 2008 02:00:43 +0000 Subject: [PATCH] Qt4 - Simple Preferences, audio: you expect to deal with % for the volume not abstract values from 0 to 1024... Added a label for that. --- .../gui/qt4/components/simple_preferences.cpp | 32 +++++++++++++------ .../gui/qt4/components/simple_preferences.hpp | 5 +-- modules/gui/qt4/ui/sprefs_audio.ui | 31 ++++++++++++++++-- 3 files changed, 54 insertions(+), 14 deletions(-) diff --git a/modules/gui/qt4/components/simple_preferences.cpp b/modules/gui/qt4/components/simple_preferences.cpp index ad8b5007a9..5b25310c9b 100644 --- a/modules/gui/qt4/components/simple_preferences.cpp +++ b/modules/gui/qt4/components/simple_preferences.cpp @@ -214,6 +214,9 @@ SPrefsPanel::SPrefsPanel( intf_thread_t *_p_intf, QWidget *_parent, /* General Audio Options */ CONFIG_GENERIC_NO_BOOL( "volume" , IntegerRangeSlider, NULL, defaultVolume ); + CONNECT( ui.defaultVolume, valueChanged( int ), + this, updateAudioVolume( int ) ); + CONFIG_GENERIC( "audio-language" , String , NULL, preferredAudioLanguage ); @@ -258,6 +261,7 @@ SPrefsPanel::SPrefsPanel( intf_thread_t *_p_intf, QWidget *_parent, optionWidgets.append( ui.fileControl ); optionWidgets.append( ui.outputModule ); optionWidgets.append( ui.volNormBox ); + optionWidgets.append( ui.volumeValue ); updateAudioOptions( ui.outputModule->currentIndex() ); /* LastFM */ @@ -289,6 +293,9 @@ SPrefsPanel::SPrefsPanel( intf_thread_t *_p_intf, QWidget *_parent, ui.volNormSpin->setEnabled( b_normalizer ); } + /* Volume Label */ + updateAudioVolume( ui.defaultVolume->value() ); // First time init + END_SPREFS_CAT; /* Input and Codecs Panel Implementation */ @@ -501,6 +508,13 @@ void SPrefsPanel::updateAudioOptions( int number) optionWidgets[fileW]->setVisible( ( value == "aout_file" ) ); } +void SPrefsPanel::updateAudioVolume( int volume ) +{ + qobject_cast(optionWidgets[volLW]) + ->setValue( volume * 100 / 256 ); +} + + /* Function called from the main Preferences dialog on each SPrefs Panel */ void SPrefsPanel::apply() { @@ -697,7 +711,7 @@ void SPrefsPanel::assoDialog() aTa( ".m4a" ); aTa( ".m4p" ); aTa( ".mka" ); aTa( ".mod" ); aTa( ".mp1" ); aTa( ".mp2" ); aTa( ".mp3" ); aTa( ".ogg" ); aTa( ".spx" ); aTa( ".wav" ); aTa( ".wma" ); aTa( ".xm" ); - audioType->setCheckState( 0, ( i_temp > 0 ) ? + audioType->setCheckState( 0, ( i_temp > 0 ) ? ( ( i_temp == audioType->childCount() ) ? Qt::Checked : Qt::PartiallyChecked ) : Qt::Unchecked ); @@ -709,7 +723,7 @@ void SPrefsPanel::assoDialog() aTv( ".mpeg1" ); aTv( ".mpeg2" ); aTv( ".mpeg4" ); aTv( ".mpg" ); aTv( ".mxf" ); aTv( ".ogm" ); aTv( ".ps" ); aTv( ".ts" ); aTv( ".vob" ); aTv( ".wmv" ); - videoType->setCheckState( 0, ( i_temp > 0 ) ? + videoType->setCheckState( 0, ( i_temp > 0 ) ? ( ( i_temp == audioType->childCount() ) ? Qt::Checked : Qt::PartiallyChecked ) : Qt::Unchecked ); @@ -717,7 +731,7 @@ void SPrefsPanel::assoDialog() i_temp = 0; aTo( ".asx" ); aTo( ".b4s" ); aTo( ".m3u" ); aTo( ".pls" ); aTo( ".vlc" ); aTo( ".xspf" ); - otherType->setCheckState( 0, ( i_temp > 0 ) ? + otherType->setCheckState( 0, ( i_temp > 0 ) ? ( ( i_temp == audioType->childCount() ) ? Qt::Checked : Qt::PartiallyChecked ) : Qt::Unchecked ); @@ -746,14 +760,14 @@ void addAsso( QVLCRegistry *qvReg, char *psz_ext ) /* Save a backup if already assigned */ char *psz_value = qvReg->ReadRegistryString( psz_ext, "", "" ); - + if( psz_value && strlen( psz_value ) > 0 ) qvReg->WriteRegistryString( psz_ext, "VLC.backup", psz_value ); delete psz_value; - + /* Put a "link" to VLC.EXT as default */ qvReg->WriteRegistryString( psz_ext, "", s_path.c_str() ); - + /* Create the needed Key if they weren't done in the installer */ if( !qvReg->RegistryKeyExists( s_path.c_str() ) ) { @@ -763,15 +777,15 @@ void addAsso( QVLCRegistry *qvReg, char *psz_ext ) /* Get the installer path */ QVLCRegistry *qvReg2 = new QVLCRegistry( HKEY_LOCAL_MACHINE ); - std::string str_temp; str_temp.assign( + std::string str_temp; str_temp.assign( qvReg2->ReadRegistryString( "Software\\VideoLAN\\VLC", "", "" ) ); - + if( str_temp.size() ) { qvReg->WriteRegistryString( s_path.append( "\\Play\\command" ).c_str(), "", str_temp.append(" --started-from-file \"%1\"" ).c_str() ); - qvReg->WriteRegistryString( s_path2.append( "\\DefaultIcon" ).c_str(), + qvReg->WriteRegistryString( s_path2.append( "\\DefaultIcon" ).c_str(), "", str_temp.append(",0").c_str() ); } delete qvReg2; diff --git a/modules/gui/qt4/components/simple_preferences.hpp b/modules/gui/qt4/components/simple_preferences.hpp index 68c0ac2555..f7e4e629f1 100644 --- a/modules/gui/qt4/components/simple_preferences.hpp +++ b/modules/gui/qt4/components/simple_preferences.hpp @@ -61,7 +61,7 @@ enum { CachingHigher = 500 }; -enum { alsaW = 0, ossW, directxW, fileW, audioOutCoB, normalizerChB }; +enum { alsaW = 0, ossW, directxW, fileW, audioOutCoB, normalizerChB, volLW }; enum { recordChB, dumpChB, bandwidthChB, timeshiftChB, inputLE, cachingCoB }; enum { skinRB, qtRB }; @@ -115,7 +115,8 @@ private: /* Display only the options for the selected audio output */ private slots: void lastfm_Changed( int ); - void updateAudioOptions( int ); + void updateAudioOptions( int ); + void updateAudioVolume( int ); #ifdef SYS_MINGW32 void assoDialog(); void saveAsso(); diff --git a/modules/gui/qt4/ui/sprefs_audio.ui b/modules/gui/qt4/ui/sprefs_audio.ui index c2d9d976fb..fa36853a19 100644 --- a/modules/gui/qt4/ui/sprefs_audio.ui +++ b/modules/gui/qt4/ui/sprefs_audio.ui @@ -60,12 +60,37 @@ Qt::LeftToRight + + 400 + Qt::Horizontal - + + + + _("256 corresponds to 100%, 1024 to 400%) + + + Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter + + + true + + + QAbstractSpinBox::NoButtons + + + % + + + 400 + + + + _("Use S/PDIF when available") @@ -79,7 +104,7 @@ - + @@ -105,7 +130,7 @@ - + -- 2.39.2