Home
Phabricator
Search
Log In
Files
F5800781
restore_size.patch
valeriymalov (Valeriy Malov)
Actions
View File
Edit File
Delete File
View Transforms
Subscribe
Mute Notifications
Award Token
Flag For Later
Subscribers
None
File Metadata
Details
File Info
Storage
Attached
Author
valeriymalov
Created
Apr 8 2018, 6:06 PM
Size
2 KB
Mime Type
text/x-diff
Engine
blob
Format
Raw Data
Handle
3549114
Attached To
D3484: Center systemmonitor window properly on multi-screen setup
restore_size.patch
View Options
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
Log In to Comment