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
@@ -26,6 +26,7 @@
#include
#include
#include
+#include
#include
#include
#include
@@ -83,6 +84,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 +141,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;
}