From 57d53f1253d960fe90e16dcf4b38692ec69fa122 Mon Sep 17 00:00:00 2001 From: tanyulong Date: Wed, 14 Jul 2021 10:15:09 +0800 Subject: [PATCH] Set the app name and icon for Kirin Recording --- .../ukmedia_device_switch_widget.cpp | 46 ++++++++++++++++--- 1 file changed, 40 insertions(+), 6 deletions(-) diff --git a/ukui-volume-control-applet-qt/ukmedia_device_switch_widget.cpp b/ukui-volume-control-applet-qt/ukmedia_device_switch_widget.cpp index 2e7ebbd..c074675 100755 --- a/ukui-volume-control-applet-qt/ukmedia_device_switch_widget.cpp +++ b/ukui-volume-control-applet-qt/ukmedia_device_switch_widget.cpp @@ -1465,12 +1465,18 @@ void DeviceSwitchWidget::add_stream (DeviceSwitchWidget *w, MateMixerStream *str MateMixerAppInfo *m_pAppInfo = mate_mixer_stream_control_get_app_info(w->control); if (m_pAppInfo != nullptr) { const gchar *m_pAppName = mate_mixer_app_info_get_name(m_pAppInfo); - if (strcmp(m_pAppName,"ukui-session") != 0 && strcmp(m_pAppName,"ukui-volume-control-applet-qt") != 0 && strcmp(m_pAppName,"Volume Control") && \ + const gchar *app_icon_name = mate_mixer_app_info_get_icon(m_pAppInfo); + if (strstr(app_icon_name,"recording")) { + m_pAppName = "kylin-recorder"; + app_icon_name = "kylin-recorder"; + } + + if (strcmp(m_pAppName,"ukui-session") != 0 && strcmp(m_pAppName,"ukui-volume-control-applet-qt") != 0 && strcmp(m_pAppName,"Volume Control") && \ strcmp(m_pAppName,"ALSA plug-in [mate-screenshot]") && strcmp(m_pAppName,"ALSA plug-in [ukui-volume-control-applet-qt]") && \ strcmp(m_pAppName,"Ukui Volume Control App") && !strstr(m_pAppName,"QtPulseAudio") && strcmp(m_pAppName,"ukuimedia-volume-control") != 0 && \ !strstr(m_pAppName,"ukui-settings-daemon")) { if G_UNLIKELY (w->control == nullptr) - return; + return; add_application_control (w, w->control,m_pStreamControlName); } } @@ -1532,7 +1538,7 @@ void DeviceSwitchWidget::add_application_control (DeviceSwitchWidget *w, MateMix !g_strcmp0 (app_id, "org.PulseAudio.pavucontrol")) return; - QString app_icon_name = mate_mixer_app_info_get_icon(info); + const gchar *app_icon_name = mate_mixer_app_info_get_icon(info); app_name = mate_mixer_app_info_get_name (info); w->stream_control_list->append(name); qDebug() << "add application control ,app name :" << app_name ; @@ -1545,6 +1551,10 @@ void DeviceSwitchWidget::add_application_control (DeviceSwitchWidget *w, MateMix if (app_name == nullptr) { return; } + if (strstr(app_icon_name,"recording")) { + app_name = "kylin-recorder"; + app_icon_name = "kylin-recorder"; + } //添加应用添加到应用音量中 add_app_to_appwidget(w,app_name,app_icon_name,control); @@ -1778,6 +1788,13 @@ void DeviceSwitchWidget::add_app_to_appwidget(DeviceSwitchWidget *w,const gchar else if (strcmp(app_name,"Clock") == 0) { app_icon_name = "ukui-clock"; } + else if (strcmp(app_name,"wechat") == 0) { + qDebug() << "0000000000000000000"; + app_icon_name = "electronic-wechat"; + } + else if (strcmp(app_name,"Firefox") == 0) { + app_icon_name = "firefox"; + } iconName.append(app_icon_name); iconName.append(".desktop"); @@ -1785,7 +1802,8 @@ void DeviceSwitchWidget::add_app_to_appwidget(DeviceSwitchWidget *w,const gchar QString pAppIcon = w->getAppIcon(iconName); w->appWidget->app_volume_list->append(app_icon_name); - qDebug() << "应用名为:" << pAppName << "desktop 名:" << iconName << "app icon name" << app_icon_name << "app name " << app_name; + qDebug() << "应用名为:" << pAppName << "desktop 名:" << iconName << "app icon name" << app_icon_name << "app name " << app_name << mate_mixer_stream_control_get_volume(control) << mate_mixer_stream_control_get_mute(control); + //widget显示应用音量 QWidget *app_widget = new QWidget(w->appWidget->displayAppVolumeWidget); app_widget->setFixedSize(306,60); @@ -1972,6 +1990,7 @@ void DeviceSwitchWidget::add_app_to_appwidget(DeviceSwitchWidget *w,const gchar else if (w->mThemeName == UKUI_THEME_BLACK || w->mThemeName == "ukui-black" || w->mThemeName == "ukui-default") { btn->setIcon(QIcon(w->drawLightColoredPixmap((QIcon::fromTheme(audioIconStr).pixmap(iconSize))))); } + qDebug() << "应用音量更改" << audioIconStr; Q_EMIT w->app_name_signal(appSliderStr); }); /*应用音量同步*/ @@ -2059,7 +2078,9 @@ void DeviceSwitchWidget::add_app_to_appwidget(DeviceSwitchWidget *w,const gchar btn->setIcon(QIcon(w->drawLightColoredPixmap((QIcon::fromTheme(audioIconStr).pixmap(iconSize))))); } - QPalette paleteBtn = btn->palette(); + qDebug() << "系统音量改变" << volume << muteButtonStr; + + QPalette paleteBtn = btn->palette(); paleteBtn.setColor(QPalette::Highlight,Qt::transparent); paleteBtn.setBrush(QPalette::Button,QBrush(QColor(1,1,1,0))); btn->setPalette(paleteBtn); @@ -2128,6 +2149,9 @@ void DeviceSwitchWidget::update_app_volume(MateMixerStreamControl *control, QStr else if (volume > 66) { sliderMuteButtonStr = "audio-volume-high-symbolic"; } + + qDebug() << "应用音量图标更改:" << sliderMuteButtonStr; + QSize iconSize(24,24); if ( w->mThemeName == "ukui-white" || w->mThemeName == "ukui-light") { btn->setIcon(QIcon(w->drawDarkColoredPixmap((QIcon::fromTheme(sliderMuteButtonStr).pixmap(iconSize))))); @@ -2150,9 +2174,10 @@ void DeviceSwitchWidget::app_volume_mute (MateMixerStreamControl *control, QStri MateMixerAppInfo *app_info = mate_mixer_stream_control_get_app_info(control); if (app_info == nullptr) return; - /*bool is_mute = mate_mixer_stream_control_get_mute(control);*/ + bool is_mute = mate_mixer_stream_control_get_mute(control); int volume = mate_mixer_stream_control_get_volume(control); volume = volume*100/65536.0+0.5; + qDebug() << "应用音量静音通知" << is_mute; /*if (is_mute) { w->appWidget->appMuteBtn->setIcon(QIcon("/usr/share/ukui-media/img/audio-volume-muted.svg")); } @@ -2745,6 +2770,15 @@ void DeviceSwitchWidget::on_control_mute_notify (MateMixerStreamControl *control else if (direction == MATE_MIXER_DIRECTION_INPUT) { w->updateMicrophoneIcon(volume,mute); } + if (QGSettings::isSchemaInstalled(UKUI_VOLUME_BRIGHTNESS_GSETTING_ID)) { + if (w->m_pVolumeSetting->keys().contains("soundstate")) { + w->m_pVolumeSetting->blockSignals(true); +// w->m_pVolumeSetting->set(UKUI_VOLUME_STATE,mute); + w->m_pVolumeSetting->blockSignals(false); + } + } + w->themeChangeIcons(); + Q_EMIT w->system_muted_signal(mute); } /*! -- 2.23.0