aboutsummaryrefslogtreecommitdiff
path: root/src/transport-menu-item.vala
diff options
context:
space:
mode:
authorKen VanDine <ken.vandine@canonical.com>2010-06-24 13:55:01 -0400
committerKen VanDine <ken.vandine@canonical.com>2010-06-24 13:55:01 -0400
commit288985d7c0a4dcdde22335a31d9eae7f7d5ec215 (patch)
treec270c8b758cfba94ad2e236a5cbf9685ee87a95b /src/transport-menu-item.vala
parent619a7c5da5817b5da3bfd8af5c3af9de450b6d48 (diff)
downloadayatana-indicator-sound-288985d7c0a4dcdde22335a31d9eae7f7d5ec215.tar.gz
ayatana-indicator-sound-288985d7c0a4dcdde22335a31d9eae7f7d5ec215.tar.bz2
ayatana-indicator-sound-288985d7c0a4dcdde22335a31d9eae7f7d5ec215.zip
Import upstream version 0.3.2
Diffstat (limited to 'src/transport-menu-item.vala')
-rw-r--r--src/transport-menu-item.vala33
1 files changed, 17 insertions, 16 deletions
diff --git a/src/transport-menu-item.vala b/src/transport-menu-item.vala
index 2e1ed0b..264e153 100644
--- a/src/transport-menu-item.vala
+++ b/src/transport-menu-item.vala
@@ -1,5 +1,4 @@
/*
-This service primarily controls PulseAudio and is driven by the sound indicator menu on the panel.
Copyright 2010 Canonical Ltd.
Authors:
@@ -20,35 +19,37 @@ with this program. If not, see <http://www.gnu.org/licenses/>.
using Dbusmenu;
using Gee;
+using DbusmenuTransport;
-public class TransportMenuitem : Dbusmenu.Menuitem
+public class TransportMenuitem : PlayerItem
{
- /* 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);
+ this.property_set(MENUITEM_PROP_TYPE, MENUITEM_TYPE);
debug("transport on the vala side");
}
- public void set_adaptor(MprisController adaptor)
+ public void change_play_state(int state)
{
- this.mpris_adaptor = adaptor;
+ this.property_set_int(MENUITEM_PLAY_STATE, state);
}
- /**
- 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());
+ }
+
+ public override void check_layout(){
+ // nothing to be done for this item - always active
+ }
+
+
+ public static HashSet<string> attributes_format()
+ {
+ HashSet<string> attrs = new HashSet<string>();
+ attrs.add(MENUITEM_PLAY_STATE);
+ return attrs;
}
} \ No newline at end of file