Субота, 2 травня 2020
Сьогодні KDE оголошено про випуск KDE Frameworks 5.70.0.
KDE Frameworks складається з 70 додаткових бібліотек, які розширюють можливості Qt і реалізують багато широковживаних функціональних можливостей, є зрілими, належним чином рецензованими та добре перевіреними, а також надаються за дотримання розробниками достатньо дружніх щодо них умов. Вступні зауваження щодо цих бібліотек можна знайти у оголошенні щодо випуску KDE.
Цей випуск є частиною запланованої послідовності щомісячних випусків, яка надасть змогу розробникам використовувати поліпшення у бібліотеках швидко і без проблем.
Нове у поточній версії
Baloo
- [FileWatch] Вилучено зайвий слот watchIndexedFolders()
- [ModifiedFileIndexer] Прояснено коментар
- [FileWatch] Виправлено спостереження за змінами у налаштуваннях
- [KInotify] Виправлено встановлення відповідності шляхів при вилученні спостережень
- [Засіб видобування] Реалізовано використання категоризованого ведення журналу
- Реалізовано використання KFileMetaData для підтримки XAttr замість приватної повторної реалізації
- Скасовано внесок «Додано сигнали DBus Baloo для пересунутих або вилучених файлів»
- [Монітор QML] Реалізовано показ часу, що лишився, якомога скоріше
- [FileContentIndexer] Виправлено оновлення станів та порядок сигналів
- [Монітор] Виправлено стан спостереження та порядок сигналів
- [Засіб видобування] Виправлено звітування щодо поступу
- [Код] Усунено рекурентне від'єднання та перевірки розміру
- [baloo_file] Вилучено KAboutData з baloo_file
- [Searchstore] Реалізовано резервування місця для термінів запиту фраз
- [SearchStore] Уможливлено запит щодо точних відповідників для даних, які не є властивостями
- [PhraseAndIterator] Реалізовано вилучення тимчасових масивів при перевірці відповідників
- [Засіб видобування] Поліпшено балансування режимів бездіяльності і зайнятості
- [Засіб видобування] Виправлено спостереження за режимом бездіяльності
- [Засіб видобування] Вилучено клас-обгортку IdleStateMonitor
- [OrpostingIterator] Дозволено пропускання елементів, реалізовано skipTo
- [PhraseAndIterator] Замінено рекурсивну реалізацію next()
- [AndPostingIterator] Замінено рекурсивну реалізацію next()
- [PostingIterator] Забезпечено роботу skipTo і для першого елемента
- Перейменовано і експортовано сигнал newBatchTime у filecontentindexer
- [SearchStore] Реалізовано обробку значень double у запитах щодо властивостей
- [AdvancedQueryParser] Семантичну обробку лексем пересунуто до SearchStore
- [Inotify] Вилучено не-такий-вже-оптимізовано-OptimizedByteArray
- [Inotify] Вилучено непрацездатний/дубльований код
- [QueryParser] Допоміжну функцію, яка використовувалася лише один раз, замінено на with std::none_of
Піктограми Breeze
- Загортання кутика у двох піктограмах перенесено у праву верхню частину
- Додано піктограму konversation розміром 16 пікслеів
- Виправлено назву піктограми vscode
- Додано піктограму Vvave розміром 16 пікселів
- Додано піктограму alligator
- Додано піктограми preferences-desktop-tablet і preferences-desktop-touchpad
- Оновлено посилання у README.md
- Збирання: шлях до каталогу з початковим кодом взято у лапки
- Уможливлено збирання з придатного лише для читання каталогу початкового коду
- Додано піктограми expand/collapse для комплекту із наявними піктограмами expand-all/collapse-all
- Додано піктограми auth-sim-locked і auth-sim-missing
- Додано піктограми пристрою із SIM-карткою
- Додано піктограми обертання
- Додано піктограму «Системних параметрів» розміром 16 пікселів
- Змінено ButtonFocus на Highlight
- Удосконалено вигляд піктограми kcachegrind
- Вилучено рамку з піктограм format-border-set-*
Додаткові модулі CMake
- android: включено архітектуру до назви apk
- ECMAddQch: виправлено лапки з PREDEFINED у налаштуваннях doxygen
- Адаптовано FindKF5 до строгіших перевірок у новому find_package_handle_standard_args
- ECMAddQch: реалізовано обробку doxygen Q_DECLARE_FLAGS, щоб відповідні типи отримали документацію
- Виправлено попередження сканера wayland
- ECM: спроба виправити KDEInstallDirsTest.relative_or_absolute у Windows
Інструменти Doxygen KDE
- Додано пробіл після «Platform(s):» на першій сторінці
- Виправлено використання лапок для записів PREDEFINED у Doxygile.global
- Реалізовано Q_DECL_EQ_DEFAULT і Q_DECL_EQ_DELETE для doxygen
- Додано висувну панель на мобільних пристроях і почищено код
- Реалізовано Q_DECLARE_FLAGS для doxygen, щоб відповідні типи можна було документувати
- Портовано на Aether Bootstrap 4
- Перероблено api.kde.org так, щоб сайт виглядав подібніше до Aether
KBookmarks
- Реалізовано безумовне створення actioncollection
- [KBookMarksMenu] Встановлено objectName для newBookmarkFolderAction
KCMUtils
- KSettings::Dialog: додано підтримку KPluginInfos без KService
- Невеличка оптимізація: викликаємо kcmServices() лише раз
- Знижено рівень попередження щодо застарілого стилю KCM до qDebug, лишаємо так до KF6
- Реалізовано використання ecm_setup_qtplugin_macro_names
KConfig
- kconfig_compiler: реалізовано створення параметрів kconfig з subgroup
- Виправлено деякі попередження компілятора
- Додано поведінку примусового збереження до KEntryMap
- Додано стандартне скорочення для «Показати/Приховати приховані файли» (виправлено ваду 262551)
KContacts
- Узгоджено опис у metainfo.yaml з описом у README.md
KCoreAddons
- Документація щодо програмного інтерфейсу: реалізовано використання ulong typedef з Q_PROPERTY(відсоток), щоб обійти ваду у doxygen
- Документація до програмного інтерфейсу: документовано засновані на Q_DECLARE_FLAGS прапорці
- Давнє визначення типу KLibFactory визнано застарілим
- [KJobUiDelegate] Додано прапорець AutoHandlingEnabled
KCrash
- Вилучено використання klauncher у KCrash
KDeclarative
- Визначено належну назву для вмісту проєкту kcmcontrols
- Підправлено документацію до kcmcontrols
- Додано метод startCapture
- [KeySequenceHelper] Реалізовано обхід поведінки модифікатора Meta
- Реалізовано також відпускання вікна у деструкторі
KDED
- KToolInvocation::kdeinitExecWait портовано на QProcess
- Відкинуто затриману другу фазу
KHolidays
- Додано свята Нікарагуа
- Додано святкові дні на Тайвані
- Оновлено румунські свята
KI18n
- Макрос KI18N_WRAP_UI: встановлено властивість SKIP_AUTOUIC у файлі ui та загальний заголовок
KIconThemes
- Додано нотатку щодо портування loadMimeTypeIcon
KImageFormats
- Додано підтримку сучасних зображень GIMP/файлів XCF
KIO
- [RenameDialog] Додано стрілку, яка вказує напрям від джерела до призначення (виправлено ваду 268600)
- KIO_SILENT: скориговано документацію щодо програмного інтерфейсу
- Обробку недовірених програм пересунуто до ApplicationLauncherJob
- Перевірку на некоректну службу пересунуто з KDesktopFileActions до ApplicationLauncherJob
- Реалізовано виявлення виконуваних файлів із правами доступу +x у $PATH для удосконалення повідомлення про помилку (виправлено ваду 415567)
- Шаблон файла HTML зроблено кориснішим (виправлено ваду 419935)
- Додано конструктор JobUiDelegate із прапорцем AutoErrorHandling і вікном
- Виправлено обчислення каталогу кешування при додавання до смітника
- Протокол file: забезпечено роботу KIO::StatAcl без неявної залежності від KIO::StatBasic
- Додано значення detail KIO::StatRecursiveSize, щоб kio_trash виконував завдання лише на вимогу
- CopyJob: реалізовано використання StatBasic під час статистичної обробки призначення
- [KFileBookMarkHandler] Портовано на нову KBookmarkMenu-5.69
- KStatusBarOfflineIndicator позначено як застарілий
- KLocalSocket замінено на QLocalSocket
- Усунено аварійне завершення роботи у режимі відпускання після попередження про неочікувані дочірні записи (виправлено ваду 390288)
- Документація: вилучено згадку про сигнал, якого не існує
- [renamedialog] KIconLoader замінено на QIcon::fromTheme
- kio_trash: для trash:/ додано дані щодо розміру, часу змін, дати доступу і створення (виправлено ваду 413091)
- [KDirOperator] Реалізовано використання нового стандартного клавіатурного скорочення для дії «Показати/Приховати приховані файли» (виправлено ваду 262551)
- Реалізовано показ зображень попереднього перегляду для зашифрованих файлових систем (виправлено ваду 411919)
- [KPropertiesDialog] Вимкнено зміну піктограм віддалених каталогів (виправлено ваду 205954)
- [KPropertiesDialog] Усунено причину попередження щодо QLayout
- Документація до програмного інтерфейсу: документування ширшого спектра типових властивостей KUrlRequester
- Виправлено DirectorySizeJob так, щоб метод не залежав від порядку у списку
- KRun: виправлено оцінку при неможливості запустити програму
Kirigami
- Впроваджено Theme::smallFont
- BasicListItem зроблено кориснішим впровадженням властивості subtitle
- Усунено помилки сегментації у PageRouterAttached
- PageRouter: удосконалено пошук батьківських записів елементів
- Вилучено невикористане включення QtConcurrent з colorutils
- PlaceholderMessage: вилучено використання модулів Плазми
- Дозволено PlaceholderMessage мати порожній текст
- Реалізовано вертикальне вирівнювання за центром аркушів, якщо у них немає смужки гортання (виправлено ваду 419804)
- У типові висоті картки враховано верхнє і нижнє поля
- Різноманітні виправлення у нових картках (виправлено ваду 420406)
- Піктограма: удосконалено показ піктограм на багатоекранних конфігураціях із декількома роздільностями
- Виправлено помилку у PlaceholderMessage: дії вимкнено, а не приховано
- Впроваджено компонент PlaceholderMessage
- Швидке виправлення: виправлено помилкову типізацію у функціях для масивів FormLayout
- Швидке виправлення для SwipeListItem: використано Array.prototype.*.call
- Швидке виправлення: використано Array.prototype.some.call у ContextDrawer
- Швидке виправлення для D28666: використано Array.prototype.*.call замість виклику функції об'єктів «list»
- Додано пропущену змінну m_sourceChanged
- Реалізовано використання ShadowedRectangle для тла карток (виправлено ваду 415526)
- Оновлено перевірку видимості для ActionToolbar шляхом перевірки ширини із умовою «менше або дорівнює»
- Декілька тривіальних виправлено помилкового коду
- Усунено закриття при клацанні у вмісті аркуша (виправлено ваду 419691)
- Реалізовано утримування аркуша під іншими контекстними повідомленнями (виправлено ваду 419930)
- Додано компонент PageRouter
- Додано ColorUtils
- Уможливлено встановлення різних радіусів кутів для ShadowedRectangle
- Вилучено параметр STATIC_LIBRARY з метою виправлення статичних збірок
KJobWidgets
- Додано конструктор KDialogJobUiDelegate(KJobUiDelegate::Flags)
KJS
- Реалізовано оператор «=» UString для усунення попереджень gcc
- Усунено причину попередження компілятора щодо копіювання нетривіальних даних
KNewStuff
- KNewStuff: виправлено шлях до файла і виклик процесу (виправлено ваду 420312)
- KNewStuff: портовано з KRun::runApplication на KIO::ApplicationLauncherJob
- Vokoscreen замінено на VokoscreenNG (виправлено ваду 416460)
- Впроваджено зрозуміліше для користувача звітування щодо встановлень (виправлено ваду 418466)
KNotification
- Реалізовано оновлення сповіщень на Android
- Реалізовано обробку багаторядкових сповіщень та сповіщень із форматуванням тексту на Android
- Додано конструктор KNotificationJobUiDelegate(KJobUiDelegate::Flags)
- [KNotificationJobUiDelegate] Додано «Failed» до повідомлень про помилки
KNotifyConfig
- Реалізовано послідовне використання knotify-config.h для передавання прапорців щодо Canberra/Phonon
KParts
- Додано перевантажений конструктор StatusBarExtension(KParts::Part *)
KPlotting
- foreach (застарілий) замінено на for на основі діапазону
KRunner
- Засіб запуску DBus: додано властивість служби для одноразового надсилання запитів щодо дій (виправлено ваду 420311)
- Реалізовано виведення попередження, якщо засіб запуску є несумісним із KRunner
KService
- Визнано застарілим KPluginInfo::service(), оскільки застарілим є конструктор із KService
KTextEditor
- Виправлено перетягування зі скиданням на лівому краю віджета (виправлено ваду 420048)
- Реалізовано збереження і отримання повних налаштувань перегляду до налаштувань сеансу та з налаштувань сеансу
- Скасовано передчасне портування на невипущену версію Qt 5.15, у якій вже відбулися зміни
KTextWidgets
- [NestedListHelper] Виправлено відступи при позначенні, додано тести
- [NestedListHelper] Удосконалено код встановлення відступів
- [KRichTextEdit] Забезпечено правильну взаємодію між заголовками та стосом скасовування дій
- [KRichTextEdit] Усунено перестрибування гортання при додаванні горизонтальної лінійки (виправлено ваду 195828)
- [KRichTextWidget] Вилучено давній обхідний код і виправлено регресію (внесок 1d1eb6f)
- [KRichTextWidget] Додано підтримку заголовків
- [KRichTextEdit] Реалізовано безумовну обробку натискання клавіші як одну модифікацію у стосі скасовування (виправлено ваду 256001)
- [findreplace] Реалізовано обробку пошуку для WholeWordsOnly у режимі формальних виразів
KUnitConversion
- Додано імперський галон та пінту (США) (виправлено ваду 341072)
- Додано ісландську крону
KWayland
- [Wayland] До протоколу PlasmaWindowManagement додано порядок у стосі вікон
- [сервер] Додано закулісні сигнали життєвого циклу
KWidgetsAddons
- [KFontChooser] Вилучено NoFixedCheckBox DisplayFlag, він є зайвим
- [KFontChooser] Додано новий DisplayFlag; змінено спосіб використання прапорців
- [KFontChooser] styleIdentifier() зроблено точнішим шляхом додавання styleName шрифту (виправлено ваду 420287)
- [KFontRequester] Портовано з QFontDialog на KFontChooserDialog
- [KMimeTypeChooser] Додано можливість фільтрування ієрархічного списку за допомогою QSFPM (виправлено ваду 245637)
- [KFontChooser] Код зроблено трохи придатнішим до читання
- [KFontChooser] Додано пункт-позначку для перемикання показу лише моноширинних шрифтів
- Вилучено непотрібне включення
KWindowSystem
- Реалізовано показ зрозумілого попередження, якщо не виявлено QGuiApplication
KXMLGUI
- [KRichTextEditor] Додано підтримку заголовків
- [KKeySequenceWidget] Реалізовано обхід поведінки модифікатора Meta
NetworkManagerQt
- foreach замінено на for на основі діапазону
Бібліотеки Plasma
- [PlasmaCore.IconItem] Виправлено регресію — аварійне завершення роботи при зміні джерела (виправлено ваду 420801)
- [PlasmaCore.IconItem] Переписано обробку джерела для різних типів
- Використання інтервалів у підказці до аплету зроблено послідовнішим
- [ExpandableListItem] Зроблено зручнішими на сенсорних пристроях
- [ExpandableListItem] Використано семантично правильніші піктограми розгортання і згортання
- Виправлено цикл прив'язки PC3 BusyIndicator
- [ExpandableListItem] Додано новий параметр showDefaultActionButtonWhenBusy
- Вилучено заокруглені краї у plasmoidHeading
- [ExpandableListItem] Додано сигнал itemCollapsed і усунено надсилання сигналу itemExpanded при згортанні
- Додано пояснення щодо стану версії компонентів Плазми
- [configview] Спрощено код, реалізовано обхід проблем із Qt5.15
- Створено ExpandableListItem
- Тривалість анімації зроблено сумісною зі значеннями Kirigami
QQC2StyleBridge
- Реалізовано виявлення версії QQC2 під час збирання
- [ComboBox] Використано прозоре затухання
Solid
- [Solid] foreach замінено на for на основі діапазону або індексу
- [FakeCdrom] Додано новий перелік UnknownMediumType до MediumType
- [FstabWatcher] Виправлено втрату засобу спостереження fstab
- [Fstab] Усунено повторне надсилання сигналу deviceAdded при змінах у fstab/mtab
Підсвічування синтаксису
- debchangelog: додано Groovy Gorilla
- Оновлено підтримку синтаксису мови Logtalk
- TypeScript: додано оператор типу «awaited»
Відомості щодо безпеки
Випущений код підписано за допомогою 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.70.0 можна отримати безкоштовно. Настанови щодо збирання та встановлення доступні на інформаційній сторінці програми KDE Frameworks 5.70.0.
Бібліотеки також можна зібрати з початкових кодів за допомогою базової системи команд cmake .; make; make install. Цей спосіб є найпростішим, якщо вам потрібні лише окремі бібліотеки шару 1. Зацікавленим в удосконаленні бібліотек та стеженні за розробкою загального набору варто скористатися скриптом kdesrc-build. Для роботи Frameworks 5.70.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.