From 09e1f9a9ba76e769a62cbc22d77d4b84728713f3 Mon Sep 17 00:00:00 2001 From: Joao Carreira Date: Mon, 28 Apr 2014 00:05:13 +0100 Subject: [PATCH] Update side bar when changing visibility --- source/app/PropertiesSidebar.cpp | 1 - source/app/plaYUVerApp.cpp | 19 ++++++++++++++----- source/app/plaYUVerApp.h | 2 ++ 3 files changed, 16 insertions(+), 6 deletions(-) diff --git a/source/app/PropertiesSidebar.cpp b/source/app/PropertiesSidebar.cpp index f085aaa..2c596b2 100755 --- a/source/app/PropertiesSidebar.cpp +++ b/source/app/PropertiesSidebar.cpp @@ -356,7 +356,6 @@ FramePropertiesSideBar::FramePropertiesSideBar( QWidget* parent ) : setLayout( mainLayout ); setEnabled( false ); - connect( this, SIGNAL( visibilityChanged(bool) ), this, SLOT( slotUpdateHistogram() ) ); connect( channelCB, SIGNAL( activated(int) ), this, SLOT( slotChannelChanged(int) ) ); connect( scaleButtonGroup, SIGNAL( buttonClicked(int) ), this, SLOT( slotScaleChanged(int) ) ); connect( colorsCB, SIGNAL( activated(int) ), this, SLOT( slotColorsChanged(int) ) ); diff --git a/source/app/plaYUVerApp.cpp b/source/app/plaYUVerApp.cpp index 5b68946..ed769ba 100644 --- a/source/app/plaYUVerApp.cpp +++ b/source/app/plaYUVerApp.cpp @@ -234,7 +234,13 @@ void plaYUVerApp::selectModule( QAction *curr_action ) // ----------------------- Update Properties -------------------- -void plaYUVerApp::updateStreamProperties() +void plaYUVerApp::updateProperties() +{ + updateStreamProperties(); + updateFrameProperties(); +} + +Void plaYUVerApp::updateStreamProperties() { if( m_pcCurrentSubWindow ) { @@ -378,6 +384,7 @@ void plaYUVerApp::stop() m_acPlayingSubWindows.clear(); setTimerStatus(); updateCurrFrameNum(); + updateFrameProperties(); if( m_uiAveragePlayInterval ) qDebug( ) << "Real display time: " << QString::number( 1000 / m_uiAveragePlayInterval ) @@ -409,6 +416,7 @@ void plaYUVerApp::playEvent() { stop(); updateCurrFrameNum(); + updateFrameProperties(); return; } break; @@ -933,10 +941,10 @@ Void plaYUVerApp::createMenus() // createPopupMenu() Returns a popup menu containing checkable entries for // the toolbars and dock widgets present in the main window. - QMenu *viewsSub = createPopupMenu(); - if( viewsSub ) + m_arrayMenu[DOCK_VIEW_MENU] = createPopupMenu(); + if( m_arrayMenu[DOCK_VIEW_MENU] ) { - actionPopupMenu = m_arrayMenu[VIEW_MENU]->addMenu( viewsSub ); + actionPopupMenu = m_arrayMenu[VIEW_MENU]->addMenu( m_arrayMenu[DOCK_VIEW_MENU] ); actionPopupMenu->setText( tr( "&Toolbars/Docks" ) ); } @@ -1011,13 +1019,14 @@ Void plaYUVerApp::createDockWidgets() m_arraySideBars[STREAM_SIDEBAR]->setAllowedAreas( Qt::LeftDockWidgetArea | Qt::RightDockWidgetArea ); m_arraySideBars[STREAM_SIDEBAR]->setWidget( m_pcStreamProperties ); addDockWidget( Qt::RightDockWidgetArea, m_arraySideBars[STREAM_SIDEBAR] ); + connect( m_arraySideBars[STREAM_SIDEBAR], SIGNAL( visibilityChanged(bool) ), this, SLOT( updateProperties() ) ); m_pcFrameProperties = new FramePropertiesSideBar( this ); m_arraySideBars[FRAME_SIDEBAR] = new QDockWidget( tr( "Frame Information" ), this ); m_arraySideBars[FRAME_SIDEBAR]->setAllowedAreas( Qt::LeftDockWidgetArea | Qt::RightDockWidgetArea ); m_arraySideBars[FRAME_SIDEBAR]->setWidget( m_pcFrameProperties ); addDockWidget( Qt::RightDockWidgetArea, m_arraySideBars[FRAME_SIDEBAR] ); - + connect( m_arraySideBars[FRAME_SIDEBAR], SIGNAL( visibilityChanged(bool) ), this, SLOT( updateProperties() ) ); } Void plaYUVerApp::createStatusBar() diff --git a/source/app/plaYUVerApp.h b/source/app/plaYUVerApp.h index a79ce9f..84fd296 100644 --- a/source/app/plaYUVerApp.h +++ b/source/app/plaYUVerApp.h @@ -99,6 +99,7 @@ private Q_SLOTS: void updatePixelValueStatusBar( const QPoint & pos, PlaYUVerFrame* frame ); + void updateProperties(); void updatePropertiesSelectedArea( QRect area ); void setAllSubWindowTool(); @@ -160,6 +161,7 @@ private: VIEW_MENU, TOOLS_MENU, VIDEO_MENU, + DOCK_VIEW_MENU, WINDOW_MENU, ABOUT_MENU, TOTAL_MENUS,