Ru-Board.club
← Вернуться в раздел «Программы»

» Sumatra PDF / SumatraPDF

Автор: DCT
Дата сообщения: 12.10.2013 19:25
Victor_VG
Цитата:
проблема имеет локальный характер и вам нужно искать её причины в своей копии ОС
мне кажется, мы друг друга не совсем понимаем: проблема не в системе, а в отличной от большинства Windows программ концепции SumatraPDF (в Windows программах ЛКМ таскает страницу, а в SumatraPDF - ПКМ).
по крайней мере zakataika также считает такое поведение SumatraPDF нетипичным:
Цитата:
Да, суматра немного непривычно ведет себя с левой клавишей мыши и имхо надо приучить ее к дефолтной виндовой функциональности в этом аспекте.
Автор: Victor_VG
Дата сообщения: 12.10.2013 19:55
DCT

Очень хорошо, если такое поведение программы документировано, то надо просить авторов изменить его в исходниках, если нет - писать баг-репорт. Иначе мы просто топчемся на месте в чём нет смысла.
Автор: Skif_off
Дата сообщения: 12.10.2013 19:56
DCT

Цитата:
В то время как Adobe, Foxit, Pdf XChange, и даже Google (гугл книги, гугл/яндекс мапс) считают, что страницы и изображения таскаются по ЛКМ (через ПКМ не работает!).

Adobe Reader после установки ничего не таскает, потому что по умолчанию активен иснтрумент Выделение.
XnView умеет и выделять, и работать с выделением, более того - разработчики подошли к UI грамотно и не заставляют метаться по панелям или вспоминать клавиатурные сочетания, чтобы переключиться с таскания на выделение, а сделали все под рукой: ЛКМ - выделение (как в любой нормальной программе), ПКМ - двигать, а что там пользователь исправит в настройках - его личное дело. Автор SumatraPDF пошел по тому же пути, ибо любому нормальному человеку хоть раз в жизни понадобится выделить часть текста в PDF-файле и скопировать, более того - осталась возможность таскать ЛКМ вне текстового поля таких файлов.
"просмотрщик картинок в браузере Opera, дефолтный вьювер win7" - это ни разу не аргумент, программы не могут выделять часть изображения, могут только двигать. Все остальные - так или иначе переключаются выделение<=>таскание. Вы хотите, чтобы автор SumatraPDF запилил пару кнопок на панели, как Adobe Reader? А зачем лишние движения?
Прекратите говорить о каких-то мифических дефолтах и гуглах и скажите прямо: я привык, я хочу и пишите на оффорум.

Вообще пустой разговор, прошу прощения что не сдержался, это от затянувшегося одиночества, по сути и говорить-то не о чем.

Автор: zakataika
Дата сообщения: 12.10.2013 20:19
Чертов какой-то безымянный ридер. Правой кнопкой, левой, да хоть ... Тут трагедия понимаешь, а они кнопки на мыщке почитать не могутъ.
Автор: DCT
Дата сообщения: 12.10.2013 21:17
Создал тему на оф. форуме с предложением ввести опцию обменивающую действия ЛКМ/ПКМ при перетаскивании (хотя бы в расширенных настройках)
http://forums.fofou.org/sumatrapdf/topic?id=3183949


