Use radio actions for the encodings menu
This commit is contained in:
parent
4829ac769b
commit
b23ae6cca3
1 changed files with 31 additions and 23 deletions
|
@ -2772,6 +2772,7 @@ _action_zoom_normal_activate (GtkAction* action,
|
||||||
|
|
||||||
static void
|
static void
|
||||||
_action_view_encoding_activate (GtkAction* action,
|
_action_view_encoding_activate (GtkAction* action,
|
||||||
|
GtkAction* current,
|
||||||
MidoriBrowser* browser)
|
MidoriBrowser* browser)
|
||||||
{
|
{
|
||||||
GtkWidget* view = midori_browser_get_current_tab (browser);
|
GtkWidget* view = midori_browser_get_current_tab (browser);
|
||||||
|
@ -2780,7 +2781,7 @@ _action_view_encoding_activate (GtkAction* action,
|
||||||
const gchar* name;
|
const gchar* name;
|
||||||
GtkWidget* web_view;
|
GtkWidget* web_view;
|
||||||
|
|
||||||
name = gtk_action_get_name (action);
|
name = gtk_action_get_name (current);
|
||||||
web_view = gtk_bin_get_child (GTK_BIN (view));
|
web_view = gtk_bin_get_child (GTK_BIN (view));
|
||||||
if (!strcmp (name, "EncodingAutomatic"))
|
if (!strcmp (name, "EncodingAutomatic"))
|
||||||
g_object_set (web_view, "custom-encoding", NULL, NULL);
|
g_object_set (web_view, "custom-encoding", NULL, NULL);
|
||||||
|
@ -4103,28 +4104,6 @@ static const GtkActionEntry entries[] = {
|
||||||
NULL, "<Ctrl>0",
|
NULL, "<Ctrl>0",
|
||||||
N_("Reset the zoom level"), G_CALLBACK (_action_zoom_normal_activate) },
|
N_("Reset the zoom level"), G_CALLBACK (_action_zoom_normal_activate) },
|
||||||
{ "Encoding", NULL, N_("_Encoding") },
|
{ "Encoding", NULL, N_("_Encoding") },
|
||||||
{ "EncodingAutomatic", NULL,
|
|
||||||
N_("_Automatic"), "",
|
|
||||||
NULL, G_CALLBACK (_action_view_encoding_activate) },
|
|
||||||
{ "EncodingChinese", NULL,
|
|
||||||
N_("Chinese (BIG5)"), "",
|
|
||||||
NULL, G_CALLBACK (_action_view_encoding_activate) },
|
|
||||||
{ "EncodingJapanese", NULL,
|
|
||||||
/* i18n: A double underscore "__" is used to prevent an unwanted mnemonic */
|
|
||||||
N_("Japanese (SHIFT__JIS)"), "",
|
|
||||||
NULL, G_CALLBACK (_action_view_encoding_activate) },
|
|
||||||
{ "EncodingRussian", NULL,
|
|
||||||
N_("Russian (KOI8-R)"), "",
|
|
||||||
NULL, G_CALLBACK (_action_view_encoding_activate) },
|
|
||||||
{ "EncodingUnicode", NULL,
|
|
||||||
N_("Unicode (UTF-8)"), "",
|
|
||||||
NULL, G_CALLBACK (_action_view_encoding_activate) },
|
|
||||||
{ "EncodingWestern", NULL,
|
|
||||||
N_("Western (ISO-8859-1)"), "",
|
|
||||||
NULL, G_CALLBACK (_action_view_encoding_activate) },
|
|
||||||
{ "EncodingCustom", NULL,
|
|
||||||
N_("Custom..."), "",
|
|
||||||
NULL, G_CALLBACK (_action_view_encoding_activate) },
|
|
||||||
{ "SourceView", NULL,
|
{ "SourceView", NULL,
|
||||||
N_("View So_urce"), "<Ctrl>U",
|
N_("View So_urce"), "<Ctrl>U",
|
||||||
N_("View the source code of the page"), G_CALLBACK (_action_source_view_activate) },
|
N_("View the source code of the page"), G_CALLBACK (_action_source_view_activate) },
|
||||||
|
@ -4227,6 +4206,32 @@ static const GtkToggleActionEntry toggle_entries[] = {
|
||||||
};
|
};
|
||||||
static const guint toggle_entries_n = G_N_ELEMENTS (toggle_entries);
|
static const guint toggle_entries_n = G_N_ELEMENTS (toggle_entries);
|
||||||
|
|
||||||
|
static const GtkRadioActionEntry encoding_entries[] = {
|
||||||
|
{ "EncodingAutomatic", NULL,
|
||||||
|
N_("_Automatic"), "",
|
||||||
|
NULL, 1 },
|
||||||
|
{ "EncodingChinese", NULL,
|
||||||
|
N_("Chinese (BIG5)"), "",
|
||||||
|
NULL, 1 },
|
||||||
|
{ "EncodingJapanese", NULL,
|
||||||
|
/* i18n: A double underscore "__" is used to prevent an unwanted mnemonic */
|
||||||
|
N_("Japanese (SHIFT__JIS)"), "",
|
||||||
|
NULL, 1 },
|
||||||
|
{ "EncodingRussian", NULL,
|
||||||
|
N_("Russian (KOI8-R)"), "",
|
||||||
|
NULL, 1 },
|
||||||
|
{ "EncodingUnicode", NULL,
|
||||||
|
N_("Unicode (UTF-8)"), "",
|
||||||
|
NULL, 1 },
|
||||||
|
{ "EncodingWestern", NULL,
|
||||||
|
N_("Western (ISO-8859-1)"), "",
|
||||||
|
NULL, 1 },
|
||||||
|
{ "EncodingCustom", NULL,
|
||||||
|
N_("Custom..."), "",
|
||||||
|
NULL, 1 },
|
||||||
|
};
|
||||||
|
static const guint encoding_entries_n = G_N_ELEMENTS (encoding_entries);
|
||||||
|
|
||||||
static void
|
static void
|
||||||
midori_browser_window_state_event_cb (MidoriBrowser* browser,
|
midori_browser_window_state_event_cb (MidoriBrowser* browser,
|
||||||
GdkEventWindowState* event)
|
GdkEventWindowState* event)
|
||||||
|
@ -4616,6 +4621,9 @@ midori_browser_init (MidoriBrowser* browser)
|
||||||
entries, entries_n, browser);
|
entries, entries_n, browser);
|
||||||
gtk_action_group_add_toggle_actions (browser->action_group,
|
gtk_action_group_add_toggle_actions (browser->action_group,
|
||||||
toggle_entries, toggle_entries_n, browser);
|
toggle_entries, toggle_entries_n, browser);
|
||||||
|
gtk_action_group_add_radio_actions (browser->action_group,
|
||||||
|
encoding_entries, encoding_entries_n, 0,
|
||||||
|
G_CALLBACK (_action_view_encoding_activate), browser);
|
||||||
ui_manager = gtk_ui_manager_new ();
|
ui_manager = gtk_ui_manager_new ();
|
||||||
gtk_ui_manager_insert_action_group (ui_manager, browser->action_group, 0);
|
gtk_ui_manager_insert_action_group (ui_manager, browser->action_group, 0);
|
||||||
accel_group = gtk_ui_manager_get_accel_group (ui_manager);
|
accel_group = gtk_ui_manager_get_accel_group (ui_manager);
|
||||||
|
|
Loading…
Reference in a new issue