</section>\r
<section id="Gomenu">\r
<title>Go menu</title>\r
+ <para>The Page commands are for files which contain multiple images e.g. .tiff files</para>\r
<variablelist>\r
<varlistentry>\r
<term>\r
</menuchoice>\r
</term>\r
<listitem>\r
- <para>Goes tothe first image.</para>\r
+ <para>Goes to the first image.</para>\r
</listitem>\r
</varlistentry>\r
<varlistentry>\r
</para>\r
</listitem>\r
</varlistentry>\r
+ <varlistentry>\r
+ <term>\r
+ <menuchoice>\r
+ <shortcut>\r
+ <keycombo>\r
+ <keycap>Ctrl</keycap>\r
+ <keycap>Home</keycap>\r
+ </keycombo>\r
+ </shortcut>\r
+ <guimenu>First Page</guimenu>\r
+ </menuchoice>\r
+ </term>\r
+ <listitem>\r
+ <para>Goes to the first page.</para>\r
+ </listitem>\r
+ </varlistentry>\r
+ <varlistentry>\r
+ <term>\r
+ <menuchoice>\r
+ <shortcut>\r
+ <keycombo>\r
+ <keycap>Ctrl</keycap>\r
+ <keycap>End</keycap>\r
+ </keycombo>\r
+ </shortcut>\r
+ <guimenu>Last Page</guimenu>\r
+ </menuchoice>\r
+ </term>\r
+ <listitem>\r
+ <para>Goes to the last page.</para>\r
+ </listitem>\r
+ </varlistentry>\r
+ <varlistentry>\r
+ <term>\r
+ <menuchoice>\r
+ <shortcut>\r
+ <keycombo>\r
+ <keycap>Ctrl</keycap>\r
+ <keycap>PageUp</keycap>\r
+ </keycombo>\r
+ </shortcut>\r
+ <guimenu>Previous Page</guimenu>\r
+ </menuchoice>\r
+ </term>\r
+ <listitem>\r
+ <para>Goes to the previous page.</para>\r
+ </listitem>\r
+ </varlistentry>\r
+ <varlistentry>\r
+ <term>\r
+ <menuchoice>\r
+ <shortcut>\r
+ <keycombo>\r
+ <keycap>Ctrl</keycap>\r
+ <keycap>PageDown</keycap>\r
+ </keycombo>\r
+ </shortcut>\r
+ <guimenu>Next Page</guimenu>\r
+ </menuchoice>\r
+ </term>\r
+ <listitem>\r
+ <para>Goes to the next page.</para>\r
+ </listitem>\r
+ </varlistentry>\r
</variablelist>\r
<para />\r
</section>\r
<entry colsep="0" />\r
<entry colsep="0" />\r
</row>\r
+ <row>\r
+ <entry colsep="0">\r
+ <emphasis role="strong">For files with multiple pages e.g. tiff files</emphasis>\r
+ </entry>\r
+ <entry colsep="0" />\r
+ <entry colsep="0" />\r
+ </row>\r
+ <row>\r
+ <entry>\r
+ <code>\r
+ Ctrl +\r
+ <keycap>Home</keycap>\r
+ </code>\r
+ </entry>\r
+ <entry />\r
+ <entry>Go to first page</entry>\r
+ </row>\r
+ <row>\r
+ <entry>\r
+ <code>\r
+ Ctrl +\r
+ <keycap>End</keycap>\r
+ </code>\r
+ </entry>\r
+ <entry />\r
+ <entry>Go to last page</entry>\r
+ </row>\r
+ <row>\r
+ <entry>\r
+ <code>\r
+ Ctrl +\r
+ <keycap>PageUp</keycap>\r
+ </code>\r
+ </entry>\r
+ <entry />\r
+ <entry>Go to previous page</entry>\r
+ </row>\r
+ <row>\r
+ <entry>\r
+ <code>\r
+ Ctrl +\r
+ <keycap>PageDown</keycap>\r
+ </code>\r
+ </entry>\r
+ <entry />\r
+ <entry>Go to next page</entry>\r
+ </row>\r
<row>\r
<entry colsep="0">\r
<emphasis role="strong">File Menu</emphasis>\r
</row>\r
<row>\r
<entry>\r
- <code>\r
- Shift + Delete\r
- </code>\r
+ <code>Shift + Delete</code>\r
</entry>\r
<entry />\r
<entry>Permanently delete selected images.</entry>\r
g_hash_table_foreach(file_data_pool, marks_clear, NULL);
}
+void file_data_set_page_num(FileData *fd, gint page_num)
+{
+ if (fd->page_total > 1 && page_num < 0)
+ {
+ fd->page_num = fd->page_total - 1;
+ }
+ else if (fd->page_total > 1 && page_num <= fd->page_total)
+ {
+ fd->page_num = page_num - 1;
+ }
+ else
+ {
+ fd->page_num = 0;
+ }
+ file_data_send_notification(fd, NOTIFY_REREAD);
+}
+
void file_data_inc_page_num(FileData *fd)
{
if (fd->page_total > 0 && fd->page_num < fd->page_total - 1)
void file_data_inc_page_num(FileData *fd);
void file_data_dec_page_num(FileData *fd);
void file_data_set_page_total(FileData *fd, gint page_total);
+void file_data_set_page_num(FileData *fd, gint page_num);
#endif
/* vim: set shiftwidth=8 softtabstop=0 cindent cinoptions={1s: */
icon_trash.png \
icon_heic.png \
icon_grayscale.png \
- icon_exposure.png \
- icon_next_page.png \
- icon_previous_page.png
+ icon_exposure.png
ICONS_INLINE_PAIRS = \
folder_closed $(srcdir)/folder_closed.png \
icon_trash $(srcdir)/icon_trash.png \
icon_heic $(srcdir)/icon_heic.png \
icon_grayscale $(srcdir)/icon_grayscale.png \
- icon_exposure $(srcdir)/icon_exposure.png \
- icon_next_page $(srcdir)/icon_next_page.png \
- icon_previous_page $(srcdir)/icon_previous_page.png
+ icon_exposure $(srcdir)/icon_exposure.png
icons_inline.h: $(ICONS_INLINE) Makefile.in
@sh -ec "echo '/* Auto generated file, do not edit */'; echo; \
layout_image_next(lw);
}
+static void layout_menu_page_first_cb(GtkAction *action, gpointer data)
+{
+ LayoutWindow *lw = data;
+ FileData *fd = layout_image_get_fd(lw);
+
+ file_data_set_page_num(fd, 1);
+}
+
+static void layout_menu_page_last_cb(GtkAction *action, gpointer data)
+{
+ LayoutWindow *lw = data;
+ FileData *fd = layout_image_get_fd(lw);
+
+ file_data_set_page_num(fd, -1);
+}
+
static void layout_menu_page_next_cb(GtkAction *action, gpointer data)
{
LayoutWindow *lw = data;
{ "NextImage", GTK_STOCK_GO_DOWN, N_("_Next Image"), "space", N_("Next Image"), CB(layout_menu_image_next_cb) },
{ "NextImageAlt1", GTK_STOCK_GO_DOWN, N_("_Next Image"), "Page_Down", N_("Next Image"), CB(layout_menu_image_next_cb) },
- { "NextPage", PIXBUF_INLINE_ICON_NEXT_PAGE, N_("_Next Page"), "<control>Page_Down", N_("Next Page"), CB(layout_menu_page_next_cb) },
- { "PrevPage", PIXBUF_INLINE_ICON_PREVIOUS_PAGE, N_("_Previous Page"), "<control>Page_Up", N_("Previous Page"), CB(layout_menu_page_previous_cb) },
+ { "FirstPage", GTK_STOCK_MEDIA_PREVIOUS, N_("_First Page"), "<control>Home", N_( "First Page"), CB(layout_menu_page_first_cb) },
+ { "LastPage", GTK_STOCK_MEDIA_NEXT, N_("_Last Page"), "<control>End", N_("Last Page"), CB(layout_menu_page_last_cb) },
+ { "NextPage", GTK_STOCK_MEDIA_FORWARD, N_("_Next Page"), "<control>Page_Down", N_("Next Page"), CB(layout_menu_page_next_cb) },
+ { "PrevPage", GTK_STOCK_MEDIA_REWIND, N_("_Previous Page"), "<control>Page_Up", N_("Previous Page"), CB(layout_menu_page_previous_cb) },
{ "NextImageAlt2", GTK_STOCK_GO_DOWN, N_("_Next Image"), "KP_Page_Down", N_("Next Image"), CB(layout_menu_image_next_cb) },
" <menuitem action='Up'/>"
" <menuitem action='Home'/>"
" <separator/>"
+" <menuitem action='FirstPage'/>"
+" <menuitem action='LastPage'/>"
" <menuitem action='NextPage'/>"
" <menuitem action='PrevPage'/>"
" </menu>"
{ PIXBUF_INLINE_ICON_HEIF, icon_heic },
{ PIXBUF_INLINE_ICON_GRAYSCALE, icon_grayscale },
{ PIXBUF_INLINE_ICON_EXPOSURE, icon_exposure },
- { PIXBUF_INLINE_ICON_NEXT_PAGE, icon_next_page },
- { PIXBUF_INLINE_ICON_PREVIOUS_PAGE, icon_previous_page },
{ NULL, NULL }
};
#define PIXBUF_INLINE_ICON_HEIF "icon_heic"
#define PIXBUF_INLINE_ICON_GRAYSCALE "icon_grayscale"
#define PIXBUF_INLINE_ICON_EXPOSURE "icon_exposure"
-#define PIXBUF_INLINE_ICON_NEXT_PAGE "icon_next_page"
-#define PIXBUF_INLINE_ICON_PREVIOUS_PAGE "icon_previous_page"
#define PIXBUF_INLINE_ICON_CW "icon_rotate_clockwise"
#define PIXBUF_INLINE_ICON_CCW "icon_rotate_counter_clockwise"
{"Forward", N_("Forward"), GTK_STOCK_GO_FORWARD},
{"Home", N_("Home"), GTK_STOCK_HOME},
{"Up", N_("Up"), GTK_STOCK_GO_UP},
- {"NextPage", N_("Next Page"), PIXBUF_INLINE_ICON_NEXT_PAGE},
- {"PrevPage", N_("Previous Page"), PIXBUF_INLINE_ICON_PREVIOUS_PAGE},
+ {"FirstPage", N_("First page"), GTK_STOCK_MEDIA_PREVIOUS},
+ {"LastPage", N_("Last Page"), GTK_STOCK_MEDIA_NEXT},
+ {"NextPage", N_("Next page"), GTK_STOCK_MEDIA_FORWARD},
+ {"PrevPage", N_("Previous Page"), GTK_STOCK_MEDIA_REWIND},
{"NewWindow", N_("New _window"), GTK_STOCK_NEW},
{"NewCollection", N_("New collection"), GTK_STOCK_INDEX},
{"OpenCollection", N_("Open collection"), GTK_STOCK_OPEN},
{"Forward", N_("Forward"), GTK_STOCK_GO_FORWARD},
{"Home", N_("Home"), GTK_STOCK_HOME},
{"Up", N_("Up"), GTK_STOCK_GO_UP},
- {"NextPage", N_("Next page"), PIXBUF_INLINE_ICON_NEXT_PAGE},
- {"PrevPage", N_("Previous Page"), PIXBUF_INLINE_ICON_PREVIOUS_PAGE},
+ {"FirstPage", N_("First page"), GTK_STOCK_MEDIA_PREVIOUS},
+ {"LastPage", N_("Last Page"), GTK_STOCK_MEDIA_NEXT},
+ {"NextPage", N_("Next page"), GTK_STOCK_MEDIA_FORWARD},
+ {"PrevPage", N_("Previous Page"), GTK_STOCK_MEDIA_REWIND},
{"NewWindow", N_("New _window"), GTK_STOCK_NEW},
{"NewCollection", N_("New collection"), GTK_STOCK_INDEX},
{"OpenCollection", N_("Open collection"), GTK_STOCK_OPEN},