если там предложение не прокатит, то для нужного эффекта в исходниках в src\SumatraPDF.cpp надо искать по шаблону Mouse(Left|Right)Button(Up|Down) (всего 9 вхождений), и скорее всего менять WM_L <-> WM_R и LeftButton <-> RightButton в конструкциях типа:
case WM_LBUTTONDOWN: OnMouseLeftButtonDown(*win, GET_X_LPARAM(lParam)
Автор: Skif_off
Дата сообщения: 12.10.2013 21:46
DCT

Цитата:
But in Sumatra PDF left mouse click is used to select text in PDFs

Наверное, надо как-то иначе сформулировать, потому что формально это не совсем точно: ЛКМ в любом случае таскает файлы вне текста (поля/пространство между столбцами, если текст в 2х и более столбцах/пространстро между строками), а выделяет только над текстом.
Автор: Victor_VG
Дата сообщения: 12.10.2013 23:51
DCT

Уже думал о том чтобы предложить что-то типа настраиваемой опции - текстовая прокрутка осуществляется настраиваемой кнопкой код которой задаёт оператор. Но пока кроме общей идеи ничего для себя не сформулировал. Потому и думаю что рано об этом говорит на форуме.
Автор: DCT
Дата сообщения: 13.10.2013 00:28
Оперативный ответ автора сводится к тому, что в Sumatra PDF для простоты нет переключателя режимов и он по сути не нужен (тут я с ним согласен).
Вводить отдельную опцию для переключения поведения он не собирается, т.к. это практически никому не нужно. Увы.

Может ли кто нибудь глянуть в исходный код - действительно ли это поведение задается тут?
Цитата:
в src\SumatraPDF.cpp надо искать по шаблону Mouse(Left|Right)Button(Up|Down) (всего 9 вхождений), и скорее всего менять WM_L <-> WM_R и LeftButton  <-> RightButton в конструкциях типа: case WM_LBUTTONDOWN:  OnMouseLeftButtonDown(*win, GET_X_LPARAM(lParam)
если б точно знать, и скомпилить измененный и неизмененные варианты, то (если в exe файлах будет мало отличий) можно будет сделать универсальный патч.

Добавлено:
Еще немного подумал: если зажата клавиша shift, то ЛКМ на тексте перетаскивает страницу.
Наверно, проще всего поменять логику в этом месте - если нажат shift - выделяем текст, если shift не зажат - перемещаем страницу. Это будет единственное исправление в коде, и скомпиленные exe-шники должны будут отличаться всего парой байт!

Добавлено:
Менять надо [more=в этом куске кода SumatraPDF.cpp:...]
// - without modifiers, clicking on text starts a text selection
// and clicking somewhere else starts a drag
// - pressing Shift forces dragging
// - pressing Ctrl forces a rectangular selection
// - pressing Ctrl+Shift forces text selection
// - not having CopySelection permission forces dragging
if (!HasPermission(Perm_CopySelection) || ((key & MK_SHIFT) || !win.dm->IsOverText(PointI(x, y))) && !(key & MK_CONTROL))
OnDraggingStart(win, x, y);
else
OnSelectionStart(&win, x, y, key);
}
[/more]
но что то не соображу, как в этом куске обменять местами поведение without modifiers и pressing Shift. (
Автор: Victor_VG
Дата сообщения: 13.10.2013 01:13
DCT

Собрать можно. Будет момент попробую скомпилить. Какая студия устроит 2010 - эта даст возможность работы с ХР, или 2012 - тут не ниже чем на Vista не запустится. Время сборки выходит примерно 4,5 минуты на моей машине.
Автор: DCT
Дата сообщения: 13.10.2013 12:09
Victor_VG
Спасибо! Лучше в 2010 и в паре с аналогично собранным немодифицированным exe (хочу попробовать сделать универсальный патч).
В том фрагенте SumatraPDF.cpp надо заменить (key & MK_SHIFT) на !(key & MK_SHIFT) ?
Автор: Victor_VG
Дата сообщения: 13.10.2013 14:30
DCT

Попробую. Я обычно её именно в 2010-й и собираю ибо на семёрке где она стоит 2008 (эта бы собрала и под 2000-ю) только она минимально встаёт. 2008 максимум встаёт на ХР а у меня и соседей от кого я через VirtualBOX зову компилятор в сетях её вообще нет - у меня в сети стоит BSD UNIX, и только у них на паре машин семёрка.
Автор: Victor_VG
Дата сообщения: 13.10.2013 17:15
SumatraPDF v2.5 r8458

Собрал, проблем не обнаружил, архив обновил, линк в шапке.

Что нового?

Цитата:
r8458
rename StrEqNIx() => str::EqNIx() in tests

r8457
rename StrEqNIx() => str::EqNIx()

r8456
speed up str::IsDigit() (idea found in http://aosabook.org/en/posa/parsing-xml-at-the-speed-of-light.html; there's more opportunites for such optimizations)

r8455
lua: instead of duplicating lua-files, set things up to look for them in a separate checkout parallel to sumatra sources

r8454
display names for common paper sizes in Properties window
Автор: Victor_VG
Дата сообщения: 14.10.2013 22:47
SumatraPDF v2.5 r8465

Собрал, проблем не обнаружил, архив обновил, линк в шапке.

Что нового?

Цитата:
r8465
stop checking for file existence when loading a document

r8464
PDF: don't fail on invalid object streams (fixes issue 2436)

r8463
rewrite StrIsDigitTest() so that it doesn't get statically optimized out in release builds

r8462
revert to old str::IsDigit() implementation to fix IsValidProgramVersion() unit tests in release build

r8461
update buildbot failure notification list

r8460
enable more tests in UnitTests.cpp

r8459
rewrite command line parsing (fixes issue 2434)
Автор: Victor_VG
Дата сообщения: 16.10.2013 01:53
SumatraPDF v2.5 r8466

Собрал, проблем не обнаружил, архив обновил, линк в шапке.

Что нового?

Цитата:
r8466
merge latest MuPDF update
Автор: Skif_off
Дата сообщения: 16.10.2013 02:20
Victor_VG
Если верить version.txt, то сливается r8466, а не r9466. Версия пишется в version.txt автоматически или правится вручную?
Автор: Victor_VG
Дата сообщения: 16.10.2013 02:33
Skif_off

Руками. Опечатка. На той машине клавиатура отказала, но больше всего подозрений на ICH9 - скорее всего полетел PS/2 порт. Утром куплю USB-ю - это сборочная машина, и управление ей мне необходимо.
Автор: DCT
Дата сообщения: 20.10.2013 13:44
Только запакованный exe:
- fix: Зажатая на тексте Левая Кнопка Мышки перетаскивает страницу (с нажатым SHIFT выделяется текст)
http://rghost.ru/49597975

Компилировал проект из исходников v2.4 в шапке (в 2010 студии с дефолтными натройками, только в конфигурации build поменял debug на release) и упомянутой выше заменой в SumatraPDF.cpp.
Универсальный патч не получится - после компиляций слишком много различий между exe-шниками.
Автор: DCT
Дата сообщения: 20.10.2013 16:05
С патчем не все так грустно

универсальный патч для сборок Victor_VG
http://rghost.ru/49601646

(теоретически, должен работать для SumatraPDF.exe собранных в VS2010, тестировал на собственоручно собранной v2.4, а также на v2.5 от Victor_VG. Файл, с которым работает патч, должен называться SumatraPDF.exe)


Добавлено:
Пропатченная версия 2,5
http://rghost.ru/49602067
Автор: Victor_VG
Дата сообщения: 22.10.2013 08:18
SumatraPDF v2.5 r8469

Собрал, проблем не обнаружил, архив давно обновил обновил, линк в шапке.

Что нового?

Цитата:
r8469
EngineDump: add zoom option for -render command line argument

r8468
FreeType: enable CFF_CONFIG_OPTION_OLD_ENGINE as the new engine regresses too much

r8467
update translations
Автор: Victor_VG
Дата сообщения: 25.10.2013 20:30
SumatraPDF v2.5 r

Собрал, проблем не обнаружил, архив обновил, линк в шапке.

Что нового?

Цитата:
r8479
EPUB: also load images which aren't in the manifest (and with bad path separators)

r8478
update /ext/_patches

r8477
epub: accept application/html+xml as a valid media type for content (fixes issue 2452)

r8476
rewrite IsVistaOrGreator() to not use deprecated GetVersion() and remove now unused GetWindowVersion()

r8475
vs 2013 compilation fix in mupdf

r8474
vs 2013 compilation fix in openjpeg

r8473
another vs 2013 compilation fix

r8472
vs 2013 compilation fix

r8471
make sure that thumbnails are not empty (should fix crash 35806)
Автор: Skif_off
Дата сообщения: 26.10.2013 12:11
SumatraPDF вообще не умеет читать файл стиля в CHM или как-то можно заставить?
Автор: Victor_VG
Дата сообщения: 26.10.2013 19:14
Skif_off

Тут скорее можно вести речь не о ней, о hh.exe - он не всё правильно обрабатывает. Успел убедится. Я пользуюсь для создания CHM старой разработкой HTM2CHM 3.0.9.3 вот её [more=описание]htm2chm 3.0.9.3

Автор : Ярослав Кириллов
Лицензия : Бесплатно
Интерфейс : Английский
Размер закачки : 710 KB
OS : Windows 9*/ME/NT/2K/XP

Домашняя страница программы: http://yarix.by.ru/

"Программа позволяет преобразовывать как отдельные HTML страницы с
рисунками, так и целые сайты (например, скачанные offline браузерами)
в один CHM файл (открывается стандартными средствами Windows) для
того, чтобы их было удобней хранить. Конвертер автоматически сжимает
файлы в процессе компиляции.".

Замечания по установке:

После установки скопируйте если надо содержимое папки \Presets\ в папку
\Presets\ с установленной программой.

langru.exe - русификатор к программе htm2chm 3.0.9.3.

Программа для создания справок и извлечения ресурсов из хелпов. Ссылка
на домашнюю страницу не работала в последнее время, но все равно
выкладываю.

Русификатор можно распространять только бесплатно и с обязательной
ссылкой на сайт автора: http://sanyaru.narod.ru

Пояснение: программа до ужаса простая и переводить вроде бы и нечего,
но я наткнулся на русификатор к ней, выложенный на мси лабе, открыл
его и ужаснулся. Автор наверное даже не видел, что перевел. Мне самому
иногда бывает нужна эта прога, поэтому решил упростить положение таким
же, как и я "чайникам".

Sanya[/more], но она к примеру не понимает кодировку UTF-8 - в таком случае русские названия если использовать пресеты "HTML страница/сайт свёрнутые" будут кодированы непонятно как и не читаемы, а если использовать пресеты HELP у которых есть возможность задавать название вручную то этого явления не будет, но если нет оглавления и поискового индекса и сам пресет бесполезен. Тут приходится перекодировать страницы в Windows-1251, и как минимум индексную, а так же обязательно задавать кодировку каждой страницы будущего CHM. Хотя сама программа очень удобна и мне служит уже с момента своего появления. Она встраивается в контекстное меню оболочки и здорово упрощает работу. Но, особых проблем с CSS в суматре мне лично пока не встречалось.
Автор: Skif_off
Дата сообщения: 26.10.2013 20:02
Victor_VG
hh.exe нормально показывает, а вот SumatraPDF определенно игнорирует css:
http://higgs.rghost.ru/49742158/image.png слева hh.exe, справа SumatraPDF. Если CHM распаковать, грохнуть css-файл и открыть в любом браузере html-страницу, то она будет выглядеть так же, как в SumatraPDF.
Автор: Victor_VG
Дата сообщения: 26.10.2013 20:18
Skif_off

Убедительно. Поглядим статистику и напишем баг-репорт?
Автор: Skif_off
Дата сообщения: 26.10.2013 20:49
Victor_VG
Думаю, было бы неплохо, но лично мне не совсем понятна позиция авторов в вопросе поддержки форматов, отличных от PDF и DjVu, возможно она просто базовая/упрощенная и все выглядит как задумано?
Автор: Victor_VG
Дата сообщения: 26.10.2013 21:24
Skif_off

Да нет, просто с ходу сложно всё сделать оптимально и ребята всё делают по мере необходимости. По крайней мере из просмотра списка изменений и баг-репортов я понимаю их так.
Автор: Skif_off
Дата сообщения: 26.10.2013 22:17
Victor_VG
А что-нибудь типа планов на будущее (как у FreeArc, например) у SumatraPDF нет? Чтобы как-то ориентироваться в пожеланиях, мне не хочется просить добавить что-то, что отложено на неопределенное будущее в силу разных причин.
Автор: Victor_VG
Дата сообщения: 26.10.2013 22:58
Skif_off

Есть форум, но там логон через твиттер, а я его заводить не стремлюсь.
Автор: Skif_off
Дата сообщения: 31.10.2013 12:32
Victor_VG
Если будет время/желание зарепортить: FastCopy.chm - пустые страницы. Отдельно CSS-файла нет, все написано в начале HTML-страницы (если грешить на CSS).
DDEcommands.chm, к слову, тоже не показывает.
Автор: Victor_VG
Дата сообщения: 31.10.2013 19:50
Skif_off

Погляжу. Случай заштатный CSS просто встроена в код страницы.

Страницы: 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748

Предыдущая тема: c$


Форум Ru-Board.club — поднят 15-09-2016 числа. Цель - сохранить наследие старого Ru-Board, истории становления российского интернета. Сделано для людей.