diff options
author | Ken VanDine <ken.vandine@canonical.com> | 2010-06-17 16:50:30 -0400 |
---|---|---|
committer | Ken VanDine <ken.vandine@canonical.com> | 2010-06-17 16:50:30 -0400 |
commit | 619a7c5da5817b5da3bfd8af5c3af9de450b6d48 (patch) | |
tree | 8047ef8b2414a7f097042712dffe1e9bdfdcf90e /src/transport-menu-item.vala | |
parent | 012ac7d97cc878ac1a66c9330e82b96e363f2e61 (diff) | |
download | ayatana-indicator-sound-619a7c5da5817b5da3bfd8af5c3af9de450b6d48.tar.gz ayatana-indicator-sound-619a7c5da5817b5da3bfd8af5c3af9de450b6d48.tar.bz2 ayatana-indicator-sound-619a7c5da5817b5da3bfd8af5c3af9de450b6d48.zip |
Import upstream version 0.3.1
Diffstat (limited to 'src/transport-menu-item.vala')
-rw-r--r-- | src/transport-menu-item.vala | 54 |
1 files changed, 54 insertions, 0 deletions
diff --git a/src/transport-menu-item.vala b/src/transport-menu-item.vala new file mode 100644 index 0000000..2e1ed0b --- /dev/null +++ b/src/transport-menu-item.vala @@ -0,0 +1,54 @@ +/* +This service primarily controls PulseAudio and is driven by the sound indicator menu on the panel. +Copyright 2010 Canonical Ltd. + +Authors: + Conor Curran <conor.curran@canonical.com> + +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 +by the Free Software Foundation. + +This program is distributed in the hope that it will be useful, but +WITHOUT ANY WARRANTY; without even the implied warranties of +MERCHANTABILITY, SATISFACTORY QUALITY, or FITNESS FOR A PARTICULAR +PURPOSE. See the GNU General Public License for more details. + +You should have received a copy of the GNU General Public License along +with this program. If not, see <http://www.gnu.org/licenses/>. +*/ + +using Dbusmenu; +using Gee; + +public class TransportMenuitem : Dbusmenu.Menuitem +{ + /* Not ideal duplicate definition of const - see common-defs/h */ + const string DBUSMENU_TRANSPORT_MENUITEM_TYPE = "x-canonical-transport-bar"; + const string DBUSMENU_TRANSPORT_MENUITEM_STATE = "x-canonical-transport-state"; + private MprisController mpris_adaptor; + + public TransportMenuitem() + { + this.property_set(MENUITEM_PROP_TYPE, DBUSMENU_TRANSPORT_MENUITEM_TYPE); + // Hardcode the set up state until we can get the struct vala bug fixed + this.property_set_bool(DBUSMENU_TRANSPORT_MENUITEM_STATE, false); + debug("transport on the vala side"); + } + + public void set_adaptor(MprisController adaptor) + { + this.mpris_adaptor = adaptor; + } + + /** + Callback method for the handle_event + * TRUE => Playing + * FALSE => Paused + **/ + public override void handle_event(string name, GLib.Value input_value, uint timestamp) + { + debug("handle_event with bool value %s", input_value.get_boolean().to_string()); + this.mpris_adaptor.toggle_playback(input_value.get_boolean()); + } +}
\ No newline at end of file |