aboutsummaryrefslogtreecommitdiff
path: root/src/player-controller.vala
diff options
context:
space:
mode:
Diffstat (limited to 'src/player-controller.vala')
-rw-r--r--src/player-controller.vala25
1 files changed, 13 insertions, 12 deletions
diff --git a/src/player-controller.vala b/src/player-controller.vala
index 450ecd6..24fd090 100644
--- a/src/player-controller.vala
+++ b/src/player-controller.vala
@@ -45,7 +45,7 @@ public class PlayerController : GLib.Object
private Dbusmenu.Menuitem root_menu;
public string name { get; set;}
- public string mpris_name { get; set;}
+ public string dbus_name { get; set;}
public ArrayList<PlayerItem> custom_items;
public Mpris2Controller mpris_bridge;
public AppInfo? app_info { get; set;}
@@ -54,21 +54,21 @@ public class PlayerController : GLib.Object
public PlayerController(Dbusmenu.Menuitem root,
GLib.AppInfo app,
- string mpris_name,
+ string? dbus_name,
string icon_name,
int offset,
state initial_state)
{
this.root_menu = root;
this.app_info = app;
+ this.dbus_name = dbus_name;
this.name = format_player_name(this.app_info.get_name());
- this.mpris_name = mpris_name;
this.icon_name = icon_name;
this.custom_items = new ArrayList<PlayerItem>();
this.current_state = initial_state;
this.menu_offset = offset;
- construct_widgets();
- establish_mpris_connection();
+ this.construct_widgets();
+ this.establish_mpris_connection();
this.update_layout();
}
@@ -79,8 +79,9 @@ public class PlayerController : GLib.Object
this.update_layout();
}
- public void activate()
+ public void activate( string dbus_name )
{
+ this.dbus_name = dbus_name;
this.establish_mpris_connection();
}
@@ -104,7 +105,7 @@ public class PlayerController : GLib.Object
private void establish_mpris_connection()
{
- if(this.current_state != state.READY){
+ if(this.current_state != state.READY || this.dbus_name == null ){
debug("establish_mpris_connection - Not ready to connect");
return;
}
@@ -135,6 +136,8 @@ public class PlayerController : GLib.Object
false);
this.custom_items[widget_order.METADATA].property_set_bool(MENUITEM_PROP_VISIBLE,
false);
+ this.custom_items[widget_order.PLAYLISTS].property_set_bool ( MENUITEM_PROP_ENABLED,
+ false );
return;
}
this.custom_items[widget_order.METADATA].property_set_bool(MENUITEM_PROP_VISIBLE,
@@ -143,8 +146,6 @@ public class PlayerController : GLib.Object
true);
this.custom_items[widget_order.PLAYLISTS].property_set_bool(MENUITEM_PROP_VISIBLE,
true);
- this.custom_items[widget_order.PLAYLISTS].property_set_bool ( MENUITEM_PROP_ENABLED,
- true );
}
private void construct_widgets()
@@ -177,7 +178,7 @@ public class PlayerController : GLib.Object
root_menu.child_add_position(playlists_menuitem.root_item, this.menu_offset + this.custom_items.index_of(item));
}
}
- }
+ }
private static string format_player_name(owned string app_info_name)
{
@@ -188,12 +189,12 @@ public class PlayerController : GLib.Object
}
if(result.length > 1){
result = result.up(1).concat(result.slice(1, result.length));
- debug("PlayerController->format_player_name - : %s", result);
}
+ debug("PlayerController->format_player_name - : %s", result);
return result;
}
- public void determine_state()
+ private void determine_state()
{
if(this.mpris_bridge.connected() == true){
this.update_state(state.CONNECTED);