fix alarm clock in all drop down boxes the highlig

This commit is contained in:
huayadong 2022-08-04 02:41:54 +08:00
parent a69ec8e3a0
commit 66d170541d
2 changed files with 440 additions and 1 deletions

View File

@ -0,0 +1,433 @@
From fbf1429ee827999b546112905310e3d15c31c1ff Mon Sep 17 00:00:00 2001
From: huayadong <yadong.hua@cs2c.com.cn>
Date: Thu, 3 Dec 2020 16:55:09 +0800
Subject: [PATCH] 25555 [alarm clock] in all drop-down boxes, the highlight
will not change with the mouse movement
---
src/plugins/ukui-clock/clock.cpp | 44 ++++++-------
.../ukui-clock/setAlarmRepeatDialog.cpp | 66 ++++++++++---------
src/plugins/ukui-clock/setAlarmRepeatDialog.h | 7 +-
src/plugins/ukui-clock/setupPage.cpp | 32 ++++-----
4 files changed, 78 insertions(+), 71 deletions(-)
diff --git a/src/plugins/ukui-clock/clock.cpp b/src/plugins/ukui-clock/clock.cpp
index 7a206b7..390f98e 100644
--- a/src/plugins/ukui-clock/clock.cpp
+++ b/src/plugins/ukui-clock/clock.cpp
@@ -460,7 +460,7 @@ void Clock::setup_init()
model_setup_set(); //设置数据库初始化
// Set database initialization
text_timerUpdate();
- ui->lineEdit->setMaxLength(9);//限制闹钟名字长度为9个字符
+ ui->lineEdit->setMaxLength(8);//限制闹钟名字长度为9个字符
//设置输入框无视空格
// QRegExp rx = QRegExp("[\40]*");
@@ -2264,9 +2264,9 @@ void Clock::alarm_repeat()
dialog_repeat->widget[8]->alarmLabel0->setText(tr("Sun"));
for (int i=0; i<7; i++) {
if (repeat_day[i]) {
- dialog_repeat->widget[i+2]->alarmLabel1->setIcon(repeat_on_Pixmap);
+ dialog_repeat->widget[i+2]->alarmLabel1->setPixmap(repeat_on_Pixmap);
} else {
- dialog_repeat->widget[i+2]->alarmLabel1->setIcon(repeat_off_Pixmap);
+ dialog_repeat->widget[i+2]->alarmLabel1->setPixmap(repeat_off_Pixmap);
}
}
dialog_repeat->show();
@@ -2294,7 +2294,7 @@ void Clock::repeat_listClickslot()
for (int i=0; i<7; i++) {
repeat_day[i] = 1;
qDebug() << repeat_day[i];
- dialog_repeat->widget[i+2]->alarmLabel1->setIcon(repeat_off_Pixmap);
+ dialog_repeat->widget[i+2]->alarmLabel1->setPixmap(repeat_off_Pixmap);
}
dialog_repeat->close();
@@ -2307,105 +2307,105 @@ void Clock::repeat_listClickslot()
if(model_setup->index(0, i+7).data().toInt()) {
repeat_day[i] = 1;
qDebug() << repeat_day[i];
- dialog_repeat->widget[i+2]->alarmLabel1->setIcon(repeat_on_Pixmap);
+ dialog_repeat->widget[i+2]->alarmLabel1->setPixmap(repeat_on_Pixmap);
} else {
repeat_day[i] = 0;
- dialog_repeat->widget[i+2]->alarmLabel1->setIcon(repeat_off_Pixmap);
+ dialog_repeat->widget[i+2]->alarmLabel1->setPixmap(repeat_off_Pixmap);
}
}
- dialog_repeat->widget[7]->alarmLabel1->setIcon(repeat_on_Pixmap);
- dialog_repeat->widget[8]->alarmLabel1->setIcon(repeat_on_Pixmap);
+ dialog_repeat->widget[7]->alarmLabel1->setPixmap(repeat_on_Pixmap);
+ dialog_repeat->widget[8]->alarmLabel1->setPixmap(repeat_on_Pixmap);
dialog_repeat->close();
return;
break;
case 2:
if (repeat_day[0] == 0 ) {
repeat_day[0] = 1;
- dialog_repeat->widget[2]->alarmLabel1->setIcon(repeat_on_Pixmap);
+ dialog_repeat->widget[2]->alarmLabel1->setPixmap(repeat_on_Pixmap);
} else {
if(repeat_day[1]== 0 && repeat_day[2]== 0 && repeat_day[3]== 0 && repeat_day[4]== 0 && repeat_day[5]== 0 && repeat_day[6]== 0){
//防止全部勾选被取消
}else{
repeat_day[0] = 0;
- dialog_repeat->widget[2]->alarmLabel1->setIcon(repeat_off_Pixmap);
+ dialog_repeat->widget[2]->alarmLabel1->setPixmap(repeat_off_Pixmap);
}
}
break;
case 3:
if(repeat_day[1] == 0 ) {
repeat_day[1] = 1;
- dialog_repeat->widget[3]->alarmLabel1->setIcon(repeat_on_Pixmap);
+ dialog_repeat->widget[3]->alarmLabel1->setPixmap(repeat_on_Pixmap);
} else {
if(repeat_day[0]== 0 && repeat_day[2]== 0 && repeat_day[3]== 0 && repeat_day[4]== 0 && repeat_day[5]== 0 && repeat_day[6]== 0){
}else{
repeat_day[1] = 0;
- dialog_repeat->widget[3]->alarmLabel1->setIcon(repeat_off_Pixmap);
+ dialog_repeat->widget[3]->alarmLabel1->setPixmap(repeat_off_Pixmap);
}
}
break;
case 4:
if (repeat_day[2] == 0 ) {
repeat_day[2] = 1;
- dialog_repeat->widget[4]->alarmLabel1->setIcon(repeat_on_Pixmap);
+ dialog_repeat->widget[4]->alarmLabel1->setPixmap(repeat_on_Pixmap);
} else {
if(repeat_day[1]== 0 && repeat_day[0]== 0 && repeat_day[3]== 0 && repeat_day[4]== 0 && repeat_day[5]== 0 && repeat_day[6]== 0){
}else{
repeat_day[2] = 0;
- dialog_repeat->widget[4]->alarmLabel1->setIcon(repeat_off_Pixmap);
+ dialog_repeat->widget[4]->alarmLabel1->setPixmap(repeat_off_Pixmap);
}
}
break;
case 5:
if (repeat_day[3] == 0 ) {
repeat_day[3] = 1;
- dialog_repeat->widget[5]->alarmLabel1->setIcon(repeat_on_Pixmap);
+ dialog_repeat->widget[5]->alarmLabel1->setPixmap(repeat_on_Pixmap);
} else {
if(repeat_day[1]== 0 && repeat_day[2]== 0 && repeat_day[0]== 0 && repeat_day[4]== 0 && repeat_day[5]== 0 && repeat_day[6]== 0){
}else{
repeat_day[3] = 0;
- dialog_repeat->widget[5]->alarmLabel1->setIcon(repeat_off_Pixmap);
+ dialog_repeat->widget[5]->alarmLabel1->setPixmap(repeat_off_Pixmap);
}
}
break;
case 6:
if (repeat_day[4] == 0 ) {
repeat_day[4] = 1;
- dialog_repeat->widget[6]->alarmLabel1->setIcon(repeat_on_Pixmap);
+ dialog_repeat->widget[6]->alarmLabel1->setPixmap(repeat_on_Pixmap);
} else {
if(repeat_day[1]== 0 && repeat_day[2]== 0 && repeat_day[3]== 0 && repeat_day[0]== 0 && repeat_day[5]== 0 && repeat_day[6]== 0){
}else{
repeat_day[4] = 0;
- dialog_repeat->widget[6]->alarmLabel1->setIcon(repeat_off_Pixmap);
+ dialog_repeat->widget[6]->alarmLabel1->setPixmap(repeat_off_Pixmap);
}
}
break;
case 7:
if (repeat_day[5] == 0 ) {
repeat_day[5] = 1;
- dialog_repeat->widget[7]->alarmLabel1->setIcon(repeat_on_Pixmap);
+ dialog_repeat->widget[7]->alarmLabel1->setPixmap(repeat_on_Pixmap);
} else {
if(repeat_day[1]== 0 && repeat_day[2]== 0 && repeat_day[3]== 0 && repeat_day[4]== 0 && repeat_day[0]== 0 && repeat_day[6]== 0){
}else{
repeat_day[5] = 0;
- dialog_repeat->widget[7]->alarmLabel1->setIcon(repeat_off_Pixmap);
+ dialog_repeat->widget[7]->alarmLabel1->setPixmap(repeat_off_Pixmap);
}
}
break;
case 8:
if (repeat_day[6] == 0 ) {
repeat_day[6] = 1;
- dialog_repeat->widget[8]->alarmLabel1->setIcon(repeat_on_Pixmap);
+ dialog_repeat->widget[8]->alarmLabel1->setPixmap(repeat_on_Pixmap);
} else {
if(repeat_day[1]== 0 && repeat_day[2]== 0 && repeat_day[3]== 0 && repeat_day[4]== 0 && repeat_day[5]== 0 && repeat_day[0]== 0){
}else{
repeat_day[6] = 0;
- dialog_repeat->widget[8]->alarmLabel1->setIcon(repeat_off_Pixmap);
+ dialog_repeat->widget[8]->alarmLabel1->setPixmap(repeat_off_Pixmap);
}
}
break;
diff --git a/src/plugins/ukui-clock/setAlarmRepeatDialog.cpp b/src/plugins/ukui-clock/setAlarmRepeatDialog.cpp
index 9aed9b0..0787fff 100644
--- a/src/plugins/ukui-clock/setAlarmRepeatDialog.cpp
+++ b/src/plugins/ukui-clock/setAlarmRepeatDialog.cpp
@@ -32,8 +32,8 @@ set_alarm_repeat_Dialog::set_alarm_repeat_Dialog(QWidget *parent , int rowNum )
QWidget(parent)
{
setupUi(this);
- this->setStyleSheet("border-radius:4px;border:0px rgba();");
- this->listWidget->setStyleSheet("background-color: rgba(255, 255, 255,0);");
+ //this->setStyleSheet("border-radius:4px;border:0px rgba();");
+ //this->listWidget->setStyleSheet("background-color: rgba(233,233,233,0);");
this->setWindowOpacity(0.9);
for (int i = 0; i < rowNum_all; i++) {
@@ -56,7 +56,7 @@ void set_alarm_repeat_Dialog::set_aItem(int rowNum)
{
aItem[rowNum] =new QListWidgetItem;
aItem[rowNum]->setSizeHint(QSize(276, 32));
-// aItem[rowNum]->setTextColor(QColor(255, 0, 0, 255));
+ aItem[rowNum]->setTextColor(QColor(255, 0, 0, 255));
listWidget->addItem(aItem[rowNum]);
listWidget->setVerticalScrollBarPolicy(Qt::ScrollBarAlwaysOff);
listWidget->setHorizontalScrollBarPolicy(Qt::ScrollBarAlwaysOff);
@@ -74,7 +74,7 @@ void set_alarm_repeat_Dialog::setupUi(QWidget( *set_alarm_repeat_Dialog))
listWidget = new QListWidget(set_alarm_repeat_Dialog);
listWidget->setObjectName(QString::fromUtf8("listWidget"));
listWidget->setGeometry(QRect(0, 0, 280, 162));
- //listWidget->setStyleSheet("selection-background-color: rgba(39,207,129,0.9);");
+// listWidget->setStyleSheet("selection-background-color: rgba(39,207,129,0.9);");
retranslateUi(set_alarm_repeat_Dialog);
@@ -117,10 +117,37 @@ void set_alarm_repeat_Dialog::paintEvent(QPaintEvent *event)
QWidget::paintEvent(event);
}
+bool set_alarm_repeat_Dialog::eventFilter(QObject *watched, QEvent *event)
+{
+ if(watched == listWidget && event->type() == QEvent::Paint)
+ {
+ showPaint(); //响应函数
+ }
+ return QWidget::eventFilter(watched,event);
+}
+
+//实现响应函数 listwidget上色
+void set_alarm_repeat_Dialog::showPaint()
+{
+ QPalette palette = listWidget->palette();
+ QColor ColorPlaceholderText(248,163,76,255);
+ QBrush brush3;
+ brush3.setColor(ColorPlaceholderText);
+ QStyleOption opt;
+ opt.init(this);
+ if(QColor(255,255,255) == opt.palette.color(QPalette::Base) || QColor(248,248,248) == opt.palette.color(QPalette::Base))
+ {
+ palette.setBrush(QPalette::Background, QBrush(QColor(133, 233, 233)));
+ }else{
+ palette.setBrush(QPalette::Background, QBrush(QColor(48,48,51)));
+ }
+ listWidget->setPalette(palette);
+}
+
+
set_alarm_repeat_widget::set_alarm_repeat_widget(QWidget *parent):
QWidget(parent)
{
- //this->setStyleSheet("border-radius:12px;");
this->setFixedSize(276, 32);
alarmLabel0 = new QLabel(this);
@@ -129,7 +156,7 @@ set_alarm_repeat_widget::set_alarm_repeat_widget(QWidget *parent):
alarmLabel0->setStyleSheet("background-color: rgb();");
alarmLabel0->setText("选项");
- alarmLabel1 = new QPushButton(this);
+ alarmLabel1 = new ClickableLabel(this);
alarmLabel1->move(240, 0);
alarmLabel1->setFixedSize(34, 32);
alarmLabel1->setStyleSheet("background-color: rgb();");
@@ -145,30 +172,5 @@ set_alarm_repeat_widget::~set_alarm_repeat_widget()
void set_alarm_repeat_widget::paintEvent(QPaintEvent *event)
{
-// Q_UNUSED(event);
-// QPainter painter(this);
-// painter.setRenderHint(QPainter::Antialiasing); // 反锯齿;
-
-// QStyleOption opt;
-// opt.init(this);
-// painter.setBrush(opt.palette.color(QPalette::Base));
-
-// if(QColor(255,255,255) == opt.palette.color(QPalette::Base) || QColor(248,248,248) == opt.palette.color(QPalette::Base))
-// {
-// painter.setBrush(QColor(121,121,121));
-// }else{
-// painter.setBrush(QColor(48,48,51));
-// }
-
-// painter.setPen(Qt::transparent);
-// QRect rect = this->rect();
-// rect.setWidth(rect.width() - 0);
-// rect.setHeight(rect.height() - 0);
-// painter.drawRoundedRect(rect, 7, 7);
-// {
-// QPainterPath painterPath;
-// painterPath.addRoundedRect(rect, 7, 7);
-// painter.drawPath(painterPath);
-// }
-// QWidget::paintEvent(event);
+
}
diff --git a/src/plugins/ukui-clock/setAlarmRepeatDialog.h b/src/plugins/ukui-clock/setAlarmRepeatDialog.h
index 2d7b87c..37938a2 100644
--- a/src/plugins/ukui-clock/setAlarmRepeatDialog.h
+++ b/src/plugins/ukui-clock/setAlarmRepeatDialog.h
@@ -22,6 +22,7 @@
#include <QListWidgetItem>
#include <QLabel>
#include <QPainter>
+#include "clickableLabel.h"
namespace Ui {
class set_alarm_repeat_Dialog;
@@ -39,6 +40,9 @@ public:
~set_alarm_repeat_Dialog();
void paintEvent(QPaintEvent *event);
+ bool eventFilter(QObject *watched, QEvent *event);
+
+ void showPaint();
set_alarm_repeat_widget *widget[20];
QListWidgetItem *aItem[20];
@@ -67,7 +71,8 @@ public:
void paintEvent(QPaintEvent *event);
QLabel *alarmLabel0;
- QPushButton *alarmLabel1;
+ //QPushButton
+ ClickableLabel *alarmLabel1;
private:
diff --git a/src/plugins/ukui-clock/setupPage.cpp b/src/plugins/ukui-clock/setupPage.cpp
index 8f7d06e..f6bceba 100644
--- a/src/plugins/ukui-clock/setupPage.cpp
+++ b/src/plugins/ukui-clock/setupPage.cpp
@@ -217,9 +217,9 @@ void setuppage::werk_day_set()
for (int i=0; i<7; i++) {
if (model_setup->index(0, i+7).data().toInt()) {
- dialog_werk_day->widget[i]->alarmLabel1->setIcon(repeat_on_Pixmap);
+ dialog_werk_day->widget[i]->alarmLabel1->setPixmap(repeat_on_Pixmap);
} else {
- dialog_werk_day->widget[i]->alarmLabel1->setIcon(repeat_off_Pixmap);
+ dialog_werk_day->widget[i]->alarmLabel1->setPixmap(repeat_off_Pixmap);
}
}
dialog_werk_day->show();
@@ -252,11 +252,11 @@ void setuppage::werk_day_listClickslot()
model_setup->index(0, 13).data().toInt()==0){
}else{
model_setup->setData(model_setup->index(0, 7), 0);
- dialog_werk_day->widget[0]->alarmLabel1->setIcon(repeat_off_Pixmap);
+ dialog_werk_day->widget[0]->alarmLabel1->setPixmap(repeat_off_Pixmap);
}
}else{
model_setup->setData(model_setup->index(0, 7), 1);
- dialog_werk_day->widget[0]->alarmLabel1->setIcon(repeat_on_Pixmap);
+ dialog_werk_day->widget[0]->alarmLabel1->setPixmap(repeat_on_Pixmap);
}
break;
@@ -271,11 +271,11 @@ void setuppage::werk_day_listClickslot()
model_setup->index(0, 13).data().toInt()==0 ){
}else{
model_setup->setData(model_setup->index(0, 8), 0);
- dialog_werk_day->widget[1]->alarmLabel1->setIcon(repeat_off_Pixmap);
+ dialog_werk_day->widget[1]->alarmLabel1->setPixmap(repeat_off_Pixmap);
}
}else{
model_setup->setData(model_setup->index(0, 8), 1);
- dialog_werk_day->widget[1]->alarmLabel1->setIcon(repeat_on_Pixmap);
+ dialog_werk_day->widget[1]->alarmLabel1->setPixmap(repeat_on_Pixmap);
}
break;
@@ -290,11 +290,11 @@ void setuppage::werk_day_listClickslot()
model_setup->index(0, 13).data().toInt()==0 ){
}else{
model_setup->setData(model_setup->index(0, 9), 0);
- dialog_werk_day->widget[2]->alarmLabel1->setIcon(repeat_off_Pixmap);
+ dialog_werk_day->widget[2]->alarmLabel1->setPixmap(repeat_off_Pixmap);
}
}else{
model_setup->setData(model_setup->index(0, 9), 1);
- dialog_werk_day->widget[2]->alarmLabel1->setIcon(repeat_on_Pixmap);
+ dialog_werk_day->widget[2]->alarmLabel1->setPixmap(repeat_on_Pixmap);
}
break;
@@ -309,11 +309,11 @@ void setuppage::werk_day_listClickslot()
model_setup->index(0, 13).data().toInt()==0 ){
}else{
model_setup->setData(model_setup->index(0, 10), 0);
- dialog_werk_day->widget[3]->alarmLabel1->setIcon(repeat_off_Pixmap);
+ dialog_werk_day->widget[3]->alarmLabel1->setPixmap(repeat_off_Pixmap);
}
}else{
model_setup->setData(model_setup->index(0, 10), 1);
- dialog_werk_day->widget[3]->alarmLabel1->setIcon(repeat_on_Pixmap);
+ dialog_werk_day->widget[3]->alarmLabel1->setPixmap(repeat_on_Pixmap);
}
break;
@@ -327,11 +327,11 @@ void setuppage::werk_day_listClickslot()
model_setup->index(0, 13).data().toInt()==0 ){
}else{
model_setup->setData(model_setup->index(0, 11), 0);
- dialog_werk_day->widget[4]->alarmLabel1->setIcon(repeat_off_Pixmap);
+ dialog_werk_day->widget[4]->alarmLabel1->setPixmap(repeat_off_Pixmap);
}
} else {
model_setup->setData(model_setup->index(0, 11), 1);
- dialog_werk_day->widget[4]->alarmLabel1->setIcon(repeat_on_Pixmap);
+ dialog_werk_day->widget[4]->alarmLabel1->setPixmap(repeat_on_Pixmap);
}
break;
@@ -345,11 +345,11 @@ void setuppage::werk_day_listClickslot()
model_setup->index(0, 13).data().toInt()==0 ){
}else{
model_setup->setData(model_setup->index(0, 12), 0);
- dialog_werk_day->widget[5]->alarmLabel1->setIcon(repeat_off_Pixmap);
+ dialog_werk_day->widget[5]->alarmLabel1->setPixmap(repeat_off_Pixmap);
}
} else {
model_setup->setData(model_setup->index(0, 12), 1);
- dialog_werk_day->widget[5]->alarmLabel1->setIcon(repeat_on_Pixmap);
+ dialog_werk_day->widget[5]->alarmLabel1->setPixmap(repeat_on_Pixmap);
}
break;
@@ -363,11 +363,11 @@ void setuppage::werk_day_listClickslot()
model_setup->index(0, 7).data().toInt()==0 ){
}else{
model_setup->setData(model_setup->index(0, 13), 0);
- dialog_werk_day->widget[6]->alarmLabel1->setIcon(repeat_off_Pixmap);
+ dialog_werk_day->widget[6]->alarmLabel1->setPixmap(repeat_off_Pixmap);
}
} else {
model_setup->setData(model_setup->index(0, 13), 1);
- dialog_werk_day->widget[6]->alarmLabel1->setIcon(repeat_on_Pixmap);
+ dialog_werk_day->widget[6]->alarmLabel1->setPixmap(repeat_on_Pixmap);
}
break;
--
2.33.0

View File

@ -1,12 +1,14 @@
%define debug_package %{nil}
Name: ukui-sidebar
Version: 3.0.1
Release: 10
Release: 11
Summary: parallels toolbox for UKUI
License: GPL-3+
URL: http://www.ukui.org
Source0: %{name}-%{version}.tar.gz
Patch0: 0001-25555-alarm-clock-in-all-drop-down-boxes-the-highlig.patch
BuildRequires: glib2-devel
BuildRequires: qt5-qtbase-devel
BuildRequires: qt5-qtsvg-devel
@ -38,6 +40,7 @@ Requires: qt5-qtx11extras-devel
%prep
%setup -q
%patch0 -p1
%build
mkdir build && cd build
@ -82,6 +85,9 @@ done
%{_datadir}/ukui-clock/
%changelog
* Wed Aug 8 2022 huayadong <huayadong@kylinos.cn> - 3.0.1-11
- fix alarm clock in all drop down boxes the highlig
* Mon May 09 2022 pei-jiankang <peijiankang@kylinos.cn> - 3.0.1-10
- add qt5-qtx11extras-devel Requires