diff --git a/src/mainwindow.cpp b/src/mainwindow.cpp --- a/src/mainwindow.cpp +++ b/src/mainwindow.cpp @@ -44,9 +44,10 @@ QWidget *tempWidget= m_instances->widget(index); delete tempWidget; - if(m_instances->count() == 1) { + if(m_instances->count() == 2) { m_instances->setTabsClosable(false); m_instances->setMovable(false); + } }); @@ -74,7 +75,7 @@ void MainWindow::newAtCoreInstance() { auto newInstanceWidget = new AtCoreInstanceWidget(); - QString name = QString::number(m_instances->addTab(newInstanceWidget, i18n("Connect a printer"))); + QString name = QString::number(m_instances->insertTab(m_instances->count() -1, newInstanceWidget, i18n("Connect a printer"))); newInstanceWidget->setObjectName(name); connect(this, &MainWindow::profilesChanged, newInstanceWidget, &AtCoreInstanceWidget::updateProfileData); connect(newInstanceWidget, &AtCoreInstanceWidget::requestProfileDialog, [ this ] { @@ -84,7 +85,7 @@ }); connect(newInstanceWidget, &AtCoreInstanceWidget::connectionChanged, this, &MainWindow::atCoreInstanceNameChange); - if(m_instances->count() > 1) { + if(m_instances->count() >= 2) { m_instances->setTabsClosable(true); m_instances->setMovable(true); } diff --git a/src/widgets/atcoreinstancewidget.h b/src/widgets/atcoreinstancewidget.h --- a/src/widgets/atcoreinstancewidget.h +++ b/src/widgets/atcoreinstancewidget.h @@ -57,13 +57,12 @@ private: Ui::AtCoreInstanceWidget* ui; AtCore m_core; - QToolBar *m_mainToolBar; + QToolBar *m_toolBar; QComboBox *m_comboPort; QComboBox *m_comboProfile; QPushButton *m_connectButton; QToolBar *m_connectToolBar; QWidget *m_connectWidget; - QToolBar *m_toolBar; QMap profileData; QList m_files; QAction *m_printAction; @@ -80,7 +79,6 @@ void axisControlClicked(QChar axis, int value); void enableControls(bool b); void buildToolbar(); - void buildMainToolbar(); void print(); void updateSerialPort(const QStringList &ports); void buildConnectionToolbar(); diff --git a/src/widgets/atcoreinstancewidget.cpp b/src/widgets/atcoreinstancewidget.cpp --- a/src/widgets/atcoreinstancewidget.cpp +++ b/src/widgets/atcoreinstancewidget.cpp @@ -26,21 +26,19 @@ AtCoreInstanceWidget::AtCoreInstanceWidget(QWidget *parent): QWidget(parent), - m_mainToolBar(nullptr), m_toolBar(nullptr), m_printAction(nullptr) { ui = new Ui::AtCoreInstanceWidget; ui->setupUi(this); ui->printProgressWidget->setVisible(false); - buildMainToolbar(); buildToolbar(); buildConnectionToolbar(); enableControls(false); updateProfileData(); initConnectsToAtCore(); - m_mainToolBar->setHidden(true); + m_toolBar->setHidden(true); } AtCoreInstanceWidget::~AtCoreInstanceWidget() @@ -52,6 +50,7 @@ void AtCoreInstanceWidget::buildToolbar() { m_toolBar = new QToolBar(); + m_toolBar->setToolButtonStyle(Qt::ToolButtonTextBesideIcon); auto lb = new QAction; lb->setIcon(QIcon::fromTheme("go-home", style()->standardIcon(QStyle::SP_DirHomeIcon))); @@ -92,13 +91,6 @@ m_toolBar->addAction(axis); m_toolBar->addAction(controls); m_toolBar->addAction(plot); - ui->toolBarLayout->addWidget(m_toolBar); - ui->toolBarLayout->addStretch(); -} - -void AtCoreInstanceWidget::buildMainToolbar(){ - m_mainToolBar = new QToolBar(); - m_mainToolBar->setToolButtonStyle(Qt::ToolButtonTextBesideIcon); m_printAction = new QAction(QIcon::fromTheme("media-playback-start", style()->standardIcon(QStyle::SP_MediaPlay)),i18n("Print")); connect(m_printAction, &QAction::triggered, [ this ](){ @@ -112,21 +104,21 @@ m_core.resume(); } }); - m_mainToolBar->addAction(m_printAction); + m_toolBar->addAction(m_printAction); auto stopAction = new QAction(QIcon::fromTheme("media-playback-stop", style()->standardIcon(QStyle::SP_MediaStop)), i18n("Stop")); connect(stopAction, &QAction::triggered, this, &AtCoreInstanceWidget::stopPrint); connect(stopAction, &QAction::triggered, [this](){ m_printAction->setText(i18n("Print")); m_printAction->setIcon(QIcon::fromTheme("media-playback-start", style()->standardIcon(QStyle::SP_MediaPlay))); }); - m_mainToolBar->addAction(stopAction); + m_toolBar->addAction(stopAction); auto disableMotorsAction = new QAction(style()->standardIcon(QStyle::SP_MediaStop),i18n("Disable Motors")); connect(disableMotorsAction, &QAction::triggered, this, &AtCoreInstanceWidget::disableMotors); - m_mainToolBar->addAction(disableMotorsAction); + m_toolBar->addAction(disableMotorsAction); - ui->mainToolBarLayout->addWidget(m_mainToolBar); + ui->toolBarLayout->addWidget(m_toolBar); } void AtCoreInstanceWidget::buildConnectionToolbar() @@ -158,8 +150,8 @@ m_connectButton->setSizePolicy(QSizePolicy::Fixed,QSizePolicy::Fixed); connect(this, &AtCoreInstanceWidget::disableDisconnect, m_connectButton, &QPushButton::setDisabled); connect(m_connectButton, &QPushButton::clicked, this, &AtCoreInstanceWidget::connectButtonClicked); - ui->mainToolBarLayout->addWidget(m_connectToolBar); - ui->mainToolBarLayout->addWidget(m_connectButton); + ui->toolBarLayout->addWidget(m_connectToolBar); + ui->toolBarLayout->addWidget(m_connectButton); } @@ -313,7 +305,7 @@ m_connectButton->setText(i18n("Disconnect")); m_connectButton->setIcon(QIcon::fromTheme("network-disconnect")); m_connectToolBar->setHidden(true); - m_mainToolBar->setHidden(false); + m_toolBar->setHidden(false); stateString = i18n("Connecting..."); connect(&m_core, &AtCore::receivedMessage, this, &AtCoreInstanceWidget::checkReceivedCommand); connect(m_core.serial(), &SerialLayer::pushedCommand, this, &AtCoreInstanceWidget::checkPushedCommands); @@ -334,7 +326,7 @@ m_connectButton->setText(i18n("Connect")); m_connectButton->setIcon(QIcon::fromTheme("network-connect")); m_connectToolBar->setHidden(false); - m_mainToolBar->setHidden(true); + m_toolBar->setHidden(true); enableControls(false); } break; case AtCore::STARTPRINT: { @@ -434,7 +426,7 @@ void AtCoreInstanceWidget::enableControls(bool b) { ui->mainTab->setEnabled(b); - m_mainToolBar->setEnabled(b); + m_toolBar->setEnabled(b); m_toolBar->setEnabled(b); }