воскресенье, 1 декабря 2024 г.

Выпуск LibreOffice 25.2 alpha 1 - что нового?

Xisco Fauli в QA блоге проекта написал, что первая альфа LibreOffice 25.2 доступна для тестирования. Скачать можно по ссылкам, а новшества версии якобы написаны в РелизНотес.

Глянул я на тот РелизНотес, а там почти пусто =)) Разработчики забыли написать туда, свои активности или может вся работа делалась"под капотом" и юзеру просто не видна? Это отношение разрабов к наполнению релизнотесов в проекте мне всегда не нравилось, но и заставить их никто не может, такие дела...

вторник, 26 ноября 2024 г.

Управление макросами в LibreOffice - мы хотим перемен

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

Мало разделения по языкам, так ещё и управление диалогами (которые можно создавать для макросов внутри LibreOffice) - это отдельная команда и свой диалог, выполнение макроса - это свой диалог.

У меня в свое время появилась идея, что все эти дела, связанные с управлением макросами должны быть в одном месте, в одном диалоге главном, который бы мог отображать макросы на всех ЯП, диалоги, и позволял бы выполнять действия над ними всеми в зависимости от языка и типа объекта. И я написал баг репорт - https://bugs.documentfoundation.org/show_bug.cgi?id=120658.

Идея единого диалога выглядела вот так, всё в одном диалоге:

Он был воспринят не очень однозначно и долго висел без какой-либо реакции (как и большинство наших баг репортов, кстати). Я сам-то не могу код на плюсах писать, а вот приставать к людям, которые код писать могут - это я могу. И вот мне повезло, я дважды просил Jim Raykowski глянуть, может ли он это реализовать и во второй раз он согласился и таки написал патч на почти четыре тысячи строк, который реализует мою идею. Вот ссылка на патч - https://gerrit.libreoffice.org/c/core/+/176254.

А вот видео - результат реализации:

В настоящее время патч ещё не влит в кодовую базу, идет процесс код-ревью. После того, как патч будет смержен, функционал надо будет потестить и потом надо будет поправить некоторые вещи в UI.
А самое забавное, что у нас нет под капотом механизма, который бы позволял управлять макросами на Python также, как идёт управление макросами на Basic. И в новом диалоге при выбранном макросе Python - выводится ошибка.
И дальнейшим планом видится именно допиливание нашего фреймворка для управления макросами так, чтобы можно было работать с Python макросами без лишних движений в виде установки расширения APSO и прочего. Но это тема для отдельного поста =)

среда, 9 октября 2024 г.

Для тех, кто захочет контрибьютить в LibreOffice

Этот пост - просто информация для желающих, с чего начинать контрибьютить в проект LibreOffice.

Вся актуальная информация на английском языке, но для программиста это не должно стать препятствием. Также вы уже должны знать С++, учить вас программировать с нуля здесь никто не будет.

Итак, для тех, кто захотел написать пару строк кода для LibreOffice:

Начать следует с прочтения вот этой ссылки - https://wiki.documentfoundation.org/Development/GetInvolved. Это ровно информация для новичков в проекте, как скачать исходники, как собрать свой билд, какие зависимости, для каких IDE есть предварительные настройки и как их включить, какой код стайл мы используем, как пишем патчи и как их засылаем. Обратите внимание, вам нужно достаточно современное железо с многоядреным процессором (4 и более ядер) и большое количество ОЗУ (8 или более Гб), потому что первоначальная сборка на 4-х ядерном Core i5 2,5 ГГц сборка занимала ровно два часа времени. Также необходимо около 30Гб сводобного места на диске (который уже должен быть SSD).

После того, как вы настроите окружение, встанет вопрос, а с чего же можно начать знакомиться с проектом. У нас есть список так называемых изи хаков именно для этой цели. Обычно это баг репорт, в котором достаточно подробно расписано что надо сделать и указана ссылка на конкретный файл или даже строку в исходниках. Вот этот список - https://wiki.documentfoundation.org/Development/EasyHacks/by_Required_Skill/Skill_C%2B%2B. Обратите внимание, список разбит на три группы по сложности, выбирайте себе любую цель и пробуйте написать патч.

