Bug 762279 - "Tip of the day" links opens two links
Fix this the brute force way, don't look it's ugly...
This commit is contained in:
parent
661ad454b4
commit
dc33afd95b
1 changed files with 25 additions and 3 deletions
|
|
@ -42,6 +42,17 @@ enum
|
|||
RESPONSE_NEXT = 2
|
||||
};
|
||||
|
||||
|
||||
/* eek, see bug 762279 */
|
||||
GtkLinkButtonUriFunc
|
||||
gtk_link_button_set_uri_hook (GtkLinkButtonUriFunc func,
|
||||
gpointer data,
|
||||
GDestroyNotify destroy);
|
||||
static void tips_uri_hook (GtkLinkButton *button,
|
||||
const gchar *link_,
|
||||
gpointer user_data);
|
||||
|
||||
|
||||
static void tips_dialog_set_tip (GimpTip *tip);
|
||||
static void tips_dialog_response (GtkWidget *dialog,
|
||||
gint response);
|
||||
|
|
@ -194,6 +205,9 @@ tips_dialog_create (Gimp *gimp)
|
|||
gtk_widget_show (more_button);
|
||||
gtk_box_pack_start (GTK_BOX (hbox), more_button, FALSE, FALSE, 0);
|
||||
|
||||
/* this is deprecated but better than showing two URIs, see bug #762279 */
|
||||
gtk_link_button_set_uri_hook (tips_uri_hook, NULL, NULL);
|
||||
|
||||
g_signal_connect (more_button, "clicked",
|
||||
G_CALLBACK (more_button_clicked),
|
||||
gimp);
|
||||
|
|
@ -246,9 +260,7 @@ tips_dialog_set_tip (GimpTip *tip)
|
|||
|
||||
gtk_label_set_markup (GTK_LABEL (tip_label), tip->text);
|
||||
|
||||
/* set the URI to unset the "visited" state */
|
||||
gtk_link_button_set_uri (GTK_LINK_BUTTON (more_button),
|
||||
"http://docs.gimp.org/");
|
||||
gtk_link_button_set_visited (GTK_LINK_BUTTON (more_button), FALSE);
|
||||
|
||||
gtk_widget_set_sensitive (more_button, tip->help_id != NULL);
|
||||
}
|
||||
|
|
@ -259,6 +271,16 @@ more_button_clicked (GtkWidget *button,
|
|||
{
|
||||
GimpTip *tip = current_tip->data;
|
||||
|
||||
g_signal_stop_emission_by_name (button, "clicked");
|
||||
|
||||
if (tip->help_id)
|
||||
gimp_help (gimp, NULL, NULL, tip->help_id);
|
||||
}
|
||||
|
||||
static void
|
||||
tips_uri_hook (GtkLinkButton *button,
|
||||
const gchar *link_,
|
||||
gpointer user_data)
|
||||
{
|
||||
/* do nothing */
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in a new issue