Fix window size

pull/4/head
cutefishd 5 years ago
parent 55efb6a134
commit 07933f9991

@ -10,12 +10,11 @@ import FishUI 1.0 as FishUI
Item {
id: root
// The window manager is forced to set the window size.
// width: launcher.screenRect.width
// height: launcher.screenRect.height
width: launcher.screenRect.width
height: launcher.screenRect.height
property real horizontalSpacing: root.width * 0.01 * Screen.devicePixelRatio
property real verticalSpacing: root.height * 0.01 * Screen.devicePixelRatio
property real horizontalSpacing: launcher.screenRect.width * 0.01 * Screen.devicePixelRatio
property real verticalSpacing: launcher.screenRect.height * 0.01 * Screen.devicePixelRatio
Wallpaper {
id: backend
@ -25,10 +24,11 @@ Item {
id: wallpaper
anchors.fill: parent
source: "file://" + backend.wallpaper
sourceSize: Qt.size(width, height)
sourceSize: Qt.size(auncher.screenRect.width,
launcher.screenRect.height)
fillMode: Image.PreserveAspectCrop
clip: true
cache: true
asynchronous: false
cache: false
smooth: false
}

@ -30,14 +30,13 @@
Launcher::Launcher(QQuickView *w)
: QQuickView(w)
{
m_screenRect = qApp->primaryScreen()->geometry();
m_screenAvailableRect = qApp->primaryScreen()->availableGeometry();
new LauncherAdaptor(this);
engine()->rootContext()->setContextProperty("launcher", this);
setFlags(Qt::FramelessWindowHint);
setFlags(Qt::FramelessWindowHint | Qt::CoverWindow);
setResizeMode(QQuickView::SizeRootObjectToView);
setClearBeforeRendering(true);
setScreen(qApp->primaryScreen());
@ -80,10 +79,11 @@ QRect Launcher::screenAvailableRect()
void Launcher::onGeometryChanged()
{
m_screenRect = qApp->primaryScreen()->geometry();
setGeometry(qApp->primaryScreen()->geometry());
emit screenRectChanged();
if (m_screenRect != qApp->primaryScreen()->geometry()) {
m_screenRect = qApp->primaryScreen()->geometry();
setGeometry(m_screenRect);
emit screenRectChanged();
}
}
void Launcher::onAvailableGeometryChanged(const QRect &geometry)
@ -99,6 +99,12 @@ void Launcher::showEvent(QShowEvent *e)
QQuickView::showEvent(e);
}
void Launcher::resizeEvent(QResizeEvent *e)
{
// The window manager forces the size.
e->ignore();
}
void Launcher::onActiveChanged()
{
if (!isActive())

@ -49,6 +49,7 @@ private slots:
protected:
void showEvent(QShowEvent *e) override;
void resizeEvent(QResizeEvent *e) override;
private:
void onActiveChanged();

Loading…
Cancel
Save