1
0
mirror of https://github.com/KDE/latte-dock.git synced 2025-03-27 14:50:21 +03:00

improvements for configuration windows

This commit is contained in:
Michail Vourlakos 2021-12-19 10:42:49 +02:00
parent 259f6afb95
commit 1573c2ce78
6 changed files with 21 additions and 15 deletions

View File

@ -84,7 +84,7 @@ void CanvasConfigView::syncGeometry()
m_geometryWhenVisible = geometry;
setPosition(geometry.topLeft());
m_corona->wm()->setWindowPosition(this, m_latteView->location(), m_geometryWhenVisible);
setMaximumSize(geometry.size());
setMinimumSize(geometry.size());

View File

@ -58,7 +58,7 @@ PrimaryConfigView::PrimaryConfigView(Latte::View *view)
connect(this, &QQuickView::statusChanged, [&](QQuickView::Status status) {
if (status == QQuickView::Ready) {
updateEffects();
// updateEffects();
}
});
@ -87,6 +87,7 @@ PrimaryConfigView::PrimaryConfigView(Latte::View *view)
setParentView(view);
init();
instantUpdateAvailableScreenGeometry();
}
PrimaryConfigView::~PrimaryConfigView()
@ -108,7 +109,7 @@ void PrimaryConfigView::init()
auto source = QUrl::fromLocalFile(m_latteView->containment()->corona()->kPackage().filePath(tempFilePath));
setSource(source);
syncGeometry();
//syncGeometry();
}
Config::IndicatorUiManager *PrimaryConfigView::indicatorUiManager()
@ -178,6 +179,7 @@ void PrimaryConfigView::showCanvasWindow()
{
if (!m_canvasConfigView) {
m_canvasConfigView = new CanvasConfigView(m_latteView, this);
m_canvasConfigView->show();
}
if (m_canvasConfigView && !m_canvasConfigView->isVisible()){
@ -202,6 +204,7 @@ void PrimaryConfigView::showSecondaryWindow()
if (!m_secConfigView) {
m_secConfigView = new SecondaryConfigView(m_latteView, this);
m_secConfigView->show();
}
if (m_secConfigView && !m_secConfigView->isVisible()){
@ -265,7 +268,7 @@ void PrimaryConfigView::initParentView(Latte::View *view)
});
viewconnections << connect(m_corona->universalSettings(), &Latte::UniversalSettings::inAdvancedModeForEditSettingsChanged, m_latteView, &Latte::View::inSettingsAdvancedModeChanged);
viewconnections << connect(m_latteView->containment(), &Plasma::Containment::immutabilityChanged, this, &PrimaryConfigView::immutabilityChanged);
viewconnections << connect(m_latteView->containment(), &Plasma::Containment::immutabilityChanged, this, &PrimaryConfigView::immutabilityChanged);
m_originalByPassWM = m_latteView->byPassWM();
m_originalMode = m_latteView->visibility()->mode();
@ -389,7 +392,7 @@ void PrimaryConfigView::syncGeometry()
updateEnabledBorders();
auto geometry = QRect(position.x(), position.y(), size.width(), size.height());
auto geometry = QRect(position.x(), position.y(), qMax(10, size.width()), qMax(10, size.height()));
QRect winGeometry(x(), y(), width(), height());
@ -399,11 +402,12 @@ void PrimaryConfigView::syncGeometry()
m_geometryWhenVisible = geometry;
setPosition(position);
setMaximumSize(geometry.size());
setMinimumSize(geometry.size());
resize(geometry.size());
setMaximumSize(size);
setMinimumSize(size);
resize(size);
qDebug() << "org.kde.layer ::: SETTING PRIMARY CONFIG WINDOW :::: " << m_geometryWhenVisible << " avail geometry :: " << m_availableScreenGeometry;
m_corona->wm()->setWindowPosition(this, m_latteView->location(), m_geometryWhenVisible);
emit m_latteView->configWindowGeometryChanged();
}
@ -642,9 +646,10 @@ void PrimaryConfigView::updateEffects()
QRegion fixedMask = mask.isNull() ? QRegion(QRect(0,0,width(),height())) : mask;
if (!fixedMask.isEmpty()) {
setMask(fixedMask);
// needs testing because under layershell it creates an major error
// setMask(fixedMask);
} else {
setMask(QRegion());
// setMask(QRegion());
}
if (KWindowSystem::compositingActive()) {

View File

@ -147,7 +147,7 @@ void SecondaryConfigView::syncGeometry()
m_geometryWhenVisible = geometry;
setPosition(position);
m_corona->wm()->setWindowPosition(this, m_latteView->location(), m_geometryWhenVisible);
setMaximumSize(size);
setMinimumSize(size);

View File

@ -75,7 +75,7 @@ SubConfigView::SubConfigView(Latte::View *view, const QString &title, const bool
connections << connect(&m_showTimer, &QTimer::timeout, this, [this]() {
syncSlideEffect();
show();
// show();
});
}

View File

@ -55,6 +55,7 @@ ViewPart::PrimaryConfigView *ViewSettingsFactory::primaryConfigView(Latte::View
view->containment()->setUserConfiguring(true);
m_primaryConfigView = new ViewPart::PrimaryConfigView(view);
m_primaryConfigView->show();
} else {
auto previousView = m_primaryConfigView->parentView();

View File

@ -512,12 +512,12 @@ void WaylandInterface::setWindowPosition(QWindow *window, const Plasma::Types::L
anchors = LayerShellQt::Window::AnchorTop;
anchors = anchors | LayerShellQt::Window::AnchorRight;
margins.setTop(geometry.top() - window->screen()->geometry().top());
margins.setRight(geometry.right() - window->screen()->geometry().right());
margins.setRight(window->screen()->geometry().right() - geometry.right());
} else {
// bottom case
anchors = LayerShellQt::Window::AnchorBottom;
anchors = anchors | LayerShellQt::Window::AnchorLeft;
margins.setBottom(geometry.bottom() - window->screen()->geometry().bottom());
margins.setBottom(window->screen()->geometry().bottom() - geometry.bottom());
margins.setLeft(geometry.left() - window->screen()->geometry().left());
}