Субота, 13 лютого 2021
Сьогодні KDE оголошено про випуск KDE Frameworks 5.79.0.
KDE Frameworks складається з 83 додаткових бібліотек, які розширюють можливості Qt і реалізують багато широковживаних функціональних можливостей, є зрілими, належним чином рецензованими та добре перевіреними, а також надаються за дотримання розробниками достатньо дружніх щодо них умов. Вступні зауваження щодо цих бібліотек можна знайти у оголошенні щодо випуску KDE.
Цей випуск є частиною запланованої послідовності щомісячних випусків, яка надасть змогу розробникам використовувати поліпшення у бібліотеках швидко і без проблем.
Нове у поточній версії
Attica
- Портовано з QNetworkRequest::FollowRedirectsAttribute на QNetworkRequest::RedirectPolicyAttribute
Baloo
- [SearchStore] Вилучено залежності від файлової системи з властивості includeFolder
- [FileIndexerConfig] Виправлено приховану перевірку щодо явно включених каталогів
- [FilteredDirIterator] Реалізовано запит щодо прихованих файлів з QDirIterator
Піктограми Breeze
- Нові піктограми telegram-panel
- Використано належний стиль для піктограм align-horizontal-left-out (виправлено ваду 432273)
- Додано нові піктограми kickoff (виправлено ваду 431883)
- Додано rating-half, 100% непрозорість для rating-unrated, колір тексту для оцінок у темній темі
- Вилучено піктограми KeePassXC (виправлено ваду 431593)
- Виправлено піктограми @3x (виправлено ваду 431475)
- Додано піктограму neochat
Додаткові модулі CMake
- Реалізовано вмикання GNU_TAR_FOUND, лише якщо доступним є --sort=name
- Вилучено створення метаданих fastlane з заданого APK
- KDEFrameworksCompilerSettings: реалізовано типове визначення -DQT_NO_KEYWORDS і -DQT_NO_FOREACH
- [KDEGitCommitHooks] Реалізовано створення копії скриптів у каталозі початкового коду
- Реалізовано підтримку нового суфікса назви файлів Appstream
- fetch-translations: реалізовано обробку адреси до передавання її до fetchpo.rb
- Реалізовано обробку адрес фінансової підтримки в Appstream для створення метаданих F-Droid
- Виправлено права доступу для скриптів (виправлено ваду 431768)
- ECMQtDeclareLoggingCategory: реалізовано створення файлів .categories у build, а не configure
- Додано функцію cmake для налаштовування скрипти-обробники перед внеском у git
Інтеграція бібліотек
- Уможливлено вилучення декорацій вікон (виправлено ваду 414570)
Інструменти Doxygen KDE
- Вимкнено використання типового шрифту doxygen
- Удосконалено обробку QDoc і виправлено вади у темній темі
- Оновлено відомості щодо супроводу
- Реалізовано зовсім нову тему, сумісну з develop.kde.org/docs
KCalendarCore
- Реалізовано скасування реєстрації MemoryCalendar як спостерігача при вилученні події
- Реалізовано використання recurrenceId для вилучення належного запису
- Реалізовано вилучення прив'язок нотатника при закритті MemoryCalendar
KCMUtils
- Забезпечено використання режиму одного стовпчика
KCodecs
- Вилучено використання рядкових літералів поза UTF-8
KCompletion
- Усунено регресію через портування з оператора+ на оператор|
KConfig
- Переписано код збереження і відновлення геометрії вікон — тепер він стійкіший до помилок
- Виправлено відновлення розмірів вікна при закритті у максимізованому стані (виправлено ваду 430521)
- KConfig: реалізовано збереження компонента мілісекунд QDateTime
KCoreAddons
- Додано KFuzzyMatcher для неточного фільтрування рядків
- KJob::infoMessage: документовано наступне вилучення невикористаного аргументу richtext
- KJobUiDelegate::showErrorMessage: реалізовано з qWarning()
- Визнано застарілими пов'язані із X-KDE-PluginInfo-Depends методи
- Відкинуто ключі X-KDE-PluginInfo-Depends
KDeclarative
- Уможливлено використання одностовпчикових записів
- KeySequenceItem: реалізовано призначення порожнього рядка замість невизначеного (виправлено ваду 432106)
- Прибрано неоднозначність зі станів «позначено» і «наведено вказівник» для GridDelegate (виправлено ваду 406914)
- Реалізовано типове використання одинарного режиму
KFileMetaData
- ffmpegextractor: використано av_find_default_stream_index для пошуку потоку відеоданих
KHolidays
- Оновлено святкові дні на Маврикії у 2021 році
- Оновлено святкові дні на Тайвані
KI18n
- Усунено встановлення кодека для textstream при збиранні з Qt6
KImageFormats
- Спрощено частину коду обробки профілю кольорів NCLX
- [imagedump] Додано параметр «показати список типів MIME» (-m)
- Усунено аварійне завершення роботи під час обробки файлів і помилковим форматуванням
- ani: забезпечено враховування правильного розміру riffSizeData до виконання приведення до quint32_le
- Додано додаток для анімованих курсорів Windows (ANI)
KIO
- Реалізовано використання макросу Q_LOGGING_CATEGORY замість явного QLoggingCategory (виправлено ваду 432406)
- Виправлено встановлення типового кодеку «US-ASCII» у програмах з KIO (виправлено ваду 432406)
- CopyJob: усунено аварійне завершення роботи при пропусканні або повторній спробі (виправлено ваду 431731)
- KCoreDirLister: скасовано перевантаження сигналів canceled() і completed()
- KFilePreviewGenerator: осучаснено кодову базу
- KCoreDirLister: скасовано перевантаження сигналу clear()
- MultiGetJob: скасовано перевантаження сигналів
- FileJob: скасовано перевантаження сигналу close()
- SkipDialog: визнано застарілим сигнал result(SkipDialog *_this, int _button)
- Виправлено блокування при перейменуванні файла з діалогового вікна властивостей (виправлено ваду 431902)
- Визнано застарілими addServiceActionsTo і addPluginActionsTo
- [KFilePlacesView] Знижено рівень непрозорості для прихованих записів у режимі «Показати усі»
- Усунено зміну каталогів при відкритті непридатних до побудови списку адрес
- Скориговано логіку KFileWidget::slotOk у режимі «файли+каталог»
- FileUndoManager: виправлено скасування копіювання порожнього каталогу
- FileUndoManager: усунено перезапис файлів під час скасування дії
- FileUndoManager: визнано застарілим метод undoAvailable()
- ExecutableFileOpenDialog: текстову мітку зроблено дещо загальнішою
- KProcessRunner: реалізовано надсилання сигналу processStarted() лише раз
- Скасовано «kio_trash: виправлено логіку, якщо не встановлено обмеження розміру»
Kirigami
- Реалізовано використання несимволічної піктограми для дії з виходу
- Виправлено відпускання кнопок меню панелі інструментів
- Реалізовано використання підрозділу замість розділу
- [controls/BasicListItem]: Додано властивість reserveSpaceForSubtitle
- Неявну висоту кнопки навігації зроблено явною
- Виправлено вертикальне вирівнювання BasicListItem
- [basiclistitem] Забезпечено квадратну форму піктограм
- [controls/ListItem]: вилучено роздільник із відступом для початкових пунктів
- Повторно додано правильне поле-роздільник пунктів списку, якщо у списку є початковий пункт
- Усунено потребу у виклику вручну reverseTwinsChanged при знищенні FormLayout (виправлено ваду 428461)
- [org.kde.desktop/Units] Тривалості зроблено відповідними засобам controls/Units
- [Units] veryLongDuration зменшено до 400 мс
- [Units] Зменшено shortDuration і longDuration на 50 мс
- Усунено обробку подій миші Synthetized як Mouse (виправлено ваду 431542)
- Реалізовано агресивніше використання implicitHeight замість preferredHeight
- Для піктограм використано атласні текстури
- controls/AbstractApplicationHeader: реалізовано вертикальне центрування дочірніх об'єктів
- [actiontextfield] Виправлено поля і розміри вбудованих пунктів дій
- Реалізовано належне оновлення розміру заголовка (виправлено ваду 429235)
- [controls/OverlaySheet]: враховано Layout.maximumWidth (виправлено ваду 431089)
- [controls/PageRouter]: розкрито встановлення параметрів при отриманні дампу currentRoutes
- [controls/PageRouter]: розкрито параметри верхнього рівня у карті параметрів «params»
- Приклади, пов'язані із pagerouter, пересунуто до підтеки
- Уможливлено перетягування вікна за неінтерактивні області
- AbstractApplicationWindow: реалізовано використання широкого вікна на стільничних системах для усіх стилів
- Усунено приховування роздільника пункту списку при наведенні, якщо тло є прозорим
- [controls/ListItemDragHandle] Виправлено помилкове упорядкування у випадку без гортання (виправлено ваду 431214)
- [controls/applicationWindow]: враховано ширину висувної панелі при обчисленні wideScreen
KNewStuff
- Переформатовано верхній і нижній колонтитул сторінки KNSQuick для забезпечення сумісності Kirigami
- До компонента оцінок додано числову мітку для полегшення читання
- Зменшено мінімальний розмір діалогового вікна отримання матеріалів на QML
- Реалізовано відповідність світлішому вигляду при наведенні для делегатів таблиць KCM
- Забезпечено мінімальну ширину для діалогового вікна QML для відповідності ширині екрана або меншому значенню
- Виправлено компонування делегатів BigPreview
- Реалізовано повторну оцінку кешованих записів до показу діалогового вікна
- Додано підтримку адрес kns:/ до інструмента діалогового вікна отримання нових матеріалів (виправлено ваду 430812)
- filecopyworker: реалізовано відкриття файлів до читання або запису
- Реалізовано скидання запису до оновлюваного, якщо не виявлено даних для оновлення (виправлено ваду 430812)
- Виправлено можливе аварійне завершення роботи через помилкове утримання вказівника
- Визнано застарілим клас DownloadManager
- Визнано застарілою властивість AcceptHtmlDownloads
- Визнано застарілими властивості ChecksumPolicy і SignaturePolicy
- Визнано застарілою властивість Scope
- Визнано застарілою властивість CustomName
KNotification
- Реалізовано надсилання NewMenu при встановленні нового контекстного меню (виправлено ваду 383202)
- Визнано застарілим KPassivePopup
- Забезпечено наявність посилань усіх модулів обробки на сповіщення до виконання обробки
- Забезпечено можливість збирання та запуску програми-зразка сповіщення в Android
- Обробку ідентифікаторів сповіщень пересунуто до класу KNotification
- Виправлено вилучення сповіщень з черги (виправлено ваду 423757)
Набір бібліотек KPackage
- Документовано належність PackageStructure при використанні PackageLoader
KPty
- Виправлено створення повного шляху до kgrantpty у коді для ! HAVE_OPENPTY
KQuickCharts
- Додано «перший» метод до ChartDataSource і використано цей метод на панелі умовних позначень (виправлено ваду 432426)
KRunner
- Реалізовано пошук вибраної дії у випадку інформаційної відповідності
- Виправлено порожній рядок результату для поточного простору дій
- Визнано застарілими перевантаження для ідентифікаторів QueryMatch
- [Засіб запуску DBus] Додано перевірку RemoteImage
KService
- Визнано застарілим KPluginInfo::dependencies()
- CMake: вказано залежності add_custom_command()
- Явними чином визнано застарілим перевантаження KToolInvocation::invokeTerminal
- Додано метод для отримання KServicePtr типової програми-термінала
- KService: додано метод для встановлення workingDirectory
KTextEditor
- [Режим Vi] Усунено перемикання перегляду при зміні регістру (команда ~) (виправлено ваду 432056)
- Ширину максимального відступу збільшено до 200 (виправлено ваду 432283)
- Забезпечено оновлення прив'язки діапазонів, наприклад, при скасуванні чинності порожніх діапазонів
- Реалізовано показ помилки щодо символів у закладці, лише у режимі Vi (виправлено ваду 424172)
- [Режим vi] Виправлено рух для відповідності пункту зі зсувом на один елемент
- Реалізовано збереження тексту-замінника, доки панель розширеного пошуку не закрито (виправлено ваду 338111)
- KateBookMarks: модернізовано кодову базу
- Усунено ігнорування каналу прозорості, якщо є позначка
- Виправлено ігнорування каналу прозорості при читанні із інтерфейсу налаштувань
- Реалізовано запобігання у попередньому перегляді відповідності дужок від виходу за межі панелі перегляду
- Реалізовано запобігання у попередньому перегляді відповідності дужок від зависання після перемикання на іншу вкладку
- Ущільнено попередній перегляд відповідності дужок
- Усунено показ попереднього перегляду відповідності дужок, якщо він перекриває курсор
- Реалізовано максимізацію ширини попереднього перегляду відповідності дужок
- Реалізовано приховування попереднього перегляду відповідності дужок при гортанні
- Реалізовано уникнення дублювання діапазонів підсвічування, які заважають показу зображення із ARGB
- Розкрито загальне значення KSyntaxHighlighting::Repository лише для читання
- Виправлено ваду встановлення відступу, якщо у рядку міститься «for» або «else»
- Виправлено ваду встановлення відступів
- Усунено спеціальний випадок tagLine, який призводив до випадкових помилок оновлення
- Виправлено обробку позначок перенесення рядків + позначення
- Виправлено відступ при натисканні Enter, якщо параметр функції містить наприкінці кому
- Реалізовано малювання невеличкого пропуску у кольорі позначення, якщо попередній рядок завершується у позначеному фрагменті
- Спрощено код і виправлено коментарі
- Скасовано помилку вирізання — вилучено надто багато коду додаткових обробок
- Усунено малювання позначення усього рядка — подібно до інших редакторів
- Засіб створення відступів адаптовано до змінених файлів підсвічування
- [Режим Vi] Command портовано на QRegularExpression
- [Режим Vi] findPrevWordEnd і findSurroundingBrackets портовано на QRegularExpression
- [Режим Vi] QRegExp::lastIndexIn портовано на QRegularExpression і QString::lastIndexOf
- [Режим Vi] ModeBase::addToNumberUnderCursor портовано на QRegularExpression
- [Режим Vi] Прості випадки QRegExp::indexIn портовано на QRegularExpression і QString::indexOf
- Реалізовано використання rgba(r,g,b,aF) для обробки каналу прозорості при експортуванні до HTML
- Враховано кольори прозорості під час експортування до HTML
- Впроваджено допоміжний метод для отримання належних назв кольорів
- Підтримка прозорих кольорів: налаштування шарів
- Усунено зняття поточного підсвічування рядків у відповідь на зміну позначок рядків
- Реалізовано малювання підсвічування поточного рядка і на смужці піктограм
- Увімкнено канал прозорості для кольорів редактора
- Виправлено помилку, пов'язану із тим, що у підсвічуванні поточного рядка з'являвся невеличкий проміжок на початку для рядків із динамічним перенесенням
- Усунено непотрібні обчислення, реалізовано просте порівняння значень
- Виправлено помилку, пов'язану із тим, що у підсвічуванні поточного рядка з'являвся невеличкий проміжок на початку
- [Режим Vi] Усунено пропуск згорнутого діапазону, коли пересування завершується всередині
- Використано цикл for із діапазоном у m_matchingItems замість використання QHash::keys()
- normalvimode портовано на QRegularExpression
- Належним чином експортовано залежності
- Розкрито тему KSyntaxHighlighting
- Додано configChanged також і до KTextEditor::Editor, призначено для внесення змін до налаштувань
- Дещо переупорядковано налаштування
- Виправлено обробку ключів
- Додано параметри doc/view до нових сигналів, виправлено застарілі з'єднання
- Уможливлено доступ і зміну поточної теми за допомогою інтерфейсу налаштовування
- Вилучено кваліфікатор const при передаванні LineRanges
- Використано .toString(), оскільки у QStringView у застарілих версіях Qt немає .toInt()
- Реалізовано оголошення сталого виразу toLineRange() вбудованим, якщо це можливо
- Повторно використано версію QStringView з QStringRev, вилучено кваліфікатор const
- Коментар TODO щодо KF6 виведено за межі коментаря doxygen
- Cursor, Range: додано перевантаження fromString(QStringView)
- Уможливлено вимикання «Відступ вирівнювання при динамічному перенесенні рядків» (виправлено ваду 430987)
- LineRange::toString(): усунено знак «-», оскільки він не є однозначним для від'ємних чисел
- Використано KTextEditor::LineRange у механізмі notifyAboutRangeChange()
- tagLines(), checkValidity() і fixLookup() портовано на LineRanges
- Додано KTextEditor::LineRange
- Реалізацію KateTextBuffer::rangesForLine() пересунуто до KateTextBlock і вилучено непотрібні побудови контейнера
- [Режим Vi] Виправлено пошук у згорнутих діапазонах (виправлено ваду 376934)
- [Режим Vi] Виправлено відтворення завершення макросів (виправлено ваду 334032)
KTextWidgets
- Розширено перелік приватних класів, які успадковують властивості з батьківських класів
KUnitConversion
- Реалізовано визначення змінної до її використання
KWidgetsAddons
- Реалізовано використання AUTORCC
- Розширено перелік приватних класів, які успадковують властивості з батьківських класів
- Явним чином включено QStringList
KWindowSystem
- Додано зручні допоміжні методи із дробовими значеннями непрозорості
- Насправді виправлено включення
- Виправлено включення
- xcb: реалізовано роботу із активним екраном, про який повідомляє QX11Info::appScreen()
KXMLGUI
- Виправлено включення
- Додано сигнал KXMLGUIFactory::shortcutsSaved
- Використано належну адресу сторінки настанов щодо участі у KDE (виправлено ваду 430796)
Бібліотеки Plasma
- [plasmoidheading] Реалізовано використання належного кольору для нижніх колонтитулів
- [plasmacomponents3/spinbox] Виправлено колір позначеного тексту
- widgets>lineedit.svg: виправлено проблеми із вирівнюванням за пікселями (виправлено ваду 432422)
- Виправлено різні фаски ліворуч і праворуч у PlasmoidHeading
- Оновлено кольори breeze-dark/breeze-light
- Скасовано «[SpinBox] Виправлено логічну помилку у напрямку гортання»
- [calendar] Виправлено пропущені назви імпортування
- [ExpandableListItem] Забезпечено використання належного шрифту у розгорнутому списку дій
- DaysCalendar: виконано портування на PC3/QQC2 там, де це можливо
- Вилучено анімацію у відповідь на наведення із плоских кнопок, календаря, пунктів списку, кнопок
- Реалізовано спрямування дампу помилок у плазмоїді до консолі
- Виправлено циклічну залежність у Units.qml
- [PlasmaComponents MenuItem] Реалізовано фіктивну дію при знищенні запису дії
- Усунено створення надто великих растрових зображень
- До ігнорованих додано файли проєктів комплексних середовищ розробки JetBrains
- Усунено причину попереджень щодо з'єднань
- До властивості globalShortcut додано RESET (виправлено ваду 431006)
Purpose
- [nextcloud] Перероблено графічний інтерфейс налаштовування
- Реалізовано обробку початкових налаштувань
- Обрізано ListView у налаштуваннях kdeconnect і bluetooth
- Вилучено непотрібні долучені властивості Layout
- [plugins/nextcloud] Реалізовано використання піктограми Nextcloud
- [cmake] find_package пересунуто на верхній рівень CMakeLists.txt
QQC2StyleBridge
- [combobox] Виправлено швидкість гортання на сенсорній панелі (виправлено ваду 400258)
- Реалізовано можливість рівності qw null
- Реалізовано підтримку QQuickWidget (виправлено ваду 428737)
- Уможливлено перетягування вікна з порожніх областей
Solid
- CMake: використано configure_file() для забезпечення нарощувальних збирань без виконання дій
- [Fstab] Реалізовано ігнорування монтування накладок бічних панелей (виправлено ваду 422385)
Sonnet
- Усунено виконання декількох пошуків, якщо одного пошуку достатньо
Підсвічування синтаксису
- Додано пропущене збільшення номера версії context.xml
- Реалізовано підтримку офіційного завершення файлів, див. https://mailman.ntg.nl/pipermail/ntg-context/2020/096906.html
- Оновлено еталонні результати
- Використано менш контрастний колі оператора для тем breeze
- Виправлено синтаксис для нового hugo
- Виправлено синтаксичні помилки
- Удосконалено код темної теми Solarized
- Вилучено непотрібні захоплення із динамічним правилом
- Реалізовано оновлення посилань у відповідь на об'єднання підсвічування операторів
- Об'єднано правила підсвічування операторів
- Додано сталі перевантаження для деяких методів доступу
- Bash, Zsh: виправлено cmd;; у одному випадку (виправлено ваду 430668)
- Atom Light, Breeze Dark/Light: новий колір для Operator; Breeze Light: новий колір для ControlFlow
- email.xml: реалізовано виявлення вкладених коментарів та екранованих символів (виправлено ваду 425345)
- Оновлено світлу тему Atom з метою використання прозорих кольорів
- Змінено прив'язку деяких стилів Symbol і Operator до dsOperator
- Bash: виправлено } у ${!xy*} і додатковий оператор розширення параметрів (# у ${#xy} ; !,,@,[],[@] у ${!xy*}) (виправлено ваду 430668)
- Оновлено модифікації тем
- Оновлено засіб підсвічування kconfig до Linux 5.9
- Використано rgba(r,g,b,aF) для належної обробки каналу прозорості для Qt/Browsers
- Усунено використання rgba у режимі themeForPalette
- Забезпечено врахування rgba у HTML і Format
- Виправлення atom-one-dark
- Додаткові оновлення в Atom One Dark
- Усунено пошук у rgba при пошуку найкращого відповідника
- Уможливлено використання каналу прозорості у кольорах теми
- Оновлено кольори monokai і виправлено помилковий синій
- C++: виправлено суфікс us
- Bash: виправлення 5: $ наприкінці рядка із подвійними лапками
- VHDL: виправлено обробку function, procedure, type range/units та інші удосконалення
- Оновлено breeze-dark.theme
- Raku: #7: виправлено символи, назви яких починаються з Q
- Виправлено пропущену контрастність для Extension
- Додано схему кольорів Oblivion з GtkSourceView/Pluma/gEdit
ThreadWeaver
- Виправлено ітератори карт при збиранні з Qt6
- Усунено явну ініціалізацію семафорів як NonRecursive
Відомості щодо безпеки
Випущений код підписано за допомогою 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.79.0 можна отримати безкоштовно. Настанови щодо збирання та встановлення доступні на інформаційній сторінці програми KDE Frameworks 5.79.0.
Бібліотеки також можна зібрати з початкових кодів за допомогою базової системи команд cmake .; make; make install. Цей спосіб є найпростішим, якщо вам потрібні лише окремі бібліотеки шару 1. Зацікавленим в удосконаленні бібліотек та стеженні за розробкою загального набору варто скористатися скриптом kdesrc-build. Для роботи Frameworks 5.79.0 потрібна версія Qt 5.14.
Із докладним списком усіх бібліотек Frameworks можна ознайомитися на api.kde.org.
Приєднатися до команди
Ті, кому цікаво стежити за розробкою Frameworks і взяти участь у його розробці, можуть ознайомитися із вмістом сховищ git і стежити за обговореннями у списку листування розробників KDE Frameworks. Правила і поточний стан проєкту і плани наведено у вікі Frameworks. Інтерактивні обговорення проводять на каналі IRC #kde-devel у Libera Chat.
Підтримка KDE
KDE — спільнота з розробки вільного програмного забезпечення, яка розвивається лише завдяки допомозі багатьох добровольців, які працюють у вільний від інших занять час. KDE завжди шукає нових учасників, які можуть допомогти розробці, виправленні і сповіщенні про вади, створенні документації, перекладі, просуванні, фінансуванні тощо. Будь-який внесок буде з вдячністю сприйнято спільнотою. Будь ласка, ознайомтеся зі сторінкою підтримки KDE, щоб дізнатися більше, або станьте спонсором KDE e.V. за допомогою нашої ініціативи Join the Game.