static void gis_summary_page_shown (GisPage *page) { GisSummaryPage *summary = GIS_SUMMARY_PAGE (page); GisSummaryPagePrivate *priv = gis_summary_page_get_instance_private (summary); gis_driver_save_data (GIS_PAGE (page)->driver); gis_driver_get_user_permissions (GIS_PAGE (page)->driver, &priv->user_account, &priv->user_password); gtk_widget_grab_focus (priv->start_button); }
static void gis_finished_page_shown (GisPage *page) { GisFinishedPage *self = GIS_FINISHED_PAGE (page); GisFinishedPagePrivate *priv = gis_finished_page_get_instance_private (self); GError *error = gis_store_get_error(); gis_driver_save_data (GIS_PAGE (page)->driver); if (error != NULL) { GisAssistant *assistant = gis_driver_get_assistant (page->driver); const gchar *heading = NULL; const gchar *detail = error->message; g_warning ("%s: %s %d %s", G_STRFUNC, g_quark_to_string (error->domain), error->code, error->message); if (error->domain == GIS_UNATTENDED_ERROR) { heading = _("Oops, something is wrong with your unattended installation configuration."); } else if (error->domain == GIS_IMAGE_ERROR) { heading = _("Oops, something is wrong with your Endless OS file."); } else if (error->domain == GIS_DISK_ERROR) { heading = _("Oops, something went wrong while finding suitable disks to reformat."); } else if (error->domain == GIS_INSTALL_ERROR) { heading = _("Oops, something went wrong while reformatting."); } else if (g_error_matches (error, G_IO_ERROR, G_IO_ERROR_CANCELLED)) { heading = error->message; detail = NULL; gtk_widget_hide (GTK_WIDGET (priv->error_label)); gtk_widget_hide (GTK_WIDGET (priv->diagnostics_label)); gtk_widget_hide (GTK_WIDGET (priv->support_label)); } else { heading = _("Oops, something went wrong."); } if (heading != NULL) gtk_label_set_text (priv->error_heading_label, heading); if (detail != NULL) gtk_label_set_text (priv->error_label, detail); gtk_widget_show (priv->error_box); gtk_widget_hide (priv->success_box); gis_assistant_locale_changed (assistant); if (!g_error_matches (error, G_IO_ERROR, G_IO_ERROR_CANCELLED)) { /* Running eos-diagnostics can be slow enough that we can't do it * synchronously on the UI thread. */ GFile *image_dir = G_FILE (gis_store_get_object (GIS_STORE_IMAGE_DIR)); /* See implementation of gis_write_diagnostics_async for rationale. */ const gchar *home_dir = priv->gedit != NULL ? g_get_home_dir () : NULL; g_application_hold (G_APPLICATION (page->driver)); gis_write_diagnostics_async (NULL, image_dir, home_dir, NULL, write_diagnostics_cb, g_object_ref (self)); } if (gis_store_is_unattended()) { g_timeout_add_seconds (1, (GSourceFunc)toggle_leds, page); } /* If running within a live session, hide the "Turn off" button on error, * since we have a perfectly good [X] button on the titlebar and we want * to encourage the user to notice the link to the diagnostics file. */ GisDriverMode mode = gis_driver_get_mode (GIS_PAGE (self)->driver); gtk_widget_set_visible (GTK_WIDGET (priv->restart_button), mode == GIS_DRIVER_MODE_NEW_USER); } else { gboolean optical = is_eosdvd (); gtk_widget_set_visible (priv->removelabel_usb, !optical); gtk_widget_set_visible (priv->removelabel_dvd, optical); } }