diff -Nru ukui-clock-4.0.0.0/clock.cpp ukui-clock-4.0.0.0/clock.cpp --- ukui-clock-4.0.0.0/clock.cpp 2024-08-27 11:08:36.000000000 +0800 +++ ukui-clock-4.0.0.0/clock.cpp 2025-03-18 10:19:06.000000000 +0800 @@ -90,13 +90,23 @@ //ui 构造代码 ui->setupUi(this); //重新构建组件 + //闹钟、倒计时、秒表按钮 switchWidget = new QWidget(ui->titileWidget); + // 闹钟 switchClock = new KPushButton(switchWidget); + // 倒计时 switchCountdown = new KPushButton(switchWidget); + // 秒表 switchStopwatch = new KPushButton(switchWidget); + mainWidget = new QStackedWidget(ui->titileWidget); + // 倒计时页面 countdownPage = new QWidget(this->mainWidget); + // 闹钟页面 alarmPage = new QWidget(this->mainWidget); + + + // 秒表页面 stopwatchPage = new QWidget(this->mainWidget); addAlarmPage = new QWidget(this->mainWidget); //绑定页面 @@ -107,30 +117,40 @@ mainWidget->setCurrentIndex(1); countdownStackedW = new QStackedWidget(countdownPage); + // 倒计时设置页面 countdownSetPage = new QWidget(countdownStackedW); + // 倒计时页面 countdownRunPage = new Countdown_Animation(countdownStackedW); countdownStackedW->addWidget(countdownSetPage); countdownStackedW->addWidget(countdownRunPage); countdownStackedW->setCurrentIndex(0); - + // 倒计时-开始 startCountSingle = new QPushButton(countdownSetPage); alarmWidget = new QWidget(countdownRunPage); btnWidget = new QWidget(countdownRunPage); timeWidget = new QWidget(countdownRunPage); tinyWidget = new QWidget(countdownRunPage); + // 倒计时-run-闹铃 countdownAlarmIcon = new QLabel(alarmWidget); + // 倒计时-run-时间 countdownAlarmTime = new QLabel(alarmWidget); startCountdownBtn = new QPushButton(btnWidget); - suspendCountdownBtn = new QPushButton(btnWidget); + suspendCountdownBtn = new kdk::KPushButton(btnWidget); + // 倒计时-数字 remainTime = new QLabel(timeWidget); tinyWindowBtn = new QPushButton(tinyWidget); + // 闹钟-添加 addAlarmBtn = new QPushButton(this->alarmPage); alarmListWidget = new QListWidget(alarmPage); + // 闹钟-无闹钟 noAlarm = new QLabel(alarmPage); + // 闹钟-无闹钟 noAlarmIcon = new QLabel(alarmPage); + + //秒表页面 - ringBtn = new QPushButton(stopwatchPage); - startStopwatch = new QPushButton(stopwatchPage); + ringBtn = new kdk::KPushButton(stopwatchPage); + startStopwatch = new kdk::KPushButton(stopwatchPage); timeListWidget = new QListWidget(stopwatchPage); timeShowBig = new QLabel(stopwatchPage); timeShowSmall = new QLabel(stopwatchPage); @@ -313,6 +333,8 @@ aa=qMin(desktopX,desktopY); bb=qMax(desktopX,desktopY); } + // 改用Qt的为WindowFullScreen接口实现全屏 + setWindowState(windowState() | Qt::WindowFullScreen); this->setFixedSize(aa,bb); //导航栏 switchWidget->setGeometry(0,76,this->width(),80); @@ -412,7 +434,6 @@ switchCountdown->move(175,9); switchStopwatch->move(241,9); - //主页 mainWidget->setGeometry(0,106,398,465); countdownPage->setGeometry(0,0,398,465); @@ -434,7 +455,7 @@ timeWidget->setGeometry(14,100,361,77); tinyWidget->setGeometry(9,174,361,40); - countdownAlarmIcon->setGeometry(150,22,24,26); + countdownAlarmIcon->setGeometry(138,22,24,26); countdownAlarmTime->setGeometry(168,9,60,52); QFont f; f.setFamily("NotoSansCJKsc-Regular"); @@ -530,6 +551,7 @@ //重写关闭事件 void Clock::closeEvent(QCloseEvent *event) { + windowClosingClicked(); // closeHandel(); // if(close_or_hide_page->close_flag==1){ @@ -542,9 +564,9 @@ // }else{ // event->ignore(); // } - close_or_hide_page->close_flag=2; +// close_or_hide_page->close_flag=2; event->accept(); - exit(0); +// exit(0); return; } @@ -874,7 +896,7 @@ //提醒铃声 倒计时页面运行页 countdownBellLabelOnRun = new QLabel(countdownRunPage); - int moveHeight = 330; + int moveHeight = 335; //闹钟名称 新建闹钟 clockNamelabel = new QLabel(editAlarmPage); @@ -1129,11 +1151,11 @@ //闹钟名称 clockEditOnClockNew = new QLineEdit(editAlarmPage); clockEditOnClockNew->setMaxLength(16); - + connect(clockEditOnClockNew, &QLineEdit::textChanged, this, &Clock::textChanged); /*设置输入框无视空格,过滤特殊字符*/ - QRegExp rx = QRegExp("^[\u4E00-\u9FA5A-Za-z0-9_]+$"); - QRegExpValidator* validator = new QRegExpValidator(rx); - clockEditOnClockNew->setValidator(validator); +// QRegExp rx = QRegExp("^[\u4E00-\u9FA5A-Za-z0-9_]+$"); +// QRegExpValidator* validator = new QRegExpValidator(rx); +// clockEditOnClockNew->setValidator(validator); //倒计时的铃声 QString bellId = model_setup->index(0, 1).data().toString(); @@ -1634,17 +1656,21 @@ void Clock::windowClosingClicked() { ui->titileWidget->setVisible(true); - closeHandel(); - - if(close_or_hide_page->close_flag==1){ -// setWindowState(Qt::WindowMinimized); - this->hide(); - //加入托盘 - enableTrayIcon(); - close_or_hide_page->close_flag = 0; - }else if(close_or_hide_page->close_flag==2){ - exit(0); - } + this->hide(); + //加入托盘 + enableTrayIcon(); + close_or_hide_page->close_flag = 0; +// closeHandel(); + +// if(close_or_hide_page->close_flag==1){ +//// setWindowState(Qt::WindowMinimized); +// this->hide(); +// //加入托盘 +// enableTrayIcon(); +// close_or_hide_page->close_flag = 0; +// }else if(close_or_hide_page->close_flag==2){ +// exit(0); +// } } /* @@ -1662,6 +1688,11 @@ //静音反转 m_muteOn = !m_muteOn; QPixmap pixmap = QPixmap(":/image/miniIcon/mute-off.png"); + if(currentTheme->themetype == 0){ + pixmap = QPixmap(":/image/miniIcon/mute-off.png"); + }else{ + pixmap = QPixmap(":/image/miniIcon/mute-off-dark.png"); + } if(m_muteOn){ pixmap = QPixmap(":/image/miniIcon/mute-on.png"); } @@ -1989,15 +2020,15 @@ muteBtn->move(this->width()-210,13); }else{ muteBtn->setFixedSize(30,30); - muteBtn->move(238,5); + QString systemLang = QLocale::system().name(); + if(systemLang=="ug_CN"||systemLang=="kk_KZ"||systemLang=="ky_KG"){ + muteBtn->move(104,5); + }else{ + muteBtn->move(238,5); + } } int mute = model_setup->index(0, 0).data().toInt(); m_muteOn = mute==1?true:false; - QPixmap pixmap = QPixmap(":/image/miniIcon/mute-off.png"); - if(m_muteOn){ - pixmap = QPixmap(":/image/miniIcon/mute-on.png"); - } - muteBtn->setIcon(pixmap); muteBtn->setIconSize(QSize(32, 32)); QPainter p(muteBtn); //表示引擎应尽可能对图元的边缘进行抗锯齿。 @@ -2072,7 +2103,10 @@ otherWindowshown =true; aboutDialog->exec(); }); - connect(m_closeAction, SIGNAL(triggered()), this, SLOT(windowClosingClicked())); +// connect(m_closeAction, SIGNAL(triggered()), this, SLOT(windowClosingClicked())); + connect(m_closeAction, &QAction::triggered, this, [=](){ + exit(0); + }); } /* * @brief 检查小窗体是否初始化 @@ -2422,6 +2456,7 @@ // } // }); //闹钟信息 + int value = sqlQuery.value(3).toInt(); w1[alarmNum] = new item_new(alarmListWidget); //信息与展示窗体绑定 alarmListWidget->setItemWidget(aItem[alarmNum],w1[alarmNum]); @@ -2550,6 +2585,43 @@ noAlarm->setAlignment(Qt::AlignHCenter); } +void Clock::textChanged(const QString &arg1) +{ + QString str = arg1; + str.replace("~", ""); + str.replace("`", ""); + str.replace("!", ""); + str.replace("@", ""); + str.replace("#", ""); + str.replace("$", ""); + str.replace("%", ""); + str.replace("^", ""); + str.replace("&", ""); + str.replace("*", ""); + str.replace("(", ""); + str.replace(")", ""); + str.replace("_", ""); + str.replace("-", ""); + str.replace("+", ""); + str.replace("=", ""); + str.replace("[", ""); + str.replace("]", ""); + str.replace("{", ""); + str.replace("}", ""); + str.replace("\\", ""); + str.replace("|", ""); + str.replace("'", ""); + str.replace(",", ""); + str.replace(".", ""); + str.replace("?", ""); + str.replace("<", ""); + str.replace(">", ""); + str.replace(" ", ""); + + clockEditOnClockNew->setText(str); + +} + /* * 修改时间单数 为两位数 * Modify time singular to two digits @@ -3017,7 +3089,7 @@ setMusicSelectDialogListById(bellId,dialog_music); //重复 - remind_late_str_model = sqlQuery.value( 15).toString(); + remind_late_str_model = sqlQuery.value( 15).toString(); qDebug()<<"从数据库查稍后"<<remind_late_str_model; int status = getRemindStatusByName(remind_late_str_model); remind_late_str_model = getRemindLateStrFromNum(status); @@ -3183,10 +3255,17 @@ } QString id = w1[i]->id(); auto sqlQuery = getClockByPK(id); + // 关闭闹钟 if (sqlQuery.value(3).toInt() == 0) { w1[i]->closeStyle(CURRENT_FONT_SIZE); + if(alarmNoticeDialog != nullptr && alarmNoticeDialog->timer_xumhuan->isActive()){ + alarmNoticeDialog->timer_xumhuan->stop(); + } updateClockDatabase(id,nullptr,nullptr,nullptr,1); - } else { + + } + // 打开闹钟 + else { w1[i]->openStyle(CURRENT_FONT_SIZE); updateClockDatabase(id,nullptr,nullptr,nullptr,0); } @@ -4693,6 +4772,8 @@ //黑色主题 void Clock::blackStyle() { + // welcome 环境下,窗口底层一直处于未激活状态,修改完主题设置后重新激活窗口,保证显示正常 + kdk::WindowManager::activateWindow(m_pid); timeShowBig->setStyleSheet("color: rgba(255, 255, 255, 0.9);font-size:38px;"); // QString selfFont = Utils::loadFontFamilyFromTTF(); // QFont f(selfFont); @@ -4709,12 +4790,19 @@ widgetListBlackStyle(timeListWidget); QString itemRadius = QString::number(ITEM_RADIUS); tinyWindowBtn->setIcon(QIcon(":image/switchIconW.png")); + QPixmap pixmap = QPixmap(":/image/miniIcon/mute-off-dark.png"); + if(m_muteOn){ + pixmap = QPixmap(":/image/miniIcon/mute-on.png"); + } + muteBtn->setIcon(pixmap); updateSwitchBtnStyle(); repeat_on_Pixmap=theme::changeIconColor(repeat_on_Pixmap,palette().highlightedText().color()); } //白色主题 void Clock::whiteStyle() { + // welcome 环境下,窗口底层一直处于未激活状态,修改完主题设置后重新激活窗口,保证显示正常 + kdk::WindowManager::activateWindow(m_pid); timeShowBig->setStyleSheet("color: rgba(49, 66, 89, 1);font-size:38px;"); // QString selfFont = Utils::loadFontFamilyFromTTF(); // QFont f(selfFont); @@ -4730,6 +4818,11 @@ widgetListWhiteStyle(timeListWidget); QString itemRadius = QString::number(ITEM_RADIUS); tinyWindowBtn->setIcon(QIcon(":image/switchIconB.png")); + QPixmap pixmap = QPixmap(":/image/miniIcon/mute-off.png"); + if(m_muteOn){ + pixmap = QPixmap(":/image/miniIcon/mute-on.png"); + } + muteBtn->setIcon(pixmap); updateSwitchBtnStyle(); repeat_on_Pixmap = QPixmap(":/image/object-select-symbolic.png"); } diff -Nru ukui-clock-4.0.0.0/clock.h ukui-clock-4.0.0.0/clock.h --- ukui-clock-4.0.0.0/clock.h 2024-08-27 11:08:36.000000000 +0800 +++ ukui-clock-4.0.0.0/clock.h 2025-03-18 10:19:06.000000000 +0800 @@ -110,6 +110,7 @@ #include <kpushbutton.h> #include "noticealarmpoolutil.h" #include "customcombox.h" +#include "kpushbutton.h" #include "countdownAnimation.h" class QDialog; @@ -203,6 +204,7 @@ // Draw no alarm prompt private slots: + void textChanged(const QString &arg1); void buttonImageInit(); // 闹钟按钮图片初始化 // Alarm button picture initialization void CountdownInit(); // 倒计时页初始化 @@ -357,17 +359,17 @@ QLabel *countdownAlarmTime; QWidget *btnWidget; QPushButton *startCountdownBtn; - QPushButton *suspendCountdownBtn; + kdk::KPushButton *suspendCountdownBtn; QWidget *alarmPage; QPushButton *addAlarmBtn; QListWidget *alarmListWidget; QLabel *noAlarmIcon; QLabel *noAlarm; QWidget *stopwatchPage; - QPushButton *startStopwatch; + kdk::KPushButton *startStopwatch; QLabel *timeShowSmall; QLabel *timeShowBig; - QPushButton *ringBtn; + kdk::KPushButton *ringBtn; QListWidget *timeListWidget; QWidget *addAlarmPage; QWidget *editAlarmPage; diff -Nru ukui-clock-4.0.0.0/debian/changelog ukui-clock-4.0.0.0/debian/changelog --- ukui-clock-4.0.0.0/debian/changelog 2024-08-27 11:08:36.000000000 +0800 +++ ukui-clock-4.0.0.0/debian/changelog 2025-03-18 10:19:06.000000000 +0800 @@ -1,3 +1,106 @@ +ukui-clock (4.0.0.0-ok3.24) nile; urgency=medium + + * BUG: 无 + * 需求号: 无 + * 其他改动说明: 更新蒙古文翻译 + * 其他改动影响域: 无 + + -- zhouying <zhouying@kylinos.cn> Tue, 18 Mar 2025 10:19:06 +0800 + +ukui-clock (4.0.0.0-ok3.23) nile; urgency=medium + + * BUG: 无 + * 需求号: 无 + * 其他改动说明: 更新蒙古文翻译 + * 其他改动影响域: 无 + + -- zhouying <zhouying@kylinos.cn> Mon, 17 Mar 2025 15:10:43 +0800 + +ukui-clock (4.0.0.0-ok3.22) nile; urgency=medium + + * BUG: #I8X7Y4【闹钟】平板模式下窗口仍显示圆角,预期应铺满全屏 + * 需求号: 无 + * 其他改动说明: 无 + * 其他改动影响域: 无 + + -- zhouying <zhouying@kylinos.cn> Wed, 12 Mar 2025 17:29:21 +0800 + +ukui-clock (4.0.0.0-ok3.21) nile; urgency=medium + + * BUG: #I8J7JM【闹钟】倒计时设置页控件对齐问题 + * 需求号: 无 + * 其他改动说明: 无 + * 其他改动影响域: 无 + + -- zhouying <zhouying@kylinos.cn> Wed, 12 Mar 2025 16:11:10 +0800 + +ukui-clock (4.0.0.0-ok3.20) nile; urgency=medium + + * BUG: #I8XE7A【闹钟】闹钟到达时间后点击稍后提醒,关闭此闹钟,稍后提醒功能仍生效,预期应不会进行稍后提醒 + * 需求号: 无 + * 其他改动说明: 无 + * 其他改动影响域: 无 + + -- zhouying <zhouying@kylinos.cn> Tue, 11 Mar 2025 14:17:22 +0800 + +ukui-clock (4.0.0.0-ok3.19) nile; urgency=medium + + * BUG: #IAH7XE【gg-维哈柯】【次要】【闹钟】维吾尔语言下,存在部分界面显示截断、重叠的情况 + #IAOSUK【维哈柯】【闹钟】存在显示问题 + * 需求号: 无 + * 其他改动说明: 无 + * 其他改动影响域: 无 + + -- zhouying <zhouying@kylinos.cn> Mon, 10 Mar 2025 16:03:05 +0800 + +ukui-clock (4.0.0.0-ok3.18) nile; urgency=medium + + * BUG: #IAH7XE【gg-维哈柯】【次要】【闹钟】维吾尔语言下,存在部分界面显示截断、重叠的情况 + * 需求号: 无 + * 其他改动说明: 无 + * 其他改动影响域: 无 + + -- zhouying <zhouying@kylinos.cn> Mon, 10 Mar 2025 15:12:39 +0800 + +ukui-clock (4.0.0.0-ok3.17) nile; urgency=medium + + * BUG: #IB0RSQ【loongarch】【wlcom】【闹钟】点击闹钟界面右上角关闭按钮-选择后台运行,重新打开闹钟后,界面显示异常 + * 需求号: 无 + * 其他改动说明: 无 + * 其他改动影响域: 无 + + -- zhouying <zhouying@kylinos.cn> Fri, 07 Mar 2025 14:40:10 +0800 + +ukui-clock (4.0.0.0-ok3.16) nile; urgency=medium + + * BUG: #I8X80X【闹钟】深色模式静音按钮为黑色未反白 + #I8JT4V【需求22529】【闹钟】【次要】无法复制复杂的GB18030文字到闹钟名称 + * 需求号: 无 + * 其他改动说明: 无 + * 其他改动影响域: 无 + + -- zhouying <zhouying@kylinos.cn> Mon, 03 Mar 2025 17:14:55 +0800 + +ukui-clock (4.0.0.0-ok3.15) nile; urgency=medium + + * BUG: #I82O98 【次要】【闹钟】添加一个闹钟后所有的闹钟开关重新开一次 + * 需求号: 无 + * 其他改动说明: 无 + * 其他改动影响域: 无 + + -- zhouying <zhouying@kylinos.cn> Mon, 03 Mar 2025 15:43:02 +0800 + +ukui-clock (4.0.0.0-ok3.14) nile; urgency=medium + + * BUG: #IB5EGO 【次要】【闹钟】切换主题时,闹钟界面显示异常 + #IA4TWV 【次要】【闹钟】弹窗界面确定按钮字体显示黑色 + #I9RMSY 【闹钟】焦点不在窗口上时不显示tooltips(期望:期望与windows保持一致,焦点不在所在窗口上时鼠标悬浮可显示tooltips) + * 需求号: 无 + * 其他改动说明: 无 + * 其他改动影响域: 无 + + -- zhouying <zhouying@kylinos.cn> Thu, 27 Feb 2025 14:15:51 +0800 + ukui-clock (4.0.0.0-ok3.13) nile; urgency=medium * BUG: 无 diff -Nru ukui-clock-4.0.0.0/itemNew.cpp ukui-clock-4.0.0.0/itemNew.cpp --- ukui-clock-4.0.0.0/itemNew.cpp 2024-08-27 11:08:36.000000000 +0800 +++ ukui-clock-4.0.0.0/itemNew.cpp 2025-03-18 10:19:06.000000000 +0800 @@ -21,7 +21,7 @@ #include <QProcess> #include <math.h> -item_new::item_new(QWidget *parent) : +item_new::item_new(QWidget *parent, int s) : QWidget(parent) { setupUi(this); @@ -59,6 +59,12 @@ alarm_on_off0->setFixedSize(50,24); alarm_on_off0->setFlat(true); alarm_on_off0->setVisible(true); + printf("%d\n", s); + if(s){ + alarm_on_off0->setChecked(false); + }else{ + alarm_on_off0->setChecked(true); + } settingsStyle(); bool onTablet = GsettingSubject::getInstance()->getOnTablet(); diff -Nru ukui-clock-4.0.0.0/itemNew.h ukui-clock-4.0.0.0/itemNew.h --- ukui-clock-4.0.0.0/itemNew.h 2024-08-27 11:08:36.000000000 +0800 +++ ukui-clock-4.0.0.0/itemNew.h 2025-03-18 10:19:06.000000000 +0800 @@ -44,7 +44,7 @@ Q_OBJECT public: - explicit item_new(QWidget *parent = nullptr); + explicit item_new(QWidget *parent = nullptr, int s = 0); ~item_new(); //private: diff -Nru ukui-clock-4.0.0.0/main.cpp ukui-clock-4.0.0.0/main.cpp --- ukui-clock-4.0.0.0/main.cpp 2024-08-27 11:08:36.000000000 +0800 +++ ukui-clock-4.0.0.0/main.cpp 2025-03-18 10:19:06.000000000 +0800 @@ -157,6 +157,7 @@ if (!a.isRunning()) { Clock w; a.w = &w; + w.setAttribute(Qt::WA_AlwaysShowToolTips); //发布dbus接口 QObject obj; publishDbusInterface(&w,&obj); diff -Nru ukui-clock-4.0.0.0/noticeAlarm.cpp ukui-clock-4.0.0.0/noticeAlarm.cpp --- ukui-clock-4.0.0.0/noticeAlarm.cpp 2024-08-27 11:08:36.000000000 +0800 +++ ukui-clock-4.0.0.0/noticeAlarm.cpp 2025-03-18 10:19:06.000000000 +0800 @@ -142,7 +142,8 @@ m_noticeInfo = m_timeEndInfo+" "+m_autoCloseTime; qDebug()<<"dbq-m_noticeInfo"<<m_noticeInfo<<m_noticeId; QMap<QString, QVariant> hints; - hints.insert("urgency",2); //紧急程度,0:低(不提醒收起) 1:默认(停留6秒) 2:重要(驻留) + hints.insert("urgency",1); //紧急程度,0:低(不提醒收起) 1:默认(停留6秒) 2:重要(驻留) + hints.insert("x-ukui-popup-timeout", 60*1000); args<<QString(tr("Alarm")) //应用名 <<(unsigned int)m_noticeId //替换通知ID,不替换通知的话填0。 例如:该字段是5,如果通知中存在ID = 5的弹窗,则ID=5的通知内容将替换成这条通知的内容。 <<QString("kylin-alarm-clock") //图标 diff -Nru ukui-clock-4.0.0.0/singleApplication.cpp ukui-clock-4.0.0.0/singleApplication.cpp --- ukui-clock-4.0.0.0/singleApplication.cpp 2024-08-27 11:08:36.000000000 +0800 +++ ukui-clock-4.0.0.0/singleApplication.cpp 2025-03-18 10:19:06.000000000 +0800 @@ -129,6 +129,7 @@ w->show(); w->raise(); w->activateWindow(); // 激活窗口 + kdk::UkuiStyleHelper::self()->removeHeader(w); // Activate window } } diff -Nru ukui-clock-4.0.0.0/translations/ukui-clock_mn.ts ukui-clock-4.0.0.0/translations/ukui-clock_mn.ts --- ukui-clock-4.0.0.0/translations/ukui-clock_mn.ts 2024-08-27 11:08:36.000000000 +0800 +++ ukui-clock-4.0.0.0/translations/ukui-clock_mn.ts 2025-03-18 10:19:06.000000000 +0800 @@ -1723,3 +1723,4 @@ </message> </context> </TS> +