The environment variable ${KS_CONF_DIR} can be used to specify the directory where the "Last session" configuration file will be saved. Suggested-by: Steven Rostedt (VMware) <rostedt@xxxxxxxxxxx> Signed-off-by: Yordan Karadzhov <ykaradzhov@xxxxxxxxxx> --- kernel-shark/src/KsMainWindow.cpp | 19 ++++++++++++------- kernel-shark/src/KsMainWindow.hpp | 2 ++ 2 files changed, 14 insertions(+), 7 deletions(-) diff --git a/kernel-shark/src/KsMainWindow.cpp b/kernel-shark/src/KsMainWindow.cpp index 2d61c3f..7f39c14 100644 --- a/kernel-shark/src/KsMainWindow.cpp +++ b/kernel-shark/src/KsMainWindow.cpp @@ -133,9 +133,7 @@ KsMainWindow::KsMainWindow(QWidget *parent) KsMainWindow::~KsMainWindow() { kshark_context *kshark_ctx(nullptr); - QString file = KS_CONF_DIR; - - file += "/lastsession.json"; + QString file = _getLastSessionFile(); _updateSession(); kshark_save_config_file(file.toLocal8Bit().data(), @@ -368,12 +366,19 @@ void KsMainWindow::_open() loadDataFile(fileName); } -void KsMainWindow::_restorSession() +QString KsMainWindow::_getLastSessionFile() { - QString file = KS_CONF_DIR; - file += "/lastsession.json"; + const char *file = getenv("KS_CONF_DIR"); - loadSession(file); + if (!file) + file = KS_CONF_DIR; + + return QString(file) + "/lastsession.json"; +} + +void KsMainWindow::_restorSession() +{ + loadSession(_getLastSessionFile()); _graph.updateGeom(); } diff --git a/kernel-shark/src/KsMainWindow.hpp b/kernel-shark/src/KsMainWindow.hpp index 0727631..9b7ec6d 100644 --- a/kernel-shark/src/KsMainWindow.hpp +++ b/kernel-shark/src/KsMainWindow.hpp @@ -153,6 +153,8 @@ private: void _open(); + QString _getLastSessionFile(); + void _restorSession(); void _importSession(); -- 2.19.1
![]() |