среда, 24 июля 2019 г.

Расширения LibreOffice. Нумерация страниц документа в Writer

Как создавать нумерацию страниц в текстовом документе LibreOffice очень подробно и красиво написано вот здесь: раз, два и три. Это делается вполне логичным образом, пусть и не совсем очевидным для бывших пользователей MS Office.
Для упрощения этого процесса существует пара расширений.
Первое расширение - Pager. Создавалось ещё во времена OpenOffice.org, однако до сих пор работает и в актуальных версиях LibreOffice. 
Скачайте по ссылке расширение в виде файла OXT, установите его в LibreOffice. Расширение было написано русскоязычным товарищем, поэтому локализовано на русский. В меню Вставка станет доступен пункт "Номера страниц...", нажмите на него и увидите такой вот диалог:
Расширение позволяет вставить номер страницы в верхнем или нижнем колонтитуле, с выравниванием слева, по центру, справа. Также доступны различны опции и возможность вставить надпись типа "Страниц 1 из N" и выбрать тип нумерации из доступных. После настройки нажмите кнопку "Применить".
Внимание! С этим расширением у меня были проблемы!
Во-первых у меня в LibreOffice 6.3.0.1 в среде KDE нижняя часть диалога отрисовывается не сразу, а только после снятия/установки флажка "Отображать номера страниц"
Во-вторых я словил крэш LibreOffice после закрытия этого диалога. Я не смог это повторить, но это не значит, что риска нет совсем.
Второе расширение - Page Numbering Addons. Создано относительно недавно, год примерно назад в рамках какого-то странного проекта. Опять же по ссылке качайте OXT файл, установите его в LibreOffice. В меню Вставка появится пункт Page Numbering. Расширение не локализовано, поэтому и пункт меню и сам диалог расширения не русифицированы.
Это расширение также позволяет вставить номер страницы в верхнем или нижнем колонтитуле с выравниванием слева, по центру, справа; позволяет выбрать тип нумерации, оформление нумерации (всякие скобочки и прочее), задать шрифт и размер шрифта для нумерации, а также задать порядок нумерации с не первой страницы и не с единицы в номере. С этой штукой у меня проблем не было. Советую использовать именно это расширение.

Расширения LibreOffice. Расширение для создания расширения

Предположим, что у вас есть готовый макрос (и даже с неким диалогом или диалогами) для LibreOffice, которым вы хотите поделиться с миром. Распространять просто макрос и снова, и снова писать пользователям, как макрос правильно прописать в LibreOffice, и, как потом макрос запускать - это не очень здравая затея, как по мне.
А здравая затея - это запаковать макрос со всеми его диалогами в расширение. Расширение LibreOffice - это надстройка, добавляющая некий функционал, который в стандартном LibreOffice отсутствует. Физически, расширение - это файл, который содержит сам макрос, диалоги, настройки панели инструментов или меню, файлы локализации и что угодно еще. Расширение у файла - OXT. Запустив этот файл (естественно, что сам LibreOffice должен быть уже установлен), мы сразу откроем Libreoffice и в нём диалог Управление расширениями, в котором нам будет предложено расширение установить.
Расширение можно создавать ручками, поскольку OXT - это просто архив, который содержит определенную структуру каталогов и файлов с данными и кодом. Однако, так как я не нашел хорошего вменяемого руководства на русском языке на эту тему, да и неохота постоянно руками прописывать в xml файлах настройки для будущего расширения, я поискал и нашел достаточно удобный инструмент для создания расширений.
Это готовое расширение для LibreOffice, которое называется BasicAddonBuilder. Скачать его можно по ссылке http://calc-info.de/files/BasicAddonBuilder_LibreOffice_0.5.2.oxt. Оно достаточно старое, было создано в свое время для OpenOffice.org, а затем адаптировано для LibreOffice. 
Примечание: у меня на ОС Windows это расширение нормально и стабильно работает только в версии LibreOffice 5.2.7. На более новых версиях LibreOffice расширение сбоит. Поэтому для целей сборки уже своего расширения я использую портативную сборку LibreOffice 5.2.7, которая никак не мешает стандартно установленной версии.
Итак, устанавливаем расширение, перезапускаем LibreOffice и видим новую панель инструментов с одним значком, при наведении на который всплывает подсказка с именем BasicAddonBuilder.
Примечание: в этом же экземпляре LibreOffice уже должен быть создан нужный макрос и всё, что вы ещё хотите упаковать в расширение. Причём это должна быть отдельная библиотека!
Жмём на значок и видим такой диалог (он весь на английском, но всё тут достаточно просто):
Слева перечислены шаги, по которым нас проведут при создании расширения, количество шагов будет изменяться в зависимости от наших хотелок в процессе создания расширения.
Итак, наши шаги:
- Library selection - выбор библиотеки. Из выпадающего списка выберите местоположение вашей библиотеки и в списке ниже выделите её. Нажмите кнопку Next.
- General options - выбор способа запуска вашего расширения в интерфейсе пользователя LibreOffice. Доступны создание отдельной панели инструментов, создание меню верхнего уровня, добавление элемента меню в меню Сервис->Дополнения и/или в меню Справка. В зависимости от выбора на этом шаге будут изменяться последующие шаги. Я выберу все возможные варианты, чтобы охватить все возможности и показать все настройки. Жмём кнопку Next.
- Office toolbar - настройка будущей дополнительной панели инструментов. Нужно задать заголовок панели инструментов, размер значков, а также добавить нужное количество значков на панель (есть возможность добавлять разделители).
Каждую кнопку на панели инструментов нужно отдельно настроить! Делается это в отдельном окне добавления кнопки на панель инструментов (Add button) либо, если надо что-то изменить, путем выделения кнопки и нажатия на кнопку Edit, вот в таком диалоге:
В поле Item label нужно ввести надпись, которая будет показана на кнопке, если ей не задан значок. Надпись можно локализовать, для чего надо нажать кнопку с флагами рядом с полем:
Нажмите кнопку Add, добавится новая строка, выберите нужный язык из списка и напишите на этом языке текст, который будет отображаться для выбранного языка. После локализации нажмите кнопку ОК, чтобы вернуться в предыдущее окно.
Далее в поле Macro command нужно выбрать подпрограмму (макрос), который будет выполнен при нажатии на кнопку. Для этого нажмите кнопку с шестерёнкой справа от поля, откроется следующий диалог:
В верхнем выпадающем списке должна быть выбрана ваша библиотека, на основе которой мы создаем новое расширение, далее выберите нужный модуль и соответствующий макрос для привязки к кнопке. Нажмите кнопку ОК, чтобы вернуться в окно Properties.
Далее в разделе Icons можно назначить значку изображение для разных случаев. Изображение должно быть в формате png, jpg, gif, bmp. Учитывайте, что размер выбранного изображения будет приведен к размеру 24х24 или 16х16 пикселей.
В разделе Office context нужно отметить галочками те модули LibreOffice, в которых настраиваемая кнопка будет отображаться. Например какой-то функционал вашего расширения работает только в Writer, а какой-то только в Calc.
После завершения настройки кнопки нажмите кнопку ОК.
Такую процедуру нужно повторить для каждой кнопки на панели инструментов!
- Office menubar - добавление меню верхнего уровня. Это меню будет добавлено между меню Сервис и меню Окна в тех модулях, которые вы выберете:
Надпись под Menu title - это название меню. Чтобы его настроить нажмите кнопку с разводным ключом справа, откроется окно Properties, аналогичное такому в шаге третьем:
И в поле Item label введите название для вашего меню. В разделе Office context отметьте те модули, в которых меню должно быть доступно. Нажмите ОК.
Теперь нажмите кнопку Add menu. Откроется очередной диалог Properties, в котором нужно задать имя уже для пункта меню, макрос, который будет срабатывать при выборе пункта меню, значок. Обратите внимание, здесь нужно опять выбрать модули, но теперь уже для отображения пункта меню в нашем новом меню. Как пример, само меню может быть показано в Writer и Calc, а вот пункты меню при этом будут отличаться. После настройки нажмите ОК. Эти операции необходимо выполнить для каждого пункта меню!
В меню можно вставлять разделители и, я так понял, субменю. Но субменю я не пробовал сам, можете экспериментировать смело!
- Addon menu - полностью аналогичный предыдущему вариант, за исключением того, что здесь жёстко задано меню и подменю, куда вы сможете добавить свои пункты. Это меню Сервис->Расширения. Вы не можете это изменить.
- Help menu - также аналогичный предыдущим двум вариант, но здесь мы можем добавить пункты в меню Справка. Обычно конечно в это меню добавляют именно справку по вашему расширению, если она есть. Не нужно в меню Справка добавлять пункты для запуска расширения, их там никто, никогда не найдёт.
License and version - этот шаг позволит вам задать уникальный идентификатор для расширения (для чего-то это важно, я никогда не задумывался, для чего именно), версию расширения (а-ля 1.0.8, добавить текст лицензии на ваше расширение, автором расширения и сайт авторов:
- Extension description - описание вашего расширения. Добавьте короткое описание вашего расширения (также можно добавить его перевод, нажав на кнопку Translate), которое будет отображаться в диалоге Управление расширениями:
Текст описания нужно ввести между символами <>.
- Publish - последний шаг, на котором вы сохраняете ваше расширение в формат OXT.
Не советую тут использовать что-либо, кроме варианта Save the extension in this computer. Выберите каталог для сохранения и нажмите кнопку Create.
На этом всё, ваше расширение запаковано в формат OXT и его (предварительно потестировав у себя) можно распространять и выложить на официальный сайт для расширений extensions.libreoffice.org.

воскресенье, 21 июля 2019 г.

Выпуск LibreOffice 6.3 RC 2

Для скачивания доступны сборки второго релиз кандидата LibreOffice 6.3. Скачать LibreOffice 6.3 RC 2 можно для всех платформ, в вариантах 32 и 64 бит. Второй релиз кандидат предназначен исключительно для целей тестирования. Однако, никто не мешает вам установить эту версию (Внимание! Установится взамен существующей!) и просто оценить изменения и различные новшества. 
Ссылки для скачивания:
Исходный код
Обратите внимание! С выпуска 6.3 The Document Foundation не предоставляет готовые Linux сборки LibreOffice для 32 битных систем! Это не означает, что вы сами не сможете собрать LibreOffice для 32 битной ОС из исходного кода. TDF просто вынужден экономить свои к сожалению не бесконечные ресурсы.
Почитать об изменениях в LibreOffice 6.3 относительно предыдущей версии можно здесь.

четверг, 11 июля 2019 г.

Автоматическая нумерация строк в таблице Writer

Подсмотрено при переводе фраз для нового диалога "Совет дня".
Итак, очень часто бывает, что первый столбец в таблице содержит номера строк по порядку. Каждый раз мы прописываем ручками номера строк, а затем, когда вставляем или удаляем строки, то нумерацию приходится корректировать. И так раз за разом.
Оказывается есть чудесный и простейший способ заиметь автоматическую нумерацию строк в таблицах Writer, которая не слетает и сама обновляется при операциях со строками. Итак:
Создаем таблицу, выделяем нужный столбец (или несколько ячеек в столбце) и жмём значок Нумерованный список на панели инструментов. Также можно активировать стиль списка с нужной нумерацией, эффект будет идентичный. 
При этом, если вы вставляете строки выше/ниже нумерованной строки (то есть курсор установлен в строке, которая имеет автоматический номер), то нумерация автоматически распространяется на добавляемую строку.
А если у вас не весь столбец пронумерован, то добавляя строки к ненумерованной строке, вы не получите в новых строках автоматическую нумерацию.
Отключается нумерация так же, как включается. Нажмите еще раз на значок Нумерованный список в панели инструментов.

воскресенье, 7 июля 2019 г.

Выпуск LibreOffice 6.3 RC 1

Для скачивания доступны сборки первого релиз кандидата LibreOffice 6.3. Скачать LibreOffice 6.3 RC 1 можно для всех платформ, в вариантах 32 и 64 бит. Первый релиз кандидат предназначен исключительно для целей тестирования. Однако, никто не мешает вам установить эту версию (Внимание! Установится взамен существующей!) и просто оценить изменения и различные новшества. 
Ссылки для скачивания:
Исходный код
Обратите внимание! С выпуска 6.3 The Document Foundation не предоставляет готовые Linux сборки LibreOffice для 32 битных систем! Это не означает, что вы сами не сможете собрать LibreOffice для 32 битной ОС из исходного кода. TDF просто вынужден экономить свои к сожалению не бесконечные ресурсы.
Почитать об изменениях в LibreOffice 6.3 относительно предыдущей версии можно здесь.

среда, 3 июля 2019 г.

Отчет QA в LibreOffice за июнь 2019

Xisco Fauli, QA инженер из The Document Foundation опубликовал ежемесячный отчет о работе QA в июне 2019 года. По ссылке доступно много самой разной информации.
Немного о самом главном в июне:
Подано отчетов об ошибках - 544
Обработано отчетов - 545
Закрыто (по разным причинам) - 622
В отчёте Xisco сделал прекрасную диаграмму, иллюстрирующую эти самые причины:
Немного поясню:
FIXED - это ошибки, которые были явно исправлены разработчиками, и в отчете есть прямая ссылка на патч.
WONTFIX - это ошибки, которые либо вовсе не ошибки, либо предложения, которые были отвергнуты разработчиками по обоснованным причинам.
DUPLICATE - это ошибки, по которым уже есть информация в багзилле.
WORKSFORME - обычно это старая ошибка, которая в текущей версии LibreOffice не воспроизводится. Значит, кто-то что-то где-то исправил, ошибка не воспроизводится сейчас, а кто и что исправил мы не знаем и ставим такой статус.
INVALID - некорректный отчет об ошибке или вообще спам (к сожалению такое тоже есть).
NOTABUG - это когда кто-то, не разобравшись в функционале LibreOffice, пишет отчет об ошибке, а оказалось, что такое поведение программы - это так и задумано.
INSUFFICIENTDATA - ошибка закрывается с таким статусом (недостаточно данных), если она находилась в статусе NEEDINFO (требуется информация) более, чем 6 месяцев. То есть, у баг репортера запросили уточняющую информацию по ошибке и он такую информацию не предоставил.
Хорошая работа в июне! =)