mirror of
https://gitlab.gnome.org/GNOME/gimp.git
synced 2025-07-04 09:53:25 +00:00
plug-ins: Recognize https:// in ImageMap plug-in
This adds "https://" as a valid website prefix in the ImageMap URL edit
field, in addition to http://.
It also restores the prefix change that 2.10 had when you switched URL
types. It also fixes code formatting in affected areas.
(cherry picked from commit 6d02eb4505
)
This commit is contained in:
parent
ec0ecf61b7
commit
685c8bde99
1 changed files with 58 additions and 46 deletions
|
@ -51,35 +51,39 @@ relative_filter(const char *name, gpointer data)
|
|||
}
|
||||
|
||||
static void
|
||||
url_changed(GtkWidget *widget, gpointer data)
|
||||
url_changed (GtkWidget *widget,
|
||||
gpointer data)
|
||||
{
|
||||
AreaInfoDialog_t *param = (AreaInfoDialog_t*) data;
|
||||
const gchar *url = gtk_entry_get_text(GTK_ENTRY(param->url));
|
||||
GtkWidget *button;
|
||||
AreaInfoDialog_t *param = (AreaInfoDialog_t*) data;
|
||||
const gchar *url = gtk_entry_get_text (GTK_ENTRY (param->url));
|
||||
GtkWidget *button;
|
||||
|
||||
if (!g_ascii_strncasecmp(url, "http://", sizeof("http://") - 1))
|
||||
button = param->web_site;
|
||||
else if (!g_ascii_strncasecmp(url, "ftp://", sizeof("ftp://") - 1))
|
||||
button = param->ftp_site;
|
||||
else if (!g_ascii_strncasecmp(url, "gopher://", sizeof("gopher://") - 1))
|
||||
button = param->gopher;
|
||||
else if (!g_ascii_strncasecmp(url, "file:/", sizeof("file:/") - 1))
|
||||
button = param->file;
|
||||
else if (!g_ascii_strncasecmp(url, "wais://", sizeof("wais://") - 1))
|
||||
button = param->wais;
|
||||
else if (!g_ascii_strncasecmp(url, "telnet://", sizeof("telnet://") - 1))
|
||||
button = param->telnet;
|
||||
else if (!g_ascii_strncasecmp(url, "mailto:", sizeof("mailto:") - 1))
|
||||
button = param->email;
|
||||
else
|
||||
button = param->other;
|
||||
if (! g_ascii_strncasecmp (url, "http://", sizeof ("http://") - 1) ||
|
||||
! g_ascii_strncasecmp (url, "https://", sizeof ( "https://") - 1))
|
||||
button = param->web_site;
|
||||
else if (! g_ascii_strncasecmp (url, "ftp://", sizeof ("ftp://") - 1))
|
||||
button = param->ftp_site;
|
||||
else if (! g_ascii_strncasecmp (url, "gopher://", sizeof ("gopher://") - 1))
|
||||
button = param->gopher;
|
||||
else if (! g_ascii_strncasecmp (url, "file:/", sizeof ("file:/") - 1))
|
||||
button = param->file;
|
||||
else if (! g_ascii_strncasecmp (url, "wais://", sizeof ("wais://") - 1))
|
||||
button = param->wais;
|
||||
else if (! g_ascii_strncasecmp (url, "telnet://", sizeof ("telnet://") - 1))
|
||||
button = param->telnet;
|
||||
else if (! g_ascii_strncasecmp (url, "mailto:", sizeof ("mailto:") - 1))
|
||||
button = param->email;
|
||||
else
|
||||
button = param->other;
|
||||
|
||||
callback_lock = TRUE;
|
||||
gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(button), TRUE);
|
||||
callback_lock = TRUE;
|
||||
gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (button), TRUE);
|
||||
}
|
||||
|
||||
static void
|
||||
set_url(GtkWidget *widget, AreaInfoDialog_t *param, const gchar *prefix)
|
||||
set_url (GtkWidget *widget,
|
||||
AreaInfoDialog_t *param,
|
||||
const gchar *prefix)
|
||||
{
|
||||
if (callback_lock)
|
||||
{
|
||||
|
@ -90,16 +94,16 @@ set_url(GtkWidget *widget, AreaInfoDialog_t *param, const gchar *prefix)
|
|||
if (gtk_widget_get_state (widget) & GTK_STATE_SELECTED)
|
||||
{
|
||||
char *p;
|
||||
gchar *url = g_strdup(gtk_entry_get_text(GTK_ENTRY(param->url)));
|
||||
gchar *url = g_strdup (gtk_entry_get_text (GTK_ENTRY(param->url)));
|
||||
|
||||
p = strstr(url, "//"); /* 'http://' */
|
||||
p = strstr (url, "//"); /* 'https://' */
|
||||
if (p)
|
||||
{
|
||||
p += 2;
|
||||
}
|
||||
else
|
||||
{
|
||||
p = strchr(url, ':'); /* 'mailto:' */
|
||||
p = strchr (url, ':'); /* 'mailto:' */
|
||||
if (p)
|
||||
{
|
||||
p++;
|
||||
|
@ -111,61 +115,69 @@ set_url(GtkWidget *widget, AreaInfoDialog_t *param, const gchar *prefix)
|
|||
p = url;
|
||||
}
|
||||
}
|
||||
p = g_strconcat(prefix, p, NULL);
|
||||
gtk_entry_set_text(GTK_ENTRY(param->url), p);
|
||||
g_free(p);
|
||||
g_free(url);
|
||||
p = g_strconcat (prefix, p, NULL);
|
||||
gtk_entry_set_text (GTK_ENTRY(param->url), p);
|
||||
g_free (p);
|
||||
g_free (url);
|
||||
}
|
||||
}
|
||||
gtk_widget_grab_focus(param->url);
|
||||
}
|
||||
|
||||
static void
|
||||
select_web_cb(GtkWidget *widget, AreaInfoDialog_t *param)
|
||||
select_web_cb (GtkWidget *widget,
|
||||
AreaInfoDialog_t *param)
|
||||
{
|
||||
set_url(widget, param, "http://");
|
||||
set_url (widget, param, "https://");
|
||||
}
|
||||
|
||||
static void
|
||||
select_ftp_cb(GtkWidget *widget, AreaInfoDialog_t *param)
|
||||
select_ftp_cb (GtkWidget *widget,
|
||||
AreaInfoDialog_t *param)
|
||||
{
|
||||
set_url(widget, param, "ftp://");
|
||||
set_url(widget, param, "ftp://");
|
||||
}
|
||||
|
||||
static void
|
||||
select_gopher_cb(GtkWidget *widget, AreaInfoDialog_t *param)
|
||||
select_gopher_cb (GtkWidget *widget,
|
||||
AreaInfoDialog_t *param)
|
||||
{
|
||||
set_url(widget, param, "gopher://");
|
||||
set_url (widget, param, "gopher://");
|
||||
}
|
||||
|
||||
static void
|
||||
select_other_cb(GtkWidget *widget, AreaInfoDialog_t *param)
|
||||
select_other_cb (GtkWidget *widget,
|
||||
AreaInfoDialog_t *param)
|
||||
{
|
||||
set_url(widget, param, "");
|
||||
set_url (widget, param, "");
|
||||
}
|
||||
|
||||
static void
|
||||
select_file_cb(GtkWidget *widget, AreaInfoDialog_t *param)
|
||||
select_file_cb (GtkWidget *widget,
|
||||
AreaInfoDialog_t *param)
|
||||
{
|
||||
set_url(widget, param, "file:/");
|
||||
set_url (widget, param, "file:/");
|
||||
}
|
||||
|
||||
static void
|
||||
select_wais_cb(GtkWidget *widget, AreaInfoDialog_t *param)
|
||||
select_wais_cb (GtkWidget *widget,
|
||||
AreaInfoDialog_t *param)
|
||||
{
|
||||
set_url(widget, param, "wais://");
|
||||
set_url (widget, param, "wais://");
|
||||
}
|
||||
|
||||
static void
|
||||
select_telnet_cb(GtkWidget *widget, AreaInfoDialog_t *param)
|
||||
select_telnet_cb (GtkWidget *widget,
|
||||
AreaInfoDialog_t *param)
|
||||
{
|
||||
set_url(widget, param, "telnet://");
|
||||
set_url (widget, param, "telnet://");
|
||||
}
|
||||
|
||||
static void
|
||||
select_email_cb(GtkWidget *widget, AreaInfoDialog_t *param)
|
||||
select_email_cb (GtkWidget *widget,
|
||||
AreaInfoDialog_t *param)
|
||||
{
|
||||
set_url(widget, param, "mailto:");
|
||||
set_url (widget, param, "mailto:");
|
||||
}
|
||||
|
||||
static void
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue