diff options
author | Mike Gabriel <mike.gabriel@das-netzwerkteam.de> | 2023-09-09 13:51:36 +0200 |
---|---|---|
committer | Mike Gabriel <mike.gabriel@das-netzwerkteam.de> | 2023-09-09 13:51:36 +0200 |
commit | ff70460acbf19702464fcf22dc4c21fc20665d0e (patch) | |
tree | b72c36d0a279e44b6deeebda91ebebe5ce5ec94e | |
parent | 38dc2dd6af7a7bca030e18783a3b9f84c642e6e6 (diff) | |
parent | cf943b8c9564a0cc8d215a7bc76a147bdd027aaf (diff) | |
download | ayatana-indicator-sound-ff70460acbf19702464fcf22dc4c21fc20665d0e.tar.gz ayatana-indicator-sound-ff70460acbf19702464fcf22dc4c21fc20665d0e.tar.bz2 ayatana-indicator-sound-ff70460acbf19702464fcf22dc4c21fc20665d0e.zip |
Merge branch 'tari01-pr/fix-notification'
Attributes GH PR #92: https://github.com/AyatanaIndicators/ayatana-indicator-sound/pull/92
-rw-r--r-- | CMakeLists.txt | 6 | ||||
-rw-r--r-- | src/info-notification.vala | 18 | ||||
-rw-r--r-- | src/warn-notification.vala | 5 | ||||
-rw-r--r-- | tests/integration/indicator-sound-test-base.cpp | 10 | ||||
-rw-r--r-- | tests/notifications-mock.h | 4 | ||||
-rw-r--r-- | tests/notifications-test.cc | 11 |
6 files changed, 20 insertions, 34 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt index 4ef2cf6..f2c6503 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,5 +1,5 @@ -project(ayatana-indicator-sound C CXX) -cmake_minimum_required(VERSION 3.13) +cmake_minimum_required (VERSION 3.13) +project (ayatana-indicator-sound VERSION 22.9.2 LANGUAGES C CXX) if(CMAKE_INSTALL_PREFIX_INITIALIZED_TO_DEFAULT) SET(CMAKE_INSTALL_PREFIX "/usr" CACHE PATH "..." FORCE) @@ -7,8 +7,6 @@ endif(CMAKE_INSTALL_PREFIX_INITIALIZED_TO_DEFAULT) set(CMAKE_MODULE_PATH "${CMAKE_SOURCE_DIR}/cmake" "${CMAKE_MODULE_PATH}") -set(PACKAGE ${CMAKE_PROJECT_NAME}) -set(PROJECT_VERSION 22.9.2) find_package(PkgConfig REQUIRED) include(GNUInstallDirs) include(UseVala) diff --git a/src/info-notification.vala b/src/info-notification.vala index bd43a91..4379acf 100644 --- a/src/info-notification.vala +++ b/src/info-notification.vala @@ -1,6 +1,6 @@ /* * Copyright 2015 Canonical Ltd. - * Copyright 2021 Robert Tari + * Copyright 2021-2023 Robert Tari * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -30,22 +30,26 @@ public class IndicatorSound.InfoNotification: Notification public void show (VolumeControl.ActiveOutput active_output, double volume, bool is_high_volume) { - if (!notify_server_supports ("x-lomiri-private-synchronous")) - return; /* Determine Label */ - unowned string volume_label = get_notification_label (active_output); + string volume_label = get_notification_label (active_output); /* Choose an icon */ unowned string icon = get_volume_notification_icon (active_output, volume, is_high_volume); /* Reset the notification */ var n = _notification; + + uint nChars = ((int32)((volume * 20) + 0.5)).clamp(0, 20); + volume_label += "\n"; + + for (uint nChar = 0; nChar < nChars; nChar++) + { + volume_label += "◼"; + } + n.update (_("Volume"), volume_label, icon); n.clear_hints(); - n.set_hint ("x-lomiri-non-shaped-icon", "true"); - n.set_hint ("x-lomiri-private-synchronous", "true"); - n.set_hint ("x-lomiri-value-bar-tint", is_high_volume ? "true" : "false"); n.set_hint ("value", ((int32)((volume * 100.0) + 0.5)).clamp(0, 100)); show_notification (); } diff --git a/src/warn-notification.vala b/src/warn-notification.vala index 6a08431..203758e 100644 --- a/src/warn-notification.vala +++ b/src/warn-notification.vala @@ -1,5 +1,6 @@ /* * Copyright 2015 Canonical Ltd. + * Copyright 2021-2023 Robert Tari * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -15,6 +16,7 @@ * * Authors: * Charles Kerr <charles.kerr@canonical.com> + * Robert Tari <robert@tari.in> */ public class IndicatorSound.WarnNotification: Notification @@ -31,9 +33,6 @@ public class IndicatorSound.WarnNotification: Notification _("Volume"), _("Allow volume above safe level?\nHigh volume can damage your hearing."), "audio-volume-high"); - n.set_hint ("x-lomiri-non-shaped-icon", "true"); - n.set_hint ("x-lomiri-snap-decisions", "true"); - n.set_hint ("x-lomiri-private-affirmative-tint", "true"); n.closed.connect ((n) => { n.clear_actions (); }); diff --git a/tests/integration/indicator-sound-test-base.cpp b/tests/integration/indicator-sound-test-base.cpp index c201e27..eb4ee8c 100644 --- a/tests/integration/indicator-sound-test-base.cpp +++ b/tests/integration/indicator-sound-test-base.cpp @@ -1,6 +1,6 @@ /* * Copyright 2015 Canonical Ltd. - * Copyright 2021 Robert Tari + * Copyright 2021-2023 Robert Tari * * This program is free software: you can redistribute it and/or modify it * under the terms of the GNU General Public License version 3, as published @@ -72,7 +72,7 @@ void IndicatorSoundTestBase::SetUp() "GetCapabilities", "", "as", - "ret = ['actions', 'body', 'body-markup', 'icon-static', 'image/svg+xml', 'x-lomiri-private-synchronous', 'x-canonical-append', 'x-lomiri-private-icon-only', 'x-lomiri-truncation', 'x-canonical-truncation', 'private-synchronous', 'append', 'private-icon-only', 'truncation']" + "ret = ['actions', 'body', 'body-markup', 'icon-static', 'image/svg+xml', 'private-synchronous', 'append', 'private-icon-only', 'truncation']" ).waitForFinished(); int waitedTime = 0; @@ -647,14 +647,8 @@ void IndicatorSoundTestBase::checkVolumeNotification(double volume, QString cons QVariantMap hints; ASSERT_TRUE(qDBusArgumentToMap(args.at(6), hints)); ASSERT_TRUE(hints.contains("value")); - ASSERT_TRUE(hints.contains("x-lomiri-non-shaped-icon")); - ASSERT_TRUE(hints.contains("x-lomiri-value-bar-tint")); - ASSERT_TRUE(hints.contains("x-lomiri-private-synchronous")); EXPECT_EQ(volume*100, hints["value"]); - EXPECT_EQ(true, hints["x-lomiri-non-shaped-icon"]); - EXPECT_EQ(isLoud, hints["x-lomiri-value-bar-tint"]); - EXPECT_EQ(true, hints["x-lomiri-private-synchronous"]); } void IndicatorSoundTestBase::checkHighVolumeNotification(QVariantList call) diff --git a/tests/notifications-mock.h b/tests/notifications-mock.h index ad042d2..3ae8da5 100644 --- a/tests/notifications-mock.h +++ b/tests/notifications-mock.h @@ -1,6 +1,6 @@ /* * Copyright 2015 Canonical Ltd. - * Copyright 2021 Robert Tari + * Copyright 2021-2023 Robert Tari * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -31,7 +31,7 @@ class NotificationsMock DbusTestDbusMockObject * baseobj = nullptr; public: - NotificationsMock (const std::vector<std::string>& capabilities = {"actions", "body", "body-markup", "icon-static", "image/svg+xml", "x-lomiri-private-synchronous", "x-canonical-append", "x-lomiri-private-icon-only", "x-lomiri-truncation", "x-canonical-truncation", "private-synchronous", "append", "private-icon-only", "truncation"}) { + NotificationsMock (const std::vector<std::string>& capabilities = {"actions", "body", "body-markup", "icon-static", "image/svg+xml", "private-synchronous", "append", "private-icon-only", "truncation"}) { mock = dbus_test_dbus_mock_new("org.freedesktop.Notifications"); dbus_test_task_set_bus(DBUS_TEST_TASK(mock), DBUS_TEST_SERVICE_BUS_SESSION); dbus_test_task_set_name(DBUS_TEST_TASK(mock), "Notify"); diff --git a/tests/notifications-test.cc b/tests/notifications-test.cc index 7f65104..0233ca6 100644 --- a/tests/notifications-test.cc +++ b/tests/notifications-test.cc @@ -1,6 +1,6 @@ /* * Copyright 2015-2016 Canonical Ltd. - * Copyright 2021 Robert Tari + * Copyright 2021-2023 Robert Tari * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -259,7 +259,6 @@ TEST_F(NotificationsTest, VolumeChanges) { EXPECT_EQ("ayatana-indicator-sound", notev[0].app_name); EXPECT_EQ("Volume", notev[0].summary); EXPECT_EQ(0, notev[0].actions.size()); - EXPECT_GVARIANT_EQ("@s 'true'", notev[0].hints["x-lomiri-private-synchronous"]); EXPECT_GVARIANT_EQ("@i 50", notev[0].hints["value"]); /* Set a different volume */ @@ -432,7 +431,6 @@ TEST_F(NotificationsTest, DISABLED_HighVolume) { ASSERT_EQ(1, notev.size()); EXPECT_EQ("Volume", notev[0].summary); EXPECT_EQ("Speakers", notev[0].body); - EXPECT_GVARIANT_EQ("@s 'false'", notev[0].hints["x-lomiri-value-bar-tint"]); /* Set high volume with volume change */ notifications->clearNotifications(); @@ -443,7 +441,6 @@ TEST_F(NotificationsTest, DISABLED_HighVolume) { ASSERT_LT(0, notev.size()); /* This passes with one or two since it would just be an update to the first if a second was sent */ EXPECT_EQ("Volume", notev[0].summary); EXPECT_EQ("Speakers", notev[0].body); - EXPECT_GVARIANT_EQ("@s 'true'", notev[0].hints["x-lomiri-value-bar-tint"]); /* Move it back */ volume_warning_mock_set_high_volume(VOLUME_WARNING_MOCK(volumeWarning.get()), false); @@ -459,7 +456,6 @@ TEST_F(NotificationsTest, DISABLED_HighVolume) { ASSERT_EQ(1, notev.size()); EXPECT_EQ("Volume", notev[0].summary); EXPECT_EQ("Speakers", notev[0].body); - EXPECT_GVARIANT_EQ("@s 'true'", notev[0].hints["x-lomiri-value-bar-tint"]); } TEST_F(NotificationsTest, DISABLED_MenuHide) { @@ -513,7 +509,6 @@ TEST_F(NotificationsTest, DISABLED_ExtendendVolumeNotification) { EXPECT_EQ("ayatana-indicator-sound", notev[0].app_name); EXPECT_EQ("Volume", notev[0].summary); EXPECT_EQ(0, notev[0].actions.size()); - EXPECT_GVARIANT_EQ("@s 'true'", notev[0].hints["x-lomiri-private-synchronous"]); EXPECT_GVARIANT_EQ("@i 50", notev[0].hints["value"]); /* Allow an amplified volume */ @@ -628,14 +623,10 @@ TEST_F(NotificationsTest, DISABLED_TriggerWarning) { if (warning_expected) { EXPECT_TRUE(volume_warning_get_active(volumeWarning.get())); ASSERT_EQ(1, notev.size()); - EXPECT_GVARIANT_EQ("@s 'true'", notev[0].hints["x-lomiri-snap-decisions"]); - EXPECT_GVARIANT_EQ(nullptr, notev[0].hints["x-lomiri-private-synchronous"]); } else { EXPECT_FALSE(volume_warning_get_active(volumeWarning.get())); ASSERT_EQ(1, notev.size()); - EXPECT_GVARIANT_EQ(nullptr, notev[0].hints["x-lomiri-snap-decisions"]); - EXPECT_GVARIANT_EQ("@s 'true'", notev[0].hints["x-lomiri-private-synchronous"]); } } // multimedia_active |