пятница, 30 ноября 2018 г.

Разработка LibreOffice. Создание панели инструментов (GtkToolbar) в Glade

Ранее я писал о процессе создания диалога с элементами управления в Glade. В той статье мы затронули создание и размещение кнопок, выпадающих списков, чекбоксов, меток.
Сейчас мне потребовалось внутри существующего диалога создать панель инструментов (GtkToolbar) с парой кнопок для форматирования текста. И я столкнулся с тем, что контейнер GtkToolbar не позволяет на себе размещать кнопки так, как мы делали это ранее с контейнером типа GtkGrid. Оказывается панель инструментов (GtkToolbar) - это отдельный тип контейнера, он позволяет себя редактировать (Edit). Итак, щелкаем правой кнопкой мыши по уже добавленному контейнеру прямо в центральной рабочей области, либо по имени нашей панели инструментов в древовидной структуре в левой части окна Glade, и выбираем пункт контекстного меню Edit.
Откроется вот такой крайне плохо реализованный диалог (его просто трудно заметить на фоне главного окна Glade, он рамок не имеет):
В левой части диалога редактирования панели инструментов есть специальная область, которая отображает доступные элементы управления на этой панели инструментов, аналогичная по назначению структуре в левой части основного окна Glade. В нижней части этой области есть две кнопки: "плюс" и "минус". По нажатию на кнопку "плюс" в список элементов управления добавляется новый элемент, по нажатию на "минус" - удаляется текущий выделенный элемент. Причем удалить существующую кнопку с панели инструментов можно так же, как и все иные виджеты: выделите и нажмите клавишу Delete на клавиатуре. Все оказалось просто (когда знаешь).
Каждый элемент управления может быть нескольких типов: просто кнопкой, кнопкой-переключателем, радиокнопкой, разделителем,  выпадающим меню. В соответствии с типом немного изменяются доступные для правки параметры элемента управления. Причем все параметры кнопок на панели инструментов доступны и в правой части  главного окна Glade, при условии, что такая кнопка выделена.

понедельник, 19 ноября 2018 г.

Выпуск LibreOffice 6.2 beta 1

The Document Foundation объявил о доступности для тестирования LibreOffice 6.2 beta 1. Скачать можно по ссылке https://dev-builds.libreoffice.org/pre-releases/ для операционных систем Windows, Linux, macOS в 32- и 64-битных версиях.
Обо всех найденных ошибках нужно сообщать разработчикам в багзиллу проекта .
Список исправленных ошибок и нового функционала доступен по ссылке https://dev-builds.libreoffice.org/pre-releases/src/bugs-changelog-libreoffice-6-2-release-6.2.0.0.beta1.log 

суббота, 17 ноября 2018 г.

Обзор изменений в теме значков Elementary

Rizal Muttaqin, автор темы значков Karasa Jaga, описал в своем блоге изменения, которые произошли в другой теме значков, Elementary, с тех пор, как он стал активно данную тему дорабатывать.
Просто чтобы вы знали, различных значков в каждой отдельной теме LibreOffice более 2000 штук.
Пройдите по ссылке и посмотрите иллюстрации (там все очевидно до/после), вполне наглядно видно, что была проделана огромная работа.

воскресенье, 11 ноября 2018 г.

Разработка LibreOffice. Копирование патча из gerrit в локальный репозиторий

Представим ситуацию, что патч для LibreOffice вы сделали в веб-интерфейсе, а теперь вам захотелось работу этого патча локально оценить в вашей собственной сборке (как эту самую сборку сделать, я писал ранее).
Итак, консоль наш лучший друг. Переходим в каталог с локальным репозиторием LibreOffice и даём там команду git checkout -B some_name master.
Эта команда создаст у вас в репозитории локальную новую ветку с именем some_name (имя можно задать любое вообще).
Далее нужно открыть сайт https://gerrit.libreoffice.org/ перейти в ваш патч и в правом верхнем углу раскрыть выпадающее меню Download.
В строке Cherry Pick справа есть значок "Copy to clipboard", нажмите его. В буфер обмена будет скопирована определённая команда. Вставьте её в консоль через контекстное меню и выполните.
Далее нужно собрать обновленную сборку с вашим патчем, делается это командой make build-nocheck. В этом случае, сборка будет создана быстро, буквально пара минут. Далее мы запускаем LibreOffice с включённым вашим патчем все той же командой instdir/program/soffice.
На этом всё, можно наглядно увидеть, как работает (или не работает, что бывает чаще) ваш патч на живую.
Выйти из локальной новой ветки обратно в главную мастер ветку можно командой git checkout master.

суббота, 10 ноября 2018 г.

Разработка LibreOffice. Правим код по мелочи, используя веб-интерфейс

