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:
parent
259f6afb95
commit
1573c2ce78
@ -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());
|
||||
|
@ -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()) {
|
||||
|
@ -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);
|
||||
|
@ -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();
|
||||
});
|
||||
}
|
||||
|
||||
|
@ -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();
|
||||
|
||||
|
@ -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());
|
||||
}
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user