2022년 5월 14일 토요일
오늘 KDE에서는 KDE 프레임워크 버전 5.94.0을(를) 출시했습니다.
KDE Frameworks are 83 addon libraries to Qt which provide a wide variety of commonly needed functionality in mature, peer reviewed and well tested libraries with friendly licensing terms. For an introduction see the KDE Frameworks release announcement.
이 릴리스는 계획된 월간 릴리스의 일부이며, 개발자들이 변경 사항을 빠르고 예측 가능한 형태로 사용 및 평가할 수 있습니다.
이 버전의 새로운 변경 사항
Baloo
- [Timeline KIO] Don't announce that we can write
Breeze Icons
- Add view-left-new action
- New debug step icons
Extra CMake Modules
- Drop lib prefix when building for Windows (MinGW)
- Allow ecm_add_{qt,}wayland_{client,server}_protocol take targets
- ECMQueryQt: always use CMake target to find the qmake/qtpaths binary
- KDEGitCommitHooks: only configure pre-commit hook if needed
KActivitiesStats
- Make replace not block because of missing item removal
- Add ResultModel::forgetResources method
KDE Doxygen Tools
- only bootstrap when explicitly asked for
- Add a dummy install target to cmake
KAuth
- Add INSTALL_BROKEN_KAUTH_POLICY_FILES cmake option
KCalendarCore
- Create UIDs if necessary (bug 339726)
KCMUtils
- Fix filtering of plugin in KPluginWidget
- Check executables exist in PATH before passing them to QProcess
- KPluginModel: Add method to get KPluginMetaData config object for given plugin id
- KPluginDelegate: Add configTriggered signal
- Refactor QML components of MPluginSelector to have less dependencies and have better layout
- KPluginModel: Add isSaveNeededChanged singal
- Import AboutPlugin dialog from QML
- Expose proxy sort model as private QML API
- Create QML version of KPluginSelector
- Allow consumers to get sort proxy model
- Export the KPluginModel class & make it usable from QML
KConfig
- KConfigGroup: fix writePathEntry/readPathEntry roundtrip for symlinks
- Support storing QUuid
KConfigWidgets
- KCommandBar: remove installed event filter in destructor (bug 452527)
- [kcolorschememanager] Rework and improve auto theme switching (bug 452091)
- [kcolorschememanager] Don't save colors on application start
- Move kstatefulbrush implementation to its own file
- fix: KRecentFilesAction saveEntries and loadEntries use the correct group when no group is passed
- Add move constructor and assignment operator for KColorScheme
- Make it clear that KStandardAction::name gives you ascii
KCoreAddons
- KPluginMetaData: Fix setting of MetaDataOption when building without deprecations
- processlist: don't call procstat_getpathname() at all (FreeBSD)
- ListOpenFilesJob: avoid creating the processlist on FreeBSD multiple times
KDeclarative
- Add PlaceholderMessage to GridView KCMs
KFileMetaData
- Check executables exist in PATH before passing them to QProcess
- Create and install version header file
- exiv2extractor: add support for Canon CR3 raw image
KGlobalAccel
- Add BUILD_RUNTIME option (default ON)
- x11: Implement deactivation
- Add KGlobalAccel::globalShortcutActiveChanged
KDE GUI Addons
- Un-pluginify modifierkeyinfo
- Add plugin for wayland keystates
KHolidays
- Add QML API for the sun and moon computations
- New function for plasma to generate holidays without astro seasons (bug 445324)
- Report intermediate lunar phases as well
- Category added as parameter
- Add functions for holiday only
- Remove double entries and correct indian- (bug 441275)
KI18n
- KF5I18nConfig: Add missing find_dependency call
KImageFormats
- avif: prepare for breaking change in libavif
- XCF: Support to QImageIOHandler::Size option
- psd: Fix crash on broken files
- psd: duotone read
- psd: Don't crash with broken images
- psd: Header depth has to be 8 for CM_INDEXED color_mode
- psd: Protect against broken images
- avif: lossless support
- psd: Don't assert on broken files
- PSD: Performance improvements and support to missing common formats
KIO
- Temporarily revert "Consider slow files as remote files in previewjob"
- KFileWidget: set standard zoomIn/Out keyboard shortcuts
- KFileWidget: allow icon sizes to go up to 512 (bug 452139)
- PreviewJob: consider all the available thumbnail cache pool sizes
- dropjob: Extract Ark data in ctor (bug 453390)
- dropjob: upstream ark behaviour from various file view implementations
- KFileWidget: KF6, fix view size glitch on initial show
- Don't put job/ioworker on hold after getting the mimetype (bug 452729)
- Don't build kio_trash on Android
- Remove unused Blkid dependency
- Mark setSubUrl for cleanup in KF6
- KCoreDirLister: modernise for loops
- [KUrlNavigatorPlacesSelector] Disconnect setupDone signal when done
- [KUrlNavigatorPlacesSelector] Do storage setup also when requesting a new tab (bug 452923)
- [KFilePlacesView] Pass widget to QStyle::styleHint
- Revert "Replace He with They in Doc not found page"
- KFileItemDelegate: Add a semi-transparent effect to the icons of hidden files
- [WidgetsAskUserActionHandler] Use WarningYesNo for permanently deleting files
- [KDirOperator] Use QSortFilterProxyModel::invalidate() instead of 'fake resorting'
- KFilePlacesView: use animations only if QStyle::SH_Widget_Animation_Duration > 0 (bug 448802)
- Replace He with They in Doc not found page
- KFilePlacesModel: make it more accessible from QML
- KUrlNavigator: offer open in new window action too (bug 451809)
- Prepare KCoreDirLister::matches(Mime)Filter to be private
- KDirOperator: do not overwrite standard back actions
- KFilePlacesView: Improve touch support
- KCoreDirLister: handle dir permission change in non-canonical paths
- KCoreDirLister: handle file removal in non-canonical paths
- KRecentDocument: fix erroneous messages about overwriting
- KRecentDocument: ensure the path to the XBEL file existss (for CI)
- Fix ~KTcpSocket crash with libc++ (e.g. FreeBSD)
Kirigami
- ScrollablePage: Stop duck-typing QML types
- SwipeListItem: Expose the width of overlayLoader
- Dialog: Unbreak standardButton() method
- ApplicationItem: Fix Shortcut's warning about sequence vs. sequences
- ApplicationItem: Clean it up a bit
- columnview: Fix memory leak caused by
QQmlComponent::create
- columnview: Remove m_attachedObjects
- AbstractApplicationItem: Fix copy-pasta mistake
- correctly hide the bottom floating buttons when ther eis a page footer
- ToolBarPageHeader: Do not assign undefined to real values
- ColumnView notifies for contentChildren when page is removed (bug 452883)
- ActionToolBar: fix moreButton visibility (bug 449031)
- LoadingPlaceholder: remove redundant explanation
- Improve ListItemDragHandle
- Add LoadingPlaceholder component
- AboutPage: Prevent infinite loop (bug 447958)
- PlaceholderMessage: add types
- Introduce TabletModeChangedEvent
- [doc]: Remove double inheritance arrow for Kirigami.PagePoolAction
KItemModels
- Fix assertions in KDescendantsProxyModel (bug 452043)
- Fix punctuation/whitespace of runtime rate-limited deprecation warnings
KNewStuff
- Action: simplify expression for engine property
- Deprecate KNS3::QtQuickDialogWrapper::exec (bug 450702)
- qtquickdialogwrapper: Fix memory leak caused by
QQmlComponent::create
(bug 452865) - Use Kirigami.LoadingPlaceholder component
- Delete our own custom PlaceholderMessage
- Dialog: Port to Layouts
- Dialog: use a real ToolBar for the footer instead of a homemade one
- Dialog: Add a little separator line between footer and content
- Convey lack of hotness visually in placeholder message
KNotification
- Don't send alpha channel if pixmap has none
KPackage Framework
- Remove CMAKE_AUTOMOC_RELAXED_MODE
KPeople
- Add avatar image provider
KPty
- KPtyProcess: call childProcessModifier() of parent class first
KQuickCharts
- Use ECM_MODULE_DIR instead of ECM_DIR/../modules
KRunner
- Make Qt::Gui dependency for deprecation free builds internal
- Deprecate public KConfigGroup include of AbstractRunner class
KService
- KService: Do not link KCoreAddons and KConfig publicly when building without deprecations
- kservice.h: Wrap public KCoreAddons includes in deprecation macros
KTextEditor
- fix vector init in commands()
- inc ui file version after action name fixes
- EmulatedCommandBarTest: port from processEvents to QTRY_VERIFY
- create commands and motions once
- avoid storing instance in commands/motions
- avoid cursor move on insert of line at EOF on save (bug 453252)
- use proper name for selection menu
- Multicursors: Use shorter actions names
- Multicursors: Move current cursor to end of line when cursors are created from selection
- more deprecation fixes for Qt 6
- Fix completion leaks, don't use null parent
- Add option to show folding markers on hover only
- Paint using path once instead of painting multiple rects
- Fix background visible through selection with custom painted selection
- vimode: add another motion command for moving down one line
- Fix help link for editing command line
- Fix crash when ModeMenuList wasn't init but we try to reload it (bug 452282)
- Enable auto-brackets by default
- Improve Color theme config page
KUnitConversion
- Don't use GenericDataLocation on Android
KWayland
- client: implement plasma-surface openUnderCursor
- Fix include path in the generated pkgconfig file
- [plasmawindowmanagement] Add resourceName
KWidgetsAddons
- Use KDatePickerPopup in KDateComboBox
- Add support for custom date word maps, as done in KDateComboBox
- Share date range support between KDateComboBox and KDatePickerPopup
- Allow to change KDatePickerPopup modes at runtime
- Implement date word actions as done in KDateCombobox
- Build the date picker menu dynamically on demand
- Add KDatePickerPopup
- KPageDialog: Add a new face type with a flat list of small icons
KXMLGUI
- ui_standards.rc: add tag so kate can insert a menu between Edit and View
- Fix saving of state config if one has autosave enabled (bug 451725)
- Replace OS-specific system information code with QSysInfo (bug 450862)
NetworkManagerQt
- WirelessNetwork: Fix reference access point for the active network
Plasma Framework
- IconItem: Allow specifying a custom loader
- plasmastyle: Import PlasmaCore in MenuStyle
- Don't assert if the theme is not found, just warn
- desktoptheme: Install plasmarc
- plasmaquick: Fix memory leak caused by
QQmlComponent::create
- Revert "Prevent tooltips from being incorrectly dismissed" (bug 439522)
- wallpaperinterface: Add some APIs needed for wallpaper accent color support
- Fix use-after-free in ContainmentInterface (bug 451267)
- Fix osd dialog position (bug 452648)
- mark plasmapkg as nongui executable
- Fix check for argument length in DataEngine loader (bug 452596)
- desktoptheme: Convert desktop to json files
- desktoptheme: Separate config from theme metadata
- Convert desktop files of plugins to json
- examples: Convert desktop files of KPackages to json
- Keep PlasmaComponents.Highlight on its former behaviour (bug 452555)
- Dialog: Do not update layout parameters while hidden (bug 452512)
- Wrap KPluginInfo includes in deprecation wrappers
- PlaceholderMessage: Remove Kirigami references
- PlaceholderMessage: add types
- PC3 toggle controls: fix odd heights misaligning indicators (bug 447977)
- Fix search field left padding when icon is hidden
- ExpandableListItem: deprecate contextmenu and allow actions+custom view
- Deprecate DataEngine related code in Plasma::PluginLoader
- Plasma::Theme: Port last KPluginInfo usage
- Plasma::Theme: Allow packages to ship metadata.json file, move config to separate file
- Add include needed by Qt6 forgotten in d74a8286e1
Prison
- Remove duplicate header between .h/.cpp file
- Fix out-of-bounds read on the Aztec special char table
- Enable macOS support
- Fix PrisonScanner target name
- Consider flipped video frames when computing the barcode positioon
- Add barcode scanner component for barcode scanning from live video
Purpose
- Port to ecm_add_qml_module
QQC2StyleBridge
- Remove infoChanged signal from KQuickStyleItem
- Replace connect to self in KQuickStyleItem with direct method calls
- Recalculate metrics when tablet mode changes
- Fix use of a no longer existing id
Solid
- udev/cpuinfo_arm: Add missing CPU ID
Syntax Highlighting
- cmake.xml: Updates for CMake 3.23
- Fix haxe rawstring escaping
Security information
The released code has been GPG-signed using the following key: pub rsa2048/58D0EE648A48B3BB 2016-09-05 David Faure faure@kde.org Primary key fingerprint: 53E6 B47B 45CE A3E0 D5B7 4577 58D0 EE64 8A48 B3BB
바이너리 패키지 설치
리눅스 환경에서는 KDE 프레임워크를 사용하고 있는 배포판의 패키지 관리자로 설치하는 것을 추천합니다. 리눅스 배포판별 KDE 소프트웨어 설치 위키 페이지.
소스 코드에서 컴파일
KDE 프레임워크 5.94.0 소스 코드는 자유롭게 다운로드할 수 있습니다. 컴파일 및 설치 방법은 KDE 프레임워크 5.94.0 정보 페이지에서 확인할 수 있습니다.
소스 코드에서 빌드하는 작업은 기본적인 cmake .; make; make install 명령으로 가능합니다. 단일 티어 1 프레임워크를 컴파일 때에는 가장 간단한 방법입니다. 프레임워크 개발에 기여하거나 전체 프레임워크 개발 작업을 추적하고 싶다면 kdesrc-build 사용을 추천합니다. 프레임워크 5.94.0에는 Qt 5.15.2 이상이 필요합니다.
A detailed listing of all Frameworks with API documentation is on api.kde.org.
참여하기
프레임워크 개발에 관심이 있고 기여할 생각이 있다면 git 저장소를 확인하고 KDE 프레임워크 개발 메일링 리스트의 토론을 확인해 보십시오. 프로젝트 정책, 현재 상태 및 향후 계획은 프레임워크 위키에서 확인할 수 있습니다. 실시간 대화는 Libera Chat의 #kde-devel IRC 채널에서 진행됩니다.
KDE 지원
KDE는 개인의 시간과 노력을 기부하는 것으로 존재하고 성장하는 자유 소프트웨어 커뮤니티입니다. KDE는 코딩, 버그 수정 및 보고, 문서 작성, 번역, 프로모션, 금전적 기여 등 다양한 자원 봉사자와 기여자를 찾고 있습니다. 모든 기여를 환영합니다. 더 많은 정보를 보려면 KDE 지원하기 페이지를 확인하십시오. Join the Game을 통해서 KDE e.V.의 후원 회원이 될 수도 있습니다.