Skip to content
Snippets Groups Projects
Commit 36d912ef authored by Pospelov, Gennady's avatar Pospelov, Gennady
Browse files

Global shortcut ctrl-r to run the simulation from any view of main window.

parent 512fd7f9
No related branches found
No related tags found
No related merge requests found
...@@ -127,9 +127,6 @@ void JobQueueData::runJob(const QString &identifier) ...@@ -127,9 +127,6 @@ void JobQueueData::runJob(const QString &identifier)
Simulation *simulation(0); Simulation *simulation(0);
try{ try{
simulation = DomainSimulationBuilder::getSimulation(jobItem->getSampleModel(), jobItem->getInstrumentModel()); simulation = DomainSimulationBuilder::getSimulation(jobItem->getSampleModel(), jobItem->getInstrumentModel());
ThreadInfo info;
info.n_threads = jobItem->getNumberOfThreads();
simulation->setThreadInfo(info);
} catch(const std::exception &ex) { } catch(const std::exception &ex) {
jobItem->setStatus(JobItem::Failed); jobItem->setStatus(JobItem::Failed);
...@@ -143,6 +140,9 @@ void JobQueueData::runJob(const QString &identifier) ...@@ -143,6 +140,9 @@ void JobQueueData::runJob(const QString &identifier)
return; return;
} }
ThreadInfo info;
info.n_threads = jobItem->getNumberOfThreads();
simulation->setThreadInfo(info);
m_simulations[identifier] = simulation; m_simulations[identifier] = simulation;
JobRunner *runner = new JobRunner(identifier, simulation); JobRunner *runner = new JobRunner(identifier, simulation);
......
...@@ -232,7 +232,7 @@ QStringList SimulationSetupWidget::getCPUUsageOptions() ...@@ -232,7 +232,7 @@ QStringList SimulationSetupWidget::getCPUUsageOptions()
int nthreads = Utils::System::getThreadHardwareConcurrency(); int nthreads = Utils::System::getThreadHardwareConcurrency();
for(int i = nthreads; i>0; i--){ for(int i = nthreads; i>0; i--){
if(i == nthreads) { if(i == nthreads) {
result.append(QString("max (%1 threads)").arg(QString::number(i))); result.append(QString("Max (%1 threads)").arg(QString::number(i)));
} else if(i == 1) { } else if(i == 1) {
result.append(QString("%1 thread").arg(QString::number(i))); result.append(QString("%1 thread").arg(QString::number(i)));
} else { } else {
......
...@@ -41,3 +41,10 @@ void SimulationView::updateSimulationViewElements() ...@@ -41,3 +41,10 @@ void SimulationView::updateSimulationViewElements()
qDebug() << "SimulationView::updateSimulationViewElements()" << m_sampleModel << m_instrumentModel; qDebug() << "SimulationView::updateSimulationViewElements()" << m_sampleModel << m_instrumentModel;
m_simulationSetupWidget->updateViewElements(); m_simulationSetupWidget->updateViewElements();
} }
void SimulationView::onRunSimulationShortcut()
{
qDebug() << "SimulationView::onRunSimulationShortcut()";
m_simulationSetupWidget->onRunSimulation();
}
...@@ -21,6 +21,9 @@ public: ...@@ -21,6 +21,9 @@ public:
void updateSimulationViewElements(); void updateSimulationViewElements();
public slots:
void onRunSimulationShortcut();
private: private:
JobQueueModel *m_jobQueueModel; JobQueueModel *m_jobQueueModel;
SampleModel *m_sampleModel; SampleModel *m_sampleModel;
......
...@@ -5,8 +5,10 @@ ...@@ -5,8 +5,10 @@
#include "projectmanager.h" #include "projectmanager.h"
#include "stringutils.h" #include "stringutils.h"
#include <QMenuBar> #include <QMenuBar>
#include <QShortcut>
#include <QSettings> #include <QSettings>
#include <QFileInfo> #include <QFileInfo>
#include <QKeySequence>
#include <QDebug> #include <QDebug>
#include <QDir> #include <QDir>
#include <iostream> #include <iostream>
...@@ -19,11 +21,12 @@ ActionManager::ActionManager(MainWindow *parent) ...@@ -19,11 +21,12 @@ ActionManager::ActionManager(MainWindow *parent)
, m_menuBar(0) , m_menuBar(0)
, m_fileMenu(0) , m_fileMenu(0)
, m_helpMenu(0) , m_helpMenu(0)
, m_runSimulationShortcut(0)
{ {
setParent(parent); setParent(parent);
createActions(); createActions();
createMenus(); createMenus();
createGlobalShortcuts();
} }
...@@ -90,6 +93,14 @@ void ActionManager::createMenus() ...@@ -90,6 +93,14 @@ void ActionManager::createMenus()
} }
void ActionManager::createGlobalShortcuts()
{
m_runSimulationShortcut = new QShortcut(QKeySequence(tr("Ctrl+r")), m_mainWindow);
m_runSimulationShortcut->setContext((Qt::ApplicationShortcut));
connect(m_runSimulationShortcut, SIGNAL(activated()), m_mainWindow, SLOT(onRunSimulationShortcut()));
}
void ActionManager::aboutToShowRecentProjects() void ActionManager::aboutToShowRecentProjects()
{ {
qDebug() << "ActionManager::aboutToShowRecentProjects() ->" << m_mainWindow->getProjectManager()->getRecentProjects(); qDebug() << "ActionManager::aboutToShowRecentProjects() ->" << m_mainWindow->getProjectManager()->getRecentProjects();
...@@ -117,3 +128,4 @@ void ActionManager::aboutToShowRecentProjects() ...@@ -117,3 +128,4 @@ void ActionManager::aboutToShowRecentProjects()
...@@ -9,6 +9,7 @@ class QMenu; ...@@ -9,6 +9,7 @@ class QMenu;
class QAction; class QAction;
class QMenuBar; class QMenuBar;
class MainWindow; class MainWindow;
class QShortcut;
//! Class to handle MainWindow's menu and corresponding actions //! Class to handle MainWindow's menu and corresponding actions
...@@ -36,8 +37,11 @@ private: ...@@ -36,8 +37,11 @@ private:
QMenu *m_recentProjectsMenu; QMenu *m_recentProjectsMenu;
QMenu *m_helpMenu; QMenu *m_helpMenu;
QShortcut *m_runSimulationShortcut;
void createActions(); void createActions();
void createMenus(); void createMenus();
void createGlobalShortcuts();
}; };
......
...@@ -161,6 +161,11 @@ void MainWindow::writeSettings() ...@@ -161,6 +161,11 @@ void MainWindow::writeSettings()
m_settings->sync(); m_settings->sync();
} }
void MainWindow::onRunSimulationShortcut()
{
m_simulationView->onRunSimulationShortcut();
}
void MainWindow::openRecentProject() void MainWindow::openRecentProject()
{ {
......
...@@ -56,6 +56,7 @@ public slots: ...@@ -56,6 +56,7 @@ public slots:
void openRecentProject(); void openRecentProject();
void readSettings(); void readSettings();
void writeSettings(); void writeSettings();
void onRunSimulationShortcut();
protected: protected:
virtual void closeEvent(QCloseEvent *event); virtual void closeEvent(QCloseEvent *event);
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment