
П'ятниця, 13 листопада 2015
Сьогодні KDE оголошено про випуск KDE Frameworks 5.16.0.
KDE Frameworks складається з 60 додаткових бібліотек, які розширюють можливості Qt і реалізують багато широковживаних функціональних можливостей, є зрілими, належним чином рецензованими та добре перевіреними, а також надаються за дотримання розробниками достатньо дружніх щодо них умов. Вступні зауваження щодо цих бібліотек можна знайти у оголошенні щодо випуску KDE.
Цей випуск є частиною запланованої послідовності щомісячних випусків, яка надасть змогу розробникам використовувати поліпшення у бібліотеках швидко і без проблем.
Нове у поточній версії
Baloo
- Бібліотека Monitor: використано Kformat::spelloutDuration для локалізації рядка часу
- Використано KDE_INSTALL_DBUSINTERFACEDIR для встановлення інтерфейсів D-Bus
- UnindexedFileIndexer: реалізовано обробку файлів, які було пересунуто, коли baloo_file не працювала
- Вилучено Transaction::renameFilePath і додано DocumentOperation для цього.
- Конструктори із одним параметром зроблено явними
- UnindexedFileIndexer: тепер індексування виконується лише для обов'язкових частин файла
- Операції: додано метод для повернення структури timeInfo
- Додано виключення типів MIME у налаштуваннях balooctl
- Бази даних: використано QByteArray::fromRawData для передавання даних кодеку
- Balooctl: команду «status» перенесено до власного класу
- Balooctl: тепер програма показує меню довідки, якщо команду не вдасться розпізнати
- Balooshow: дозволено пошук файлів за inode + devId
- Монітор Balooctl: зупинка роботи, якщо baloo аварійно завершує роботу
- MonitorCommand: використано обидва сигнали, «запущено» і «завершено»
- Монітор Balooctl: перенесено до належного класу команд
- Додано сповіщення D-Bus для повідомлення про момент початку або завершення індексування файла
- FileIndexScheduler: реалізовано примусове завершення роботи потоків обробки під час виходу
- WriteTransaction: реалізовано уникнення отримання positionList, якщо це непотрібно
- WriteTransaction: додаткові тестування у replaceDocument
BluezQt
- isBluetoothOperational тепер також залежить від розблоковування rfkill
- Виправлено визначення загального стану перемикача rfkill
- QML API: властивості без сигналу сповіщення позначено як сталі
Додаткові модулі CMake
- Тепер система попереджає, а не показує повідомлення про помилку, якщо ecm_install_icons не знаходить піктограм (вада 354610)
- Уможливлено збирання KDE Frameworks 5 зі звичайним qt 5.5.x, встановленим із звичайного пакунка для встановлення qt.io на mac os
- Скасування встановлення змінних кешування у KDEInstallDirs (вада 342717)
Інтеграція бібліотек
- Встановлено типове значення для WheelScrollLines
- Виправлено параметри WheelScrollLines у Qt >= 5.5 (вада 291144)
- Шрифт Плазми 5.5 змінено на Noto
KActivities
- Виправлено збирання з Qt 5.3
- Включення boost.optional перенесено до місця, де воно використовується
- Використання boost.optional замінено на продовження із простішою структурою optional_view
- Додано підтримку для нетипового упорядковування пов'язаних результатів
- QML дозволено викликати KCM просторів дій
- Додано підтримку вилучення просторів дій за допомогою KCM просторів дій
- Новий графічний інтерфейс налаштовування просторів дій
- Новий графічний інтерфейс із підтримкою описів і шпалер
- Графічний інтерфейс параметрів тепер належним чином поділено на модулі
KArchive
- Виправлено KArchive відповідно до зміни поведінки у Qt 5.6
- Виправлено витоки пам'яті, оптимізовано її використання
KAuth
- Обробка використання проксі для повідомлень qInfo
- Реалізовано очікування на завершення асинхронного виклику запуску допоміжного засобу до перевірки відповіді (вада 345234)
- Виправлено назву змінної, що уможливило включення
KConfig
- Виправлено використання ecm_create_qm_loader.
- Виправлено змінну включення
- Використано варіант KDE_INSTALL_FULL_ з метою уникнення двозначності
- KConfig дозволено використання ресурсів як резервних файлів налаштувань
KConfigWidgets
- KConfigWidgets тепер містить сам себе, що об'єднує один загальний файл у ресурс
- Тепер doctools є необов'язковими
KCoreAddons
- KAboutData: apidoc "is is" -> "is" addCredit(): ocsUserName -> ocsUsername
- KJob::kill(Quiet) тепер також виходить із циклу очікування подій
- Додано підтримку назв стільничних файлів у KAboutData
- Використано правильний символ екранування
- Зменшено кількість отримань об'ємів пам'яті
- Спрощено KAboutData::translators/setTranslators
- Виправлено приклад коду із setTranslator
- desktopparser: виправлено пропускання ключа Encoding=
- desktopfileparser: враховано коментарі у рецензії
- Уможливлено встановлення типів служб у kcoreaddons_desktop_to_json()
- desktopparser: виправлено обробку значень подвійної точності та булевих значень
- Додано KPluginMetaData::fromDesktopFile()
- desktopparser: уможливлено передавання відносних шляхів до файлів типу служби
- desktopparser: використано кращий поділ на категорії записів журналу
- У QCommandLineParser -v використано для --version, тому для збільшення докладності виведених даних використовується лише --verbose
- Вилучено багато дубльованого коду з desktop{tojson,fileparser}.cpp
- Реалізовано обробку файлів ServiceType під час читання файлів .desktop
- SharedMimeInfo зроблено додатковим потрібним пакунком
- Вилучено виклик QString::squeeze()
- desktopparser: вилучено непотрібне декодування utf8
- desktopparser: вилучено додавання додаткового запису, якщо запис завершується роздільником
- KPluginMetaData: реалізовано попередження, якщо запис списку не є списком JSON
- Додано mimeTypes() до KPluginMetaData
KCrash
- Поліпшено пошук drkonqui, тепер не з'являється додаткових повідомлень, якщо програму не знайдено
KDeclarative
- У новій версії ConfigPropertyMap можна опитувати щодо незмінних параметрів налаштування за допомогою методу isImmutable(key)
- Прибрано рамку з QJSValue у карті властивостей налаштовування
- EventGenerator: додано підтримку надсилання подій миші
- Виправлено втрату initialSize у QuickViewSharedEngine під час ініціалізації
- Виправлено критичну регресію QuickViewSharedEngine через внесок 3792923639b1c480fd622f7d4d31f6f888c925b9
- Попередньо вказаний розмір перегляду тепер має вищий пріоритет ніж розмір об'єкта у QuickViewSharedEngine
KDED
- Тепер doctools є необов'язковими
Підтримка KDELibs 4
- Тепер система не намагається зберегти QDateTime у отриманій за допомогою mmap області пам'яті
- Синхронізовано і адаптовано uriencode.cmake з kdoctools.
KDesignerPlugin
- Додано KCollapsibleGroupBox
KDocTools
- Оновлено записи entities для бразильської португальської
KGlobalAccel
- Виправлено використання XOR Shift для KP_Enter (вада 128982)
- Реалізовано захоплення усіх клавіш для символу (вада 351198)
- Виправлено подвійне отримання символів для кожного натискання клавіші
KHTML
- Виправлено друк з KHTMLPart належним встановленням батьківського елемента printSetting
KIconThemes
- У новій версії kiconthemes реалізовано підтримку вбудовування тем до ресурсів qt у префіксі :/icons, як це робиться у самому Qt для QIcon::fromTheme
- Додано пропущені обов'язкові залежності
KImageFormats
- Реалізовано розпізнавання image/vnd.adobe.photoshop замість image/x-psd
- Частково скасовано внесок d7f457a для запобігання аварійному завершенню під час завершення роботи програми
KInit
- Тепер doctools є необов'язковими
KIO
- Реалізовано збереження адреси проксі за правильною схемою
- Реалізовано випуск «шаблонів нових файлів» у бібліотеці kiofilewidgets за допомогою .qrc (вада 353642)
- Реалізовано належну обробку клацання середньою кнопкою миші у navigatormenu
- Реалізовано можливість використання kio_http_cache_cleaner у засобах встановлення та пакунках програм
- KOpenWithDialog: виправлено створення файла desktop із порожнім типом MIME
- Реалізовано читання даних протоколу із метаданих додатка
- Уможливлено локальне розгортання kioslave
- Додано .protocol до перетвореного JSON
- Виправлено подвійне надсилання результату і пропущене повідомлення, якщо під час побудови списку буде виявлено недоступну теку (вада 333436)
- Реалізовано збереження відносності цілей посилань під час копіювання символічних посилань (вада 352927)
- Реалізовано використання відповідних піктограм для типових тек у домашній теці користувача (вада 352498)
- Додано інтерфейс, який уможливлює для додатка показ нетипових піктограм-накладок
- Залежність від KNotifications у KIO (kpac) зроблено необов'язковою
- Тепер doctools + wallet є необов'язковими
- Виправлено аварійне завершення kio, якщо не запущено сервер D-Bus
- Додано KUriFilterSearchProviderActions для показу списку дій для пошуку певного тексту за допомогою вебскорочень
- Пункти меню «Створити» пересунуто з kde-baseapps/lib/konq до kio (вада 349654)
- Файл konqpopupmenuplugin.desktop пересунуто з kde-baseapps до kio (вада 350769)
KJS
- Використано загальну змінну «_timezone» для MSVC замість «timezone». Таким чином, виправлено збирання за допомогою MSVC 2015.
KNewStuff
- Виправлено стільничний файл «Редактора розділів KDE» та адресу домашньої сторінки
KNotification
- Тепер, коли kparts більше не потребує сповіщень KDE, цієї бібліотеки потребуватиму лише програми, яким справді потрібні сповіщення
- Додано опис + призначення для speech + phonon
- Залежність від phonon тепер є необов'язковою, суто внутрішня зміна, така сама, як і для speech.
KParts
- Використано deleteLater у Part::slotWidgetDestroyed().
- Вилучено залежність KNotifications від KParts
- Використано функцію для запитів щодо розташування ui_standards.rc замість жорсткого визначення цього розташування (це надало змогу використовувати резервні ресурси)
KRunner
- RunnerManager: спрощено код завантаження додатків
KService
- KBuildSycoca: реалізовано збереження даних завжди, навіть якщо не було виявлено змін у файлі .desktop (вада 353203)
- Тепер doctools є необов'язковими
- kbuildsycoca: реалізовано обробку усіх файлів mimeapps.list, як це вимагається у новій специфікації
- Реалізовано використання найбільшого значення часової позначки серед підкаталогів як часової позначки каталогу ресурсів
- Окреме збереження типів MIME під час перетворення KPluginInfo у KPluginMetaData
KTextEditor
- Підсвічування: gnuplot: додано суфікс назви .plt
- Виправлено підказку щодо коректності. Дякуємо "Thomas Jarosch" <thomas.jarosch@intra2net.com>. Додано також підказку щодо перевірки часу збирання.
- Усунено аварійне завершення роботи, якщо команда недоступна.
- Виправлено ваду 307107
- Реалізовано підсвічування у Haskell змінних, назви яких починаються з _
- Спрощено ініціалізацію git2, враховуючи, що для роботи все одно потрібна достатньо нова версія (вада 353947)
- Типові налаштування зібрано до одного ресурсу
- Підсвічування синтаксичних конструкцій (d-g): використано типові стилі замість вбудованих кольорів
- Поліпшено пошук скриптів: спочатку у локальних теках користувача, потім у ресурсах, потім деінде. Таким чином, користувач може перевизначати скрипти з пакунків програми власними локальними.
- Реалізовано пакування усіх даних JS у ресурсах. Достатньо додати ще 3 файли налаштувань, щоб ktexteditor можна було використовувати як бібліотеку без додаткових файлів.
- Наступна спроб: усі файли синтаксису xml зібрано до одного ресурсу
- Додано клавіатурне скорочення для перемикання режимів введення (вада 347769)
- Файли xml зібрано у один ресурс
- Підсвічування синтаксису (a-c): перехід на нові типові стилі, вилучено вбудовані визначення кольорів
- Підсвічування синтаксичних конструкцій: вилучено вбудовані визначення кольорів і використано типові стилі
- Підсвічування синтаксичних конструкцій: використано типові стилі замість вбудованих кольорів
- Краще імпортування типового стилю
- Впроваджено можливість збереження даних із певним кодуванням з використанням чудового групування у меню кодувань і заміною усіх діалогових вікон на відповідні операційній системі без втрати цієї важливої можливості.
- Файли ui з'єднано із бібліотекою з використанням розширення xmlgui
- Реалізовано врахування вибраного шрифту і схеми кольорів під час друку (вада 344976)
- Використано кольори breeze для збережених і змінених рядків
- Поліпшено типові кольори меж піктограм для схеми «Звичайна»
- Автоматичні дужки: тепер дужка вставляється лише тоді, коли наступний символ є пробілом або не є літерою або цифрою
- Автоматичні дужки: якщо вилучається початкова дужка, то слід вилучити і кінцеву
- autobrace: з'єднання тепер встановлюється лише раз
- Автоматичні дужки: реалізовано вилучення завершальної дужки за певних умов
- Виправлено помилку із переспрямовуванням shortcutoverride до головного вікна
- Виправлено ваду 342659: було важко побачити типовий колір підсвічування дужок (виправлено звичайну схему, вада 342659)
- Додано належні типові кольори для кольору «Номер поточного рядка»
- Встановлення відповідності дужок та автоматичні дужки: реалізовано використання спільного коду
- Встановлення відповідності дужок: захищено від від'ємних значень maxLines
- Встановлення відповідності дужок: якщо новий діапазон відповідає старому, це не обов'язково означає, що потрібне оновлення
- Додано ширину половини пробілу для малювання курсора наприкінці рядка
- Виправлено деякі вади, пов'язані із режимами із високою роздільністю, на панелі піктограм
- Виправлено ваду 310712: реалізовано вилучення кінцевих пробілів і у рядку, де зараз перебуває курсора (вада 310712)
- Повідомлення «встановлено позначку» тепер буде показано лише у режимі введення vi
- Вилучено & із тексту на кнопці (вада 345937)
- Виправлено оновлення кольору номера поточного рядка (вада 340363)
- Реалізовано вставлення дужок у відповідь на додавання дужки для позначено фрагмента (вада 350317)
- Автоматичне розставляння дужок (вада 350317)
- Виправлено підсвічування теґів попередження (вада 344442)
- Виправлено гортання стовпчиків із динамічним розбиттям на рядки
- Тепер встановлене підсвічування запам'ятовується у сеансах користувача і не втрачається під час збереження після відновлення роботи (вада 332605)
- Виправлено згортання у tex (вада 328348)
- Виправлено ваду 327842: помилкове визначення кінця коментаря у стилі C (вада 327842)
- Реалізовано збереження і відновлення динамічного перенесення рядків під час збереження або відновлення сеансів (вада 284250)
KTextWidgets
- Додано нове підменю KTextEdit для перемикання мов перевірки правопису
- Виправлено завантаження типових параметрів Sonnet
Бібліотека KWallet
- Використано KDE_INSTALL_DBUSINTERFACEDIR для встановлення інтерфейсів D-Bus
- Виправлено попередження щодо файла налаштувань KWallet під час входу до облікового запису (вада 351805)
- Реалізовано належний префікс для виведення даних kwallet-pam
KWidgetsAddons
- Додано придатний до згортання віджет контейнера KCollapsibleGroupBox
- KNewPasswordWidget: додано ініціалізацію кольорів
- Впроваджено KNewPasswordWidget
KXMLGUI
- kmainwindow: попереднє заповнення даних щодо перекладачів, якщо такі виявлено (вада 345320)
- Дозволено прив'язування клавіші контекстного меню (внизу праворуч) у клавіатурних скороченнях (вада 165542)
- Додано функцію для опитування щодо розташування стандартних файлів xml
- Дозволено використання бібліотеки kxmlgui без встановлених файлів
- Додано пропущені обов'язкові залежності
Бібліотеки Plasma
- Виправлено помилку, пов'язану із наповзанням записів TabBar під час початкового створення. Цю помилку можна було спостерігати зокрема у Kickoff після запуску Плазми
- Виправлено скидання файлів на стільницю або панель без пропозиції вибрати дію
- Тепер QApplication::wheelScrollLines враховується у ScrollView
- Тепер BypassWindowManagerHint використовується лише на платформі X11
- Вилучено старе тло панелі
- Кращий для читання циклічний лічильник для малих розмірів
- Реалізовано розфарбовування у перегляді журналу
- Календар: тепер клацання реєструються на усій області заголовка
- Календар: тепер не використовується номер дня поточної дати у goToMonth
- Календар: виправлено оновлення загального списку для декад
- Використано тему для піктограм breeze під час завантаження за допомогою IconItem
- Виправлено властивість minimumWidth кнопки (вада 353584)
- Впроваджено сигнал appletCreated
- Піктограми Breeze Плазми: додано елементи ідентифікаторів у svg для сенсорної панелі
- Піктограми Breeze Плазми: піктограму сенсорної панелі змінено до розміру 22x22 точок
- Піктограми Breeze: додано піктограму віджета до нотаток
- Додано скрипт для заміни вбудованих кольорів із таблицями стилів
- Застосовано SkipTaskbar до ExposeEvent
- Тепер SkipTaskbar не встановлюється у відповідь на кожну подію.
Обговорити цей випуск та поділитися ідеями можна у розділі коментарів до статті з новиною.
Встановлення бінарних пакунків
У Linux рекомендованим шляхом встановлення KDE Frameworks є пакунки вашого улюбленого дистрибутива. Настанови щодо встановлення програмного забезпечення KDE у вашому дистрибутиві Linux.
Збирання з початкових кодів
Увесь початковий код програм KDE Frameworks 5.16.0 можна отримати безкоштовно. Настанови щодо збирання та встановлення доступні на інформаційній сторінці програми KDE Frameworks 5.16.0.
Бібліотеки також можна зібрати з початкових кодів за допомогою базової системи команд cmake .; make; make install. Цей спосіб є найпростішим, якщо вам потрібні лише окремі бібліотеки шару 1. Зацікавленим в удосконаленні бібліотек та стеженні за розробкою загального набору варто скористатися скриптом kdesrc-build. Для роботи Frameworks 5.16.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.