shellDBus: Change AcceleratorActivated signature

Adding new parameters to the signal currently will break keybindings
until gnome-settings-daemon is updated to the new API as well.
Put additional parameters into a dictionary instead to make future
extensions easier.

https://bugzilla.gnome.org/show_bug.cgi?id=711682
This commit is contained in:
Florian Müllner 2014-11-12 21:21:44 +01:00
parent 906106c700
commit 2aa4fb02dd

View File

@ -44,8 +44,7 @@ const GnomeShellIface = '<node> \
</method> \ </method> \
<signal name="AcceleratorActivated"> \ <signal name="AcceleratorActivated"> \
<arg name="action" type="u" /> \ <arg name="action" type="u" /> \
<arg name="deviceid" type="u" /> \ <arg name="parameters" type="a{sv}" /> \
<arg name="timestamp" type="u" /> \
</signal> \ </signal> \
<property name="Mode" type="s" access="read" /> \ <property name="Mode" type="s" access="read" /> \
<property name="OverviewActive" type="b" access="readwrite" /> \ <property name="OverviewActive" type="b" access="readwrite" /> \
@ -196,11 +195,13 @@ const GnomeShell = new Lang.Class({
let connection = this._dbusImpl.get_connection(); let connection = this._dbusImpl.get_connection();
let info = this._dbusImpl.get_info(); let info = this._dbusImpl.get_info();
let params = { 'device-id': GLib.Variant.new('u', deviceid),
'timestamp': GLib.Variant.new('u', timestamp) };
connection.emit_signal(destination, connection.emit_signal(destination,
this._dbusImpl.get_object_path(), this._dbusImpl.get_object_path(),
info ? info.name : null, info ? info.name : null,
'AcceleratorActivated', 'AcceleratorActivated',
GLib.Variant.new('(uuu)', [action, deviceid, timestamp])); GLib.Variant.new('(ua{sv})', [action, params]));
}, },
_grabAcceleratorForSender: function(accelerator, flags, sender) { _grabAcceleratorForSender: function(accelerator, flags, sender) {