Commit adb93d57 authored by Victor Ananjevsky's avatar Victor Ananjevsky

add ability to load several images in picture dialog

parent cc415177
...@@ -181,7 +181,7 @@ Otherwise command will be appended to the end of command line. ...@@ -181,7 +181,7 @@ Otherwise command will be appended to the end of command line.
Use \fICMD\fP as uri handler. By default yad uses \fIopen-command\fP parameter from settings. URI replace \fI%s\fP in command string or adds as a last part of command line. Use \fICMD\fP as uri handler. By default yad uses \fIopen-command\fP parameter from settings. URI replace \fI%s\fP in command string or adds as a last part of command line.
.TP .TP
.B \-\-f1-action=\fICMD\fP .B \-\-f1-action=\fICMD\fP
Set the command running when F1 was pressed. Set the command running when F1 was pressed.
.TP .TP
.B \-\-borders=\fINUM\fP .B \-\-borders=\fINUM\fP
Set dialog window borders. Set dialog window borders.
...@@ -866,9 +866,9 @@ Set initial size of picture. Available values are \fIfit\fP for fitting image in ...@@ -866,9 +866,9 @@ Set initial size of picture. Available values are \fIfit\fP for fitting image in
Set increment value for scaling image. Set increment value for scaling image.
.TP .TP
.B \-\-filename=\fIFILENAME\fP .B \-\-filename=\fIFILENAME\fP
Set picture filename. Set picture filename. If no file name is specified extra data will be used. In this case several filenames can be specified.
.PP .PP
Some actions on a picture like scaling or rotating available from popup menu. Those actions can be made only on static images. Some actions on a picture like navigation, scaling or rotating available from popup menu. Those actions can be made only on static images.
.SS Print options .SS Print options
.TP .TP
......
...@@ -7,7 +7,7 @@ msgid "" ...@@ -7,7 +7,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: YAD\n" "Project-Id-Version: YAD\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2022-04-12 08:06+0300\n" "POT-Creation-Date: 2022-04-25 17:59+0300\n"
"PO-Revision-Date: 2021-11-28 19:00+0200\n" "PO-Revision-Date: 2021-11-28 19:00+0200\n"
"Last-Translator: Victor Ananjevsky <ananasik@gmail.com>\n" "Last-Translator: Victor Ananjevsky <ananasik@gmail.com>\n"
"Language-Team: \n" "Language-Team: \n"
...@@ -66,47 +66,47 @@ msgstr "Початкове значення - менше за мінімальн ...@@ -66,47 +66,47 @@ msgstr "Початкове значення - менше за мінімальн
msgid "Initial value greater than maximum.\n" msgid "Initial value greater than maximum.\n"
msgstr "Початкове значення - більше за максимальне.\n" msgstr "Початкове значення - більше за максимальне.\n"
#: ../src/form.c:491 #: ../src/form.c:498
msgid "Select files" msgid "Select files"
msgstr "Вибрати файли" msgstr "Вибрати файли"
#: ../src/form.c:494 ../src/form.c:502 ../src/form.c:581 ../src/form.c:589 #: ../src/form.c:501 ../src/form.c:509 ../src/form.c:588 ../src/form.c:596
#: ../src/form.c:640 ../src/html.c:220 ../src/html.c:253 ../src/text.c:121 #: ../src/form.c:647 ../src/html.c:220 ../src/html.c:253 ../src/text.c:121
#: ../src/text.c:192 ../src/util.c:40 #: ../src/text.c:192 ../src/util.c:40
msgid "Cancel" msgid "Cancel"
msgstr "Скасувати" msgstr "Скасувати"
#: ../src/form.c:495 ../src/form.c:503 ../src/form.c:582 ../src/form.c:590 #: ../src/form.c:502 ../src/form.c:510 ../src/form.c:589 ../src/form.c:597
#: ../src/form.c:641 ../src/html.c:221 ../src/text.c:122 ../src/text.c:193 #: ../src/form.c:648 ../src/html.c:221 ../src/text.c:122 ../src/text.c:193
#: ../src/util.c:46 #: ../src/util.c:46
msgid "OK" msgid "OK"
msgstr "Гаразд" msgstr "Гаразд"
#: ../src/form.c:499 #: ../src/form.c:506
msgid "Select folders" msgid "Select folders"
msgstr "Вибрати теки" msgstr "Вибрати теки"
#: ../src/form.c:578 #: ../src/form.c:585
msgid "Select or create file" msgid "Select or create file"
msgstr "Вибрати або створити файл" msgstr "Вибрати або створити файл"
#: ../src/form.c:586 #: ../src/form.c:593
msgid "Select or create folder" msgid "Select or create folder"
msgstr "Вибрати або створити теку" msgstr "Вибрати або створити теку"
#: ../src/form.c:637 #: ../src/form.c:644
msgid "Select date" msgid "Select date"
msgstr "Вибрати дату" msgstr "Вибрати дату"
#: ../src/form.c:996 #: ../src/form.c:1023
msgid "Select file" msgid "Select file"
msgstr "Вибрати файл" msgstr "Вибрати файл"
#: ../src/form.c:1026 #: ../src/form.c:1053
msgid "Select folder" msgid "Select folder"
msgstr "Вибрати теку" msgstr "Вибрати теку"
#: ../src/form.c:1194 ../src/form.c:1196 #: ../src/form.c:1221 ../src/form.c:1223
msgid "Link" msgid "Link"
msgstr "Посилання" msgstr "Посилання"
...@@ -1522,328 +1522,328 @@ msgstr "ШЛЯХ" ...@@ -1522,328 +1522,328 @@ msgstr "ШЛЯХ"
msgid "Load extra arguments from file" msgid "Load extra arguments from file"
msgstr "Завантажити додаткові аргументи з файлу" msgstr "Завантажити додаткові аргументи з файлу"
#: ../src/option.c:942 #: ../src/option.c:944
#, c-format #, c-format
msgid "Mark %s doesn't have a value\n" msgid "Mark %s doesn't have a value\n"
msgstr "Помітці %s не надано значення\n" msgstr "Помітці %s не надано значення\n"
#: ../src/option.c:989 #: ../src/option.c:991
msgid "Images" msgid "Images"
msgstr "Зображення" msgstr "Зображення"
#: ../src/option.c:1054 #: ../src/option.c:1056
#, c-format #, c-format
msgid "Unknown color mode: %s\n" msgid "Unknown color mode: %s\n"
msgstr "Невідомий режим кольору: '%s'\n" msgstr "Невідомий режим кольору: '%s'\n"
#: ../src/option.c:1073 #: ../src/option.c:1075
#, c-format #, c-format
msgid "Unknown buttons layout type: %s\n" msgid "Unknown buttons layout type: %s\n"
msgstr "Невідомий тип розміщення кнопок: %s\n" msgstr "Невідомий тип розміщення кнопок: %s\n"
#: ../src/option.c:1088 #: ../src/option.c:1090
#, c-format #, c-format
msgid "Unknown align type: %s\n" msgid "Unknown align type: %s\n"
msgstr "Невідомий тип вирівнювання: %s\n" msgstr "Невідомий тип вирівнювання: %s\n"
#: ../src/option.c:1112 #: ../src/option.c:1114
#, c-format #, c-format
msgid "Unknown justification type: %s\n" msgid "Unknown justification type: %s\n"
msgstr "Невідомий тип вирівнювання: %s\n" msgstr "Невідомий тип вирівнювання: %s\n"
#: ../src/option.c:1129 #: ../src/option.c:1131
#, c-format #, c-format
msgid "Unknown tab position type: %s\n" msgid "Unknown tab position type: %s\n"
msgstr "Невідомий тип позиції вкладки: %s\n" msgstr "Невідомий тип позиції вкладки: %s\n"
#: ../src/option.c:1166 #: ../src/option.c:1168
#, c-format #, c-format
msgid "Unknown ellipsize type: %s\n" msgid "Unknown ellipsize type: %s\n"
msgstr "Невідомий тип урізання: %s\n" msgstr "Невідомий тип урізання: %s\n"
#: ../src/option.c:1179 #: ../src/option.c:1181
#, c-format #, c-format
msgid "Unknown orientation: %s\n" msgid "Unknown orientation: %s\n"
msgstr "Невідома орієнтація: %s\n" msgstr "Невідома орієнтація: %s\n"
#: ../src/option.c:1194 #: ../src/option.c:1196
#, c-format #, c-format
msgid "Unknown source type: %s\n" msgid "Unknown source type: %s\n"
msgstr "Невідомий тип даних: %s\n" msgstr "Невідомий тип даних: %s\n"
#: ../src/option.c:1205 #: ../src/option.c:1207
msgid "Progress log" msgid "Progress log"
msgstr "Вікно журналу" msgstr "Вікно журналу"
#: ../src/option.c:1218 #: ../src/option.c:1220
#, c-format #, c-format
msgid "Unknown size type: %s\n" msgid "Unknown size type: %s\n"
msgstr "Невідомий тип розміру: %s\n" msgstr "Невідомий тип розміру: %s\n"
#: ../src/option.c:1260 #: ../src/option.c:1262
#, c-format #, c-format
msgid "Unknown completion type: %s\n" msgid "Unknown completion type: %s\n"
msgstr "Невідомий тип доповнення: %s\n" msgstr "Невідомий тип доповнення: %s\n"
#: ../src/option.c:1292 #: ../src/option.c:1294
#, c-format #, c-format
msgid "Unknown boolean format type: %s\n" msgid "Unknown boolean format type: %s\n"
msgstr "Невідомий тип булєвських значень: %s\n" msgstr "Невідомий тип булєвських значень: %s\n"
#: ../src/option.c:1308 #: ../src/option.c:1310
#, c-format #, c-format
msgid "Unknown grid lines type: %s\n" msgid "Unknown grid lines type: %s\n"
msgstr "Невідомий тип розподільних ліній: %s\n" msgstr "Невідомий тип розподільних ліній: %s\n"
#: ../src/option.c:1325 #: ../src/option.c:1327
#, c-format #, c-format
msgid "Unknown scrollbar policy type: %s\n" msgid "Unknown scrollbar policy type: %s\n"
msgstr "Невідомий тип прокрутки: %s\n" msgstr "Невідомий тип прокрутки: %s\n"
#: ../src/option.c:1378 #: ../src/option.c:1380
#, c-format #, c-format
msgid "Unknown smart Home/End mode: %s\n" msgid "Unknown smart Home/End mode: %s\n"
msgstr "Невідомий режим розумних Home/End: '%s'\n" msgstr "Невідомий режим розумних Home/End: '%s'\n"
#: ../src/option.c:1488 #: ../src/option.c:1490
#, c-format #, c-format
msgid "Unknown signal: %s\n" msgid "Unknown signal: %s\n"
msgstr "Невідомий сигнал: %s\n" msgstr "Невідомий сигнал: %s\n"
#: ../src/option.c:1725 #: ../src/option.c:1727
msgid "File exist. Overwrite?" msgid "File exist. Overwrite?"
msgstr "Файл існує. Перезаписати?" msgstr "Файл існує. Перезаписати?"
#: ../src/option.c:1867 #: ../src/option.c:1869
msgid "File was changed. Save it?" msgid "File was changed. Save it?"
msgstr "Файл був змінений. Зберегти його?" msgstr "Файл був змінений. Зберегти його?"
#: ../src/option.c:1920 #: ../src/option.c:1922
msgid "- Yet another dialoging program" msgid "- Yet another dialoging program"
msgstr "- Програма для відображення діалогів" msgstr "- Програма для відображення діалогів"
#. Adds general option entries #. Adds general option entries
#: ../src/option.c:1924 #: ../src/option.c:1926
msgid "General options" msgid "General options"
msgstr "Основні параметри" msgstr "Основні параметри"
#: ../src/option.c:1924 #: ../src/option.c:1926
msgid "Show general options" msgid "Show general options"
msgstr "Показувати основні параметри" msgstr "Показувати основні параметри"
#. Adds common option entries #. Adds common option entries
#: ../src/option.c:1930 #: ../src/option.c:1932
msgid "Common options" msgid "Common options"
msgstr "Загальні параметри" msgstr "Загальні параметри"
#: ../src/option.c:1930 #: ../src/option.c:1932
msgid "Show common options" msgid "Show common options"
msgstr "Показувати загальні параметри діалогів" msgstr "Показувати загальні параметри діалогів"
#. Adds about option entries #. Adds about option entries
#: ../src/option.c:1936 #: ../src/option.c:1938
msgid "About dialog options" msgid "About dialog options"
msgstr "Параметри діалогу о програмі" msgstr "Параметри діалогу о програмі"
#: ../src/option.c:1936 #: ../src/option.c:1938
msgid "Show custom about dialog options" msgid "Show custom about dialog options"
msgstr "Показувати параметри діалогу о програмі" msgstr "Показувати параметри діалогу о програмі"
#. Adds app option entries #. Adds app option entries
#: ../src/option.c:1942 #: ../src/option.c:1944
msgid "Application selection options" msgid "Application selection options"
msgstr "Параметри діалогу вибору додатка" msgstr "Параметри діалогу вибору додатка"
#: ../src/option.c:1942 #: ../src/option.c:1944
msgid "Show application selection options" msgid "Show application selection options"
msgstr "Показувати параметри діалоги вибору додатка" msgstr "Показувати параметри діалоги вибору додатка"
#. Adds calendar option entries #. Adds calendar option entries
#: ../src/option.c:1948 #: ../src/option.c:1950
msgid "Calendar options" msgid "Calendar options"
msgstr "Параметри календаря" msgstr "Параметри календаря"
#: ../src/option.c:1948 #: ../src/option.c:1950
msgid "Show calendar options" msgid "Show calendar options"
msgstr "Показувати параметри календаря" msgstr "Показувати параметри календаря"
#. Adds color option entries #. Adds color option entries
#: ../src/option.c:1954 #: ../src/option.c:1956
msgid "Color selection options" msgid "Color selection options"
msgstr "Параметри діалогу вибору кольору" msgstr "Параметри діалогу вибору кольору"
#: ../src/option.c:1954 #: ../src/option.c:1956
msgid "Show color selection options" msgid "Show color selection options"
msgstr "Показувати параметри діалогу вибору кольору" msgstr "Показувати параметри діалогу вибору кольору"
#. Adds dnd option entries #. Adds dnd option entries
#: ../src/option.c:1960 #: ../src/option.c:1962
msgid "DND options" msgid "DND options"
msgstr "Параметри DND" msgstr "Параметри DND"
#: ../src/option.c:1960 #: ../src/option.c:1962
msgid "Show drag-n-drop options" msgid "Show drag-n-drop options"
msgstr "Показувати параметри dnd" msgstr "Показувати параметри dnd"
#. Adds entry option entries #. Adds entry option entries
#: ../src/option.c:1966 #: ../src/option.c:1968
msgid "Text entry options" msgid "Text entry options"
msgstr "Параметри вводу тексту" msgstr "Параметри вводу тексту"
#: ../src/option.c:1966 #: ../src/option.c:1968
msgid "Show text entry options" msgid "Show text entry options"
msgstr "Показувати параметри вводу тексту" msgstr "Показувати параметри вводу тексту"
#. Adds file selection option entries #. Adds file selection option entries
#: ../src/option.c:1972 #: ../src/option.c:1974
msgid "File selection options" msgid "File selection options"
msgstr "Параметри діалогу вибору файлів" msgstr "Параметри діалогу вибору файлів"
#: ../src/option.c:1972 #: ../src/option.c:1974
msgid "Show file selection options" msgid "Show file selection options"
msgstr "Показувати параметри діалогу вибору файлів" msgstr "Показувати параметри діалогу вибору файлів"
#. Add font selection option entries #. Add font selection option entries
#: ../src/option.c:1978 #: ../src/option.c:1980
msgid "Font selection options" msgid "Font selection options"
msgstr "Параметри діалогу вибору шрифту" msgstr "Параметри діалогу вибору шрифту"
#: ../src/option.c:1978 #: ../src/option.c:1980
msgid "Show font selection options" msgid "Show font selection options"
msgstr "Показувати параметри діалоги вибору шрифту" msgstr "Показувати параметри діалоги вибору шрифту"
#. Add form option entries #. Add form option entries
#: ../src/option.c:1984 #: ../src/option.c:1986
msgid "Form options" msgid "Form options"
msgstr "Параметри діалогу форми" msgstr "Параметри діалогу форми"
#: ../src/option.c:1984 #: ../src/option.c:1986
msgid "Show form options" msgid "Show form options"
msgstr "Показувати параметри діалогу форми" msgstr "Показувати параметри діалогу форми"
#. Add html options entries #. Add html options entries
#: ../src/option.c:1991 #: ../src/option.c:1993
msgid "HTML options" msgid "HTML options"
msgstr "Параметри HTML діалогу" msgstr "Параметри HTML діалогу"
#: ../src/option.c:1991 #: ../src/option.c:1993
msgid "Show HTML options" msgid "Show HTML options"
msgstr "Показувати параметри HTML діалогу" msgstr "Показувати параметри HTML діалогу"
#. Add icons option entries #. Add icons option entries
#: ../src/option.c:1998 #: ../src/option.c:2000
msgid "Icons box options" msgid "Icons box options"
msgstr "Параметри діалогу піктограм" msgstr "Параметри діалогу піктограм"
#: ../src/option.c:1998 #: ../src/option.c:2000
msgid "Show icons box options" msgid "Show icons box options"
msgstr "Показувати параметри діалогу піктограм швидкого доступу" msgstr "Показувати параметри діалогу піктограм швидкого доступу"
#. Adds list option entries #. Adds list option entries
#: ../src/option.c:2004 #: ../src/option.c:2006
msgid "List options" msgid "List options"
msgstr "Параметри списку" msgstr "Параметри списку"
#: ../src/option.c:2004 #: ../src/option.c:2006
msgid "Show list options" msgid "Show list options"
msgstr "Показувати параметри списку" msgstr "Показувати параметри списку"
#. Adds notebook option entries #. Adds notebook option entries
#: ../src/option.c:2010 #: ../src/option.c:2012
msgid "Notebook options" msgid "Notebook options"
msgstr "Параметри діалогу з вкладками" msgstr "Параметри діалогу з вкладками"
#: ../src/option.c:2010 #: ../src/option.c:2012
msgid "Show notebook dialog options" msgid "Show notebook dialog options"
msgstr "Показувати параметри діалогу з вкладками" msgstr "Показувати параметри діалогу з вкладками"
#. Adds notification option entries #. Adds notification option entries
#: ../src/option.c:2017 #: ../src/option.c:2019
msgid "Notification icon options" msgid "Notification icon options"
msgstr "Параметри піктограми сповіщень" msgstr "Параметри піктограми сповіщень"
#: ../src/option.c:2018 #: ../src/option.c:2020
msgid "Show notification icon options" msgid "Show notification icon options"
msgstr "Показувати параметри піктограми сповіщень" msgstr "Показувати параметри піктограми сповіщень"
#. Adds paned option entries #. Adds paned option entries
#: ../src/option.c:2025 #: ../src/option.c:2027
msgid "Paned dialog options" msgid "Paned dialog options"
msgstr "Параметри діалогу з панелями" msgstr "Параметри діалогу з панелями"
#: ../src/option.c:2025 #: ../src/option.c:2027
msgid "Show paned dialog options" msgid "Show paned dialog options"
msgstr "Показувати параметри діалогу з панелями" msgstr "Показувати параметри діалогу з панелями"
#. Adds picture option entries #. Adds picture option entries
#: ../src/option.c:2031 #: ../src/option.c:2033
msgid "Picture dialog options" msgid "Picture dialog options"
msgstr "Параметри діалогу з картинкою" msgstr "Параметри діалогу з картинкою"
#: ../src/option.c:2031 #: ../src/option.c:2033
msgid "Show picture dialog options" msgid "Show picture dialog options"
msgstr "Показувати параметри діалогу відображення картинки" msgstr "Показувати параметри діалогу відображення картинки"
#. Adds print option entries #. Adds print option entries
#: ../src/option.c:2037 #: ../src/option.c:2039
msgid "Print dialog options" msgid "Print dialog options"
msgstr "Параметри діалогу друку" msgstr "Параметри діалогу друку"
#: ../src/option.c:2037 #: ../src/option.c:2039
msgid "Show print dialog options" msgid "Show print dialog options"
msgstr "Показувати параметри діалогу друку" msgstr "Показувати параметри діалогу друку"
#. Adds progress option entries #. Adds progress option entries
#: ../src/option.c:2043 #: ../src/option.c:2045
msgid "Progress options" msgid "Progress options"
msgstr "Параметри прогресу" msgstr "Параметри прогресу"
#: ../src/option.c:2043 #: ../src/option.c:2045
msgid "Show progress options" msgid "Show progress options"
msgstr "Показувати параметри прогресу" msgstr "Показувати параметри прогресу"
#. Adds scale option entries #. Adds scale option entries
#: ../src/option.c:2049 #: ../src/option.c:2051
msgid "Scale options" msgid "Scale options"
msgstr "Параметри масштабу" msgstr "Параметри масштабу"
#: ../src/option.c:2049 #: ../src/option.c:2051
msgid "Show scale options" msgid "Show scale options"
msgstr "Показувати параметри масштабу" msgstr "Показувати параметри масштабу"
#. Adds text option entries #. Adds text option entries
#: ../src/option.c:2055 #: ../src/option.c:2057
msgid "Text information options" msgid "Text information options"
msgstr "Параметри текстової інформації" msgstr "Параметри текстової інформації"
#: ../src/option.c:2055 #: ../src/option.c:2057
msgid "Show text information options" msgid "Show text information options"
msgstr "Показувати параметри текстової інформації" msgstr "Показувати параметри текстової інформації"
#. Adds sourceview option entries #. Adds sourceview option entries
#: ../src/option.c:2062 #: ../src/option.c:2064
msgid "SourceView options" msgid "SourceView options"
msgstr "Параметри SourceView" msgstr "Параметри SourceView"
#: ../src/option.c:2062 #: ../src/option.c:2064
msgid "Show SourceView options" msgid "Show SourceView options"
msgstr "Показувати параметри SourceView" msgstr "Показувати параметри SourceView"
#. Adds file filters option entries #. Adds file filters option entries
#: ../src/option.c:2069 #: ../src/option.c:2071
msgid "File filter options" msgid "File filter options"
msgstr "Параметри фільтрів для діалогу вибору файлів" msgstr "Параметри фільтрів для діалогу вибору файлів"
#: ../src/option.c:2069 #: ../src/option.c:2071
msgid "Show file filter options" msgid "Show file filter options"
msgstr "Показувати параметри фільтрів для діалогу вибору файлів" msgstr "Показувати параметри фільтрів для діалогу вибору файлів"
#. Adds miscellaneous option entries #. Adds miscellaneous option entries
#: ../src/option.c:2075 #: ../src/option.c:2077
msgid "Miscellaneous options" msgid "Miscellaneous options"
msgstr "Додаткові параметри" msgstr "Додаткові параметри"
#: ../src/option.c:2075 #: ../src/option.c:2077
msgid "Show miscellaneous options" msgid "Show miscellaneous options"
msgstr "Показувати додаткові параметри" msgstr "Показувати додаткові параметри"
...@@ -1852,35 +1852,43 @@ msgstr "Показувати додаткові параметри" ...@@ -1852,35 +1852,43 @@ msgstr "Показувати додаткові параметри"
msgid "WARNING: wrong focused pane number %d. Must be 1 or 2\n" msgid "WARNING: wrong focused pane number %d. Must be 1 or 2\n"
msgstr "УВАГА: невірний номер панелі %d. Повинен бути 1 чи 2\n" msgstr "УВАГА: невірний номер панелі %d. Повинен бути 1 чи 2\n"
#: ../src/picture.c:185 #: ../src/picture.c:217
msgid "Next image"
msgstr "Наступне зображення"
#: ../src/picture.c:222
msgid "Previous image"
msgstr "Попереднє зображення"
#: ../src/picture.c:232
msgid "Fit to window" msgid "Fit to window"
msgstr "По розміру вікна" msgstr "По розміру вікна"
#: ../src/picture.c:190 #: ../src/picture.c:237
msgid "Original size" msgid "Original size"
msgstr "Оригінальний розмір" msgstr "Оригінальний розмір"
#: ../src/picture.c:195 #: ../src/picture.c:242
msgid "Increase size" msgid "Increase size"
msgstr "Збільшити розмір" msgstr "Збільшити розмір"
#: ../src/picture.c:200 #: ../src/picture.c:247
msgid "Decrease size" msgid "Decrease size"
msgstr "Зменшити розмір" msgstr "Зменшити розмір"
#: ../src/picture.c:209 #: ../src/picture.c:256
msgid "Rotate left" msgid "Rotate left"
msgstr "Повернути ліворуч" msgstr "Повернути ліворуч"
#: ../src/picture.c:214 #: ../src/picture.c:261
msgid "Rotate right" msgid "Rotate right"
msgstr "Повернути праворуч" msgstr "Повернути праворуч"
#: ../src/picture.c:219 #: ../src/picture.c:266
msgid "Flip vertical" msgid "Flip vertical"
msgstr "Віддзеркалити вертикально" msgstr "Віддзеркалити вертикально"
#: ../src/picture.c:224 #: ../src/picture.c:271
msgid "Flip horizontal" msgid "Flip horizontal"
msgstr "Віддзеркалити горизонтально" msgstr "Віддзеркалити горизонтально"
...@@ -2032,7 +2040,7 @@ msgstr "Так" ...@@ -2032,7 +2040,7 @@ msgstr "Так"
msgid "WARNING: Run command failed: %s\n" msgid "WARNING: Run command failed: %s\n"
msgstr "УВАГА: Збій при запуску команди: %s\n" msgstr "УВАГА: Збій при запуску команди: %s\n"
#: ../src/util.c:891 #: ../src/util.c:888
msgid "Case _sensitive" msgid "Case _sensitive"
msgstr "Враховувати _регістр" msgstr "Враховувати _регістр"
......
...@@ -19,16 +19,6 @@ ...@@ -19,16 +19,6 @@
#include "yad.h" #include "yad.h"
static GtkWidget *picture;
static GtkWidget *viewport;
static GtkWidget *popup_menu;
static GdkPixbufAnimation *anim_pb = NULL;
static GdkPixbuf *orig_pb = NULL;
static gboolean loaded = FALSE;
static gboolean animated = FALSE;
enum { enum {
SIZE_FIT, SIZE_FIT,
SIZE_ORIG, SIZE_ORIG,
...@@ -43,38 +33,87 @@ enum { ...@@ -43,38 +33,87 @@ enum {
ROTATE_FLIP_HOR ROTATE_FLIP_HOR
}; };
typedef struct {
gchar *filename;
GdkPixbufAnimation *anim_pb;
GdkPixbuf *orig_pb;
gboolean loaded;
gboolean animated;
} ImageItem;
static GList *img_list = NULL;
static GList *lp = NULL;
static ImageItem *img = NULL;
static GtkWidget *picture;
static GtkWidget *viewport;
static GtkWidget *popup_menu;
static void static void
load_picture (gchar *filename) load_picture ()
{ {
anim_pb = gdk_pixbuf_animation_new_from_file (filename, NULL); if (!img->loaded)
orig_pb = gdk_pixbuf_animation_get_static_image (anim_pb);
if (orig_pb)
{ {
if (gdk_pixbuf_animation_is_static_image (anim_pb)) if (img->filename && g_file_test (img->filename, G_FILE_TEST_EXISTS))
gtk_image_set_from_pixbuf (GTK_IMAGE (picture), orig_pb);
else
{ {
gtk_image_set_from_animation (GTK_IMAGE (picture), anim_pb); img->anim_pb = gdk_pixbuf_animation_new_from_file (img->filename, NULL);
animated = TRUE; img->orig_pb = gdk_pixbuf_animation_get_static_image (img->anim_pb);
img->animated = !gdk_pixbuf_animation_is_static_image (img->anim_pb);
} }
loaded = TRUE; img->loaded = TRUE;
}
if (img->orig_pb)
{
if (img->animated)
gtk_image_set_from_animation (GTK_IMAGE (picture), g_object_ref (img->anim_pb));
else
gtk_image_set_from_pixbuf (GTK_IMAGE (picture), g_object_ref (img->orig_pb));
} }
else else
gtk_image_set_from_icon_name (GTK_IMAGE (picture), "image-missing", GTK_ICON_SIZE_DIALOG); gtk_image_set_from_icon_name (GTK_IMAGE (picture), "image-missing", GTK_ICON_SIZE_DIALOG);
} }
static void
next_img_cb (GtkWidget *w, gpointer d)
{
lp = g_list_next (lp);
if (!lp)
lp = g_list_first (img_list);
if (lp)
img = (ImageItem *) lp->data;
load_picture ();
if (options.picture_data.size == YAD_PICTURE_FIT)
picture_fit_to_window ();
}
static void
prev_img_cb (GtkWidget *w, gpointer d)
{
lp = g_list_previous (lp);
if (!lp)
lp = g_list_last (img_list);
if (lp)
img = (ImageItem *) lp->data;
load_picture ();
if (options.picture_data.size == YAD_PICTURE_FIT)
picture_fit_to_window ();
}
void void
picture_fit_to_window () picture_fit_to_window ()
{ {
gdouble width, height, ww, wh; gdouble width, height, ww, wh;
gdouble factor; gdouble factor;
if (animated || !gtk_widget_get_realized (viewport)) if (!gtk_widget_get_realized (viewport))
return; return;
width = gdk_pixbuf_get_width (orig_pb); width = gdk_pixbuf_get_width (img->orig_pb);
height = gdk_pixbuf_get_height (orig_pb); height = gdk_pixbuf_get_height (img->orig_pb);
ww = gdk_window_get_width (gtk_viewport_get_view_window (GTK_VIEWPORT (viewport))); ww = gdk_window_get_width (gtk_viewport_get_view_window (GTK_VIEWPORT (viewport)));
wh = gdk_window_get_height (gtk_viewport_get_view_window (GTK_VIEWPORT (viewport))); wh = gdk_window_get_height (gtk_viewport_get_view_window (GTK_VIEWPORT (viewport)));
...@@ -82,13 +121,9 @@ picture_fit_to_window () ...@@ -82,13 +121,9 @@ picture_fit_to_window ()
factor = MIN (ww / width, wh / height); factor = MIN (ww / width, wh / height);
if (factor < 1.0) if (factor < 1.0)
{ {
GdkPixbuf *pb = gdk_pixbuf_scale_simple (g_object_ref (orig_pb), width * factor, height * factor, GDK_INTERP_HYPER); GdkPixbuf *pb = gdk_pixbuf_scale_simple (img->orig_pb, width * factor, height * factor, GDK_INTERP_HYPER);
if (pb) if (pb)
{ gtk_image_set_from_pixbuf (GTK_IMAGE (picture), pb);
GdkPixbuf *old_pb = gtk_image_get_pixbuf (GTK_IMAGE (picture));
gtk_image_set_from_pixbuf (GTK_IMAGE (picture), pb);
g_object_unref (old_pb);
}
} }
} }
...@@ -114,8 +149,7 @@ change_size_cb (GtkWidget *w, gint type) ...@@ -114,8 +149,7 @@ change_size_cb (GtkWidget *w, gint type)
options.picture_data.size = YAD_PICTURE_FIT; options.picture_data.size = YAD_PICTURE_FIT;
break; break;
case SIZE_ORIG: case SIZE_ORIG:
gtk_image_set_from_pixbuf (GTK_IMAGE (picture), orig_pb); gtk_image_set_from_pixbuf (GTK_IMAGE (picture), g_object_ref (img->orig_pb));
g_object_unref (pb);
options.picture_data.size = YAD_PICTURE_ORIG; options.picture_data.size = YAD_PICTURE_ORIG;
break; break;
case SIZE_INC: case SIZE_INC:
...@@ -182,6 +216,23 @@ create_popup_menu () ...@@ -182,6 +216,23 @@ create_popup_menu ()
popup_menu = gtk_menu_new (); popup_menu = gtk_menu_new ();
gtk_menu_set_reserve_toggle_size (GTK_MENU (popup_menu), FALSE); gtk_menu_set_reserve_toggle_size (GTK_MENU (popup_menu), FALSE);
if (img_list)
{
mi = gtk_menu_item_new_with_label (_("Next image"));
gtk_widget_show (mi);
gtk_menu_shell_append (GTK_MENU_SHELL (popup_menu), mi);
g_signal_connect (G_OBJECT (mi), "activate", G_CALLBACK (next_img_cb), NULL);
mi = gtk_menu_item_new_with_label (_("Previous image"));
gtk_widget_show (mi);
gtk_menu_shell_append (GTK_MENU_SHELL (popup_menu), mi);
g_signal_connect (G_OBJECT (mi), "activate", G_CALLBACK (prev_img_cb), NULL);
mi = gtk_separator_menu_item_new ();
gtk_widget_show (mi);
gtk_menu_shell_append (GTK_MENU_SHELL (popup_menu), mi);
}
mi = gtk_menu_item_new_with_label (_("Fit to window")); mi = gtk_menu_item_new_with_label (_("Fit to window"));
gtk_widget_show (mi); gtk_widget_show (mi);
gtk_menu_shell_append (GTK_MENU_SHELL (popup_menu), mi); gtk_menu_shell_append (GTK_MENU_SHELL (popup_menu), mi);
...@@ -230,7 +281,7 @@ create_popup_menu () ...@@ -230,7 +281,7 @@ create_popup_menu ()
static gboolean static gboolean
button_handler (GtkWidget *w, GdkEventButton *ev, gpointer data) button_handler (GtkWidget *w, GdkEventButton *ev, gpointer data)
{ {
if (ev->button == 3) if (ev->button == 3 && !img->animated)
{ {
gtk_menu_popup_at_pointer (GTK_MENU (popup_menu), NULL); gtk_menu_popup_at_pointer (GTK_MENU (popup_menu), NULL);
return TRUE; return TRUE;
...@@ -252,6 +303,33 @@ size_allocate_cb () ...@@ -252,6 +303,33 @@ size_allocate_cb ()
picture_fit_to_window (); picture_fit_to_window ();
} }
static void init_img_data ()
{
if (options.common_data.uri)
{
img = g_new0 (ImageItem, 1);
img->filename = options.common_data.uri;
}
else if (options.extra_data && *options.extra_data)
{
gchar **args = options.extra_data;
gint i = 0;
while (args[i] != NULL)
{
ImageItem *ii;
ii = g_new0 (ImageItem, 1);
ii->filename = args[i];
img_list = g_list_append (img_list, ii);
i++;
}
lp = g_list_first (img_list);
img = (ImageItem *) lp->data;
}
}
GtkWidget * GtkWidget *
picture_create_widget (GtkWidget * dlg) picture_create_widget (GtkWidget * dlg)
{ {
...@@ -272,19 +350,19 @@ picture_create_widget (GtkWidget * dlg) ...@@ -272,19 +350,19 @@ picture_create_widget (GtkWidget * dlg)
gtk_container_add (GTK_CONTAINER (ev), picture); gtk_container_add (GTK_CONTAINER (ev), picture);
/* load picture */ /* load picture */
if (options.common_data.uri && init_img_data ();
g_file_test (options.common_data.uri, G_FILE_TEST_EXISTS)) load_picture ();
load_picture (options.common_data.uri);
else
gtk_image_set_from_icon_name (GTK_IMAGE (picture), "image-missing", GTK_ICON_SIZE_DIALOG);
if (loaded && !animated) if (img)
{ {
create_popup_menu (); create_popup_menu ();
g_signal_connect (G_OBJECT (ev), "button-press-event", G_CALLBACK (button_handler), NULL); g_signal_connect (G_OBJECT (ev), "button-press-event", G_CALLBACK (button_handler), NULL);
g_signal_connect (G_OBJECT (ev), "key-press-event", G_CALLBACK (key_handler), NULL); g_signal_connect (G_OBJECT (ev), "key-press-event", G_CALLBACK (key_handler), NULL);
g_signal_connect (G_OBJECT (ev), "size-allocate", G_CALLBACK (size_allocate_cb), NULL); g_signal_connect (G_OBJECT (ev), "size-allocate", G_CALLBACK (size_allocate_cb), NULL);
} load_picture (0);
}
else
gtk_image_set_from_icon_name (GTK_IMAGE (picture), "image-missing", GTK_ICON_SIZE_DIALOG);
return sw; return sw;
} }
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment