add enabler/disabler for borderless maximized wins

pull/2/head
Michail Vourlakos 7 years ago
parent eb7b0ec497
commit a5837fff09

@ -24,6 +24,7 @@
#include "importer.h"
#include "layoutmanager.h"
#include "screenpool.h"
#include "universalsettings.h"
#include "dock/dockview.h"
#include <QDir>
@ -181,11 +182,20 @@ void Layout::initToCorona(DockCorona *corona)
qDebug() << "Layout ::::: " << name() << " added contaiments ::: " << m_containments.size();
connect(m_corona->universalSettings(), &UniversalSettings::canDisableBordersChanged, this, [&]() {
if (m_corona->universalSettings()->canDisableBorders()) {
kwin_setDisabledMaximizedBorders(disableBordersForMaximizedWindows());
} else {
kwin_setDisabledMaximizedBorders(false);
}
});
if (m_corona->layoutManager()->memoryUsage() == Dock::SingleLayout) {
kwin_setDisabledMaximizedBorders(disableBordersForMaximizedWindows());
} else if (m_corona->layoutManager()->memoryUsage() == Dock::MultipleLayouts) {
connect(m_corona->layoutManager(), &LayoutManager::currentLayoutNameChanged, this, [&]() {
if (m_corona->layoutManager()->currentLayoutName() == name()) {
if (m_corona->universalSettings()->canDisableBorders()
&& m_corona->layoutManager()->currentLayoutName() == name()) {
kwin_setDisabledMaximizedBorders(disableBordersForMaximizedWindows());
}
});

@ -34,6 +34,7 @@ UniversalSettings::UniversalSettings(KSharedConfig::Ptr config, QObject *parent)
m_config(config),
m_universalGroup(KConfigGroup(config, QStringLiteral("UniversalSettings")))
{
connect(this, &UniversalSettings::canDisableBordersChanged, this, &UniversalSettings::saveConfig);
connect(this, &UniversalSettings::currentLayoutNameChanged, this, &UniversalSettings::saveConfig);
connect(this, &UniversalSettings::downloadWindowSizeChanged, this, &UniversalSettings::saveConfig);
connect(this, &UniversalSettings::lastNonAssignedLayoutNameChanged, this, &UniversalSettings::saveConfig);
@ -246,6 +247,21 @@ void UniversalSettings::setAutostart(bool state)
}
}
bool UniversalSettings::canDisableBorders() const
{
return m_canDisableBorders;
}
void UniversalSettings::setCanDisableBorders(bool enable)
{
if (m_canDisableBorders == enable) {
return;
}
m_canDisableBorders = enable;
emit canDisableBordersChanged();
}
Dock::LayoutsMemoryUsage UniversalSettings::layoutsMemoryUsage() const
{
return m_memoryUsage;
@ -279,6 +295,7 @@ void UniversalSettings::setMouseSensitivity(Dock::MouseSensitivity sensitivity)
void UniversalSettings::loadConfig()
{
m_version = m_universalGroup.readEntry("version", 1);
m_canDisableBorders = m_universalGroup.readEntry("canDisableBorders", false);
m_currentLayoutName = m_universalGroup.readEntry("currentLayout", QString());
m_downloadWindowSize = m_universalGroup.readEntry("downloadWindowSize", QSize(800, 550));
m_lastNonAssignedLayoutName = m_universalGroup.readEntry("lastNonAssignedLayout", QString());
@ -294,6 +311,7 @@ void UniversalSettings::loadConfig()
void UniversalSettings::saveConfig()
{
m_universalGroup.writeEntry("version", m_version);
m_universalGroup.writeEntry("canDisableBorders", m_canDisableBorders);
m_universalGroup.writeEntry("currentLayout", m_currentLayoutName);
m_universalGroup.writeEntry("downloadWindowSize", m_downloadWindowSize);
m_universalGroup.writeEntry("lastNonAssignedLayout", m_lastNonAssignedLayoutName);

@ -58,6 +58,9 @@ public:
bool autostart() const;
void setAutostart(bool state);
bool canDisableBorders() const;
void setCanDisableBorders(bool enable);
bool showInfoWindow() const;
void setShowInfoWindow(bool show);
@ -101,6 +104,7 @@ public slots:
signals:
void autostartChanged();
void canDisableBordersChanged();
void currentLayoutNameChanged();
void downloadWindowSizeChanged();
void lastNonAssignedLayoutNameChanged();
@ -125,6 +129,7 @@ private:
void setLayoutsMemoryUsage(Dock::LayoutsMemoryUsage layoutsMemoryUsage);
private:
bool m_canDisableBorders{false};
bool m_showInfoWindow{true};
//when there isnt a version it is an old universal file

Loading…
Cancel
Save