aboutsummaryrefslogtreecommitdiff
path: root/src/service.vala
diff options
context:
space:
mode:
authorMike Gabriel <mike.gabriel@das-netzwerkteam.de>2022-07-19 12:53:36 +0200
committerMike Gabriel <mike.gabriel@das-netzwerkteam.de>2022-07-19 13:02:01 +0200
commit264b421f2e390a877eb175fa797e695e99c81bad (patch)
treec6f004bc89e547d10f5591847d62c221c583a10f /src/service.vala
parenta7f70e851dcab16018a422be5c8b18adbd47585a (diff)
downloadayatana-indicator-sound-264b421f2e390a877eb175fa797e695e99c81bad.tar.gz
ayatana-indicator-sound-264b421f2e390a877eb175fa797e695e99c81bad.tar.bz2
ayatana-indicator-sound-264b421f2e390a877eb175fa797e695e99c81bad.zip
src/*.vala: make the 'silent mode' switch item & action QMenuModel compatible
QMenuModel, inheritting code from GTK, will consider the menu item not "activatable" if the item's "target" [1] doesn't match the corresponding action's parameter. Since we take a boolean as action's parameter (and we can't change action's parameter easily since it's semi-public), we instead have to pass "target". Taking a page from the slider menu items, pass "true" as the target will make QMenuModel considers the item activatable and reflect the right state. [1] i.e. the parameter to pass when activating the action. See https://wiki.gnome.org/Projects/GLib/GApplication/DBusAPI#Attributes Related: https://github.com/AyatanaIndicators/qmenumodel/issues/21
Diffstat (limited to 'src/service.vala')
-rw-r--r--src/service.vala4
1 files changed, 2 insertions, 2 deletions
diff --git a/src/service.vala b/src/service.vala
index 31b6204..528cbf4 100644
--- a/src/service.vala
+++ b/src/service.vala
@@ -335,7 +335,7 @@ public class IndicatorSound.Service: Object {
silentNow = this.accounts_service.silentMode;
}
- silent_action = new SimpleAction.stateful ("silent-mode", null, new Variant.boolean (silentNow));
+ silent_action = new SimpleAction.stateful ("silent-mode", VariantType.BOOLEAN, new Variant.boolean (silentNow));
/* If we're not dealing with accounts service, we'll just always be out
of silent mode and that's cool. */
@@ -349,7 +349,7 @@ public class IndicatorSound.Service: Object {
});
silent_action.activate.connect ((action, param) => {
- action.change_state (new Variant.boolean (!action.get_state().get_boolean()));
+ action.change_state (param);
});
silent_action.change_state.connect ((action, val) => {