!16 add pending and sleep

Merge pull request !16 from 华亚东/master
This commit is contained in:
openeuler-ci-bot 2021-12-13 01:48:09 +00:00 committed by Gitee
commit b2ec99af0f
2 changed files with 508 additions and 1 deletions

View File

@ -0,0 +1,502 @@
From 0e530957ee07705b666c88346a52f68c6e35fc1a Mon Sep 17 00:00:00 2001
From: huayadong <huayadong@kylinos.cn>
Date: Fri, 10 Dec 2021 15:04:20 +0800
Subject: [PATCH] add pending, sleep 1126
---
debian/changelog | 6 --
debian/source/format | 2 +-
.../BiometricAuth/biometricdeviceinfo.cpp | 10 ----
ukui-greeter/greeter/greeterwindow.cpp | 11 ++--
ukui-greeter/greeter/greeterwrapper.cpp | 2 -
ukui-greeter/greeter/main.cpp | 20 -------
ukui-greeter/greeter/powerwindow.cpp | 56 +++++++++++++++++--
ukui-greeter/greeter/powerwindow.h | 2 +
ukui-greeter/greeter/sessionwindow.cpp | 2 -
ukui-greeter/image.qrc | 3 +-
ukui-greeter/translations/es.ts | 4 ++
ukui-greeter/translations/fr.ts | 4 ++
ukui-greeter/translations/pt.ts | 4 ++
ukui-greeter/translations/ru.ts | 13 +++--
ukui-greeter/translations/tr.ts | 11 ++--
ukui-greeter/translations/zh_CN.ts | 11 ++--
ukui-greeter/ukui-greeter.pro | 2 +-
17 files changed, 95 insertions(+), 68 deletions(-)
diff --git a/debian/changelog b/debian/changelog
index c3ccfec..daa3366 100755
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,9 +1,3 @@
-ukui-greeter (3.0.0-1+1026) focal; urgency=medium
-
- * Daily build.
-
- -- liuliang <liuliang@ubuntukylin.com> Mon, 27 May 2019 15:48:18 +0800
-
ukui-greeter (3.0.0-1) unstable; urgency=medium
* New upstream release.
diff --git a/debian/source/format b/debian/source/format
index 89ae9db..163aaf8 100755
--- a/debian/source/format
+++ b/debian/source/format
@@ -1 +1 @@
-3.0 (native)
+3.0 (quilt)
diff --git a/ukui-greeter/BiometricAuth/biometricdeviceinfo.cpp b/ukui-greeter/BiometricAuth/biometricdeviceinfo.cpp
index 48dd8f2..23196d1 100755
--- a/ukui-greeter/BiometricAuth/biometricdeviceinfo.cpp
+++ b/ukui-greeter/BiometricAuth/biometricdeviceinfo.cpp
@@ -113,16 +113,6 @@ QString GetDefaultDevice(const QString &userName)
// qDebug() << "configure path: " << settings.fileName();
QString defaultDevice = settings.value("DefaultDevice").toString();
-
-
- if(defaultDevice.isEmpty())
- {
- QString configPath = QString("/var/lib/lightdm-data/%1/" UKUI_BIOMETRIC_CONFIG_PATH).arg(userName);
- QSettings settings(configPath, QSettings::IniFormat);
- defaultDevice = settings.value("DefaultDevice").toString();
- }
-
-
if(defaultDevice.isEmpty())
{
QSettings sysSettings(UKUI_BIOMETRIC_SYS_CONFIG_PATH, QSettings::IniFormat);
diff --git a/ukui-greeter/greeter/greeterwindow.cpp b/ukui-greeter/greeter/greeterwindow.cpp
index 5722bed..76e6953 100755
--- a/ukui-greeter/greeter/greeterwindow.cpp
+++ b/ukui-greeter/greeter/greeterwindow.cpp
@@ -153,8 +153,8 @@ void GreeterWindow::initUI()
m_sessionLB->setFixedSize(48, 48);
m_sessionLB->setCursor(Qt::PointingHandCursor);
m_sessionLB->installEventFilter(this);
- m_sessionLB->setToolTip(tr("Set the desktop environment for the selected user to log in. \
- If the user is logged in, it will take effect after logging in again"));
+ m_sessionLB->setToolTip(tr("Set the desktop environment for the selected user to log in. \
+ If the user is logged in, it will take effect after logging in again"));
m_sessionLB->setIcon(QIcon(IMAGE_DIR + QString("badges/unknown_badge.svg")));
onSessionChanged(m_greeter->defaultSessionHint());
connect(m_sessionLB, &QPushButton::clicked, this, &GreeterWindow::showSessionWnd);
@@ -263,7 +263,7 @@ void GreeterWindow::resizeEvent(QResizeEvent *event)
QSize size = event->size();
//重新计算缩放比例
scale = QString::number(size.width() / 1920.0, 'f', 1).toFloat();
-
+
if(scale > 1)
scale = 1;
fontSize = scale > 0.5 ? 10 : 8;
@@ -413,7 +413,7 @@ void GreeterWindow::setBackground(const QModelIndex &index)
QString backgroundPath;
bool useUserBackground = false;
-
+
//读取/var/lib/lightdm-date/用户名/ukui-greeter.conf,
//判断是否设置了该用户的登陆界面的背景图片.
QString userConfigurePath = m_greeter->getEnsureShareDir(index.data(QLightDM::UsersModel::NameRole).toString()) + "/ukui-greeter.conf";
@@ -700,7 +700,7 @@ void GreeterWindow::showSessionWnd()
if(!m_sessionWnd){
m_sessionWnd = new SessionWindow(m_sessionsModel, this);
-#if (QT_VERSION >= QT_VERSION_CHECK(5, 12, 0))
+#if (QT_VERSION >= QT_VERSION_CHECK(5, 7, 0))
m_sessionWnd->setStyleSheet("QMenu::item{padding: 2px 10px 2px 10px;}");
#else
m_sessionWnd->setStyleSheet("QMenu::item{padding: 2px 10px 2px 30px;}");
@@ -786,3 +786,4 @@ bool GreeterWindow::sessionIsValid(const QString &session)
}
return false;
}
+
diff --git a/ukui-greeter/greeter/greeterwrapper.cpp b/ukui-greeter/greeter/greeterwrapper.cpp
index e1eb363..d155618 100755
--- a/ukui-greeter/greeter/greeterwrapper.cpp
+++ b/ukui-greeter/greeter/greeterwrapper.cpp
@@ -21,7 +21,6 @@
#include <QDesktopWidget>
#include <QDebug>
#include <QBitArray>
-#include <QTextCodec>
#include "globalv.h"
#include "common/configuration.h"
@@ -86,7 +85,6 @@ void GreeterWrapper::setrootWindow()
QString configPath = "/tmp/greeter-background.conf";
QSettings settings1(configPath, QSettings::IniFormat);
- settings1.setIniCodec(QTextCodec::codecForName("UTF-8"));
settings1.setValue("Greeter",m_rootWindowBackground);
settings1.sync();
}
diff --git a/ukui-greeter/greeter/main.cpp b/ukui-greeter/greeter/main.cpp
index 0fc09da..76cfbf0 100755
--- a/ukui-greeter/greeter/main.cpp
+++ b/ukui-greeter/greeter/main.cpp
@@ -34,7 +34,6 @@
#include <X11/Xlib.h>
#include <X11/XKBlib.h>
#include <X11/keysym.h>
-#include <X11/Xatom.h>
#include <X11/cursorfont.h>
#include <X11/extensions/Xrandr.h>
#include "globalv.h"
@@ -109,27 +108,8 @@ void x11_get_screen_size(int *width,int *height)
}
-void XsettingsHidpi()
-{
- Display *dpy;
- int w,h;
- x11_get_screen_size (&w, &h);
- dpy = XOpenDisplay (NULL);
- if(h > 2000){
- XChangeProperty(dpy, RootWindow (dpy, 0),
- XA_RESOURCE_MANAGER, XA_STRING, 8, PropModeReplace, (unsigned char *) "Xft.dpi: 192\n", 13);
- }else{
- XChangeProperty(dpy, RootWindow (dpy, 0),
- XA_RESOURCE_MANAGER, XA_STRING, 8, PropModeReplace, (unsigned char *) "Xft.dpi: 96\n", 12);
- }
- XCloseDisplay (dpy);
-}
-
-
-
int main(int argc, char *argv[])
{
- XsettingsHidpi ();
qInstallMessageHandler(outputMessage);
#if(QT_VERSION>=QT_VERSION_CHECK(5,6,0))
diff --git a/ukui-greeter/greeter/powerwindow.cpp b/ukui-greeter/greeter/powerwindow.cpp
index 013885b..7b46d2b 100755
--- a/ukui-greeter/greeter/powerwindow.cpp
+++ b/ukui-greeter/greeter/powerwindow.cpp
@@ -32,7 +32,9 @@ PowerManager::PowerManager(QWidget *parent)
m_power(new QLightDM::PowerInterface(this)),
lasttime(QTime::currentTime())
{
- if(m_power->canSuspend())
+ if(m_power->canSuspend() && m_power->canHibernate())
+ resize(ITEM_WIDTH*5, ITEM_HEIGHT);
+ else if(m_power->canSuspend() || m_power->canHibernate())
resize(ITEM_WIDTH*4, ITEM_HEIGHT);
else
resize(ITEM_WIDTH*3, ITEM_HEIGHT);
@@ -49,7 +51,9 @@ PowerManager::PowerManager(QWidget *parent)
QSize PowerManager::windowSize()
{
- if(m_power->canSuspend())
+ if(m_power->canSuspend() && m_power->canHibernate())
+ return QSize(ITEM_WIDTH*5, ITEM_HEIGHT);
+ else if(m_power->canSuspend() || m_power->canHibernate())
return QSize(ITEM_WIDTH*4, ITEM_HEIGHT);
else
return QSize(ITEM_WIDTH*3, ITEM_HEIGHT);
@@ -75,8 +79,14 @@ void PowerManager::powerClicked(QListWidgetItem *item)
shutdownWidgetClicked();
break;
case 3:
- suspendWidgetCliced();
+ if(m_power->canSuspend())
+ suspendWidgetCliced();
+ else if(m_power->canHibernate())
+ hibernateWidgetClicked();
break;
+ case 4:
+ if(m_power->canHibernate())
+ hibernateWidgetClicked();
default:
break;
}
@@ -118,6 +128,16 @@ void PowerManager::suspendWidgetCliced()
}
}
+void PowerManager::hibernateWidgetClicked()
+{
+ try{
+ emit switchToUser();
+ m_power->hibernate();
+ }catch(QException &e) {
+ qWarning() << e.what();
+ }
+}
+
void PowerManager::initUI()
{
@@ -167,14 +187,29 @@ void PowerManager::initUI()
QLabel *suspendLabel = new QLabel(this);
suspendFace->setAlignment(Qt::AlignCenter);
suspendLabel->setAlignment(Qt::AlignCenter);
- suspendFace->setPixmap(QPixmap(":/images/sleep.png").scaled(58,58));
- suspendLabel->setText(tr("Sleep"));
+ suspendFace->setPixmap(QPixmap(":/images/suspend.png").scaled(48,48));
+ suspendLabel->setText(tr("Suspend"));
suspendWidget->setFixedSize(ITEM_WIDTH,ITEM_HEIGHT);
QVBoxLayout *suspendlayout = new QVBoxLayout(suspendWidget);
suspendlayout->addWidget(suspendFace);
suspendlayout->addWidget(suspendLabel);
}
+ if(m_power->canHibernate()) {
+ hibernateWidget = new QWidget(this);
+ hibernateWidget->setObjectName("suspendWidget");
+ QLabel *hibernateFace = new QLabel(this);
+ QLabel *hibernateLabel = new QLabel(this);
+ hibernateFace->setAlignment(Qt::AlignCenter);
+ hibernateLabel->setAlignment(Qt::AlignCenter);
+ hibernateFace->setPixmap(QPixmap(":/images/hibernate.png").scaled(48,48));
+ hibernateLabel->setText(tr("Sleep"));
+ hibernateWidget->setFixedSize(ITEM_WIDTH,ITEM_HEIGHT);
+ QVBoxLayout *hibernatelayout = new QVBoxLayout(hibernateWidget);
+ hibernatelayout->addWidget(hibernateFace);
+ hibernatelayout->addWidget(hibernateLabel);
+ }
+
QListWidgetItem *item0 = new QListWidgetItem();
item0->setSizeHint(QSize(ITEM_WIDTH, ITEM_HEIGHT));
insertItem(0, item0);
@@ -196,7 +231,16 @@ void PowerManager::initUI()
insertItem(3, item3);
setItemWidget(item3, suspendWidget);
}
-
+
+ if(m_power->canHibernate()){
+ QListWidgetItem *item = new QListWidgetItem();
+ item->setSizeHint(QSize(ITEM_WIDTH, ITEM_HEIGHT));
+ if(m_power->canSuspend())
+ insertItem(4, item);
+ else
+ insertItem(3, item);
+ setItemWidget(item,hibernateWidget);
+ }
adjustSize();
}
diff --git a/ukui-greeter/greeter/powerwindow.h b/ukui-greeter/greeter/powerwindow.h
index daabfb4..1616485 100755
--- a/ukui-greeter/greeter/powerwindow.h
+++ b/ukui-greeter/greeter/powerwindow.h
@@ -47,6 +47,7 @@ private:
QWidget *suspendWidget;
QWidget *rebootWidget;
QWidget *shutdownWidget;
+ QWidget *hibernateWidget;
QLightDM::PowerInterface *m_power;
QTime lasttime;
@@ -56,6 +57,7 @@ private:
void suspendWidgetCliced();
void rebootWidgetClicked();
void shutdownWidgetClicked();
+ void hibernateWidgetClicked();
private Q_SLOTS:
void powerClicked(QListWidgetItem *item);
diff --git a/ukui-greeter/greeter/sessionwindow.cpp b/ukui-greeter/greeter/sessionwindow.cpp
index 8f63355..4940003 100755
--- a/ukui-greeter/greeter/sessionwindow.cpp
+++ b/ukui-greeter/greeter/sessionwindow.cpp
@@ -69,8 +69,6 @@ void SessionWindow::addSessionLabels()
for(int i = 0; i < m_sessionsModel->rowCount(); i++) {
QString sessionName = m_sessionsModel->index(i, 0).data().toString();
QString sessionKey = m_sessionsModel->index(i, 0).data(Qt::UserRole).toString();
- if(sessionKey == "xinit-compat")
- continue;
QAction *action = new QAction(QIcon(getSessionIcon(sessionKey)), sessionName, this);
action->setData(sessionKey);
addAction(action);
diff --git a/ukui-greeter/image.qrc b/ukui-greeter/image.qrc
index 05889c9..a88f3ae 100755
--- a/ukui-greeter/image.qrc
+++ b/ukui-greeter/image.qrc
@@ -17,8 +17,9 @@
<file>images/prev-40.png</file>
<file>images/reboot.png</file>
<file>images/shutdown.png</file>
- <file>images/sleep.png</file>
<file>images/waiting.png</file>
+ <file>images/suspend.png</file>
+ <file>images/hibernate.png</file>
<file>images/show-password.png</file>
<file>images/hide-password.png</file>
<file>images/login-button.png</file>
diff --git a/ukui-greeter/translations/es.ts b/ukui-greeter/translations/es.ts
index 6d26d1f..e049bd8 100755
--- a/ukui-greeter/translations/es.ts
+++ b/ukui-greeter/translations/es.ts
@@ -227,6 +227,10 @@
<source>Sleep</source>
<translation type="unfinished"></translation>
</message>
+ <message>
+ <source>Suspend</source>
+ <translation type="unfinished"></translation>
+ </message>
</context>
<context>
<name>PowerWindow</name>
diff --git a/ukui-greeter/translations/fr.ts b/ukui-greeter/translations/fr.ts
index 5b72883..e19a849 100755
--- a/ukui-greeter/translations/fr.ts
+++ b/ukui-greeter/translations/fr.ts
@@ -227,6 +227,10 @@
<source>Sleep</source>
<translation type="unfinished"></translation>
</message>
+ <message>
+ <source>Suspend</source>
+ <translation type="unfinished"></translation>
+ </message>
</context>
<context>
<name>PowerWindow</name>
diff --git a/ukui-greeter/translations/pt.ts b/ukui-greeter/translations/pt.ts
index e10359c..0bceb68 100755
--- a/ukui-greeter/translations/pt.ts
+++ b/ukui-greeter/translations/pt.ts
@@ -227,6 +227,10 @@
<source>Sleep</source>
<translation type="unfinished"></translation>
</message>
+ <message>
+ <source>Suspend</source>
+ <translation type="unfinished"></translation>
+ </message>
</context>
<context>
<name>PowerWindow</name>
diff --git a/ukui-greeter/translations/ru.ts b/ukui-greeter/translations/ru.ts
index e130d7a..a6daaa2 100755
--- a/ukui-greeter/translations/ru.ts
+++ b/ukui-greeter/translations/ru.ts
@@ -225,22 +225,27 @@
<context>
<name>PowerManager</name>
<message>
- <location filename="../greeter/powerwindow.cpp" line="131"/>
+ <location filename="../greeter/powerwindow.cpp" line="151"/>
<source>Switch User</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../greeter/powerwindow.cpp" line="171"/>
+ <location filename="../greeter/powerwindow.cpp" line="191"/>
+ <source>Suspend</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../greeter/powerwindow.cpp" line="206"/>
<source>Sleep</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../greeter/powerwindow.cpp" line="144"/>
+ <location filename="../greeter/powerwindow.cpp" line="164"/>
<source>Restart</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../greeter/powerwindow.cpp" line="157"/>
+ <location filename="../greeter/powerwindow.cpp" line="177"/>
<source>Power Off</source>
<translation type="unfinished"></translation>
</message>
diff --git a/ukui-greeter/translations/tr.ts b/ukui-greeter/translations/tr.ts
index 9c4a308..038cb99 100755
--- a/ukui-greeter/translations/tr.ts
+++ b/ukui-greeter/translations/tr.ts
@@ -284,26 +284,27 @@
<translation type="vanished">Kullanıcı Değiştir</translation>
</message>
<message>
- <location filename="../greeter/powerwindow.cpp" line="131"/>
+ <location filename="../greeter/powerwindow.cpp" line="151"/>
<source>Switch User</source>
<translation>Kullanıcı Değiştir</translation>
</message>
<message>
+ <location filename="../greeter/powerwindow.cpp" line="191"/>
<source>Suspend</source>
- <translation type="vanished">Askıya Al</translation>
+ <translation>Askıya Al</translation>
</message>
<message>
- <location filename="../greeter/powerwindow.cpp" line="171"/>
+ <location filename="../greeter/powerwindow.cpp" line="206"/>
<source>Sleep</source>
<translation>Uyku Modu</translation>
</message>
<message>
- <location filename="../greeter/powerwindow.cpp" line="144"/>
+ <location filename="../greeter/powerwindow.cpp" line="164"/>
<source>Restart</source>
<translation>Yeniden Başlat</translation>
</message>
<message>
- <location filename="../greeter/powerwindow.cpp" line="157"/>
+ <location filename="../greeter/powerwindow.cpp" line="177"/>
<source>Power Off</source>
<translation>Bilgisayarı Kapat</translation>
</message>
diff --git a/ukui-greeter/translations/zh_CN.ts b/ukui-greeter/translations/zh_CN.ts
index 751fa8f..d125780 100755
--- a/ukui-greeter/translations/zh_CN.ts
+++ b/ukui-greeter/translations/zh_CN.ts
@@ -296,26 +296,27 @@
<translation type="vanished">切换用户</translation>
</message>
<message>
- <location filename="../greeter/powerwindow.cpp" line="131"/>
+ <location filename="../greeter/powerwindow.cpp" line="151"/>
<source>Switch User</source>
<translation>切换用户</translation>
</message>
<message>
+ <location filename="../greeter/powerwindow.cpp" line="191"/>
<source>Suspend</source>
- <translation type="vanished">挂起</translation>
+ <translation>挂起</translation>
</message>
<message>
- <location filename="../greeter/powerwindow.cpp" line="171"/>
+ <location filename="../greeter/powerwindow.cpp" line="206"/>
<source>Sleep</source>
<translation>睡眠</translation>
</message>
<message>
- <location filename="../greeter/powerwindow.cpp" line="144"/>
+ <location filename="../greeter/powerwindow.cpp" line="164"/>
<source>Restart</source>
<translation>重启</translation>
</message>
<message>
- <location filename="../greeter/powerwindow.cpp" line="157"/>
+ <location filename="../greeter/powerwindow.cpp" line="177"/>
<source>Power Off</source>
<translation>关机</translation>
</message>
diff --git a/ukui-greeter/ukui-greeter.pro b/ukui-greeter/ukui-greeter.pro
index 929ef7b..a71b2d8 100755
--- a/ukui-greeter/ukui-greeter.pro
+++ b/ukui-greeter/ukui-greeter.pro
@@ -79,7 +79,7 @@ TRANSLATIONS += translations/zh_CN.ts \
translations/tr.ts \
translations/es.ts
-system("lrelease-qt5 translations/*.ts")
+system("lrelease translations/*.ts")
qm_file.files = translations/*.qm
qm_file.path = $${PREFIX}/translations/
--
2.30.0

View File

@ -1,7 +1,7 @@
%define debug_package %{nil} %define debug_package %{nil}
Name: ukui-greeter Name: ukui-greeter
Version: 3.0.1 Version: 3.0.1
Release: 7 Release: 8
Summary: Lightdm greeter for UKUI Summary: Lightdm greeter for UKUI
License: GPL-2.0 License: GPL-2.0
URL: http://www.ukui.org URL: http://www.ukui.org
@ -26,6 +26,7 @@ patch2: 0001-Avoid-problem-of-writing-Chinese-garbled-characters.patch
patch3: 0003-add-set-dpi.patch patch3: 0003-add-set-dpi.patch
patch4: 0004-Solve-the-problem-that-biometric-devices-cannot-read.patch patch4: 0004-Solve-the-problem-that-biometric-devices-cannot-read.patch
patch5: ukui-greeter-the-full-user-name-is-displayed-through-tooltip.patch patch5: ukui-greeter-the-full-user-name-is-displayed-through-tooltip.patch
patch6: 0001-add-pending-sleep-1126.patch
%description %description
A greeter for UKUI desktop environment written by Qt5. A greeter for UKUI desktop environment written by Qt5.
@ -39,6 +40,7 @@ A greeter for UKUI desktop environment written by Qt5.
%patch3 -p1 %patch3 -p1
%patch4 -p1 %patch4 -p1
%patch5 -p1 %patch5 -p1
%patch6 -p1
%build %build
@ -64,6 +66,9 @@ gzip -c ukui-greeter/man/ukui-greeter.8 > %{buildroot}/usr/share/man/man8/ukui-
%{_datadir}/xgreeters/ukui-greeter.desktop %{_datadir}/xgreeters/ukui-greeter.desktop
%changelog %changelog
* Fri Dec 10 2021 huayadong <huayadong@kylinos.cn> - 3.0.1-8
- add patch6:0001-add-pending-sleep-1126.patch
* Thu Dec 09 2021 huayadong <huayadong@kylinos.cn> - 3.0.1-7 * Thu Dec 09 2021 huayadong <huayadong@kylinos.cn> - 3.0.1-7
- add patch5:ukui-greeter-the-full-user-name-is-displayed-through-tooltip.patch - add patch5:ukui-greeter-the-full-user-name-is-displayed-through-tooltip.patch