Субота, 7 листопада 2020
Сьогодні KDE оголошено про випуск KDE Frameworks 5.76.0.
KDE Frameworks складається з 70 додаткових бібліотек, які розширюють можливості Qt і реалізують багато широковживаних функціональних можливостей, є зрілими, належним чином рецензованими та добре перевіреними, а також надаються за дотримання розробниками достатньо дружніх щодо них умов. Вступні зауваження щодо цих бібліотек можна знайти у оголошенні щодо випуску KDE.
Цей випуск є частиною запланованої послідовності щомісячних випусків, яка надасть змогу розробникам використовувати поліпшення у бібліотеках швидко і без проблем.
Нове у поточній версії
Baloo
- Розділено терміни CJK на символах пунктуації, оптимізовано код
- Переписано код у приготуванні до інтеграції ICU
Піктограми Breeze
- Додано піктограму dialog-warning розміром 48 пікселів
- Змінено стиль media-repeat-single для використання числа 1
- Розширено перелік ігнорованих у git файлів
- Реалізовано перевірку існування файла до його вилучення
- Реалізовано безумовне початкове вилучення файла призначення при створенні символічних посилань
- Додано декілька піктограм режимів кольорів для Okular
- Додано піктограми task-complete (виправлено ваду 397996)
- Додано піктограму network-limited
- Реалізовано копіювання символічного посилання на 32-піксельну піктограму kup до apps/48 для виправлення помилок при перевірці на масштабованість
- Додано піктограми meeting-organizer (виправлено ваду 397996)
- Додано піктограму fingerprint
- Додано піктограми «task-recurring» і «appointment-recurring» (виправлено ваду 392533)
- Тимчасово вимкнено процедури зі створення піктограм у Windows
- Створено символічне посилання kup.svg на preferences-system-backup.svg
Додаткові модулі CMake
- Реалізовано пошук бібліотек і додатків QML за допомогою androiddeployqt без встановлення
- find-modules/FindReuseTool.cmake — виправлено процедуру пошуку засобу reuse
- Удосконалено типові параметри форматування
- Включено параметр для використання LLVM для користувачів із Qt < 5.14
- Додано пропущені дані щодо мінімальної версії для параметра RENAME
- Документовано термін додавання FindGradle
- Додано FindGradle з KNotification
KAuth
- Реалізовано раніше перетворення літер назви модуля на великі
- Додано допоміжний засіб обробки для отримання uid функції виклику
KCalendarCore
- Реалізовано видання повідомлення щодо неоднозначності у ICalFormat::toString() у тестах
- Додано перетворення властивості COLOR у послідовну форму з RFC7986
- Реалізовано можливість використання MemoryCalendar::rawEvents(QDate, QDate) для відкритих меж
KCMUtils
- Портовано з QStandardPaths::DataLocation на QStandardPaths::AppDataLocation
- Додано підтримку просторів назв до макросу CMake KCModuleData
- Визнано застарілим KSettings::PluginPage
- Вилучено посилання на невизначений файл заголовків
- KCMUtilsGenerateModuleData пересунуто до належного місця
- Записано усі попередньо створені допоміжні сторінки модуля керування
- Додано функцію CMake для створення базових даних модуля
- Удосконалено коректність вбудованого QML у kcmoduleqml.cpp
- Реалізовано належну висоту заголовка із замінником
- [kcmoduleqml] Виправлено верхнє поле для модулів керування на основі QML
KConfig
- Реалізовано пошук залежності від Qt5DBus
- kconf_update: уможливлено повторювані тести у --testmode шляхом ігнорування kconf_updaterc
KConfigWidgets
- Замінено http: на https:
KContacts
- Виправлено ваду 428276 — KContacts не можна було скористатися у проєкті qmake (виправлено ваду 428276)
KCoreAddons
- KJob: додано setProgressUnit() для визначення способу обчислення відсотків
- Усунено потенційний витік пам'яті у KAboutData::registerPluginData
- Розділено suggestName(); додатковий метод не перевіряє, чи існує файл
- KAboutData: визнано застарілими pluginData() і registerPluginData()
- Усунено вихід із циклу подій у KJobTest::slotResult()
- Реалізовано використання перевантаження singleShot() на основі функторів у TestJob::start()
KDeclarative
- [abstractkcm] Встановлено явні фаски
- [simplekcm] Вилучено обробку нетипових фасок
- [kcmcontrols] Вилучено дублювання коду
- Додано джерело до KDeclarativeMouseEvent
- Батьківський елемент overlaysheet змінено на кореневий
- Реалізовано успадковування від AbstractKCM у GridViewKCM і ScrollVieKCM
- Додано метод отримання даних для subPages
KDocTools
- Виправлено форматування xml у contributor.entities
- Оновлення корейського перекладу: змінено форматування HTML у GPL, FDL і додано LGPL
KFileMetaData
- [ExtractionResult] Відновлено сумісність із двійковими бібліотеками
- [TaglibWriter|Засіб видобування] Вилучено простий тип MIME speex
- [TaglibWriter] Відкрито читання-запис і у Windows
- [Засіб видобування|WriterCollection] Реалізовано фільтрування небібліотечних файлів
- [EmbeddedImageData] Зроблено спробу обійти проблеми у MSVC
- [ExtractionResult] Визнано застарілим ExtractEverything, виправлено з того часу
- [EmbeddedImageData] Реалізовано читання тестового базового справжнього зображення лише раз
- [EmbeddedImageData] Вилучено приватну реалізацію записування обкладинки
- [EmbeddedImageData] Реалізацію записування пересунуто до додатка запису taglib
- [EmbeddedImageData] Вилучено приватну реалізацію видобування обкладинки
- [EmbeddedImageData] Реалізацію пересунуто до додатка видобування taglib
KGlobalAccel
- Реалізовано активацію за допомогою D-Bus з systemd
KIconThemes
- Реалізовано збереження співвідношення розмірів при збільшенні масштабу
KIdleTime
- Визнано застарілим одноаргументний сигнал KIdleTime::timeoutReached(int ідентифікатор)
KImageFormats
- Додано підтримку стиснутих RLE, файлів PSD із 16 бітами на канал
- Реалізовано повернення unsupported при читанні стиснутих RLE 16-бітових файлів PSD
- Можливість: додано підтримку psd із глибиною кольорів 16
KIO
- Реалізовано умовне порівняння із порожнім QUrl замість або у Windows для mkpathjob
- KDirModel: два виправлення для QAbstractItemModelTester
- CopyJob: реалізовано включення пропущених файлів при обчисленні поступу при перейменуванні
- CopyJob: усунено облік пропущених файлів у сповіщенні (виправлено ваду 417034)
- У діалогових вікнах вибору файлів реалізовано вибір наявного каталогу при спробі його створення
- CopyJob: виправлено загальну кількість файлів/каталогів у діалоговому вікні поступу (при пересуванні)
- Реалізовано однорідну поведінку FileJob::write()
- Реалізовано підтримку x-атрибутів при копіюванні і пересуванні у kio
- CopyJob: усунено обчислення розмірів каталогів у загальному розмірі
- KNewFileMenu: виправлено аварійне завершення роботи шляхом використання m_text, а не m_lineEdit->text()
- FileWidget: реалізовано показ попереднього перегляду позначеного файла при прибиранні вказівника миші (виправлено ваду 418655)
- Відкрито поле контекстної довідки користувача у kpasswdserver
- KNewFileMenu: реалізовано використання NameFinderJob для отримання назви «Нова тека»
- Впроваджено NameFinderJob, який пропонує нові назви «Нова тека»
- Усунено явне визначення рядків Exec для модулів керування (виправлено ваду 398803)
- KNewFileMenu: код створення діалогового вікна відокремлено у власний метод
- KNewFileMenu: реалізовано перевірку існування файла із затримкою для удосконалення зручності використання
- [PreviewJob] Реалізовано отримання достатнього обсягу пам'яті для сегмента SHM (виправлено ваду 427865)
- Реалізовано використання механізму версій для додавання нових місць для наявних користувачів
- Додано закладки для зображень, музики та відео (виправлено ваду 427876)
- kfilewidget: реалізовано зберігання тексту у полі Name при навігації (виправлено ваду 418711)
- Реалізовано обробку модулів керування у OpenUrlJob за допомогою програмного інтерфейсу KService
- Реалізовано перетворення шляху до файла при отриманні і створенні мініатюр
- KFilePlacesItem: реалізовано приховування sshfs у kdeconnect
- OpenFileManagerWindowJob: реалізовано коректне визначення вікна з головного завдання
- Усунено беззмістовне зондування зображень мініатюр, яких не існує
- [ВАДА] Виправлено регресію при позначенні файлів, назви яких містять «#»
- KFileWidget: реалізовано перехід кнопок масштабування піктограм до найближчого стандартного розміру
- Пересунуто minimumkeepsize до модуля керування netpref (виправлено ваду 419987)
- KDirOperator: спрощено логіку у повзунку розміру піктограм
- UDSEntry: документовано формат очікуваного часу для ключів часу
- kurlnavigatortest: вилучено desktop:, для роботи потрібен desktop.protocol
- KFilePlacesViewTest: усунено показ вікна — у ньому немає потреби
- OpenFileManagerWindowJob: виправлено аварійне завершення роботи при поверненні до стратегії KRun (виправлено ваду 426282)
- Ключові слова інтернету: виправлено аварійне завершення роботи і помилку у тестах, якщо роздільником є пробіл
- Реалізовано пріоритет роздільників DuckDuckGo над іншими роздільниками
- KFilePlacesModel: реалізовано ігнорування прихованих місць при обчисленні closestItem (виправлено ваду 426690)
- SlaveBase: документовано поведінку ERR_FILE_ALREADY_EXIST з copy()
- kio_trash: виправлено логіку, якщо не встановлено обмеження розміру (виправлено ваду 426704)
- У діалогових вікнах роботи з файлами реалізовано позначення каталогу при створенні каталогу, який вже існує
- KFileItemActions: додано властивість для мінімальної або максимальної кількості адрес
Kirigami
- [аватар]: Реалізовано враховування числових записів як некоректних імен
- [аватар]: Розкрито властивість кешування зображення
- Реалізовано встановлення maximumWidth для піктограм на загальній висувній панелі (виправлено ваду 428658)
- Скорочення для виходу перетворено на дію і відкрито як придатну лише для читання властивість
- Реалізовано використання курсорів-рук у ListItemDragHandle (виправлено ваду 421544)
- [керування/аватар]: реалізовано підтримку ієрогліфів у ініціалах
- Удосконалено вигляд FormLayout на мобільних пристроях
- Виправлено меню у contextualActions
- Усунено внесення змін до Item у коді, який викликається з деструктора Item (виправлено ваду 428481)
- Усунено внесення змін до інших reversetwin компонування
- Реалізовано встановлення і усування фокусування на аркуші-накладці при відкритті і закритті
- Реалізовано пересування вікна за загальну панель інструментів при натисканні і перетягуванні
- Реалізовано закриття OverlaySheet при натисканні клавіші Esc
- Сторінка: реалізовано працездатність фасок, властивостей horizontalPadding і verticalPadding
- ApplicationItem: реалізовано використання властивості background
- AbstractApplicationItem: додано пропущені властивості і поведінку з ApplicationWindow QQC2
- Обмежено ширину пунктів за шириною компонування
- Реалізовано показ кнопки «Назад» у заголовках сторінок із шарами на мобільних пристроях
- Придушено попередження щодо циклу прив'язки позначуваних записів в ActionToolBar
- Реалізовано переставляння порядку стовпчиків у компонуваннях із напрямком читання справа-ліворуч
- Реалізовано код для забезпечення безумовного виклику ungrabmouse
- Реалізовано перевірку існування startSystemMove
- Виправлено роздільник у віддзеркалених компонуваннях
- Реалізовано перетягування вікна клацанням на порожніх областях
- Усунено гортання при перетягуванні за допомогою вказівника миші
- Виправлено випадки, коли reply є порожнім
- Виправлено некоректну реорганізацію Forward/BackButton.qml
- Забезпечено встановлення Ready для порожньої піктограми і усування розфарбовування її як попередньої піктограми
- Обмежено висоту кнопки назад-вперед у PageRowGlobalToolBarUI
- Прибрано небажане виведення до консолі від ContextDrawer
- Прибрано небажане виведення до консолі з ApplicationHeader
- Прибрано небажане виведення до консолі від back/forwardbutton
- Реалізовано запобіжник для перетягування мишею від перетягування OverlaySheet
- Реалізовано відкидання префікса бібліотек при збиранні для Windows
- Виправлено керування вирівнюванням twinformlayout
- Удосконалено коректність вбудованого QML у коді C++
KItemModels
- KRearrangeColumnsProxyModel: усунено аварійне завершення роботи, якщо немає моделі джерела
- KRearrangeColumnsProxyModel: враховано, що дочірні об'єкти має лише стовпчик 0
KNewStuff
- Виправлено помилкову логіку, яку впроваджено в e1917b6a
- Усунено аварійне завершення роботи через подвійне вилучення у kpackagejob (виправлено ваду 427910)
- Визнано застарілим Button::setButtonText() і виправлено документацію API, нічого не дописувалося
- Реалізовано відкладення усіх записів до кешу на диску, аж доки не буде зафіксовано секунду бездіяльності
- Виправлено аварійне завершення роботи, якщо список встановлених файлів є порожнім
KNotification
- KNotification::activated() позначено як застарілий
- Застосовано певну перевірку коректності до клавіш дій (виправлено ваду 427717)
- Реалізовано використання FindGradle з ECM
- Виправлено умову використання dbus
- Виправлення: увімкнено застарілий лоток на платформах без D-Bus
- Переписано notifybysnore для забезпечення надійнішої підтримки Windows
- Додано коментарі для опису поля DesktopEntry у файлі notifyrc
Набір бібліотек KPackage
- Попередження щодо того, що «немає метаданих», зроблено лише діагностичним
KPty
- Вилучено підтримку AIX, Tru64, Solaris, Irix
KRunner
- Визнано застарілими методи RunnerSyntax
- Визнано застарілими ignoreTypes і RunnerContext::Type
- Усунено встановлення типу для File/Directory, якщо його не існує (виправлено ваду 342876)
- Оновлено запис супровідника, відповідно до обговорення у списку листування
- Визнано застарілим невикористаний конструктор RunnerManager
- Можливість категорій визнано застарілою
- Вилучено непотрібну перевірку того, чи призупинено роботу засобу запуску
- Визнано застарілими методи defaultSyntax і setDefaultSyntax
- Вилучено нефункціональне використання RunnerSyntax
KService
- Дозволено використання програми NotShowIn=KDE, список яких наведено у mimeapps.list (виправлено ваду 427469)
- Реалізовано записування резервного значення для рядків Exec KCM із відповідним виконуваним файлом (виправлено ваду 398803)
KTextEditor
- [EmulatedCommandBar::switchToMode] Усунено дії, якщо старий і новий режими збігаються (виправлено ваду 368130)
- KateModeMenuList: вилучено спеціальні поля для Windows
- Усунено витік пам'яті у KateMessageLayout
- Реалізовано спробу уникнення вилучення нетипових стилів підсвічування, зміни до яких не вносилися (виправлено ваду 427654)
KWayland
- Реалізовано зручні методи навколо wl_data_offet_accept()
- Переліки позначено у Q_OBJECT, Q_ENUM
KWidgetsAddons
- Новий setUsernameContextHelp у KPasswordDialog
- KFontRequester: вилучено, тепер зайвий, допоміжний метод nearestExistingFont
KWindowSystem
- xcb: виправлено визначення розмірів екрана на екранах із високою роздільною здатністю
NetworkManagerQt
- Додано перелік і оголошення для уможливлення передавання можливостей у процесі реєстрації до NetworkManager
Бібліотеки Plasma
- Компонент BasicPlasmoidHeading
- Реалізовано безумовний показ кнопок ExpandableListitem, не лише при наведенні (виправлено ваду 428624)
- [PlasmoidHeading]: Реалізовано належне неявне встановлення розмірів
- Заблоковано кольори заголовків у темній і світлій темах Breeze (виправлено ваду 427864)
- Уніфіковано співвідношення розмірів кнопок акумуляторів розміром 32 і 22 пікселів
- Додано підказки щодо полів у toolbar.svg і переупорядковано панель інструментів PC3
- Додано AbstractButton і Pane до PC3
- Реалізовано підтримку виключних груп дій у контекстних діях
- Усунено обертання BusyIndicator, навіть якщо він є невидимим, знову
- Виправлено помилку, пов'язану із тим, що не застосовувалися кольори до піктограми перемикання завданнями на мобільних пристроях
- Додано піктограми перемикача завдання та закриття програм мобільної Плазми (для taskpanel)
- Краще меню у PlasmaComponents3
- Вилучено непотрібні прив'язки у ComboBox.contentItem
- Виправлено округлення у позиціюванні елемента керування повзунком
- [ExpandableListItem] Реалізовано завантаження на вимогу розширеного перегляду
- Додано пропущене «PlasmaCore.ColorScope.inherit: false»
- Встановлено colorGroup PlasmoidHeading у кореневому елементі
- [ExpandableListItem] Кольоровий текст зроблено 100% непрозорим (виправлено ваду 427171)
- BusyIndicator: усунено обертання, якщо індикатор є невидимим (виправлено ваду 426746)
- ComboBox3.contentItem має бути QQuickTextInput для виправлення автоматичного завершення (виправлено ваду 424076)
- FrameSvg: усунено скидання кешу при зміні розмірів
- Реалізовано вмикання-вимикання плазмоїдів при активації скорочення (виправлено ваду 400278)
- TextField 3: додано пропущене імпортування
- Виправлено ідентифікатори у піктограмі plasmavault_error
- PC3: виправлено колір мітки TabButton
- Реалізовано використання підказки замість булевого значення
- Уможливлено ігнорування полів у плазмоїдах
Purpose
- Додано опис до надавача даних youtube у kaccounts
QQC2StyleBridge
- Виправлено цикл прив'язки contentWidth ToolBar
- Реалізовано безпосереднє посилання на мітку ярлика за ідентифікатором замість неявного посилання
- ComboBox.contentItem має бути QQuickTextInput для виправлення автоматичного завершення (виправлено ваду 425865)
- Спрощено умовні інструкції у Connections
- Виправлено попередження щодо прив'язок у ComboBox
- Додано підтримку піктограм qrc до StyleItem (виправлено ваду 427449)
- Реалізовано належну індикацію стану фокусування ToolButton
- Додано TextFieldContextMenu для контекстних меню у TextField і TextArea
- Реалізовано встановлення кольору тла для ScrollView ComboBox
Solid
- Додано підтримку sshfs до модуля обробки fstab
- CMake: реалізовано використання pkg_search_module при пошуку plist
- Виправлено модуль обробки imobiledevice: реалізовано перевірку версії програмного інтерфейсу для DEVICE_PAIRED
- Виправлено збирання модуля обробки imobiledevice
- Додано модуль обробки Solid з використанням libimobiledevice для пошуку пристроїв iOS
- Реалізовано використання QHash для прив'язки там, де порядок є непотрібним
Sonnet
- Реалізовано використання сучасного синтаксису з'єднання сигналів і слотів
Підсвічування синтаксису
- Додано пропущену базову функцію «compact»
- Закоментовано перевірку, додано коментар про те, чому це більше не працює тут
- Додано пропущене значення position:sticky
- Виправлено створення php/* для нового підсвічування коментарів
- Можливість: замінено Alerts на синтаксис Special-Comments і вилучено Modeline-и
- Можливість: додано «comments.xml» як ситаксис-парасольку для різних типів коментарів
- Виправлення: синтаксис CMake тепер позначає «1» і «0» як особливі булеві значення
- Удосконалення: включено правила Modeline у файлах, де було додано Alert-и
- Удосконалено: додано булеві значення до «cmake.xml»
- Вигорілі теми: удосконалено роздільник
- Удосконалення: оновлення для CMake 3.19
- Додано підтримку файлів модулів systemd
- debchangelog: додано Hirsute Hippo
- Можливість: уможливлено використання декількох параметрів «-s» у рядку команди «kateschema2theme»
- Удосконалення: до засобу перетворення додано різноманітні тести
- Додаткові допоміжні скрипти пересунуто до належнішого місця
- Скрипт update-kate-editor-org.pl пересунуто у краще місце
- kateschema2theme: додано скрипт на Python для перетворення застарілих файлів схем
- Зменшено непрозорість у роздільнику тем Breeze і Dracula
- Оновлено README — додано розділ «Color themes files»
- Виправлення: реалізовано використання «KDE_INSTALL_DATADIR» при встановленні файлів синтаксису
- Виправлено обробку --syntax-trace=region із декількома графіками на одному відступі
- Виправлено деякі проблеми оболонки fish
- StringDetect замінено на DetectChar / Detect2Chars
- Деякі з RegExpr замінено на StringDetect
- RegExpr="." + lookAhead замінено на fallthroughContext
- \s* замінено на DetectSpaces
Відомості щодо безпеки
Випущений код підписано за допомогою 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.76.0 можна отримати безкоштовно. Настанови щодо збирання та встановлення доступні на інформаційній сторінці програми KDE Frameworks 5.76.0.
Бібліотеки також можна зібрати з початкових кодів за допомогою базової системи команд cmake .; make; make install. Цей спосіб є найпростішим, якщо вам потрібні лише окремі бібліотеки шару 1. Зацікавленим в удосконаленні бібліотек та стеженні за розробкою загального набору варто скористатися скриптом kdesrc-build. Для роботи Frameworks 5.76.0 потрібна версія Qt 5.12.
Із докладним списком усіх бібліотек Frameworks можна ознайомитися на api.kde.org.
Приєднатися до команди
Ті, кому цікаво стежити за розробкою Frameworks і взяти участь у його розробці, можуть ознайомитися із вмістом сховищ git і стежити за обговореннями у списку листування розробників KDE Frameworks. Правила і поточний стан проєкту і плани наведено у вікі Frameworks. Інтерактивні обговорення проводять на каналі IRC #kde-devel у Libera Chat.
Підтримка KDE
KDE — спільнота з розробки вільного програмного забезпечення, яка розвивається лише завдяки допомозі багатьох добровольців, які працюють у вільний від інших занять час. KDE завжди шукає нових учасників, які можуть допомогти розробці, виправленні і сповіщенні про вади, створенні документації, перекладі, просуванні, фінансуванні тощо. Будь-який внесок буде з вдячністю сприйнято спільнотою. Будь ласка, ознайомтеся зі сторінкою підтримки KDE, щоб дізнатися більше, або станьте спонсором KDE e.V. за допомогою нашої ініціативи Join the Game.