Доступний графічний тулкіт GTK 4.10

Після шести місяців розробки опубліковано реліз багатоплатформного тулкіта для створення графічного інтерфейсу користувача - GTK 4.10.0. GTK 4 розвивається в рамках нового процесу розробки, який намагається надати розробникам додатків стабільний та підтримуваний протягом кількох років API, який можна використовувати не побоюючись, що кожні півроку доведеться переробляти програми через зміну API у черговій гілці GTK.

Серед найбільш помітних покращень у GTK 4.10:

  • У віджеті GtkFileChooserWidget з реалізацією діалогу, що відкривається для вибору файлів у додатках, реалізовано режим представлення вмісту каталогів у формі мережі значків. За промовчанням продовжує використовуватися класичне подання у вигляді списку файлів, а для переходу в режим значків у правій частині панелі з'явилася окрема кнопка. значків:
    Доступний графічний тулкіт GTK 4.10
  • Додано нові класи GtkColorDialog, GtkFontDialog, GtkFileDialog та GtkAlertDialog з реалізацією діалогів для вибору кольорів, шрифтів та файлів, виведення попереджень. Нові варіанти відрізняються переходом більш цілісний і збалансований API, що працює в асинхронному режимі (GIO async). У нових діалогах по можливості і за наявності задіяні портали Freedesktop (xdg-desktop-portal), які застосовуються для організації доступу до ресурсів оточення користувача із ізольованих додатків.
  • Додано новий бекенд CPDB (Common Printing Dialog Backend), який надає типові обробники для використання у діалогах виведення на друк. Підтримка раніше бекенду виведення на друк lpr припинена.
  • У бібліотеці GDK, що надає прошарок між GTK та графічною підсистемою, запропоновано структуру GdkTextureDownloader, яка задіяна для завантаження текстур у класі GdkTexture та може застосовуватись для перетворення різних форматів. Покращено масштабування текстур із використанням OpenGL.
  • У бібліотеці GSK (GTK Scene Kit), що надає можливості відтворення графічних сцен через OpenGL і Vulkan, реалізована підтримка вузлів з масками і фільтрації масштабованих текстур.
  • Реалізовано підтримку нових версій розширень протоколів Wayland. Налагоджено виведення стартових повідомлень під час використання протоколу «xdg-activation». Вирішено проблеми з розміром курсору на екранах із високою щільністю пікселів.
  • Клас GtkMountOperation адаптований для роботи в оточеннях без X11.
  • У бекенді Broadway, що дозволяє малювати виведення бібліотеки GTK у вікні web-браузера, додано підтримку модальних вікон.
  • У класі GtkFileLauncher запропоновано новий асинхронний API для заміни gtk_show_uri.
  • В утиліті gtk-builder-tool покращено обробку шаблонів.
  • У віджеті GtkSearchEntry додана підтримка тексту-заповнення, що відображається, коли поле не заповнене та відсутня фокус введення.
  • Додано клас GtkUriLauncher, який прийшов на зміну функції gtk_show_uri, що застосовується для визначення програми, що запускається для відображення заданого URI, або виведення помилки за відсутності обробника.
  • У класі GtkStringSorter додано підтримку різних методів «collation», що дозволяють виконувати зіставлення та сортування з урахуванням сенсу символів (наприклад, за наявності знаку наголосу).
  • Переведена в розряд застарілих велика порція API і віджетів, які вирішено не підтримувати в гілці GTK5 і які замінені на аналоги, що працюють в асинхронному режимі:
    • GtkDialog (слід використовувати GtkWindow).
    • GtkTreeView (слід використовувати GtkListView і GtkColumnView) .
    • GtkIconView (слід використовувати GtkGridView).
    • GtkComboBox (слід використовувати GtkDropDown).
    • GtkAppChooser (слід використовувати GtkDropDown).
    • GtkMessageDialog (слід використовувати GtkAlertDialog).
    • GtkColorChooser (слід використовувати GtkColorDialog і GtkColorDialogButton).
    • GtkFontChooser (слід використовувати GtkFontDialog і GtkFontDialogButton).
    • GtkFileChooser (слід використовувати GtkFileDialog).
    • GtkInfoBar
    • GtkEntryCompletion
    • GtkStyleContext
    • GtkVolumeButton
    • GtkStatusbar
    • GtkAssistant
    • GtkLockButton
    • gtk_widget_show/hide
    • gtk_show_uri
    • gtk_render_ та gtk_snapshot_render_
    • gtk_gesture_set_sequence_state
  • Переведений у розряд публічних інтерфейс GtkAccessible, що дозволяє підключати сторонні обробники елементів інтерфейсу для людей з обмеженими можливостями. Доданий інтерфейс GtkAccessibleRange.
  • На платформі macOS забезпечено підтримку перетягування елементів мишею (DND, Drag-and-Drop).
  • На платформі Windows покращена інтеграція із системними налаштуваннями.
  • Уніфіковано формат налагоджувального висновку.
  • До 1 ГБ піднято ліміт пам'яті для завантажувача зображень у форматі JPEG.

Джерело: opennet.ru

Додати коментар або відгук