Если вы знаете, что ваш патч в проект LibreOffice будет состоять из пары новых строк кода (или изменения пары строк существующего), то такой патч можно сделать на коленке с планшета, сидя в метро, используя веб-интерфейс по адресу https://gerrit.libreoffice.org/.
Примечание: в этой статье мы не станем рассматривать необходимость проведения предварительных изысканий в кодовой базе LibreOffice, будем считать, что вы уже знаете, где именно нужно вносить правки.
Перво наперво нужно авторизоваться на указанном сайте. В правом верхнем углу есть ссылка Sign in. Переходим по ссылке и видим такое:
Как видим, поддерживается авторизация по OpenID, а также подойдёт логин от GitHub или аккаунта Google, Launchpad или Yahoo! Заходите на сайт под любым имеющимся у вас, главное, чтобы последующая работа также выполнялась под этим же аккаунтом.
Далее, чтобы создать патч нужно выбрать соответствующие проект и ветку (в данной статье мы планируем запустить патч в основную разрабатываемую ветку master).
В верхней части сайта жмем на ссылку Projects:
Щёлкаем по ссылке List и в поле Filter вбиваем core. Чуть ниже из огромного списка осталась одна строка с именем core. Щёлкаем по ней:
В нижней части будет кнопка Create Change, жмём её.
Далее появляется вот такое окно (без всяких подсказок, что печально):
В первой строке вбивайте master и в появившемся списке выбирайте вариант просто master (выделено на скриншоте выше). В поле Enter topic ничего не вводите, в поле Description нужно ввести номер ошибки из багзиллы в формате tdf#120003 (это в случае, если вы исправляете ошибку, если нет, то конечно же номер не нужен) и краткое описание изменения. Общая длина описания здесь не должна быть более 75 символов (в дальнейшем описание можно будет сделать более подробным и объемным). И жмём кнопку Create в левом нижнем углу окошка и видим такое:
Нажимаем кнопку Edit (строка с этой кнопкой изменится) и далее появившуюся кнопку Add. Видим такое:
В поле Path нужно набрать имя того файла, который собираемся изменять, например startcenter.ui
при вводе имени файла вам будет показан список-подсказка, в поле Path должен быть прописан полный путь до нужного файла, а не просто одно имя файла.
Далее нажмите кнопку Open и откроется окно редактора:
После внесения изменений в исходный код, нажмите кнопку Save и затем Close. Вы вернетесь на предыдущий экран, который будет  содержать строку со ссылкой на ваш измененный файл:
Если нужно в рамках одного патча править несколько файлов, то опять жмём Edit, потом Add и так далее, как было чуть выше описано.
Если у вас есть знакомый разработчик LibreOffice, который готов вам помочь, то лучше всего его добавить в ревьюеры вашего патча. В правой верхней части страницы находим слово Reviewers и справа от него значок человечка, щёлкаем на него. В появившемся поле пишем либо ник, либо электронную почту разработчика и жмём синюю кнопку  Add  под полем.
Если знакомого нет, то придется просто ждать, пока кто-то из разработчиков не посмотрит на патч в порядке живой очереди. Также можно попросить кого-нибудь из разработчиков сделать ревью на IRC канале #libreoffice-dev в сети freenode.net.
Далее нужно отправить ваш патч на проверку и ревью. Для этого нажмите чуть выше тоже синюю кнопку  Publish Edit .
После этого сайт можно закрыть и ждать двух сообщений минимум: первое от тестирующего все патчи бота jenkins, второе от ревьюера-разработчика.

понедельник, 5 ноября 2018 г.

Выпуск LibreOffice 6.0.7 и 6.1.3

The Document Foundation объявил о выпуске LibreOffice версий 6.0.7 и 6.1.3. Всем пользователям соответствующих веток рекомендуется обновиться.
Списки исправленных ошибок для 6.0.7:
Списки исправленных ошибок для 6.1.3:

Скачать новые версии LibreOffice, как всегда, можно отсюда https://www.libreoffice.org/download/.

воскресенье, 4 ноября 2018 г.

Новое расположение вкладок в диалогах LibreOffice 6.2

Случайно увидел в ежедневной сборке, что диалог "Формат ячейки" в Calc стал выглядеть оригинально, если используется бэкэнд gtk3. Скриншот сделан в среде Openbox, а не в Gnome, поэтому общий внешний вид странноватый и выглядит, как неродной, но не это важно:

Вкладки сбоку! Я не очень уловил и пока не интересовался у разработчиков - это для всех диалогов будет уже в 6.2 и только для gtk3, или это вообще пока эксперимент.
Update: я глянул в Glade, изменить расположение вкладок на положение "слева" - это очень просто, изменяется одно единственное свойство у контейнера. Вопрос в том, какова причина таких изменений.
Update 2: пообщался с разработчиком, который это пилит. Оказывается GTK 3 не умеет в многострочное расположение вкладок, он умеет вкладки только прокручивать по горизонтали, если они все не вмещаются целиком в размеры диалога. Поэтому, если вкладок много, то в некоторых диалогах они (может быть!) будут перемещаться сверху в левую часть диалога. Будет ли это полностью реализовано к выходу LibreOffice 6.2, пока не понятно.