Если вы достаточно опытный разработчик и вам сразу все понятно и возможно просто интересна какая-то конкретная тема, например производительность, утечки памяти, проблемы в поддержке каких-то форматов, UI, новые фичи - у нас есть багзилла с бесконечно длинным списком проблем. Также у нас есть некая сортировка проблем по темам, мы называем это МЕТА багами, найти их можно вот здесь -  https://wiki.documentfoundation.org/QA/Tracking_Bugs. Там есть фильтры, можно отсортировать то, что вам надо и покопаться в конкретных баг репортах по выбранной теме.

После написания патча, он должен попасть к нам в геррит - https://gerrit.libreoffice.org/q/status:open+-is:wip+branch:master. Конечно мы используем Git, однако у нас имеется возможность поправить пару строк, используя веб-интерфейс. До пуша в геррит вы обязаны прогнать свой патч, используя команду make check - это позволит вам локально прогнать все юнит-тесты. В геррите патч проверит бот Дженкинс, который также гоняет юнит-тесты для каждой из популярных десктопных ОС, а затем ваш патч должен пройти код-ревью и кто-то из опытных разработчиков с правами должен вам поставить +2 и замержить ваш патч.

Найти разработчиков всегда можно в рабочие часы по средне-европейскому времени в IRC канале - https://web.libera.chat/?chan=#libreoffice-dev. Общение на английском языке.

Также можно задать технический вопрос в список рассылки для разработчиков (также на английском языке) - https://wiki.documentfoundation.org/Development/Mailing_List

По каким-то организационным вопросам можно спросить у меня в Телеграм (пока его не прибили), ник @Kompilainenn.

пятница, 26 июля 2024 г.

Выпуск LibreOffice 24.8 RC1. Что нового в 24.8?

The Document Foundation объявил о доступности для тестирования первого релиз кандидата LibreOffice 24.8. По ссылке можно скачать дистрибутив под любую ОС.

Что же нового нам предлагает LibreOffice 24.8?

Writer

  • Теперь можно изменить размер панели комментариев справа от документа
  • Улучшена поддержка многостраничных "плавающих" таблиц
  • Добавлена поддержка хитрых конечных ссылок для документов DOCX, DOC и RTF
  • Подсветка стилей теперь применяется только к стилям, которые используются в документе
  • Во всплывающей подсказке при наведении на гиперссылку теперь показывается URL адрес
  • На Боковую панель добавлена панель Поиск с отображением результатов поиска и некоторого текста вокруг
  • Реализованы различные улучшения для работы с переносами слов

Навигатор в Writer

  • Теперь позволяет вставлять перекрестные ссылки в документ путем перетаскивания соответсвующего имени объекта из Навигатора в текст, при этом показывается контекстное меню, если вариантов для вставки несколько
  • Теперь позволяет удалять простые и концевые сноски
  • Теперь показывает специальный значок для связанных картинок с некорректной ссылкой

Calc

  • Теперь можно задать диапазон ячеек для экспорта в PDF
  • Добавлены функции LET, XLOOKUP, XMATCH, FILTER, RANDARRAY, SEQUENCE, SORT, SORTBY, UNIQUE, аналогичные существующим в MS Excel
  • Улучшена поддержка копирования данных из Google Sheets в Calc
  • Комментарии могут быть отредактированы или удалены прямо из Навигатора
  • Добавлена поддержка форматирования сводных таблиц MS Excel (поддерживается импорт и экспорт)
  • Проверка вводимых данных теперь различает заглавыне и строчные символы
  • Диалог Лист > Вставить ячейки теперь позволяет вставить более одной строки или столбца
  • Добавлена настройка цвета фона ячейка, когда она в режиме редактирования
  • Улучшен и упрощен выбор операций сравнения при настройке условного форматирования с использованием набора значков

