د GNOME سټایل انٹرفیسونو جوړولو لپاره د Libadwaita 1.5 کتابتون خوشې کول

د GNOME پروژې د Libadwaita 1.5 کتابتون خپور کړی، کوم چې د کارن انٹرفیس سټایل کولو لپاره د اجزاو سیټ شامل دي چې د GNOME HIG (د بشري انٹرفیس لارښودونو) سپارښتنو سره مطابقت لري. په کتابتون کې د اپلیکیشنونو جوړولو لپاره چمتو شوي ویجټونه او توکي شامل دي چې د عمومي GNOME سټایل سره مطابقت لري ، کوم چې انٹرفیس کولی شي د هرې اندازې سکرینونو سره ځواب ویونکي تطبیق کړي. د کتابتون کوډ په C ژبه لیکل شوی او د LGPL 2.1+ جواز لاندې ویشل شوی.

د libadwaita کتابتون د GTK4 سره په ګډه کارول کیږي او د اډوایتا پوستکي برخې پکې شاملې دي چې په GNOME کې کارول کیږي، کوم چې د GTK څخه جلا کتابتون ته لیږدول شوي. په جلا کتابتون کې د GNOME لیدونو لیږدول د GNOME اړتیاو بدلونونو ته اجازه ورکوي چې له GTK څخه په جلا توګه رامینځته شي، د GTK پراختیا کونکو ته اجازه ورکوي چې په اساساتو تمرکز وکړي، او د GNOME پراختیا کونکو ته په چټکۍ او انعطاف سره د ځان لپاره د سټایل بدلونونه فشار راوړي پرته لدې چې پخپله GTK اغیزه وکړي.

په کتابتون کې معیاري ویجټونه شامل دي چې مختلف انٹرفیس عناصر پوښي، لکه لیستونه، پینلونه، د ترمیم بلاکونه، تڼۍ، ټبونه، د لټون فورمې، ډیالوګ بکسونه، او نور. وړاندیز شوي ویجټونه تاسو ته اجازه درکوي نړیوال انٹرفیسونه رامینځته کړئ چې د کمپیوټرونو او لپټاپونو لوی سکرینونو کې او د سمارټ فونونو کوچني ټچ سکرینونو کې پرته له کوم خنډ سره کار کوي. د اپلیکیشن انٹرفیس په متحرک ډول د سکرین اندازې او موجود ان پټ وسیلو پورې اړه لري. په کتابتون کې د اډویتا سټایلونو سیټ هم شامل دی چې د لاسي دودیز کولو اړتیا پرته د GNOME لارښوونو ته لید او احساس راوړي.

د GNOME سټایل انٹرفیسونو جوړولو لپاره د Libadwaita 1.5 کتابتون خوشې کول

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

د GNOME سټایل انٹرفیسونو جوړولو لپاره د Libadwaita 1.5 کتابتون خوشې کولد GNOME سټایل انٹرفیسونو جوړولو لپاره د Libadwaita 1.5 کتابتون خوشې کول

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

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

د GNOME سټایل انٹرفیسونو جوړولو لپاره د Libadwaita 1.5 کتابتون خوشې کول

Управление новыми диалогами производится при помощи класса 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», допускающий пролистывание поверх верхней панели (используется в листах, прикреплённых к нижнему краю).
  • Повышена яркость цветов, используемых при затенении окон при тёмном стиле оформления.

سرچینه: opennet.ru

Add a comment