aboutsummaryrefslogtreecommitdiff
path: root/src/transport-menu-item.vala
diff options
context:
space:
mode:
authorConor Curran <conor.curran@canonical.com>2010-06-22 15:03:33 +0100
committerConor Curran <conor.curran@canonical.com>2010-06-22 15:03:33 +0100
commit8939506a486c50d83c57a1ce21354243f71af4ab (patch)
treebe27299b86e8186e4750ccfd80e0b72def6fe4ad /src/transport-menu-item.vala
parent9bba58ee4dae536ce92f396854e2c0e671d9b7f0 (diff)
parentb77c81f85bc219790f5a079e9b888b6ae3627739 (diff)
downloadayatana-indicator-sound-8939506a486c50d83c57a1ce21354243f71af4ab.tar.gz
ayatana-indicator-sound-8939506a486c50d83c57a1ce21354243f71af4ab.tar.bz2
ayatana-indicator-sound-8939506a486c50d83c57a1ce21354243f71af4ab.zip
merged refactoring branch plus automatic status updates
Diffstat (limited to 'src/transport-menu-item.vala')
-rw-r--r--src/transport-menu-item.vala28
1 files changed, 12 insertions, 16 deletions
diff --git a/src/transport-menu-item.vala b/src/transport-menu-item.vala
index 2e1ed0b..39a0cab 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,32 @@ 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 static HashSet<string> attributes_format()
+ {
+ HashSet<string> attrs = new HashSet<string>();
+ attrs.add(MENUITEM_PLAY_STATE);
+ return attrs;
}
} \ No newline at end of file