Неділя, 13 березня 2016
Сьогодні KDE оголошено про випуск KDE Frameworks 5.20.0.
KDE Frameworks складається з 70 додаткових бібліотек, які розширюють можливості Qt і реалізують багато широковживаних функціональних можливостей, є зрілими, належним чином рецензованими та добре перевіреними, а також надаються за дотримання розробниками достатньо дружніх щодо них умов. Вступні зауваження щодо цих бібліотек можна знайти у оголошенні щодо випуску KDE.
Цей випуск є частиною запланованої послідовності щомісячних випусків, яка надасть змогу розробникам використовувати поліпшення у бібліотеках швидко і без проблем.
Нове у поточній версії
Піктограми Breeze
- Багато нових піктограм
- Додано піктограми типів MIME virtualbox та деяких інших типів MIME, яких не вистачало
- Додано підтримку піктограм synaptic та octopi
- Виправлено піктограму вирізання (ваду 354061)
- Виправлено назву audio-headphones.svg (+=d)
- Піктограми оцінок із меншою фаскою (1 пк)
Інтеграція бібліотек
- Вилучено можливість використання назви файла у KDEPlatformFileDialog::setDirectory()
- Реалізовано можливість не фільтрувати за назвою, якщо маємо типи MIME
KActivities
- Вилучено залежність від Qt5::Widgets
- Вилучено залежність від KDBusAddons
- Вилучено залежність від KI18n
- Вилучено невикористані включення
- Поліпшено виведення даних скриптами оболонки
- Додано модель даних (ActivitiesModel) для показу просторів дій бібліотеці
- Типово, тепер збирається лише бібліотека
- Вилучено зі збирання компоненти служби і робочого простору
- Бібліотеку пересунуто до src/lib з src/lib/core
- Усунено причину попередження CMake
- Усунено аварію у контекстному меню просторів дій (ваду 351485)
KAuth
- Виправлено блокування роботи kded5, якщо завершує роботу програма, яка використовує kauth
KConfig
- KConfigIniBackend: виправлено обчислювально вартісне від'єднування у пошуку
KCoreAddons
- Виправлено перенесення даних налаштувань kdelibs4 у Windows
- Додано програмний інтерфейс для отримання даних щодо версії середовища Frameworks
- KRandom: виправлено використання до 16 кБ /dev/urandom для ініціювання rand() (ваду 359485)
KDeclarative
- Усунено виклик вказівника на нульовий об'єкт (виправлено ваду 347962)
KDED
- Уможливлено збирання з -DQT_NO_CAST_FROM_ASCII
Підтримка KDELibs 4
- Виправлено керування сеансами для програм на основі KApplication (ваду 354724)
KDocTools
- Реалізовано використання символів unicode для викликів
KFileMetaData
- Нова версія KFileMetadata може надсилати запити і зберігати інформацію щодо початкового повідомлення збереженого файла, який міг бути долученням
KHTML
- Виправлено оновлення вказівника у області перегляду
- Обмежено використання пам'яті рядками
- Засіб перегляду аплетів Java KHTML: виправлено помилковий виклик DBus до kpasswdserver
KI18n
- Реалізовано використання придатного до портування макросу імпортування для nl_msg_cat_cntr
- Реалізовано пропускання пошуку у . і .. перекладів програми
- Обмежено використання _nl_msg_cat_cntr реалізаціями GNU gettext
- Додано KLocalizedString::languages()
- Реалізовано розміщення викликів Gettext, лише якщо знайдено каталог
KIconThemes
- Забезпечено ініціювання змінної
KInit
- kdeinit: реалізовано перевагу завантаження бібліотек з RUNPATH
- Реалізовано «Завдання Qt5: використовувати QUrl::fromStringList»
KIO
- Усунено розірвання з'єднання KIO app-slave, якщо у appName міститься «/» (виправлено ваду 357499)
- Реалізовано використання декількох способів розпізнавання, якщо трапляються помилки
- Довідка: виправлено mimeType() для get()
- KOpenWithDialog: реалізовано показ назви типу MIME та коментаря у тексті поля «Запам'ятати» (виправлено ваду 110146)
- Реалізовано послідовність змін для уникнення повторного створення списку вмісту каталогу після перейменування файла у ширшому спектрі випадків (виправлено ваду 359596)
- http: m_iError перейменовано на m_kioError
- kio_http: реалізовано читання і відкидання вмісту після 404 зі значенням errorPage=false
- kio_http: виправлено визначення типу MIME, якщо адреса закінчується на «/»
- FavIconRequestJob: у слоті додано засіб доступу hostUrl(), щоб konqueror міг визначити призначення завдання
- FavIconRequestJob: виправлено підвисання завдання, якщо його перервано через надто великі розміри favicon
- FavIconRequestJob: виправлено errorString(), раніше у ній була лише адреса
- KIO::RenameDialog: відновлено підтримку попереднього перегляду, додано мітки дати і розміру (виправлено ваду 356278)
- KIO::RenameDialog: реорганізовано програмний код, який дублювався
- Виправлено помилкові перетворення шлях-у-QUrl
- Використано kf5.kio у назві категорії, щоб відповідати назвам інших категорій
KItemModels
- KLinkItemSelectionModel: додано новий типовий конструктор
- KLinkItemSelectionModel: пов'язану модель вибору зроблено встановлюваною
- KLinkItemSelectionModel: реалізовано обробку змін у моделі selectionModel
- KLinkItemSelectionModel: скасовано локальне зберігання моделі
- KSelectionProxyModel: виправлено ваду у механізмі ітерації
- Реалізовано скидання стану KSelectionProxyModel, якщо це потрібно
- Додано властивість, яка сигналізує про те, чи поєднано моделі у ланцюжок
- KModelIndexProxyMapper: спрощено логіку перевірки з'єднаності
KJS
- Обмежено використання пам'яті рядками
KNewStuff
- Реалізовано показ попередження, якщо у рушії сталася помилка
Бібліотека Package
- Уможливлено необов'язковість KDocTools у KPackage
KPeople
- Усунено використання застарілого програмного інтерфейсу
- До декларативного додатка додано actionType
- Обернено логіку фільтрування у PersonsSortFilterProxyModel
- Приклад QML зроблено трохи кориснішим
- Додано actionType до PersonActionsModel
KService
- Спрощено код, зменшено кількість розіменовувань вказівників, поліпшення, пов'язані із контейнерами
- Додано програму для тестування kmimeassociations_dumper, ідею запозичено із повідомлення про ваду 359850
- Усунено проблему із завантаженням програм chromium/wine у деяких дистрибутивах (виправлено ваду 213972)
KTextEditor
- Виправлено підсвічування усіх збігів у ReadOnlyPart
- Виправлено повторне проходження QString так, наче це QStringList
- Реалізовано належне ініціювання статичних QMap
- Реалізовано перевагу toDisplayString(QUrl::PreferLocalFile)
- Реалізовано підтримку замінників при надсиланні зі способу введення
- Усунено аварійне завершення під час завершення роботи системи, якщо виконується анімування тексту
Бібліотека KWallet
- Забезпечено пошук KDocTools
- Усунено надсилання від'ємного числа до DBus, оскільки це викликає помилку у libdbus
- Почищено файли cmake
- KWallet::openWallet(Synchronous): усунено завершення часу очікування за 25 секунд
KWindowSystem
- Реалізовано підтримку _NET_WM_BYPASS_COMPOSITOR (виправлено ваду 349910)
KXMLGUI
- Реалізовано використання резервної нерідної назви мови
- Виправлено помилку у керуванні сеансами, яка виникла після переходу на KF5 / Qt5 (ваду 354724)
- Схеми клавіатурних скорочень: реалізовано підтримку схем, встановлених на загальносистемному рівні
- Реалізовано використання qHash(QKeySequence) з Qt, якщо збирання відбувається з Qt 5.6+
- Схеми клавіатурних скорочень: усунено ваду, пов'язану із тим що два KXMLGUIClients із однаковою назвою могли перезаписувати файл схем одне одному
- kxmlguiwindowtest: додано діалогове вікно клавіатурних скорочень для тестування редактора схем клавіатурних скорочень
- Схеми клавіатурних скорочень: поліпшено зручність у користування шляхом зміни текстів у графічному інтерфейсі
- Схеми клавіатурних скорочень: поліпшено спадний список схем (автоматичне визначення розміру, не спорожнюється, якщо є невідома схема)
- Схеми клавіатурних скорочень: тепер назва guiclient не дописується до назви файла на початку
- Схеми клавіатурних скорочень: реалізовано створення каталогу до спроби зберегти нову схему клавіатурних скорочень
- Схеми клавіатурних скорочень: реалізовано відновлення поля компонування, якщо цього не робити, усе має доволі поганий вигляд
- Виправлено витік пам'яті у контрольному скрипті запуску KXmlGui
Бібліотеки Plasma
- IconItem: усунено перезаписування джерела, якщо використовується QIcon::name()
- ContainmentInterface: виправлено використання right() і bottom() у QRect
- Вилучено дублювання шляху коду для обробки QPixmap
- Додано документацію із програмного інтерфейсу для IconItem
- Виправлено таблицю стилів (ваду 359345)
- Усунено витирання маски вікна під час кожної зміни геометрії, якщо активним є композитне відтворення, а маску не встановлено
- Аплет: усунено аварійне завершення у разі вилучення панелі (виправлено ваду 345723)
- Тема: реалізовано відкидання кешу растрових зображень, якщо змінюється тема (виправлено ваду 359924)
- IconItemTest: реалізовано пропускання обробки, якщо маємо помилку grabToImage
- IconItem: усунено зміну кольору піктограм svg, завантажених із теми піктограм
- Виправлено визначення iconPath SVG у IconItem
- Реалізовано вибір кінця шляху, якщо передано шлях (виправлено ваду 359902)
- Додано властивості configurationRequired і reason
- contextualActionsAboutToShow пересунуто до Applet
- ScrollViewStyle: усунено використання полів для пункту, що блимає
- DataContainer: виправлено перевірки слота перед з'єднанням або від'єднанням
- ToolTip: додано запобіжники кратній зміні геометрії, коли змінюється вміст
- SvgItem: усунено використання Plasma::Theme із потоку обробки зображення
- AppletQuickItem: виправлено пошук власного долученого компонування (виправлено ваду 358849)
- Реалізовано меншу розпірку для панелі задач
- ToolTip: припинено показу таймера, якщо викликано hideTooltip (виправлено ваду 358894)
- Вимкнено анімацію піктограм у підказках Плазми
- Усунено анімацію у підказках
- Тепер у типовій темі використовується вказана схема кольорів
- Виправлено помилку, пов'язану із тим, що IconItem не завантажував піктограми, які не належать до теми і мають назву (ваду 359388)
- Реалізовано перевагу контейнерів, відмінних від desktop, у containmentAt()
- WindowThumbnail: реалізовано відкидання растрового зображення glx у stopRedirecting() (виправлено ваду 357895)
- Вилучено застарілий фільтр аплетів
- ToolButtonStyle: усунено спробу покладатися на зовнішній ідентифікатор
- Усунено припущення щодо виявлення фаски (виправлено ваду 359026)
- Календар: додано належні кнопки «Вперед» і «Назад», а також кнопку «Сьогодні» (виправлено вади 336124, 348362, 358536)
Sonnet
- Усунено вимикання засобу визначення мови лише через те, що встановлено певну мову
- Вимкнено типове автоматичне вимикання автоматичної перевірки правопису
- Виправлено TextBreaks
- Виправлено пошук словників Hunspell за шляхами, у яких немає «/» (виправлено ваду 359866)
- До шляху пошуку словників додано <каталог програми>/../share/hunspell
Обговорити цей випуск та поділитися ідеями можна у розділі коментарів до статті з новиною.
Встановлення бінарних пакунків
У Linux рекомендованим шляхом встановлення KDE Frameworks є пакунки вашого улюбленого дистрибутива. Настанови щодо встановлення програмного забезпечення KDE у вашому дистрибутиві Linux.
Збирання з початкових кодів
Увесь початковий код програм KDE Frameworks 5.20.0 можна отримати безкоштовно. Настанови щодо збирання та встановлення доступні на інформаційній сторінці програми KDE Frameworks 5.20.0.
Бібліотеки також можна зібрати з початкових кодів за допомогою базової системи команд cmake .; make; make install. Цей спосіб є найпростішим, якщо вам потрібні лише окремі бібліотеки шару 1. Зацікавленим в удосконаленні бібліотек та стеженні за розробкою загального набору варто скористатися скриптом kdesrc-build. Для роботи Frameworks 5.20.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.