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
|
static void
|
||||||
url_changed(GtkWidget *widget, gpointer data)
|
url_changed (GtkWidget *widget,
|
||||||
|
gpointer data)
|
||||||
{
|
{
|
||||||
AreaInfoDialog_t *param = (AreaInfoDialog_t*) data;
|
AreaInfoDialog_t *param = (AreaInfoDialog_t*) data;
|
||||||
const gchar *url = gtk_entry_get_text(GTK_ENTRY(param->url));
|
const gchar *url = gtk_entry_get_text (GTK_ENTRY (param->url));
|
||||||
GtkWidget *button;
|
GtkWidget *button;
|
||||||
|
|
||||||
if (!g_ascii_strncasecmp(url, "http://", sizeof("http://") - 1))
|
if (! g_ascii_strncasecmp (url, "http://", sizeof ("http://") - 1) ||
|
||||||
|
! g_ascii_strncasecmp (url, "https://", sizeof ( "https://") - 1))
|
||||||
button = param->web_site;
|
button = param->web_site;
|
||||||
else if (!g_ascii_strncasecmp(url, "ftp://", sizeof("ftp://") - 1))
|
else if (! g_ascii_strncasecmp (url, "ftp://", sizeof ("ftp://") - 1))
|
||||||
button = param->ftp_site;
|
button = param->ftp_site;
|
||||||
else if (!g_ascii_strncasecmp(url, "gopher://", sizeof("gopher://") - 1))
|
else if (! g_ascii_strncasecmp (url, "gopher://", sizeof ("gopher://") - 1))
|
||||||
button = param->gopher;
|
button = param->gopher;
|
||||||
else if (!g_ascii_strncasecmp(url, "file:/", sizeof("file:/") - 1))
|
else if (! g_ascii_strncasecmp (url, "file:/", sizeof ("file:/") - 1))
|
||||||
button = param->file;
|
button = param->file;
|
||||||
else if (!g_ascii_strncasecmp(url, "wais://", sizeof("wais://") - 1))
|
else if (! g_ascii_strncasecmp (url, "wais://", sizeof ("wais://") - 1))
|
||||||
button = param->wais;
|
button = param->wais;
|
||||||
else if (!g_ascii_strncasecmp(url, "telnet://", sizeof("telnet://") - 1))
|
else if (! g_ascii_strncasecmp (url, "telnet://", sizeof ("telnet://") - 1))
|
||||||
button = param->telnet;
|
button = param->telnet;
|
||||||
else if (!g_ascii_strncasecmp(url, "mailto:", sizeof("mailto:") - 1))
|
else if (! g_ascii_strncasecmp (url, "mailto:", sizeof ("mailto:") - 1))
|
||||||
button = param->email;
|
button = param->email;
|
||||||
else
|
else
|
||||||
button = param->other;
|
button = param->other;
|
||||||
|
|
||||||
callback_lock = TRUE;
|
callback_lock = TRUE;
|
||||||
gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(button), TRUE);
|
gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (button), TRUE);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
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)
|
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)
|
if (gtk_widget_get_state (widget) & GTK_STATE_SELECTED)
|
||||||
{
|
{
|
||||||
char *p;
|
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)
|
if (p)
|
||||||
{
|
{
|
||||||
p += 2;
|
p += 2;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
p = strchr(url, ':'); /* 'mailto:' */
|
p = strchr (url, ':'); /* 'mailto:' */
|
||||||
if (p)
|
if (p)
|
||||||
{
|
{
|
||||||
p++;
|
p++;
|
||||||
|
@ -111,61 +115,69 @@ set_url(GtkWidget *widget, AreaInfoDialog_t *param, const gchar *prefix)
|
||||||
p = url;
|
p = url;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
p = g_strconcat(prefix, p, NULL);
|
p = g_strconcat (prefix, p, NULL);
|
||||||
gtk_entry_set_text(GTK_ENTRY(param->url), p);
|
gtk_entry_set_text (GTK_ENTRY(param->url), p);
|
||||||
g_free(p);
|
g_free (p);
|
||||||
g_free(url);
|
g_free (url);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
gtk_widget_grab_focus(param->url);
|
gtk_widget_grab_focus(param->url);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
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
|
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
|
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
|
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
|
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
|
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
|
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
|
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
|
static void
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue