add new "slim channel" skin, intended for large ensembles (#339)

This commit is contained in:
Volker Fischer 2020-06-11 16:42:50 +02:00
parent ea4a3134f8
commit cf7a01d231
11 changed files with 104 additions and 90 deletions

View file

@ -5,6 +5,7 @@
3.5.7git 3.5.7git
- add new "slim channel" skin, intended for large ensembles (#339)

View file

@ -54,8 +54,8 @@ CChannelFader::CChannelFader ( QWidget* pNW )
QVBoxLayout* pMainGrid = new QVBoxLayout ( pFrame ); QVBoxLayout* pMainGrid = new QVBoxLayout ( pFrame );
QHBoxLayout* pLevelsGrid = new QHBoxLayout ( pLevelsBox ); QHBoxLayout* pLevelsGrid = new QHBoxLayout ( pLevelsBox );
QVBoxLayout* pMuteSoloGrid = new QVBoxLayout ( pMuteSoloBox ); QVBoxLayout* pMuteSoloGrid = new QVBoxLayout ( pMuteSoloBox );
QHBoxLayout* pLabelGrid = new QHBoxLayout ( pLabelInstBox ); pLabelGrid = new QHBoxLayout ( pLabelInstBox );
QVBoxLayout* pLabelPictGrid = new QVBoxLayout ( ); pLabelPictGrid = new QVBoxLayout ( );
QVBoxLayout* pPanGrid = new QVBoxLayout ( ); QVBoxLayout* pPanGrid = new QVBoxLayout ( );
QHBoxLayout* pPanInfoGrid = new QHBoxLayout ( ); QHBoxLayout* pPanInfoGrid = new QHBoxLayout ( );
@ -64,7 +64,6 @@ CChannelFader::CChannelFader ( QWidget* pNW )
// setup slider // setup slider
pFader->setPageStep ( 1 ); pFader->setPageStep ( 1 );
pFader->setTickPosition ( QSlider::TicksBothSides );
pFader->setRange ( 0, AUD_MIX_FADER_MAX ); pFader->setRange ( 0, AUD_MIX_FADER_MAX );
pFader->setTickInterval ( AUD_MIX_FADER_MAX / 9 ); pFader->setTickInterval ( AUD_MIX_FADER_MAX / 9 );
pFader->setMinimumHeight ( 85 ); // if this value is too small, the fader might not be movable with the mouse for fancy skin (#292) pFader->setMinimumHeight ( 85 ); // if this value is too small, the fader might not be movable with the mouse for fancy skin (#292)
@ -72,7 +71,6 @@ CChannelFader::CChannelFader ( QWidget* pNW )
// setup panning control // setup panning control
pPan->setRange ( 0, AUD_MIX_PAN_MAX ); pPan->setRange ( 0, AUD_MIX_PAN_MAX );
pPan->setValue ( AUD_MIX_PAN_MAX / 2 ); pPan->setValue ( AUD_MIX_PAN_MAX / 2 );
pPan->setFixedSize ( 50, 50 );
pPan->setNotchesVisible ( true ); pPan->setNotchesVisible ( true );
pPanInfoGrid->addWidget ( pPanLabel, 0, Qt::AlignLeft ); pPanInfoGrid->addWidget ( pPanLabel, 0, Qt::AlignLeft );
pPanInfoGrid->addWidget ( pInfoLabel ); pPanInfoGrid->addWidget ( pInfoLabel );
@ -80,12 +78,9 @@ CChannelFader::CChannelFader ( QWidget* pNW )
pPanGrid->addWidget ( pPan, 0, Qt::AlignHCenter ); pPanGrid->addWidget ( pPan, 0, Qt::AlignHCenter );
// setup fader tag label (black bold text which is centered) // setup fader tag label (black bold text which is centered)
plblLabel->setTextFormat ( Qt::PlainText ); plblLabel->setTextFormat ( Qt::PlainText );
plblLabel->setAlignment ( Qt::AlignHCenter | Qt::AlignVCenter ); plblLabel->setAlignment ( Qt::AlignHCenter | Qt::AlignVCenter );
plblLabel->setMinimumHeight ( 40 ); // maximum hight of the instrument+flag pictures plblLabel->setStyleSheet ( "QLabel { color: black; font: bold; }" );
plblLabel->setStyleSheet (
"QLabel { color: black;"
" font: bold; }" );
// set margins of the layouts to zero to get maximum space for the controls // set margins of the layouts to zero to get maximum space for the controls
pMainGrid->setContentsMargins ( 0, 0, 0, 0 ); pMainGrid->setContentsMargins ( 0, 0, 0, 0 );
@ -106,7 +101,7 @@ CChannelFader::CChannelFader ( QWidget* pNW )
pLabelPictGrid->addWidget ( plblInstrument, 0, Qt::AlignHCenter ); pLabelPictGrid->addWidget ( plblInstrument, 0, Qt::AlignHCenter );
pLabelGrid->addLayout ( pLabelPictGrid ); pLabelGrid->addLayout ( pLabelPictGrid );
pLabelGrid->addWidget ( plblLabel, 0, Qt::AlignVCenter ); pLabelGrid->addWidget ( plblLabel, 0, Qt::AlignVCenter ); // note: just initial add, may be changed later
pLevelsGrid->addWidget ( plbrChannelLevel, 0, Qt::AlignRight ); pLevelsGrid->addWidget ( plbrChannelLevel, 0, Qt::AlignRight );
pLevelsGrid->addWidget ( pFader, 0, Qt::AlignLeft ); pLevelsGrid->addWidget ( pFader, 0, Qt::AlignLeft );
@ -188,7 +183,6 @@ void CChannelFader::SetGUIDesign ( const EGUIDesign eNewDesign )
switch ( eNewDesign ) switch ( eNewDesign )
{ {
case GD_ORIGINAL: case GD_ORIGINAL:
// fader
pFader->setStyleSheet ( pFader->setStyleSheet (
"QSlider { width: 45px;" "QSlider { width: 45px;"
" border-image: url(:/png/fader/res/faderbackground.png) repeat;" " border-image: url(:/png/fader/res/faderbackground.png) repeat;"
@ -202,15 +196,34 @@ void CChannelFader::SetGUIDesign ( const EGUIDesign eNewDesign )
" padding-bottom: -15px; }" " padding-bottom: -15px; }"
"QSlider::handle { image: url(:/png/fader/res/faderhandle.png); }" ); "QSlider::handle { image: url(:/png/fader/res/faderhandle.png); }" );
pLabelGrid->addWidget ( plblLabel, 0, Qt::AlignVCenter ); // label next to icons
pLabelInstBox->setMinimumHeight ( 52 ); // maximum hight of the instrument+flag pictures
pPan->setFixedSize ( 50, 50 );
pPanLabel->setText ( tr ( "PAN" ) ); pPanLabel->setText ( tr ( "PAN" ) );
pcbMute->setText ( tr ( "MUTE" ) ); pcbMute->setText ( tr ( "MUTE" ) );
pcbSolo->setText ( tr ( "SOLO" ) ); pcbSolo->setText ( tr ( "SOLO" ) );
plbrChannelLevel->SetLevelMeterType ( CMultiColorLEDBar::MT_LED ); plbrChannelLevel->SetLevelMeterType ( CMultiColorLEDBar::MT_LED );
break; break;
case GD_SLIMFADER:
pLabelPictGrid->addWidget ( plblLabel, 0, Qt::AlignHCenter ); // label below icons
pLabelInstBox->setMinimumHeight ( 80 ); // maximum hight of the instrument+flag+label
pPan->setFixedSize ( 28, 28 );
pFader->setTickPosition ( QSlider::NoTicks );
pFader->setStyleSheet ( "" );
pPanLabel->setText ( tr ( "Pan" ) );
pcbMute->setText ( tr ( "M" ) );
pcbSolo->setText ( tr ( "S" ) );
plbrChannelLevel->SetLevelMeterType ( CMultiColorLEDBar::MT_SLIM_BAR );
break;
default: default:
// reset style sheet and set original paramters // reset style sheet and set original paramters
pFader->setTickPosition ( QSlider::TicksBothSides );
pFader->setStyleSheet ( "" ); pFader->setStyleSheet ( "" );
pLabelGrid->addWidget ( plblLabel, 0, Qt::AlignVCenter ); // label next to icons
pLabelInstBox->setMinimumHeight ( 52 ); // maximum hight of the instrument+flag pictures
pPan->setFixedSize ( 50, 50 );
pPanLabel->setText ( tr ( "Pan" ) ); pPanLabel->setText ( tr ( "Pan" ) );
pcbMute->setText ( tr ( "Mute" ) ); pcbMute->setText ( tr ( "Mute" ) );
pcbSolo->setText ( tr ( "Solo" ) ); pcbSolo->setText ( tr ( "Solo" ) );
@ -241,9 +254,9 @@ void CChannelFader::SetupFaderTag ( const ESkillLevel eSkillLevel )
// setup group box for label/instrument picture: set a thick black border // setup group box for label/instrument picture: set a thick black border
// with nice round edges // with nice round edges
QString strStile = QString strStile =
"QGroupBox { border: 2px solid black;" "QGroupBox { border: 2px solid black;"
" border-radius: 4px;" " border-radius: 4px;"
" padding: 3px;"; " padding: 3px;";
// the background color depends on the skill level // the background color depends on the skill level
switch ( eSkillLevel ) switch ( eSkillLevel )
@ -356,13 +369,10 @@ void CChannelFader::SetRemoteFaderIsMute ( const bool bIsMute )
{ {
// show orange utf8 SPEAKER WITH CANCELLATION STROKE (U+1F507) // show orange utf8 SPEAKER WITH CANCELLATION STROKE (U+1F507)
pInfoLabel->setText ( "<font color=""orange"">&#128263;</font>" ); pInfoLabel->setText ( "<font color=""orange"">&#128263;</font>" );
//QPixmap CancelledSpeakerPixmap ( QString::fromUtf8 ( ":/png/main/res/speakerwithcancellationstroke.png" ) );
//pInfoLabel->setPixmap ( CancelledSpeakerPixmap.scaled ( 15, 15, Qt::KeepAspectRatio ) );
} }
else else
{ {
pInfoLabel->setText ( "" ); pInfoLabel->setText ( "" );
//pInfoLabel->setPixmap ( QPixmap() );
} }
} }

View file

@ -90,6 +90,8 @@ protected:
QDial* pPan; QDial* pPan;
QLabel* pPanLabel; QLabel* pPanLabel;
QLabel* pInfoLabel; QLabel* pInfoLabel;
QHBoxLayout* pLabelGrid;
QVBoxLayout* pLabelPictGrid;
QCheckBox* pcbMute; QCheckBox* pcbMute;
QCheckBox* pcbSolo; QCheckBox* pcbSolo;

View file

@ -215,9 +215,7 @@ public slots:
void OnConnectDlgAccepted(); void OnConnectDlgAccepted();
void OnDisconnected() { Disconnect(); } void OnDisconnected() { Disconnect(); }
void OnCentralServerAddressTypeChanged(); void OnCentralServerAddressTypeChanged();
void OnGUIDesignChanged() { SetGUIDesign ( pClient->GetGUIDesign() ); }
void OnGUIDesignChanged()
{ SetGUIDesign ( pClient->GetGUIDesign() ); }
void OnDisplayChannelLevelsChanged() void OnDisplayChannelLevelsChanged()
{ MainMixerBoard->SetDisplayChannelLevels ( pClient->GetDisplayChannelLevels() ); } { MainMixerBoard->SetDisplayChannelLevels ( pClient->GetDisplayChannelLevels() ); }

View file

@ -183,10 +183,10 @@ CClientSettingsDlg::CClientSettingsDlg ( CClient* pNCliP, QWidget* parent,
butDriverSetup->setToolTip ( strSndCrdBufDelayTT ); butDriverSetup->setToolTip ( strSndCrdBufDelayTT );
// fancy skin // fancy skin
chbGUIDesignFancy->setWhatsThis ( "<b>" + tr ( "Fancy Skin" ) + ":</b> " + tr ( cbxSkin->setWhatsThis ( "<b>" + tr ( "Skin" ) + ":</b> " + tr (
"If enabled, a fancy skin will be applied to the main window." ) ); "Select the skin to be used for the main window." ) );
chbGUIDesignFancy->setAccessibleName ( tr ( "Fancy skin check box" ) ); cbxSkin->setAccessibleName ( tr ( "Skin combo box" ) );
// display channel levels // display channel levels
chbDisplayChannelLevels->setWhatsThis ( "<b>" + tr ( "Display Channel Levels" ) + ":</b> " + chbDisplayChannelLevels->setWhatsThis ( "<b>" + tr ( "Display Channel Levels" ) + ":</b> " +
@ -312,33 +312,30 @@ CClientSettingsDlg::CClientSettingsDlg ( CClient* pNCliP, QWidget* parent,
// init sound card channel selection frame // init sound card channel selection frame
UpdateSoundChannelSelectionFrame(); UpdateSoundChannelSelectionFrame();
// fancy GUI design check box
if ( pClient->GetGUIDesign() == GD_STANDARD )
{
chbGUIDesignFancy->setCheckState ( Qt::Unchecked );
}
else
{
chbGUIDesignFancy->setCheckState ( Qt::Checked );
}
// Display Channel Levels check box // Display Channel Levels check box
chbDisplayChannelLevels->setCheckState ( pClient->GetDisplayChannelLevels() ? Qt::Checked : Qt::Unchecked ); chbDisplayChannelLevels->setCheckState ( pClient->GetDisplayChannelLevels() ? Qt::Checked : Qt::Unchecked );
// "Audio Channels" combo box // Audio Channels combo box
cbxAudioChannels->clear(); cbxAudioChannels->clear();
cbxAudioChannels->addItem ( tr ( "Mono" ) ); // CC_MONO cbxAudioChannels->addItem ( tr ( "Mono" ) ); // CC_MONO
cbxAudioChannels->addItem ( tr ( "Mono-in/Stereo-out" ) ); // CC_MONO_IN_STEREO_OUT cbxAudioChannels->addItem ( tr ( "Mono-in/Stereo-out" ) ); // CC_MONO_IN_STEREO_OUT
cbxAudioChannels->addItem ( tr ( "Stereo" ) ); // CC_STEREO cbxAudioChannels->addItem ( tr ( "Stereo" ) ); // CC_STEREO
cbxAudioChannels->setCurrentIndex ( static_cast<int> ( pClient->GetAudioChannels() ) ); cbxAudioChannels->setCurrentIndex ( static_cast<int> ( pClient->GetAudioChannels() ) );
// "Audio Quality" combo box // Audio Quality combo box
cbxAudioQuality->clear(); cbxAudioQuality->clear();
cbxAudioQuality->addItem ( tr ( "Low" ) ); // AQ_LOW cbxAudioQuality->addItem ( tr ( "Low" ) ); // AQ_LOW
cbxAudioQuality->addItem ( tr ( "Normal" ) ); // AQ_NORMAL cbxAudioQuality->addItem ( tr ( "Normal" ) ); // AQ_NORMAL
cbxAudioQuality->addItem ( tr ( "High" ) ); // AQ_HIGH cbxAudioQuality->addItem ( tr ( "High" ) ); // AQ_HIGH
cbxAudioQuality->setCurrentIndex ( static_cast<int> ( pClient->GetAudioQuality() ) ); cbxAudioQuality->setCurrentIndex ( static_cast<int> ( pClient->GetAudioQuality() ) );
// GUI design (skin) combo box
cbxSkin->clear();
cbxSkin->addItem ( tr ( "Normal" ) ); // GD_STANDARD
cbxSkin->addItem ( tr ( "Fancy" ) ); // GD_ORIGINAL
cbxSkin->addItem ( tr ( "Slim Channel" ) ); // GD_SLIMFADER
cbxSkin->setCurrentIndex ( static_cast<int> ( pClient->GetGUIDesign() ) );
// custom central server address // custom central server address
edtCentralServerAddress->setText ( pClient->GetServerListCentralServerAddress() ); edtCentralServerAddress->setText ( pClient->GetServerListCentralServerAddress() );
@ -380,9 +377,6 @@ CClientSettingsDlg::CClientSettingsDlg ( CClient* pNCliP, QWidget* parent,
this, &CClientSettingsDlg::OnNetBufServerValueChanged ); this, &CClientSettingsDlg::OnNetBufServerValueChanged );
// check boxes // check boxes
QObject::connect ( chbGUIDesignFancy, &QCheckBox::stateChanged,
this, &CClientSettingsDlg::OnGUIDesignFancyStateChanged );
QObject::connect ( chbDisplayChannelLevels, &QCheckBox::stateChanged, QObject::connect ( chbDisplayChannelLevels, &QCheckBox::stateChanged,
this, &CClientSettingsDlg::OnDisplayChannelLevelsStateChanged ); this, &CClientSettingsDlg::OnDisplayChannelLevelsStateChanged );
@ -421,6 +415,9 @@ CClientSettingsDlg::CClientSettingsDlg ( CClient* pNCliP, QWidget* parent,
QObject::connect ( cbxAudioQuality, static_cast<void (QComboBox::*) ( int )> ( &QComboBox::activated ), QObject::connect ( cbxAudioQuality, static_cast<void (QComboBox::*) ( int )> ( &QComboBox::activated ),
this, &CClientSettingsDlg::OnAudioQualityActivated ); this, &CClientSettingsDlg::OnAudioQualityActivated );
QObject::connect ( cbxSkin, static_cast<void (QComboBox::*) ( int )> ( &QComboBox::activated ),
this, &CClientSettingsDlg::OnGUIDesignActivated );
// buttons // buttons
QObject::connect ( butDriverSetup, &QPushButton::clicked, QObject::connect ( butDriverSetup, &QPushButton::clicked,
this, &CClientSettingsDlg::OnDriverSetupClicked ); this, &CClientSettingsDlg::OnDriverSetupClicked );
@ -639,6 +636,13 @@ void CClientSettingsDlg::OnAudioQualityActivated ( int iQualityIdx )
UpdateDisplay(); // upload rate will be changed UpdateDisplay(); // upload rate will be changed
} }
void CClientSettingsDlg::OnGUIDesignActivated ( int iDesignIdx )
{
pClient->SetGUIDesign ( static_cast<EGUIDesign> ( iDesignIdx ) );
emit GUIDesignChanged();
UpdateDisplay();
}
void CClientSettingsDlg::OnAutoJitBufStateChanged ( int value ) void CClientSettingsDlg::OnAutoJitBufStateChanged ( int value )
{ {
pClient->SetDoAutoSockBufSize ( value == Qt::Checked ); pClient->SetDoAutoSockBufSize ( value == Qt::Checked );
@ -651,20 +655,6 @@ void CClientSettingsDlg::OnEnableOPUS64StateChanged ( int value )
UpdateDisplay(); UpdateDisplay();
} }
void CClientSettingsDlg::OnGUIDesignFancyStateChanged ( int value )
{
if ( value == Qt::Unchecked )
{
pClient->SetGUIDesign ( GD_STANDARD );
}
else
{
pClient->SetGUIDesign ( GD_ORIGINAL );
}
emit GUIDesignChanged();
UpdateDisplay();
}
void CClientSettingsDlg::OnDisplayChannelLevelsStateChanged ( int value ) void CClientSettingsDlg::OnDisplayChannelLevelsStateChanged ( int value )
{ {
pClient->SetDisplayChannelLevels ( value != Qt::Unchecked ); pClient->SetDisplayChannelLevels ( value != Qt::Unchecked );

View file

@ -87,7 +87,6 @@ protected:
void OnNetBufValueChanged ( int value ); void OnNetBufValueChanged ( int value );
void OnNetBufServerValueChanged ( int value ); void OnNetBufServerValueChanged ( int value );
void OnAutoJitBufStateChanged ( int value ); void OnAutoJitBufStateChanged ( int value );
void OnGUIDesignFancyStateChanged ( int value );
void OnDisplayChannelLevelsStateChanged ( int value ); void OnDisplayChannelLevelsStateChanged ( int value );
void OnEnableOPUS64StateChanged ( int value ); void OnEnableOPUS64StateChanged ( int value );
void OnCentralServerAddressEditingFinished(); void OnCentralServerAddressEditingFinished();
@ -100,6 +99,7 @@ protected:
void OnROutChanActivated ( int iChanIdx ); void OnROutChanActivated ( int iChanIdx );
void OnAudioChannelsActivated ( int iChanIdx ); void OnAudioChannelsActivated ( int iChanIdx );
void OnAudioQualityActivated ( int iQualityIdx ); void OnAudioQualityActivated ( int iQualityIdx );
void OnGUIDesignActivated ( int iDesignIdx );
void OnDriverSetupClicked(); void OnDriverSetupClicked();
signals: signals:

View file

@ -508,6 +508,13 @@
</property> </property>
</widget> </widget>
</item> </item>
<item>
<widget class="QLabel" name="lblSkin">
<property name="text">
<string>Skin</string>
</property>
</widget>
</item>
</layout> </layout>
</item> </item>
<item> <item>
@ -532,27 +539,19 @@
</item> </item>
</layout> </layout>
</item> </item>
<item>
<widget class="QComboBox" name="cbxSkin"/>
</item>
</layout> </layout>
</item> </item>
</layout> </layout>
</item> </item>
<item> <item>
<layout class="QHBoxLayout"> <widget class="QCheckBox" name="chbDisplayChannelLevels">
<item> <property name="text">
<widget class="QCheckBox" name="chbGUIDesignFancy"> <string>Display Channel Levels</string>
<property name="text"> </property>
<string>Fancy Skin</string> </widget>
</property>
</widget>
</item>
<item>
<widget class="QCheckBox" name="chbDisplayChannelLevels">
<property name="text">
<string>Display Channel Levels</string>
</property>
</widget>
</item>
</layout>
</item> </item>
<item> <item>
<widget class="QLabel" name="lblCentralServerAddress"> <widget class="QLabel" name="lblCentralServerAddress">
@ -726,7 +725,7 @@
<tabstop>cbxAudioChannels</tabstop> <tabstop>cbxAudioChannels</tabstop>
<tabstop>cbxAudioQuality</tabstop> <tabstop>cbxAudioQuality</tabstop>
<tabstop>edtNewClientLevel</tabstop> <tabstop>edtNewClientLevel</tabstop>
<tabstop>chbGUIDesignFancy</tabstop> <tabstop>cbxSkin</tabstop>
<tabstop>chbDisplayChannelLevels</tabstop> <tabstop>chbDisplayChannelLevels</tabstop>
<tabstop>edtCentralServerAddress</tabstop> <tabstop>edtCentralServerAddress</tabstop>
</tabstops> </tabstops>

View file

@ -62,11 +62,6 @@ CMultiColorLEDBar::CMultiColorLEDBar ( QWidget* parent, Qt::WindowFlags f ) :
pProgressBar->setOrientation ( Qt::Vertical ); pProgressBar->setOrientation ( Qt::Vertical );
pProgressBar->setRange ( 0, 100 * NUM_STEPS_LED_BAR ); pProgressBar->setRange ( 0, 100 * NUM_STEPS_LED_BAR );
pProgressBar->setFormat ( "" ); // suppress percent numbers pProgressBar->setFormat ( "" ); // suppress percent numbers
pProgressBar->setStyleSheet (
"QProgressBar { margin: 1px;"
" padding: 1px; "
" width: 15px; }"
"QProgressBar::chunk { background: green; }" );
// setup stacked layout for meter type switching mechanism // setup stacked layout for meter type switching mechanism
pStackedLayout = new QStackedLayout ( this ); pStackedLayout = new QStackedLayout ( this );
@ -76,7 +71,7 @@ CMultiColorLEDBar::CMultiColorLEDBar ( QWidget* parent, Qt::WindowFlags f ) :
// according to QScrollArea description: "When using a scroll area to display the // according to QScrollArea description: "When using a scroll area to display the
// contents of a custom widget, it is important to ensure that the size hint of // contents of a custom widget, it is important to ensure that the size hint of
// the child widget is set to a suitable value." // the child widget is set to a suitable value."
pProgressBar->setMinimumSize ( QSize ( 19, 1 ) ); // 15px + 2 * 1px + 2 * 1px = 19px pProgressBar->setMinimumSize ( QSize ( 1, 1 ) );
pLEDMeter->setMinimumSize ( QSize ( 1, 1 ) ); pLEDMeter->setMinimumSize ( QSize ( 1, 1 ) );
// update the meter type (using the default value of the meter type) // update the meter type (using the default value of the meter type)
@ -131,6 +126,27 @@ void CMultiColorLEDBar::SetLevelMeterType ( const ELevelMeterType eNType )
case MT_BAR: case MT_BAR:
pStackedLayout->setCurrentIndex ( 1 ); pStackedLayout->setCurrentIndex ( 1 );
pProgressBar->setStyleSheet (
"QProgressBar { margin: 1px;"
" padding: 1px; "
" width: 15px; }"
"QProgressBar::chunk { background: green; }" );
break;
case MT_SLIM_BAR:
// set all LEDs to disabled, otherwise we would not get our desired small width
for ( int iLEDIdx = 0; iLEDIdx < NUM_STEPS_LED_BAR; iLEDIdx++ )
{
vecpLEDs[iLEDIdx]->setColor ( cLED::RL_DISABLED );
}
pStackedLayout->setCurrentIndex ( 1 );
pProgressBar->setStyleSheet (
"QProgressBar { border: 0px;"
" margin: 0px;"
" padding: 0px; "
" width: 4px; }"
"QProgressBar::chunk { background: green; }" );
break; break;
} }
} }
@ -177,6 +193,7 @@ void CMultiColorLEDBar::setValue ( const double dValue )
break; break;
case MT_BAR: case MT_BAR:
case MT_SLIM_BAR:
pProgressBar->setValue ( 100 * dValue ); pProgressBar->setValue ( 100 * dValue );
break; break;
} }
@ -184,18 +201,14 @@ void CMultiColorLEDBar::setValue ( const double dValue )
} }
CMultiColorLEDBar::cLED::cLED ( QWidget* parent ) : CMultiColorLEDBar::cLED::cLED ( QWidget* parent ) :
BitmCubeRoundDisabled ( QString::fromUtf8 ( ":/png/LEDs/res/CLEDDisabledSmall.png" ) ), BitmCubeRoundBlack ( QString::fromUtf8 ( ":/png/LEDs/res/HLEDBlackSmall.png" ) ),
BitmCubeRoundBlack ( QString::fromUtf8 ( ":/png/LEDs/res/HLEDBlackSmall.png" ) ), BitmCubeRoundGreen ( QString::fromUtf8 ( ":/png/LEDs/res/HLEDGreenSmall.png" ) ),
BitmCubeRoundGreen ( QString::fromUtf8 ( ":/png/LEDs/res/HLEDGreenSmall.png" ) ), BitmCubeRoundYellow ( QString::fromUtf8 ( ":/png/LEDs/res/HLEDYellowSmall.png" ) ),
BitmCubeRoundYellow ( QString::fromUtf8 ( ":/png/LEDs/res/HLEDYellowSmall.png" ) ), BitmCubeRoundRed ( QString::fromUtf8 ( ":/png/LEDs/res/HLEDRedSmall.png" ) )
BitmCubeRoundRed ( QString::fromUtf8 ( ":/png/LEDs/res/HLEDRedSmall.png" ) )
{ {
// create LED label // create LED label
pLEDLabel = new QLabel ( "", parent ); pLEDLabel = new QLabel ( "", parent );
// bitmap defines minimum size of the label
pLEDLabel->setMinimumSize ( BitmCubeRoundBlack.width(), BitmCubeRoundBlack.height() );
// set initial bitmap // set initial bitmap
pLEDLabel->setPixmap ( BitmCubeRoundBlack ); pLEDLabel->setPixmap ( BitmCubeRoundBlack );
eCurLightColor = RL_BLACK; eCurLightColor = RL_BLACK;
@ -209,7 +222,7 @@ void CMultiColorLEDBar::cLED::setColor ( const ELightColor eNewColor )
switch ( eNewColor ) switch ( eNewColor )
{ {
case RL_DISABLED: case RL_DISABLED:
pLEDLabel->setPixmap ( BitmCubeRoundDisabled ); pLEDLabel->setPixmap ( QPixmap() );
break; break;
case RL_BLACK: case RL_BLACK:

View file

@ -50,7 +50,8 @@ public:
enum ELevelMeterType enum ELevelMeterType
{ {
MT_LED, MT_LED,
MT_BAR MT_BAR,
MT_SLIM_BAR
}; };
CMultiColorLEDBar ( QWidget* parent = nullptr, Qt::WindowFlags f = nullptr ); CMultiColorLEDBar ( QWidget* parent = nullptr, Qt::WindowFlags f = nullptr );
@ -77,7 +78,6 @@ protected:
QLabel* getLabelPointer() { return pLEDLabel; } QLabel* getLabelPointer() { return pLEDLabel; }
protected: protected:
QPixmap BitmCubeRoundDisabled;
QPixmap BitmCubeRoundBlack; QPixmap BitmCubeRoundBlack;
QPixmap BitmCubeRoundGreen; QPixmap BitmCubeRoundGreen;
QPixmap BitmCubeRoundYellow; QPixmap BitmCubeRoundYellow;

View file

@ -269,7 +269,7 @@ void CSettings::Load()
// GUI design // GUI design
if ( GetNumericIniSet ( IniXMLDocument, "client", "guidesign", if ( GetNumericIniSet ( IniXMLDocument, "client", "guidesign",
0, 1 /* GD_ORIGINAL */, iValue ) ) 0, 2 /* GD_SLIMFADER */, iValue ) )
{ {
pClient->SetGUIDesign ( static_cast<EGUIDesign> ( iValue ) ); pClient->SetGUIDesign ( static_cast<EGUIDesign> ( iValue ) );
} }

View file

@ -549,7 +549,8 @@ enum EGUIDesign
{ {
// used for settings -> enum values should be fixed // used for settings -> enum values should be fixed
GD_STANDARD = 0, GD_STANDARD = 0,
GD_ORIGINAL = 1 GD_ORIGINAL = 1,
GD_SLIMFADER = 2
}; };