понедельник, 26 января 2026 г.

Balazs Varga реализует фичу "Форматировать как Таблицу" в Calc

Видимо Маркус не до конца осилил в одиночку фичу "Форматировать как Таблицу" в одно лицо, поэтому Balazs Varga из Collabora ему помогает. Вчера он выкатил почти пятьдесят патчей на эту тему, надеюсь через недельку другую мы сможем потестировать эту штуку в LibreOffice Calc.

Напомню, что это фича из MS Excel, которую очень много народу ждёт. 

воскресенье, 2 ноября 2025 г.

Используем git для отправки патчей в LibreOffice

Это больше для себя памятка. Ни для кого с минимальным опытом программирования всё ниженаписанное не новость =)

Итак в терминале, убедившись, что мы в каталоге с исходным кодом проекта:

git pull - синхронизируем локальный исходный код с сервером

git checkout -b <branch_name> origin/master - создаем ветку

Делаем наш патч

make check - гоняем тесты для патча

git commit - записываем правки в историю

./logerrit submit master - коммитим патч в геррит на ревью

Если надо патч поправить после ревью или по любой иной причине:

git checkout <branch_name> - переходим в нашу ветку с патчем

Правим патч, чтобы стало как надо

git commit --amend -a - обновляем (!!! это важно !!!) правки в истории

./logerrit submit master - коммитим обновлённый патч в геррит на ревью

вторник, 28 октября 2025 г.

TDF объявили о найме еще трёх программистов

Какое счастье-то. TDF объявили о найме еще трёх программистов:

Для улучшения работы с макросами, включая исправления багов, допиливание совместимости с VBA и нормальную работу с Python

Для улучшения Base (и мне это кажется пустой тратой ресурса, в текущих реалиях никто не юзает однопользовательские БД локально, хватает электронных таблиц) 

Для улучшения UI с упором на macOS (мне кажется, что эта вакансия была определённо заточенной под Патрика, но что-то ничего не слышно, чтобы его наконец наняли)

Я очень надеюсь, что дополнительные товарищи программисты будут таки наняты и сделают LibreOffice ещё круче =) 

PS: по ссылкам есть информация, как с ними связаться, если вдруг вы пишете код на плюсах и желаете поработать над проектом и получать за это деньги =)

воскресенье, 10 августа 2025 г.

Маркус Морхард вернулся и сообщил о своей работе над фичей в Calc, аналогом "форматировать как таблицу" из Excel

Markus Mohrhard - это один из старых разработчиков LibreOffice, со срача с которым я начинал свое вхождение в проект. Последние много лет он был неактивен, но вот недавно он объявился, сделал пару патчей, а сегодня написал письмо в список рассылки о том, что делает фичу для Calc, аналог функции "форматировать как таблицу" из Excel.

Вот кривой перевод его сообщения (я читаю архив рассылки, а там нет скриншотов, о которых он говорит в письме):

"Я немного поэкспериментировал с реализацией поддержки стилей таблиц Calc, включая поддержку OOXML. Я не очень доволен некоторыми решениями в дизайне, поэтому хотел узнать мнение других (разработчиков), прежде чем тратить на это время.

Код находится в ветке feature/calc-table-styles.

Прилагаю два скриншота, показывающих сравнение рендеринга моего тестового документа в MS Excel и текущего рендеринга в Calc.

Обратите внимание, что это (изменение) также включает в себя ряд связанных улучшений диапазонов базы данных, включая небольшую боковую панель со свойствами стилей диапазонов/таблиц базы данных, дескриптор для изменения размера диапазонов базы данных при их выборе и скрипт для генерации информации о стиле OOXML по умолчанию, чтобы мы могли легко использовать их из кода..."

И там в письме дальше длинный список того, что надо бы ещё сделать в этом направлении, вы не думайте, что он выкатил готовую фичу прям =) Но всё равно это очень хорошее начинание, в свое время Маркус делал механизм автообновления для LibreOffice, который в итоге всё же допилили и в 25.2 он уже работает, так что и с этой фичей случится тоже самое, рано или поздно.

пятница, 16 мая 2025 г.

GSoC 2025 и LibreOffice

В этом году LibreOffice также принимает участие в программе GSoC. Заявлены следующие проекты и исполнители по ним:

  • Adam Seskunas - перепишет построитель отчетов для Base с Java на C++
  • Karthik Godha - добавит новый диалог для настройки стилей таблиц Writer и Calc (учитывая, что стили таблиц и там и там не существуют толком, то решение более, чем странное, делать UI для функционала, которого в общем-то нет)
  • Devansh Varshney - реализует автодополнение и подсказки при написании кода макросов в Basic IDE
  • Manish Bera - реализует автодополнение при написании кода макросов на Python (и мне не очень-то понятно, как это будет работать во внешних редакторах, потому что LibreOffice своего едактора кода для Python не имеет, а Jim не смог завершить свой патч)
  • Mohamed Ali Mohamed - реализует биндинг для языка Rust
  • Ujjawal Kumar - добавит возможность импорта файлов с разметкой Markdown в LibreOffice
  • Shardul Vikram Singh - переработает механизм отображения слайд шоу в Impress на использование примитивов DrawingLayer (это что-то очень низкоуровневое, зато может за собой тысячу регрессий потянуть).

Менторить указанных выше товарищей будут Thorsten Behrens, Stephan Bergmann и Sarper Akdemir из allotropia; Rafael Lima; Jonathan Clark, Heiko Tietze, Xisco Faulí, Michael Weghorn и Hossein Nourikhah от самого фонда TDF.

Пожелаем им всем удачи!

пятница, 9 мая 2025 г.

суббота, 1 февраля 2025 г.

Xisco Fauli добавил кучу новых функций в Calc

Из достаточно длинного списка ещё не реализованных функций электронных таблиц MS Excel в будущий LibreOffice Calc 25.8 уже были добавлены следующие:

  • CHOOSECOLS
  • CHOOSEROWS
  • DROP
  • EXPAND
  • TAKE
  • TOCOL
  • TOROW
  • WRAPCOLS 
  • WRAPROWS
  • VSTACK
  • HSTACK

Я уж не знаю, чего Xisco решил этим заняться, так-то он QA в проекте, однако вот решил и сделал. Честь ему и хвала. Посмотрим, может он и остальные функции тоже запилит =)

Обновил пост еще парой функций

воскресенье, 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 и прочего. Но это тема для отдельного поста =)