diff options
author | Přemysl Eric Janouch <p@janouch.name> | 2022-01-12 10:58:06 +0100 |
---|---|---|
committer | Přemysl Eric Janouch <p@janouch.name> | 2022-01-12 10:58:33 +0100 |
commit | f632510d2a8b96e25f529c9f408fa1bef9693557 (patch) | |
tree | ce2cabd3d8beac889217a1a8da4909818bc28690 | |
parent | 05453718bb15465ac4d27c1e5ac5d644b78b1b18 (diff) | |
download | fiv-f632510d2a8b96e25f529c9f408fa1bef9693557.tar.gz fiv-f632510d2a8b96e25f529c9f408fa1bef9693557.tar.xz fiv-f632510d2a8b96e25f529c9f408fa1bef9693557.zip |
Put reloading the image as its own action
-rw-r--r-- | fiv-view.c | 6 | ||||
-rw-r--r-- | fiv-view.h | 2 | ||||
-rw-r--r-- | fiv.c | 27 |
3 files changed, 22 insertions, 13 deletions
@@ -1064,11 +1064,14 @@ fiv_view_class_init(FivViewClass *klass) bind(bs, GDK_KEY_plus, GDK_CONTROL_MASK, FIV_VIEW_COMMAND_ZOOM_IN); bind(bs, GDK_KEY_minus, GDK_CONTROL_MASK, FIV_VIEW_COMMAND_ZOOM_OUT); bind(bs, GDK_KEY_p, GDK_CONTROL_MASK, FIV_VIEW_COMMAND_PRINT); + bind(bs, GDK_KEY_r, GDK_CONTROL_MASK, FIV_VIEW_COMMAND_RELOAD); bind(bs, GDK_KEY_s, GDK_CONTROL_MASK, FIV_VIEW_COMMAND_SAVE_PAGE); bind(bs, GDK_KEY_s, GDK_MOD1_MASK, FIV_VIEW_COMMAND_SAVE_FRAME); bind(bs, GDK_KEY_Return, GDK_MOD1_MASK, FIV_VIEW_COMMAND_INFO); // The scale-to-fit binding is from gThumb, which has more such modes. + bind(bs, GDK_KEY_F5, 0, FIV_VIEW_COMMAND_RELOAD); + bind(bs, GDK_KEY_r, 0, FIV_VIEW_COMMAND_RELOAD); bind(bs, GDK_KEY_plus, 0, FIV_VIEW_COMMAND_ZOOM_IN); bind(bs, GDK_KEY_minus, 0, FIV_VIEW_COMMAND_ZOOM_OUT); bind(bs, GDK_KEY_w, 0, FIV_VIEW_COMMAND_FIT_WIDTH); @@ -1203,6 +1206,9 @@ fiv_view_command(FivView *self, FivViewCommand command) return; switch (command) { + break; case FIV_VIEW_COMMAND_RELOAD: + reload(self); + break; case FIV_VIEW_COMMAND_ROTATE_LEFT: self->orientation = view_left[self->orientation]; gtk_widget_queue_resize(widget); @@ -28,6 +28,8 @@ gboolean fiv_view_open(FivView *self, const gchar *uri, GError **error); // And this is how you avoid glib-mkenums. typedef enum _FivViewCommand { #define FIV_VIEW_COMMANDS(XX) \ + XX(FIV_VIEW_COMMAND_RELOAD, "reload") \ + \ XX(FIV_VIEW_COMMAND_ROTATE_LEFT, "rotate-left") \ XX(FIV_VIEW_COMMAND_MIRROR, "mirror") \ XX(FIV_VIEW_COMMAND_ROTATE_RIGHT, "rotate-right") \ @@ -84,6 +84,7 @@ static struct key_group help_keys_browser[] = { {"General", help_keys_general}, {"View", (struct key[]) { {"F9", "Toggle navigation sidebar"}, + {"F5 r <control>r", "Refresh"}, {"h <control>h", "Toggle hiding unsupported files"}, {} }}, @@ -94,7 +95,7 @@ static struct key_group help_keys_browser[] = { {"<alt>Right", "Go forward in history"}, {"<alt>Up", "Go to parent directory"}, {"<alt>Home", "Go home"}, - {"F5 r <control>r", "Refresh"}, + {"Return", "Open selected item"}, {} }}, {} @@ -104,6 +105,7 @@ static struct key_group help_keys_view[] = { {"General", help_keys_general}, {"View", (struct key[]) { {"F8", "Toggle toolbar"}, + {"F5 r <control>r", "Reload"}, {} }}, {"Navigation", (struct key[]) { @@ -1044,10 +1046,6 @@ on_key_press(G_GNUC_UNUSED GtkWidget *widget, GdkEventKey *event, case GDK_KEY_o: on_open(); return TRUE; - case GDK_KEY_r: - // TODO(p): Reload the image instead, if it's currently visible. - load_directory(NULL); - return TRUE; case GDK_KEY_q: case GDK_KEY_w: gtk_widget_destroy(g.window); @@ -1087,16 +1085,9 @@ on_key_press(G_GNUC_UNUSED GtkWidget *widget, GdkEventKey *event, case GDK_KEY_q: gtk_widget_destroy(g.window); return TRUE; - case GDK_KEY_o: on_open(); return TRUE; - case GDK_KEY_F5: - case GDK_KEY_r: - // TODO(p): See the comment for C-r above. - load_directory(NULL); - return TRUE; - case GDK_KEY_F1: show_help_shortcuts(); return TRUE; @@ -1104,7 +1095,6 @@ on_key_press(G_GNUC_UNUSED GtkWidget *widget, GdkEventKey *event, gtk_widget_set_visible(g.browser_sidebar, !gtk_widget_is_visible(g.browser_sidebar)); return TRUE; - case GDK_KEY_F11: case GDK_KEY_f: toggle_fullscreen(); @@ -1152,6 +1142,13 @@ on_key_press_browser_paned(G_GNUC_UNUSED GtkWidget *widget, GdkEventKey *event, { // TODO(p): Consider replicating more GtkFileChooserWidget bindings. switch (event->state & gtk_accelerator_get_default_mod_mask()) { + case GDK_CONTROL_MASK: + switch (event->keyval) { + case GDK_KEY_r: + load_directory(NULL); + return TRUE; + } + break; case GDK_MOD1_MASK: switch (event->keyval) { case GDK_KEY_Up: { @@ -1175,6 +1172,10 @@ on_key_press_browser_paned(G_GNUC_UNUSED GtkWidget *widget, GdkEventKey *event, case GDK_KEY_h: gtk_button_clicked(GTK_BUTTON(g.funnel)); return TRUE; + case GDK_KEY_F5: + case GDK_KEY_r: + load_directory(NULL); + return TRUE; } } return FALSE; |