File Metadata

Author
valeriymalov
Created
Apr 8 2018, 6:06 PM

restore_size.patch

diff --git a/systemmonitor/ksystemactivitydialog.cpp b/systemmonitor/ksystemactivitydialog.cpp
index f13fcb16..b8c5318a 100644
--- a/systemmonitor/ksystemactivitydialog.cpp
+++ b/systemmonitor/ksystemactivitydialog.cpp
@@ -31,8 +31,12 @@
#include <KSharedConfig>
#include <KConfigGroup>
#include <KWindowSystem>
+#include <KWindowConfig>
#include <KLocalizedString>
#include <QDebug>
+#include <QWindow>
+#include <QScreen>
+#include <QTimer>
KSystemActivityDialog::KSystemActivityDialog(QWidget *parent)
: QDialog(parent), m_processList(nullptr)
@@ -52,11 +56,11 @@ KSystemActivityDialog::KSystemActivityDialog(QWidget *parent)
connect(closeWindow, &QAction::triggered, this, &KSystemActivityDialog::accept);
addAction(closeWindow);
- KConfigGroup cg = KSharedConfig::openConfig()->group("TaskDialog");
- m_processList.loadSettings(cg);
-
QDBusConnection con = QDBusConnection::sessionBus();
con.registerObject(QStringLiteral("/"), this, QDBusConnection::ExportAllSlots);
+
+ slotInit();
+ //QTimer::singleShot(0, this, &KSystemActivityDialog::slotInit);
}
void KSystemActivityDialog::run()
@@ -94,8 +98,20 @@ void KSystemActivityDialog::saveDialogSettings()
{
// When the user closes the dialog, save the process list setup
KConfigGroup cg = KSharedConfig::openConfig()->group("TaskDialog");
+ KWindowConfig::saveWindowSize(windowHandle(), cg);
m_processList.saveSettings(cg);
KSharedConfig::openConfig()->sync();
+ qDebug() << "Saved size:" << window()->size();
+}
+
+void KSystemActivityDialog::slotInit()
+{
+ KConfigGroup cg = KSharedConfig::openConfig()->group("TaskDialog");
+ KWindowSystem::setOnDesktop(winId(), KWindowSystem::currentDesktop());
+ KWindowConfig::restoreWindowSize(windowHandle(), cg);
+ m_processList.loadSettings(cg);
+ resize(windowHandle()->size());
+ qDebug() << "Set size:" << window()->size();
}
QSize KSystemActivityDialog::sizeHint() const
diff --git a/systemmonitor/ksystemactivitydialog.h b/systemmonitor/ksystemactivitydialog.h
index d47bbd50..3d6bee03 100644
--- a/systemmonitor/ksystemactivitydialog.h
+++ b/systemmonitor/ksystemactivitydialog.h
@@ -59,6 +59,8 @@ class KSystemActivityDialog : public QDialog
private:
void saveDialogSettings();
+ void slotInit();
+
KSysGuardProcessList m_processList;
};
#endif // not Q_WS_WIN