Impress

  • В основном режиме отображения слайдов была добавлена скрываемая панель Примечания
  • Встроенные шаблоны презентаций были доработаны
  • Добавлен диалог для перехода к нужному слайду
  • Нажатие на Enter в пустом элементе списка теперь завершает список
  • Перелистывание слайдов теперь работает в обычном режиме
  • Презентации в формате PPTX с большим количеством графики теперь открываются быстрее

Draw

  • Наведение курсора мыши на вкладку слоя теперь подсвечивает фигуры на этом слое
  • Ускорено открытие некоторых PDF файлов

Base

  • Исправлена пара проблем с Firebird

Диаграммы

  • Добавлены две новые суб-диаграммы для расшифровки одной из долей круговой диаграммы (хз, как это называется в Эксель)

Общие изменения

  • Список последних открытых документов теперь отображает только документы того модуля, в котором открыт (текстовые в Writer, таблицы в Calc, презентации в Impress и так далее)
  • Пользователю показывается уведомление о необходимости переоткрыть документ, если изменен уровень безопасности макросов
  • Различные улучшения в поддержке языков юговосточной азии
  • Кнопки для выбора шрифта, подсветки и фона теперь запоминают свое состояние между сессиями с использованием офиса
  • Вроде бы включили автоматическое обновление офиса по аналогии с тем, как это делает Firefox, но я не уловил, как это работает и работает ли вообще
  • Объекты Галереи теперь можно искать, используя специальное поле для поиска в Боковой панели
  • Изменена система шифрования файлов!!! Если в этой версии вы сохраните файл с шифрованием, то чтобы его открыть, вам понадобиться версия офиса не ниже 24.8!

Фильтры

  • Настройка "Удалять персональные данные при сохранении" теперь работает для всех форматов и удаляет вообще все персональные данные из всех мест документа
  • Добавлена реализация  feMerge, feComposite и feBlend свойств для формата SVG

Basic IDE

  • Добавлен выбор тем оформления и подсветки кода
  • Текущая строка в коде теперь подсвечивается
  • Теперь сохраняется вид IDE между сессиями
  • Щелчок на номере строки в строке состояния откроет диалог "Перейти к строке"

Поддержка платформ

  • Поддержка Windows 7, 8 и 8.1 объявлена не поддержкой. Офис будет работать, но возможны проблемы с частью, написанной на Python (это некоторые мастера из меню Файл)

среда, 5 июня 2024 г.

Функция LET тоже будет добавлена в LibreOffice Calc

Balazs Varga продолжает нас радовать своими патчами. На очереди функция LET! Вот ссылка на патч. Интересно, там ещё десяток функций ещё в МС Эксель 2021 добавили, которые пока в LibreOffice Calc не реализованы, будет ли Balazs Varga продолжать свое дело и с ними?

четверг, 2 мая 2024 г.

пятница, 26 апреля 2024 г.

Функции динамических массивов в Calc. SEQUENCE

Вот и настал черёд следующей функции динамических массивов SEQUENCE. Balazs Varga создал соответствующий патч. Осталось добавить всего пару - UNIQUE, RANDARRAY.

воскресенье, 7 апреля 2024 г.

Быстрый поиск на Боковой панели Writer

Видели, как работает быстрый поиск в MS Word? Там сбоку от текста появляются фрагменты текста, где встречается искомое выражение. Виден контекст просто. В Writer такого не было до вчера буквально. А вчера запилили именно такую фичу в Writer!

Выглядит это пока вот так:

 

Единственно, пока по Ctrl+F эта панель не вызывается, но есть соответствующий запрос в багзилле, плюс при темной теме есть бага с отображением фрагментов текста в Боковой панели. Но это всё починят, я думаю, достаточно быстро. А так, фича достаточно полезная.