diff --git a/.gitignore b/.gitignore
index fedbc461f..e9e3b3956 100644
Binary files a/.gitignore and b/.gitignore differ
diff --git a/src/platform/qt/scripting/ScriptingView.cpp b/src/platform/qt/scripting/ScriptingView.cpp
index 3878b668a..d31a9c738 100644
--- a/src/platform/qt/scripting/ScriptingView.cpp
+++ b/src/platform/qt/scripting/ScriptingView.cpp
@@ -39,6 +39,7 @@ ScriptingView::ScriptingView(ScriptingController* controller, ConfigController*
connect(m_ui.buffers->selectionModel(), &QItemSelectionModel::currentChanged, this, &ScriptingView::selectBuffer);
connect(m_ui.load, &QAction::triggered, this, &ScriptingView::load);
+ connect(m_ui.loadMostRecent, &QAction::triggered, this, &ScriptingView::loadMostRecent);
connect(m_ui.reset, &QAction::triggered, controller, &ScriptingController::reset);
m_mruFiles = m_config->getMRU(ConfigController::MRU::Script);
@@ -66,6 +67,10 @@ void ScriptingView::load() {
}
}
+void ScriptingView::loadMostRecent() {
+ m_controller->loadFile(m_mruFiles.at(0));
+}
+
void ScriptingView::controllerReset() {
selectBuffer(QModelIndex());
}
@@ -105,7 +110,15 @@ void ScriptingView::updateMRU() {
m_ui.mru->clear();
for (const auto& fname : m_mruFiles) {
m_ui.mru->addAction(fname, [this, fname]() {
- m_controller->loadFile(fname);
+ if (m_controller->loadFile(fname)) {
+ appendMRU(fname);
+ }
});
}
+ checkEmptyMRU();
}
+
+
+void ScriptingView::checkEmptyMRU() {
+ m_ui.loadMostRecent->setEnabled(!m_mruFiles.isEmpty());
+}
\ No newline at end of file
diff --git a/src/platform/qt/scripting/ScriptingView.h b/src/platform/qt/scripting/ScriptingView.h
index 1f90a3f19..a62bd2314 100644
--- a/src/platform/qt/scripting/ScriptingView.h
+++ b/src/platform/qt/scripting/ScriptingView.h
@@ -22,6 +22,7 @@ public:
private slots:
void submitRepl();
void load();
+ void loadMostRecent();
void controllerReset();
void selectBuffer(const QModelIndex& current, const QModelIndex& = QModelIndex());
@@ -31,6 +32,7 @@ private:
void appendMRU(const QString&);
void updateMRU();
+ void checkEmptyMRU();
Ui::ScriptingView m_ui;
diff --git a/src/platform/qt/scripting/ScriptingView.ui b/src/platform/qt/scripting/ScriptingView.ui
index 8b97449b0..4d55a8707 100644
--- a/src/platform/qt/scripting/ScriptingView.ui
+++ b/src/platform/qt/scripting/ScriptingView.ui
@@ -98,6 +98,7 @@
+
@@ -108,6 +109,11 @@
Load script...
+
+
+
+ &Load most recent
+