MsmWindow::MsmWindow(QWidget *parent) : QMainWindow(parent) { // Prepare the view area stackedWidget = new QStackedWidget(this); setCentralWidget(stackedWidget); QQuickView *view = new QQuickView(); menuView = QWidget::createWindowContainer(view, this); menuView->setFocusPolicy(Qt::TabFocus); view->setSource(QUrl("qrc:/qml/main.qml")); stackedWidget->addWidget(menuView); stackedWidget->setCurrentWidget(menuView); moduleView = new ModuleView(); stackedWidget->addWidget(moduleView); QQuickItem *rootObject = view->rootObject(); QQuickItem::connect(rootObject, SIGNAL(itemClicked(QString)), this, SLOT(loadModule(QString))); ModuleView::connect(moduleView, &ModuleView::closeRequest, [=]() { moduleView->resolveChanges(); moduleView->closeModules(); stackedWidget->setCurrentWidget(menuView); }); init(); readPositionSettings(); }
MsmWindow::MsmWindow( QWidget* parent ) : QMainWindow( parent ), ui( new Ui::MsmWindow ) { ui->setupUi( this ); /* Center the window */ move( qApp->desktop()->availableGeometry().center() - rect().center() ); readPositionSettings(); // Trigger method to setup titles and icons buttonShowAllSettings_clicked(); ui->listWidget->setWordWrap( true ); ui->listWidget->addSeparator( tr( "System" ) ); addPageWidget( pageLanguage ); addPageWidget( pageLanguagePackages ); addPageWidget( pageKernel ); addPageWidget( pageUsers ); addPageWidget( pageTimeDate ); ui->listWidget->addSeparator( tr( "Hardware" ) ); addPageWidget( pageKeyboard ); addPageWidget( pageMhwd ); // Connect signals and slots connect( ui->buttonQuit, &QPushButton::clicked, qApp, &qApp->closeAllWindows ); connect( ui->listWidget, &ListWidget::itemActivated, this, &MsmWindow::listWidget_itemActivated ); connect( ui->buttonAllSettings, &QPushButton::clicked, this, &MsmWindow::buttonShowAllSettings_clicked ); connect( ui->buttonApply, &QPushButton::clicked, this, &MsmWindow::buttonApply_clicked ); ui->buttonAllSettings->setIcon( QIcon::fromTheme( "draw-arrow-back", QIcon( ":/images/resources/back.png" ) ) ); ui->buttonApply->setIcon( QIcon::fromTheme( "dialog-ok-apply", QIcon( ":/images/resources/apply.png" ) ) ); ui->buttonQuit->setIcon( QIcon::fromTheme( "gtk-quit", QIcon( ":/images/resources/quit.png" ) ) ); }