From 5ff0e7af5bfaa75f8bc6fd063cbc26cc60afb648 Mon Sep 17 00:00:00 2001 From: Michail Vourlakos Date: Wed, 19 Jul 2017 21:36:05 +0300 Subject: [PATCH] save layout window size to improve usability --- app/layoutconfigdialog.cpp | 5 +++++ app/layoutconfigdialog.ui | 23 ++++++++++------------- app/universalsettings.cpp | 17 +++++++++++++++++ app/universalsettings.h | 5 +++++ 4 files changed, 37 insertions(+), 13 deletions(-) diff --git a/app/layoutconfigdialog.cpp b/app/layoutconfigdialog.cpp index dbdafd470..1c60bc429 100644 --- a/app/layoutconfigdialog.cpp +++ b/app/layoutconfigdialog.cpp @@ -46,6 +46,7 @@ LayoutConfigDialog::LayoutConfigDialog(QWidget *parent, LayoutManager *manager) setAttribute(Qt::WA_DeleteOnClose, true); setWindowFlags(windowFlags() | Qt::WindowStaysOnTopHint); + resize(m_manager->corona()->universalSettings()->layoutsWindowSize()); connect(ui->buttonBox->button(QDialogButtonBox::Apply), &QPushButton::clicked , this, &LayoutConfigDialog::apply); @@ -101,6 +102,10 @@ LayoutConfigDialog::~LayoutConfigDialog() if (m_model) { delete m_model; } + + if (m_manager && m_manager->corona() && m_manager->corona()->universalSettings()) { + m_manager->corona()->universalSettings()->setLayoutsWindowSize(size()); + } } QStringList LayoutConfigDialog::activities() diff --git a/app/layoutconfigdialog.ui b/app/layoutconfigdialog.ui index 5f4ef0338..4659e15c1 100644 --- a/app/layoutconfigdialog.ui +++ b/app/layoutconfigdialog.ui @@ -2,14 +2,6 @@ LayoutConfigDialog - - - 0 - 0 - 682 - 462 - - @@ -53,7 +45,8 @@ Switch - + + .. @@ -63,7 +56,8 @@ Copy - + + .. false @@ -76,7 +70,8 @@ Remove - + + .. @@ -114,7 +109,8 @@ Import - + + .. false @@ -127,7 +123,8 @@ Export - + + .. diff --git a/app/universalsettings.cpp b/app/universalsettings.cpp index d656f4aa6..b80242b06 100644 --- a/app/universalsettings.cpp +++ b/app/universalsettings.cpp @@ -81,6 +81,21 @@ void UniversalSettings::setCurrentLayoutName(QString layoutName) emit currentLayoutNameChanged(); } +QSize UniversalSettings::layoutsWindowSize() const +{ + return m_layoutsWindowSize; +} + +void UniversalSettings::setLayoutsWindowSize(QSize size) +{ + if (m_layoutsWindowSize == size) { + return; + } + + m_layoutsWindowSize = size; + emit layoutsWindowSizeChanged(); +} + bool UniversalSettings::autostart() const { QFile autostartFile(QDir::homePath() + "/.config/autostart/org.kde.latte-dock.desktop"); @@ -123,12 +138,14 @@ void UniversalSettings::loadConfig() { m_version = m_universalGroup.readEntry("version", 1); m_currentLayoutName = m_universalGroup.readEntry("currentLayout", QString()); + m_layoutsWindowSize = m_universalGroup.readEntry("layoutsWindowSize", QSize(700, 450)); } void UniversalSettings::saveConfig() { m_universalGroup.writeEntry("version", m_version); m_universalGroup.writeEntry("currentLayout", m_currentLayoutName); + m_universalGroup.writeEntry("layoutsWindowSize", m_layoutsWindowSize); m_universalGroup.sync(); } diff --git a/app/universalsettings.h b/app/universalsettings.h index 17c6ee653..9fc7dc448 100644 --- a/app/universalsettings.h +++ b/app/universalsettings.h @@ -53,9 +53,13 @@ public: QString currentLayoutName() const; void setCurrentLayoutName(QString layoutName); + QSize layoutsWindowSize() const; + void setLayoutsWindowSize(QSize); + signals: void autostartChanged(); void currentLayoutNameChanged(); + void layoutsWindowSizeChanged(); void versionChanged(); private slots: @@ -70,6 +74,7 @@ private: int m_version{1}; QString m_currentLayoutName; + QSize m_layoutsWindowSize{700, 450}; KConfigGroup m_universalGroup; KSharedConfig::Ptr m_config;