![](https://kde.org/announcements/frameworks/5-tp/KDE_QT.jpg)
Субота, 13 січня 2018
Сьогодні KDE оголошено про випуск KDE Frameworks 5.42.0.
KDE Frameworks складається з 70 додаткових бібліотек, які розширюють можливості Qt і реалізують багато широковживаних функціональних можливостей, є зрілими, належним чином рецензованими та добре перевіреними, а також надаються за дотримання розробниками достатньо дружніх щодо них умов. Вступні зауваження щодо цих бібліотек можна знайти у оголошенні щодо випуску KDE.
Цей випуск є частиною запланованої послідовності щомісячних випусків, яка надасть змогу розробникам використовувати поліпшення у бібліотеках швидко і без проблем.
Нове у поточній версії
Загальні зміни
- Виправлено попередження щодо AUTOMOC у cmake 3.10+
- Реалізовано ширше використання категоризованого ведення журналу для типового вимикання діагностики (скористайтеся kdebugsetting, щоб знову її увімкнути)
Baloo
- Стан balooctl: реалізовано обробку усіх аргументів
- Виправлено запити щодо міток із декількох слів
- Спрощено умови перейменовування
- Виправлено помилкову показану назву UDSEntry
Піктограми Breeze
- Виправлено назву піктограми «weather-none» на «weather-none-available» (виправлено ваду 379875)
- Вилучено піктограму Vivaldi, оскільки типова піктограма чудово компонується з Breeze (виправлено ваду 383517)
- Додано деякі пропущені типи MIME
- Додано піктограму document-send до Breeze (виправлено ваду 388048)
- Оновлено піктограму виконавця альбому
- Додано підтримку labplot-editlayout
- Вилучено дублікати і оновлено темну тему
- Додано підтримку піктограми Breeze для gnumeric
Додаткові модулі CMake
- Реалізовано використання readelf для пошуку залежностей проєкту
- Впроваджено INSTALL_PREFIX_SCRIPT для простішого налаштовування префіксів
KActivities
- Усунено аварійне завершення роботи у kactivities, якщо немає доступного з'єднання D-Bus
KConfig
- Документація до програмного інтерфейсу: пояснено, як використовувати KWindowConfig з конструктора діалогових вікон
- Визнано застарілим KDesktopFile::sortOrder()
- Виправлено результат використання KDesktopFile::sortOrder()
KCoreAddons
- Розширено CMAKE_AUTOMOC_MACRO_NAMES для власного збирання
- Реалізовано встановлення відповідності ключів ліцензування від spdx
KDBusAddons
- Виправлено виявлення абсолютних шляхів для cmake 3.5 у Linux
- Додано функцію cmake «kdbusaddons_generate_dbus_service_file»
KDeclarative
- Реалізовано засоби керування Qml для створення модулів kcm
KDED
- Використано функцію cmake «kdbusaddons_generate_dbus_service_file» з kdbusaddons для створення файлів служб D-Bus
- Додано властивість used до визначення файла служби
Підтримка KDELibs 4
- Реалізовано інформування користувача про неможливість реєстрації за допомогою org.kde.kded5 з наступним виходом із повідомленням про помилку
- Виправлено збирання у Mingw32
KDocTools
- Додано запис для Michael Pyne
- Додано записи для Martin Koller у contributor.entities
- Виправлено запис debian
- Додано запис Debian до general.entities
- Додано запис для kbackup із поліпшенням
- Додано запис для latex, ми маємо вже 7 використань цього запису у різних index.docbook kf5
KEmoticons
- Додано схему (file://). Вона є необхідною, якщо використовується у qml.
KFileMetaData
- Вилучено засіб видобування на основі QtMultimedia
- Реалізовано пошук Linux, а не TagLib, з уникненням збирання usermetadatawritertest у Windows
- Відновлено стан #6c9111a9, доки не стане можливим збирання і компонування без TagLib
- Вилучено залежність від taglib, спричинену вчасно не прибраним include
KHTML
- Нарешті уможливлено вимикання діагностики шляхом використання категоризованого ведення журналу
KI18n
- Усунено використання ts-pmap-compile як виконуваного файла
- Усунено витік пам'яті у KuitStaticData
- KI18n: виправлено декілька дублювань пошуків
KInit
- Вилучено код, який ніколи не можна було виконати
KIO
- Реалізовано належну обробку дат у куках, якщо використовується локаль, відмінна від англійської (виправлено ваду 387254)
- [kcoredirlister] Виправлено створення підшляхів
- Реалізовано показ стану смітника у iconNameForUrl
- Реалізовано переспрямовування сигналів QComboBox замість сигналів linedit QComboBox
- Виправлено помилку, пов'язану із тим, що для вебскорочень показувався шлях до файла замість зручної для користувача назви
- TransferJob: виправлення для випадку, коли readChannelFinished вже було надіслано до виклику start (виправлено ваду 386246)
- Усунено аварійне завершення роботи, ймовірно, з часу переходу на Qt 5.10? (виправлено ваду 386364)
- KUriFilter: усунено повідомлення щодо помилки для файлів, яких не існує
- Виправлено створення шляхів
- Реалізовано діалогове вікно kfile, де можна додати нетиповий віджет
- Реалізовано перевірку того, що qWaitForWindowActive не завершилася помилкою
- KUriFilter: портовано з KServiceTypeTrader
- Документація з програмного інтерфейсу: використано назви класів у заголовках знімків вікон прикладів
- Документація з програмного інтерфейсу: реалізовано обробку макросів експортування KIOWIDGETS під час створення QCH
- Виправлено обробку KCookieAdvice::AcceptForSession (виправлено ваду 386325)
- Створено «GroupHiddenRole» для KPlacesModel
- Реалізовано переспрямовування рядка помилки сокета до KTcpSocket
- Переписано і вилучено дубльований код у kfileplacesview
- Реалізовано надсилання сигналу «groupHiddenChanged»
- Реорганізовано використання анімації приховування або показу у KFilePlacesView
- Уможливлено приховування усієї групи місць користувачем з KFilePlacesView (виправлено ваду 300247)
- Реалізовано приховування груп місць у KFilePlacesModel (виправлено ваду 300247)
- [KOpenWithDialog] Вилучено зайве створення KLineEdit
- Додано підтримку скасовування до BatchRenameJob
- Додано BatchRenameJob до KIO
- Виправлено помилку, пов'язану із тим, що блок коду doxygen не завершувався на endcode
Kirigami
- Реалізовано збереження інтерактивності тимчасових засобів керування
- Реалізовано належний префікс також для піктограм
- Виправлено зміну розмірів форм
- Реалізовано читання wheelScrollLines з kdeglobals, якщо існує
- Додано префікс для файлів kirigami, щоб уникнути конфліктів
- Виправлено помилки статичного компонування
- Стилі Плазми пересунуто до plasma-framework
- Реалізовано використання одинарних лапок для відповідних символів + QLatin1Char
- Компонування форми
KJobWidgets
- Реалізовано пропозицію програмного інтерфейсу QWindow для декораторів KJobWidgets::
KNewStuff
- Обмежено запит щодо розміру кешу
- Реалізовано вимогу тієї самої внутрішньої версії, що і та, для якої відбувалося збирання
- Реалізовано запобігання використанню загальних змінних після того, як їх було вивільнено
KNotification
- [KStatusNotifierItem] Усунено «відновлення» розташування віджета під час його першого показу
- Реалізовано використання розташування застарілих піктограм системного лотка для дій із мінімізації або відновлення
- Реалізовано обробку розташування вказівника при клацанні лівою кнопкою миші на застарілих піктограмах системного лотка
- Усунено помилку, пов'язану із тим, що контекстне меню вважалося вікном
- Додано пояснювальний коментар
- Реалізовано «ліниве» створення екземплярів і завантаження додатків KNotification
Набір бібліотек KPackage
- Реалізовано скасовування чинності динамічного кешу при встановленні
- Реалізовано експериментальну підтримку завантаження файлів rcc до kpackage
- Реалізовано компіляцію з Qt 5.7
- Виправлено індексування пакунків і додано динамічне кешування
- Впроваджено новий метод KPackage::fileUrl()
KRunner
- [RunnerManager] Виправлено обробку кількості потоків у ThreadWeaver
KTextEditor
- Виправлено встановлення відповідності за символами замінниками для рядків режимів
- Виправлено регресію, пов'язану зі зміною поведінки клавіші backspace
- Портовано на новий програмний інтерфейс, як це вже зроблено у інших місцях (виправлено ваду 386823)
- Додано пропущений include для std::array
- MessageInterface: додано CenterInView як додаткову позицію
- Очищено список ініціалізації QStringList
Бібліотека KWallet
- Реалізовано використання правильного шляху до виконуваних файлів служби для встановлення служби D-Bus kwalletd у Win32
KWayland
- Виправлено неоднорідність назв
- Створено інтерфейс для передавання палітр декорацій сервера
- Явним чином включено функції std::bind
- [сервер] Додано метод IdleInterface::simulateUserActivity
- Виправлено регресію, спричинену підтримкою зворотної сумісності у джерелі даних
- Додано підтримку версії 3 інтерфейсу керування пристроєм даних (виправлено ваду 386993)
- Створено область для експортованих і імпортованих об'єктів для тестування
- Виправлено помилку у WaylandSurface::testDisconnect
- Додано явний протокол AppMenu
- Виправлено виключення створеного файла з можливості automoc
KWidgetsAddons
- Усунено аварійне завершення роботи у setMainWindow на wayland
KXMLGUI
- Документація з програмного інтерфейсу: знову пов'язано сеанс-обгортку doxygen із макросами і функціями
- Реалізовано від'єднання слоту shortcutedit при знищенні віджета (виправлено ваду 387307)
NetworkManagerQt
- 802-11-x: реалізовано підтримку методу EAP PWD
Бібліотеки Plasma
- [Тема Air] Додано графіку поступу на панелі задач (виправлено ваду 368215)
- Шаблони: вилучено * із заголовків ліцензій
- packageurlinterceptor зроблено порожнім, якщо можливо
- Скасовано внесок «Не переривати показ та інші важливі завдання, якщо Svg::setImagePath викликається із тим самим аргументом»
- Стилі Плазми kirigami пересунуто сюди
- Реалізовано зникнення смужок гортання на мобільних пристроях
- Реалізовано повторне використання KPackage у PluginLoader і Applet
- [AppletQuickItem] Реалізовано встановлення стилю засобів керування QtQuick лише один раз для одного рушія
- Усунено встановлення піктограми вікна у Plasma::Dialog
- [RTL] Реалізовано належне вирівнювання позначеного тексту для мов із записом справа ліворуч (виправлено ваду 387415)
- Реалізовано ініціалізацію коефіцієнта масштабування останнім встановленим значенням масштабування у довільному екземплярі
- Скасовано внесок «Реалізовано ініціалізацію коефіцієнта масштабування останнім встановленим значенням масштабування у довільному екземплярі»
- Скасовано оновлення, якщо підлеглий FrameSvg заблоковано від перемальовування
- Реалізовано ініціалізацію коефіцієнта масштабування останнім встановленим значенням масштабування у довільному екземплярі
- Перевірку if пересунуто до #ifdef
- [FrameSvgItem] Усунено створення непотрібних вузлів
- Реалізовано неперервний показ та інші важливі завдання, якщо Svg::setImagePath викликається із тим самим аргументом
Prison
- Реалізовано пошук qrencode із суфіксом debug
QQC2StyleBridge
- Спрощено обробку подій від миші і усунено її блокування
- Реалізовано використання загальних параметрів гортання коліщатком, якщо немає wheel.pixelDelta
- Реалізовано різну ширину вкладок для панелей вкладок стільниці
- Забезпечено ненульове типове значення розміру
Sonnet
- Усунено експортування допоміжних виконуваних файлів внутрішнього використання
- Sonnet: виправлено помилкову мову для пропозицій у текстах із декількома мовами
- Вилучено застаріле і помилкове виправлення
- Усунено причини циклічного компонування у Windows
Підсвічування синтаксису
- Засіб індексування підсвічування: реалізовано попередження щодо перемикання контексту fallthroughContext="#stay"
- Засіб індексування підсвічування: реалізовано попередження щодо порожніх атрибутів
- Засіб індексування підсвічування: увімкнено повідомлення щодо помилок
- Засіб індексування підсвічування: реалізовано повідомлення щодо невикористаних або пропущених itemData
- Prolog, RelaxNG, RMarkDown: виправлено помилки у підсвічуванні
- Haml: виправлено некоректні і усунено невикористані itemData
- ObjectiveC++: вилучено дублікати контекстів коментарів
- Diff, ObjectiveC++: чищення і виправлення файлів підсвічування
- XML (діагностика): виправлено помилкове правило DetectChar
- Засіб індексування підсвічування: реалізовано підтримку перевірку контексту між засобами підсвічування
- Скасовування: знову додано GNUMacros до gcc.xml, оскільки його використано у isocpp.xml
- email.xml: до суфіксів додано *.email
- Засіб індексування підсвічування: реалізовано перевірку на нескінченні цикли
- Засіб індексування підсвічування: реалізовано перевірку на порожні назви і формальні вирази
- Виправлено посилання на списки ключових слів, яких не існує
- Виправлено прості випадки дублювання контекстів
- Виправлено дублювання itemData
- Виправлено правила DetectChar і Detect2Chars
- Засіб індексування підсвічування: реалізовано перевірку списків ключових слів
- Засіб індексування підсвічування: реалізовано попередження щодо дублювання контекстів
- Засіб індексування підсвічування: реалізовано перевірку дублювання itemData
- Засіб індексування підсвічування: реалізовано перевірку DetectChar і Detect2Chars
- Реалізовано перевірку існування для усіх атрибутів itemData
Відомості щодо безпеки
Випущений код підписано за допомогою GPG з використанням такого ключа: pub rsa2048/58D0EE648A48B3BB 2016-09-05 David Faure <faure@kde.org> Відбиток основного ключа: 53E6 B47B 45CE A3E0 D5B7 4577 58D0 EE64 8A48 B3BB
Обговорити цей випуск та поділитися ідеями можна у розділі коментарів до статті з новиною.
Встановлення бінарних пакунків
У Linux рекомендованим шляхом встановлення KDE Frameworks є пакунки вашого улюбленого дистрибутива. Настанови щодо встановлення програмного забезпечення KDE у вашому дистрибутиві Linux.
Збирання з початкових кодів
Увесь початковий код програм KDE Frameworks 5.42.0 можна отримати безкоштовно. Настанови щодо збирання та встановлення доступні на інформаційній сторінці програми KDE Frameworks 5.42.0.
Бібліотеки також можна зібрати з початкових кодів за допомогою базової системи команд cmake .; make; make install. Цей спосіб є найпростішим, якщо вам потрібні лише окремі бібліотеки шару 1. Зацікавленим в удосконаленні бібліотек та стеженні за розробкою загального набору варто скористатися скриптом kdesrc-build. Для роботи Frameworks 5.42.0 потрібна версія Qt
Із докладним списком усіх бібліотек Frameworks можна ознайомитися на api.kde.org.
Приєднатися до команди
Ті, кому цікаво стежити за розробкою Frameworks і взяти участь у його розробці, можуть ознайомитися із вмістом сховищ git і стежити за обговореннями у списку листування розробників KDE Frameworks. Правила і поточний стан проєкту і плани наведено у вікі Frameworks. Інтерактивні обговорення проводять на каналі IRC #kde-devel у Libera Chat.
Підтримка KDE
KDE — спільнота з розробки вільного програмного забезпечення, яка розвивається лише завдяки допомозі багатьох добровольців, які працюють у вільний від інших занять час. KDE завжди шукає нових учасників, які можуть допомогти розробці, виправленні і сповіщенні про вади, створенні документації, перекладі, просуванні, фінансуванні тощо. Будь-який внесок буде з вдячністю сприйнято спільнотою. Будь ласка, ознайомтеся зі сторінкою підтримки KDE, щоб дізнатися більше, або станьте спонсором KDE e.V. за допомогою нашої ініціативи Join the Game.