diff --git a/0001-add-pending-sleep-1126.patch b/0001-add-pending-sleep-1126.patch new file mode 100644 index 0000000..60559a3 --- /dev/null +++ b/0001-add-pending-sleep-1126.patch @@ -0,0 +1,502 @@ +From 0e530957ee07705b666c88346a52f68c6e35fc1a Mon Sep 17 00:00:00 2001 +From: huayadong +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 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 + #include + #include +-#include + #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 + #include + #include +-#include + #include + #include + #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 @@ + images/prev-40.png + images/reboot.png + images/shutdown.png +- images/sleep.png + images/waiting.png ++ images/suspend.png ++ images/hibernate.png + images/show-password.png + images/hide-password.png + images/login-button.png +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 @@ + Sleep + + ++ ++ Suspend ++ ++ + + + PowerWindow +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 @@ + Sleep + + ++ ++ Suspend ++ ++ + + + PowerWindow +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 @@ + Sleep + + ++ ++ Suspend ++ ++ + + + PowerWindow +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 @@ + + PowerManager + +- ++ + Switch User + + + +- ++ ++ Suspend ++ ++ ++ ++ + Sleep + + + +- ++ + Restart + + + +- ++ + Power Off + + +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 @@ + Kullanıcı Değiştir + + +- ++ + Switch User + Kullanıcı Değiştir + + ++ + Suspend +- Askıya Al ++ Askıya Al + + +- ++ + Sleep + Uyku Modu + + +- ++ + Restart + Yeniden Başlat + + +- ++ + Power Off + Bilgisayarı Kapat + +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 @@ + 切换用户 + + +- ++ + Switch User + 切换用户 + + ++ + Suspend +- 挂起 ++ 挂起 + + +- ++ + Sleep + 睡眠 + + +- ++ + Restart + 重启 + + +- ++ + Power Off + 关机 + +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 + diff --git a/ukui-greeter.spec b/ukui-greeter.spec index 8d7f723..10450b8 100644 --- a/ukui-greeter.spec +++ b/ukui-greeter.spec @@ -1,7 +1,7 @@ %define debug_package %{nil} Name: ukui-greeter Version: 3.0.1 -Release: 7 +Release: 8 Summary: Lightdm greeter for UKUI License: GPL-2.0 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 patch4: 0004-Solve-the-problem-that-biometric-devices-cannot-read.patch patch5: ukui-greeter-the-full-user-name-is-displayed-through-tooltip.patch +patch6: 0001-add-pending-sleep-1126.patch %description A greeter for UKUI desktop environment written by Qt5. @@ -39,6 +40,7 @@ A greeter for UKUI desktop environment written by Qt5. %patch3 -p1 %patch4 -p1 %patch5 -p1 +%patch6 -p1 %build @@ -64,6 +66,9 @@ gzip -c ukui-greeter/man/ukui-greeter.8 > %{buildroot}/usr/share/man/man8/ukui- %{_datadir}/xgreeters/ukui-greeter.desktop %changelog +* Fri Dec 10 2021 huayadong - 3.0.1-8 +- add patch6:0001-add-pending-sleep-1126.patch + * Thu Dec 09 2021 huayadong - 3.0.1-7 - add patch5:ukui-greeter-the-full-user-name-is-displayed-through-tooltip.patch