From 66d170541d56b054871e5186fa2f8ed21ec554ea Mon Sep 17 00:00:00 2001 From: huayadong Date: Thu, 4 Aug 2022 02:41:54 +0800 Subject: [PATCH] fix alarm clock in all drop down boxes the highlig --- ...k-in-all-drop-down-boxes-the-highlig.patch | 433 ++++++++++++++++++ ukui-sidebar.spec | 8 +- 2 files changed, 440 insertions(+), 1 deletion(-) create mode 100644 0001-25555-alarm-clock-in-all-drop-down-boxes-the-highlig.patch diff --git a/0001-25555-alarm-clock-in-all-drop-down-boxes-the-highlig.patch b/0001-25555-alarm-clock-in-all-drop-down-boxes-the-highlig.patch new file mode 100644 index 0000000..c356f77 --- /dev/null +++ b/0001-25555-alarm-clock-in-all-drop-down-boxes-the-highlig.patch @@ -0,0 +1,433 @@ +From fbf1429ee827999b546112905310e3d15c31c1ff Mon Sep 17 00:00:00 2001 +From: huayadong +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 + #include + #include ++#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 + diff --git a/ukui-sidebar.spec b/ukui-sidebar.spec index c1b38da..fcc116e 100644 --- a/ukui-sidebar.spec +++ b/ukui-sidebar.spec @@ -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 - 3.0.1-11 +- fix alarm clock in all drop down boxes the highlig + * Mon May 09 2022 pei-jiankang - 3.0.1-10 - add qt5-qtx11extras-devel Requires