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) { @@ -108,6 +113,11 @@ m_lateral.m_stack->addWidget(w); m_lateral.m_map[key] = {btn, w}; + if(key == "3d") { + //3d view is on top set it checked so users see its selected. + btn->setChecked(true); + } + buttonLayout->addWidget(btn); connect(btn, &QToolButton::toggled, [this, w](bool checked) { if (checked) @@ -136,11 +146,13 @@ action = actionCollection()->addAction(QStringLiteral("open_gcode")); action->setIcon(QIcon::fromTheme("document-open", style()->standardIcon(QStyle::SP_DirOpenIcon))); action->setText(i18n("&Open GCode")); + action->setShortcut(QKeySequence::Open); connect(action, &QAction::triggered, this, &MainWindow::openFile); action = actionCollection()->addAction(QStringLiteral("new_instance")); action->setIcon(QIcon::fromTheme("list-add", QIcon())); 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; }