From cf99bc1624562d4d65129beda3a879d9e873fb19 Mon Sep 17 00:00:00 2001 From: peri4 Date: Wed, 30 Aug 2023 15:53:59 +0300 Subject: [PATCH] SessionManager auto-slots now also on top-level widgets PIVariantEditors::FileBase crash on Dir and fullEditMode fix --- libs/piqt_utils/pivariant_edit_widgets.cpp | 5 +++-- libs/widgets/session_manager.cpp | 2 ++ 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/libs/piqt_utils/pivariant_edit_widgets.cpp b/libs/piqt_utils/pivariant_edit_widgets.cpp index 2f91714..1fc7499 100644 --- a/libs/piqt_utils/pivariant_edit_widgets.cpp +++ b/libs/piqt_utils/pivariant_edit_widgets.cpp @@ -605,8 +605,9 @@ void PIVariantEditors::FileBase::applyAttributes(const PIVariantMap & a) { void PIVariantEditors::FileBase::setFullEditMode(bool on) { - act_save->setVisible(on); - act_filter->setVisible(on); + edit_widget->setVisible(on); + if (act_save) act_save->setVisible(on); + if (act_filter) act_filter->setVisible(on); } diff --git a/libs/widgets/session_manager.cpp b/libs/widgets/session_manager.cpp index 50069ad..eb8b23f 100644 --- a/libs/widgets/session_manager.cpp +++ b/libs/widgets/session_manager.cpp @@ -114,6 +114,7 @@ void SessionManager::save() { QSet all_list; foreach(QObject * c, tsc) { all_list |= QList2QSet(c->findChildren()); + all_list |= c; } QMap funcs = metaFunctions(all_list, "sessionSave"); // qDebug() << "check for save" << all_list.size(); @@ -237,6 +238,7 @@ void SessionManager::load(bool onlyMainwindow) { QSet all_list; foreach(QObject * c, tsc) { all_list |= QList2QSet(c->findChildren()); + all_list |= c; } QMap funcs = metaFunctions(all_list, "sessionLoad"); // qDebug() << "check for load" << all_list.size();