From e02947ba976e5d5212dcf9427fd0c05246dde5d9 Mon Sep 17 00:00:00 2001 From: Volker Fischer Date: Sat, 31 Jan 2015 08:58:19 +0000 Subject: [PATCH] set fader tag background color depending on the skill level --- src/audiomixerboard.cpp | 47 +++++++++++++++++++++++++++++++++-------- src/audiomixerboard.h | 2 ++ 2 files changed, 40 insertions(+), 9 deletions(-) diff --git a/src/audiomixerboard.cpp b/src/audiomixerboard.cpp index 9b748cae..1a530fcc 100755 --- a/src/audiomixerboard.cpp +++ b/src/audiomixerboard.cpp @@ -39,7 +39,7 @@ CChannelFader::CChannelFader ( QWidget* pNW, pFader = new QSlider ( Qt::Vertical, pFrame ); pcbMute = new QCheckBox ( "Mute", pFrame ); pcbSolo = new QCheckBox ( "Solo", pFrame ); - QGroupBox* pLabelInstBox = new QGroupBox ( pFrame ); + pLabelInstBox = new QGroupBox ( pFrame ); plblLabel = new QLabel ( "", pFrame ); plblInstrument = new QLabel ( pFrame ); plblCountryFlag = new QLabel ( pFrame ); @@ -52,14 +52,6 @@ CChannelFader::CChannelFader ( QWidget* pNW, pFader->setRange ( 0, AUD_MIX_FADER_MAX ); pFader->setTickInterval ( AUD_MIX_FADER_MAX / 9 ); - // setup group box for label/instrument picture (use white background of - // label and set a thick black border with nice round edges) - pLabelInstBox->setStyleSheet ( - "QGroupBox { border: 2px solid black;" - " border-radius: 4px;" - " padding: 3px;" - " background-color: white; }" ); - // setup fader tag label (black bold text which is centered) plblLabel->setTextFormat ( Qt::PlainText ); plblLabel->setAlignment ( Qt::AlignHCenter | Qt::AlignVCenter ); @@ -166,6 +158,38 @@ void CChannelFader::SetGUIDesign ( const EGUIDesign eNewDesign ) } } +void CChannelFader::SetupFaderTag ( const ESkillLevel eSkillLevel ) +{ + // setup group box for label/instrument picture: set a thick black border + // with nice round edges + QString strStile = + "QGroupBox { border: 2px solid black;" + " border-radius: 4px;" + " padding: 3px;"; + + // the background color depends on the skill level + switch ( eSkillLevel ) + { + case SL_BEGINNER: + strStile += "background-color: rgb(225, 225, 255); }"; + break; + + case SL_INTERMEDIATE: + strStile += "background-color: rgb(225, 255, 225); }"; + break; + + case SL_PROFESSIONAL: + strStile += "background-color: rgb(255, 225, 225); }"; + break; + + default: + strStile += "background-color: white; }"; + break; + } + + pLabelInstBox->setStyleSheet ( strStile ); +} + void CChannelFader::Reset() { // init gain value -> maximum value as definition according to server @@ -183,6 +207,7 @@ void CChannelFader::Reset() plblCountryFlag->setVisible ( false ); plblCountryFlag->setToolTip ( "" ); strReceivedName = ""; + SetupFaderTag ( SL_NOT_SET ); // set a defined tool tip time out const int iToolTipDurMs = 30000; @@ -339,6 +364,10 @@ void CChannelFader::SetChannelInfos ( const CChannelInfo& cChanInfo ) } + // Skill level background color -------------------------------------------- + SetupFaderTag ( cChanInfo.eSkillLevel ); + + // Tool tip ---------------------------------------------------------------- // complete musician profile in the tool tip QString strToolTip = ""; diff --git a/src/audiomixerboard.h b/src/audiomixerboard.h index 241ed01b..a664ab07 100755 --- a/src/audiomixerboard.h +++ b/src/audiomixerboard.h @@ -66,8 +66,10 @@ protected: void SetMute ( const bool bState ); QString GenFaderText ( const CChannelInfo& ChanInfo ); void SendFaderLevelToServer ( const int iLevel ); + void SetupFaderTag ( const ESkillLevel eSkillLevel ); QFrame* pFrame; + QGroupBox* pLabelInstBox; QSlider* pFader; QCheckBox* pcbMute; QCheckBox* pcbSolo;