@@ -133,9 +133,7 @@ KsMainWindow::KsMainWindow(QWidget *parent)
KsMainWindow::~KsMainWindow()
{
kshark_context *kshark_ctx(nullptr);
- QString file = KS_CACHE_DIR;
-
- file += "/lastsession.json";
+ QString file = lastSessionFile();
_updateSession();
kshark_save_config_file(file.toLocal8Bit().data(),
@@ -368,12 +366,20 @@ void KsMainWindow::_open()
loadDataFile(fileName);
}
-void KsMainWindow::_restorSession()
+/** Get the description file of the last session. */
+QString KsMainWindow::lastSessionFile()
{
- QString file = KS_CACHE_DIR;
- file += "/lastsession.json";
+ const char *file = getenv("KS_USER_CONF_DIR");
- loadSession(file);
+ if (!file)
+ file = KS_CACHE_DIR;
+
+ return QString(file) + "/lastsession.json";
+}
+
+void KsMainWindow::_restorSession()
+{
+ loadSession(lastSessionFile());
_graph.updateGeom();
}
@@ -37,6 +37,8 @@ public:
void loadSession(const QString &fileName);
+ QString lastSessionFile();
+
/**
* @brief
*
The environment variable ${KS_USER_CONF_DIR} can be used to specify the directory where the "Last session" configuration file will be saved. Suggested-by: Steven Rostedt (VMware) <rostedt@goodmis.org> Signed-off-by: Yordan Karadzhov <ykaradzhov@vmware.com> --- kernel-shark/src/KsMainWindow.cpp | 20 +++++++++++++------- kernel-shark/src/KsMainWindow.hpp | 2 ++ 2 files changed, 15 insertions(+), 7 deletions(-)