[arch-commits] Commit in deepin-session-shell/trunk (PKGBUILD logo-size.patch)
Felix Yan
felixonmars at archlinux.org
Tue Aug 11 09:09:22 UTC 2020
Date: Tuesday, August 11, 2020 @ 09:09:22
Author: felixonmars
Revision: 674435
upgpkg: deepin-session-shell 5.3.0.3-2
Added:
deepin-session-shell/trunk/logo-size.patch
Modified:
deepin-session-shell/trunk/PKGBUILD
-----------------+
PKGBUILD | 9 +++--
logo-size.patch | 88 ++++++++++++++++++++++++++++++++++++++++++++++++++++++
2 files changed, 94 insertions(+), 3 deletions(-)
Modified: PKGBUILD
===================================================================
--- PKGBUILD 2020-08-11 08:58:40 UTC (rev 674434)
+++ PKGBUILD 2020-08-11 09:09:22 UTC (rev 674435)
@@ -4,7 +4,7 @@
pkgname=deepin-session-shell
pkgver=5.3.0.3
-pkgrel=1
+pkgrel=2
pkgdesc='Deepin desktop-environment - session-shell module'
arch=('x86_64')
url="https://github.com/linuxdeepin/dde-session-shell"
@@ -15,11 +15,14 @@
conflicts=('deepin-session-ui<5')
provides=('lightdm-deepin-greeter')
groups=('deepin')
-source=("$pkgname-$pkgver.tar.gz::https://github.com/linuxdeepin/dde-session-shell/archive/$pkgver.tar.gz")
-sha512sums=('d9a9a20a82a5fe62adff843e151ffb54198f8f900993398b71fda85d25d0d16dceb8f0964177b587fe285ef24f7b8a3528bf71342b4a576c0df6f68f368d4ad1')
+source=("$pkgname-$pkgver.tar.gz::https://github.com/linuxdeepin/dde-session-shell/archive/$pkgver.tar.gz"
+ logo-size.patch)
+sha512sums=('d9a9a20a82a5fe62adff843e151ffb54198f8f900993398b71fda85d25d0d16dceb8f0964177b587fe285ef24f7b8a3528bf71342b4a576c0df6f68f368d4ad1'
+ '1997730152b00f45e897062a5cd073f362f4ae5cc970c555db159d7f951d6bd9ad2ed2125f26da8b846c4a8b67eeac41dcf619e7552396ad5b2c7e6cb8ee6266')
prepare() {
cd dde-session-shell-$pkgver
+ patch -p1 -i ../logo-size.patch
sed -i '/darrowrectangle/d' CMakeLists.txt src/widgets/widgets.pri
sed -i '1i#include <QPainterPath>' src/widgets/useravatar.cpp
Added: logo-size.patch
===================================================================
--- logo-size.patch (rev 0)
+++ logo-size.patch 2020-08-11 09:09:22 UTC (rev 674435)
@@ -0,0 +1,88 @@
+diff --git a/src/global_util/public_func.cpp b/src/global_util/public_func.cpp
+index d293f27..629036f 100644
+--- a/src/global_util/public_func.cpp
++++ b/src/global_util/public_func.cpp
+@@ -42,7 +42,7 @@
+
+ using namespace std;
+
+-QPixmap loadPixmap(const QString &file)
++QPixmap loadPixmap(const QString &file, const QSize& size)
+ {
+
+ if(!QFile::exists(file)){
+@@ -54,11 +54,11 @@ QPixmap loadPixmap(const QString &file)
+
+ QPixmap pixmap;
+
+- if (!qFuzzyCompare(ratio, devicePixel)) {
++ if (!qFuzzyCompare(ratio, devicePixel) || size.isValid()) {
+ QImageReader reader;
+ reader.setFileName(qt_findAtNxFile(file, devicePixel, &ratio));
+ if (reader.canRead()) {
+- reader.setScaledSize(reader.size() * (devicePixel / ratio));
++ reader.setScaledSize((size.isNull() ? reader.size() : reader.size().scaled(size, Qt::KeepAspectRatio)) * (devicePixel / ratio));
+ pixmap = QPixmap::fromImage(reader.read());
+ pixmap.setDevicePixelRatio(devicePixel);
+ }
+diff --git a/src/global_util/public_func.h b/src/global_util/public_func.h
+index 4066a52..200cc9d 100644
+--- a/src/global_util/public_func.h
++++ b/src/global_util/public_func.h
+@@ -33,7 +33,7 @@
+ #include <QSettings>
+ #include <QString>
+
+-QPixmap loadPixmap(const QString &file);
++QPixmap loadPixmap(const QString &file, const QSize& size = QSize());
+
+ /**
+ * @brief 获取图像共享内存
+diff --git a/src/widgets/logowidget.cpp b/src/widgets/logowidget.cpp
+index 33bd6c6..5bc3108 100644
+--- a/src/widgets/logowidget.cpp
++++ b/src/widgets/logowidget.cpp
+@@ -37,9 +37,12 @@
+
+ DCORE_USE_NAMESPACE
+
+-const QPixmap systemLogo()
++#define PIXMAP_WIDTH 128
++#define PIXMAP_HEIGHT 132 /* SessionBaseWindow */
++
++const QPixmap systemLogo(const QSize& size)
+ {
+- return loadPixmap(DSysInfo::distributionOrgLogo(DSysInfo::Distribution, DSysInfo::Transparent, ":img/logo.svg"));
++ return loadPixmap(DSysInfo::distributionOrgLogo(DSysInfo::Distribution, DSysInfo::Transparent, ":img/logo.svg"), size);
+ }
+
+ LogoWidget::LogoWidget(QWidget* parent)
+@@ -53,10 +56,17 @@ void LogoWidget::initUI() {
+ // setFixedSize(240, 40);
+
+ m_logoLabel = new QLabel();
+- QPixmap logo = systemLogo();
+- m_logoLabel->setPixmap(logo);
++
++ m_logoLabel->setPixmap(
++ []() -> QPixmap {
++ const QPixmap& p = systemLogo(QSize());
++ const bool result = p.width() < PIXMAP_WIDTH && p.height() < PIXMAP_HEIGHT;
++ return result
++ ? p
++ : systemLogo(QSize(PIXMAP_WIDTH, PIXMAP_HEIGHT));
++ }());
++
+ m_logoLabel->setObjectName("Logo");
+- m_logoLabel->setFixedSize(logo.size().rwidth(), logo.size().rheight());
+ //修复社区版deepin的显示不全的问题 2020/04/11
+ m_logoLabel->setScaledContents(true);
+
+@@ -75,6 +85,7 @@ void LogoWidget::initUI() {
+ m_logoLayout->addSpacing(48);
+ m_logoLayout->addWidget(m_logoLabel);
+ m_logoLayout->addWidget(m_logoVersionLabel, 0, Qt::AlignTop);
++ m_logoLayout->addStretch();
+
+ setLayout(m_logoLayout);
+
More information about the arch-commits
mailing list