Sgaoileadh leabharlann Libadwaita 1.5 airson eadar-aghaidh stoidhle GNOME a chruthachadh

Tha Pròiseact GNOME air sgaoileadh Libadwaita 1.5 fhoillseachadh, anns a bheil seata de cho-phàirtean airson stoidhle eadar-aghaidh luchd-cleachdaidh a tha a’ leantainn an GNOME HIG (Stiùireadh Eadar-aghaidh Daonna). Tha an leabharlann a’ toirt a-steach widgets agus stuthan deiseil airson tagraidhean togail a tha a rèir stoidhle coitcheann GNOME, agus faodar an eadar-aghaidh aca atharrachadh gu scrionaichean de mheud sam bith. Tha còd an leabharlainn sgrìobhte ann an C agus air a chuairteachadh fo chead LGPL 2.1+.

Tha an leabharlann libadwaita air a chleachdadh ann an co-bhonn ri GTK4 agus a’ toirt a-steach pàirtean den chuspair Adwaita a chaidh a chleachdadh ann an GNOME, a chaidh a ghluasad a-mach à GTK gu leabharlann air leth. Le bhith a’ gluasad eileamaidean stoidhle GNOME a-steach do leabharlann air leth leigidh sin atharraichean sònraichte GNOME a leasachadh air leth bho GTK, a’ leigeil le luchd-leasachaidh GTK fòcas a chuir air na prìomh stuthan agus luchd-leasachaidh GNOME gus atharrachaidhean stoidhle a tha iad ag iarraidh a phutadh air adhart nas luaithe agus nas sùbailte gun a bhith a’ toirt buaidh air GTK fhèin.

Tha widgets àbhaisteach anns an leabharlann a’ còmhdach diofar eileamaidean eadar-aghaidh, leithid liostaichean, pannalan, blocaichean deasachaidh, putanan, tabaichean, foirmean sgrùdaidh, bogsaichean deasbaid, msaa. Leigidh na widgets a tha san amharc dhut eadar-aghaidh uile-choitcheann a chruthachadh a bhios ag obair gu sgiobalta an dà chuid air scrionaichean mòra PC agus laptop, agus air scrionaichean suathaidh beaga de fhònaichean sgairteil. Bidh eadar-aghaidh an tagraidh ag atharrachadh gu dinamach a rèir meud an sgrion agus na h-innealan cuir a-steach a tha rim faighinn. Tha an leabharlann cuideachd a’ toirt a-steach seata de stoidhlichean Adwaita a bheir an coltas a rèir stiùiridhean GNOME gun fheum air atharrachadh làimhe.

Sgaoileadh leabharlann Libadwaita 1.5 airson eadar-aghaidh stoidhle GNOME a chruthachadh

Основным изменением в libadwaita 1.5 стала переработка адаптивных виджетов для создания диалоговых окон, подстраивающихся под размер видимой области. В отличие от традиционных диалогов, которые размещаются в отдельных окнах, новые диалоги формируются на стороне клиента, отрисовываются внутри существующих окон и не могут выходить за пределы родительского окна. Подобный подход упрощает создание универсальных диалогов, сочетаемых с интерфейсами для мобильных и настольных систем, а также предоставляет дополнительные возможности для управления диалогами (например, не нужно отслеживать выход за границу окна, можно выбирать поведение в отношении кнопок закрытия, обеспечивается автоматическое развёртывание на весь экран в мобильных версиях приложений, учитывается стиль текущего окна, а не системы, при затемнении диалога).

Sgaoileadh leabharlann Libadwaita 1.5 airson eadar-aghaidh stoidhle GNOME a chruthachadhSgaoileadh leabharlann Libadwaita 1.5 airson eadar-aghaidh stoidhle GNOME a chruthachadh

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

Для мобильных устройств реализована поддержка размещения диалогов в форме листов, закреплённых в нижней части экрана (bottom sheets), а не в форме листов, выровненных по центру. Прикреплённые к нижней части диалоги избавляют пользователей от путаницы с закрытием окон — в подобных диалогах часть родительского окна остаётся видимой и кнопки закрытия родительского окна и самого диалога явно разделены, поэтому их теперь трудно спутать.

Sgaoileadh leabharlann Libadwaita 1.5 airson eadar-aghaidh stoidhle GNOME a chruthachadh

Управление новыми диалогами производится при помощи класса AdwDialog, работа с которым в большинстве ситуаций походит на использование класса GtkWindow, а различия сводятся к операциям отображения и закрытию. Например, свойство «:transient-for» заменено на параметр в функции adw_dialog_present(), добавлен новый сигнал «::close-attempt», изменена обработка параметра «:can-close». Вместо классов AdwPreferencesWindow, AdwAboutWindow и AdwMessageDialog с новыми диалогами предложено использовать классы AdwPreferencesDialog, AdwAboutDialog и AdwAlertDialog.

Диалоги, которые не имеют родительского окна, по-прежнему будут обрабатываться в форме отдельных окон. Как окна также будут функционировать диалоги, родительские окна которых не могут быть использованы для размещения диалогов, например, если они не допускают изменения размера или для них отсутствуют классы AdwWindow и AdwApplicationWindow.

Не связанные с переработкой диалогов изменения в Libadwaita 1.5:

  • В класс AdwEntryRow добавлено свойство «:text-length» для ограничения размера текста в поле ввода.
  • В класс AdwMessageDialog добавлен метод remove_response().
  • В класс AdwBreakpointBin, позволяющий менять интерфейс пользователя произвольным образом в зависимости от размера окна, добавлена возможность программного удаления точек останова.
  • В класс AdwSwipeTracker добавлен флаг «:allow-window-handle», допускающий пролистывание поверх верхней панели (используется в листах, прикреплённых к нижнему краю).
  • Повышена яркость цветов, используемых при затенении окон при тёмном стиле оформления.

Source: fosgailtenet.ru

Cuir beachd ann