void show_help_dialog (GtkWindow *parent, const char *section) { char *uri; GError *error = NULL; uri = g_strconcat ("help:engrampa", section ? "/" : NULL, section, NULL); if (! gtk_show_uri_on_window (parent, uri, GDK_CURRENT_TIME, &error)) { GtkWidget *dialog; dialog = _gtk_message_dialog_new (parent, GTK_DIALOG_DESTROY_WITH_PARENT, "dialog-error", _("Could not display help"), error->message, "gtk-ok", GTK_RESPONSE_OK, NULL); gtk_dialog_set_default_response (GTK_DIALOG (dialog), GTK_RESPONSE_OK); g_signal_connect (G_OBJECT (dialog), "response", G_CALLBACK (gtk_widget_destroy), NULL); gtk_window_set_resizable (GTK_WINDOW (dialog), FALSE); gtk_widget_show (dialog); g_clear_error (&error); } g_free (uri); }
void gth_browser_activate_folder_context_open_in_file_manager (GSimpleAction *action, GVariant *parameter, gpointer user_data) { GthBrowser *browser = GTH_BROWSER (user_data); GthFileData *file_data; char *uri; GError *error = NULL; file_data = gth_browser_get_folder_popup_file_data (browser); if (file_data == NULL) return; uri = g_file_get_uri (file_data->file); if (! gtk_show_uri_on_window (GTK_WINDOW (browser), uri, GDK_CURRENT_TIME, &error)) { _gtk_error_dialog_from_gerror_run (GTK_WINDOW (browser), _("Could not open the location"), error); g_clear_error (&error); } g_free (uri); g_object_unref (file_data); }
static void help_cb (GtkAction *action, EyesApplet *eyes_applet) { GError *error = NULL; #if GTK_CHECK_VERSION (3, 22, 0) gtk_show_uri_on_window (NULL, "help:mate-geyes", gtk_get_current_event_time (), &error); #else gtk_show_uri (gtk_widget_get_screen (GTK_WIDGET (eyes_applet->applet)), "help:mate-geyes", gtk_get_current_event_time (), &error); #endif if (error) { GtkWidget *dialog = gtk_message_dialog_new (NULL, GTK_DIALOG_MODAL, GTK_MESSAGE_ERROR, GTK_BUTTONS_CLOSE, _("There was an error displaying help: %s"), error->message); g_signal_connect (G_OBJECT (dialog), "response", G_CALLBACK (gtk_widget_destroy), NULL); gtk_window_set_resizable (GTK_WINDOW (dialog), FALSE); gtk_window_set_screen (GTK_WINDOW (dialog), gtk_widget_get_screen (GTK_WIDGET (eyes_applet->applet))); gtk_widget_show (dialog); g_error_free (error); error = NULL; } }
/** * gtk_show_uri_simple: * @widget: widget that triggered the action * @uri: the uri * * Show the given @uri. Uses same screen as @widget. */ void gtk_show_uri_simple (GtkWidget * widget, const gchar * uri) { GError *error = NULL; g_return_if_fail (widget); g_return_if_fail (uri); #if GTK_CHECK_VERSION (3, 22, 0) GtkWidget *toplevel = gtk_widget_get_toplevel (widget); if (!gtk_widget_is_toplevel (toplevel)) { GST_WARNING ("Failed lookup widgets window\n"); } GtkWindow *window = GTK_WINDOW(toplevel); if (!gtk_show_uri_on_window (window, uri,gtk_get_current_event_time (), &error)) { GST_WARNING ("Failed to display help: %s\n", error->message); g_error_free (error); } #else GdkScreen *screen = gtk_widget_get_screen (widget); if (!gtk_show_uri (screen, uri, gtk_get_current_event_time (), &error)) { GST_WARNING ("Failed to display help: %s\n", error->message); g_error_free (error); } #endif }
void gtk_print_operation_portal_launch_preview (GtkPrintOperation *op, cairo_surface_t *surface, GtkWindow *parent, const char *filename) { char *uri; uri = g_filename_to_uri (filename, NULL, NULL); gtk_show_uri_on_window (parent, uri, GDK_CURRENT_TIME, NULL); g_free (uri); }
static void response_cb (GtkWidget *dialog, gint id, gpointer data) { if (id == GTK_RESPONSE_HELP) #if GTK_CHECK_VERSION (3, 22, 0) gtk_show_uri_on_window (GTK_WINDOW (dialog), "help:mate-stickynotes-applet/stickynotes-settings-individual", gtk_get_current_event_time (), NULL); #else gtk_show_uri (gtk_widget_get_screen (GTK_WIDGET (dialog)), "help:mate-stickynotes-applet/stickynotes-settings-individual", gtk_get_current_event_time (), NULL); #endif else if (id == GTK_RESPONSE_CLOSE)
gboolean panel_show_uri (GdkScreen *screen, const gchar *uri, guint32 timestamp, GError **error) { GError *local_error = NULL; g_return_val_if_fail (GDK_IS_SCREEN (screen), FALSE); g_return_val_if_fail (uri != NULL, FALSE); g_return_val_if_fail (error == NULL || *error == NULL, FALSE); gtk_show_uri_on_window (NULL, uri, timestamp, &local_error); return _panel_show_handle_error (uri, screen, local_error, error); }
static gboolean utils_mouse_clicked_link_cb(GtkWidget* widget, GdkEventButton* evt, gpointer udata) { if (evt->button == 1 && evt->type == GDK_BUTTON_PRESS) { GtWin* parent = GT_WIN_TOPLEVEL(widget); #if GTK_CHECK_VERSION(3, 22, 0) gtk_show_uri_on_window(GTK_WINDOW(parent), (gchar*) udata, GDK_CURRENT_TIME, NULL); #else gtk_show_uri(NULL, (gchar*) udata, GDK_CURRENT_TIME, NULL); #endif } return FALSE; }
static gboolean ide_terminal_button_press_event (GtkWidget *widget, GdkEventButton *button) { IdeTerminal *self = (IdeTerminal *)widget; g_assert (IDE_IS_TERMINAL (self)); g_assert (button != NULL); if ((button->type == GDK_BUTTON_PRESS) && (button->button == GDK_BUTTON_SECONDARY)) { if (!gtk_widget_has_focus (GTK_WIDGET (self))) gtk_widget_grab_focus (GTK_WIDGET (self)); ide_terminal_do_popup (self, (GdkEvent *)button); return GDK_EVENT_STOP; } else if ((button->type == GDK_BUTTON_PRESS) && (button->button == GDK_BUTTON_PRIMARY) && ((button->state & GDK_CONTROL_MASK) == GDK_CONTROL_MASK)) { g_autofree gchar *pattern = NULL; pattern = vte_terminal_match_check_event (VTE_TERMINAL (self), (GdkEvent *)button, NULL); if (pattern != NULL) { GtkApplication *app; GtkWindow *focused_window; if (NULL != (app = GTK_APPLICATION (g_application_get_default ())) && NULL != (focused_window = gtk_application_get_active_window (app))) gtk_show_uri_on_window (focused_window, pattern, gtk_get_current_event_time (), NULL); } return GDK_EVENT_STOP; } return GTK_WIDGET_CLASS (ide_terminal_parent_class)->button_press_event (widget, button); }
static void caja_bookmarks_window_response_callback (GtkDialog *dialog, int response_id, gpointer callback_data) { if (response_id == GTK_RESPONSE_HELP) { GError *error = NULL; #if GTK_CHECK_VERSION (3, 22, 0) gtk_show_uri_on_window (GTK_WINDOW (dialog), "help:mate-user-guide/goscaja-36", gtk_get_current_event_time (), &error); #else gtk_show_uri (gtk_window_get_screen (GTK_WINDOW (dialog)), "help:mate-user-guide/goscaja-36", gtk_get_current_event_time (), &error); #endif if (error) { GtkWidget *err_dialog; err_dialog = gtk_message_dialog_new (GTK_WINDOW (dialog), GTK_DIALOG_DESTROY_WITH_PARENT, GTK_MESSAGE_ERROR, GTK_BUTTONS_OK, _("There was an error displaying help: \n%s"), error->message); g_signal_connect (G_OBJECT (err_dialog), "response", G_CALLBACK (gtk_widget_destroy), NULL); gtk_window_set_resizable (GTK_WINDOW (err_dialog), FALSE); gtk_widget_show (err_dialog); g_error_free (error); } } else if (response_id == GTK_RESPONSE_CLOSE) { gtk_widget_hide (GTK_WIDGET (dialog)); } }
static void help_cb (GtkAction *action, MultiloadApplet *ma) { GError *error = NULL; gtk_show_uri_on_window (NULL, "help:mate-multiload", gtk_get_current_event_time (), &error); if (error) { /* FIXME: the user needs to see this */ g_warning ("help error: %s\n", error->message); g_error_free (error); error = NULL; } }
static gboolean ide_terminal_open_link (IdeTerminal *self) { IdeTerminalPrivate *priv = ide_terminal_get_instance_private (self); GtkApplication *app; GtkWindow *focused_window; g_assert (IDE_IS_TERMINAL (self)); g_assert (priv->url != NULL); if (dzl_str_empty0 (priv->url)) return FALSE; if (NULL != (app = GTK_APPLICATION (g_application_get_default ())) && NULL != (focused_window = gtk_application_get_active_window (app))) return gtk_show_uri_on_window (focused_window, priv->url, gtk_get_current_event_time (), NULL); return FALSE; }
static void help_cb (GtkAction *action, charpick_data *curr_data) { GError *error = NULL; #if GTK_CHECK_VERSION (3, 22, 0) gtk_show_uri_on_window (NULL, "help:mate-char-palette", gtk_get_current_event_time (), &error); #else gtk_show_uri (gtk_widget_get_screen (GTK_WIDGET (curr_data->applet)), "help:mate-char-palette", gtk_get_current_event_time (), &error); #endif if (error) { /* FIXME: the user needs to see this */ g_warning ("help error: %s\n", error->message); g_error_free (error); error = NULL; } }
static void gs_page_app_purchased_cb (GObject *source, GAsyncResult *res, gpointer user_data) { g_autoptr(GsPageHelper) helper = (GsPageHelper *) user_data; GsPluginLoader *plugin_loader = GS_PLUGIN_LOADER (source); GsPage *page = helper->page; GsPagePrivate *priv = gs_page_get_instance_private (page); gboolean ret; g_autoptr(GsPluginJob) plugin_job = NULL; g_autoptr(GError) error = NULL; ret = gs_plugin_loader_job_action_finish (plugin_loader, res, &error); if (g_error_matches (error, GS_PLUGIN_ERROR, GS_PLUGIN_ERROR_CANCELLED)) { g_debug ("%s", error->message); return; } if (!ret) { /* try to authenticate then retry */ if (g_error_matches (error, GS_PLUGIN_ERROR, GS_PLUGIN_ERROR_AUTH_REQUIRED)) { gs_page_authenticate (page, helper->app, gs_utils_get_error_value (error), helper->cancellable, gs_page_purchase_authenticate_cb, helper); g_steal_pointer (&helper); return; } else if (g_error_matches (error, GS_PLUGIN_ERROR, GS_PLUGIN_ERROR_PURCHASE_NOT_SETUP)) { const gchar *url; /* have we been given a link */ url = gs_utils_get_error_value (error); if (url != NULL) { g_autoptr(GError) error_local = NULL; g_debug ("showing link in: %s", error->message); if (!gtk_show_uri_on_window (GTK_WINDOW (gs_shell_get_window (priv->shell)), url, GDK_CURRENT_TIME, &error_local)) { g_warning ("failed to show URI %s: %s", url, error_local->message); } return; } } g_warning ("failed to purchase %s: %s", gs_app_get_id (helper->app), error->message); return; } if (gs_app_get_state (helper->app) != AS_APP_STATE_AVAILABLE) { g_warning ("no plugin purchased %s", gs_app_get_id (helper->app)); return; } /* now install */ plugin_job = gs_plugin_job_newv (GS_PLUGIN_ACTION_INSTALL, "interactive", TRUE, "app", helper->app, NULL); gs_plugin_loader_job_process_async (priv->plugin_loader, plugin_job, helper->cancellable, gs_page_app_installed_cb, helper); g_steal_pointer (&helper); }