From 39d75edda0797bd7237bd3ab0864f4b19299a29d Mon Sep 17 00:00:00 2001 From: Peter Hartmann Date: Mon, 2 Jan 2023 10:22:23 +0100 Subject: [PATCH] IOT dashboard: Exclude menu bar from cube effect --- examples/iotdashboard/MainItem.cpp | 26 ++++++++++---------------- examples/iotdashboard/MainItem.h | 6 ++---- examples/iotdashboard/MenuBar.cpp | 2 +- 3 files changed, 13 insertions(+), 21 deletions(-) diff --git a/examples/iotdashboard/MainItem.cpp b/examples/iotdashboard/MainItem.cpp index 215a5019..53d12cb0 100644 --- a/examples/iotdashboard/MainItem.cpp +++ b/examples/iotdashboard/MainItem.cpp @@ -89,9 +89,9 @@ void Cube::startAnimation( Qsk::Direction direction ) MainItem::MainItem( QQuickItem* parent ) : QskControl( parent ) - , m_cube( new Cube( this ) ) - , m_mainLayout( new QskLinearBox( Qt::Horizontal, m_cube ) ) - , m_otherLayout( new QskLinearBox( Qt::Horizontal, m_cube ) ) + , m_mainLayout( new QskLinearBox( Qt::Horizontal, this ) ) + , m_menuBar( new MenuBar( m_mainLayout ) ) + , m_cube( new Cube( m_mainLayout ) ) , m_currentIndex( 0 ) { setAutoLayoutChildren( true ); @@ -104,20 +104,15 @@ MainItem::MainItem( QQuickItem* parent ) m_mainLayout->setSpacing( 0 ); - m_otherLayout->setSpacing( 0 ); + connect( m_menuBar, &MenuBar::pageChangeRequested, this, &MainItem::switchToPage ); - m_mainMenuBar = new MenuBar( m_mainLayout ); - connect( m_mainMenuBar, &MenuBar::pageChangeRequested, this, &MainItem::switchToPage ); - (void) new DashboardPage( m_mainLayout ); + auto* const dashboardPage = new DashboardPage( m_cube ); + auto* const roomsPage = new RoomsPage( m_cube ); - m_otherMenuBar = new MenuBar( m_otherLayout ); - connect( m_otherMenuBar, &MenuBar::pageChangeRequested, this, &MainItem::switchToPage ); - (void) new RoomsPage( m_otherLayout ); + m_cube->addItem( dashboardPage ); + m_cube->addItem( roomsPage ); - m_cube->addItem( m_mainLayout ); - m_cube->addItem( m_otherLayout ); - - m_cube->setCurrentItem( m_mainLayout ); + m_cube->setCurrentItem( dashboardPage ); } void MainItem::gestureEvent( QskGestureEvent* event ) @@ -173,8 +168,7 @@ void MainItem::switchToPage( const int index ) const auto d = direction( m_currentIndex, index ); m_cube->startAnimation( d ); - m_mainMenuBar->setActivePage( index ); - m_otherMenuBar->setActivePage( index ); + m_menuBar->setActivePage( index ); m_currentIndex = index; } diff --git a/examples/iotdashboard/MainItem.h b/examples/iotdashboard/MainItem.h index 8169e854..c4625110 100644 --- a/examples/iotdashboard/MainItem.h +++ b/examples/iotdashboard/MainItem.h @@ -42,11 +42,9 @@ class MainItem : public QskControl private: void switchToPage( const int index ); - MenuBar* m_mainMenuBar; - MenuBar* m_otherMenuBar; - Cube* m_cube; QskLinearBox* m_mainLayout; - QskLinearBox* m_otherLayout; + MenuBar* m_menuBar; + Cube* m_cube; QskPanGestureRecognizer m_panRecognizer; int m_currentIndex; }; diff --git a/examples/iotdashboard/MenuBar.cpp b/examples/iotdashboard/MenuBar.cpp index dea0f1ea..64e8d9a8 100644 --- a/examples/iotdashboard/MenuBar.cpp +++ b/examples/iotdashboard/MenuBar.cpp @@ -33,7 +33,7 @@ MenuBar::MenuBar( QQuickItem* parent ) setPanel( true ); setSubcontrolProxy( QskBox::Panel, MenuBar::Panel ); - initSizePolicy( QskSizePolicy::Minimum, QskSizePolicy::Preferred ); + initSizePolicy( QskSizePolicy::Fixed, QskSizePolicy::Preferred ); setSpacing( 0 ); auto graphicLabel = new MenuBarTopLabel( "main-icon", this );