Commit 3f279bba1b058c39370bef91805463fb5df902b3
1 parent
4be60cbe
Exists in
master
and in
4 other branches
Refactorin window actions.
Showing
5 changed files
with
54 additions
and
12 deletions
Show diff stats
src/include/pw3270/actions.h
@@ -82,7 +82,7 @@ | @@ -82,7 +82,7 @@ | ||
82 | } PW3270ActionClass; | 82 | } PW3270ActionClass; |
83 | 83 | ||
84 | GType PW3270Action_get_type(void) G_GNUC_CONST; | 84 | GType PW3270Action_get_type(void) G_GNUC_CONST; |
85 | - PW3270Action * pw3270action_new(); | 85 | + PW3270Action * pw3270_action_new(); |
86 | PW3270Action * pw3270_dialog_action_new(GtkWidget * (*factory)(PW3270Action *action, GtkApplication *application)); | 86 | PW3270Action * pw3270_dialog_action_new(GtkWidget * (*factory)(PW3270Action *action, GtkApplication *application)); |
87 | 87 | ||
88 | // | 88 | // |
src/objects/actions/abstract.c
@@ -249,8 +249,8 @@ | @@ -249,8 +249,8 @@ | ||
249 | // | 249 | // |
250 | // Action methods. | 250 | // Action methods. |
251 | // | 251 | // |
252 | - GAction * pw3270_action_new() { | ||
253 | - return G_ACTION(g_object_new(PW3270_TYPE_ACTION, NULL)); | 252 | + PW3270Action * pw3270_action_new() { |
253 | + return PW3270_ACTION(g_object_new(PW3270_TYPE_ACTION, NULL)); | ||
254 | } | 254 | } |
255 | 255 | ||
256 | GdkPixbuf * pw3270_action_get_pixbuf(GAction *action, GtkIconSize icon_size, GtkIconLookupFlags flags) { | 256 | GdkPixbuf * pw3270_action_get_pixbuf(GAction *action, GtkIconSize icon_size, GtkIconLookupFlags flags) { |
src/objects/application/actions/window.c
@@ -33,9 +33,9 @@ | @@ -33,9 +33,9 @@ | ||
33 | 33 | ||
34 | #include "../private.h" | 34 | #include "../private.h" |
35 | #include <pw3270/application.h> | 35 | #include <pw3270/application.h> |
36 | + #include <pw3270/actions.h> | ||
36 | 37 | ||
37 | - | ||
38 | - void pw3270_application_quit_activated(GSimpleAction G_GNUC_UNUSED(*action), GVariant G_GNUC_UNUSED(*parameter), gpointer G_GNUC_UNUSED(application)) { | 38 | + static void quit_activated(GAction G_GNUC_UNUSED(*action), GVariant G_GNUC_UNUSED(*parameter), GtkApplication *application) { |
39 | 39 | ||
40 | g_print("Exiting application\n"); | 40 | g_print("Exiting application\n"); |
41 | 41 | ||
@@ -56,16 +56,56 @@ | @@ -56,16 +56,56 @@ | ||
56 | 56 | ||
57 | } | 57 | } |
58 | 58 | ||
59 | - void pw3270_application_new_tab_activated(GSimpleAction G_GNUC_UNUSED(*action), GVariant G_GNUC_UNUSED(*parameter), gpointer application) { | 59 | + GAction * pw3270_quit_action_new() { |
60 | + | ||
61 | + PW3270Action * action = pw3270_action_new(); | ||
62 | + | ||
63 | + action->name = "quit"; | ||
64 | + action->label = _( "Quit" ); | ||
65 | + action->tooltip = _( "Quit application" ); | ||
66 | + action->icon_name = "gtk-quit"; | ||
67 | + action->activate = quit_activated; | ||
68 | + | ||
69 | + return G_ACTION(action); | ||
70 | + } | ||
71 | + | ||
72 | + static void new_tab_activated(GAction *action, GVariant *parameter, GtkApplication *application) { | ||
60 | 73 | ||
61 | debug("%s",__FUNCTION__); | 74 | debug("%s",__FUNCTION__); |
62 | pw3270_application_window_new_tab(GTK_WIDGET(gtk_application_get_active_window(GTK_APPLICATION(application))), NULL); | 75 | pw3270_application_window_new_tab(GTK_WIDGET(gtk_application_get_active_window(GTK_APPLICATION(application))), NULL); |
63 | 76 | ||
64 | } | 77 | } |
65 | 78 | ||
66 | - void pw3270_application_new_window_activated(GSimpleAction G_GNUC_UNUSED(* action), GVariant G_GNUC_UNUSED(*parameter), gpointer application) { | 79 | + GAction * pw3270_new_tab_action_new() { |
80 | + | ||
81 | + PW3270Action * action = pw3270_action_new(); | ||
82 | + | ||
83 | + action->name = "new.tab"; | ||
84 | + action->label = _( "New tab" ); | ||
85 | + action->tooltip = _( "New tab with default session" ); | ||
86 | + action->icon_name = "tab-new"; | ||
87 | + action->activate = new_tab_activated; | ||
88 | + | ||
89 | + return G_ACTION(action); | ||
90 | + } | ||
91 | + | ||
92 | + static void new_window_activated(GAction *action, GVariant *parameter, GtkApplication *application) { | ||
67 | 93 | ||
68 | debug("%s",__FUNCTION__); | 94 | debug("%s",__FUNCTION__); |
69 | g_application_activate(application); | 95 | g_application_activate(application); |
70 | 96 | ||
71 | } | 97 | } |
98 | + | ||
99 | + GAction * pw3270_new_window_action_new() { | ||
100 | + | ||
101 | + PW3270Action * action = pw3270_action_new(); | ||
102 | + | ||
103 | + action->name = "new.window"; | ||
104 | + action->label = _( "New window" ); | ||
105 | + action->tooltip = _( "New window with default session" ); | ||
106 | + action->icon_name = "window-new"; | ||
107 | + action->activate = new_window_activated; | ||
108 | + | ||
109 | + return G_ACTION(action); | ||
110 | + } | ||
111 | + |
src/objects/application/application.c
@@ -378,7 +378,10 @@ | @@ -378,7 +378,10 @@ | ||
378 | 378 | ||
379 | GAction * actions[] = { | 379 | GAction * actions[] = { |
380 | pw3270_about_action_new(), | 380 | pw3270_about_action_new(), |
381 | - pw3270_preferences_action_new() | 381 | + pw3270_preferences_action_new(), |
382 | + pw3270_new_tab_action_new(), | ||
383 | + pw3270_new_window_action_new(), | ||
384 | + pw3270_quit_action_new() | ||
382 | }; | 385 | }; |
383 | 386 | ||
384 | for(ix = 0; ix < G_N_ELEMENTS(actions); ix++) { | 387 | for(ix = 0; ix < G_N_ELEMENTS(actions); ix++) { |
src/objects/application/private.h
@@ -52,12 +52,11 @@ | @@ -52,12 +52,11 @@ | ||
52 | // Actions | 52 | // Actions |
53 | G_GNUC_INTERNAL GAction * pw3270_about_action_new(); | 53 | G_GNUC_INTERNAL GAction * pw3270_about_action_new(); |
54 | G_GNUC_INTERNAL GAction * pw3270_preferences_action_new(); | 54 | G_GNUC_INTERNAL GAction * pw3270_preferences_action_new(); |
55 | + G_GNUC_INTERNAL GAction * pw3270_new_tab_action_new(); | ||
56 | + G_GNUC_INTERNAL GAction * pw3270_new_window_action_new(); | ||
57 | + G_GNUC_INTERNAL GAction * pw3270_quit_action_new(); | ||
55 | 58 | ||
56 | G_GNUC_INTERNAL void pw3270_application_generic_activated(GSimpleAction * action, GVariant *parameter, gpointer application); | 59 | G_GNUC_INTERNAL void pw3270_application_generic_activated(GSimpleAction * action, GVariant *parameter, gpointer application); |
57 | - G_GNUC_INTERNAL void pw3270_application_quit_activated(GSimpleAction * action, GVariant *parameter, gpointer application); | ||
58 | - G_GNUC_INTERNAL void pw3270_application_new_tab_activated(GSimpleAction * action, GVariant *parameter, gpointer application); | ||
59 | - G_GNUC_INTERNAL void pw3270_application_new_window_activated(GSimpleAction * action, GVariant *parameter, gpointer application); | ||
60 | - G_GNUC_INTERNAL void pw3270_application_preferences_activated(GSimpleAction * action, GVariant *parameter, gpointer application); | ||
61 | 60 | ||
62 | G_GNUC_INTERNAL void pw3270_application_open_activated(GSimpleAction * action, GVariant *parameter, gpointer application); | 61 | G_GNUC_INTERNAL void pw3270_application_open_activated(GSimpleAction * action, GVariant *parameter, gpointer application); |
63 | G_GNUC_INTERNAL void pw3270_application_open_tab_activated(GSimpleAction * action, GVariant *parameter, gpointer application); | 62 | G_GNUC_INTERNAL void pw3270_application_open_tab_activated(GSimpleAction * action, GVariant *parameter, gpointer application); |