158
158
TransportMenuitem* transport_menuitem_construct (GType object_type, PlayerController* parent) {
159
159
TransportMenuitem * self = NULL;
160
PlayerController* _tmp0_;
160
161
g_return_val_if_fail (parent != NULL, NULL);
161
self = (TransportMenuitem*) g_object_new (object_type, "item-type", DBUSMENU_TRANSPORT_MENUITEM_TYPE, "owner", parent, NULL);
163
self = (TransportMenuitem*) g_object_new (object_type, "item-type", DBUSMENU_TRANSPORT_MENUITEM_TYPE, "owner", _tmp0_, NULL);
182
184
void transport_menuitem_handle_cached_action (TransportMenuitem* self) {
185
TransportAction _tmp0_;
183
186
g_return_if_fail (self != NULL);
184
if (self->priv->cached_action != TRANSPORT_ACTION_NO_ACTION) {
187
_tmp0_ = self->priv->cached_action;
188
if (_tmp0_ != TRANSPORT_ACTION_NO_ACTION) {
185
189
g_timeout_add_seconds_full (G_PRIORITY_DEFAULT, (guint) 1, _transport_menuitem_send_cached_action_gsource_func, g_object_ref (self), g_object_unref);
190
194
static gboolean transport_menuitem_send_cached_action (TransportMenuitem* self) {
191
195
gboolean result = FALSE;
192
PlayerController* _tmp0_ = NULL;
196
PlayerController* _tmp0_;
197
PlayerController* _tmp1_;
198
Mpris2Controller* _tmp2_;
199
TransportAction _tmp3_;
193
200
g_return_val_if_fail (self != NULL, FALSE);
194
201
_tmp0_ = player_item_get_owner ((PlayerItem*) self);
195
mpris2_controller_transport_update (_tmp0_->mpris_bridge, self->priv->cached_action);
203
_tmp2_ = _tmp1_->mpris_bridge;
204
_tmp3_ = self->priv->cached_action;
205
mpris2_controller_transport_update (_tmp2_, _tmp3_);
196
206
self->priv->cached_action = TRANSPORT_ACTION_NO_ACTION;
215
227
static void transport_menuitem_real_handle_event (DbusmenuMenuitem* base, const gchar* name, GVariant* input_value, guint timestamp) {
216
228
TransportMenuitem * self;
217
229
GVariant* _tmp0_;
233
const GVariantType* _tmp3_;
234
gboolean _tmp4_ = FALSE;
223
240
self = (TransportMenuitem*) base;
224
241
g_return_if_fail (name != NULL);
225
242
g_return_if_fail (input_value != NULL);
226
_tmp0_ = _g_variant_ref0 (input_value);
228
_tmp1_ = g_variant_is_of_type (input_value, G_VARIANT_TYPE_VARIANT);
230
GVariant* _tmp2_ = NULL;
231
_tmp2_ = g_variant_get_variant (input_value);
243
_tmp0_ = input_value;
244
_tmp1_ = _g_variant_ref0 (_tmp0_);
246
_tmp2_ = input_value;
247
_tmp3_ = G_VARIANT_TYPE_VARIANT;
248
_tmp4_ = g_variant_is_of_type (_tmp2_, _tmp3_);
251
GVariant* _tmp6_ = NULL;
252
_tmp5_ = input_value;
253
_tmp6_ = g_variant_get_variant (_tmp5_);
232
254
_g_variant_unref0 (v);
235
_tmp3_ = g_variant_get_int32 (v);
237
_tmp4_ = transport_menuitem_get_running (self);
238
if (_tmp4_ == TRUE) {
239
PlayerController* _tmp5_ = NULL;
240
_tmp5_ = player_item_get_owner ((PlayerItem*) self);
241
mpris2_controller_transport_update (_tmp5_->mpris_bridge, (TransportAction) input);
258
_tmp8_ = g_variant_get_int32 (_tmp7_);
260
_tmp9_ = transport_menuitem_get_running (self);
262
if (_tmp10_ == TRUE) {
263
PlayerController* _tmp11_;
264
PlayerController* _tmp12_;
265
Mpris2Controller* _tmp13_;
267
_tmp11_ = player_item_get_owner ((PlayerItem*) self);
269
_tmp13_ = _tmp12_->mpris_bridge;
271
mpris2_controller_transport_update (_tmp13_, (TransportAction) _tmp14_);
243
PlayerController* _tmp6_ = NULL;
244
self->priv->cached_action = (TransportAction) input;
245
_tmp6_ = player_item_get_owner ((PlayerItem*) self);
246
player_controller_instantiate (_tmp6_);
274
PlayerController* _tmp16_;
275
PlayerController* _tmp17_;
277
self->priv->cached_action = (TransportAction) _tmp15_;
278
_tmp16_ = player_item_get_owner ((PlayerItem*) self);
280
player_controller_instantiate (_tmp17_);
247
281
dbusmenu_menuitem_property_set_int ((DbusmenuMenuitem*) self, DBUSMENU_TRANSPORT_MENUITEM_PLAY_STATE, (gint) TRANSPORT_STATE_LAUNCHING);
249
283
_g_variant_unref0 (v);
253
287
GeeHashSet* transport_menuitem_attributes_format (void) {
254
288
GeeHashSet* result = NULL;
255
GeeHashSet* _tmp0_ = NULL;
256
290
GeeHashSet* attrs;
257
291
_tmp0_ = gee_hash_set_new (G_TYPE_STRING, (GBoxedCopyFunc) g_strdup, g_free, NULL, NULL);
265
299
static gboolean transport_menuitem_get_running (TransportMenuitem* self) {
267
PlayerController* _tmp0_ = NULL;
301
PlayerController* _tmp0_;
302
PlayerController* _tmp1_;
268
304
g_return_val_if_fail (self != NULL, FALSE);
269
305
_tmp0_ = player_item_get_owner ((PlayerItem*) self);
270
result = _tmp0_->current_state == PLAYER_CONTROLLER_STATE_CONNECTED;
307
_tmp2_ = _tmp1_->current_state;
308
result = _tmp2_ == ((gint) PLAYER_CONTROLLER_STATE_CONNECTED);