diff --git a/po/POTFILES.in b/po/POTFILES.in index df52d24..fbe5eda 100644 --- a/po/POTFILES.in +++ b/po/POTFILES.in @@ -6,8 +6,9 @@ src/ag-chart.c src/ag-db.c src/ag-display-theme.c src/ag-window.c +src/ag-header-bar.c src/astrognome.c -[type: gettext/glade]src/resources/ui/astrognome.ui +[type: gettext/glade]src/resources/gtk/menus.ui [type: gettext/glade]src/resources/ui/ag-window.ui [type: gettext/glade]src/resources/ui/ag-preferences.ui [type: gettext/glade]src/resources/ui/ag-chart-edit.ui diff --git a/src/ag-app.c b/src/ag-app.c index 02b65e1..22db865 100644 --- a/src/ag-app.c +++ b/src/ag-app.c @@ -361,6 +361,7 @@ const gchar *action_accels[] = { "win.change-tab::points", "F7", NULL, "win.change-tab::edit", "F4", NULL, "win.back", "Left", "Back", NULL, + "win.select-all", "A", NULL, NULL }; @@ -378,29 +379,6 @@ setup_accelerators(AgApp *app) } } -static void -setup_menu(AgApp *app) -{ - GtkBuilder *builder; - GMenuModel *model; - GError *err = NULL; - - builder = gtk_builder_new(); - - if (!gtk_builder_add_from_resource( - builder, - "/eu/polonkai/gergely/Astrognome/ui/astrognome.ui", - &err - )) { - g_error("%s", (err) ? err->message : "unknown error"); - } - - model = G_MENU_MODEL(gtk_builder_get_object(builder, "app-menu")); - gtk_application_set_app_menu(GTK_APPLICATION(app), model); - - g_object_unref(builder); -} - static void startup(GApplication *gapp) { @@ -409,7 +387,6 @@ startup(GApplication *gapp) G_APPLICATION_CLASS(ag_app_parent_class)->startup(gapp); setup_actions(app); - setup_menu(app); setup_accelerators(app); } diff --git a/src/ag-window.c b/src/ag-window.c index ffcef1f..29f2b26 100644 --- a/src/ag-window.c +++ b/src/ag-window.c @@ -1645,6 +1645,26 @@ ag_window_connection_action(GSimpleAction *action, } } +static void +ag_window_select_all_action(GSimpleAction *action, + GVariant *parameter, + gpointer user_data) +{ + GET_PRIV(AG_WINDOW(user_data)); + + ag_icon_view_select_all(priv->chart_list); +} + + static void +ag_window_select_none_action(GSimpleAction *action, + GVariant *parameter, + gpointer user_data) +{ + GET_PRIV(AG_WINDOW(user_data)); + + ag_icon_view_unselect_all(priv->chart_list); +} + static GActionEntry win_entries[] = { { "close", ag_window_close_action, NULL, NULL, NULL }, { "save", ag_window_save_action, NULL, NULL, NULL }, @@ -1658,6 +1678,8 @@ static GActionEntry win_entries[] = { { "refresh", ag_window_refresh_action, NULL, NULL, NULL }, { "delete", ag_window_delete_action, NULL, NULL, NULL }, { "connection", ag_window_connection_action, "s", "'aspects'", NULL }, + { "select-all", ag_window_select_all_action, NULL, NULL, NULL }, + { "select-none", ag_window_select_none_action, NULL, NULL, NULL }, }; static void diff --git a/src/ag.gresource.xml b/src/ag.gresource.xml index 2a795b4..76ae9b0 100644 --- a/src/ag.gresource.xml +++ b/src/ag.gresource.xml @@ -1,7 +1,8 @@ - ui/astrognome.ui + gtk/menus.ui + ui/ag-window.ui ui/ag-preferences.ui ui/ag-chart-edit.ui diff --git a/src/resources/ui/astrognome.ui b/src/resources/gtk/menus.ui similarity index 76% rename from src/resources/ui/astrognome.ui rename to src/resources/gtk/menus.ui index 967cfed..8035267 100644 --- a/src/resources/ui/astrognome.ui +++ b/src/resources/gtk/menus.ui @@ -39,4 +39,17 @@ + +
+ + Select All + win.select-all + <Primary>a + + + Select None + win.select-none + +
+