IOT dashboard: Exclude menu bar from cube effect

This commit is contained in:
Peter Hartmann 2023-01-02 10:22:23 +01:00 committed by uwerat
parent 31f2d0c93a
commit 39d75edda0
3 changed files with 13 additions and 21 deletions

View File

@ -89,9 +89,9 @@ void Cube::startAnimation( Qsk::Direction direction )
MainItem::MainItem( QQuickItem* parent ) MainItem::MainItem( QQuickItem* parent )
: QskControl( parent ) : QskControl( parent )
, m_cube( new Cube( this ) ) , m_mainLayout( new QskLinearBox( Qt::Horizontal, this ) )
, m_mainLayout( new QskLinearBox( Qt::Horizontal, m_cube ) ) , m_menuBar( new MenuBar( m_mainLayout ) )
, m_otherLayout( new QskLinearBox( Qt::Horizontal, m_cube ) ) , m_cube( new Cube( m_mainLayout ) )
, m_currentIndex( 0 ) , m_currentIndex( 0 )
{ {
setAutoLayoutChildren( true ); setAutoLayoutChildren( true );
@ -104,20 +104,15 @@ MainItem::MainItem( QQuickItem* parent )
m_mainLayout->setSpacing( 0 ); m_mainLayout->setSpacing( 0 );
m_otherLayout->setSpacing( 0 ); connect( m_menuBar, &MenuBar::pageChangeRequested, this, &MainItem::switchToPage );
m_mainMenuBar = new MenuBar( m_mainLayout ); auto* const dashboardPage = new DashboardPage( m_cube );
connect( m_mainMenuBar, &MenuBar::pageChangeRequested, this, &MainItem::switchToPage ); auto* const roomsPage = new RoomsPage( m_cube );
(void) new DashboardPage( m_mainLayout );
m_otherMenuBar = new MenuBar( m_otherLayout ); m_cube->addItem( dashboardPage );
connect( m_otherMenuBar, &MenuBar::pageChangeRequested, this, &MainItem::switchToPage ); m_cube->addItem( roomsPage );
(void) new RoomsPage( m_otherLayout );
m_cube->addItem( m_mainLayout ); m_cube->setCurrentItem( dashboardPage );
m_cube->addItem( m_otherLayout );
m_cube->setCurrentItem( m_mainLayout );
} }
void MainItem::gestureEvent( QskGestureEvent* event ) void MainItem::gestureEvent( QskGestureEvent* event )
@ -173,8 +168,7 @@ void MainItem::switchToPage( const int index )
const auto d = direction( m_currentIndex, index ); const auto d = direction( m_currentIndex, index );
m_cube->startAnimation( d ); m_cube->startAnimation( d );
m_mainMenuBar->setActivePage( index ); m_menuBar->setActivePage( index );
m_otherMenuBar->setActivePage( index );
m_currentIndex = index; m_currentIndex = index;
} }

View File

@ -42,11 +42,9 @@ class MainItem : public QskControl
private: private:
void switchToPage( const int index ); void switchToPage( const int index );
MenuBar* m_mainMenuBar;
MenuBar* m_otherMenuBar;
Cube* m_cube;
QskLinearBox* m_mainLayout; QskLinearBox* m_mainLayout;
QskLinearBox* m_otherLayout; MenuBar* m_menuBar;
Cube* m_cube;
QskPanGestureRecognizer m_panRecognizer; QskPanGestureRecognizer m_panRecognizer;
int m_currentIndex; int m_currentIndex;
}; };

View File

@ -33,7 +33,7 @@ MenuBar::MenuBar( QQuickItem* parent )
setPanel( true ); setPanel( true );
setSubcontrolProxy( QskBox::Panel, MenuBar::Panel ); setSubcontrolProxy( QskBox::Panel, MenuBar::Panel );
initSizePolicy( QskSizePolicy::Minimum, QskSizePolicy::Preferred ); initSizePolicy( QskSizePolicy::Fixed, QskSizePolicy::Preferred );
setSpacing( 0 ); setSpacing( 0 );
auto graphicLabel = new MenuBarTopLabel( "main-icon", this ); auto graphicLabel = new MenuBarTopLabel( "main-icon", this );