298
298
PlayerController* player_controller_construct (GType object_type, DbusmenuMenuitem* root, GAppInfo* app, const gchar* dbus_name, const gchar* icon_name, gint offset, gboolean* use_playlists, PlayerControllerstate initial_state) {
299
299
PlayerController * self = NULL;
300
300
gboolean* _tmp0_;
301
DbusmenuMenuitem* _tmp1_;
302
GeeArrayList* _tmp2_ = NULL;
303
const gchar* _tmp3_ = NULL;
302
DbusmenuMenuitem* _tmp2_;
303
DbusmenuMenuitem* _tmp3_;
307
GeeArrayList* _tmp7_;
308
PlayerControllerstate _tmp8_;
311
const gchar* _tmp11_ = NULL;
312
const gchar* _tmp12_;
304
313
g_return_val_if_fail (root != NULL, NULL);
305
314
g_return_val_if_fail (app != NULL, NULL);
306
315
g_return_val_if_fail (icon_name != NULL, NULL);
307
316
self = (PlayerController*) g_object_new (object_type, NULL);
308
_tmp0_ = __bool_dup0 (use_playlists);
317
_tmp0_ = use_playlists;
318
_tmp1_ = __bool_dup0 (_tmp0_);
309
319
_g_free0 (self->use_playlists);
310
self->use_playlists = _tmp0_;
311
_tmp1_ = _g_object_ref0 (root);
320
self->use_playlists = _tmp1_;
322
_tmp3_ = _g_object_ref0 (_tmp2_);
312
323
_g_object_unref0 (self->root_menu);
313
self->root_menu = _tmp1_;
314
player_controller_set_app_info (self, app);
315
player_controller_set_dbus_name (self, dbus_name);
316
player_controller_set_icon_name (self, icon_name);
317
_tmp2_ = gee_array_list_new (TYPE_PLAYER_ITEM, (GBoxedCopyFunc) g_object_ref, g_object_unref, NULL);
324
self->root_menu = _tmp3_;
326
player_controller_set_app_info (self, _tmp4_);
328
player_controller_set_dbus_name (self, _tmp5_);
330
player_controller_set_icon_name (self, _tmp6_);
331
_tmp7_ = gee_array_list_new (TYPE_PLAYER_ITEM, (GBoxedCopyFunc) g_object_ref, g_object_unref, NULL);
318
332
_g_object_unref0 (self->custom_items);
319
self->custom_items = _tmp2_;
320
self->current_state = (gint) initial_state;
321
player_controller_set_menu_offset (self, offset);
333
self->custom_items = _tmp7_;
334
_tmp8_ = initial_state;
335
self->current_state = (gint) _tmp8_;
337
player_controller_set_menu_offset (self, _tmp9_);
322
338
player_controller_construct_widgets (self);
323
339
player_controller_establish_mpris_connection (self);
324
340
player_controller_update_layout (self);
325
_tmp3_ = g_app_info_get_name (self->priv->_app_info);
326
g_debug ("player-controller.vala:76: New player controller for %s with icon nam" \
327
"e %s", _tmp3_, self->priv->_icon_name);
341
_tmp10_ = self->priv->_app_info;
342
_tmp11_ = g_app_info_get_name (_tmp10_);
343
_tmp12_ = self->priv->_icon_name;
344
g_debug ("player-controller.vala:74: New player controller for %s with icon nam" \
345
"e %s", _tmp11_, _tmp12_);
337
355
void player_controller_update_state (PlayerController* self, PlayerControllerstate new_state) {
338
const gchar* _tmp0_ = NULL;
357
const gchar* _tmp1_ = NULL;
358
PlayerControllerstate _tmp2_;
359
PlayerControllerstate _tmp3_;
339
360
g_return_if_fail (self != NULL);
340
_tmp0_ = g_app_info_get_name (self->priv->_app_info);
341
g_debug ("player-controller.vala:81: update_state - player controller %s : new s" \
342
"tate %i", _tmp0_, (gint) new_state);
343
self->current_state = (gint) new_state;
361
_tmp0_ = self->priv->_app_info;
362
_tmp1_ = g_app_info_get_name (_tmp0_);
364
g_debug ("player-controller.vala:79: update_state - player controller %s : new s" \
365
"tate %i", _tmp1_, (gint) _tmp2_);
367
self->current_state = (gint) _tmp3_;
344
368
player_controller_update_layout (self);
348
372
void player_controller_activate (PlayerController* self, const gchar* dbus_name) {
349
374
g_return_if_fail (self != NULL);
350
375
g_return_if_fail (dbus_name != NULL);
351
player_controller_set_dbus_name (self, dbus_name);
377
player_controller_set_dbus_name (self, _tmp0_);
352
378
player_controller_establish_mpris_connection (self);
356
382
void player_controller_instantiate (PlayerController* self) {
357
const gchar* _tmp0_ = NULL;
384
const gchar* _tmp1_ = NULL;
358
385
GError * _inner_error_ = NULL;
359
386
g_return_if_fail (self != NULL);
360
_tmp0_ = g_app_info_get_name (self->priv->_app_info);
361
g_debug ("player-controller.vala:101: instantiate in player controller for %s", _tmp0_);
362
g_app_info_launch (self->priv->_app_info, NULL, NULL, &_inner_error_);
363
if (_inner_error_ != NULL) {
364
goto __catch6_g_error;
387
_tmp0_ = self->priv->_app_info;
388
_tmp1_ = g_app_info_get_name (_tmp0_);
389
g_debug ("player-controller.vala:99: instantiate in player controller for %s", _tmp1_);
392
_tmp2_ = self->priv->_app_info;
393
g_app_info_launch (_tmp2_, NULL, NULL, &_inner_error_);
394
if (_inner_error_ != NULL) {
395
goto __catch7_g_error;
397
player_controller_update_state (self, PLAYER_CONTROLLER_STATE_INSTANTIATING);
366
player_controller_update_state (self, PLAYER_CONTROLLER_STATE_INSTANTIATING);
371
const gchar* _tmp1_ = NULL;
402
GError* _error_ = NULL;
404
const gchar* _tmp4_ = NULL;
372
407
_error_ = _inner_error_;
373
408
_inner_error_ = NULL;
374
_tmp1_ = g_app_info_get_name (self->priv->_app_info);
375
g_warning ("player-controller.vala:107: Failed to launch app %s with error message" \
376
": %s", _tmp1_, _error_->message);
409
_tmp3_ = self->priv->_app_info;
410
_tmp4_ = g_app_info_get_name (_tmp3_);
412
_tmp6_ = _tmp5_->message;
413
g_warning ("player-controller.vala:105: Failed to launch app %s with error message" \
414
": %s", _tmp4_, _tmp6_);
377
415
_g_error_free0 (_error_);
380
418
if (_inner_error_ != NULL) {
381
419
g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
382
420
g_clear_error (&_inner_error_);
388
426
void player_controller_enable_track_specific_items (PlayerController* self, const gchar* object_path) {
427
SpecificItemsManager* _tmp0_;
389
428
g_return_if_fail (self != NULL);
390
429
g_return_if_fail (object_path != NULL);
391
if (self->priv->track_specific_mgr == NULL) {
392
SpecificItemsManager* _tmp0_ = NULL;
393
_tmp0_ = specific_items_manager_new (self, object_path, SPECIFIC_ITEMS_MANAGER_CATEGORY_TRACK);
430
_tmp0_ = self->priv->track_specific_mgr;
431
if (_tmp0_ == NULL) {
433
SpecificItemsManager* _tmp2_;
434
_tmp1_ = object_path;
435
_tmp2_ = specific_items_manager_new (self, _tmp1_, SPECIFIC_ITEMS_MANAGER_CATEGORY_TRACK);
394
436
_g_object_unref0 (self->priv->track_specific_mgr);
395
self->priv->track_specific_mgr = _tmp0_;
437
self->priv->track_specific_mgr = _tmp2_;
400
442
void player_controller_enable_player_specific_items (PlayerController* self, const gchar* object_path) {
443
SpecificItemsManager* _tmp0_;
401
444
g_return_if_fail (self != NULL);
402
445
g_return_if_fail (object_path != NULL);
403
if (self->priv->player_specific_mgr == NULL) {
404
SpecificItemsManager* _tmp0_ = NULL;
405
_tmp0_ = specific_items_manager_new (self, object_path, SPECIFIC_ITEMS_MANAGER_CATEGORY_PLAYER);
446
_tmp0_ = self->priv->player_specific_mgr;
447
if (_tmp0_ == NULL) {
449
SpecificItemsManager* _tmp2_;
450
_tmp1_ = object_path;
451
_tmp2_ = specific_items_manager_new (self, _tmp1_, SPECIFIC_ITEMS_MANAGER_CATEGORY_PLAYER);
406
452
_g_object_unref0 (self->priv->player_specific_mgr);
407
self->priv->player_specific_mgr = _tmp0_;
453
self->priv->player_specific_mgr = _tmp2_;
412
458
gint player_controller_track_specific_count (PlayerController* self) {
414
GeeArrayList* _tmp0_ = NULL;
460
SpecificItemsManager* _tmp0_;
461
SpecificItemsManager* _tmp1_;
462
GeeArrayList* _tmp2_;
463
GeeArrayList* _tmp3_;
416
466
g_return_val_if_fail (self != NULL, 0);
417
if (self->priv->track_specific_mgr == NULL) {
467
_tmp0_ = self->priv->track_specific_mgr;
468
if (_tmp0_ == NULL) {
421
_tmp0_ = specific_items_manager_get_proxy_items (self->priv->track_specific_mgr);
422
_tmp1_ = gee_collection_get_size ((GeeCollection*) _tmp0_);
472
_tmp1_ = self->priv->track_specific_mgr;
473
_tmp2_ = specific_items_manager_get_proxy_items (_tmp1_);
475
_tmp4_ = gee_abstract_collection_get_size ((GeeCollection*) _tmp3_);
486
548
void player_controller_remove_from_menu (PlayerController* self) {
488
551
g_return_if_fail (self != NULL);
490
553
GeeArrayList* _tmp0_;
554
GeeArrayList* _tmp1_;
491
555
GeeArrayList* _item_list;
556
GeeArrayList* _tmp2_;
494
560
gint _item_index;
495
_tmp0_ = _g_object_ref0 (self->custom_items);
497
_tmp1_ = gee_collection_get_size ((GeeCollection*) _item_list);
561
_tmp0_ = self->custom_items;
562
_tmp1_ = _g_object_ref0 (_tmp0_);
565
_tmp3_ = gee_abstract_collection_get_size ((GeeCollection*) _tmp2_);
499
568
_item_index = -1;
501
gpointer _tmp2_ = NULL;
573
GeeArrayList* _tmp8_;
575
gpointer _tmp10_ = NULL;
502
576
PlayerItem* item;
503
_item_index = _item_index + 1;
504
if (!(_item_index < _item_size)) {
577
DbusmenuMenuitem* _tmp11_;
579
_tmp5_ = _item_index;
580
_item_index = _tmp5_ + 1;
581
_tmp6_ = _item_index;
583
if (!(_tmp6_ < _tmp7_)) {
507
_tmp2_ = gee_abstract_list_get ((GeeAbstractList*) _item_list, _item_index);
508
item = (PlayerItem*) _tmp2_;
509
dbusmenu_menuitem_child_delete (self->root_menu, (DbusmenuMenuitem*) item);
587
_tmp9_ = _item_index;
588
_tmp10_ = gee_abstract_list_get ((GeeAbstractList*) _tmp8_, _tmp9_);
589
item = (PlayerItem*) _tmp10_;
590
_tmp11_ = self->root_menu;
592
dbusmenu_menuitem_child_delete (_tmp11_, (DbusmenuMenuitem*) _tmp12_);
510
593
_g_object_unref0 (item);
512
595
_g_object_unref0 (_item_list);
515
if (_bool_equal (self->use_playlists, &_tmp3_) == TRUE) {
516
gpointer _tmp4_ = NULL;
597
_tmp13_ = self->use_playlists;
599
if (_bool_equal (_tmp13_, &_tmp14_) == TRUE) {
600
GeeArrayList* _tmp15_;
601
gpointer _tmp16_ = NULL;
518
602
PlaylistsMenuitem* playlists_menuitem;
519
_tmp4_ = gee_abstract_list_get ((GeeAbstractList*) self->custom_items, (gint) PLAYER_CONTROLLER_WIDGET_ORDER_PLAYLISTS);
520
_tmp5_ = (PlayerItem*) _tmp4_;
521
playlists_menuitem = IS_PLAYLISTS_MENUITEM (_tmp5_) ? ((PlaylistsMenuitem*) _tmp5_) : NULL;
522
dbusmenu_menuitem_child_delete (self->root_menu, playlists_menuitem->root_item);
603
DbusmenuMenuitem* _tmp17_;
604
PlaylistsMenuitem* _tmp18_;
605
DbusmenuMenuitem* _tmp19_;
606
_tmp15_ = self->custom_items;
607
_tmp16_ = gee_abstract_list_get ((GeeAbstractList*) _tmp15_, (gint) PLAYER_CONTROLLER_WIDGET_ORDER_PLAYLISTS);
608
playlists_menuitem = IS_PLAYLISTS_MENUITEM ((PlayerItem*) _tmp16_) ? ((PlaylistsMenuitem*) ((PlayerItem*) _tmp16_)) : NULL;
609
_tmp17_ = self->root_menu;
610
_tmp18_ = playlists_menuitem;
611
_tmp19_ = _tmp18_->root_item;
612
dbusmenu_menuitem_child_delete (_tmp17_, _tmp19_);
523
613
_g_object_unref0 (playlists_menuitem);
528
618
void player_controller_hibernate (PlayerController* self) {
529
gpointer _tmp0_ = NULL;
619
GeeArrayList* _tmp0_;
620
gpointer _tmp1_ = NULL;
531
621
TransportMenuitem* transport;
532
gpointer _tmp2_ = NULL;
534
GeeHashSet* _tmp4_ = NULL;
536
gpointer _tmp6_ = NULL;
622
GeeArrayList* _tmp2_;
623
gpointer _tmp3_ = NULL;
625
GeeHashSet* _tmp5_ = NULL;
627
GeeArrayList* _tmp7_;
628
gpointer _tmp8_ = NULL;
538
629
MetadataMenuitem* md;
539
630
g_return_if_fail (self != NULL);
540
631
player_controller_update_state (self, PLAYER_CONTROLLER_STATE_OFFLINE);
541
_tmp0_ = gee_abstract_list_get ((GeeAbstractList*) self->custom_items, (gint) PLAYER_CONTROLLER_WIDGET_ORDER_TRANSPORT);
542
_tmp1_ = (PlayerItem*) _tmp0_;
543
transport = IS_TRANSPORT_MENUITEM (_tmp1_) ? ((TransportMenuitem*) _tmp1_) : NULL;
632
_tmp0_ = self->custom_items;
633
_tmp1_ = gee_abstract_list_get ((GeeAbstractList*) _tmp0_, (gint) PLAYER_CONTROLLER_WIDGET_ORDER_TRANSPORT);
634
transport = IS_TRANSPORT_MENUITEM ((PlayerItem*) _tmp1_) ? ((TransportMenuitem*) ((PlayerItem*) _tmp1_)) : NULL;
544
635
transport_menuitem_change_play_state (transport, TRANSPORT_STATE_PAUSED);
545
_tmp2_ = gee_abstract_list_get ((GeeAbstractList*) self->custom_items, (gint) PLAYER_CONTROLLER_WIDGET_ORDER_METADATA);
546
_tmp3_ = (PlayerItem*) _tmp2_;
547
_tmp4_ = metadata_menuitem_relevant_attributes_for_ui ();
549
player_item_reset (_tmp3_, _tmp5_);
550
_g_object_unref0 (_tmp5_);
551
_g_object_unref0 (_tmp3_);
552
_tmp6_ = gee_abstract_list_get ((GeeAbstractList*) self->custom_items, (gint) PLAYER_CONTROLLER_WIDGET_ORDER_METADATA);
553
_tmp7_ = (PlayerItem*) _tmp6_;
554
md = IS_METADATA_MENUITEM (_tmp7_) ? ((MetadataMenuitem*) _tmp7_) : NULL;
636
_tmp2_ = self->custom_items;
637
_tmp3_ = gee_abstract_list_get ((GeeAbstractList*) _tmp2_, (gint) PLAYER_CONTROLLER_WIDGET_ORDER_METADATA);
638
_tmp4_ = (PlayerItem*) _tmp3_;
639
_tmp5_ = metadata_menuitem_relevant_attributes_for_ui ();
641
player_item_reset (_tmp4_, _tmp6_);
642
_g_object_unref0 (_tmp6_);
643
_g_object_unref0 (_tmp4_);
644
_tmp7_ = self->custom_items;
645
_tmp8_ = gee_abstract_list_get ((GeeAbstractList*) _tmp7_, (gint) PLAYER_CONTROLLER_WIDGET_ORDER_METADATA);
646
md = IS_METADATA_MENUITEM ((PlayerItem*) _tmp8_) ? ((MetadataMenuitem*) ((PlayerItem*) _tmp8_)) : NULL;
555
647
metadata_menuitem_toggle_active_triangle (md, FALSE);
556
648
_g_object_unref0 (self->mpris_bridge);
557
649
self->mpris_bridge = NULL;
563
655
void player_controller_update_layout (PlayerController* self) {
564
gpointer _tmp0_ = NULL;
656
GeeArrayList* _tmp0_;
657
gpointer _tmp1_ = NULL;
566
658
PlaylistsMenuitem* playlists_menuitem;
567
gpointer _tmp2_ = NULL;
659
GeeArrayList* _tmp2_;
660
gpointer _tmp3_ = NULL;
569
661
MetadataMenuitem* metadata_menuitem;
570
gpointer _tmp7_ = NULL;
572
GeeHashSet* _tmp9_ = NULL;
575
const gchar* _tmp12_ = NULL;
663
MetadataMenuitem* _tmp13_;
664
GeeArrayList* _tmp14_;
665
gpointer _tmp15_ = NULL;
667
GeeHashSet* _tmp17_ = NULL;
669
gboolean _tmp19_ = FALSE;
671
const gchar* _tmp21_ = NULL;
672
PlaylistsMenuitem* _tmp28_;
673
DbusmenuMenuitem* _tmp29_;
576
675
g_return_if_fail (self != NULL);
577
_tmp0_ = gee_abstract_list_get ((GeeAbstractList*) self->custom_items, (gint) PLAYER_CONTROLLER_WIDGET_ORDER_PLAYLISTS);
578
_tmp1_ = (PlayerItem*) _tmp0_;
579
playlists_menuitem = IS_PLAYLISTS_MENUITEM (_tmp1_) ? ((PlaylistsMenuitem*) _tmp1_) : NULL;
580
_tmp2_ = gee_abstract_list_get ((GeeAbstractList*) self->custom_items, (gint) PLAYER_CONTROLLER_WIDGET_ORDER_METADATA);
581
_tmp3_ = (PlayerItem*) _tmp2_;
582
metadata_menuitem = IS_METADATA_MENUITEM (_tmp3_) ? ((MetadataMenuitem*) _tmp3_) : NULL;
583
if (self->current_state != PLAYER_CONTROLLER_STATE_CONNECTED) {
584
gpointer _tmp4_ = NULL;
586
const gchar* _tmp6_ = NULL;
587
metadata_menuitem_should_collapse (metadata_menuitem, TRUE);
588
dbusmenu_menuitem_property_set_bool (playlists_menuitem->root_item, DBUSMENU_MENUITEM_PROP_VISIBLE, FALSE);
589
_tmp4_ = gee_abstract_list_get ((GeeAbstractList*) self->custom_items, (gint) PLAYER_CONTROLLER_WIDGET_ORDER_TRANSPORT);
590
_tmp5_ = (PlayerItem*) _tmp4_;
591
_tmp6_ = g_app_info_get_id (self->priv->_app_info);
592
dbusmenu_menuitem_property_set_bool ((DbusmenuMenuitem*) _tmp5_, DBUSMENU_MENUITEM_PROP_VISIBLE, g_strcmp0 (_tmp6_, "rhythmbox.desktop") == 0);
593
_g_object_unref0 (_tmp5_);
676
_tmp0_ = self->custom_items;
677
_tmp1_ = gee_abstract_list_get ((GeeAbstractList*) _tmp0_, (gint) PLAYER_CONTROLLER_WIDGET_ORDER_PLAYLISTS);
678
playlists_menuitem = IS_PLAYLISTS_MENUITEM ((PlayerItem*) _tmp1_) ? ((PlaylistsMenuitem*) ((PlayerItem*) _tmp1_)) : NULL;
679
_tmp2_ = self->custom_items;
680
_tmp3_ = gee_abstract_list_get ((GeeAbstractList*) _tmp2_, (gint) PLAYER_CONTROLLER_WIDGET_ORDER_METADATA);
681
metadata_menuitem = IS_METADATA_MENUITEM ((PlayerItem*) _tmp3_) ? ((MetadataMenuitem*) ((PlayerItem*) _tmp3_)) : NULL;
682
_tmp4_ = self->current_state;
683
if (_tmp4_ != ((gint) PLAYER_CONTROLLER_STATE_CONNECTED)) {
684
MetadataMenuitem* _tmp5_;
685
PlaylistsMenuitem* _tmp6_;
686
DbusmenuMenuitem* _tmp7_;
687
GeeArrayList* _tmp8_;
688
gpointer _tmp9_ = NULL;
691
const gchar* _tmp12_ = NULL;
692
_tmp5_ = metadata_menuitem;
693
metadata_menuitem_should_collapse (_tmp5_, TRUE);
694
_tmp6_ = playlists_menuitem;
695
_tmp7_ = _tmp6_->root_item;
696
dbusmenu_menuitem_property_set_bool (_tmp7_, DBUSMENU_MENUITEM_PROP_VISIBLE, FALSE);
697
_tmp8_ = self->custom_items;
698
_tmp9_ = gee_abstract_list_get ((GeeAbstractList*) _tmp8_, (gint) PLAYER_CONTROLLER_WIDGET_ORDER_TRANSPORT);
699
_tmp10_ = (PlayerItem*) _tmp9_;
700
_tmp11_ = self->priv->_app_info;
701
_tmp12_ = g_app_info_get_id (_tmp11_);
702
dbusmenu_menuitem_property_set_bool ((DbusmenuMenuitem*) _tmp10_, DBUSMENU_MENUITEM_PROP_VISIBLE, g_strcmp0 (_tmp12_, "rhythmbox.desktop") == 0);
703
_g_object_unref0 (_tmp10_);
594
704
_g_object_unref0 (metadata_menuitem);
595
705
_g_object_unref0 (playlists_menuitem);
598
_tmp7_ = gee_abstract_list_get ((GeeAbstractList*) self->custom_items, (gint) PLAYER_CONTROLLER_WIDGET_ORDER_METADATA);
599
_tmp8_ = (PlayerItem*) _tmp7_;
600
_tmp9_ = metadata_menuitem_relevant_attributes_for_ui ();
602
_tmp11_ = player_item_populated (_tmp8_, _tmp10_);
603
metadata_menuitem_should_collapse (metadata_menuitem, !_tmp11_);
604
_g_object_unref0 (_tmp10_);
605
_g_object_unref0 (_tmp8_);
606
_tmp12_ = g_app_info_get_id (self->priv->_app_info);
607
if (g_strcmp0 (_tmp12_, "rhythmbox.desktop") == 0) {
608
gpointer _tmp13_ = NULL;
708
_tmp13_ = metadata_menuitem;
709
_tmp14_ = self->custom_items;
710
_tmp15_ = gee_abstract_list_get ((GeeAbstractList*) _tmp14_, (gint) PLAYER_CONTROLLER_WIDGET_ORDER_METADATA);
711
_tmp16_ = (PlayerItem*) _tmp15_;
712
_tmp17_ = metadata_menuitem_relevant_attributes_for_ui ();
714
_tmp19_ = player_item_populated (_tmp16_, _tmp18_);
715
metadata_menuitem_should_collapse (_tmp13_, !_tmp19_);
716
_g_object_unref0 (_tmp18_);
717
_g_object_unref0 (_tmp16_);
718
_tmp20_ = self->priv->_app_info;
719
_tmp21_ = g_app_info_get_id (_tmp20_);
720
if (g_strcmp0 (_tmp21_, "rhythmbox.desktop") == 0) {
721
GeeArrayList* _tmp22_;
722
gpointer _tmp23_ = NULL;
610
723
TransportMenuitem* transport;
611
_tmp13_ = gee_abstract_list_get ((GeeAbstractList*) self->custom_items, (gint) PLAYER_CONTROLLER_WIDGET_ORDER_TRANSPORT);
612
_tmp14_ = (PlayerItem*) _tmp13_;
613
transport = IS_TRANSPORT_MENUITEM (_tmp14_) ? ((TransportMenuitem*) _tmp14_) : NULL;
614
transport_menuitem_handle_cached_action (transport);
724
TransportMenuitem* _tmp24_;
725
_tmp22_ = self->custom_items;
726
_tmp23_ = gee_abstract_list_get ((GeeAbstractList*) _tmp22_, (gint) PLAYER_CONTROLLER_WIDGET_ORDER_TRANSPORT);
727
transport = IS_TRANSPORT_MENUITEM ((PlayerItem*) _tmp23_) ? ((TransportMenuitem*) ((PlayerItem*) _tmp23_)) : NULL;
729
transport_menuitem_handle_cached_action (_tmp24_);
615
730
_g_object_unref0 (transport);
617
gpointer _tmp15_ = NULL;
619
_tmp15_ = gee_abstract_list_get ((GeeAbstractList*) self->custom_items, (gint) PLAYER_CONTROLLER_WIDGET_ORDER_TRANSPORT);
620
_tmp16_ = (PlayerItem*) _tmp15_;
621
dbusmenu_menuitem_property_set_bool ((DbusmenuMenuitem*) _tmp16_, DBUSMENU_MENUITEM_PROP_VISIBLE, TRUE);
622
_g_object_unref0 (_tmp16_);
732
GeeArrayList* _tmp25_;
733
gpointer _tmp26_ = NULL;
735
_tmp25_ = self->custom_items;
736
_tmp26_ = gee_abstract_list_get ((GeeAbstractList*) _tmp25_, (gint) PLAYER_CONTROLLER_WIDGET_ORDER_TRANSPORT);
737
_tmp27_ = (PlayerItem*) _tmp26_;
738
dbusmenu_menuitem_property_set_bool ((DbusmenuMenuitem*) _tmp27_, DBUSMENU_MENUITEM_PROP_VISIBLE, TRUE);
739
_g_object_unref0 (_tmp27_);
624
dbusmenu_menuitem_property_set_bool (playlists_menuitem->root_item, DBUSMENU_MENUITEM_PROP_VISIBLE, *self->use_playlists);
741
_tmp28_ = playlists_menuitem;
742
_tmp29_ = _tmp28_->root_item;
743
_tmp30_ = self->use_playlists;
744
dbusmenu_menuitem_property_set_bool (_tmp29_, DBUSMENU_MENUITEM_PROP_VISIBLE, *_tmp30_);
625
745
_g_object_unref0 (metadata_menuitem);
626
746
_g_object_unref0 (playlists_menuitem);
630
750
static void player_controller_construct_widgets (PlayerController* self) {
631
PlayerItem* _tmp0_ = NULL;
751
GeeArrayList* _tmp0_;
632
752
PlayerItem* _tmp1_;
633
MetadataMenuitem* _tmp2_ = NULL;
754
MetadataMenuitem* _tmp3_;
634
755
MetadataMenuitem* metadata_item;
635
TransportMenuitem* _tmp3_ = NULL;
756
GeeArrayList* _tmp4_;
757
MetadataMenuitem* _tmp5_;
758
TransportMenuitem* _tmp6_;
636
759
TransportMenuitem* transport_item;
637
PlaylistsMenuitem* _tmp4_ = NULL;
760
GeeArrayList* _tmp7_;
761
TransportMenuitem* _tmp8_;
762
PlaylistsMenuitem* _tmp9_;
638
763
PlaylistsMenuitem* playlist_menuitem;
764
GeeArrayList* _tmp10_;
765
PlaylistsMenuitem* _tmp11_;
639
766
g_return_if_fail (self != NULL);
640
_tmp0_ = player_item_new (DBUSMENU_CLIENT_TYPES_SEPARATOR);
642
gee_abstract_collection_add ((GeeAbstractCollection*) self->custom_items, _tmp1_);
643
_g_object_unref0 (_tmp1_);
644
_tmp2_ = metadata_menuitem_new (self);
645
metadata_item = _tmp2_;
646
gee_abstract_collection_add ((GeeAbstractCollection*) self->custom_items, (PlayerItem*) metadata_item);
647
_tmp3_ = transport_menuitem_new (self);
648
transport_item = _tmp3_;
649
gee_abstract_collection_add ((GeeAbstractCollection*) self->custom_items, (PlayerItem*) transport_item);
650
_tmp4_ = playlists_menuitem_new (self);
651
playlist_menuitem = _tmp4_;
652
gee_abstract_collection_add ((GeeAbstractCollection*) self->custom_items, (PlayerItem*) playlist_menuitem);
767
_tmp0_ = self->custom_items;
768
_tmp1_ = player_item_new (DBUSMENU_CLIENT_TYPES_SEPARATOR);
770
gee_abstract_collection_add ((GeeAbstractCollection*) _tmp0_, _tmp2_);
771
_g_object_unref0 (_tmp2_);
772
_tmp3_ = metadata_menuitem_new (self);
773
metadata_item = _tmp3_;
774
_tmp4_ = self->custom_items;
775
_tmp5_ = metadata_item;
776
gee_abstract_collection_add ((GeeAbstractCollection*) _tmp4_, (PlayerItem*) _tmp5_);
777
_tmp6_ = transport_menuitem_new (self);
778
transport_item = _tmp6_;
779
_tmp7_ = self->custom_items;
780
_tmp8_ = transport_item;
781
gee_abstract_collection_add ((GeeAbstractCollection*) _tmp7_, (PlayerItem*) _tmp8_);
782
_tmp9_ = playlists_menuitem_new (self);
783
playlist_menuitem = _tmp9_;
784
_tmp10_ = self->custom_items;
785
_tmp11_ = playlist_menuitem;
786
gee_abstract_collection_add ((GeeAbstractCollection*) _tmp10_, (PlayerItem*) _tmp11_);
654
GeeArrayList* _tmp5_;
788
GeeArrayList* _tmp12_;
789
GeeArrayList* _tmp13_;
655
790
GeeArrayList* _item_list;
791
GeeArrayList* _tmp14_;
658
795
gint _item_index;
659
_tmp5_ = _g_object_ref0 (self->custom_items);
661
_tmp6_ = gee_collection_get_size ((GeeCollection*) _item_list);
796
_tmp12_ = self->custom_items;
797
_tmp13_ = _g_object_ref0 (_tmp12_);
798
_item_list = _tmp13_;
799
_tmp14_ = _item_list;
800
_tmp15_ = gee_abstract_collection_get_size ((GeeCollection*) _tmp14_);
802
_item_size = _tmp16_;
663
803
_item_index = -1;
665
gpointer _tmp7_ = NULL;
808
GeeArrayList* _tmp20_;
810
gpointer _tmp22_ = NULL;
666
811
PlayerItem* item;
668
_item_index = _item_index + 1;
669
if (!(_item_index < _item_size)) {
812
GeeArrayList* _tmp23_;
815
_tmp17_ = _item_index;
816
_item_index = _tmp17_ + 1;
817
_tmp18_ = _item_index;
818
_tmp19_ = _item_size;
819
if (!(_tmp18_ < _tmp19_)) {
672
_tmp7_ = gee_abstract_list_get ((GeeAbstractList*) _item_list, _item_index);
673
item = (PlayerItem*) _tmp7_;
674
_tmp8_ = gee_abstract_list_index_of ((GeeAbstractList*) self->custom_items, item);
675
if (_tmp8_ == (PLAYER_CONTROLLER_WIDGET_QUANTITY - 1)) {
677
PlaylistsMenuitem* _tmp10_;
822
_tmp20_ = _item_list;
823
_tmp21_ = _item_index;
824
_tmp22_ = gee_abstract_list_get ((GeeAbstractList*) _tmp20_, _tmp21_);
825
item = (PlayerItem*) _tmp22_;
826
_tmp23_ = self->custom_items;
828
_tmp25_ = gee_abstract_list_index_of ((GeeAbstractList*) _tmp23_, _tmp24_);
829
if (_tmp25_ == (PLAYER_CONTROLLER_WIDGET_QUANTITY - 1)) {
831
PlaylistsMenuitem* _tmp27_;
678
832
PlaylistsMenuitem* playlists_menuitem;
681
_tmp10_ = _g_object_ref0 (IS_PLAYLISTS_MENUITEM (_tmp9_) ? ((PlaylistsMenuitem*) _tmp9_) : NULL);
682
playlists_menuitem = _tmp10_;
683
_tmp11_ = gee_abstract_list_index_of ((GeeAbstractList*) self->custom_items, item);
684
dbusmenu_menuitem_child_add_position (self->root_menu, playlists_menuitem->root_item, (guint) (self->priv->_menu_offset + _tmp11_));
833
DbusmenuMenuitem* _tmp28_;
834
PlaylistsMenuitem* _tmp29_;
835
DbusmenuMenuitem* _tmp30_;
837
GeeArrayList* _tmp32_;
841
_tmp27_ = _g_object_ref0 (IS_PLAYLISTS_MENUITEM (_tmp26_) ? ((PlaylistsMenuitem*) _tmp26_) : NULL);
842
playlists_menuitem = _tmp27_;
843
_tmp28_ = self->root_menu;
844
_tmp29_ = playlists_menuitem;
845
_tmp30_ = _tmp29_->root_item;
846
_tmp31_ = self->priv->_menu_offset;
847
_tmp32_ = self->custom_items;
849
_tmp34_ = gee_abstract_list_index_of ((GeeAbstractList*) _tmp32_, _tmp33_);
850
dbusmenu_menuitem_child_add_position (_tmp28_, _tmp30_, (guint) (_tmp31_ + _tmp34_));
685
851
_g_object_unref0 (playlists_menuitem);
688
_tmp12_ = gee_abstract_list_index_of ((GeeAbstractList*) self->custom_items, item);
689
dbusmenu_menuitem_child_add_position (self->root_menu, (DbusmenuMenuitem*) item, (guint) (self->priv->_menu_offset + _tmp12_));
853
DbusmenuMenuitem* _tmp35_;
856
GeeArrayList* _tmp38_;
859
_tmp35_ = self->root_menu;
861
_tmp37_ = self->priv->_menu_offset;
862
_tmp38_ = self->custom_items;
864
_tmp40_ = gee_abstract_list_index_of ((GeeAbstractList*) _tmp38_, _tmp39_);
865
dbusmenu_menuitem_child_add_position (_tmp35_, (DbusmenuMenuitem*) _tmp36_, (guint) (_tmp37_ + _tmp40_));
691
867
_g_object_unref0 (item);
722
904
const gchar* player_controller_get_dbus_name (PlayerController* self) {
723
905
const gchar* result;
724
907
g_return_val_if_fail (self != NULL, NULL);
725
result = self->priv->_dbus_name;
908
_tmp0_ = self->priv->_dbus_name;
730
914
void player_controller_set_dbus_name (PlayerController* self, const gchar* value) {
732
917
g_return_if_fail (self != NULL);
733
_tmp0_ = g_strdup (value);
919
_tmp1_ = g_strdup (_tmp0_);
734
920
_g_free0 (self->priv->_dbus_name);
735
self->priv->_dbus_name = _tmp0_;
921
self->priv->_dbus_name = _tmp1_;
736
922
g_object_notify ((GObject *) self, "dbus-name");
740
926
GAppInfo* player_controller_get_app_info (PlayerController* self) {
741
927
GAppInfo* result;
742
929
g_return_val_if_fail (self != NULL, NULL);
743
result = self->priv->_app_info;
930
_tmp0_ = self->priv->_app_info;
748
936
void player_controller_set_app_info (PlayerController* self, GAppInfo* value) {
749
937
GAppInfo* _tmp0_;
750
939
g_return_if_fail (self != NULL);
751
_tmp0_ = _g_object_ref0 (value);
941
_tmp1_ = _g_object_ref0 (_tmp0_);
752
942
_g_object_unref0 (self->priv->_app_info);
753
self->priv->_app_info = _tmp0_;
943
self->priv->_app_info = _tmp1_;
754
944
g_object_notify ((GObject *) self, "app-info");
758
948
gint player_controller_get_menu_offset (PlayerController* self) {
760
951
g_return_val_if_fail (self != NULL, 0);
761
result = self->priv->_menu_offset;
952
_tmp0_ = self->priv->_menu_offset;
766
958
void player_controller_set_menu_offset (PlayerController* self, gint value) {
767
960
g_return_if_fail (self != NULL);
768
self->priv->_menu_offset = value;
962
self->priv->_menu_offset = _tmp0_;
769
963
g_object_notify ((GObject *) self, "menu-offset");
773
967
const gchar* player_controller_get_icon_name (PlayerController* self) {
774
968
const gchar* result;
775
970
g_return_val_if_fail (self != NULL, NULL);
776
result = self->priv->_icon_name;
971
_tmp0_ = self->priv->_icon_name;
781
977
void player_controller_set_icon_name (PlayerController* self, const gchar* value) {
783
980
g_return_if_fail (self != NULL);
784
_tmp0_ = g_strdup (value);
982
_tmp1_ = g_strdup (_tmp0_);
785
983
_g_free0 (self->priv->_icon_name);
786
self->priv->_icon_name = _tmp0_;
984
self->priv->_icon_name = _tmp1_;
787
985
g_object_notify ((GObject *) self, "icon-name");