diff --git a/src/audiomixerboard.cpp b/src/audiomixerboard.cpp index 82967aba..350de14b 100755 --- a/src/audiomixerboard.cpp +++ b/src/audiomixerboard.cpp @@ -55,6 +55,7 @@ CChannelFader::CChannelFader ( QWidget* pNW, " border-radius: 4px;" " padding: 4px;" " background-color: white;" + " color: black;" " font: bold; }" ); // add user controls to grid @@ -151,6 +152,13 @@ void CChannelFader::SetGUIDesign ( const EGUIDesign eNewDesign ) pFader->setStyleSheet ( "" ); pcbMute->setStyleSheet ( "" ); pcbSolo->setStyleSheet ( "" ); + +/* +// TEST + pFader->setStyleSheet ( + "QSlider::handle { image: url(:/png/fader/res/faderhandle.png); }" ); +*/ + pcbMute->setText ( "Mute" ); pcbSolo->setText ( "Solo" ); break; @@ -331,6 +339,7 @@ void CAudioMixerBoard::SetGUIDesign ( const EGUIDesign eNewDesign ) switch ( eNewDesign ) { case GD_ORIGINAL: +/* // group box setStyleSheet ( "QGroupBox { border-image: url(:/png/fader/res/mixerboardbackground.png) 34px 30px 40px 40px;" @@ -345,6 +354,7 @@ void CAudioMixerBoard::SetGUIDesign ( const EGUIDesign eNewDesign ) " background-color: transparent;" " color: rgb(148, 148, 148); }" ); layout()->setMargin ( 3 ); +*/ break; default: diff --git a/src/client.cpp b/src/client.cpp index c4623270..8103c477 100755 --- a/src/client.cpp +++ b/src/client.cpp @@ -36,7 +36,7 @@ CClient::CClient ( const quint16 iPortNumber ) : vstrIPAddress ( MAX_NUM_SERVER_ADDR_ITEMS, "" ), strName ( "" ), bOpenChatOnNewMessage ( true ), - eGUIDesign ( GD_STANDARD ), + eGUIDesign ( GD_ORIGINAL ), bDoAutoSockBufSize ( true ), #if defined ( __APPLE__ ) || defined ( __MACOSX ) // we assume on Mac always the preferred frame size works fine diff --git a/src/clientsettingsdlg.cpp b/src/clientsettingsdlg.cpp index 95cf21bc..5ba73479 100755 --- a/src/clientsettingsdlg.cpp +++ b/src/clientsettingsdlg.cpp @@ -279,12 +279,6 @@ CClientSettingsDlg::CClientSettingsDlg ( CClient* pNCliP, QWidget* parent, cbGUIDesignFancy->setCheckState ( Qt::Checked ); } - -// TODO we disable the fancy GUI switch because the new design -// is not yet finished -cbGUIDesignFancy->setVisible ( false ); - - // "High Quality Audio" check box if ( pClient->GetCELTHighQuality() ) { diff --git a/src/global.h b/src/global.h index 2ceafdee..6c502677 100755 --- a/src/global.h +++ b/src/global.h @@ -113,10 +113,9 @@ #define MAX_NUM_SERVER_ADDR_ITEMS 6 // defines for LED input level meter -#define NUM_STEPS_INP_LEV_METER 10 -#define YELLOW_BOUND_INP_LEV_METER 7 -#define RED_BOUND_INP_LEV_METER 9 - +#define NUM_STEPS_INP_LEV_METER 8 +#define RED_BOUND_INP_LEV_METER 7 +#define YELLOW_BOUND_INP_LEV_METER 5 // maximum number of internet connections (channels) // if you want to change this paramter, there has to be done code modifications @@ -129,7 +128,6 @@ // without any other changes in the code #define USED_NUM_CHANNELS 6 // used number channels for server - // length of the moving average buffer for response time measurement #define TIME_MOV_AV_RESPONSE 30 // seconds diff --git a/src/llconclientdlg.cpp b/src/llconclientdlg.cpp index 327e01e9..6ed3bb43 100755 --- a/src/llconclientdlg.cpp +++ b/src/llconclientdlg.cpp @@ -34,7 +34,6 @@ CLlconClientDlg::CLlconClientDlg ( CClient* pNCliP, pClient ( pNCliP ), QDialog ( parent, f ), bUnreadChatMessage ( false ), - iErrorStatusCounter ( 0 ), ClientSettingsDlg ( pNCliP, parent #ifdef _WIN32 // this somehow only works reliable on Windows @@ -74,10 +73,6 @@ CLlconClientDlg::CLlconClientDlg ( CClient* pNCliP, QString strInpLevHAccText = tr ( "Input level meter" ); QString strInpLevHAccDescr = tr ( "Simulates an analog LED level meter." ); - TextLabelInputLevelL->setWhatsThis ( strInpLevH ); - TextLabelInputLevelL->setToolTip ( strInpLevHTT ); - TextLabelInputLevelR->setWhatsThis ( strInpLevH ); - TextLabelInputLevelR->setToolTip ( strInpLevHTT ); MultiColorLEDBarInputLevelL->setWhatsThis ( strInpLevH ); MultiColorLEDBarInputLevelL->setAccessibleName ( strInpLevHAccText ); MultiColorLEDBarInputLevelL->setAccessibleDescription ( strInpLevHAccDescr ); @@ -102,11 +97,11 @@ CLlconClientDlg::CLlconClientDlg ( CClient* pNCliP, "and disconnecting the llcon software." ) ); // status bar - TextLabelStatus->setWhatsThis ( tr ( "Status Bar: In the status bar " - "different messages are displayed. E.g., if an error occurred or the " - "status of the connection is shown." ) ); +// TextLabelStatus->setWhatsThis ( tr ( "Status Bar: In the status bar " +// "different messages are displayed. E.g., if an error occurred or the " +// "status of the connection is shown." ) ); - TextLabelStatus->setAccessibleName ( tr ( "Status bar" ) ); +// TextLabelStatus->setAccessibleName ( tr ( "Status bar" ) ); // server address QString strServAddrH = tr ( "Server Address: The IP address or URL " @@ -185,9 +180,9 @@ CLlconClientDlg::CLlconClientDlg ( CClient* pNCliP, RadioButtonRevSelR->setWhatsThis ( strRevChanSel ); RadioButtonRevSelR->setAccessibleName ( tr ( "Right channel selection for reverberation" ) ); - // overall status - LEDOverallStatus->setWhatsThis ( tr ( "Overall Status: " - "The light next to the status bar shows the current audio/streaming " + // buffers LED + LEDBuffers->setWhatsThis ( tr ( "Buffers Status LED: " + "The buffers status LED indicator shows the current audio/streaming " "status. If the light is green, there are no buffer overruns/underruns " "and the audio stream is not interrupted. If the light is red, the " "audio stream is interrupted caused by one of the following problems:" @@ -201,7 +196,7 @@ CLlconClientDlg::CLlconClientDlg ( CClient* pNCliP, "
  • The CPU of the client or server is at 100%.
  • " "" ) ); - LEDOverallStatus->setAccessibleName ( tr ( "Overall status LED indicator" ) ); + LEDBuffers->setAccessibleName ( tr ( "Buffers status LED indicator" ) ); // init GUI design @@ -239,6 +234,12 @@ CLlconClientDlg::CLlconClientDlg ( CClient* pNCliP, MultiColorLEDBarInputLevelL->setValue ( 0 ); MultiColorLEDBarInputLevelR->setValue ( 0 ); + // init status LEDs + LEDConnection->SetUpdateTime ( 2 * LED_BAR_UPDATE_TIME ); + LEDChat->SetUpdateTime ( 2 * LED_BAR_UPDATE_TIME ); + LEDDelay->SetUpdateTime ( 2 * PING_UPDATE_TIME ); + LEDDelay->Reset(); + // init slider controls --- // audio in fader @@ -272,7 +273,10 @@ CLlconClientDlg::CLlconClientDlg ( CClient* pNCliP, { MultiColorLEDBarInputLevelL->setEnabled ( false ); MultiColorLEDBarInputLevelR->setEnabled ( false ); - LEDOverallStatus->setEnabled ( false ); + LEDConnection->setEnabled ( false ); + LEDBuffers->setEnabled ( false ); + LEDDelay->setEnabled ( false ); + LEDChat->setEnabled ( false ); PushButtonConnect->setFocus(); } @@ -389,11 +393,8 @@ CLlconClientDlg::CLlconClientDlg ( CClient* pNCliP, // Timers ------------------------------------------------------------------ - // set error status timer to a single shot timer - TimerErrorStatus.setSingleShot ( true ); - // start timer for status bar - TimerStatus.start ( STATUSBAR_UPDATE_TIME ); + TimerStatus.start ( LED_BAR_UPDATE_TIME ); } void CLlconClientDlg::closeEvent ( QCloseEvent* Event ) @@ -553,6 +554,8 @@ void CLlconClientDlg::OnDisconnected() { // channel is now disconnected, clear mixer board (remove all faders) MainMixerBoard->HideAll(); + + UpdateDisplay(); } void CLlconClientDlg::OnConClientListMesReceived ( CVector vecChanInfo ) @@ -672,33 +675,16 @@ void CLlconClientDlg::OnPingTimeResult ( int iPingTime ) if ( iOverallDelayMs <= 40 ) { iOverallDelayLEDColor = MUL_COL_LED_GREEN; - - // reset ping error counter - iErrorStatusCounter = 0; } else { if ( iOverallDelayMs <= 65 ) { iOverallDelayLEDColor = MUL_COL_LED_YELLOW; - - // reset ping error counter - iErrorStatusCounter = 0; } else { iOverallDelayLEDColor = MUL_COL_LED_RED; - - iErrorStatusCounter++; - if ( iErrorStatusCounter >= NUM_HIGH_PINGS_UNTIL_ERROR ) - { - // delay too long, show error status in main window - TimerErrorStatus.start ( ERROR_STATUS_DISPLAY_TIME ); - - // avoid integer overrun of error state but keep - // error state valid - iErrorStatusCounter = NUM_HIGH_PINGS_UNTIL_ERROR; - } } } @@ -711,6 +697,9 @@ void CLlconClientDlg::OnPingTimeResult ( int iPingTime ) iOverallDelayMs, iOverallDelayLEDColor ); } + + // update delay LED on the main window + LEDDelay->SetLight ( iOverallDelayLEDColor ); } void CLlconClientDlg::ConnectDisconnect ( const bool bDoStart ) @@ -742,10 +731,6 @@ void CLlconClientDlg::ConnectDisconnect ( const bool bDoStart ) { PushButtonConnect->setText ( CON_BUT_DISCONNECTTEXT ); - // reset ping error counter and timer - iErrorStatusCounter = 0; - TimerErrorStatus.stop(); - // start timer for level meter bar and ping time measurement TimerSigMet.start ( LEVELMETER_UPDATE_TIME ); TimerPing.start ( PING_UPDATE_TIME ); @@ -753,12 +738,8 @@ void CLlconClientDlg::ConnectDisconnect ( const bool bDoStart ) } else { - // Restart timer to ensure that the text is visible at - // least the time for one complete interval - TimerStatus.start ( STATUSBAR_UPDATE_TIME ); - - // show the error in the status bar - TextLabelStatus->setText ( tr ( "Invalid address" ) ); + // show the error as red light + LEDConnection->SetLight ( MUL_COL_LED_RED ); } } else @@ -782,8 +763,18 @@ void CLlconClientDlg::ConnectDisconnect ( const bool bDoStart ) // stop ping time measurement timer TimerPing.stop(); - // immediately update status bar - OnTimerStatus(); + +// TODO is this still required??? +// immediately update status bar +OnTimerStatus(); + +// TODO this seems not to work, LEDs are still updated afterwards... +// reset LEDs +LEDConnection->Reset(); +LEDBuffers->Reset(); +LEDDelay->Reset(); +LEDChat->Reset(); + // clear mixer board (remove all faders) MainMixerBoard->HideAll(); @@ -792,36 +783,30 @@ void CLlconClientDlg::ConnectDisconnect ( const bool bDoStart ) void CLlconClientDlg::UpdateDisplay() { - // show connection status in status bar - if ( pClient->IsConnected() && pClient->IsRunning() ) + // update status LEDs + if ( pClient->IsRunning() ) { - QString strStatus; - if ( TimerErrorStatus.isActive() ) + if ( pClient->IsConnected() ) { - // right now we only have one error case: delay too high - strStatus = tr ( "Audio delay too large" ); + // chat LED + if ( bUnreadChatMessage ) + { + LEDChat->SetLight ( MUL_COL_LED_GREEN ); + } + else + { + LEDChat->Reset(); + } + + // connection LED + LEDConnection->SetLight ( MUL_COL_LED_GREEN ); } else { - strStatus = tr ( "Connected" ); + // connection LED + LEDConnection->SetLight ( MUL_COL_LED_RED ); } - - if ( bUnreadChatMessage ) - { - strStatus += ", New chat"; - } - - TextLabelStatus->setText ( strStatus ); } - else - { - TextLabelStatus->setText ( tr ( "Disconnected" ) ); - } - -// TEST -//TextLabelStatus->setText ( QString( "Time: %1, Netw: %2" ).arg ( pClient->GetTimingStdDev() ).arg ( pClient->GetChannel()->GetTimingStdDev() ) ); -//TextLabelStatus->setText ( QString( "Buf. Err. Rate: %1 %" ).arg ( pClient->GetChannel()->GetJitterBufferErrorRate() * 100.0 ) ); - } void CLlconClientDlg::SetGUIDesign ( const EGUIDesign eNewDesign ) @@ -830,6 +815,21 @@ void CLlconClientDlg::SetGUIDesign ( const EGUIDesign eNewDesign ) switch ( eNewDesign ) { case GD_ORIGINAL: + backgroundFrame->setStyleSheet ( + "QFrame#backgroundFrame { border-image: url(:/png/fader/res/mixerboardbackground.png) 34px 30px 40px 40px;" + " border-top: 34px transparent;" + " border-bottom: 40px transparent;" + " border-left: 30px transparent;" + " border-right: 40px transparent;" + " padding: -5px;" + " margin: -5px, -5px, 0px, 0px; }" + "QLabel { color: rgb(148, 148, 148);" + " font: bold; }" + "QRadioButton { color: rgb(148, 148, 148);" + " font: bold; }" + "QGroupBox::title { color: rgb(148, 148, 148); }" ); + +/* // group box groupBoxLocal->setStyleSheet ( "QGroupBox { border-image: url(:/png/fader/res/mixerboardbackground.png) 34px 30px 40px 40px;" @@ -844,7 +844,8 @@ void CLlconClientDlg::SetGUIDesign ( const EGUIDesign eNewDesign ) " background-color: transparent;" " color: rgb(148, 148, 148); }" ); groupBoxLocal->layout()->setMargin ( 3 ); - +*/ +/* // audio fader SliderAudInFader->setStyleSheet ( "QSlider { background-image: url(:/png/fader/res/faderbackground.png);" @@ -875,19 +876,45 @@ void CLlconClientDlg::SetGUIDesign ( const EGUIDesign eNewDesign ) TextLabelAudReverb->setStyleSheet ( "QLabel { color: rgb(148, 148, 148);" " font: bold; }" ); +*/ break; default: // reset style sheet and set original paramters - groupBoxLocal->setStyleSheet ( "" ); - groupBoxLocal->layout()->setMargin ( 9 ); - SliderAudInFader->setStyleSheet ( "" ); - SliderAudReverb->setStyleSheet ( "" ); - RadioButtonRevSelL->setStyleSheet ( "" ); - RadioButtonRevSelR->setStyleSheet ( "" ); - TextLabelAudReverb->setStyleSheet ( "" ); - TextLabelAudFader->setStyleSheet ( "" ); - TextAudInFader->setStyleSheet ( "" ); + +/* +backgroundFrame->setStyleSheet ( "QFrame#backgroundFrame { border-image: url(:/png/fader/res/mixerboardbackground.png) 34px 30px 40px 40px;" + " border-top: 34px transparent;" + " border-bottom: 40px transparent;" + " border-left: 30px transparent;" + " border-right: 40px transparent;" + " padding: -5px;" + " margin: -5px, -5px, 0px, 0px; }" + "QLabel { color: rgb(148, 148, 148);" + " font: bold; }" + "QRadioButton {color: rgb(148, 148, 148);" + " font: bold; }"); +*/ +// groupBoxLocal->setStyleSheet ( "" ); +// groupBoxLocal->layout()->setMargin ( 9 ); + + + backgroundFrame->setStyleSheet ( "" ); + SliderAudInFader->setStyleSheet ( "" ); + SliderAudReverb->setStyleSheet ( "" ); + RadioButtonRevSelL->setStyleSheet ( "" ); + RadioButtonRevSelR->setStyleSheet ( "" ); + TextLabelAudReverb->setStyleSheet ( "" ); + TextLabelAudFader->setStyleSheet ( "" ); + TextAudInFader->setStyleSheet ( "" ); + +/* +SliderAudInFader->setStyleSheet ( + "QSlider { background-image: url(:/png/fader/res/faderbackground.png);" + " width: 45px; }" + "QSlider::groove { image: url(); }" + "QSlider::handle { image: url(:/png/fader/res/faderhandlesmall.png); }" ); +*/ break; } @@ -908,12 +935,15 @@ void CLlconClientDlg::customEvent ( QEvent* Event ) case MS_SOUND_OUT: case MS_JIT_BUF_PUT: case MS_JIT_BUF_GET: - // show overall status -> if any LED goes red, this LED will go red - LEDOverallStatus->SetLight ( iStatus ); + // buffer status -> if any buffer goes red, this LED will go red + LEDBuffers->SetLight ( iStatus ); break; case MS_RESET_ALL: - LEDOverallStatus->Reset(); + LEDConnection->Reset(); + LEDBuffers->Reset(); + LEDDelay->Reset(); + LEDChat->Reset(); break; case MS_SET_JIT_BUF_SIZE: diff --git a/src/llconclientdlg.h b/src/llconclientdlg.h index b8b1272c..97753440 100755 --- a/src/llconclientdlg.h +++ b/src/llconclientdlg.h @@ -56,9 +56,8 @@ #define CON_BUT_DISCONNECTTEXT "D&isconnect" // update time for GUI controls -#define LEVELMETER_UPDATE_TIME 100 // ms -#define STATUSBAR_UPDATE_TIME 1000 // ms -#define ERROR_STATUS_DISPLAY_TIME 3000 // ms +#define LEVELMETER_UPDATE_TIME 100 // ms +#define LED_BAR_UPDATE_TIME 1000 // ms // range for signal level meter #define LOW_BOUND_SIG_METER ( -50.0 ) // dB @@ -89,11 +88,9 @@ protected: CClient* pClient; bool bConnected; bool bUnreadChatMessage; - int iErrorStatusCounter; QTimer TimerSigMet; QTimer TimerStatus; QTimer TimerPing; - QTimer TimerErrorStatus; virtual void customEvent ( QEvent* Event ); virtual void closeEvent ( QCloseEvent* Event ); diff --git a/src/llconclientdlgbase.ui b/src/llconclientdlgbase.ui index 9f8e3b59..eaab6b89 100755 --- a/src/llconclientdlgbase.ui +++ b/src/llconclientdlgbase.ui @@ -5,8 +5,8 @@ 0 0 - 471 - 324 + 423 + 260 @@ -15,190 +15,393 @@ :/png/main/res/mainicon.png + + + true + + 0 + + + 0 + + + 0 + + + 0 + - + + + + - QFrame::Panel + QFrame::StyledPanel QFrame::Raised - + - - - - 0 - 0 - - - - :/png/main/res/gig.png - - - true - - - Qt::AlignCenter - - - false - - - - - - - - - Input Level L - - - false - - - - - - - - 50 - 25 - - - - - - - - Input Level R - - - false - - - - - - - - 50 - 25 - - - - - - - - Server Address - - - false - - - - - - - true - - - - - - - Fader Tag - - - false - - - - - - - - - - - - Qt::Vertical - - - QSizePolicy::Minimum - - - - 20 - 0 - - - - - - - - 0 - + - - - 0 - + - + + + + + + + + 0 + 0 + + + + :/png/main/res/llconfronticon.png + + + Qt::AlignCenter + + + false + + + + + + + Qt::Horizontal + + + + 40 + 20 + + + + + + + + + + + + Qt::Horizontal + + + + 16 + 20 + + + + + + + + Connection + + + Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter + + + false + + + + + + + + 0 + 0 + + + + + 14 + 14 + + + + + 14 + 14 + + + + + + + + + + + + Qt::Horizontal + + + + 16 + 20 + + + + + + + + Delay + + + Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter + + + false + + + + + + + + 0 + 0 + + + + + 14 + 14 + + + + + 14 + 14 + + + + + + + + + + + + Qt::Horizontal + + + + 16 + 20 + + + + + + + + Buffers + + + Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter + + + false + + + + + + + + 0 + 0 + + + + + 14 + 14 + + + + + 14 + 14 + + + + + + + + + + + + Qt::Horizontal + + + + 16 + 20 + + + + + + + + Chat + + + Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter + + + false + + + + + + + + 0 + 0 + + + + + 14 + 14 + + + + + 14 + 14 + + + + + + + + + + Qt::Vertical - - QSizePolicy::Minimum - - - - 168 - 0 - - - + - - - 3 - - - 0 - - - 0 - - - 3 - - - 0 - + - - - - 0 - 0 - - - - QFrame::Panel - - - QFrame::Sunken - + - TextLabelStatus + Input + + + Qt::AlignCenter + + + + + + + + + + 0 + 0 + + + + + 16 + 50 + + + + + + + + + 0 + 0 + + + + + 16 + 50 + + + + + + + + + + + + L + + + Qt::AlignCenter + + + + + + + R + + + Qt::AlignCenter + + + + + + + + + + + + + Qt::Vertical + + + + 20 + 21 + + + + + + + + + + + + Fader Tag false @@ -206,24 +409,26 @@ - - - - 0 - 0 - + + + Server Address - - - 20 - 20 - + + false - - - 20 - 20 - + + + + + + + + + + + + + true @@ -231,254 +436,282 @@ - - - - C&onnect - - - true - - - - - - - - - - - - Local - - - - - - 0 - - - - - Pan - - - Qt::AlignCenter - - - - - - - - 50 - 0 - - - - Center - - - Qt::AlignCenter - - - false - - - - - 6 - - - 0 - - - 0 - - - 0 - - - 0 - Qt::Horizontal - - QSizePolicy::Minimum - - 0 + 40 20 - - - 1 + + + C&onnect - - Qt::Vertical - - - QSlider::TicksBothSides + + true - - - - Qt::Horizontal - - - QSizePolicy::Minimum - - - - 0 - 20 - - - - + + + + Qt::Vertical + + + - - 0 - - - 0 - - - 0 - - - 0 - - - 0 - - - - Reverb - - - Qt::AlignCenter - - - - - + - 6 - - - 0 - - - 0 - - - 0 - - 0 - - - Qt::Horizontal + + + Pan - - QSizePolicy::Minimum - - - - 0 - 20 - - - - - - - - 1 - - - Qt::Vertical - - - QSlider::TicksBothSides + + Qt::AlignCenter - - - Qt::Horizontal - - - QSizePolicy::Minimum - - + + - 0 - 20 + 50 + 0 - + + Center + + + Qt::AlignCenter + + + false + + + + + + + 6 + + + 0 + + + 0 + + + 0 + + + 0 + + + + + Qt::Horizontal + + + QSizePolicy::Minimum + + + + 0 + 20 + + + + + + + + + + QSlider::handle { image: url(res/faderhandlesmall.png); } + + + 1 + + + Qt::Vertical + + + QSlider::TicksBothSides + + + + + + + Qt::Horizontal + + + QSizePolicy::Minimum + + + + 0 + 20 + + + + + + + + + + + + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + + + Reverb + + + Qt::AlignCenter + + + + + + + 6 + + + 0 + + + 0 + + + 0 + + + 0 + + + + + Qt::Horizontal + + + QSizePolicy::Minimum + + + + 0 + 20 + + + + + + + + 1 + + + Qt::Vertical + + + QSlider::TicksBothSides + + + + + + + Qt::Horizontal + + + QSizePolicy::Minimum + + + + 0 + 20 + + + + + + + + + + + + 0 + + + + + Left + + + + + + + Right + + + + - - - 0 + + + + 0 + 0 + - - - - Left - - - - - - - Right - - - - + - - - - - 0 - 0 - - - - diff --git a/src/multicolorledbar.cpp b/src/multicolorledbar.cpp index 3dc23cea..97bed5c8 100755 --- a/src/multicolorledbar.cpp +++ b/src/multicolorledbar.cpp @@ -36,21 +36,21 @@ CMultiColorLEDBar::CMultiColorLEDBar ( QWidget* parent, Qt::WindowFlags f ) iNumLEDs = NUM_STEPS_INP_LEV_METER; // create layout and set spacing to zero - pMainLayout = new QHBoxLayout ( this ); - pMainLayout->setAlignment ( Qt::AlignVCenter ); + pMainLayout = new QVBoxLayout ( this ); + pMainLayout->setAlignment ( Qt::AlignHCenter ); pMainLayout->setMargin ( 0 ); pMainLayout->setSpacing ( 0 ); // create LEDs vecpLEDs.Init ( iNumLEDs ); - for ( int iLEDIdx = 0; iLEDIdx < iNumLEDs; iLEDIdx++ ) + for ( int iLEDIdx = iNumLEDs - 1; iLEDIdx >= 0; iLEDIdx-- ) { // create LED object vecpLEDs[iLEDIdx] = new cLED ( parent ); - // add LED to layout with spacer (do not add spacer on the left of the + // add LED to layout with spacer (do not add spacer on the bottom of the // first LED) - if ( iLEDIdx > 0 ) + if ( iLEDIdx < iNumLEDs - 1 ) { pMainLayout->addStretch(); } @@ -135,10 +135,10 @@ void CMultiColorLEDBar::setValue ( const int value ) CMultiColorLEDBar::cLED::cLED ( QWidget* parent ) : BitmCubeRoundDisabled ( QString::fromUtf8 ( ":/png/LEDs/res/VLEDDisabledSmall.png" ) ), - BitmCubeRoundGrey ( QString::fromUtf8 ( ":/png/LEDs/res/VLEDGreySmall.png" ) ), - BitmCubeRoundGreen ( QString::fromUtf8 ( ":/png/LEDs/res/VLEDGreenSmall.png" ) ), - BitmCubeRoundYellow ( QString::fromUtf8 ( ":/png/LEDs/res/VLEDYellowSmall.png" ) ), - BitmCubeRoundRed ( QString::fromUtf8 ( ":/png/LEDs/res/VLEDRedSmall.png" ) ) + BitmCubeRoundGrey ( QString::fromUtf8 ( ":/png/LEDs/res/HLEDGreySmall.png" ) ), + BitmCubeRoundGreen ( QString::fromUtf8 ( ":/png/LEDs/res/HLEDGreenSmall.png" ) ), + BitmCubeRoundYellow ( QString::fromUtf8 ( ":/png/LEDs/res/HLEDYellowSmall.png" ) ), + BitmCubeRoundRed ( QString::fromUtf8 ( ":/png/LEDs/res/HLEDRedSmall.png" ) ) { // create LED label pLEDLabel = new QLabel ( "", parent ); diff --git a/src/multicolorledbar.h b/src/multicolorledbar.h index 9ef43196..15cb42a1 100755 --- a/src/multicolorledbar.h +++ b/src/multicolorledbar.h @@ -75,7 +75,7 @@ protected: void Reset ( const bool bEnabled ); virtual void changeEvent ( QEvent* curEvent ); - QHBoxLayout* pMainLayout; + QVBoxLayout* pMainLayout; int iNumLEDs; CVector vecpLEDs; diff --git a/src/res/CLEDBlackSmall.png b/src/res/CLEDBlackSmall.png index 916988b8..83b148bd 100755 Binary files a/src/res/CLEDBlackSmall.png and b/src/res/CLEDBlackSmall.png differ diff --git a/src/res/CLEDGreenSmall.png b/src/res/CLEDGreenSmall.png index 11b0bbce..10150b79 100755 Binary files a/src/res/CLEDGreenSmall.png and b/src/res/CLEDGreenSmall.png differ diff --git a/src/res/CLEDGreySmall.png b/src/res/CLEDGreySmall.png index 16b7a679..4b4cd204 100755 Binary files a/src/res/CLEDGreySmall.png and b/src/res/CLEDGreySmall.png differ diff --git a/src/res/CLEDRedSmall.png b/src/res/CLEDRedSmall.png index 975a36cd..c96b978b 100755 Binary files a/src/res/CLEDRedSmall.png and b/src/res/CLEDRedSmall.png differ diff --git a/src/res/CLEDYellowSmall.png b/src/res/CLEDYellowSmall.png index 2e8efe8f..00b0f31a 100755 Binary files a/src/res/CLEDYellowSmall.png and b/src/res/CLEDYellowSmall.png differ diff --git a/src/res/HLEDGreen.png b/src/res/HLEDGreen.png new file mode 100755 index 00000000..2e395b91 Binary files /dev/null and b/src/res/HLEDGreen.png differ diff --git a/src/res/HLEDGreenSmall.png b/src/res/HLEDGreenSmall.png new file mode 100755 index 00000000..10f077be Binary files /dev/null and b/src/res/HLEDGreenSmall.png differ diff --git a/src/res/HLEDGrey.png b/src/res/HLEDGrey.png new file mode 100755 index 00000000..8cafffbd Binary files /dev/null and b/src/res/HLEDGrey.png differ diff --git a/src/res/HLEDGreySmall.png b/src/res/HLEDGreySmall.png new file mode 100755 index 00000000..59ed6146 Binary files /dev/null and b/src/res/HLEDGreySmall.png differ diff --git a/src/res/HLEDRed.png b/src/res/HLEDRed.png new file mode 100755 index 00000000..83e21598 Binary files /dev/null and b/src/res/HLEDRed.png differ diff --git a/src/res/HLEDRedSmall.png b/src/res/HLEDRedSmall.png new file mode 100755 index 00000000..9f7550b5 Binary files /dev/null and b/src/res/HLEDRedSmall.png differ diff --git a/src/res/HLEDYellow.png b/src/res/HLEDYellow.png new file mode 100755 index 00000000..12ac10b5 Binary files /dev/null and b/src/res/HLEDYellow.png differ diff --git a/src/res/HLEDYellowSmall.png b/src/res/HLEDYellowSmall.png new file mode 100755 index 00000000..22aad409 Binary files /dev/null and b/src/res/HLEDYellowSmall.png differ diff --git a/src/res/llconfronticon.png b/src/res/llconfronticon.png new file mode 100755 index 00000000..58520163 Binary files /dev/null and b/src/res/llconfronticon.png differ diff --git a/src/res/llconfronticon.xcf b/src/res/llconfronticon.xcf new file mode 100755 index 00000000..272af427 Binary files /dev/null and b/src/res/llconfronticon.xcf differ diff --git a/src/res/logopicture.png b/src/res/logopicture.png new file mode 100755 index 00000000..fdeef716 Binary files /dev/null and b/src/res/logopicture.png differ diff --git a/src/res/logopicture.xcf b/src/res/logopicture.xcf new file mode 100755 index 00000000..badbb3b0 Binary files /dev/null and b/src/res/logopicture.xcf differ diff --git a/src/resources.qrc b/src/resources.qrc index 05afdb1c..10a6c65e 100755 --- a/src/resources.qrc +++ b/src/resources.qrc @@ -11,6 +11,10 @@ res/CLEDRedSmall.png res/CLEDYellow.png res/CLEDYellowSmall.png + res/HLEDGreenSmall.png + res/HLEDGreySmall.png + res/HLEDRedSmall.png + res/HLEDYellowSmall.png res/VLEDBlack.png res/VLEDBlackSmall.png res/VLEDDisabledSmall.png @@ -43,6 +47,8 @@ res/gig.png + res/llconfronticon.png + res/logopicture.png res/mainicon.png