Commit 3500cf10 authored by Jean-Baptiste Kempf's avatar Jean-Baptiste Kempf
Browse files

Qt4 - Simple prefs, re-do [22621], but removes all the connects for all the...

Qt4 - Simple prefs, re-do [22621], but removes all the connects for all the configcontrol, remove some functions, clean it, remove some dynamic_cast, but basically do the same.

parent 7e6bc77e
......@@ -231,8 +231,6 @@ void StringConfigControl::finish()
text->setToolTip( formatTooltip(qtr(p_item->psz_longtext)) );
if( label )
label->setToolTip( formatTooltip(qtr(p_item->psz_longtext)) );
connect( text, SIGNAL(textChanged( const QString & )), this,
SIGNAL(Updated()) );
}
/*********** File **************/
......@@ -298,8 +296,6 @@ void FileConfigControl::finish()
text->setToolTip( formatTooltip(qtr(p_item->psz_longtext)) );
if( label )
label->setToolTip( formatTooltip(qtr(p_item->psz_longtext)) );
connect( text, SIGNAL(textChanged( const QString & )), this,
SIGNAL(Updated()) );
}
/********* String / Directory **********/
......@@ -395,8 +391,6 @@ void StringListConfigControl::finish( bool bycat )
combo->setToolTip( formatTooltip(qtr(p_item->psz_longtext)) );
if( label )
label->setToolTip( formatTooltip(qtr(p_item->psz_longtext)) );
connect( combo, SIGNAL(currentIndexChanged( int )), this,
SIGNAL(Updated()) );
}
QString StringListConfigControl::getValue()
......@@ -425,6 +419,7 @@ ModuleConfigControl::ModuleConfigControl( vlc_object_t *_p_this,
l->addWidget( combo, line, 1, Qt::AlignRight );
}
}
ModuleConfigControl::ModuleConfigControl( vlc_object_t *_p_this,
module_config_t *_p_item, QLabel *_label, QComboBox *_combo,
bool bycat ) : VStringConfigControl( _p_this, _p_item )
......@@ -478,8 +473,6 @@ void ModuleConfigControl::finish( bool bycat )
combo->setToolTip( formatTooltip(qtr(p_item->psz_longtext)) );
if( label )
label->setToolTip( formatTooltip(qtr(p_item->psz_longtext)) );
connect( combo, SIGNAL(currentIndexChanged( int )), this,
SIGNAL(Updated()) );
}
QString ModuleConfigControl::getValue()
......@@ -495,8 +488,6 @@ ModuleListConfigControl::ModuleListConfigControl( vlc_object_t *_p_this,
{
groupBox = new QGroupBox ( qtr(p_item->psz_text) );
text = new QLineEdit();
connect( text, SIGNAL(textChanged( const QString & )), this,
SIGNAL(Updated()) );
QGridLayout *layoutGroupBox = new QGridLayout( groupBox );
finish( bycat );
......@@ -522,16 +513,6 @@ ModuleListConfigControl::ModuleListConfigControl( vlc_object_t *_p_this,
text->setToolTip( formatTooltip( qtr( p_item->psz_longtext) ) );
}
#if 0
ModuleConfigControl::ModuleConfigControl( vlc_object_t *_p_this,
module_config_t *_p_item, QLabel *_label, QComboBox *_combo,
bool bycat ) : VStringConfigControl( _p_this, _p_item )
{
combo = _combo;
label = _label;
finish( bycat );
}
#endif
ModuleListConfigControl::~ModuleListConfigControl()
{
......@@ -698,8 +679,6 @@ void IntegerConfigControl::finish()
spin->setToolTip( formatTooltip(qtr(p_item->psz_longtext)) );
if( label )
label->setToolTip( formatTooltip(qtr(p_item->psz_longtext)) );
connect( spin, SIGNAL(valueChanged( int )), this,
SIGNAL(Updated()) );
}
int IntegerConfigControl::getValue()
......@@ -797,8 +776,6 @@ void IntegerListConfigControl::finish( bool bycat )
combo->setToolTip( formatTooltip(qtr(p_item->psz_longtext)) );
if( label )
label->setToolTip( formatTooltip(qtr(p_item->psz_longtext)) );
connect( combo, SIGNAL(currentIndexChanged( int )), this,
SIGNAL(Updated()) );
}
int IntegerListConfigControl::getValue()
......@@ -843,8 +820,6 @@ void BoolConfigControl::finish()
checkbox->setCheckState( p_item->value.i == VLC_TRUE ? Qt::Checked
: Qt::Unchecked );
checkbox->setToolTip( formatTooltip(qtr(p_item->psz_longtext)) );
connect( checkbox, SIGNAL(stateChanged( int )), this,
SIGNAL(Updated()) );
}
int BoolConfigControl::getValue()
......@@ -902,8 +877,6 @@ void FloatConfigControl::finish()
spin->setToolTip( formatTooltip(qtr(p_item->psz_longtext)) );
if( label )
label->setToolTip( formatTooltip(qtr(p_item->psz_longtext)) );
connect( spin, SIGNAL(valueChanged( double )), this,
SIGNAL(Updated()) );
}
float FloatConfigControl::getValue()
......
......@@ -26,8 +26,8 @@
#include "components/simple_preferences.hpp"
#include "components/preferences_widgets.hpp"
#include "ui/sprefs_audio.h"
#include "ui/sprefs_input.h"
#include "ui/sprefs_audio.h"
#include "ui/sprefs_video.h"
#include "ui/sprefs_subtitles.h"
#include "ui/sprefs_hotkeys.h"
......@@ -196,53 +196,55 @@ SPrefsPanel::SPrefsPanel( intf_thread_t *_p_intf, QWidget *_parent,
/* Audio Panel Implementation */
START_SPREFS_CAT( Audio, qtr("General audio settings") );
CONFIG_GENERIC( "audio", Bool, NULL, enableAudio );
CONFIG_GENERIC( "audio", Bool, NULL, enableAudio );
CONFIG_GENERIC_NO_BOOL( "volume" , IntegerRangeSlider, NULL,
defaultVolume );
CONFIG_GENERIC( "audio-language" , String , NULL,
preferredAudioLanguage );
CONFIG_GENERIC_NO_BOOL( "volume" , IntegerRangeSlider, NULL,
defaultVolume );
CONFIG_GENERIC( "audio-language" , String , NULL,
preferredAudioLanguage );
CONFIG_GENERIC( "spdif", Bool, NULL, spdifBox );
CONFIG_GENERIC( "force-dolby-surround" , IntegerList , NULL,
detectionDolby );
CONFIG_GENERIC( "spdif" , Bool , NULL, spdifBox );
CONFIG_GENERIC( "force-dolby-surround" , IntegerList , NULL,
detectionDolby );
CONFIG_GENERIC( "aout", Module, NULL, outputModule );
CONFIG_GENERIC( "aout" , Module , NULL, outputModule );
CONNECT( control, Updated(), this, AudioDeviceChanged() );
QString aout_value = (dynamic_cast<ModuleConfigControl*>(control))->getValue();
CONNECT( ui.outputModule, currentIndexChanged( int ), this,
updateAudioOptions( int ) );
audioOutput = ui.outputModule;
//FIXME: use modules_Exists
#ifndef WIN32
CONFIG_GENERIC( "alsadev" , StringList , ui.alsaLabel, alsaDevice );
alsa_options = control;
CONFIG_GENERIC_FILE( "dspdev" , File , ui.OSSLabel, OSSDevice,
OSSBrowse );
oss_options = control;
CONFIG_GENERIC( "alsadev" , StringList , ui.alsaLabel, alsaDevice );
CONFIG_GENERIC_FILE( "dspdev" , File , ui.OSSLabel, OSSDevice,
OSSBrowse );
#else
CONFIG_GENERIC( "directx-audio-device" , IntegerList, ui.DirectXLabel,
DirectXDevice );
directx_options = control;
CONFIG_GENERIC( "directx-audio-device", IntegerList, ui.DirectXLabel,
DirectXDevice );
#endif
CONFIG_GENERIC_FILE( "audiofile-file" , File , ui.FileLabel, FileName,
fileBrowseButton );
file_options = control;
// File exists everywhere
CONFIG_GENERIC_FILE( "audiofile-file" , File , ui.fileLabel, fileName,
fileBrowseButton );
alsa_options = ui.alsaControl;
oss_options = ui.OSSControl;
directx_options = ui.DirectXControl;
file_options = ui.fileControl;
/* and hide if necessary */
#ifdef WIN32
ui.OSSBrowse->hide();
ui.OSSDevice->hide();
ui.OSSLabel->hide();
ui.alsaDevice->hide();
ui.alsaLabel->hide();
oss_options->hide();
alsa_options->hide();
#else
ui.DirectXLabel->setVisible( false );
ui.DirectXDevice->setVisible( false );
directx_options->hide();
#endif
updateAudioOptions( aout_value );
updateAudioOptions( audioOutput->currentIndex() );
CONFIG_GENERIC( "headphone-dolby" , Bool , NULL, headphoneEffect );
CONFIG_GENERIC( "headphone-dolby" , Bool , NULL, headphoneEffect );
// CONFIG_GENERIC( "" , Bool, NULL, ); activation of normalizer //FIXME
CONFIG_GENERIC_NO_BOOL( "norm-max-level" , Float , NULL,
CONFIG_GENERIC_NO_BOOL( "norm-max-level" , Float , NULL,
volNormalizer );
CONFIG_GENERIC( "audio-visual" , Module , NULL, visualisation);
CONFIG_GENERIC( "audio-visual" , Module , NULL, visualisation);
#if 0
if( control_Exists( VLC_OBJECT( p_intf ), "audioscrobbler" ) )
......@@ -255,6 +257,10 @@ SPrefsPanel::SPrefsPanel( intf_thread_t *_p_intf, QWidget *_parent,
lastfm_user_edit );
CONFIG_GENERIC( "lastfm-password", String, ui.lastfm_pass_label,
lastfm_pass_edit );
ui.lastfm_user_edit->hide();
ui.lastfm_user_label->hide();
ui.lastfm_pass_edit->hide();
ui.lastfm_pass_label->hide();
END_SPREFS_CAT;
/* Input and Codecs Panel Implementation */
......@@ -344,25 +350,21 @@ SPrefsPanel::SPrefsPanel( intf_thread_t *_p_intf, QWidget *_parent,
this->setLayout(panel_layout);
}
void SPrefsPanel::AudioDeviceChanged()
void SPrefsPanel::updateAudioOptions( int number)
{
ModuleConfigControl *module_config =
dynamic_cast<ModuleConfigControl*>( sender() );
updateAudioOptions( module_config->getValue() );
}
QString value = audioOutput->itemData( number ).toString();
msg_Dbg( p_intf, "I was here, waiting for funman, %s", qtu( value ) );
void SPrefsPanel::updateAudioOptions( QString value )
{
#ifndef WIN32
alsa_options->hide();
oss_options->hide();
alsa_options->hide();
#else
directx_options->hide();
#endif
file_options->hide();
if( value == "aout_file" )
file_options->show();
if( value == "aout_file" )
file_options->show();
#ifndef WIN32
else if( value == "alsa" )
alsa_options->show();
......
......@@ -26,7 +26,6 @@
#include <vlc/vlc.h>
#include <vlc_interface.h>
#include <QWidget>
enum {
......@@ -41,7 +40,7 @@ enum {
#define SPrefsDefaultCat SPrefsInterface
class ConfigControl;
class QComboBox;
class SPrefsCatList : public QWidget
{
Q_OBJECT;
......@@ -68,21 +67,16 @@ private:
intf_thread_t *p_intf;
QList<ConfigControl *> controls;
/* ConfigControl for audio output options */
#ifndef WIN32
ConfigControl *alsa_options;
ConfigControl *oss_options;
#else
ConfigControl *directx_options;
#endif
ConfigControl *file_options;
void updateAudioOptions( QString );
QWidget *alsa_options;
QWidget *oss_options;
QWidget *directx_options;
QWidget *file_options;
QComboBox *audioOutput;
/* Display only the options for the selected audio output */
private slots:
void AudioDeviceChanged();
void lastfm_Changed( int );
void updateAudioOptions( int );
};
#endif
......@@ -6,20 +6,14 @@
<rect>
<x>0</x>
<y>0</y>
<width>461</width>
<height>682</height>
<width>550</width>
<height>725</height>
</rect>
</property>
<property name="windowTitle" >
<string>Form</string>
</property>
<layout class="QVBoxLayout" >
<property name="margin" >
<number>9</number>
</property>
<property name="spacing" >
<number>10</number>
</property>
<item>
<widget class="QCheckBox" name="enableAudio" >
<property name="text" >
......@@ -36,10 +30,22 @@
<string>_("General Audio")</string>
</property>
<layout class="QGridLayout" >
<property name="margin" >
<property name="leftMargin" >
<number>9</number>
</property>
<property name="spacing" >
<property name="topMargin" >
<number>9</number>
</property>
<property name="rightMargin" >
<number>9</number>
</property>
<property name="bottomMargin" >
<number>9</number>
</property>
<property name="horizontalSpacing" >
<number>6</number>
</property>
<property name="verticalSpacing" >
<number>6</number>
</property>
<item row="2" column="0" >
......@@ -52,9 +58,7 @@
<item row="2" column="1" >
<widget class="QComboBox" name="detectionDolby" >
<property name="sizePolicy" >
<sizepolicy>
<hsizetype>3</hsizetype>
<vsizetype>0</vsizetype>
<sizepolicy vsizetype="Fixed" hsizetype="MinimumExpanding" >
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
......@@ -87,9 +91,7 @@
<item row="0" column="1" >
<widget class="QSlider" name="defaultVolume" >
<property name="sizePolicy" >
<sizepolicy>
<hsizetype>1</hsizetype>
<vsizetype>0</vsizetype>
<sizepolicy vsizetype="Fixed" hsizetype="Minimum" >
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
......@@ -124,74 +126,167 @@
<string>Output</string>
</property>
<layout class="QGridLayout" >
<property name="margin" >
<number>9</number>
</property>
<property name="spacing" >
<number>6</number>
</property>
<item row="4" column="1" >
<widget class="QLineEdit" name="FileName" />
</item>
<item row="4" column="2" >
<widget class="QPushButton" name="fileBrowseButton" >
<property name="text" >
<string>_("Browse...")</string>
</property>
</widget>
</item>
<item row="4" column="0" >
<widget class="QLabel" name="FileLabel" >
<item row="0" column="0" >
<widget class="QLabel" name="label_3" >
<property name="text" >
<string>_("File")</string>
<string>_("Type")</string>
</property>
</widget>
</item>
<item row="3" column="2" >
<widget class="QPushButton" name="OSSBrowse" >
<property name="text" >
<string>_("Browse...")</string>
<item row="0" column="1" >
<widget class="QComboBox" name="outputModule" >
<property name="sizePolicy" >
<sizepolicy vsizetype="Fixed" hsizetype="MinimumExpanding" >
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
</widget>
</item>
<item row="3" column="1" >
<widget class="QLineEdit" name="OSSDevice" />
</item>
<item row="3" column="0" >
<widget class="QLabel" name="OSSLabel" >
<property name="text" >
<string>_("Device")</string>
</property>
<item row="1" column="0" colspan="2" >
<widget class="QWidget" native="1" name="alsaControl" >
<layout class="QHBoxLayout" >
<property name="leftMargin" >
<number>0</number>
</property>
<property name="topMargin" >
<number>0</number>
</property>
<property name="rightMargin" >
<number>0</number>
</property>
<property name="bottomMargin" >
<number>0</number>
</property>
<item>
<widget class="QLabel" name="alsaLabel" >
<property name="text" >
<string>_("Device")</string>
</property>
</widget>
</item>
<item>
<widget class="QComboBox" name="alsaDevice" >
<property name="sizePolicy" >
<sizepolicy vsizetype="Fixed" hsizetype="MinimumExpanding" >
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
</widget>
</item>
</layout>
</widget>
</item>
<item row="2" column="0" >
<widget class="QLabel" name="DirectXLabel" >
<property name="text" >
<string>_("Device")</string>
</property>
<item row="2" column="0" colspan="2" >
<widget class="QWidget" native="1" name="DirectXControl" >
<layout class="QHBoxLayout" >
<property name="leftMargin" >
<number>0</number>
</property>
<property name="topMargin" >
<number>0</number>
</property>
<property name="rightMargin" >
<number>0</number>
</property>
<property name="bottomMargin" >
<number>0</number>
</property>
<item>
<widget class="QLabel" name="DirectXLabel" >
<property name="sizePolicy" >
<sizepolicy vsizetype="Preferred" hsizetype="Minimum" >
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="text" >
<string>_("Device")</string>
</property>
</widget>
</item>
<item>
<widget class="QComboBox" name="DirectXDevice" >
<property name="sizePolicy" >
<sizepolicy vsizetype="Fixed" hsizetype="MinimumExpanding" >
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
</widget>
</item>
</layout>
</widget>
</item>
<item row="2" column="1" colspan="2" >
<widget class="QComboBox" name="DirectXDevice" />
</item>
<item row="1" column="0" >
<widget class="QLabel" name="alsaLabel" >
<property name="text" >
<string>_("Device")</string>
</property>
<item row="3" column="0" colspan="2" >
<widget class="QWidget" native="1" name="OSSControl" >
<layout class="QHBoxLayout" >
<property name="leftMargin" >
<number>0</number>
</property>
<property name="topMargin" >
<number>0</number>
</property>
<property name="rightMargin" >
<number>0</number>
</property>
<property name="bottomMargin" >
<number>0</number>
</property>
<item>
<widget class="QLabel" name="OSSLabel" >
<property name="text" >
<string>_("Device")</string>
</property>
</widget>
</item>
<item>
<widget class="QLineEdit" name="OSSDevice" />
</item>
<item>
<widget class="QPushButton" name="OSSBrowse" >
<property name="text" >
<string>_("Browse...")</string>
</property>
</widget>
</item>
</layout>
</widget>
</item>
<item row="1" column="1" colspan="2" >
<widget class="QComboBox" name="alsaDevice" />
</item>
<item row="0" column="1" colspan="2" >
<widget class="QComboBox" name="outputModule" />
</item>
<item row="0" column="0" >
<widget class="QLabel" name="label_3" >
<property name="text" >
<string>_("Type")</string>
</property>
<item row="4" column="0" colspan="2" >
<widget class="QWidget" native="1" name="fileControl" >
<layout class="QHBoxLayout" >
<property name="leftMargin" >
<number>0</number>
</property>
<property name="topMargin" >
<number>0</number>
</property>
<property name="rightMargin" >
<number>0</number>
</property>
<property name="bottomMargin" >
<number>0</number>
</property>
<item>
<widget class="QLabel" name="fileLabel" >
<property name="text" >
<string>_("File")</string>
</property>
</widget>
</item>
<item>
<widget class="QLineEdit" name="fileName" />
</item>
<item>
<widget class="QPushButton" name="fileBrowseButton" >
<property name="text" >
<string>_("Browse...")</string>
</property>
</widget>
</item>
</layout>
</widget>
</item>
</layout>
......@@ -203,10 +298,22 @@
<string>_("Effects")</string>
</property>
<layout class="QGridLayout" >
<property name="margin" >
<property name="leftMargin" >
<number>9</number>
</property>
<property name="topMargin" >
<number>9</number>
</property>
<property name="rightMargin" >
<number>9</number>
</property>
<property name="spacing" >
<property name="bottomMargin" >
<number>9</number>
</property>
<property name="horizontalSpacing" >
<number>6</number>
</property>
<property name="verticalSpacing" >
<number>6</number>
</property>
<item row="2" column="1" >
......@@ -296,7 +403,6 @@
<tabstop>DirectXDevice</tabstop>
<tabstop>OSSDevice</tabstop>
<tabstop>OSSBrowse</tabstop>
<tabstop>FileName</tabstop>
<tabstop>fileBrowseButton</tabstop>
<tabstop>headphoneEffect</tabstop>
<tabstop>volumeNormalizer</tabstop>
......@@ -304,5 +410,70 @@
<tabstop>visualisation</tabstop>
</tabstops>
<resources/>
<connections/>
<connections>
<connection>
<sender>lastfm</sender>
<signal>toggled(bool)</signal>
<receiver>lastfm_pass_edit</receiver>
<slot>setVisible(bool)</slot>
<hints>
<hint type="sourcelabel" >
<x>188</x>
<y>619</y>
</hint>
<hint type="destinationlabel" >