static void mex_info_bar_init (MexInfoBar *self) { ClutterScript *script; ClutterActor *notification_area; GError *err = NULL; gchar *tmp; MexInfoBarPrivate *priv = self->priv = INFO_BAR_PRIVATE (self); priv->script = script = clutter_script_new (); tmp = g_build_filename (mex_get_data_dir (), "json", "info-bar.json", NULL); clutter_script_load_from_file (script, tmp, &err); g_free (tmp); if (err) g_error ("Could not load info bar: %s", err->message); priv->group = CLUTTER_ACTOR (clutter_script_get_object (script, "main-group")); clutter_actor_set_parent (priv->group, CLUTTER_ACTOR (self)); priv->settings_button = CLUTTER_ACTOR (clutter_script_get_object (script, "settings-button")); priv->power_button = CLUTTER_ACTOR (clutter_script_get_object (script, "power-button")); priv->back_button = CLUTTER_ACTOR (clutter_script_get_object (script, "back-button")); priv->notification_source = mex_generic_notification_source_new (); notification_area = CLUTTER_ACTOR (clutter_script_get_object (priv->script, "notification-area")); mex_notification_area_add_source (MEX_NOTIFICATION_AREA (notification_area), MEX_NOTIFICATION_SOURCE (priv->notification_source)); g_signal_connect (priv->settings_button, "clicked", G_CALLBACK (_show_settings_dialog_cb), self); g_signal_connect (priv->power_button, "clicked", G_CALLBACK (_show_power_dialog_cb), self); g_signal_connect (priv->back_button, "clicked", G_CALLBACK (_back_button_cb), self); _create_power_dialog (MEX_INFO_BAR (self)); _create_settings_dialog (MEX_INFO_BAR (self)); }
static void mex_info_bar_init (MexInfoBar *self) { ClutterScript *script; ClutterActor *notification_area; GError *err = NULL; gchar *tmp; GSettings *settings; MexInfoBarPrivate *priv = self->priv = INFO_BAR_PRIVATE (self); priv->script = script = clutter_script_new (); tmp = g_build_filename (mex_get_data_dir (), "json", "info-bar.json", NULL); clutter_script_load_from_file (script, tmp, &err); g_free (tmp); if (err) g_error ("Could not load info bar: %s", err->message); priv->group = CLUTTER_ACTOR (clutter_script_get_object (script, "main-group")); clutter_actor_set_parent (priv->group, CLUTTER_ACTOR (self)); priv->settings_button = CLUTTER_ACTOR (clutter_script_get_object (script, "settings-button")); priv->power_button = CLUTTER_ACTOR (clutter_script_get_object (script, "power-button")); priv->back_button = CLUTTER_ACTOR (clutter_script_get_object (script, "back-button")); priv->notification_source = mex_generic_notification_source_new (); notification_area = CLUTTER_ACTOR (clutter_script_get_object (priv->script, "notification-area")); /* ensure the notification area is above any other actors */ clutter_actor_set_child_above_sibling (clutter_actor_get_parent (notification_area), notification_area, NULL); mex_notification_area_add_source (MEX_NOTIFICATION_AREA (notification_area), MEX_NOTIFICATION_SOURCE (priv->notification_source)); g_signal_connect (priv->settings_button, "clicked", G_CALLBACK (_show_settings_dialog_cb), self); g_signal_connect (priv->power_button, "clicked", G_CALLBACK (_close_request_cb), self); g_signal_connect (priv->back_button, "clicked", G_CALLBACK (_back_button_cb), self); _create_settings_dialog (MEX_INFO_BAR (self)); settings = g_settings_new ("org.media-explorer.Shell"); if (!g_settings_get_boolean (settings, "close-button-visible")) clutter_actor_hide (priv->power_button); g_clear_object (&settings); }