Субота, 9 липня 2016
Сьогодні KDE оголошено про випуск KDE Frameworks 5.24.0.
KDE Frameworks складається з 70 додаткових бібліотек, які розширюють можливості Qt і реалізують багато широковживаних функціональних можливостей, є зрілими, належним чином рецензованими та добре перевіреними, а також надаються за дотримання розробниками достатньо дружніх щодо них умов. Вступні зауваження щодо цих бібліотек можна знайти у оголошенні щодо випуску KDE.
Цей випуск є частиною запланованої послідовності щомісячних випусків, яка надасть змогу розробникам використовувати поліпшення у бібліотеках швидко і без проблем.
Нове у поточній версії
Загальні зміни
- Список підтримуваних платформ для кожної з бібліотек тепер є більш явним. До списку підтримуваних платформ кожної з бібліотек, де це є справедливим, додано Android.
Baloo
- DocumentUrlDB::del: тепер оцінка виконується, лише якщо дочірній каталог справді існує
- Тепер помилково форматовані запити, які містять бінарний оператор без першого аргументу, ігноруються
Піктограми Breeze
- Багато нових і поліпшених піктограм
- Виправлено ваду 364931, пов'язану із невидимістю піктограми user-idle
- Додано програму для перетворення назв символічно пов'язаних файлів у альтернативні назви qrc
Додаткові модулі CMake
- Інтегровано відносні шляхи до бібліотек у APK
- Використано «${BIN_INSTALL_DIR}/data» для DATAROOTDIR у Windows
KArchive
- Забезпечено неможливість встановлення файлів поза каталогом видобування під час видобування даних з архівів. Тепер видобування таких файлів відбувається до кореневого каталогу видобування.
KBookmarks
- Реалізовано спорожнення KBookmarkManagerList до виходу з qApp з метою запобігання блокуванням із потоками обробки DBus
KConfig
- Тепер authorizeKAction() вважається застарілим, слід використовувати authorizeAction()
- Виправлено відтворюваність збирання забезпеченням повсюдного використання кодування utf-8
KConfigWidgets
- KStandardAction::showStatusbar: реалізовано повертання запланованої дії
KDeclarative
- Тепер epoxy є необов'язковим
KDED
- [OS X] kded5 перетворено на агент, який збирається як звичайна програма
Підтримка KDELibs 4
- Вилучено клас KDETranslator, kdeqt.po більше не існує
- Документовано замінник use12Clock()
KDesignerPlugin
- Додано підтримку KNewPasswordWidget
KDocTools
- Надано можливість KDocTools завжди знаходити принаймні власні встановлені дані
- Реалізовано використання CMAKE_INSTALL_DATAROOTDIR для пошуку docbook замість використання каталогу share
- Оновлено DocBook сторінки man qt5options до версії qt 5.4
- Оновлено DocBook сторінки man kf5options
KEmoticons
- Тему glass пересунуто до kde-look
KGlobalAccel
- Реалізовано використання QGuiApplication замість QApplication
KHTML
- Виправлено застосування успадкованого значення для властивості outline
- Реалізовано initial і inherit для радіуса рамки
- Реалізовано відкидання властивості, якщо виявлено некоректне значення length або percent у background-size
- Реалізовано виведення cssText списку значень, відокремлених комами, для властивостей
- Виправлено обробку background-clip у скороченому оголошенні
- Реалізовано обробку background-size у скороченому оголошенні
- Реалізовано позначення властивостей як встановлених, якщо взірці повторюються
- Виправлено успадковування властивостей тла
- Виправлено застосування Initial і Inherit у властивості background-size
- Реалізовано розміщення файла kxmlgui KHTML у файлі ресурсів Qt
KI18n
- Реалізовано пошук у каталогах скорочених варіантів значень у змінній середовища LANGUAGE
- Виправлено обробку значень змінних середовища із враховуванням модифікаторів і кодових сторінок, що раніше виконувалося у помилковому порядку
KIconThemes
- Додано підтримку автоматичного завантаження і використання теми піктограм у файлі RCC
- Реалізовано розгортання тем піктограм документів у MacOS і Windows, див. https://api.kde.org/frameworks/kiconthemes/html/index.html
KInit
- Реалізовано граничний час очікування у reset_oom_protection під час очікування на SIGUSR1
KIO
- KIO: додано SlaveBase::openPasswordDialogV2 для поліпшення перевірки на помилки, рекомендовано для портування на нього допоміжних засобів введення-виведення
- Виправлено діалогове вікно відкриття KUrlRequester у помилковому каталозі (виправлено ваду 364719)
- Виправлено небезпечні виклики KDirModelDirNode*
- Додано параметр cmake KIO_FORK_SLAVES для встановлення типового значення
- Фільтр ShortUri: виправлено фільтрування адрес mailto:користувач@вузол
- Додано OpenFileManagerWindowJob для файла підсвічувань у теці
- KRun: додано метод runApplication
- Додано засіб забезпечення пошуку soundcloud
- Виправлено проблему із вирівнюванням у природним стилем «macintosh» у OS X
KItemModels
- Додано KExtraColumnsProxyModel::removeExtraColumn, буде потрібен для StatisticsProxyModel
KJS
- kjs/ConfigureChecks.cmake — належним чином встановлено HAVE_SYS_PARAM_H
KNewStuff
- Забезпечено можливість надання розміру (виправлено ваду 364896)
- Виправлено ваду «Помилка діалогового вікна отримання, якщо немає усіх категорій»
KNotification
- Виправлено сповіщення від панелі задач
KNotifyConfig
- KNotifyConfigWidget: додано метод disableAllSounds() (виправлено ваду 157272)
KParts
- Додано перемикач для вимикання обробки заголовків вікон у KParts
- До меню «Довідка» програм додано пункт меню для фінансових пожертв
Kross
- Виправлено назву лічильника QDialogButtonBox «StandardButtons»
- Вилучено першу спробу завантаження бібліотеки, оскільки далі все одно відбуватиметься перевірка libraryPaths
- Виправлено аварійне завершення роботи, якщо метод, відкритий Kross, повертає QVariant із непридатними до переміщення даними
- Вилучено виклики у стилі C у void* (виправлено ваду 325055)
KRunner
- [QueryMatch] Додано iconName
KTextEditor
- Реалізовано показ попереднього перегляду тексту на смужці гортання із затримкою у 250 мс
- Реалізовано приховування попереднього перегляду і даних під час гортання тексту у області перегляду
- Встановлено батьківський елемент і панель інструментів, це потрібно для усування запису перемикання завдань у Win10
- Вилучено пункт «KDE-Standard» зі списку кодувань
- Реалізовано типове вмикання попереднього перегляду згорнутого тексту
- Усунено підкреслювання штриховою лінією для попереднього перегляду та засмічування кешу компонування рядків
- Реалізовано позначення пункту «Попередній перегляд згорнутого коду» завжди
- TextPreview: реалізовано виправлення grooveRect-height, якщо увімкнено scrollPastEnd
- Попередній перегляд на смужці гортання: реалізовано використання заглибленого прямокутника, якщо для смужки гортання не використовується уся висота вікна
- Додано KTE::MovingRange::numberOfLines() подібно до методу з KTE::Range
- Попередній перегляд згорнутого коду: встановлено таку висоту контекстного вікна, щоб у нього вміщалися усі приховані рядки
- Додано можливість вимикання попереднього перегляду згорнутого тексту
- Додано рядок режиму «folding-preview» булевого типу
- Панель перегляду ConfigInterface: реалізовано підтримку «folding-preview» булевого типу
- Додано булеві значення KateViewConfig::foldingPreview() і setFoldingPreview(bool)
- Нова можливість: показ попереднього перегляду фрагмента тексту у відповідь на наведення вказівника миші на позначку згорнутого блоку тексту
- KateTextPreview: додано setShowFoldedLines() і showFoldedLines()
- Додано рядки режимів «scrollbar-minimap» [булевий] і «scrollbar-preview» [булевий]
- Типово увімкнено мінікарту на смужці гортання
- Нова можливість: показ попереднього перегляду фрагмента тексту у відповідь на наведення вказівника миші на смужку гортання
- KateUndoGroup::editEnd(): реалізовано передавання KTE::Range за сталим посиланням
- Виправлено обробку клавіатурних скорочень у режимі vim після зміни поведінки середовища у Qt 5.5 (виправлено ваду 353332)
- Автоматичне розставляння дужок: усунено вставляння символу ' до тексту
- ConfigInterface: додано параметр налаштовування scrollbar-minimap, призначений для вмикання або вимикання мінікарти на смужці гортання
- Виправлено поведінку KTE::View::cursorToCoordinate(), якщо видимим є верхній віджет повідомлення
- Переформатування панелі емуляції команд
- Виправлено вади зображення під час гортання, коли видимою є панель сповіщення (виправлено ваду 363220)
KWayland
- Додано подію parent_window до інтерфейсу вікна Плазми
- Реалізовано належну обробку знищення ресурсів вказівника, клавіатури або сенсорної панелі
- [сервер] Вилучено непотрібний код: KeyboardInterface::Private::sendKeymap
- [сервер] Додано підтримку встановлення вибору буфера обміну даними DataDeviceInterface вручну
- [сервер] Забезпечено повернення Resource::Private::get значення nullptr, якщо методу передано nullptr
- [сервер] Додано перевірку ресурсів у QtExtendedSurfaceInterface::close
- [сервер] Реалізовано скасовування встановлення вказівника SurfaceInterface у об'єктах, на які посилаються, під час знищення об'єктів
- [сервер] Виправлено повідомлення про помилку у інтерфейсі QtSurfaceExtension
- [сервер] Впроваджено сигнал Resource::unbound, який надсилається засобом обробки скасовування прив'язки
- [сервер] Усунено оцінку під час знищення BufferInterface, на який ще є посилання
- Додано запит до деструктора у org_kde_kwin_shadow and org_kde_kwin_shadow_manager
KWidgetsAddons
- Виправлено читання даних у Unihan
- Виправлено максимальний розмір KNewPasswordDialog (виправлено ваду 342523)
- Виправлено неоднозначний конструктор у MSVC 2015
- Виправлено проблему із вирівнюванням у природним стилем «macintosh» у OS X (виправлено ваду 296810)
KXMLGUI
- KXMLGui: виправлено об'єднання індексів під час вилучення клієнтів xmlgui із діями у групах (виправлено ваду 64754)
- Усунено попередження щодо «файла, знайденого у сумісному місці», якщо файл не знайдено взагалі
- До меню «Довідка» програм додано пункт меню для фінансових пожертв
NetworkManagerQt
- Усунено встановлення мітки peap на основі версії peap
- Реалізовано перевірку версії менеджера мережі під час роботи (для уникнення конфлікту між версією збирання і встановленою версією, виправлено ваду 362736)
Бібліотеки Plasma
- [Календар] Реалізовано заміну кнопок зі стрілками для мов із системою писемності, яка передбачає запис справа ліворуч
- Реалізовано повернення Plasma::Service::operationDescription() значення QVariantMap
- Усунено включення вбудованих контейнерів до containmentAt(pos) (виправлено ваду 361777)
- Виправлено використання кольорів теми для піктограми перезапуску системи (у вікні вітання) (виправлено ваду 364454)
- Вимкнено мініатюри на панелі задач з llvmpipe (виправлено ваду 363371)
- Захист від некоректний аплетів (виправлено ваду 364281)
- PluginLoader::loadApplet: виправлено сумісність із помилково встановленими аплетами
- Виправлено теку для PLASMA_PLASMOIDS_PLUGINDIR
- PluginLoader: поліпшено повідомлення щодо помилки щодо сумісності версій додатків
- Виправлено перевірку щодо збереження QMenu на екрані для багатоекранних компонувань
- Новий тип контейнерів для системного лотка
Solid
- Виправлено перевірку щодо коректності процесора
- Реалізовано обробку читання /proc/cpuinfo для процесорів ARM
- Реалізовано пошук процесорів за підсистемою, а не за драйвером
Sonnet
- Позначено допоміжний засіб exe як програму без графічного інтерфейсу
- Дозволено типову компіляцію nsspellcheck на Mac
Обговорити цей випуск та поділитися ідеями можна у розділі коментарів до статті з новиною.
Встановлення бінарних пакунків
У Linux рекомендованим шляхом встановлення KDE Frameworks є пакунки вашого улюбленого дистрибутива. Настанови щодо встановлення програмного забезпечення KDE у вашому дистрибутиві Linux.
Збирання з початкових кодів
Увесь початковий код програм KDE Frameworks 5.24.0 можна отримати безкоштовно. Настанови щодо збирання та встановлення доступні на інформаційній сторінці програми KDE Frameworks 5.24.0.
Бібліотеки також можна зібрати з початкових кодів за допомогою базової системи команд cmake .; make; make install. Цей спосіб є найпростішим, якщо вам потрібні лише окремі бібліотеки шару 1. Зацікавленим в удосконаленні бібліотек та стеженні за розробкою загального набору варто скористатися скриптом kdesrc-build. Для роботи Frameworks 5.24.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.