@@ -133,9 +133,8 @@ 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 +367,20 @@ void KsMainWindow::_open()
loadDataFile(fileName);
}
-void KsMainWindow::_restoreSession()
+/** 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");
+
+ if (!file)
+ file = _KS_CACHE_DIR;
+
+ return QString(file) + "/lastsession.json";
+}
- loadSession(file);
+void KsMainWindow::_restoreSession()
+{
+ 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 | 19 +++++++++++++------ kernel-shark/src/KsMainWindow.hpp | 2 ++ 2 files changed, 15 insertions(+), 6 deletions(-)