diff --git a/src/atelierui.rc b/src/atelierui.rc --- a/src/atelierui.rc +++ b/src/atelierui.rc @@ -24,8 +24,6 @@ - - diff --git a/src/mainwindow.cpp b/src/mainwindow.cpp --- a/src/mainwindow.cpp +++ b/src/mainwindow.cpp @@ -83,6 +83,11 @@ QString name = QString::number(m_instances->addTab(newInstanceWidget, i18n("Connect a printer"))); newInstanceWidget->setObjectName(name); connect(this, &MainWindow::profilesChanged, newInstanceWidget, &AtCoreInstanceWidget::updateProfileData); + connect(newInstanceWidget, &AtCoreInstanceWidget::requestProfileDialog, [ this ] { + std::unique_ptr pd(new ProfilesDialog); + pd->exec(); + emit(profilesChanged()); + }); connect(newInstanceWidget, &AtCoreInstanceWidget::connectionChanged, this, &MainWindow::atCoreInstanceNameChange); if(m_instances->count() > 1) { @@ -135,10 +140,12 @@ QAction *action; action = actionCollection()->addAction(QStringLiteral("open_gcode")); action->setText(i18n("&Open GCode")); + action->setShortcut(QKeySequence::Open); connect(action, &QAction::triggered, this, &MainWindow::openFile); action = actionCollection()->addAction(QStringLiteral("new_instance")); action->setText(i18n("&New Connection")); + action->setShortcut(QKeySequence::AddTab); connect(action, &QAction::triggered, this, &MainWindow::newAtCoreInstance); action = actionCollection()->addAction(QStringLiteral("profiles")); diff --git a/src/widgets/atcoreinstancewidget.h b/src/widgets/atcoreinstancewidget.h --- a/src/widgets/atcoreinstancewidget.h +++ b/src/widgets/atcoreinstancewidget.h @@ -86,7 +86,8 @@ void buildConnectionToolbar(); void connectButtonClicked(); signals: - void extruderCountChanged(int count); - void disableDisconnect(bool b); void connectionChanged(QString name); + void disableDisconnect(bool b); + void extruderCountChanged(int count); + void requestProfileDialog(); }; diff --git a/src/widgets/atcoreinstancewidget.cpp b/src/widgets/atcoreinstancewidget.cpp --- a/src/widgets/atcoreinstancewidget.cpp +++ b/src/widgets/atcoreinstancewidget.cpp @@ -167,7 +167,8 @@ { if(m_core.state() == AtCore::DISCONNECTED) { if (m_comboProfile->currentText().isEmpty()) { - QMessageBox::critical(this, i18n("Error"), i18n("Please, create a profile to connect on Settings!")); + QMessageBox::information(this, i18n("No Profiles!"), i18n("Connecting Requires creating a profile for your printer. Create a profile in the next dialog then try again.")); + emit(requestProfileDialog()); return; }