├── logo.png ├── doc ├── kinfocenter.png └── CMakeLists.txt ├── kcms ├── usbview │ ├── Messages.sh │ ├── CMakeLists.txt │ ├── usbdb.h │ ├── kcmusb.h │ ├── usbdevices.h │ ├── i18n-from-usb-ids.py │ └── classes.i18n ├── firmware_security │ ├── kcm_firmware_security.json.license │ ├── fwupdmgr.sh │ ├── ui │ │ └── main.qml │ ├── CMakeLists.txt │ └── main.cpp ├── cpu │ ├── kcm_cpu.json.license │ ├── CMakeLists.txt │ ├── ui │ │ └── main.qml │ └── main.cpp ├── edid │ ├── kcm_edid.json.license │ ├── ui │ │ └── main.qml │ ├── CMakeLists.txt │ ├── edid.sh │ └── main.cpp ├── egl │ ├── kcm_egl.json.license │ ├── ui │ │ └── main.qml │ ├── CMakeLists.txt │ └── main.cpp ├── energy │ ├── Messages.sh │ ├── CMakeLists.txt │ ├── batterymodel.h │ ├── kcm.cpp │ └── statisticsprovider.h ├── glx │ ├── kcm_glx.json.license │ ├── ui │ │ └── main.qml │ ├── CMakeLists.txt │ └── main.cpp ├── network │ ├── kcm_network.license │ ├── ui │ │ └── main.qml │ ├── CMakeLists.txt │ ├── ip.sh │ └── main.cpp ├── pci │ ├── backend.h.cmake │ ├── kcm_pci.json.cmake.license │ ├── ui │ │ └── main.qml │ ├── main.cpp │ └── CMakeLists.txt ├── vulkan │ ├── kcm_vulkan.json.license │ ├── ui │ │ └── main.qml │ ├── CMakeLists.txt │ └── main.cpp ├── wayland │ ├── kcm_wayland.json.license │ ├── ui │ │ └── main.qml │ ├── CMakeLists.txt │ └── main.cpp ├── xserver │ ├── kcm_xserver.json.license │ ├── ui │ │ └── main.qml │ ├── CMakeLists.txt │ └── main.cpp ├── block_devices │ ├── kcm_block_devices.license │ ├── ui │ │ └── main.qml │ ├── CMakeLists.txt │ └── main.cpp ├── interrupts │ ├── kcm_interrupts.json.license │ ├── CMakeLists.txt │ ├── ui │ │ └── main.qml │ └── main.cpp ├── memory │ ├── kcm_memory.json.license │ ├── CMakeLists.txt │ ├── ui │ │ └── main.qml │ └── main.cpp ├── sensors │ ├── kcm_sensors.json.license │ ├── ui │ │ └── main.qml │ ├── CMakeLists.txt │ └── main.cpp ├── audio_information │ ├── kcm_audio_information.license │ ├── ui │ │ └── main.qml │ ├── CMakeLists.txt │ └── main.cpp ├── about-distro │ ├── CMakeLists.txt │ ├── src │ │ ├── Messages.sh │ │ ├── opengl-helper │ │ │ ├── CMakeLists.txt │ │ │ └── main.cpp │ │ ├── vulkan-helper │ │ │ ├── CMakeLists.txt │ │ │ └── main.cpp │ │ ├── GPUEntryFactory.h │ │ ├── PlasmaEntry.h │ │ ├── Version.h.cmake │ │ ├── KernelEntry.h │ │ ├── GraphicsPlatformEntry.h │ │ ├── OSVersionEntry.h │ │ ├── FancyString.h │ │ ├── CPUEntry.h │ │ ├── GPUEntry.h │ │ ├── KernelEntry.cpp │ │ ├── GraphicsPlatformEntry.cpp │ │ ├── PlasmaEntry.cpp │ │ ├── ThirdPartyEntry.h │ │ ├── MemoryEntry.h │ │ ├── FancyString.cpp │ │ ├── OSVersionEntry.cpp │ │ ├── ServiceRunner.h │ │ ├── ServiceRunner.cpp │ │ ├── GPUEntry.cpp │ │ ├── CMakeLists.txt │ │ ├── ThirdPartyEntry.cpp │ │ ├── CPUEntry.cpp │ │ └── Entry.cpp │ ├── README │ └── example │ │ └── kcm-about-distrorc.ex ├── helpers │ ├── CMakeLists.txt │ └── dmidecode-helper │ │ ├── CMakeLists.txt │ │ └── helper.h ├── opencl │ ├── kcm_opencl.json.license │ ├── ui │ │ └── main.qml │ ├── CMakeLists.txt │ └── main.cpp ├── kwinsupportinfo │ ├── kcm_kwinsupportinfo.json.license │ ├── ui │ │ └── main.qml │ ├── CMakeLists.txt │ └── main.cpp ├── samba │ ├── Messages.sh │ ├── org.freedesktop.Avahi.Server.xml │ ├── autotests │ │ ├── CMakeLists.txt │ │ ├── smbmountmodeltest.cpp │ │ └── ksambasharemodeltest.cpp │ ├── org.freedesktop.DBus.Properties.xml │ ├── main.cpp │ ├── ksambasharemodel.h │ ├── CMakeLists.txt │ ├── smbmountmodel.h │ └── ui │ │ └── ShareListItem.qml └── CMakeLists.txt ├── po ├── ca │ ├── docs │ │ └── kinfocenter │ │ │ └── kinfocenter.png │ └── kcm_samba.po ├── it │ └── docs │ │ └── kinfocenter │ │ └── kinfocenter.png ├── uk │ └── docs │ │ └── kinfocenter │ │ └── kinfocenter.png ├── pt_BR │ └── docs │ │ └── kinfocenter │ │ └── kinfocenter.png ├── zh_CN │ ├── kcm_samba.po │ └── kinfocenter.po ├── ast │ ├── kcm_samba.po │ └── kinfocenter.po ├── or │ └── kcm_samba.po ├── se │ └── kcm_samba.po ├── ja │ ├── kcm_samba.po │ └── kinfocenter.po ├── cs │ ├── kcm_samba.po │ └── kinfocenter.po ├── bg │ └── kcm_samba.po ├── sa │ └── kcm_samba.po ├── tr │ └── kcm_samba.po ├── nn │ ├── kcm_samba.po │ └── kinfocenter.po ├── nb │ ├── kcm_samba.po │ └── kinfocenter.po ├── tg │ └── kcm_samba.po ├── ca@valencia │ └── kcm_samba.po ├── es │ └── kcm_samba.po ├── oc │ └── kcm_samba.po ├── ka │ └── kcm_samba.po ├── eo │ └── kcm_samba.po ├── hi │ └── kinfocenter.po ├── pt │ └── kcm_samba.po ├── sk │ └── kinfocenter.po ├── ta │ └── kinfocenter.po └── ro │ └── kinfocenter.po ├── logo.png.license ├── .git-blame-ignore-revs ├── LICENSES ├── FSFAP.txt ├── LicenseRef-KDE-Accepted-GPL.txt ├── LicenseRef-KDE-Accepted-LGPL.txt ├── BSD-2-Clause.txt └── BSD-3-Clause.txt ├── categories ├── CMakeLists.txt ├── networkinfocategory.desktop ├── graphicalinfocategory.desktop ├── deviceinfocategory.desktop ├── basicinformation.desktop └── lostfoundcategory.desktop ├── src ├── Messages.sh └── CMakeLists.txt ├── cmake ├── Findip.cmake ├── Findaha.cmake ├── Findlsblk.cmake ├── Findlscpu.cmake ├── Findlspci.cmake ├── Findeglinfo.cmake ├── Findglxinfo.cmake ├── Finddmidecode.cmake ├── Findfwupdmgr.cmake ├── Findxdpyinfo.cmake ├── Findpciconf.cmake ├── Findvulkaninfo.cmake ├── Findsensors.cmake ├── Findwayland-info.cmake ├── Finddi-edid-decode.cmake ├── Findclinfo.cmake ├── FindSystemSettings.cmake ├── ProgramFinder.cmake └── FindUSB1.cmake ├── .gitlab-ci.yml ├── .gitignore ├── appiumtests └── CMakeLists.txt ├── README.md └── .kde-ci.yml /logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/KDE/kinfocenter/HEAD/logo.png -------------------------------------------------------------------------------- /doc/kinfocenter.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/KDE/kinfocenter/HEAD/doc/kinfocenter.png -------------------------------------------------------------------------------- /kcms/usbview/Messages.sh: -------------------------------------------------------------------------------- 1 | #! /usr/bin/env bash 2 | $XGETTEXT *.cpp *.i18n -o $podir/kcmusb.pot 3 | -------------------------------------------------------------------------------- /kcms/firmware_security/kcm_firmware_security.json.license: -------------------------------------------------------------------------------- 1 | SPDX-FileCopyrightText: None 2 | SPDX-License-Identifier: CC0-1.0 3 | -------------------------------------------------------------------------------- /po/ca/docs/kinfocenter/kinfocenter.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/KDE/kinfocenter/HEAD/po/ca/docs/kinfocenter/kinfocenter.png -------------------------------------------------------------------------------- /po/it/docs/kinfocenter/kinfocenter.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/KDE/kinfocenter/HEAD/po/it/docs/kinfocenter/kinfocenter.png -------------------------------------------------------------------------------- /po/uk/docs/kinfocenter/kinfocenter.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/KDE/kinfocenter/HEAD/po/uk/docs/kinfocenter/kinfocenter.png -------------------------------------------------------------------------------- /doc/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | kdoctools_create_handbook(index.docbook INSTALL_DESTINATION ${KDE_INSTALL_DOCBUNDLEDIR}/en SUBDIR kinfocenter) 2 | -------------------------------------------------------------------------------- /kcms/cpu/kcm_cpu.json.license: -------------------------------------------------------------------------------- 1 | SPDX-License-Identifier: CC0-1.0 2 | SPDX-FileCopyrightText: 2021 Harald Sitter 3 | -------------------------------------------------------------------------------- /kcms/edid/kcm_edid.json.license: -------------------------------------------------------------------------------- 1 | SPDX-License-Identifier: CC0-1.0 2 | SPDX-FileCopyrightText: 2024 Harald Sitter 3 | -------------------------------------------------------------------------------- /kcms/egl/kcm_egl.json.license: -------------------------------------------------------------------------------- 1 | SPDX-License-Identifier: CC0-1.0 2 | SPDX-FileCopyrightText: 2021 Harald Sitter 3 | -------------------------------------------------------------------------------- /kcms/energy/Messages.sh: -------------------------------------------------------------------------------- 1 | #! /usr/bin/env bash 2 | $XGETTEXT `find . -name "*.cpp" -o -name "*.qml"` -o $podir/kcm_energyinfo.pot 3 | -------------------------------------------------------------------------------- /kcms/glx/kcm_glx.json.license: -------------------------------------------------------------------------------- 1 | SPDX-License-Identifier: CC0-1.0 2 | SPDX-FileCopyrightText: 2021 Harald Sitter 3 | -------------------------------------------------------------------------------- /kcms/network/kcm_network.license: -------------------------------------------------------------------------------- 1 | SPDX-License-Identifier: CC0-1.0 2 | SPDX-FileCopyrightText: 2024 Harald Sitter 3 | -------------------------------------------------------------------------------- /po/pt_BR/docs/kinfocenter/kinfocenter.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/KDE/kinfocenter/HEAD/po/pt_BR/docs/kinfocenter/kinfocenter.png -------------------------------------------------------------------------------- /kcms/pci/backend.h.cmake: -------------------------------------------------------------------------------- 1 | #cmakedefine PCI_BACKEND "@PCI_BACKEND@" 2 | #cmakedefine PCI_BACKEND_ARGUMENTS "@PCI_BACKEND_ARGUMENTS@" 3 | -------------------------------------------------------------------------------- /kcms/pci/kcm_pci.json.cmake.license: -------------------------------------------------------------------------------- 1 | SPDX-License-Identifier: CC0-1.0 2 | SPDX-FileCopyrightText: 2021 Harald Sitter 3 | -------------------------------------------------------------------------------- /kcms/vulkan/kcm_vulkan.json.license: -------------------------------------------------------------------------------- 1 | SPDX-License-Identifier: CC0-1.0 2 | SPDX-FileCopyrightText: 2021 Harald Sitter 3 | -------------------------------------------------------------------------------- /kcms/wayland/kcm_wayland.json.license: -------------------------------------------------------------------------------- 1 | SPDX-License-Identifier: CC0-1.0 2 | SPDX-FileCopyrightText: 2021 Harald Sitter 3 | -------------------------------------------------------------------------------- /kcms/xserver/kcm_xserver.json.license: -------------------------------------------------------------------------------- 1 | SPDX-License-Identifier: CC0-1.0 2 | SPDX-FileCopyrightText: 2021 Harald Sitter 3 | -------------------------------------------------------------------------------- /kcms/block_devices/kcm_block_devices.license: -------------------------------------------------------------------------------- 1 | SPDX-License-Identifier: CC0-1.0 2 | SPDX-FileCopyrightText: 2024 Harald Sitter 3 | -------------------------------------------------------------------------------- /kcms/interrupts/kcm_interrupts.json.license: -------------------------------------------------------------------------------- 1 | SPDX-License-Identifier: CC0-1.0 2 | SPDX-FileCopyrightText: 2021 Harald Sitter 3 | -------------------------------------------------------------------------------- /kcms/memory/kcm_memory.json.license: -------------------------------------------------------------------------------- 1 | SPDX-License-Identifier: CC0-1.0 2 | SPDX-FileCopyrightText: 2024 Thomas Duckworth 3 | -------------------------------------------------------------------------------- /kcms/sensors/kcm_sensors.json.license: -------------------------------------------------------------------------------- 1 | SPDX-License-Identifier: CC0-1.0 2 | SPDX-FileCopyrightText: 2025 Thomas Duckworth 3 | -------------------------------------------------------------------------------- /logo.png.license: -------------------------------------------------------------------------------- 1 | SPDX-License-Identifier: LGPL-3.0-only OR LicenseRef-KDE-Accepted-LGPL 2 | SPDX-FileCopyrightText: 2016 andreas kainz 3 | -------------------------------------------------------------------------------- /kcms/audio_information/kcm_audio_information.license: -------------------------------------------------------------------------------- 1 | SPDX-License-Identifier: CC0-1.0 2 | SPDX-FileCopyrightText: 2024 Shubham Arora -------------------------------------------------------------------------------- /.git-blame-ignore-revs: -------------------------------------------------------------------------------- 1 | # SPDX-License-Identifier: CC0-1.0 2 | # SPDX-FileCopyrightText: none 3 | 4 | # clang-format 5 | 24ca2595676b9d57303c83bc7d888f840480618b 6 | -------------------------------------------------------------------------------- /kcms/about-distro/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | 2 | # KI18N Translation Domain for this library 3 | add_definitions(-DTRANSLATION_DOMAIN=\"kcm_about-distro\") 4 | 5 | add_subdirectory(src) 6 | -------------------------------------------------------------------------------- /kcms/helpers/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | # SPDX-License-Identifier: BSD-3-Clause 2 | # SPDX-FileCopyrightText: 2024 Kristen McWilliam 3 | 4 | add_subdirectory(dmidecode-helper) 5 | -------------------------------------------------------------------------------- /kcms/opencl/kcm_opencl.json.license: -------------------------------------------------------------------------------- 1 | SPDX-FileCopyrightText: 2021 Harald Sitter 2 | SPDX-FileCopyrightText: 2022 Linus Dierheimer 3 | 4 | SPDX-License-Identifier: CC0-1.0 5 | -------------------------------------------------------------------------------- /kcms/kwinsupportinfo/kcm_kwinsupportinfo.json.license: -------------------------------------------------------------------------------- 1 | SPDX-License-Identifier: CC0-1.0 2 | SPDX-FileCopyrightText: 2021 Harald Sitter 3 | SPDX-FileCopyrightText: 2022 Nate Graham 4 | -------------------------------------------------------------------------------- /LICENSES/FSFAP.txt: -------------------------------------------------------------------------------- 1 | Copying and distribution of this file, with or without modification, are permitted in any medium without royalty provided the copyright notice and this notice are preserved. This file is offered as-is, without any warranty. 2 | -------------------------------------------------------------------------------- /categories/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | install( FILES deviceinfocategory.desktop graphicalinfocategory.desktop networkinfocategory.desktop lostfoundcategory.desktop basicinformation.desktop 2 | DESTINATION ${KDE_INSTALL_DATADIR}/kinfocenter/categories) 3 | -------------------------------------------------------------------------------- /src/Messages.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | # SPDX-License-Identifier: BSD-3-Clause 3 | # SPDX-FileCopyrightText: 2023 Emir SARI 4 | 5 | $XGETTEXT `find . -name \*.cc -o -name \*.cpp -o -name \*.h -o -name \*.qml` -o $podir/kinfocenter.pot 6 | -------------------------------------------------------------------------------- /kcms/samba/Messages.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | # SPDX-License-Identifier: BSD-3-Clause 3 | # SPDX-FileCopyrightText: 2020 Harald Sitter 4 | $XGETTEXT `find . -name '*.cpp' -o -name '*.h' -o -name '*.qml' -o -name '*.js'` -o $podir/kcm_samba.pot 5 | -------------------------------------------------------------------------------- /kcms/about-distro/src/Messages.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | # SPDX-License-Identifier: BSD-3-Clause 3 | # SPDX-FileCopyrightText: 2012 Harald Sitter 4 | 5 | $XGETTEXT `find . -name \*.cc -o -name \*.cpp -o -name \*.h -o -name \*.qml` -o $podir/kcm_about-distro.pot 6 | -------------------------------------------------------------------------------- /kcms/edid/ui/main.qml: -------------------------------------------------------------------------------- 1 | // SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted-GPL 2 | // SPDX-FileCopyrightText: 2021-2024 Harald Sitter 3 | 4 | import org.kde.kinfocenter.private 1.0 as KInfoCenter 5 | 6 | KInfoCenter.CommandOutputKCM { 7 | output: kcm.infoOutputContext 8 | } 9 | -------------------------------------------------------------------------------- /cmake/Findip.cmake: -------------------------------------------------------------------------------- 1 | # This module defines the following variables: 2 | # 3 | # ip_FOUND - true if found 4 | # ip_PATH - path to the bin (only when found) 5 | # 6 | # SPDX-License-Identifier: BSD-2-Clause 7 | # SPDX-FileCopyrightText: 2024 Harald Sitter 8 | 9 | include(ProgramFinder) 10 | program_finder(ip) 11 | -------------------------------------------------------------------------------- /cmake/Findaha.cmake: -------------------------------------------------------------------------------- 1 | # This module defines the following variables: 2 | # 3 | # aha_FOUND - true if found 4 | # aha_PATH - path to the bin (only when found) 5 | # 6 | # SPDX-License-Identifier: BSD-2-Clause 7 | # SPDX-FileCopyrightText: 2022 Harald Sitter 8 | 9 | include(ProgramFinder) 10 | program_finder(aha) 11 | -------------------------------------------------------------------------------- /cmake/Findlsblk.cmake: -------------------------------------------------------------------------------- 1 | # This module defines the following variables: 2 | # 3 | # lsblk_FOUND - true if found 4 | # lsblk_PATH - path to the bin (only when found) 5 | # 6 | # SPDX-License-Identifier: BSD-2-Clause 7 | # SPDX-FileCopyrightText: 2024 Harald Sitter 8 | 9 | include(ProgramFinder) 10 | program_finder(lsblk) 11 | -------------------------------------------------------------------------------- /cmake/Findlscpu.cmake: -------------------------------------------------------------------------------- 1 | # This module defines the following variables: 2 | # 3 | # lscpu_FOUND - true if found 4 | # lscpu_PATH - path to the bin (only when found) 5 | # 6 | # SPDX-License-Identifier: BSD-2-Clause 7 | # SPDX-FileCopyrightText: 2021 Harald Sitter 8 | 9 | include(ProgramFinder) 10 | program_finder(lscpu) 11 | -------------------------------------------------------------------------------- /cmake/Findlspci.cmake: -------------------------------------------------------------------------------- 1 | # This module defines the following variables: 2 | # 3 | # lspci_FOUND - true if found 4 | # lspci_PATH - path to the bin (only when found) 5 | # 6 | # SPDX-License-Identifier: BSD-2-Clause 7 | # SPDX-FileCopyrightText: 2021 Harald Sitter 8 | 9 | include(ProgramFinder) 10 | program_finder(lspci) 11 | -------------------------------------------------------------------------------- /cmake/Findeglinfo.cmake: -------------------------------------------------------------------------------- 1 | # This module defines the following variables: 2 | # 3 | # eglinfo_FOUND - true if found 4 | # eglinfo_PATH - path to the bin (only when found) 5 | # 6 | # SPDX-License-Identifier: BSD-2-Clause 7 | # SPDX-FileCopyrightText: 2021 Harald Sitter 8 | 9 | include(ProgramFinder) 10 | program_finder(eglinfo) 11 | -------------------------------------------------------------------------------- /cmake/Findglxinfo.cmake: -------------------------------------------------------------------------------- 1 | # This module defines the following variables: 2 | # 3 | # glxinfo_FOUND - true if found 4 | # glxinfo_PATH - path to the bin (only when found) 5 | # 6 | # SPDX-License-Identifier: BSD-2-Clause 7 | # SPDX-FileCopyrightText: 2021 Harald Sitter 8 | 9 | include(ProgramFinder) 10 | program_finder(glxinfo) 11 | -------------------------------------------------------------------------------- /cmake/Finddmidecode.cmake: -------------------------------------------------------------------------------- 1 | # This module defines the following variables: 2 | # 3 | # dmidecode_FOUND - true if found 4 | # dmidecode_PATH - path to the bin (only when found) 5 | # 6 | # SPDX-License-Identifier: BSD-2-Clause 7 | # SPDX-FileCopyrightText: 2022 Harald Sitter 8 | 9 | include(ProgramFinder) 10 | program_finder(dmidecode) 11 | -------------------------------------------------------------------------------- /cmake/Findfwupdmgr.cmake: -------------------------------------------------------------------------------- 1 | # This module defines the following variables: 2 | # 3 | # fwupdmgr_FOUND - true if found 4 | # fwupdmgr_PATH - path to the bin (only when found) 5 | # 6 | # SPDX-License-Identifier: BSD-2-Clause 7 | # SPDX-FileCopyrightText: 2022 Harald Sitter 8 | 9 | include(ProgramFinder) 10 | program_finder(fwupdmgr) 11 | -------------------------------------------------------------------------------- /cmake/Findxdpyinfo.cmake: -------------------------------------------------------------------------------- 1 | # This module defines the following variables: 2 | # 3 | # xdpyinfo_FOUND - true if found 4 | # xdpyinfo_PATH - path to the bin (only when found) 5 | # 6 | # SPDX-License-Identifier: BSD-2-Clause 7 | # SPDX-FileCopyrightText: 2021 Harald Sitter 8 | 9 | include(ProgramFinder) 10 | program_finder(xdpyinfo) 11 | -------------------------------------------------------------------------------- /kcms/about-distro/src/opengl-helper/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | # SPDX-License-Identifier: BSD-2-Clause 2 | # SPDX-FileCopyrightText: 2024 Harald Sitter 3 | 4 | add_executable(kinfocenter-opengl-helper main.cpp) 5 | target_link_libraries(kinfocenter-opengl-helper Qt::Gui) 6 | install(TARGETS kinfocenter-opengl-helper DESTINATION ${KDE_INSTALL_LIBEXECDIR}) 7 | -------------------------------------------------------------------------------- /kcms/about-distro/src/vulkan-helper/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | # SPDX-License-Identifier: BSD-2-Clause 2 | # SPDX-FileCopyrightText: 2024 Harald Sitter 3 | 4 | add_executable(kinfocenter-vulkan-helper main.cpp) 5 | target_link_libraries(kinfocenter-vulkan-helper Qt::Gui) 6 | install(TARGETS kinfocenter-vulkan-helper DESTINATION ${KDE_INSTALL_LIBEXECDIR}) 7 | -------------------------------------------------------------------------------- /cmake/Findpciconf.cmake: -------------------------------------------------------------------------------- 1 | # This module defines the following variables: 2 | # 3 | # pciconf_FOUND - true if found 4 | # pciconf_PATH - path to the bin (only when found) 5 | # 6 | # SPDX-License-Identifier: BSD-2-Clause 7 | # SPDX-FileCopyrightText: 2022 Tobias C. Berner 8 | 9 | include(ProgramFinder) 10 | program_finder(pciconf) 11 | -------------------------------------------------------------------------------- /cmake/Findvulkaninfo.cmake: -------------------------------------------------------------------------------- 1 | # This module defines the following variables: 2 | # 3 | # vulkaninfo_FOUND - true if found 4 | # vulkaninfo_PATH - path to the bin (only when found) 5 | # 6 | # SPDX-License-Identifier: BSD-2-Clause 7 | # SPDX-FileCopyrightText: 2021 Harald Sitter 8 | 9 | include(ProgramFinder) 10 | program_finder(vulkaninfo) 11 | -------------------------------------------------------------------------------- /cmake/Findsensors.cmake: -------------------------------------------------------------------------------- 1 | # This module defines the following variables: 2 | # 3 | # sensors_FOUND - true if found 4 | # sensors_PATH - path to the bin (only when found) 5 | # 6 | # SPDX-License-Identifier: BSD-2-Clause 7 | # SPDX-FileCopyrightText: 2025 Thomas Duckworth 8 | 9 | include(ProgramFinder) 10 | program_finder(sensors) 11 | -------------------------------------------------------------------------------- /kcms/interrupts/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | # SPDX-License-Identifier: BSD-3-Clause 2 | # SPDX-FileCopyrightText: 2021 Harald Sitter 3 | 4 | add_definitions(-DTRANSLATION_DOMAIN=\"kcm_interrupts\") 5 | 6 | kinfocenter_add_kcm(kcm_interrupts main.cpp) 7 | target_link_libraries(kcm_interrupts PRIVATE KF6::CoreAddons KF6::KCMUtilsQuick KF6::I18n KInfoCenterInternal) 8 | -------------------------------------------------------------------------------- /cmake/Findwayland-info.cmake: -------------------------------------------------------------------------------- 1 | # This module defines the following variables: 2 | # 3 | # wayland-info_FOUND - true if found 4 | # wayland-info_PATH - path to the bin (only when found) 5 | # 6 | # SPDX-License-Identifier: BSD-2-Clause 7 | # SPDX-FileCopyrightText: 2021 Harald Sitter 8 | 9 | include(ProgramFinder) 10 | program_finder(wayland-info) 11 | -------------------------------------------------------------------------------- /cmake/Finddi-edid-decode.cmake: -------------------------------------------------------------------------------- 1 | # This module defines the following variables: 2 | # 3 | # di-edid-decode_FOUND - true if found 4 | # di-edid-decode_PATH - path to the bin (only when found) 5 | # 6 | # SPDX-License-Identifier: BSD-2-Clause 7 | # SPDX-FileCopyrightText: 2024 Harald Sitter 8 | 9 | include(ProgramFinder) 10 | program_finder(di-edid-decode) 11 | -------------------------------------------------------------------------------- /kcms/about-distro/src/GPUEntryFactory.h: -------------------------------------------------------------------------------- 1 | // SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted-GPL 2 | // SPDX-FileCopyrightText: 2024 Harald Sitter 3 | 4 | #pragma once 5 | 6 | #include 7 | 8 | class Entry; 9 | 10 | class GPUEntryFactory 11 | { 12 | public: 13 | static std::vector factorize(); 14 | }; 15 | -------------------------------------------------------------------------------- /kcms/firmware_security/fwupdmgr.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | # SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted-GPL 3 | # SPDX-FileCopyrightText: 2022 Harald Sitter 4 | 5 | set -e 6 | 7 | # For sed testing please use --posix on GNU sed so you don't end up using gnu-isms. 8 | fwupdmgr security --force 2>&1 | aha | sed -E 's@(https:[^[:space:]]+)@\1@g' 9 | -------------------------------------------------------------------------------- /kcms/egl/ui/main.qml: -------------------------------------------------------------------------------- 1 | /* 2 | SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted-GPL 3 | SPDX-FileCopyrightText: 2021 Harald Sitter 4 | */ 5 | 6 | import QtQuick 2.5 7 | 8 | import org.kde.kcmutils as KCM 9 | 10 | import org.kde.kinfocenter.private 1.0 as KInfoCenter 11 | 12 | KInfoCenter.CommandOutputKCM { 13 | output: kcm.infoOutputContext 14 | } 15 | -------------------------------------------------------------------------------- /kcms/glx/ui/main.qml: -------------------------------------------------------------------------------- 1 | /* 2 | SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted-GPL 3 | SPDX-FileCopyrightText: 2021 Harald Sitter 4 | */ 5 | 6 | import QtQuick 2.5 7 | 8 | import org.kde.kcmutils as KCM 9 | 10 | import org.kde.kinfocenter.private 1.0 as KInfoCenter 11 | 12 | KInfoCenter.CommandOutputKCM { 13 | output: kcm.infoOutputContext 14 | } 15 | -------------------------------------------------------------------------------- /kcms/vulkan/ui/main.qml: -------------------------------------------------------------------------------- 1 | /* 2 | SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted-GPL 3 | SPDX-FileCopyrightText: 2021 Harald Sitter 4 | */ 5 | 6 | import QtQuick 2.5 7 | 8 | import org.kde.kcmutils as KCM 9 | 10 | import org.kde.kinfocenter.private 1.0 as KInfoCenter 11 | 12 | KInfoCenter.CommandOutputKCM { 13 | output: kcm.infoOutputContext 14 | } 15 | -------------------------------------------------------------------------------- /kcms/interrupts/ui/main.qml: -------------------------------------------------------------------------------- 1 | /* 2 | SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted-GPL 3 | SPDX-FileCopyrightText: 2021 Harald Sitter 4 | */ 5 | 6 | import QtQuick 2.5 7 | 8 | import org.kde.kcmutils as KCM 9 | 10 | import org.kde.kinfocenter.private 1.0 as KInfoCenter 11 | 12 | KInfoCenter.CommandOutputKCM { 13 | output: kcm.infoOutputContext 14 | } 15 | -------------------------------------------------------------------------------- /kcms/network/ui/main.qml: -------------------------------------------------------------------------------- 1 | /* 2 | SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted-GPL 3 | SPDX-FileCopyrightText: 2024 Harald Sitter 4 | */ 5 | 6 | import QtQuick 2.5 7 | 8 | import org.kde.kcmutils as KCM 9 | 10 | import org.kde.kinfocenter.private 1.0 as KInfoCenter 11 | 12 | KInfoCenter.CommandOutputKCM { 13 | output: kcm.infoOutputContext 14 | } 15 | -------------------------------------------------------------------------------- /kcms/xserver/ui/main.qml: -------------------------------------------------------------------------------- 1 | /* 2 | SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted-GPL 3 | SPDX-FileCopyrightText: 2021 Harald Sitter 4 | */ 5 | 6 | import QtQuick 2.5 7 | 8 | import org.kde.kcmutils as KCM 9 | 10 | import org.kde.kinfocenter.private 1.0 as KInfoCenter 11 | 12 | KInfoCenter.CommandOutputKCM { 13 | output: kcm.infoOutputContext 14 | } 15 | -------------------------------------------------------------------------------- /cmake/Findclinfo.cmake: -------------------------------------------------------------------------------- 1 | # This module defines the following variables: 2 | # 3 | # clinfo_FOUND - true if found 4 | # clinfo_PATH - path to the bin (only when found) 5 | # 6 | # SPDX-FileCopyrightText: 2021 Harald Sitter 7 | # SPDX-FileCopyrightText: 2022 Linus Dierheimer 8 | # 9 | # SPDX-License-Identifier: BSD-2-Clause 10 | 11 | include(ProgramFinder) 12 | program_finder(clinfo) 13 | -------------------------------------------------------------------------------- /kcms/block_devices/ui/main.qml: -------------------------------------------------------------------------------- 1 | /* 2 | SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted-GPL 3 | SPDX-FileCopyrightText: 2024 Harald Sitter 4 | */ 5 | 6 | import QtQuick 2.5 7 | 8 | import org.kde.kcmutils as KCM 9 | 10 | import org.kde.kinfocenter.private 1.0 as KInfoCenter 11 | 12 | KInfoCenter.CommandOutputKCM { 13 | output: kcm.infoOutputContext 14 | } 15 | -------------------------------------------------------------------------------- /kcms/sensors/ui/main.qml: -------------------------------------------------------------------------------- 1 | /* 2 | SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted-GPL 3 | SPDX-FileCopyrightText: 2025 Thomas Duckworth 4 | */ 5 | 6 | import QtQuick 7 | 8 | import org.kde.kcmutils as KCM 9 | 10 | import org.kde.kinfocenter.private as KInfoCenter 11 | 12 | KInfoCenter.CommandOutputKCM { 13 | output: kcm.infoOutputContext 14 | } 15 | -------------------------------------------------------------------------------- /kcms/cpu/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | # SPDX-License-Identifier: BSD-3-Clause 2 | # SPDX-FileCopyrightText: 2021 Harald Sitter 3 | 4 | find_package(lscpu) 5 | set_package_properties(lscpu PROPERTIES TYPE RUNTIME) 6 | 7 | add_definitions(-DTRANSLATION_DOMAIN=\"kcm_cpu\") 8 | 9 | kinfocenter_add_kcm(kcm_cpu main.cpp) 10 | target_link_libraries(kcm_cpu PRIVATE KF6::CoreAddons KF6::KCMUtilsQuick KF6::I18n KInfoCenterInternal) 11 | -------------------------------------------------------------------------------- /kcms/firmware_security/ui/main.qml: -------------------------------------------------------------------------------- 1 | /* 2 | SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted-GPL 3 | SPDX-FileCopyrightText: 2021-2022 Harald Sitter 4 | */ 5 | 6 | import QtQuick 2.5 7 | 8 | import org.kde.kcmutils as KCM 9 | 10 | import org.kde.kinfocenter.private 1.0 as KInfoCenter 11 | 12 | KInfoCenter.CommandOutputKCM { 13 | output: kcm.infoOutputContext 14 | } 15 | -------------------------------------------------------------------------------- /kcms/glx/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | # SPDX-License-Identifier: BSD-3-Clause 2 | # SPDX-FileCopyrightText: 2021 Harald Sitter 3 | 4 | find_package(glxinfo) 5 | set_package_properties(glxinfo PROPERTIES TYPE RUNTIME) 6 | 7 | add_definitions(-DTRANSLATION_DOMAIN=\"kcm_glx\") 8 | 9 | kinfocenter_add_kcm(kcm_glx main.cpp) 10 | target_link_libraries(kcm_glx PRIVATE KF6::CoreAddons KF6::KCMUtilsQuick KF6::I18n KInfoCenterInternal) 11 | -------------------------------------------------------------------------------- /kcms/pci/ui/main.qml: -------------------------------------------------------------------------------- 1 | /* 2 | SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted-GPL 3 | SPDX-FileCopyrightText: 2021 Harald Sitter 4 | */ 5 | 6 | import QtQuick 2.5 7 | 8 | import org.kde.kcmutils as KCM 9 | import org.kde.kinfocenter.private 1.0 as KInfoCenter 10 | 11 | KInfoCenter.CommandOutputKCM { 12 | output: kcm.infoOutputContext 13 | wrapMode: TextEdit.Wrap 14 | } 15 | -------------------------------------------------------------------------------- /kcms/cpu/ui/main.qml: -------------------------------------------------------------------------------- 1 | /* 2 | SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted-GPL 3 | SPDX-FileCopyrightText: 2021 Harald Sitter 4 | */ 5 | 6 | import QtQuick 2.5 7 | 8 | import org.kde.kcmutils as KCM 9 | 10 | import org.kde.kinfocenter.private 1.0 as KInfoCenter 11 | 12 | KInfoCenter.CommandOutputKCM { 13 | output: kcm.infoOutputContext 14 | wrapMode: TextEdit.Wrap 15 | } 16 | -------------------------------------------------------------------------------- /kcms/egl/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | # SPDX-License-Identifier: BSD-3-Clause 2 | # SPDX-FileCopyrightText: 2021 Harald Sitter 3 | 4 | find_package(eglinfo) 5 | set_package_properties(eglinfo PROPERTIES TYPE RUNTIME) 6 | 7 | add_definitions(-DTRANSLATION_DOMAIN=\"kcm_egl\") 8 | 9 | kinfocenter_add_kcm(kcm_egl MODULE main.cpp) 10 | target_link_libraries(kcm_egl PRIVATE KF6::CoreAddons KF6::KCMUtilsQuick KF6::I18n KInfoCenterInternal) 11 | -------------------------------------------------------------------------------- /kcms/wayland/ui/main.qml: -------------------------------------------------------------------------------- 1 | /* 2 | SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted-GPL 3 | SPDX-FileCopyrightText: 2021 Harald Sitter 4 | */ 5 | 6 | import QtQuick 2.5 7 | 8 | import org.kde.kcmutils as KCM 9 | 10 | import org.kde.kinfocenter.private 1.0 as KInfoCenter 11 | 12 | KInfoCenter.CommandOutputKCM { 13 | output: kcm.infoOutputContext 14 | wrapMode: TextEdit.Wrap 15 | } 16 | -------------------------------------------------------------------------------- /kcms/vulkan/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | # SPDX-License-Identifier: BSD-3-Clause 2 | # SPDX-FileCopyrightText: 2021 Harald Sitter 3 | 4 | find_package(vulkaninfo) 5 | set_package_properties(vulkaninfo PROPERTIES TYPE RUNTIME) 6 | 7 | add_definitions(-DTRANSLATION_DOMAIN=\"kcm_vulkan\") 8 | 9 | kinfocenter_add_kcm(kcm_vulkan main.cpp) 10 | target_link_libraries(kcm_vulkan PRIVATE KF6::CoreAddons KF6::KCMUtilsQuick KF6::I18n KInfoCenterInternal) 11 | -------------------------------------------------------------------------------- /kcms/xserver/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | # SPDX-License-Identifier: BSD-3-Clause 2 | # SPDX-FileCopyrightText: 2021 Harald Sitter 3 | 4 | find_package(xdpyinfo) 5 | set_package_properties(xdpyinfo PROPERTIES TYPE RUNTIME) 6 | 7 | add_definitions(-DTRANSLATION_DOMAIN=\"kcm_xserver\") 8 | 9 | kinfocenter_add_kcm(kcm_xserver main.cpp) 10 | target_link_libraries(kcm_xserver PRIVATE KF6::CoreAddons KF6::KCMUtilsQuick KF6::I18n KInfoCenterInternal) 11 | -------------------------------------------------------------------------------- /kcms/usbview/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | # KI18N Translation Domain for this library 2 | add_definitions(-DTRANSLATION_DOMAIN=\"kcmusb\") 3 | 4 | set(kcm_usb_PART_SRCS kcmusb.cpp 5 | kcmusb.h 6 | usbdb.cpp 7 | usbdb.h 8 | usbdevices.cpp 9 | usbdevices.h ) 10 | 11 | kcoreaddons_add_plugin(kcm_usb SOURCES ${kcm_usb_PART_SRCS} INSTALL_NAMESPACE "plasma/kcms/kinfocenter") 12 | 13 | target_link_libraries(kcm_usb KF6::KCMUtils KF6::I18n Libusb-1.0) 14 | -------------------------------------------------------------------------------- /kcms/about-distro/src/PlasmaEntry.h: -------------------------------------------------------------------------------- 1 | /* 2 | SPDX-FileCopyrightText: 2012-2020 Harald Sitter 3 | SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted-GPL 4 | */ 5 | 6 | #ifndef PLASMAENTRY_H 7 | #define PLASMAENTRY_H 8 | 9 | #include "Entry.h" 10 | 11 | class PlasmaEntry : public Entry 12 | { 13 | public: 14 | PlasmaEntry(); 15 | static QString plasmaVersion(); 16 | }; 17 | 18 | #endif // PLASMAENTRY_H 19 | -------------------------------------------------------------------------------- /kcms/sensors/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | # SPDX-License-Identifier: BSD-3-Clause 2 | # SPDX-FileCopyrightText: 2025 Thomas Duckworth 3 | 4 | find_package(sensors) 5 | set_package_properties(sensors PROPERTIES TYPE RUNTIME) 6 | 7 | add_definitions(-DTRANSLATION_DOMAIN=\"kcm_sensors\") 8 | 9 | kinfocenter_add_kcm(kcm_sensors main.cpp) 10 | target_link_libraries(kcm_sensors PRIVATE KF6::CoreAddons KF6::KCMUtilsQuick KF6::I18n KInfoCenterInternal) 11 | -------------------------------------------------------------------------------- /kcms/audio_information/ui/main.qml: -------------------------------------------------------------------------------- 1 | /* 2 | SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted-GPL 3 | SPDX-FileCopyrightText: 2024 Shubham Arora 4 | */ 5 | 6 | import QtQuick 2.5 7 | 8 | import org.kde.kcmutils as KCM 9 | 10 | import org.kde.kinfocenter.private 1.0 as KInfoCenter 11 | 12 | KInfoCenter.CommandOutputKCM { 13 | output: kcm.infoOutputContext 14 | wrapMode: TextEdit.Wrap 15 | } 16 | -------------------------------------------------------------------------------- /kcms/block_devices/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | # SPDX-License-Identifier: BSD-3-Clause 2 | # SPDX-FileCopyrightText: 2024 Harald Sitter 3 | 4 | find_package(lsblk) 5 | set_package_properties(lsblk PROPERTIES TYPE RUNTIME) 6 | 7 | add_definitions(-DTRANSLATION_DOMAIN=\"kcm_block_devices\") 8 | 9 | kinfocenter_add_kcm(kcm_block_devices main.cpp) 10 | target_link_libraries(kcm_block_devices PRIVATE KF6::CoreAddons KF6::KCMUtilsQuick KF6::I18n KInfoCenterInternal) 11 | -------------------------------------------------------------------------------- /.gitlab-ci.yml: -------------------------------------------------------------------------------- 1 | # SPDX-FileCopyrightText: None 2 | # SPDX-License-Identifier: CC0-1.0 3 | 4 | include: 5 | - project: sysadmin/ci-utilities 6 | file: 7 | - /gitlab-templates/linux-qt6.yml 8 | - /gitlab-templates/freebsd-qt6.yml 9 | - /gitlab-templates/xml-lint.yml 10 | - /gitlab-templates/yaml-lint.yml 11 | - /gitlab-templates/qml-lint.yml 12 | - /gitlab-templates/linux-qt6-next.yml 13 | - /gitlab-templates/documentation.yml 14 | -------------------------------------------------------------------------------- /kcms/kwinsupportinfo/ui/main.qml: -------------------------------------------------------------------------------- 1 | /* 2 | SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted-GPL 3 | SPDX-FileCopyrightText: 2021 Harald Sitter 4 | SPDX-FileCopyrightText: 2022 Nate Graham 5 | */ 6 | 7 | import QtQuick 2.5 8 | 9 | import org.kde.kcmutils as KCM 10 | 11 | import org.kde.kinfocenter.private 1.0 as KInfoCenter 12 | 13 | KInfoCenter.CommandOutputKCM { 14 | output: kcm.infoOutputContext 15 | } 16 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | # SPDX-License-Identifier: CC0-1.0 2 | # SPDX-FileCopyrightText: none 3 | 4 | *~ 5 | *.[oa] 6 | *.diff 7 | *.kate-swp 8 | *.kdev4 9 | .kdev_include_paths 10 | *.kdevelop.pcs 11 | *.moc 12 | *.moc.cpp 13 | *.orig 14 | *.user 15 | .*.swp 16 | .swp.* 17 | Doxyfile 18 | Makefile 19 | avail 20 | random_seed 21 | /build*/ 22 | CMakeLists.txt.user* 23 | *.unc-backup* 24 | .clang-format 25 | /compile_commands.json 26 | .clangd 27 | .idea 28 | /cmake-build* 29 | .cache 30 | .vscode/ 31 | -------------------------------------------------------------------------------- /kcms/about-distro/src/Version.h.cmake: -------------------------------------------------------------------------------- 1 | /* 2 | SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted-GPL 3 | SPDX-FileCopyrightText: 2012-2021 Harald Sitter 4 | */ 5 | 6 | #ifndef VERSION_H 7 | #define VERSION_H 8 | 9 | // NOTE: we want the cmakedefine so undefined cmake variables result in undefined macros result in build failures when they are used! 10 | #cmakedefine PROJECT_VERSION "@PROJECT_VERSION@" 11 | 12 | #endif // VERSION_H 13 | -------------------------------------------------------------------------------- /kcms/audio_information/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | # SPDX-License-Identifier: BSD-3-Clause 2 | # SPDX-FileCopyrightText: 2024 Shubham Arora 3 | 4 | find_package(pipewire) 5 | set_package_properties(pipewire PROPERTIES TYPE RUNTIME) 6 | 7 | add_definitions(-DTRANSLATION_DOMAIN=\"kcm_audio_information\") 8 | 9 | kinfocenter_add_kcm(kcm_audio_information main.cpp) 10 | target_link_libraries(kcm_audio_information PRIVATE KF6::CoreAddons KF6::KCMUtilsQuick KF6::I18n KInfoCenterInternal) -------------------------------------------------------------------------------- /kcms/opencl/ui/main.qml: -------------------------------------------------------------------------------- 1 | /* 2 | SPDX-FileCopyrightText: 2021 Harald Sitter 3 | SPDX-FileCopyrightText: 2022 Linus Dierheimer 4 | 5 | SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted-GPL 6 | */ 7 | 8 | import QtQuick 2.5 9 | 10 | import org.kde.kcmutils as KCM 11 | 12 | import org.kde.kinfocenter.private 1.0 as KInfoCenter 13 | 14 | KInfoCenter.CommandOutputKCM { 15 | output: kcm.infoOutputContext 16 | } 17 | -------------------------------------------------------------------------------- /kcms/about-distro/src/KernelEntry.h: -------------------------------------------------------------------------------- 1 | /* 2 | SPDX-FileCopyrightText: 2012-2020 Harald Sitter 3 | SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted-GPL 4 | */ 5 | 6 | #ifndef KERNELENTRY_H 7 | #define KERNELENTRY_H 8 | 9 | #include "Entry.h" 10 | 11 | class KernelEntry : public Entry 12 | { 13 | public: 14 | KernelEntry(); 15 | QString localizedValue(Language language = Language::System) const override; 16 | }; 17 | 18 | #endif // KERNELENTRY_H 19 | -------------------------------------------------------------------------------- /cmake/FindSystemSettings.cmake: -------------------------------------------------------------------------------- 1 | # This module defines the following variables: 2 | # 3 | # SystemSettings_FOUND - true if found 4 | # SystemSettings_PATH - path to the bin (only when found) 5 | # 6 | # SPDX-License-Identifier: BSD-2-Clause 7 | # SPDX-FileCopyrightText: 2020-2021 Harald Sitter 8 | 9 | include(ProgramFinder) 10 | program_finder(systemsettings 11 | PATHS ${KDE_INSTALL_FULL_BINDIR} # We symlink by absolute path, so this is the only valid location! 12 | NO_DEFAULT_PATH 13 | ) 14 | -------------------------------------------------------------------------------- /kcms/about-distro/src/GraphicsPlatformEntry.h: -------------------------------------------------------------------------------- 1 | /* 2 | SPDX-FileCopyrightText: 2021 Méven Car 3 | SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted-GPL 4 | */ 5 | 6 | #ifndef GRAPHICSPLATFORMENTRY_H 7 | #define GRAPHICSPLATFORMENTRY_H 8 | 9 | #include "Entry.h" 10 | 11 | class GraphicsPlatformEntry : public Entry 12 | { 13 | public: 14 | GraphicsPlatformEntry(); 15 | static QString graphicsPlatform(); 16 | }; 17 | 18 | #endif // GRAPHICSPLATFORMENTRY_H 19 | -------------------------------------------------------------------------------- /kcms/opencl/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | # SPDX-FileCopyrightText: 2021 Harald Sitter 2 | # SPDX-FileCopyrightText: 2022 Linus Dierheimer 3 | # 4 | # SPDX-License-Identifier: BSD-3-Clause 5 | 6 | find_package(clinfo) 7 | set_package_properties(clinfo PROPERTIES TYPE RUNTIME) 8 | 9 | add_definitions(-DTRANSLATION_DOMAIN=\"kcm_opencl\") 10 | 11 | kinfocenter_add_kcm(kcm_opencl main.cpp) 12 | target_link_libraries(kcm_opencl PRIVATE KF6::CoreAddons KF6::KCMUtilsQuick KF6::I18n KInfoCenterInternal) 13 | -------------------------------------------------------------------------------- /kcms/samba/org.freedesktop.Avahi.Server.xml: -------------------------------------------------------------------------------- 1 | 2 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /kcms/edid/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | # SPDX-License-Identifier: BSD-3-Clause 2 | # SPDX-FileCopyrightText: 2021-2024 Harald Sitter 3 | 4 | find_package(di-edid-decode) 5 | set_package_properties(di-edid-decode PROPERTIES TYPE RUNTIME) 6 | 7 | add_definitions(-DTRANSLATION_DOMAIN=\"kcm_edid\") 8 | 9 | kinfocenter_add_kcm(kcm_edid main.cpp) 10 | target_link_libraries(kcm_edid PRIVATE KF6::CoreAddons KF6::KCMUtilsQuick KF6::I18n KInfoCenterInternal) 11 | 12 | install(FILES edid.sh DESTINATION ${KDE_INSTALL_DATADIR}/kinfocenter/edid) 13 | -------------------------------------------------------------------------------- /kcms/samba/autotests/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | # SPDX-License-Identifier: BSD-3-Clause 2 | # SPDX-FileCopyrightText: 2020 Harald Sitter 3 | 4 | if(NOT BUILD_TESTING) 5 | return() 6 | endif() 7 | 8 | remove_definitions(-DQT_NO_CAST_FROM_ASCII) 9 | 10 | find_package(Qt6Test ${QT_MIN_VERSION} CONFIG REQUIRED) 11 | 12 | include(ECMAddTests) 13 | 14 | ecm_add_tests( 15 | ksambasharemodeltest.cpp 16 | smbmountmodeltest.cpp 17 | LINK_LIBRARIES 18 | Qt::Core 19 | Qt::Test 20 | kcm_samba_static 21 | ) 22 | -------------------------------------------------------------------------------- /kcms/kwinsupportinfo/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | # SPDX-License-Identifier: BSD-3-Clause 2 | # SPDX-FileCopyrightText: 2021 Harald Sitter 3 | # SPDX-FileCopyrightText: 2022 Nate Graham 4 | 5 | add_definitions(-DTRANSLATION_DOMAIN=\"kcm_kwinsupportinfo\") 6 | 7 | kinfocenter_add_kcm(kcm_kwinsupportinfo main.cpp) 8 | target_link_libraries(kcm_kwinsupportinfo PRIVATE KF6::CoreAddons KF6::KCMUtilsQuick KF6::I18n KInfoCenterInternal) 9 | configure_file(kcm_kwinsupportinfo.json.in ${CMAKE_CURRENT_BINARY_DIR}/kcm_kwinsupportinfo.json @ONLY) 10 | -------------------------------------------------------------------------------- /kcms/wayland/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | # SPDX-License-Identifier: BSD-3-Clause 2 | # SPDX-FileCopyrightText: 2021 Harald Sitter 3 | 4 | find_package(wayland-info) 5 | set_package_properties(wayland-info PROPERTIES 6 | TYPE RUNTIME 7 | URL "https://gitlab.freedesktop.org/wayland/wayland-utils" 8 | PURPOSE "Wayland KCM") 9 | 10 | add_definitions(-DTRANSLATION_DOMAIN=\"kcm_wayland\") 11 | 12 | kinfocenter_add_kcm(kcm_wayland main.cpp) 13 | target_link_libraries(kcm_wayland PRIVATE KF6::CoreAddons KF6::KCMUtilsQuick KF6::I18n KInfoCenterInternal) 14 | -------------------------------------------------------------------------------- /kcms/energy/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | # KI18N Translation Domain for this library 2 | add_definitions(-DTRANSLATION_DOMAIN=\"kcm_energyinfo\") 3 | 4 | set(kcm_energyinfo_SRCS 5 | batterymodel.cpp 6 | batterymodel.h 7 | kcm.cpp 8 | statisticsprovider.cpp 9 | statisticsprovider.h 10 | ) 11 | 12 | kcmutils_add_qml_kcm(kcm_energyinfo SOURCES ${kcm_energyinfo_SRCS} INSTALL_NAMESPACE "plasma/kcms") 13 | 14 | target_link_libraries(kcm_energyinfo PRIVATE 15 | Qt::DBus 16 | Qt::Gui 17 | KF6::CoreAddons 18 | KF6::I18n 19 | KF6::KCMUtilsQuick 20 | KF6::Solid 21 | ) 22 | -------------------------------------------------------------------------------- /kcms/about-distro/src/OSVersionEntry.h: -------------------------------------------------------------------------------- 1 | /* 2 | SPDX-FileCopyrightText: 2022 Jeremy Whiting 3 | SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted-GPL 4 | */ 5 | 6 | #pragma once 7 | 8 | #include "Entry.h" 9 | 10 | class OSVersionEntry : public Entry 11 | { 12 | public: 13 | OSVersionEntry(const QString &distroName, const QString &versionId, const QString &buildId); 14 | QString localizedValue(Language language = Language::System) const override; 15 | 16 | private: 17 | KLocalizedString m_nameVersion; 18 | }; 19 | -------------------------------------------------------------------------------- /kcms/memory/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | # SPDX-License-Identifier: BSD-3-Clause 2 | # SPDX-FileCopyrightText: 2024 Thomas Duckworth 3 | # SPDX-FileCopyrightText: 2024 Kristen McWilliam 4 | 5 | find_package(dmidecode) 6 | set_package_properties(dmidecode PROPERTIES TYPE RUNTIME) 7 | 8 | add_definitions(-DTRANSLATION_DOMAIN=\"kcm_memory\") 9 | 10 | kinfocenter_add_kcm(kcm_memory main.cpp) 11 | target_link_libraries(kcm_memory PRIVATE 12 | KF6::AuthCore 13 | KF6::CoreAddons 14 | KF6::KCMUtilsQuick 15 | KF6::I18n 16 | KInfoCenterInternal 17 | ) 18 | -------------------------------------------------------------------------------- /kcms/network/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | # SPDX-License-Identifier: BSD-3-Clause 2 | # SPDX-FileCopyrightText: 2024 Harald Sitter 3 | 4 | find_package(ip) 5 | set_package_properties(ip PROPERTIES TYPE RUNTIME) 6 | 7 | find_package(aha) 8 | set_package_properties(aha PROPERTIES TYPE RUNTIME) 9 | 10 | add_definitions(-DTRANSLATION_DOMAIN=\"kcm_network\") 11 | 12 | kinfocenter_add_kcm(kcm_network main.cpp) 13 | target_link_libraries(kcm_network PRIVATE Qt::Gui KF6::CoreAddons KF6::KCMUtilsQuick KF6::I18n KInfoCenterInternal) 14 | 15 | install(FILES ip.sh DESTINATION ${KDE_INSTALL_DATADIR}/kinfocenter/network) 16 | -------------------------------------------------------------------------------- /kcms/samba/autotests/smbmountmodeltest.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | SPDX-FileCopyrightText: 2020 Harald Sitter 3 | SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted-GPL 4 | */ 5 | 6 | #include 7 | #include 8 | 9 | #include "../smbmountmodel.h" 10 | 11 | class SmbMountModelTest : public QObject 12 | { 13 | Q_OBJECT 14 | private Q_SLOTS: 15 | void testModel() 16 | { 17 | QAbstractItemModelTester tester(new SmbMountModel); 18 | } 19 | }; 20 | 21 | QTEST_GUILESS_MAIN(SmbMountModelTest) 22 | 23 | #include "smbmountmodeltest.moc" 24 | -------------------------------------------------------------------------------- /kcms/about-distro/README: -------------------------------------------------------------------------------- 1 | 5 | 6 | See example/*. 7 | 8 | Essentially you place an rc file in the file system that defines the distro logo 9 | and website url. The file ought to be in some XDG_CONFIG_DIRS dir. 10 | 11 | Do note that the LogoPath may also be an icon name that gets resolved through 12 | the icon theme. Ideally the logo should be an SVG so as to be scalable for 13 | different screen resolutions. 14 | 15 | e.g. 16 | pkexec cp `pwd`/example/kcm-about-distrorc.ex /etc/xdg/kcm-about-distrorc 17 | -------------------------------------------------------------------------------- /kcms/samba/org.freedesktop.DBus.Properties.xml: -------------------------------------------------------------------------------- 1 | 2 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /kcms/about-distro/src/FancyString.h: -------------------------------------------------------------------------------- 1 | /* 2 | SPDX-FileCopyrightText: 2012-2020 Harald Sitter 3 | SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted-GPL 4 | */ 5 | 6 | #ifndef FANCYSTRING_H 7 | #define FANCYSTRING_H 8 | 9 | #include 10 | 11 | namespace FancyString 12 | { 13 | // Turns ugly '(R)' '(TM)' ascii into unicode. 14 | QString fromUgly(const QString &string); 15 | // Turns renderer string into a fancy string (drops excess parentheses and such). 16 | QString fromRenderer(const QString &renderer); 17 | } // namespace FancyString 18 | 19 | #endif // FANCYSTRING_H 20 | -------------------------------------------------------------------------------- /kcms/about-distro/src/CPUEntry.h: -------------------------------------------------------------------------------- 1 | /* 2 | SPDX-FileCopyrightText: 2012-2021 Harald Sitter 3 | SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted-GPL 4 | */ 5 | 6 | #ifndef CPUENTRY_H 7 | #define CPUENTRY_H 8 | 9 | #include 10 | 11 | #include "Entry.h" 12 | 13 | class CPUEntry : public Entry 14 | { 15 | public: 16 | CPUEntry(); 17 | QString localizedValue(Language language = Language::System) const override; 18 | 19 | private: 20 | const QList m_cpus = Solid::Device::listFromType(Solid::DeviceInterface::Processor); 21 | }; 22 | 23 | #endif // CPUENTRY_H 24 | -------------------------------------------------------------------------------- /kcms/edid/edid.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | # SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted-GPL 3 | # SPDX-FileCopyrightText: 2024 Harald Sitter 4 | 5 | set -eu 6 | 7 | for card in /sys/class/drm/card*; do 8 | edid="$card/edid" 9 | if [ ! -e "$edid" ]; then 10 | continue 11 | fi 12 | 13 | # Try to read any data. If it fails continue. This prevents errors from di-edid-decode. 14 | IFS= read -r data < "$edid" || continue 15 | 16 | data=$(di-edid-decode "$edid" 2>&1) || true 17 | printf "# %s #######################\n" "$(basename "$card")" 18 | printf "%s\n\n" "$data" 19 | done 20 | -------------------------------------------------------------------------------- /kcms/firmware_security/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | # SPDX-License-Identifier: BSD-3-Clause 2 | # SPDX-FileCopyrightText: 2021-2022 Harald Sitter 3 | 4 | find_package(fwupdmgr) 5 | set_package_properties(fwupdmgr PROPERTIES TYPE RUNTIME) 6 | 7 | find_package(aha) 8 | set_package_properties(aha PROPERTIES TYPE RUNTIME) 9 | 10 | add_definitions(-DTRANSLATION_DOMAIN=\"kcm_firmware_security\") 11 | 12 | kinfocenter_add_kcm(kcm_firmware_security main.cpp) 13 | target_link_libraries(kcm_firmware_security PRIVATE KF6::CoreAddons KF6::KCMUtilsQuick KF6::I18n KInfoCenterInternal) 14 | 15 | install(FILES fwupdmgr.sh DESTINATION ${KDE_INSTALL_DATADIR}/kinfocenter/firmware_security) 16 | -------------------------------------------------------------------------------- /kcms/samba/autotests/ksambasharemodeltest.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | SPDX-FileCopyrightText: 2020 Harald Sitter 3 | SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted-GPL 4 | */ 5 | 6 | #include 7 | #include 8 | 9 | #include "../ksambasharemodel.h" 10 | 11 | class KSambaShareModelTest : public QObject 12 | { 13 | Q_OBJECT 14 | private Q_SLOTS: 15 | void testModel() 16 | { 17 | QAbstractItemModelTester tester(new KSambaShareModel, QAbstractItemModelTester::FailureReportingMode::QtTest); 18 | } 19 | }; 20 | 21 | QTEST_GUILESS_MAIN(KSambaShareModelTest) 22 | 23 | #include "ksambasharemodeltest.moc" 24 | -------------------------------------------------------------------------------- /kcms/helpers/dmidecode-helper/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | # SPDX-License-Identifier: BSD-3-Clause 2 | # SPDX-FileCopyrightText: 2021-2022 Harald Sitter 3 | 4 | find_package(dmidecode) 5 | set_package_properties(dmidecode PROPERTIES TYPE RUNTIME) 6 | 7 | add_executable(kinfocenter-dmidecode-helper helper.cpp) 8 | target_link_libraries(kinfocenter-dmidecode-helper 9 | Qt::Widgets 10 | KF6::AuthCore 11 | KF6::I18n 12 | ) 13 | 14 | kauth_install_actions(org.kde.kinfocenter.dmidecode org.kde.kinfocenter.dmidecode.actions) 15 | kauth_install_helper_files(kinfocenter-dmidecode-helper org.kde.kinfocenter.dmidecode root) 16 | install(TARGETS kinfocenter-dmidecode-helper DESTINATION ${KAUTH_HELPER_INSTALL_DIR}) 17 | -------------------------------------------------------------------------------- /LICENSES/LicenseRef-KDE-Accepted-GPL.txt: -------------------------------------------------------------------------------- 1 | This library is free software; you can redistribute it and/or 2 | modify it under the terms of the GNU General Public License as 3 | published by the Free Software Foundation; either version 3 of 4 | the license or (at your option) at any later version that is 5 | accepted by the membership of KDE e.V. (or its successor 6 | approved by the membership of KDE e.V.), which shall act as a 7 | proxy as defined in Section 14 of version 3 of the license. 8 | 9 | This program is distributed in the hope that it will be useful, 10 | but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 | GNU General Public License for more details. 13 | -------------------------------------------------------------------------------- /LICENSES/LicenseRef-KDE-Accepted-LGPL.txt: -------------------------------------------------------------------------------- 1 | This library is free software; you can redistribute it and/or 2 | modify it under the terms of the GNU Lesser General Public 3 | License as published by the Free Software Foundation; either 4 | version 3 of the license or (at your option) any later version 5 | that is accepted by the membership of KDE e.V. (or its successor 6 | approved by the membership of KDE e.V.), which shall act as a 7 | proxy as defined in Section 6 of version 3 of the license. 8 | 9 | This program is distributed in the hope that it will be useful, 10 | but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 | GNU General Public License for more details. 13 | -------------------------------------------------------------------------------- /kcms/usbview/usbdb.h: -------------------------------------------------------------------------------- 1 | /* 2 | * SPDX-FileCopyrightText: 2001 Matthias Hoelzer-Kluepfel 3 | * SPDX-License-Identifier: GPL-2.0-or-later 4 | */ 5 | 6 | #ifndef __USB_DB_H__ 7 | #define __USB_DB_H__ 8 | 9 | #include 10 | #include 11 | 12 | #include 13 | 14 | class USBDB 15 | { 16 | public: 17 | USBDB(); 18 | 19 | QString vendor(uint16_t id) const; 20 | QString device(uint16_t vendor, uint16_t id) const; 21 | 22 | QString cls(uint8_t cls) const; 23 | QString subclass(uint8_t cls, uint8_t sub) const; 24 | QString protocol(uint8_t cls, uint8_t sub, uint8_t prot) const; 25 | 26 | private: 27 | QMap _classes; 28 | QMap _ids; 29 | }; 30 | 31 | #endif 32 | -------------------------------------------------------------------------------- /kcms/about-distro/src/GPUEntry.h: -------------------------------------------------------------------------------- 1 | /* 2 | SPDX-FileCopyrightText: 2016 Rohan Garg 3 | SPDX-FileCopyrightText: 2020 Harald Sitter 4 | SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted-GPL 5 | */ 6 | 7 | #ifndef GPUENTRY_H 8 | #define GPUENTRY_H 9 | 10 | #include 11 | 12 | #include "Entry.h" 13 | 14 | class GPUEntry : public Entry 15 | { 16 | public: 17 | struct Device { 18 | QString name; 19 | VkPhysicalDeviceType type; 20 | }; 21 | 22 | GPUEntry(std::optional deviceIndex, const Device &device); 23 | [[nodiscard]] Hint localizedHint(Language language = Language::System) const override; 24 | 25 | private: 26 | Device m_device; 27 | }; 28 | 29 | #endif // GPUENTRY_H 30 | -------------------------------------------------------------------------------- /cmake/ProgramFinder.cmake: -------------------------------------------------------------------------------- 1 | # SPDX-License-Identifier: BSD-2-Clause 2 | # SPDX-FileCopyrightText: 2021 Harald Sitter 3 | 4 | # Finds a random program as cmake package. Useful to find runtime deps. 5 | # Excess call arguments are passed to the internal find_program() call. 6 | # 7 | # $package_FOUND - true if found 8 | # $package_PATH - path to the bin (only when found) 9 | macro(program_finder program) 10 | find_program(${CMAKE_FIND_PACKAGE_NAME}_PATH ${program} ${ARGN}) 11 | 12 | include(FindPackageHandleStandardArgs) 13 | find_package_handle_standard_args(${CMAKE_FIND_PACKAGE_NAME} 14 | FOUND_VAR ${CMAKE_FIND_PACKAGE_NAME}_FOUND 15 | REQUIRED_VARS ${CMAKE_FIND_PACKAGE_NAME}_PATH 16 | ) 17 | mark_as_advanced(${CMAKE_FIND_PACKAGE_NAME}_PATH) 18 | endmacro() 19 | -------------------------------------------------------------------------------- /kcms/about-distro/src/KernelEntry.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | SPDX-FileCopyrightText: 2012-2020 Harald Sitter 3 | SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted-GPL 4 | */ 5 | 6 | #include "KernelEntry.h" 7 | 8 | #include 9 | 10 | KernelEntry::KernelEntry() 11 | : Entry(ki18n("Kernel Version:"), QString()) 12 | { 13 | } 14 | 15 | QString KernelEntry::localizedValue(Language language) const 16 | { 17 | struct utsname utsName; 18 | if (uname(&utsName) != 0) { 19 | return QString(); 20 | } 21 | const int bits = QT_POINTER_SIZE == 8 ? 64 : 32; 22 | return localize( 23 | ki18nc("@label %1 is the kernel version, %2 CPU bit width (e.g. 32 or 64)", "%1 (%2-bit)").subs(utsName.release).subs(QString::number(bits)), 24 | language); 25 | } 26 | -------------------------------------------------------------------------------- /kcms/about-distro/example/kcm-about-distrorc.ex: -------------------------------------------------------------------------------- 1 | # SPDX-License-Identifier: CC0-1.0 2 | # SPDX-FileCopyrightText: none 3 | [General] 4 | LogoPath=/home/me/kubuntu-circle-small.png 5 | Website=http://www.kubuntu.org 6 | Version=1.2.3 7 | Variant=Unstable Branches 8 | UseOSReleaseVersion=true # controls if os-release's VERSION is used (default=false = use VERSION_ID) 9 | # Scripts to run to get extra software data to show. The scripts need to take care of l10n. When en_US output 10 | # is required the LANGUAGE environment variable will contain **at least** en_US. Simply follow the environment. 11 | # Script output is expected to be a \n separated set of one label (including a terminal colon) and one value e.g. 12 | # VLC Version:\n 13 | # 4.0.0 14 | # Further output is ignored. 15 | ExtraSoftwareData=/usr/bin/myscript;/usr/bin/myotherscript 16 | -------------------------------------------------------------------------------- /kcms/usbview/kcmusb.h: -------------------------------------------------------------------------------- 1 | /* 2 | * SPDX-FileCopyrightText: 2001 Matthias Hoelzer-Kluepfel 3 | * SPDX-License-Identifier: GPL-2.0-or-later 4 | */ 5 | 6 | #ifndef _KCMUSB_H 7 | #define _KCMUSB_H 8 | 9 | #include 10 | 11 | #include 12 | 13 | class QTreeWidget; 14 | class QTreeWidgetItem; 15 | class QTextEdit; 16 | 17 | class USBViewer : public KCModule 18 | { 19 | Q_OBJECT 20 | 21 | public: 22 | explicit USBViewer(QObject *parent, const KPluginMetaData &data); 23 | ~USBViewer() override; 24 | 25 | void load() override; 26 | 27 | protected Q_SLOTS: 28 | 29 | void selectionChanged(QTreeWidgetItem *item); 30 | void refresh(); 31 | 32 | private: 33 | QMap _items; 34 | QTreeWidget *_devices; 35 | QTextEdit *_details; 36 | }; 37 | 38 | #endif 39 | -------------------------------------------------------------------------------- /kcms/samba/main.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | SPDX-FileCopyrightText: 2020 Harald Sitter 3 | SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted-GPL 4 | */ 5 | 6 | #include 7 | 8 | #include "ksambasharemodel.h" 9 | #include "smbmountmodel.h" 10 | 11 | class SambaModule : public KQuickConfigModule 12 | { 13 | Q_OBJECT 14 | public: 15 | SambaModule(QObject *parent, const KPluginMetaData &data) 16 | : KQuickConfigModule(parent, data) 17 | { 18 | qmlRegisterType("org.kde.kinfocenter.samba", 1, 0, "MountModel"); 19 | qmlRegisterType("org.kde.kinfocenter.samba", 1, 0, "ShareModel"); 20 | 21 | setButtons(Help); 22 | } 23 | }; 24 | 25 | K_PLUGIN_CLASS_WITH_JSON(SambaModule, "smbstatus.json") 26 | 27 | #include "main.moc" 28 | -------------------------------------------------------------------------------- /kcms/about-distro/src/GraphicsPlatformEntry.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | SPDX-FileCopyrightText: 2021 Méven Car 3 | SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted-GPL 4 | */ 5 | 6 | #include "GraphicsPlatformEntry.h" 7 | #include 8 | 9 | GraphicsPlatformEntry::GraphicsPlatformEntry() 10 | : Entry(ki18n("Graphics Platform:"), graphicsPlatform()) 11 | { 12 | } 13 | 14 | QString GraphicsPlatformEntry::graphicsPlatform() 15 | { 16 | const QString platformName = QGuiApplication::platformName(); 17 | if (platformName.startsWith(QLatin1String("xcb"), Qt::CaseInsensitive)) { 18 | return QStringLiteral("X11"); 19 | } 20 | if (platformName.startsWith(QLatin1String("wayland"), Qt::CaseInsensitive)) { 21 | return QStringLiteral("Wayland"); 22 | } 23 | return platformName; 24 | } 25 | -------------------------------------------------------------------------------- /kcms/about-distro/src/PlasmaEntry.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | SPDX-FileCopyrightText: 2012-2021 Harald Sitter 3 | SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted-GPL 4 | */ 5 | 6 | #include "PlasmaEntry.h" 7 | 8 | #include 9 | #include 10 | #include 11 | 12 | #include "Version.h" 13 | 14 | PlasmaEntry::PlasmaEntry() 15 | : Entry(ki18n("KDE Plasma Version:"), plasmaVersion()) 16 | { 17 | // Since Plasma version detection isn't based on a library query it can fail 18 | // in weird cases; instead of admitting defeat we simply hide everything :P 19 | if (localizedValue().isEmpty()) { 20 | return; 21 | } 22 | } 23 | 24 | QString PlasmaEntry::plasmaVersion() 25 | { 26 | // KInfoCenter is part of Plasma. Simply show our version! 27 | return QString::fromLatin1(PROJECT_VERSION); 28 | } 29 | -------------------------------------------------------------------------------- /kcms/about-distro/src/ThirdPartyEntry.h: -------------------------------------------------------------------------------- 1 | /* 2 | SPDX-FileCopyrightText: 2023 Jeremy Whiting 3 | SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted-GPL 4 | */ 5 | 6 | #pragma once 7 | 8 | #include "Entry.h" 9 | 10 | class ThirdPartyEntry : public Entry 11 | { 12 | public: 13 | explicit ThirdPartyEntry(const QString &scriptPath); 14 | QString localizedLabel(Language language = Language::System) const override; 15 | QString localizedValue(Language language = Language::System) const override; 16 | 17 | private: 18 | void processOutput(const QStringList &output, Language language); 19 | const QString m_scriptPath; 20 | // Runs the above script with LANGUAGE set and caches results 21 | QMap m_labels; 22 | // Same for values 23 | QMap m_values; 24 | }; 25 | -------------------------------------------------------------------------------- /kcms/about-distro/src/MemoryEntry.h: -------------------------------------------------------------------------------- 1 | /* 2 | SPDX-FileCopyrightText: 2012-2020 Harald Sitter 3 | SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted-GPL 4 | */ 5 | 6 | #ifndef MEMORYENTRY_H 7 | #define MEMORYENTRY_H 8 | 9 | #include "Entry.h" 10 | 11 | class MemoryEntry : public Entry 12 | { 13 | public: 14 | MemoryEntry(); 15 | 16 | // Overwrite to get correct localization for the value. 17 | QString localizedValue(Language language = Language::System) const final; 18 | QString localizedHelp(Language language = Language::System) const final; 19 | 20 | private: 21 | static std::optional calculateTotalRam(); 22 | static std::optional calculateAvailableRam(); 23 | 24 | std::optional m_totalRam = calculateTotalRam(); 25 | std::optional m_availableRam = calculateAvailableRam(); 26 | }; 27 | 28 | #endif // MEMORYENTRY_H 29 | -------------------------------------------------------------------------------- /appiumtests/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | # SPDX-License-Identifier: BSD-2-Clause 2 | # SPDX-FileCopyrightText: 2023 Harald Sitter 3 | 4 | if(NOT BUILD_TESTING OR NOT CMAKE_SYSTEM_NAME MATCHES "Linux") 5 | return() 6 | endif() 7 | 8 | find_package(SeleniumWebDriverATSPI) 9 | set_package_properties(SeleniumWebDriverATSPI PROPERTIES 10 | DESCRIPTION "Server component for selenium tests using Linux accessibility infrastructure" 11 | PURPOSE "Needed for GUI tests" 12 | URL "https://invent.kde.org/sdk/selenium-webdriver-at-spi" 13 | TYPE OPTIONAL 14 | ) 15 | 16 | if(NOT SeleniumWebDriverATSPI_FOUND AND NOT "$ENV{KDECI_BUILD}" STREQUAL "TRUE") # always run on CI 17 | return() 18 | endif() 19 | 20 | add_test( 21 | NAME kinfocenter_appiumtests 22 | COMMAND selenium-webdriver-at-spi-run ${CMAKE_CURRENT_SOURCE_DIR}/kinfocenter_appiumtests.py 23 | ) 24 | set_tests_properties(kinfocenter_appiumtests PROPERTIES TIMEOUT 300) 25 | 26 | -------------------------------------------------------------------------------- /kcms/network/ip.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | # SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted-GPL 3 | # SPDX-FileCopyrightText: 2025 Michał Kula 4 | 5 | set -e 6 | 7 | DARKNESS="$1" 8 | 9 | AHA_ARGS="" 10 | if [ "$DARKNESS" -eq "1" ]; then 11 | # Use colors that look better in dark mode with --black, but revert to initial colors, 12 | # since --black also sets explicit background and text colors to black and white respectively. 13 | AHA_ARGS="--black --style 'color:initial' --style 'background-color:initial'" 14 | fi 15 | 16 | # The sed line prepends a newline before every interface entry other than the first one 17 | # (so before entries in index range 2-9, or anything double-or-more digit). 18 | 19 | # For sed testing please use --posix on GNU sed so you don't end up using gnu-isms. 20 | ip -color -statistics -human-readable address 2>&1 \ 21 | | sed -E 's@^([2-9]|[0-9]{2,}):@\n\1:@g' \ 22 | | aha $AHA_ARGS 23 | -------------------------------------------------------------------------------- /kcms/egl/main.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted-GPL 3 | SPDX-FileCopyrightText: 2021 Harald Sitter 4 | */ 5 | 6 | #include 7 | #include 8 | 9 | #include "CommandOutputContext.h" 10 | 11 | class KCMXServer : public KQuickConfigModule 12 | { 13 | Q_OBJECT 14 | Q_PROPERTY(CommandOutputContext *infoOutputContext READ outputContext CONSTANT FINAL) 15 | public: 16 | explicit KCMXServer(QObject *parent, const KPluginMetaData &data) 17 | : KQuickConfigModule(parent, data) 18 | { 19 | m_outputContext = new CommandOutputContext(QStringLiteral("eglinfo"), {}, parent); 20 | } 21 | CommandOutputContext *outputContext() const 22 | { 23 | return m_outputContext; 24 | } 25 | 26 | private: 27 | CommandOutputContext *m_outputContext; 28 | }; 29 | 30 | K_PLUGIN_CLASS_WITH_JSON(KCMXServer, "kcm_egl.json") 31 | 32 | #include "main.moc" 33 | -------------------------------------------------------------------------------- /kcms/glx/main.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted-GPL 3 | SPDX-FileCopyrightText: 2021 Harald Sitter 4 | */ 5 | 6 | #include 7 | #include 8 | 9 | #include "CommandOutputContext.h" 10 | 11 | class KCMXServer : public KQuickConfigModule 12 | { 13 | Q_OBJECT 14 | Q_PROPERTY(CommandOutputContext *infoOutputContext READ outputContext CONSTANT FINAL) 15 | public: 16 | explicit KCMXServer(QObject *parent, const KPluginMetaData &data) 17 | : KQuickConfigModule(parent, data) 18 | { 19 | m_outputContext = new CommandOutputContext(QStringLiteral("glxinfo"), {}, parent); 20 | } 21 | CommandOutputContext *outputContext() const 22 | { 23 | return m_outputContext; 24 | } 25 | 26 | private: 27 | CommandOutputContext *m_outputContext; 28 | }; 29 | 30 | K_PLUGIN_CLASS_WITH_JSON(KCMXServer, "kcm_glx.json") 31 | 32 | #include "main.moc" 33 | -------------------------------------------------------------------------------- /kcms/vulkan/main.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted-GPL 3 | SPDX-FileCopyrightText: 2021 Harald Sitter 4 | */ 5 | 6 | #include 7 | #include 8 | 9 | #include "CommandOutputContext.h" 10 | 11 | class KCMVulkan : public KQuickConfigModule 12 | { 13 | Q_OBJECT 14 | Q_PROPERTY(CommandOutputContext *infoOutputContext READ outputContext CONSTANT FINAL) 15 | public: 16 | explicit KCMVulkan(QObject *parent, const KPluginMetaData &data) 17 | : KQuickConfigModule(parent, data) 18 | { 19 | m_outputContext = new CommandOutputContext(QStringLiteral("vulkaninfo"), {}, parent); 20 | } 21 | CommandOutputContext *outputContext() const 22 | { 23 | return m_outputContext; 24 | } 25 | 26 | private: 27 | CommandOutputContext *m_outputContext; 28 | }; 29 | 30 | K_PLUGIN_CLASS_WITH_JSON(KCMVulkan, "kcm_vulkan.json") 31 | 32 | #include "main.moc" 33 | -------------------------------------------------------------------------------- /kcms/xserver/main.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted-GPL 3 | SPDX-FileCopyrightText: 2021 Harald Sitter 4 | */ 5 | 6 | #include 7 | #include 8 | 9 | #include "CommandOutputContext.h" 10 | 11 | class KCMXServer : public KQuickConfigModule 12 | { 13 | Q_OBJECT 14 | Q_PROPERTY(CommandOutputContext *infoOutputContext READ outputContext CONSTANT FINAL) 15 | public: 16 | explicit KCMXServer(QObject *parent, const KPluginMetaData &data) 17 | : KQuickConfigModule(parent, data) 18 | { 19 | m_outputContext = new CommandOutputContext(QStringLiteral("xdpyinfo"), {}, parent); 20 | } 21 | CommandOutputContext *outputContext() const 22 | { 23 | return m_outputContext; 24 | } 25 | 26 | private: 27 | CommandOutputContext *m_outputContext; 28 | }; 29 | 30 | K_PLUGIN_CLASS_WITH_JSON(KCMXServer, "kcm_xserver.json") 31 | 32 | #include "main.moc" 33 | -------------------------------------------------------------------------------- /kcms/wayland/main.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted-GPL 3 | SPDX-FileCopyrightText: 2021 Harald Sitter 4 | */ 5 | 6 | #include 7 | #include 8 | 9 | #include "CommandOutputContext.h" 10 | 11 | class KCMWayland : public KQuickConfigModule 12 | { 13 | Q_OBJECT 14 | Q_PROPERTY(CommandOutputContext *infoOutputContext READ outputContext CONSTANT FINAL) 15 | public: 16 | explicit KCMWayland(QObject *parent, const KPluginMetaData &data) 17 | : KQuickConfigModule(parent, data) 18 | { 19 | m_outputContext = new CommandOutputContext(QStringLiteral("wayland-info"), {}, parent); 20 | } 21 | CommandOutputContext *outputContext() const 22 | { 23 | return m_outputContext; 24 | } 25 | 26 | private: 27 | CommandOutputContext *m_outputContext; 28 | }; 29 | 30 | K_PLUGIN_CLASS_WITH_JSON(KCMWayland, "kcm_wayland.json") 31 | 32 | #include "main.moc" 33 | -------------------------------------------------------------------------------- /kcms/cpu/main.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted-GPL 3 | SPDX-FileCopyrightText: 2021 Harald Sitter 4 | */ 5 | 6 | #include 7 | #include 8 | 9 | #include "CommandOutputContext.h" 10 | 11 | class KCMCPU : public KQuickConfigModule 12 | { 13 | Q_OBJECT 14 | Q_PROPERTY(CommandOutputContext *infoOutputContext READ outputContext CONSTANT FINAL) 15 | public: 16 | explicit KCMCPU(QObject *parent, const KPluginMetaData &data) 17 | : KQuickConfigModule(parent, data) 18 | { 19 | m_outputContext = new CommandOutputContext(QStringLiteral("lscpu"), {QStringLiteral("--hierarchic=always")}, parent); 20 | } 21 | CommandOutputContext *outputContext() const 22 | { 23 | return m_outputContext; 24 | } 25 | 26 | private: 27 | CommandOutputContext *m_outputContext; 28 | }; 29 | 30 | K_PLUGIN_CLASS_WITH_JSON(KCMCPU, "kcm_cpu.json") 31 | 32 | #include "main.moc" 33 | -------------------------------------------------------------------------------- /kcms/helpers/dmidecode-helper/helper.h: -------------------------------------------------------------------------------- 1 | // SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted-GPL 2 | // SPDX-FileCopyrightText: 2021 Harald Sitter 3 | // SPDX-FileCopyrightText: 2024 Kristen McWilliam 4 | 5 | #pragma once 6 | 7 | #include 8 | 9 | class DMIDecodeHelper : public QObject 10 | { 11 | Q_OBJECT 12 | 13 | public: 14 | explicit DMIDecodeHelper(QObject *parent = nullptr); 15 | 16 | public Q_SLOTS: 17 | /** 18 | * Retrieves memory (RAM) information from dmidecode. 19 | */ 20 | KAuth::ActionReply memoryinformation(const QVariantMap &args); 21 | 22 | KAuth::ActionReply systeminformation(const QVariantMap &args); 23 | 24 | private: 25 | KAuth::ActionReply executeDmidecode(const QStringList &arguments); 26 | 27 | /** 28 | * Path to the dmidecode binary. 29 | * 30 | * If the binary is not found, this helper will not work. 31 | */ 32 | QString m_dmidecodePath; 33 | }; 34 | -------------------------------------------------------------------------------- /kcms/audio_information/main.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted-GPL 3 | SPDX-FileCopyrightText: 2024 Shubham Arora 4 | */ 5 | 6 | #include 7 | #include 8 | 9 | #include "CommandOutputContext.h" 10 | 11 | class KCMAudioInformation : public KQuickConfigModule 12 | { 13 | Q_OBJECT 14 | Q_PROPERTY(CommandOutputContext *infoOutputContext READ outputContext CONSTANT FINAL) 15 | public: 16 | explicit KCMAudioInformation(QObject *parent, const KPluginMetaData &data) 17 | : KQuickConfigModule(parent, data) 18 | { 19 | m_outputContext = new CommandOutputContext(QStringLiteral("pactl"), {"list"}, parent); 20 | } 21 | CommandOutputContext *outputContext() const 22 | { 23 | return m_outputContext; 24 | } 25 | 26 | private: 27 | CommandOutputContext *m_outputContext; 28 | }; 29 | 30 | K_PLUGIN_CLASS_WITH_JSON(KCMAudioInformation, "kcm_audio_information.json") 31 | 32 | #include "main.moc" 33 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # KInfoCenter 2 | 3 | KInfoCenter is used to display information about your computer's hardware on the KDE desktop. 4 | This repository hosts the modules for it while the main shell is [System Settings](https://invent.kde.org/plasma/systemsettings). 5 | 6 | ## Contributing 7 | KInfoCenter is developed under the KDE umbrella and uses KDE infrastructure 8 | for development. 9 | Please note that pull requests on GitHub aren't supported. The recommended 10 | way of contributing patches is via KDE's instance of GitLab at https://invent.kde.org/plasma/kinfocenter. 11 | 12 | ## Build instructions 13 | Build instructions can be found at https://community.kde.org/Get_Involved/development#Build_some_software. 14 | 15 | ## Release Schedule 16 | KInfoCenter follows the KDE Plasma [release cycle](https://community.kde.org/Schedules/Plasma_5). 17 | 18 | ## Reporting Bugs 19 | Please report bugs at KDE's Bugzilla at https://bugs.kde.org/enter_bug.cgi?product=kinfocenter. 20 | For discussions, the #kde-devel IRC channel and the kde-devel mailing list 21 | are good places to post. 22 | -------------------------------------------------------------------------------- /kcms/opencl/main.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | SPDX-FileCopyrightText: 2021 Harald Sitter 3 | SPDX-FileCopyrightText: 2022 Linus Dierheimer 4 | 5 | SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted-GPL 6 | */ 7 | 8 | #include 9 | #include 10 | 11 | #include "CommandOutputContext.h" 12 | 13 | class KCMOpenCL : public KQuickConfigModule 14 | { 15 | Q_OBJECT 16 | Q_PROPERTY(CommandOutputContext *infoOutputContext READ outputContext CONSTANT FINAL) 17 | public: 18 | explicit KCMOpenCL(QObject *parent, const KPluginMetaData &data) 19 | : KQuickConfigModule(parent, data) 20 | { 21 | m_outputContext = new CommandOutputContext(QStringLiteral("clinfo"), {}, parent); 22 | } 23 | CommandOutputContext *outputContext() const 24 | { 25 | return m_outputContext; 26 | } 27 | 28 | private: 29 | CommandOutputContext *m_outputContext; 30 | }; 31 | 32 | K_PLUGIN_CLASS_WITH_JSON(KCMOpenCL, "kcm_opencl.json") 33 | 34 | #include "main.moc" 35 | -------------------------------------------------------------------------------- /kcms/about-distro/src/FancyString.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | SPDX-FileCopyrightText: 2012-2020 Harald Sitter 3 | SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted-GPL 4 | */ 5 | 6 | #include "FancyString.h" 7 | 8 | namespace FancyString 9 | { 10 | QString fromUgly(const QString &string) 11 | { 12 | QString ugly(string); 13 | ugly.replace(QStringLiteral("(TM)"), QChar(8482)); 14 | ugly.replace(QStringLiteral("(R)"), QChar(174)); 15 | return ugly.trimmed(); 16 | } 17 | 18 | QString fromRenderer(const QString &renderer_) 19 | { 20 | QString renderer = renderer_; 21 | renderer = fromUgly(renderer); 22 | // It seems the renderer value may have excess information in parentheses -> 23 | // strip that. 24 | renderer = renderer.mid(0, renderer.indexOf('(')); 25 | // Leads to trailing space in my case, don't know whether that is happening 26 | // everywhere, though. Thus removing trailing spaces separately. 27 | renderer = renderer.trimmed(); 28 | return renderer; 29 | } 30 | 31 | } // namespace FancyString 32 | -------------------------------------------------------------------------------- /.kde-ci.yml: -------------------------------------------------------------------------------- 1 | # SPDX-FileCopyrightText: None 2 | # SPDX-License-Identifier: CC0-1.0 3 | 4 | Dependencies: 5 | - 'on': ['@all'] 6 | 'require': 7 | 'frameworks/extra-cmake-modules': '@latest-kf6' 8 | 'frameworks/kauth': '@latest-kf6' 9 | 'frameworks/kcmutils': '@latest-kf6' 10 | 'frameworks/kcodecs': '@latest-kf6' 11 | 'frameworks/kcompletion': '@latest-kf6' 12 | 'frameworks/kconfig': '@latest-kf6' 13 | 'frameworks/kcoreaddons': '@latest-kf6' 14 | 'frameworks/ki18n': '@latest-kf6' 15 | 'frameworks/kio': '@latest-kf6' 16 | 'frameworks/kjobwidgets': '@latest-kf6' 17 | 'frameworks/kservice': '@latest-kf6' 18 | 'frameworks/kwindowsystem': '@latest-kf6' 19 | 'frameworks/solid': '@latest-kf6' 20 | 'plasma/systemsettings': '@same' 21 | 'plasma/plasma-systemmonitor': '@same' 22 | 23 | RuntimeDependencies: 24 | - 'on': ['Linux'] 25 | 'require': 26 | 'sdk/selenium-webdriver-at-spi': '@same' 27 | 'plasma/xdg-desktop-portal-kde': '@same' 28 | 29 | Options: 30 | require-passing-tests-on: ['Linux', 'FreeBSD'] 31 | run-qmllint: true 32 | -------------------------------------------------------------------------------- /kcms/sensors/main.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted-GPL 3 | SPDX-FileCopyrightText: 2025 Thomas Duckworth 4 | */ 5 | 6 | #include 7 | #include 8 | 9 | #include "CommandOutputContext.h" 10 | 11 | using namespace Qt::StringLiterals; 12 | 13 | class KCMSensors : public KQuickConfigModule 14 | { 15 | Q_OBJECT 16 | Q_PROPERTY(CommandOutputContext *infoOutputContext READ outputContext CONSTANT FINAL) 17 | public: 18 | explicit KCMSensors(QObject *parent, const KPluginMetaData &data) 19 | : KQuickConfigModule(parent, data) 20 | { 21 | m_outputContext = new CommandOutputContext(u"sensors"_s, {}, parent); 22 | m_outputContext->setAutoRefreshMs(1000); 23 | } 24 | CommandOutputContext *outputContext() const 25 | { 26 | return m_outputContext; 27 | } 28 | 29 | private: 30 | CommandOutputContext *m_outputContext; 31 | }; 32 | 33 | K_PLUGIN_CLASS_WITH_JSON(KCMSensors, "kcm_sensors.json") 34 | 35 | #include "main.moc" 36 | -------------------------------------------------------------------------------- /kcms/memory/ui/main.qml: -------------------------------------------------------------------------------- 1 | /* 2 | SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted-GPL 3 | SPDX-FileCopyrightText: 2024 Thomas Duckworth 4 | SPDX-FileCopyrightText: 2024 Kristen McWilliam 5 | */ 6 | 7 | import QtQuick 2.15 8 | 9 | import org.kde.kirigami 2.20 as Kirigami 10 | import org.kde.kcmutils as KCM 11 | 12 | KCM.SimpleKCM { 13 | id: kcm_memory 14 | Kirigami.Theme.colorSet: Kirigami.Theme.View 15 | Kirigami.Theme.inherit: false 16 | 17 | Kirigami.PlaceholderMessage { 18 | anchors.centerIn: parent 19 | width: parent.width - (Kirigami.Units.largeSpacing * 8) 20 | visible: kcm.memoryInformation === "" 21 | icon.name: "data-warning" 22 | text: i18ndc("kinfocenter", "@info the KCM has no data to display", "No data available") 23 | } 24 | 25 | Kirigami.SelectableLabel { 26 | id: text 27 | text: kcm.memoryInformation 28 | font: Kirigami.Theme.fixedWidthFont 29 | visible: kcm.memoryInformation !== "" 30 | } 31 | } 32 | -------------------------------------------------------------------------------- /kcms/samba/ksambasharemodel.h: -------------------------------------------------------------------------------- 1 | /* 2 | SPDX-FileCopyrightText: 2020 Harald Sitter 3 | SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted-GPL 4 | */ 5 | 6 | #pragma once 7 | 8 | #include 9 | #include 10 | 11 | /** 12 | * Model of KSambaShareData. 13 | */ 14 | class KSambaShareModel : public QAbstractListModel 15 | { 16 | Q_OBJECT 17 | public: 18 | enum class Role { Name = Qt::UserRole + 1, Path, ShareUrl, Comment }; 19 | Q_ENUM(Role) 20 | 21 | explicit KSambaShareModel(QObject *parent = nullptr); 22 | ~KSambaShareModel() override; 23 | 24 | int rowCount(const QModelIndex &parent) const final; 25 | QVariant data(const QModelIndex &index, int intRole) const final; 26 | bool hasChildren(const QModelIndex &parent) const final; 27 | Q_INVOKABLE void showPropertiesDialog(int index); 28 | 29 | QHash roleNames() const final; 30 | 31 | public Q_SLOTS: 32 | void reloadData(); 33 | 34 | private: 35 | QList m_list; 36 | QString m_fqdn; 37 | }; 38 | -------------------------------------------------------------------------------- /kcms/samba/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | # KI18N Translation Domain for this library 2 | add_definitions(-DTRANSLATION_DOMAIN=\"kcm_samba\") 3 | 4 | set(kcm_samba_PART_SRCS 5 | smbmountmodel.cpp 6 | ksambasharemodel.cpp 7 | smbmountmodel.h 8 | ksambasharemodel.h 9 | ) 10 | 11 | qt_add_dbus_interface(kcm_samba_PART_SRCS org.freedesktop.Avahi.Server.xml org.freedesktop.Avahi.Server) 12 | 13 | # Intermediate lib for use in testing. 14 | add_library(kcm_samba_static STATIC ${kcm_samba_PART_SRCS}) 15 | set_property(TARGET kcm_samba_static PROPERTY POSITION_INDEPENDENT_CODE ON) 16 | target_link_libraries(kcm_samba_static 17 | KF6::KIOCore 18 | KF6::Solid 19 | KF6::I18n 20 | KF6::KCMUtils 21 | KF6::KIOWidgets 22 | ) 23 | 24 | set(kcm_samba_SRCS main.cpp) 25 | qt_add_dbus_interface(kcm_samba_SRCS org.freedesktop.DBus.Properties.xml org.freedesktop.DBus.Properties) 26 | kinfocenter_add_kcm(kcm_samba SOURCES ${kcm_samba_SRCS} INSTALL_NAMESPACE "plasma/kcms/kinfocenter") 27 | target_link_libraries(kcm_samba PRIVATE 28 | KF6::KCMUtilsQuick 29 | kcm_samba_static 30 | ) 31 | 32 | add_subdirectory(autotests) 33 | -------------------------------------------------------------------------------- /src/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | # SPDX-License-Identifier: BSD-3-Clause 2 | # SPDX-FileCopyrightText: 2021 Harald Sitter 3 | 4 | add_definitions(-DTRANSLATION_DOMAIN=\"kinfocenter\") 5 | add_library(KInfoCenterInternal SHARED CommandOutputContext.cpp CommandOutputContext.h) 6 | target_link_libraries(KInfoCenterInternal PRIVATE Qt::Qml KF6::I18n KF6::CoreAddons) 7 | target_include_directories(KInfoCenterInternal INTERFACE "$") 8 | 9 | # NB: this is a private library that may not be linked to. Symbol visibility is of no concern. Neither is versioning. 10 | set_target_properties(KInfoCenterInternal 11 | PROPERTIES 12 | C_VISIBILITY_PRESET default 13 | CXX_VISIBILITY_PRESET default 14 | VISIBILITY_INLINES_HIDDEN OFF) 15 | 16 | ecm_add_qml_module(KInfoCenterInternal 17 | URI "org.kde.kinfocenter.private" 18 | VERSION 1.0 19 | GENERATE_PLUGIN_SOURCE 20 | QML_FILES qml/CommandOutputKCM.qml 21 | ) 22 | ecm_finalize_qml_module(KInfoCenterInternal) 23 | 24 | install(TARGETS KInfoCenterInternal ${KDE_INSTALL_TARGETS_DEFAULT_ARGS} LIBRARY NAMELINK_SKIP) 25 | -------------------------------------------------------------------------------- /kcms/pci/main.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted-GPL 3 | SPDX-FileCopyrightText: 2021 Harald Sitter 4 | SPDX-FileCopyrightText: 2022 Tobias C. Berner 5 | */ 6 | 7 | #include 8 | #include 9 | 10 | #include "CommandOutputContext.h" 11 | 12 | #include "backend.h" 13 | 14 | class KCMXServer : public KQuickConfigModule 15 | { 16 | Q_OBJECT 17 | Q_PROPERTY(CommandOutputContext *infoOutputContext READ outputContext CONSTANT FINAL) 18 | 19 | public: 20 | explicit KCMXServer(QObject *parent, const KPluginMetaData &data) 21 | : KQuickConfigModule(parent, data) 22 | { 23 | m_outputContext = new CommandOutputContext(QStringLiteral(PCI_BACKEND), {QStringLiteral(PCI_BACKEND_ARGUMENTS)}, parent); 24 | } 25 | CommandOutputContext *outputContext() const 26 | { 27 | return m_outputContext; 28 | } 29 | 30 | private: 31 | CommandOutputContext *m_outputContext; 32 | }; 33 | 34 | K_PLUGIN_CLASS_WITH_JSON(KCMXServer, "kcm_pci.json") 35 | 36 | #include "main.moc" 37 | -------------------------------------------------------------------------------- /kcms/about-distro/src/OSVersionEntry.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | SPDX-FileCopyrightText: 2022 Jeremy Whiting 3 | SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted-GPL 4 | */ 5 | 6 | #include "OSVersionEntry.h" 7 | 8 | OSVersionEntry::OSVersionEntry(const QString &distroName, const QString &versionId, const QString &buildId) 9 | : Entry(ki18n("Operating System:"), QString()) 10 | { 11 | m_nameVersion = (buildId.isEmpty() ? ki18nc("@label %1 is the distro name, %2 is the version", "%1 %2").subs(distroName).subs(versionId) 12 | : ki18nc("@label %1 is the distro name, %2 is the version, %3 is the 'build' which should be a number, or 'rolling'", 13 | "%1 %2 Build: %3") 14 | .subs(distroName) 15 | .subs(versionId) 16 | .subs(buildId)); 17 | } 18 | 19 | QString OSVersionEntry::localizedValue(Language language) const 20 | { 21 | return localize(m_nameVersion, language); 22 | } 23 | -------------------------------------------------------------------------------- /kcms/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | add_subdirectory(helpers) 2 | 3 | add_subdirectory( about-distro ) 4 | add_subdirectory(vulkan) 5 | add_subdirectory(kwinsupportinfo) 6 | add_subdirectory(cpu) 7 | add_subdirectory(wayland) 8 | add_subdirectory(interrupts) 9 | add_subdirectory(xserver) 10 | add_subdirectory(egl) 11 | add_subdirectory(glx) 12 | add_subdirectory(pci) 13 | add_subdirectory(firmware_security) 14 | add_subdirectory(opencl) 15 | add_subdirectory(block_devices) 16 | add_subdirectory(network) 17 | add_subdirectory(audio_information) 18 | add_subdirectory(memory) 19 | add_subdirectory(edid) 20 | add_subdirectory(sensors) 21 | 22 | add_subdirectory( samba ) 23 | 24 | find_package(USB1 MODULE) 25 | set_package_properties(USB1 PROPERTIES DESCRIPTION "library that provides generic access to USB devices" 26 | URL "https://libusb.info/" 27 | TYPE OPTIONAL 28 | PURPOSE "View USB devices in kinfocenter" 29 | ) 30 | 31 | if(USB1_FOUND) 32 | add_subdirectory( usbview ) 33 | endif() 34 | 35 | if (CMAKE_SYSTEM_NAME MATCHES Linux) 36 | add_subdirectory(energy) 37 | endif() 38 | 39 | -------------------------------------------------------------------------------- /kcms/energy/batterymodel.h: -------------------------------------------------------------------------------- 1 | /* 2 | * SPDX-FileCopyrightText: 2015 Kai Uwe Broulik 3 | * 4 | * SPDX-License-Identifier: GPL-2.0-or-later 5 | */ 6 | 7 | #ifndef KCM_ENERGYINFO_BATTERYMODEL_H 8 | #define KCM_ENERGYINFO_BATTERYMODEL_H 9 | 10 | #include 11 | #include 12 | 13 | #include 14 | #include 15 | 16 | class BatteryModel : public QAbstractListModel 17 | { 18 | Q_OBJECT 19 | 20 | Q_PROPERTY(int count READ rowCount NOTIFY countChanged) 21 | 22 | public: 23 | explicit BatteryModel(QObject *parent); 24 | 25 | enum Roles { 26 | BatteryRole = Qt::UserRole, 27 | UdiRole, 28 | VendorRole, 29 | ProductRole, 30 | }; 31 | Q_ENUM(Roles) 32 | 33 | QVariant data(const QModelIndex &index, int role) const override; 34 | int rowCount(const QModelIndex &parent = QModelIndex()) const override; 35 | QHash roleNames() const override; 36 | 37 | Q_SIGNALS: 38 | void countChanged(); 39 | 40 | private: 41 | QList m_batteries; 42 | }; 43 | 44 | #endif // KCM_ENERGYINFO_BATTERYMODEL_H 45 | -------------------------------------------------------------------------------- /kcms/about-distro/src/ServiceRunner.h: -------------------------------------------------------------------------------- 1 | // SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted-GPL 2 | // SPDX-FileCopyrightText: 2020-2021 Harald Sitter 3 | 4 | #pragma once 5 | 6 | #include 7 | #include 8 | 9 | class ServiceRunner : public QObject 10 | { 11 | Q_OBJECT 12 | Q_PROPERTY(QString desktopFileName READ desktopFileName WRITE setDesktopFileName NOTIFY desktopFileNameChanged) 13 | Q_PROPERTY(QString genericName READ genericName NOTIFY changed) 14 | Q_PROPERTY(QString iconName READ iconName NOTIFY changed) 15 | Q_PROPERTY(bool canRun READ canRun NOTIFY changed) 16 | public: 17 | using QObject::QObject; 18 | 19 | Q_INVOKABLE void run(); 20 | 21 | QString desktopFileName() const; 22 | void setDesktopFileName(const QString &name); 23 | 24 | QString genericName() const; 25 | QString iconName() const; 26 | bool canRun() const; 27 | 28 | Q_SIGNALS: 29 | void desktopFileNameChanged(); 30 | void changed(); 31 | 32 | private: 33 | QString m_desktopFileName; 34 | QString m_genericName; 35 | QString m_iconName; 36 | KService::Ptr m_service{nullptr}; 37 | }; 38 | -------------------------------------------------------------------------------- /categories/networkinfocategory.desktop: -------------------------------------------------------------------------------- 1 | [Desktop Entry] 2 | Type=Service 3 | X-KDE-ServiceTypes=KInfoCenterCategory 4 | X-KDE-KInfoCenter-Category=network_information 5 | Icon=preferences-system-network 6 | X-KDE-Weight=20 7 | 8 | Name=Network 9 | Name[ar]=الشبكة 10 | Name[az]=Şəbəkə 11 | Name[bg]=Мрежа 12 | Name[ca]=Xarxa 13 | Name[ca@valencia]=Xarxa 14 | Name[cs]=Síť 15 | Name[da]=Netværk 16 | Name[de]=Netzwerk 17 | Name[el]=Δίκτυο 18 | Name[en_GB]=Network 19 | Name[eo]=Reto 20 | Name[es]=Red 21 | Name[et]=Võrk 22 | Name[eu]=Sarea 23 | Name[fi]=Verkko 24 | Name[fr]=Réseau 25 | Name[gl]=Rede 26 | Name[he]=רשת 27 | Name[hu]=Hálózat 28 | Name[ia]=Rete 29 | Name[id]=Jaringan 30 | Name[is]=Net 31 | Name[it]=Rete 32 | Name[ja]=ネットワーク 33 | Name[ka]=ქსელი 34 | Name[ko]=네트워크 35 | Name[lt]=Tinklas 36 | Name[lv]=Tīkls 37 | Name[nb]=Nettverk 38 | Name[nl]=Netwerk 39 | Name[nn]=Nettverk 40 | Name[pa]=ਨੈੱਟਵਰਕ 41 | Name[pl]=Sieć 42 | Name[pt]=Rede 43 | Name[pt_BR]=Rede 44 | Name[ro]=Rețea 45 | Name[ru]=Сеть 46 | Name[sa]=जालकृति 47 | Name[sk]=Sieť 48 | Name[sl]=Mreža 49 | Name[sv]=Nätverk 50 | Name[ta]=பிணையம் 51 | Name[tg]=Шабака 52 | Name[tr]=Ağ 53 | Name[uk]=Мережа 54 | Name[vi]=Mạng 55 | Name[zh_CN]=网络 56 | Name[zh_TW]=網路 57 | -------------------------------------------------------------------------------- /kcms/about-distro/src/ServiceRunner.cpp: -------------------------------------------------------------------------------- 1 | // SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted-GPL 2 | // SPDX-FileCopyrightText: 2020-2021 Harald Sitter 3 | 4 | #include "ServiceRunner.h" 5 | 6 | #include 7 | 8 | void ServiceRunner::run() 9 | { 10 | KIO::ApplicationLauncherJob(m_service).start(); 11 | } 12 | 13 | QString ServiceRunner::desktopFileName() const 14 | { 15 | return m_desktopFileName; 16 | } 17 | 18 | void ServiceRunner::setDesktopFileName(const QString &name) 19 | { 20 | m_desktopFileName = name; 21 | m_service = KService::serviceByDesktopName(name); 22 | Q_EMIT desktopFileNameChanged(); 23 | Q_EMIT changed(); 24 | } 25 | 26 | QString ServiceRunner::genericName() const 27 | { 28 | if (m_service) { 29 | return m_service->genericName(); 30 | } 31 | return {}; 32 | } 33 | 34 | QString ServiceRunner::iconName() const 35 | { 36 | if (m_service) { 37 | return m_service->icon(); 38 | } 39 | return {}; 40 | } 41 | 42 | bool ServiceRunner::canRun() const 43 | { 44 | return !m_desktopFileName.isEmpty() && m_service && m_service->isValid(); 45 | } 46 | 47 | #include "moc_ServiceRunner.cpp" 48 | -------------------------------------------------------------------------------- /kcms/interrupts/main.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted-GPL 3 | SPDX-FileCopyrightText: 2021 Harald Sitter 4 | */ 5 | 6 | #include 7 | #include 8 | 9 | #include "CommandOutputContext.h" 10 | 11 | class KCMInterrupts : public KQuickConfigModule 12 | { 13 | Q_OBJECT 14 | Q_PROPERTY(CommandOutputContext *infoOutputContext READ outputContext CONSTANT FINAL) 15 | public: 16 | explicit KCMInterrupts(QObject *parent, const KPluginMetaData &data) 17 | : KQuickConfigModule(parent, data) 18 | { 19 | m_outputContext = 20 | #if defined(Q_OS_FREEBSD) 21 | new CommandOutputContext(QStringLiteral("vmstat"), {QStringLiteral("-i")}, parent); 22 | #else 23 | new CommandOutputContext(QStringLiteral("cat"), {QStringLiteral("/proc/interrupts")}, parent); 24 | m_outputContext->setTrimAllowed(false); 25 | #endif 26 | } 27 | CommandOutputContext *outputContext() const 28 | { 29 | return m_outputContext; 30 | } 31 | 32 | private: 33 | CommandOutputContext *m_outputContext; 34 | }; 35 | 36 | K_PLUGIN_CLASS_WITH_JSON(KCMInterrupts, "kcm_interrupts.json") 37 | 38 | #include "main.moc" 39 | -------------------------------------------------------------------------------- /kcms/pci/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | # SPDX-License-Identifier: BSD-3-Clause 2 | # SPDX-FileCopyrightText: 2021 Harald Sitter 3 | 4 | # Linux has lcpci; effectively it's always there, but it's a runtime 5 | # dependency anyway so we don't need to fail on it. `lspci -v` shows 6 | # a verbose PCI tree. 7 | # 8 | # FreeBSD has pciconf in base; that means that it will always 9 | # be there, so the `find_package()` is there mostly to demonstrate that 10 | # we're looking for it (and not for lspci). `pciconf -lv` shows a verbose 11 | # PCI tree. 12 | if (CMAKE_SYSTEM_NAME STREQUAL "FreeBSD") 13 | find_package(pciconf) 14 | set_package_properties(pciconf PROPERTIES TYPE RUNTIME) 15 | 16 | set(PCI_BACKEND pciconf) 17 | set(PCI_BACKEND_ARGUMENTS "-lv") 18 | else() 19 | find_package(lspci) 20 | set_package_properties(lspci PROPERTIES TYPE RUNTIME) 21 | 22 | set(PCI_BACKEND lspci) 23 | set(PCI_BACKEND_ARGUMENTS "-v") 24 | endif() 25 | 26 | configure_file(kcm_pci.json.cmake kcm_pci.json) 27 | configure_file(backend.h.cmake backend.h) 28 | 29 | add_definitions(-DTRANSLATION_DOMAIN=\"kcm_pci\") 30 | 31 | kinfocenter_add_kcm(kcm_pci main.cpp) 32 | target_link_libraries(kcm_pci PRIVATE KF6::CoreAddons KF6::KCMUtilsQuick KF6::I18n KInfoCenterInternal) 33 | -------------------------------------------------------------------------------- /categories/graphicalinfocategory.desktop: -------------------------------------------------------------------------------- 1 | [Desktop Entry] 2 | Type=Service 3 | X-KDE-ServiceTypes=KInfoCenterCategory 4 | X-KDE-KInfoCenter-Category=graphical_information 5 | Icon=applications-graphics 6 | X-KDE-Weight=40 7 | 8 | Name=Graphics 9 | Name[ar]=الرسوميات 10 | Name[az]=Qrafika 11 | Name[bg]=Графика 12 | Name[ca]=Gràfics 13 | Name[ca@valencia]=Gràfics 14 | Name[cs]=Grafika 15 | Name[da]=Grafik 16 | Name[de]=Grafik 17 | Name[el]=Γραφικά 18 | Name[en_GB]=Graphics 19 | Name[eo]=Grafikoj 20 | Name[es]=Gráficos 21 | Name[et]=Graafika 22 | Name[eu]=Grafikoak 23 | Name[fi]=Grafiikka 24 | Name[fr]=Graphiques 25 | Name[gl]=Gráficos 26 | Name[he]=גרפיקה 27 | Name[hu]=Grafika 28 | Name[ia]=Graphiches 29 | Name[id]=Grafik 30 | Name[is]=Myndvinnsla 31 | Name[it]=Grafica 32 | Name[ja]=グラフィック 33 | Name[ka]=გრაფიკა 34 | Name[ko]=그래픽 35 | Name[lt]=Grafika 36 | Name[lv]=Grafika 37 | Name[nb]=Grafikk 38 | Name[nl]=Grafisch 39 | Name[nn]=Grafikk 40 | Name[pa]=ਗਰਾਫਿਕਸ 41 | Name[pl]=Grafika 42 | Name[pt]=Gráficos 43 | Name[pt_BR]=Gráficos 44 | Name[ro]=Grafică 45 | Name[ru]=Графика 46 | Name[sa]=ग्राफिक्स 47 | Name[sk]=Grafika 48 | Name[sl]=Grafika 49 | Name[sv]=Grafik 50 | Name[ta]=வரைகலை 51 | Name[tr]=Grafikler 52 | Name[uk]=Графіка 53 | Name[vi]=Đồ hoạ 54 | Name[zh_CN]=图形 55 | Name[zh_TW]=圖形 56 | -------------------------------------------------------------------------------- /kcms/edid/main.cpp: -------------------------------------------------------------------------------- 1 | // SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted-GPL 2 | // SPDX-FileCopyrightText: 2021-2024 Harald Sitter 3 | 4 | #include 5 | 6 | #include 7 | #include 8 | 9 | #include "CommandOutputContext.h" 10 | 11 | using namespace Qt::StringLiterals; 12 | 13 | class KCMEdid : public KQuickConfigModule 14 | { 15 | Q_OBJECT 16 | Q_PROPERTY(CommandOutputContext *infoOutputContext READ outputContext CONSTANT FINAL) 17 | public: 18 | explicit KCMEdid(QObject *parent, const KPluginMetaData &data) 19 | : KQuickConfigModule(parent, data) 20 | { 21 | const QString executable = 22 | QStandardPaths::locate(QStandardPaths::GenericDataLocation, QStringLiteral("kinfocenter/edid/edid.sh"), QStandardPaths::LocateFile); 23 | m_outputContext = new CommandOutputContext({QStringLiteral("di-edid-decode")}, QStringLiteral("/bin/sh"), {executable}, parent); 24 | } 25 | [[nodiscard]] CommandOutputContext *outputContext() const 26 | { 27 | return m_outputContext; 28 | } 29 | 30 | private: 31 | CommandOutputContext *m_outputContext; 32 | }; 33 | 34 | K_PLUGIN_CLASS_WITH_JSON(KCMEdid, "kcm_edid.json") 35 | 36 | #include "main.moc" 37 | -------------------------------------------------------------------------------- /kcms/block_devices/main.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted-GPL 3 | SPDX-FileCopyrightText: 2024 Harald Sitter 4 | */ 5 | 6 | #include 7 | #include 8 | 9 | #include "CommandOutputContext.h" 10 | 11 | using namespace Qt::StringLiterals; 12 | 13 | class KCMBlockDevices : public KQuickConfigModule 14 | { 15 | Q_OBJECT 16 | Q_PROPERTY(CommandOutputContext *infoOutputContext READ outputContext CONSTANT FINAL) 17 | public: 18 | explicit KCMBlockDevices(QObject *parent, const KPluginMetaData &data) 19 | : KQuickConfigModule(parent, data) 20 | { 21 | // NOTE: careful when using -o, it tends to incorrectly print multiple mountpoints as a single path 22 | // (e.g. when different btrfs subvolumes are mounted at various points in the system it ought to enumerate all mountpoints) 23 | m_outputContext = new CommandOutputContext(u"lsblk"_s, {}, parent); 24 | } 25 | CommandOutputContext *outputContext() const 26 | { 27 | return m_outputContext; 28 | } 29 | 30 | private: 31 | CommandOutputContext *m_outputContext; 32 | }; 33 | 34 | K_PLUGIN_CLASS_WITH_JSON(KCMBlockDevices, "kcm_block_devices.json") 35 | 36 | #include "main.moc" 37 | -------------------------------------------------------------------------------- /categories/deviceinfocategory.desktop: -------------------------------------------------------------------------------- 1 | [Desktop Entry] 2 | Type=Service 3 | X-KDE-ServiceTypes=KInfoCenterCategory 4 | X-KDE-KInfoCenter-Category=device_information 5 | Icon=hwinfo 6 | X-KDE-Weight=30 7 | 8 | Name=Devices 9 | Name[ar]=الأجهزة 10 | Name[ast]=Preseos 11 | Name[az]=Cihazlar 12 | Name[bg]=Устройства 13 | Name[ca]=Dispositius 14 | Name[ca@valencia]=Dispositius 15 | Name[cs]=Zařízení 16 | Name[da]=Enheder 17 | Name[de]=Geräte 18 | Name[el]=Συσκευές 19 | Name[en_GB]=Devices 20 | Name[eo]=Aparatoj 21 | Name[es]=Dispositivos 22 | Name[et]=Seadmed 23 | Name[eu]=Gailuak 24 | Name[fi]=Laitteet 25 | Name[fr]=Périphériques 26 | Name[gl]=Dispositivos 27 | Name[he]=התקנים 28 | Name[hu]=Eszközök 29 | Name[ia]=Dispositivos 30 | Name[id]=Peranti 31 | Name[is]=Tæki 32 | Name[it]=Dispositivi 33 | Name[ja]=デバイス 34 | Name[ka]=მოწყობილობები 35 | Name[ko]=장치 36 | Name[lt]=Įrenginiai 37 | Name[lv]=Ierīces 38 | Name[nb]=Enheter 39 | Name[nl]=Apparaten 40 | Name[nn]=Einingar 41 | Name[pa]=ਡਿਵਾਈਸ 42 | Name[pl]=Urządzenia 43 | Name[pt]=Dispositivos 44 | Name[pt_BR]=Dispositivos 45 | Name[ro]=Dispozitive 46 | Name[ru]=Устройства 47 | Name[sa]=यन्त्राणि 48 | Name[sk]=Zariadenia 49 | Name[sl]=Naprave 50 | Name[sv]=Enheter 51 | Name[ta]=சாதனங்கள் 52 | Name[tg]=Дастгоҳҳо 53 | Name[tr]=Aygıtlar 54 | Name[uk]=Пристрої 55 | Name[vi]=Thiết bị 56 | Name[zh_CN]=设备 57 | Name[zh_TW]=裝置 58 | -------------------------------------------------------------------------------- /LICENSES/BSD-2-Clause.txt: -------------------------------------------------------------------------------- 1 | Copyright (c) All rights reserved. 2 | 3 | Redistribution and use in source and binary forms, with or without modification, 4 | are permitted provided that the following conditions are met: 5 | 6 | 1. Redistributions of source code must retain the above copyright notice, 7 | this list of conditions and the following disclaimer. 8 | 9 | 2. Redistributions in binary form must reproduce the above copyright notice, 10 | this list of conditions and the following disclaimer in the documentation 11 | and/or other materials provided with the distribution. 12 | 13 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" 14 | AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 15 | IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 16 | ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE 17 | LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 18 | DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR 19 | SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER 20 | CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, 21 | OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE 22 | USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 23 | -------------------------------------------------------------------------------- /kcms/kwinsupportinfo/main.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted-GPL 3 | SPDX-FileCopyrightText: 2021 Harald Sitter 4 | SPDX-FileCopyrightText: 2022 Nate Graham 5 | */ 6 | 7 | #include 8 | #include 9 | #include 10 | 11 | #include "CommandOutputContext.h" 12 | 13 | class KCMKWinSupportInfo : public KQuickConfigModule 14 | { 15 | Q_OBJECT 16 | Q_PROPERTY(CommandOutputContext *infoOutputContext READ outputContext CONSTANT FINAL) 17 | public: 18 | explicit KCMKWinSupportInfo(QObject *parent, const KPluginMetaData &data) 19 | : KQuickConfigModule(parent, data) 20 | { 21 | m_outputContext = new CommandOutputContext(QLibraryInfo::path(QLibraryInfo::BinariesPath) + QStringLiteral("/qdbus"), 22 | {QStringLiteral("org.kde.KWin"), QStringLiteral("/KWin"), QStringLiteral("supportInformation")}, 23 | parent); 24 | } 25 | CommandOutputContext *outputContext() const 26 | { 27 | return m_outputContext; 28 | } 29 | 30 | private: 31 | CommandOutputContext *m_outputContext; 32 | }; 33 | 34 | K_PLUGIN_CLASS_WITH_JSON(KCMKWinSupportInfo, "kcm_kwinsupportinfo.json") 35 | 36 | #include "main.moc" 37 | -------------------------------------------------------------------------------- /kcms/network/main.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted-GPL 3 | SPDX-FileCopyrightText: 2024 Harald Sitter 4 | */ 5 | 6 | #include 7 | #include 8 | #include 9 | 10 | #include 11 | #include 12 | 13 | #include 14 | 15 | using namespace Qt::StringLiterals; 16 | 17 | class KCMNetwork : public KQuickConfigModule 18 | { 19 | Q_OBJECT 20 | Q_PROPERTY(CommandOutputContext *infoOutputContext READ outputContext CONSTANT FINAL) 21 | public: 22 | explicit KCMNetwork(QObject *parent, const KPluginMetaData &data) 23 | : KQuickConfigModule(parent, data) 24 | { 25 | const QString executable = QStandardPaths::locate(QStandardPaths::GenericDataLocation, u"kinfocenter/network/ip.sh"_s, QStandardPaths::LocateFile); 26 | const QString darkness = QGuiApplication::styleHints()->colorScheme() == Qt::ColorScheme::Dark ? u"1"_s : u"0"_s; 27 | m_outputContext = new CommandOutputContext({u"ip"_s, u"aha"_s}, u"/bin/sh"_s, {executable, darkness}, Qt::TextFormat::RichText, parent); 28 | } 29 | CommandOutputContext *outputContext() const 30 | { 31 | return m_outputContext; 32 | } 33 | 34 | private: 35 | CommandOutputContext *m_outputContext; 36 | }; 37 | 38 | K_PLUGIN_CLASS_WITH_JSON(KCMNetwork, "kcm_network.json") 39 | 40 | #include "main.moc" 41 | -------------------------------------------------------------------------------- /po/zh_CN/kcm_samba.po: -------------------------------------------------------------------------------- 1 | msgid "" 2 | msgstr "" 3 | "Project-Id-Version: kdeorg\n" 4 | "Report-Msgid-Bugs-To: https://bugs.kde.org\n" 5 | "POT-Creation-Date: 2025-11-17 11:53+0000\n" 6 | "PO-Revision-Date: 2024-04-22 15:58\n" 7 | "Last-Translator: \n" 8 | "Language-Team: Chinese Simplified\n" 9 | "Language: zh_CN\n" 10 | "MIME-Version: 1.0\n" 11 | "Content-Type: text/plain; charset=UTF-8\n" 12 | "Content-Transfer-Encoding: 8bit\n" 13 | "Plural-Forms: nplurals=1; plural=0;\n" 14 | "X-Crowdin-Project: kdeorg\n" 15 | "X-Crowdin-Project-ID: 269464\n" 16 | "X-Crowdin-Language: zh-CN\n" 17 | "X-Crowdin-File: /kf6-trunk/messages/kinfocenter/kcm_samba.pot\n" 18 | "X-Crowdin-File-ID: 43633\n" 19 | 20 | #: ui/main.qml:18 21 | #, kde-format 22 | msgctxt "@title heading above listview" 23 | msgid "User-Created Shares" 24 | msgstr "用户建立的共享" 25 | 26 | #: ui/main.qml:23 27 | #, kde-format 28 | msgctxt "@title heading above listview" 29 | msgid "Remote Share Mounts" 30 | msgstr "远程共享挂载" 31 | 32 | #: ui/main.qml:54 33 | #, kde-format 34 | msgctxt "@info place holder for empty listview" 35 | msgid "There are no directories shared by users" 36 | msgstr "没有用户共享的目录" 37 | 38 | #: ui/main.qml:92 39 | #, kde-format 40 | msgctxt "@info place holder for empty listview" 41 | msgid "There are no Samba shares mounted on this system" 42 | msgstr "系统没有挂载 SAMBA 共享" 43 | 44 | #: ui/ShareListItem.qml:69 45 | #, kde-kuit-format 46 | msgctxt "@info:tooltip" 47 | msgid "Open folder properties to change share settings" 48 | msgstr "打开文件夹属性以更改共享设置" 49 | -------------------------------------------------------------------------------- /kcms/samba/smbmountmodel.h: -------------------------------------------------------------------------------- 1 | /* 2 | SPDX-FileCopyrightText: 2020 Harald Sitter 3 | SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted-GPL 4 | */ 5 | 6 | #pragma once 7 | 8 | #include 9 | #include 10 | #include 11 | 12 | /** 13 | * Model of cifs mount entries. Implementing properties 14 | * as columns rather than roles. 15 | */ 16 | class SmbMountModel : public QAbstractListModel 17 | { 18 | Q_OBJECT 19 | public: 20 | enum class Role { 21 | Share = Qt::UserRole + 1, 22 | Path, 23 | Accessible, 24 | }; 25 | Q_ENUM(Role) 26 | 27 | explicit SmbMountModel(QObject *parent = nullptr); 28 | ~SmbMountModel() override; 29 | 30 | int rowCount(const QModelIndex &parent) const final; 31 | QVariant data(const QModelIndex &index, int intRole) const final; 32 | bool hasChildren(const QModelIndex &parent) const final; 33 | 34 | QHash roleNames() const final; 35 | 36 | private slots: 37 | void addDevice(const QString &udi); 38 | void removeDevice(const QString &udi); 39 | void reloadData(); 40 | 41 | private: 42 | inline QList::const_iterator deviceForUdi(const QString &udi) const 43 | { 44 | return std::find_if(m_devices.constBegin(), m_devices.constEnd(), [&udi](const Solid::Device &device) { 45 | return device.udi() == udi; 46 | }); 47 | } 48 | 49 | QList m_devices; 50 | }; 51 | -------------------------------------------------------------------------------- /po/ast/kcm_samba.po: -------------------------------------------------------------------------------- 1 | # Copyright (C) 2023 This file is copyright: 2 | # This file is distributed under the same license as the kinfocenter package. 3 | # 4 | # SPDX-FileCopyrightText: 2023 Enol P. 5 | msgid "" 6 | msgstr "" 7 | "Project-Id-Version: kinfocenter\n" 8 | "Report-Msgid-Bugs-To: https://bugs.kde.org\n" 9 | "POT-Creation-Date: 2025-11-17 11:53+0000\n" 10 | "PO-Revision-Date: 2023-11-01 00:51+0100\n" 11 | "Last-Translator: Enol P. \n" 12 | "Language-Team: \n" 13 | "Language: ast\n" 14 | "MIME-Version: 1.0\n" 15 | "Content-Type: text/plain; charset=UTF-8\n" 16 | "Content-Transfer-Encoding: 8bit\n" 17 | "Plural-Forms: nplurals=2; plural=n != 1;\n" 18 | "X-Generator: Lokalize 23.08.2\n" 19 | 20 | #: ui/main.qml:18 21 | #, kde-format 22 | msgctxt "@title heading above listview" 23 | msgid "User-Created Shares" 24 | msgstr "" 25 | 26 | #: ui/main.qml:23 27 | #, kde-format 28 | msgctxt "@title heading above listview" 29 | msgid "Remote Share Mounts" 30 | msgstr "" 31 | 32 | #: ui/main.qml:54 33 | #, kde-format 34 | msgctxt "@info place holder for empty listview" 35 | msgid "There are no directories shared by users" 36 | msgstr "Nun hai nengún direutoriu compartíu polos usuarios" 37 | 38 | #: ui/main.qml:92 39 | #, kde-format 40 | msgctxt "@info place holder for empty listview" 41 | msgid "There are no Samba shares mounted on this system" 42 | msgstr "" 43 | 44 | #: ui/ShareListItem.qml:69 45 | #, kde-kuit-format 46 | msgctxt "@info:tooltip" 47 | msgid "Open folder properties to change share settings" 48 | msgstr "" 49 | -------------------------------------------------------------------------------- /kcms/energy/kcm.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | * SPDX-FileCopyrightText: 2015 Kai Uwe Broulik 3 | * 4 | * SPDX-License-Identifier: GPL-2.0-or-later 5 | */ 6 | 7 | #include 8 | #include 9 | 10 | #include 11 | #include 12 | #include 13 | 14 | #include 15 | #include 16 | #include 17 | 18 | #include 19 | #include 20 | 21 | #include "batterymodel.h" 22 | #include "statisticsprovider.h" 23 | 24 | class KCMEnergyInfo : public KQuickConfigModule 25 | { 26 | Q_OBJECT 27 | Q_PROPERTY(BatteryModel *batteries READ batteries CONSTANT) 28 | public: 29 | explicit KCMEnergyInfo(QObject *parent, const KPluginMetaData &data) 30 | : KQuickConfigModule(parent, data) 31 | { 32 | qmlRegisterAnonymousType("org.kde.kinfocenter.energy.private", 1); 33 | 34 | qmlRegisterType("org.kde.kinfocenter.energy.private", 1, 0, "HistoryModel"); 35 | qmlRegisterUncreatableType("org.kde.kinfocenter.energy.private", 1, 0, "BatteryModel", QStringLiteral("Use BatteryModel")); 36 | 37 | m_batteries = new BatteryModel(this); 38 | } 39 | 40 | BatteryModel *batteries() const 41 | { 42 | return m_batteries; 43 | } 44 | 45 | private: 46 | BatteryModel *m_batteries = nullptr; 47 | }; 48 | 49 | Q_DECLARE_METATYPE(QList) 50 | K_PLUGIN_CLASS_WITH_JSON(KCMEnergyInfo, "kcm_energyinfo.json") 51 | 52 | #include "kcm.moc" 53 | -------------------------------------------------------------------------------- /po/or/kcm_samba.po: -------------------------------------------------------------------------------- 1 | # translation of kcmsamba.po to Oriya 2 | # Copyright (C) YEAR This_file_is_part_of_KDE 3 | # This file is distributed under the same license as the PACKAGE package. 4 | # 5 | # Manoj Kumar Giri , 2009. 6 | msgid "" 7 | msgstr "" 8 | "Project-Id-Version: kcmsamba\n" 9 | "Report-Msgid-Bugs-To: https://bugs.kde.org\n" 10 | "POT-Creation-Date: 2025-11-17 11:53+0000\n" 11 | "PO-Revision-Date: 2009-01-02 11:46+0530\n" 12 | "Last-Translator: Manoj Kumar Giri \n" 13 | "Language-Team: Oriya \n" 14 | "Language: or\n" 15 | "MIME-Version: 1.0\n" 16 | "Content-Type: text/plain; charset=UTF-8\n" 17 | "Content-Transfer-Encoding: 8bit\n" 18 | "X-Generator: KBabel 1.11.4\n" 19 | "Plural-Forms: nplurals=2; plural=(n!=1);\n" 20 | "\n" 21 | "\n" 22 | 23 | #: ui/main.qml:18 24 | #, kde-format 25 | msgctxt "@title heading above listview" 26 | msgid "User-Created Shares" 27 | msgstr "" 28 | 29 | #: ui/main.qml:23 30 | #, kde-format 31 | msgctxt "@title heading above listview" 32 | msgid "Remote Share Mounts" 33 | msgstr "" 34 | 35 | #: ui/main.qml:54 36 | #, kde-format 37 | msgctxt "@info place holder for empty listview" 38 | msgid "There are no directories shared by users" 39 | msgstr "" 40 | 41 | #: ui/main.qml:92 42 | #, kde-format 43 | msgctxt "@info place holder for empty listview" 44 | msgid "There are no Samba shares mounted on this system" 45 | msgstr "" 46 | 47 | #: ui/ShareListItem.qml:69 48 | #, kde-kuit-format 49 | msgctxt "@info:tooltip" 50 | msgid "Open folder properties to change share settings" 51 | msgstr "" 52 | -------------------------------------------------------------------------------- /LICENSES/BSD-3-Clause.txt: -------------------------------------------------------------------------------- 1 | Copyright (c) . All rights reserved. 2 | 3 | Redistribution and use in source and binary forms, with or without modification, 4 | are permitted provided that the following conditions are met: 5 | 6 | 1. Redistributions of source code must retain the above copyright notice, 7 | this list of conditions and the following disclaimer. 8 | 9 | 2. Redistributions in binary form must reproduce the above copyright notice, 10 | this list of conditions and the following disclaimer in the documentation 11 | and/or other materials provided with the distribution. 12 | 13 | 3. Neither the name of the copyright holder nor the names of its contributors 14 | may be used to endorse or promote products derived from this software without 15 | specific prior written permission. 16 | 17 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" 18 | AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 19 | IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 20 | ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE 21 | LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 22 | DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR 23 | SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER 24 | CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, 25 | OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE 26 | USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 27 | -------------------------------------------------------------------------------- /kcms/usbview/usbdevices.h: -------------------------------------------------------------------------------- 1 | /* 2 | * SPDX-FileCopyrightText: 2001 Matthias Hoelzer-Kluepfel 3 | * SPDX-License-Identifier: GPL-2.0-or-later 4 | */ 5 | 6 | #ifndef __USB_DEVICES_H__ 7 | #define __USB_DEVICES_H__ 8 | 9 | #include 10 | #include 11 | 12 | #include 13 | 14 | class USBDB; 15 | 16 | class USBDevice 17 | { 18 | public: 19 | USBDevice(libusb_device *dev, struct libusb_device_descriptor &dev_desc); 20 | 21 | ~USBDevice(); 22 | 23 | int level() const 24 | { 25 | return _level; 26 | } 27 | int device() const 28 | { 29 | return _device; 30 | } 31 | int parent() const 32 | { 33 | return _parent; 34 | } 35 | int bus() const 36 | { 37 | return _bus; 38 | } 39 | QString product(); 40 | 41 | QString dump(); 42 | 43 | static QList &devices() 44 | { 45 | return _devices; 46 | } 47 | static USBDevice *find(int bus, int device); 48 | static bool load(); 49 | static void clear(); 50 | 51 | private: 52 | static QList _devices; 53 | static libusb_context *_context; 54 | 55 | static USBDB *_db; 56 | 57 | int _bus, _level, _parent, _port, _device, _channels; 58 | float _speed; 59 | 60 | QString _manufacturer, _product, _serial; 61 | 62 | unsigned int _verMajor, _verMinor; 63 | uint8_t _class, _sub, _prot; 64 | unsigned int _maxPacketSize; 65 | 66 | uint16_t _vendorID, _prodID; 67 | 68 | void collectDataSys(libusb_device *dev); 69 | }; 70 | 71 | #endif 72 | -------------------------------------------------------------------------------- /po/se/kcm_samba.po: -------------------------------------------------------------------------------- 1 | # Translation of kcm_samba to Northern Sami 2 | # 3 | # Nils Johan Utsi , 2003. 4 | # Børre Gaup , 2003, 2004, 2005. 5 | msgid "" 6 | msgstr "" 7 | "Project-Id-Version: kcmsamba\n" 8 | "Report-Msgid-Bugs-To: https://bugs.kde.org\n" 9 | "POT-Creation-Date: 2025-11-17 11:53+0000\n" 10 | "PO-Revision-Date: 2005-10-23 23:43+0200\n" 11 | "Last-Translator: Børre Gaup \n" 12 | "Language-Team: Northern Sami \n" 13 | "Language: se\n" 14 | "MIME-Version: 1.0\n" 15 | "Content-Type: text/plain; charset=UTF-8\n" 16 | "Content-Transfer-Encoding: 8bit\n" 17 | "X-Generator: KBabel 1.11.4\n" 18 | "Plural-Forms: nplurals=2; plural=n != 1;\n" 19 | "X-Environment: kde\n" 20 | "X-Accelerator-Marker: &\n" 21 | "X-Text-Markup: kde4\n" 22 | 23 | #: ui/main.qml:18 24 | #, kde-format 25 | msgctxt "@title heading above listview" 26 | msgid "User-Created Shares" 27 | msgstr "" 28 | 29 | #: ui/main.qml:23 30 | #, kde-format 31 | msgctxt "@title heading above listview" 32 | msgid "Remote Share Mounts" 33 | msgstr "" 34 | 35 | #: ui/main.qml:54 36 | #, kde-format 37 | msgctxt "@info place holder for empty listview" 38 | msgid "There are no directories shared by users" 39 | msgstr "" 40 | 41 | #: ui/main.qml:92 42 | #, kde-format 43 | msgctxt "@info place holder for empty listview" 44 | msgid "There are no Samba shares mounted on this system" 45 | msgstr "" 46 | 47 | #: ui/ShareListItem.qml:69 48 | #, kde-kuit-format 49 | msgctxt "@info:tooltip" 50 | msgid "Open folder properties to change share settings" 51 | msgstr "" 52 | -------------------------------------------------------------------------------- /cmake/FindUSB1.cmake: -------------------------------------------------------------------------------- 1 | # - Try to find libusb-1.0 2 | # Once done this will define 3 | # 4 | # USB1_FOUND - system has libusb-1.0 5 | # USB1_INCLUDE_DIRS - the libusb-1.0 include directories 6 | # USB1_LIBRARIES - Link these to use libusb-1.0 7 | # USB1_DEFINITIONS - Compiler switches required for using libusb-1.0 8 | 9 | #============================================================================= 10 | # SPDX-FileCopyrightText: 2017 Pino Toscano 11 | # 12 | # SPDX-License-Identifier: BSD-3-Clause 13 | #============================================================================= 14 | 15 | find_package(PkgConfig) 16 | pkg_check_modules(PC_LIBUSB1 QUIET libusb-1.0) 17 | 18 | find_path(USB1_INCLUDE_DIR 19 | NAMES 20 | libusb.h 21 | HINTS 22 | ${PC_LIBUSB1_INCLUDE_DIRS} 23 | PATH_SUFFIXES 24 | libusb-1.0 25 | ) 26 | 27 | find_library(USB1_LIBRARY 28 | NAMES 29 | ${PC_LIBUSB1_LIBRARIES} 30 | usb-1.0 31 | HINTS 32 | ${PC_LIBUSB1_LIBRARY_DIRS} 33 | ) 34 | 35 | set(USB1_INCLUDE_DIRS ${USB1_INCLUDE_DIR}) 36 | set(USB1_LIBRARIES ${USB1_LIBRARY}) 37 | 38 | include(FindPackageHandleStandardArgs) 39 | find_package_handle_standard_args(USB1 40 | FOUND_VAR 41 | USB1_FOUND 42 | REQUIRED_VARS 43 | USB1_LIBRARY 44 | USB1_INCLUDE_DIR 45 | VERSION_VAR 46 | PC_LIBUSB1_VERSION 47 | ) 48 | if(USB1_FOUND AND NOT TARGET Libusb-1.0) 49 | add_library(Libusb-1.0 SHARED IMPORTED) 50 | set_target_properties(Libusb-1.0 PROPERTIES 51 | IMPORTED_LOCATION "${USB1_LIBRARIES}" 52 | INTERFACE_INCLUDE_DIRECTORIES "${USB1_INCLUDE_DIRS}" 53 | ) 54 | endif() 55 | 56 | mark_as_advanced(USB1_INCLUDE_DIRS USB1_LIBRARIES) 57 | -------------------------------------------------------------------------------- /kcms/about-distro/src/GPUEntry.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | SPDX-FileCopyrightText: 2016 Rohan Garg 3 | SPDX-FileCopyrightText: 2020-2021 Harald Sitter 4 | SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted-GPL 5 | */ 6 | 7 | #include "GPUEntry.h" 8 | 9 | #include 10 | 11 | #include "FancyString.h" 12 | 13 | using namespace std::chrono_literals; 14 | using namespace Qt::StringLiterals; 15 | 16 | GPUEntry::GPUEntry(std::optional deviceIndex, const Device &device) 17 | : Entry(deviceIndex.has_value() ? ki18nc("@label %1 is the GPU index number", "Graphics Processor %1:").subs(QString::number(deviceIndex.value())) 18 | : ki18n("Graphics Processor:"), 19 | FancyString::fromRenderer(device.name)) 20 | , m_device(device) 21 | { 22 | } 23 | 24 | Hint GPUEntry::localizedHint(Language language) const 25 | { 26 | switch (m_device.type) { 27 | case VK_PHYSICAL_DEVICE_TYPE_INTEGRATED_GPU: 28 | return {.m_text = localize(ki18nc("@label GPU type", "integrated"), language), .m_color = Hint::Color::One}; 29 | case VK_PHYSICAL_DEVICE_TYPE_DISCRETE_GPU: 30 | return {.m_text = localize(ki18nc("@label GPU type", "discrete"), language), .m_color = Hint::Color::Two}; 31 | case VK_PHYSICAL_DEVICE_TYPE_VIRTUAL_GPU: 32 | return {.m_text = localize(ki18nc("@label GPU type. GPU of a virtual machine", "virtual"), language), .m_color = Hint::Color::Three}; 33 | case VK_PHYSICAL_DEVICE_TYPE_CPU: 34 | case VK_PHYSICAL_DEVICE_TYPE_OTHER: 35 | case VK_PHYSICAL_DEVICE_TYPE_MAX_ENUM: 36 | break; 37 | } 38 | return {}; 39 | } 40 | -------------------------------------------------------------------------------- /kcms/firmware_security/main.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted-GPL 3 | SPDX-FileCopyrightText: 2021-2022 Harald Sitter 4 | */ 5 | 6 | #include 7 | #include 8 | #include 9 | 10 | #include "CommandOutputContext.h" 11 | 12 | class KCMFirmwareSecurity : public KQuickConfigModule 13 | { 14 | Q_OBJECT 15 | Q_PROPERTY(CommandOutputContext *infoOutputContext READ outputContext CONSTANT FINAL) 16 | public: 17 | explicit KCMFirmwareSecurity(QObject *parent, const KPluginMetaData &data) 18 | : KQuickConfigModule(parent, data) 19 | { 20 | const QString executable = QStandardPaths::locate(QStandardPaths::GenericDataLocation, 21 | QStringLiteral("kinfocenter/firmware_security/fwupdmgr.sh"), 22 | QStandardPaths::LocateFile); 23 | m_outputContext = new CommandOutputContext({QStringLiteral("fwupdmgr"), QStringLiteral("aha")}, 24 | QStringLiteral("/bin/sh"), 25 | {executable}, 26 | Qt::TextFormat::RichText, 27 | parent); 28 | } 29 | CommandOutputContext *outputContext() const 30 | { 31 | return m_outputContext; 32 | } 33 | 34 | private: 35 | CommandOutputContext *m_outputContext; 36 | }; 37 | 38 | K_PLUGIN_CLASS_WITH_JSON(KCMFirmwareSecurity, "kcm_firmware_security.json") 39 | 40 | #include "main.moc" 41 | -------------------------------------------------------------------------------- /categories/basicinformation.desktop: -------------------------------------------------------------------------------- 1 | [Desktop Entry] 2 | Type=Service 3 | X-KDE-ServiceTypes=KInfoCenterCategory 4 | X-KDE-KInfoCenter-Category=basic_information 5 | Icon=dialog-information 6 | X-KDE-Weight=10 7 | 8 | Name=Basic Information 9 | Name[ar]=معلومات أساسية 10 | Name[ast]=Información básica 11 | Name[az]=Əsas məlumatlar 12 | Name[bg]=Основна информация 13 | Name[ca]=Informació bàsica 14 | Name[ca@valencia]=Informació bàsica 15 | Name[cs]=Základní informace 16 | Name[da]=Basisinformation 17 | Name[de]=Basisinformationen 18 | Name[el]=Βασικές πληροφορίες 19 | Name[en_GB]=Basic Information 20 | Name[eo]=Bazaj informoj 21 | Name[es]=Información básica 22 | Name[et]=Põhiteave 23 | Name[eu]=Oinarrizko informazioa 24 | Name[fi]=Perustiedot 25 | Name[fr]=Informations générales 26 | Name[gl]=Información básica 27 | Name[he]=מידע בסיסי 28 | Name[hu]=Alapvető információk 29 | Name[ia]=Information basic 30 | Name[id]=Informasi Dasar 31 | Name[is]=Almennar upplýsingar 32 | Name[it]=Informazioni di base 33 | Name[ja]=基本的な情報 34 | Name[ka]=Ძირითადი ინფორმაცია 35 | Name[ko]=기본 정보 36 | Name[lt]=Pagrindinė informacija 37 | Name[lv]=Pamata informācija 38 | Name[nb]=Grunnleggende informasjon 39 | Name[nl]=Basisinformatie 40 | Name[nn]=Grunnleggjande informasjon 41 | Name[pa]=ਮੁੱਢਲੀ ਜਾਣਕਾਰੀ 42 | Name[pl]=Podstawowe dane 43 | Name[pt]=Informação Básica 44 | Name[pt_BR]=Informações básicas 45 | Name[ro]=Informații de bază 46 | Name[ru]=Основные сведения 47 | Name[sa]=मूलभूत सूचना 48 | Name[sk]=Základné informácie 49 | Name[sl]=Osnovne informacije 50 | Name[sv]=Grundinformation 51 | Name[ta]=அடிப்படை விவரங்கள் 52 | Name[tg]=Маълумоти аслӣ 53 | Name[tr]=Temel Bilgi 54 | Name[uk]=Основна інформація 55 | Name[vi]=Thông tin cơ bản 56 | Name[zh_CN]=基本信息 57 | Name[zh_TW]=基本資訊 58 | -------------------------------------------------------------------------------- /kcms/about-distro/src/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | configure_file(${CMAKE_CURRENT_SOURCE_DIR}/Version.h.cmake ${CMAKE_CURRENT_BINARY_DIR}/Version.h) 2 | include_directories(${CMAKE_CURRENT_BINARY_DIR}) 3 | 4 | add_subdirectory(opengl-helper) 5 | add_subdirectory(vulkan-helper) 6 | 7 | set(kcm_SRCS 8 | CPUEntry.cpp 9 | CPUEntry.h 10 | Entry.cpp 11 | Entry.h 12 | FancyString.cpp 13 | FancyString.h 14 | GPUEntry.cpp 15 | GPUEntryFactory.cpp 16 | GPUEntry.h 17 | GraphicsPlatformEntry.cpp 18 | GraphicsPlatformEntry.h 19 | KernelEntry.cpp 20 | KernelEntry.h 21 | main.cpp 22 | MemoryEntry.cpp 23 | MemoryEntry.h 24 | OSVersionEntry.cpp 25 | OSVersionEntry.h 26 | PlasmaEntry.cpp 27 | PlasmaEntry.h 28 | ServiceRunner.cpp 29 | ThirdPartyEntry.cpp 30 | ThirdPartyEntry.h 31 | ) 32 | 33 | kcmutils_add_qml_kcm(kcm_about-distro SOURCES ${kcm_SRCS} INSTALL_NAMESPACE "plasma/kcms") 34 | 35 | target_link_libraries(kcm_about-distro PRIVATE 36 | KF6::CoreAddons 37 | KF6::I18n 38 | KF6::ConfigCore 39 | KF6::KCMUtilsQuick 40 | KF6::Solid 41 | KF6::Service 42 | KF6::KIOGui 43 | KF6::AuthCore 44 | PkgConfig::libdrm 45 | ) 46 | 47 | if(UDev_FOUND) 48 | target_link_libraries(kcm_about-distro PRIVATE UDev::UDev) 49 | target_compile_definitions(kcm_about-distro PRIVATE UDEV_FOUND) 50 | endif() 51 | 52 | cmake_path(RELATIVE_PATH KDE_INSTALL_FULL_LIBEXECDIR BASE_DIRECTORY "${KDE_INSTALL_FULL_PLUGINDIR}/plasma/kcms/" OUTPUT_VARIABLE LIBEXECDIR_FROM_KCM) 53 | 54 | target_compile_options( 55 | kcm_about-distro 56 | PRIVATE 57 | -DKDE_INSTALL_FULL_LIBEXECDIR=\"${KDE_INSTALL_FULL_LIBEXECDIR}\" 58 | -DLIBEXECDIR_FROM_KCM=\"${LIBEXECDIR_FROM_KCM}\" 59 | ) 60 | -------------------------------------------------------------------------------- /po/ja/kcm_samba.po: -------------------------------------------------------------------------------- 1 | # Translation of kcmsamba into Japanese. 2 | # SPDX-FileCopyrightText: 2025 Yuma Kakei 3 | # This file is distributed under the same license as the kdebase package. 4 | # Nobosu Sinohara , 2002. 5 | # Shinichi Tsunoda , 2005. 6 | # 7 | msgid "" 8 | msgstr "" 9 | "Project-Id-Version: kcmsamba\n" 10 | "Report-Msgid-Bugs-To: https://bugs.kde.org\n" 11 | "POT-Creation-Date: 2025-11-17 11:53+0000\n" 12 | "PO-Revision-Date: 2025-09-24 15:18+0900\n" 13 | "Last-Translator: Yuma Kakei \n" 14 | "Language-Team: Japanese \n" 15 | "Language: ja\n" 16 | "MIME-Version: 1.0\n" 17 | "Content-Type: text/plain; charset=UTF-8\n" 18 | "Content-Transfer-Encoding: 8bit\n" 19 | "X-Generator: Lokalize 25.08.1\n" 20 | "Plural-Forms: nplurals=1; plural=0;\n" 21 | "X-Accelerator-Marker: &\n" 22 | "X-Text-Markup: kde4\n" 23 | 24 | #: ui/main.qml:18 25 | #, kde-format 26 | msgctxt "@title heading above listview" 27 | msgid "User-Created Shares" 28 | msgstr "ユーザが作成した共有" 29 | 30 | #: ui/main.qml:23 31 | #, kde-format 32 | msgctxt "@title heading above listview" 33 | msgid "Remote Share Mounts" 34 | msgstr "リモート共有のマウント" 35 | 36 | #: ui/main.qml:54 37 | #, kde-format 38 | msgctxt "@info place holder for empty listview" 39 | msgid "There are no directories shared by users" 40 | msgstr "ユーザが共有しているディレクトリはありません" 41 | 42 | #: ui/main.qml:92 43 | #, kde-format 44 | msgctxt "@info place holder for empty listview" 45 | msgid "There are no Samba shares mounted on this system" 46 | msgstr "このシステムにはマウントされた Samba 共有はありません" 47 | 48 | #: ui/ShareListItem.qml:69 49 | #, kde-kuit-format 50 | msgctxt "@info:tooltip" 51 | msgid "Open folder properties to change share settings" 52 | msgstr "共有設定を変更するには、フォルダのプロパティを開いてください" 53 | -------------------------------------------------------------------------------- /po/cs/kcm_samba.po: -------------------------------------------------------------------------------- 1 | # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER 2 | # This file is distributed under the same license as the PACKAGE package. 3 | # Vít Pelčák , 2010, 2011, 2013, 2014, 2020. 4 | # Tomáš Chvátal , 2013. 5 | # Vit Pelcak , 2021, 2023. 6 | # 7 | msgid "" 8 | msgstr "" 9 | "Project-Id-Version: kcmsamba\n" 10 | "Report-Msgid-Bugs-To: https://bugs.kde.org\n" 11 | "POT-Creation-Date: 2025-11-17 11:53+0000\n" 12 | "PO-Revision-Date: 2023-01-04 10:11+0100\n" 13 | "Last-Translator: Vit Pelcak \n" 14 | "Language-Team: Czech \n" 15 | "Language: cs\n" 16 | "MIME-Version: 1.0\n" 17 | "Content-Type: text/plain; charset=UTF-8\n" 18 | "Content-Transfer-Encoding: 8bit\n" 19 | "Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n" 20 | "X-Generator: Lokalize 22.12.0\n" 21 | 22 | #: ui/main.qml:18 23 | #, kde-format 24 | msgctxt "@title heading above listview" 25 | msgid "User-Created Shares" 26 | msgstr "Sdílení vytvořená uživatelem" 27 | 28 | #: ui/main.qml:23 29 | #, kde-format 30 | msgctxt "@title heading above listview" 31 | msgid "Remote Share Mounts" 32 | msgstr "" 33 | 34 | #: ui/main.qml:54 35 | #, kde-format 36 | msgctxt "@info place holder for empty listview" 37 | msgid "There are no directories shared by users" 38 | msgstr "Zde nejsou žádná sdílení vytvořená uživateli" 39 | 40 | #: ui/main.qml:92 41 | #, kde-format 42 | msgctxt "@info place holder for empty listview" 43 | msgid "There are no Samba shares mounted on this system" 44 | msgstr "Zde nejsou žádná sdílení Samba připojená na tomto systému" 45 | 46 | #: ui/ShareListItem.qml:69 47 | #, kde-kuit-format 48 | msgctxt "@info:tooltip" 49 | msgid "Open folder properties to change share settings" 50 | msgstr "Otevřete vlastnosti složky pro změnění nastavení sdílení" 51 | -------------------------------------------------------------------------------- /po/bg/kcm_samba.po: -------------------------------------------------------------------------------- 1 | # Copyright (C) YEAR This_file_is_part_of_KDE 2 | # This file is distributed under the same license as the PACKAGE package. 3 | # 4 | # Zlatko Popov , 2006, 2007, 2008. 5 | # Yasen Pramatarov , 2010. 6 | # SPDX-FileCopyrightText: 2022, 2025 Mincho Kondarev 7 | msgid "" 8 | msgstr "" 9 | "Project-Id-Version: kcmsamba\n" 10 | "Report-Msgid-Bugs-To: https://bugs.kde.org\n" 11 | "POT-Creation-Date: 2025-11-17 11:53+0000\n" 12 | "PO-Revision-Date: 2025-07-28 17:38+0200\n" 13 | "Last-Translator: Mincho Kondarev \n" 14 | "Language-Team: Bulgarian \n" 15 | "Language: bg\n" 16 | "MIME-Version: 1.0\n" 17 | "Content-Type: text/plain; charset=UTF-8\n" 18 | "Content-Transfer-Encoding: 8bit\n" 19 | "X-Generator: Lokalize 25.07.70\n" 20 | "Plural-Forms: nplurals=2; plural=n != 1;\n" 21 | 22 | #: ui/main.qml:18 23 | #, kde-format 24 | msgctxt "@title heading above listview" 25 | msgid "User-Created Shares" 26 | msgstr "Потребителски споделени папки" 27 | 28 | #: ui/main.qml:23 29 | #, kde-format 30 | msgctxt "@title heading above listview" 31 | msgid "Remote Share Mounts" 32 | msgstr "Монтирани отдалечени споделени папки" 33 | 34 | #: ui/main.qml:54 35 | #, kde-format 36 | msgctxt "@info place holder for empty listview" 37 | msgid "There are no directories shared by users" 38 | msgstr "Няма директории, споделени от потребители" 39 | 40 | #: ui/main.qml:92 41 | #, kde-format 42 | msgctxt "@info place holder for empty listview" 43 | msgid "There are no Samba shares mounted on this system" 44 | msgstr "На тази система няма монтирани споделени папки на Samba" 45 | 46 | #: ui/ShareListItem.qml:69 47 | #, kde-kuit-format 48 | msgctxt "@info:tooltip" 49 | msgid "Open folder properties to change share settings" 50 | msgstr "Отворете свойства на папката, за да промените настройките за споделяне" 51 | -------------------------------------------------------------------------------- /po/sa/kcm_samba.po: -------------------------------------------------------------------------------- 1 | # Sanskrit translations for kinfocenter package. 2 | # Copyright (C) 2024 This file is copyright: 3 | # This file is distributed under the same license as the kinfocenter package. 4 | # Kali , 2024. 5 | # 6 | # SPDX-FileCopyrightText: 2024 kali 7 | msgid "" 8 | msgstr "" 9 | "Project-Id-Version: kinfocenter\n" 10 | "Report-Msgid-Bugs-To: https://bugs.kde.org\n" 11 | "POT-Creation-Date: 2025-11-17 11:53+0000\n" 12 | "PO-Revision-Date: 2024-12-25 19:45+0530\n" 13 | "Last-Translator: kali \n" 14 | "Language-Team: Sanskrit \n" 15 | "Language: sa\n" 16 | "MIME-Version: 1.0\n" 17 | "Content-Type: text/plain; charset=UTF-8\n" 18 | "Content-Transfer-Encoding: 8bit\n" 19 | "Plural-Forms: nplurals=2; plural=(n>2);\n" 20 | "X-Generator: Lokalize 24.08.2\n" 21 | 22 | #: ui/main.qml:18 23 | #, kde-format 24 | msgctxt "@title heading above listview" 25 | msgid "User-Created Shares" 26 | msgstr "उपयोक्तृनिर्मिताः भागाः" 27 | 28 | #: ui/main.qml:23 29 | #, fuzzy, kde-format 30 | #| msgctxt "@title heading above listview" 31 | #| msgid "Mounted Remote Shares" 32 | msgctxt "@title heading above listview" 33 | msgid "Remote Share Mounts" 34 | msgstr "घुड़सवार दूरस्थ शेयर" 35 | 36 | #: ui/main.qml:54 37 | #, kde-format 38 | msgctxt "@info place holder for empty listview" 39 | msgid "There are no directories shared by users" 40 | msgstr "उपयोक्तृभिः साझाः निर्देशिकाः नास्ति" 41 | 42 | #: ui/main.qml:92 43 | #, kde-format 44 | msgctxt "@info place holder for empty listview" 45 | msgid "There are no Samba shares mounted on this system" 46 | msgstr "अस्मिन् प्रणाल्यां साम्बा-भागाः न स्थापिताः" 47 | 48 | #: ui/ShareListItem.qml:69 49 | #, kde-kuit-format 50 | msgctxt "@info:tooltip" 51 | msgid "Open folder properties to change share settings" 52 | msgstr "साझासेटिंग्स् परिवर्तयितुं समुच्चय गुणाः उद्घाटयन्तु" 53 | -------------------------------------------------------------------------------- /po/tr/kcm_samba.po: -------------------------------------------------------------------------------- 1 | # translation of kcmsamba.po to Turkish 2 | # Copyright (C) 2008 Free Software Foundation, Inc. 3 | # 4 | # Serdar Soytetir , 2008, 2009, 2011. 5 | # H. İbrahim Güngör , 2010. 6 | # Volkan Gezer , 2014. 7 | # Kaan Ozdincer , 2014. 8 | # SPDX-FileCopyrightText: 2022, 2023, 2025 Emir SARI 9 | msgid "" 10 | msgstr "" 11 | "Project-Id-Version: kcmsamba\n" 12 | "Report-Msgid-Bugs-To: https://bugs.kde.org\n" 13 | "POT-Creation-Date: 2025-11-17 11:53+0000\n" 14 | "PO-Revision-Date: 2025-07-24 20:15+0300\n" 15 | "Last-Translator: Emir SARI \n" 16 | "Language-Team: Turkish \n" 17 | "Language: tr\n" 18 | "MIME-Version: 1.0\n" 19 | "Content-Type: text/plain; charset=UTF-8\n" 20 | "Content-Transfer-Encoding: 8bit\n" 21 | "Plural-Forms: nplurals=2; plural=(n > 1);\n" 22 | "X-Generator: Lokalize 25.04.2\n" 23 | 24 | #: ui/main.qml:18 25 | #, kde-format 26 | msgctxt "@title heading above listview" 27 | msgid "User-Created Shares" 28 | msgstr "Kullanıcının Oluşturduğu Paylaşımlar" 29 | 30 | #: ui/main.qml:23 31 | #, kde-format 32 | msgctxt "@title heading above listview" 33 | msgid "Remote Share Mounts" 34 | msgstr "Uzaktan Bağlı Paylaşımlar" 35 | 36 | #: ui/main.qml:54 37 | #, kde-format 38 | msgctxt "@info place holder for empty listview" 39 | msgid "There are no directories shared by users" 40 | msgstr "Kullanıcılar tarafından paylaşılan dizin yok" 41 | 42 | #: ui/main.qml:92 43 | #, kde-format 44 | msgctxt "@info place holder for empty listview" 45 | msgid "There are no Samba shares mounted on this system" 46 | msgstr "Bu sistemde bağlı bir Samba paylaşımı yok" 47 | 48 | #: ui/ShareListItem.qml:69 49 | #, kde-kuit-format 50 | msgctxt "@info:tooltip" 51 | msgid "Open folder properties to change share settings" 52 | msgstr "Paylaşım ayarlarını değiştirmek için klasör özelliklerini aç" 53 | -------------------------------------------------------------------------------- /kcms/about-distro/src/ThirdPartyEntry.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | SPDX-FileCopyrightText: 2023 Jeremy Whiting 3 | SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted-GPL 4 | */ 5 | 6 | #include "ThirdPartyEntry.h" 7 | 8 | #include 9 | #include 10 | 11 | ThirdPartyEntry::ThirdPartyEntry(const QString &scriptPath) 12 | : Entry(ki18nc("Unused but needs to be : to avoid assertion in Entry constructor", ":"), QString()) 13 | , m_scriptPath(scriptPath) 14 | { 15 | for (const auto &language : {Entry::Language::System, Entry::Language::English}) { 16 | QProcess process; 17 | 18 | switch (language) { 19 | case Entry::Language::English: { 20 | QProcessEnvironment env = QProcessEnvironment::systemEnvironment(); 21 | env.insert("LANGUAGE", "en_US:C"); // Add an environment variable 22 | process.setProcessEnvironment(env); 23 | break; 24 | } 25 | case Entry::Language::System: 26 | break; 27 | } 28 | 29 | process.start(scriptPath, QStringList()); 30 | process.waitForFinished(); 31 | processOutput(QString::fromUtf8(process.readAllStandardOutput()).split('\n'), language); 32 | } 33 | } 34 | 35 | QString ThirdPartyEntry::localizedLabel(Language language) const 36 | { 37 | return m_labels[language]; 38 | } 39 | 40 | QString ThirdPartyEntry::localizedValue(Language language) const 41 | { 42 | return m_values[language]; 43 | } 44 | 45 | void ThirdPartyEntry::processOutput(const QStringList &output, Language language) 46 | { 47 | Q_ASSERT(output.size() >= 2); 48 | if (output.size() < 2) { 49 | qFatal() << "Do you have a broken kcm-about-distrorc file? ThirdPartyEntry script output must have at least 2 lines. Got this output:" << output; 50 | return; 51 | } 52 | m_labels[language] = output.at(0); 53 | m_values[language] = output.at(1); 54 | } 55 | -------------------------------------------------------------------------------- /po/nn/kcm_samba.po: -------------------------------------------------------------------------------- 1 | # Translation of kcm_samba to Norwegian Nynorsk 2 | # 3 | # Gaute Hvoslef Kvalnes , 1999, 2000, 2002, 2005. 4 | # Karl Ove Hufthammer , 2004, 2007, 2008, 2015, 2016, 2020. 5 | # Eirik U. Birkeland , 2008, 2009, 2011. 6 | msgid "" 7 | msgstr "" 8 | "Project-Id-Version: kcmsamba\n" 9 | "Report-Msgid-Bugs-To: https://bugs.kde.org\n" 10 | "POT-Creation-Date: 2025-11-17 11:53+0000\n" 11 | "PO-Revision-Date: 2020-10-03 11:46+0200\n" 12 | "Last-Translator: Karl Ove Hufthammer \n" 13 | "Language-Team: Norwegian Nynorsk \n" 14 | "Language: nn\n" 15 | "MIME-Version: 1.0\n" 16 | "Content-Type: text/plain; charset=UTF-8\n" 17 | "Content-Transfer-Encoding: 8bit\n" 18 | "X-Generator: Lokalize 20.08.1\n" 19 | "Plural-Forms: nplurals=2; plural=n != 1;\n" 20 | "X-Environment: kde\n" 21 | "X-Accelerator-Marker: &\n" 22 | "X-Text-Markup: kde4\n" 23 | 24 | #: ui/main.qml:18 25 | #, kde-format 26 | msgctxt "@title heading above listview" 27 | msgid "User-Created Shares" 28 | msgstr "Brukaroppretta ressursar" 29 | 30 | #: ui/main.qml:23 31 | #, fuzzy, kde-format 32 | #| msgctxt "@title heading above listview" 33 | #| msgid "Mounted Remote Shares" 34 | msgctxt "@title heading above listview" 35 | msgid "Remote Share Mounts" 36 | msgstr "Monterte fjernressursar" 37 | 38 | #: ui/main.qml:54 39 | #, kde-format 40 | msgctxt "@info place holder for empty listview" 41 | msgid "There are no directories shared by users" 42 | msgstr "Det er ingen mapper som er delte av brukarar" 43 | 44 | #: ui/main.qml:92 45 | #, kde-format 46 | msgctxt "@info place holder for empty listview" 47 | msgid "There are no Samba shares mounted on this system" 48 | msgstr "Det er ingen Samba-ressursar monterte på systemet" 49 | 50 | #: ui/ShareListItem.qml:69 51 | #, kde-kuit-format 52 | msgctxt "@info:tooltip" 53 | msgid "Open folder properties to change share settings" 54 | msgstr "Opna mappeeigenskapar for å endra deleinnstillingar" 55 | -------------------------------------------------------------------------------- /po/nb/kcm_samba.po: -------------------------------------------------------------------------------- 1 | # Translation of kcm_samba to Norwegian Bokmål 2 | # 3 | # Hans Petter Bieker , 1998. 4 | # Bjørn Steensrud , 2002, 2008, 2010, 2014. 5 | # Nils Kristian Tomren , 2005, 2007. 6 | # Bjørn Kvisli , 2007. 7 | msgid "" 8 | msgstr "" 9 | "Project-Id-Version: kcmsamba\n" 10 | "Report-Msgid-Bugs-To: https://bugs.kde.org\n" 11 | "POT-Creation-Date: 2025-11-17 11:53+0000\n" 12 | "PO-Revision-Date: 2025-02-10 20:01+0100\n" 13 | "Last-Translator: Martin Hansen \n" 14 | "Language-Team: Norwegian Bokmål \n" 15 | "Language: nb\n" 16 | "MIME-Version: 1.0\n" 17 | "Content-Type: text/plain; charset=UTF-8\n" 18 | "Content-Transfer-Encoding: 8bit\n" 19 | "X-Generator: Lokalize 24.12.2\n" 20 | "Plural-Forms: nplurals=2; plural=n != 1;\n" 21 | "X-Environment: kde\n" 22 | "X-Accelerator-Marker: &\n" 23 | "X-Text-Markup: kde4\n" 24 | 25 | #: ui/main.qml:18 26 | #, kde-format 27 | msgctxt "@title heading above listview" 28 | msgid "User-Created Shares" 29 | msgstr "Brukeropprettede ressurser" 30 | 31 | #: ui/main.qml:23 32 | #, fuzzy, kde-format 33 | #| msgctxt "@title heading above listview" 34 | #| msgid "Mounted Remote Shares" 35 | msgctxt "@title heading above listview" 36 | msgid "Remote Share Mounts" 37 | msgstr "Monterte fjernressurser" 38 | 39 | #: ui/main.qml:54 40 | #, kde-format 41 | msgctxt "@info place holder for empty listview" 42 | msgid "There are no directories shared by users" 43 | msgstr "Det er ingen mapper som er delte av brukere" 44 | 45 | #: ui/main.qml:92 46 | #, kde-format 47 | msgctxt "@info place holder for empty listview" 48 | msgid "There are no Samba shares mounted on this system" 49 | msgstr "Det er ingen Samba-ressurser monterte på systemet" 50 | 51 | #: ui/ShareListItem.qml:69 52 | #, kde-kuit-format 53 | msgctxt "@info:tooltip" 54 | msgid "Open folder properties to change share settings" 55 | msgstr "Åpne mappeegenskaper for å endre deleinnstillinger" 56 | -------------------------------------------------------------------------------- /po/tg/kcm_samba.po: -------------------------------------------------------------------------------- 1 | # Copyright (C) YEAR This file is copyright: 2 | # This file is distributed under the same license as the kinfocenter package. 3 | # 4 | # Victor Ibragimov , 2019. 5 | msgid "" 6 | msgstr "" 7 | "Project-Id-Version: kinfocenter\n" 8 | "Report-Msgid-Bugs-To: https://bugs.kde.org\n" 9 | "POT-Creation-Date: 2025-11-17 11:53+0000\n" 10 | "PO-Revision-Date: 2019-09-17 14:24+0500\n" 11 | "Last-Translator: Victor Ibragimov \n" 12 | "Language-Team: English \n" 13 | "Language: tg\n" 14 | "MIME-Version: 1.0\n" 15 | "Content-Type: text/plain; charset=UTF-8\n" 16 | "Content-Transfer-Encoding: 8bit\n" 17 | "Plural-Forms: nplurals=2; plural=n != 1;\n" 18 | "X-Generator: Lokalize 19.04.3\n" 19 | 20 | #: ui/main.qml:18 21 | #, kde-format 22 | msgctxt "@title heading above listview" 23 | msgid "User-Created Shares" 24 | msgstr "" 25 | 26 | #: ui/main.qml:23 27 | #, kde-format 28 | msgctxt "@title heading above listview" 29 | msgid "Remote Share Mounts" 30 | msgstr "" 31 | 32 | #: ui/main.qml:54 33 | #, kde-format 34 | msgctxt "@info place holder for empty listview" 35 | msgid "There are no directories shared by users" 36 | msgstr "" 37 | 38 | #: ui/main.qml:92 39 | #, kde-format 40 | msgctxt "@info place holder for empty listview" 41 | msgid "There are no Samba shares mounted on this system" 42 | msgstr "" 43 | 44 | #: ui/ShareListItem.qml:69 45 | #, kde-kuit-format 46 | msgctxt "@info:tooltip" 47 | msgid "Open folder properties to change share settings" 48 | msgstr "" 49 | 50 | #~ msgctxt "NAME OF TRANSLATORS" 51 | #~ msgid "Your names" 52 | #~ msgstr "Victor Ibragimov" 53 | 54 | #~ msgctxt "EMAIL OF TRANSLATORS" 55 | #~ msgid "Your emails" 56 | #~ msgstr "victor.ibragimov@gmail.com" 57 | 58 | #~ msgid "kcmsamba" 59 | #~ msgstr "kcmsamba" 60 | 61 | #~ msgid "Resource" 62 | #~ msgstr "Манбаъ" 63 | 64 | #~ msgid "Type" 65 | #~ msgstr "Навъ" 66 | 67 | #~ msgid "Service" 68 | #~ msgstr "Хизмат" 69 | 70 | #~ msgid "UID" 71 | #~ msgstr "UID" 72 | 73 | #~ msgid "PID" 74 | #~ msgstr "PID" 75 | -------------------------------------------------------------------------------- /kcms/about-distro/src/CPUEntry.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | SPDX-FileCopyrightText: 2012-2021 Harald Sitter 3 | SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted-GPL 4 | */ 5 | 6 | #include "CPUEntry.h" 7 | 8 | #include 9 | 10 | #include 11 | 12 | #include "FancyString.h" 13 | 14 | CPUEntry::CPUEntry() 15 | : Entry(KLocalizedString(), QString()) 16 | { 17 | m_label = ki18np("Processor:", "Processors:").subs(m_cpus.count()); 18 | } 19 | 20 | QString CPUEntry::localizedValue(Language language) const 21 | { 22 | const KLocalizedString l10nUnknown = ki18nc("unknown CPU type/product name; presented as `Processors: 4 × Unknown Type'", "Unknown Type"); 23 | const QString unknownName = localize(l10nUnknown, language); 24 | 25 | // Format processor string 26 | // Group by processor name 27 | QMap processorMap; 28 | for (const Solid::Device &device : m_cpus) { 29 | const QString name = device.product(); 30 | auto it = processorMap.find(name); 31 | if (it == processorMap.end()) { 32 | processorMap.insert(name, 1); 33 | } else { 34 | ++it.value(); 35 | } 36 | } 37 | // Create a formatted list of grouped processors 38 | QStringList names; 39 | names.reserve(processorMap.count()); 40 | const bool multipleProducts = processorMap.count() > 1; 41 | for (auto it = processorMap.constBegin(); it != processorMap.constEnd(); ++it) { 42 | const int count = it.value(); 43 | QString name = FancyString::fromUgly(it.key()); 44 | // In case solid doesn't have a product name available we'll either show no name or a placeholder. 45 | if (name.isEmpty() && !multipleProducts) { 46 | names.append(QString::number(count)); 47 | } else { 48 | if (name.isEmpty()) { 49 | name = unknownName; 50 | } 51 | names.append(QStringLiteral("%1 × %2").arg(count).arg(name)); 52 | } 53 | } 54 | 55 | return names.join(QLatin1String(", ")); 56 | } 57 | -------------------------------------------------------------------------------- /kcms/memory/main.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted-GPL 3 | SPDX-FileCopyrightText: 2024 Thomas Duckworth 4 | SPDX-FileCopyrightText: 2024 Kristen McWilliam 5 | */ 6 | 7 | #include 8 | #include 9 | #include 10 | #include 11 | #include 12 | 13 | class KCMMemory : public KQuickConfigModule 14 | { 15 | Q_OBJECT 16 | Q_PROPERTY(QString memoryInformation READ memoryInformation NOTIFY changed) 17 | public: 18 | explicit KCMMemory(QObject *parent, const KPluginMetaData &data) 19 | : KQuickConfigModule(parent, data) 20 | { 21 | loadData(); 22 | } 23 | 24 | QString memoryInformation() const 25 | { 26 | return m_memoryInformation; 27 | } 28 | 29 | private: 30 | Q_SIGNAL void changed(); 31 | 32 | /** 33 | * The memory information that will be displayed in the KCM. 34 | */ 35 | QString m_memoryInformation; 36 | 37 | /** 38 | * Load the memory information from the dmidecode helper. 39 | */ 40 | void loadData() 41 | { 42 | KAuth::Action action(QStringLiteral("org.kde.kinfocenter.dmidecode.memoryinformation")); 43 | action.setHelperId(QStringLiteral("org.kde.kinfocenter.dmidecode")); 44 | KAuth::ExecuteJob *job = action.execute(); 45 | 46 | connect(job, &KJob::result, this, [this, job]() { 47 | if (job->error()) { 48 | qWarning() << "Failed to retrieve memory information: " << job->errorString(); 49 | return; 50 | } else { 51 | const auto reply = job->data(); 52 | if (reply.contains("memory")) { 53 | m_memoryInformation = reply["memory"].toString(); 54 | } 55 | } 56 | 57 | Q_EMIT changed(); 58 | }); 59 | 60 | job->start(); 61 | } 62 | }; 63 | 64 | K_PLUGIN_CLASS_WITH_JSON(KCMMemory, "kcm_memory.json") 65 | 66 | #include "main.moc" 67 | -------------------------------------------------------------------------------- /categories/lostfoundcategory.desktop: -------------------------------------------------------------------------------- 1 | [Desktop Entry] 2 | Type=Service 3 | X-KDE-ServiceTypes=KInfoCenterCategory 4 | X-KDE-KInfoCenter-Category=lost_and_found 5 | Icon=hwinfo 6 | X-KDE-Weight=99 7 | 8 | Name=Lost And Found 9 | Name[ar]=فُقد ووُجد 10 | Name[az]=Digəriləri 11 | Name[bg]=Изгубен и намерен 12 | Name[bs]=Izgubljeno-nađeno 13 | Name[ca]=Objectes perduts 14 | Name[ca@valencia]=Objectes perduts 15 | Name[cs]=Ztráty a nálezy 16 | Name[da]=Hittegods 17 | Name[de]=Nicht zuzuordnen 18 | Name[el]=Χάθηκαν και Βρέθηκαν 19 | Name[en_GB]=Lost And Found 20 | Name[eo]=Perdita Kaj Trovita 21 | Name[es]=Objetos perdidos 22 | Name[et]=Kaotatud ja leitud 23 | Name[eu]=Galdutako gauzak 24 | Name[fi]=Sekalaiset 25 | Name[fr]=Objets perdus et retrouvés 26 | Name[ga]=Earraí Caillte 27 | Name[gl]=Obxectos perdidos 28 | Name[he]=אבידות ומציאות 29 | Name[hi]=खोया व पाया 30 | Name[hr]=Izgubljeno i nađeno 31 | Name[hu]=Elveszett és megtalált 32 | Name[ia]=Trovate & Perdite 33 | Name[id]=Hilang Dan Ditemukan 34 | Name[is]=Tapað/fundið 35 | Name[it]=Oggetti smarriti 36 | Name[ja]=Lost And Found 37 | Name[ka]=დაკარგული და ნაპოვნი 38 | Name[kk]=Жоғалып табылғандар 39 | Name[km]=បាត់ ហើយ​រក​ឃើញ 40 | Name[kn]=ಕಳೆದುಹೋಗಿ ಮರಳಿ ದೊರೆತ 41 | Name[ko]=기타 프로그램 42 | Name[lt]=Pamesta ir rasta 43 | Name[lv]=Pazudis un atrasts 44 | Name[mr]=हरवले व सापडले 45 | Name[nb]=Hittegods 46 | Name[nds]=Passt narms sünst 47 | Name[nl]=Verloren en gevonden 48 | Name[nn]=Hittegods 49 | Name[pa]=ਗੁਆਚੇ ਅਤੇ ਲੱਭੇ 50 | Name[pl]=Zgubione i znalezione 51 | Name[pt]=Perdidos e Achados 52 | Name[pt_BR]=Achados e perdidos 53 | Name[ro]=Pierdute și regăsite 54 | Name[ru]=Прочее 55 | Name[sa]=नष्टः लब्धः च 56 | Name[sk]=Straty a nálezy 57 | Name[sl]=Izgubljeno in najdeno 58 | Name[sr]=Изгубљено-нађено 59 | Name[sr@ijekavian]=Изгубљено-нађено 60 | Name[sr@ijekavianlatin]=Izgubljeno-nađeno 61 | Name[sr@latin]=Izgubljeno-nađeno 62 | Name[sv]=Hittegods 63 | Name[ta]=இழந்து கிடைத்தவை 64 | Name[th]=รายการที่จัดหมวดหมู่ไม่ได้ 65 | Name[tr]=Kayıp ve Bulunan 66 | Name[ug]=يوقالغان ۋە تېپىلغان 67 | Name[uk]=Втрачено і знайдено 68 | Name[vi]=Mất và tìm 69 | Name[wa]=Pierdous eyet rtrovés 70 | Name[zh_CN]=未知类别 71 | Name[zh_TW]=未分類 72 | -------------------------------------------------------------------------------- /po/ca/kcm_samba.po: -------------------------------------------------------------------------------- 1 | # Translation of kcm_samba.po to Catalan 2 | # Copyright (C) 1998-2025 This_file_is_part_of_KDE 3 | # This file is distributed under the license LGPL version 2.1 or 4 | # version 3 or later versions approved by the membership of KDE e.V. 5 | # 6 | # SPDX-FileCopyrightText: 1998, 1999, 2000, 2001, 2002 Sebastià Pla i Sanz 7 | # SPDX-FileCopyrightText: 2005 Albert Astals Cid 8 | # SPDX-FileCopyrightText: 2007, 2008, 2009, 2010, 2013, 2015, 2018, 2019, 2020, 2025 Josep M. Ferrer 9 | # SPDX-FileCopyrightText: 2014 Antoni Bella Pérez 10 | msgid "" 11 | msgstr "" 12 | "Project-Id-Version: kinfocenter\n" 13 | "Report-Msgid-Bugs-To: https://bugs.kde.org\n" 14 | "POT-Creation-Date: 2025-11-17 11:53+0000\n" 15 | "PO-Revision-Date: 2025-07-23 12:09+0200\n" 16 | "Last-Translator: Josep M. Ferrer \n" 17 | "Language-Team: Catalan \n" 18 | "Language: ca\n" 19 | "MIME-Version: 1.0\n" 20 | "Content-Type: text/plain; charset=UTF-8\n" 21 | "Content-Transfer-Encoding: 8bit\n" 22 | "X-Generator: Lokalize 25.04.3\n" 23 | "Plural-Forms: nplurals=2; plural=n != 1;\n" 24 | "X-Accelerator-Marker: &\n" 25 | 26 | #: ui/main.qml:18 27 | #, kde-format 28 | msgctxt "@title heading above listview" 29 | msgid "User-Created Shares" 30 | msgstr "Comparticions creades pels usuaris" 31 | 32 | #: ui/main.qml:23 33 | #, kde-format 34 | msgctxt "@title heading above listview" 35 | msgid "Remote Share Mounts" 36 | msgstr "Muntatges compartits remots" 37 | 38 | #: ui/main.qml:54 39 | #, kde-format 40 | msgctxt "@info place holder for empty listview" 41 | msgid "There are no directories shared by users" 42 | msgstr "No hi ha cap directori compartit pels usuaris" 43 | 44 | #: ui/main.qml:92 45 | #, kde-format 46 | msgctxt "@info place holder for empty listview" 47 | msgid "There are no Samba shares mounted on this system" 48 | msgstr "No hi ha cap compartició Samba muntada en aquest sistema" 49 | 50 | #: ui/ShareListItem.qml:69 51 | #, kde-kuit-format 52 | msgctxt "@info:tooltip" 53 | msgid "Open folder properties to change share settings" 54 | msgstr "" 55 | "Obriu les propietats de la carpeta per a canviar la configuració de la " 56 | "compartició" 57 | -------------------------------------------------------------------------------- /po/ca@valencia/kcm_samba.po: -------------------------------------------------------------------------------- 1 | # Translation of kcm_samba.po to Catalan (Valencian) 2 | # Copyright (C) 1998-2025 This_file_is_part_of_KDE 3 | # This file is distributed under the license LGPL version 2.1 or 4 | # version 3 or later versions approved by the membership of KDE e.V. 5 | # 6 | # SPDX-FileCopyrightText: 1998, 1999, 2000, 2001, 2002 Sebastià Pla i Sanz 7 | # SPDX-FileCopyrightText: 2005 Albert Astals Cid 8 | # SPDX-FileCopyrightText: 2007, 2008, 2009, 2010, 2013, 2015, 2018, 2019, 2020, 2025 Josep M. Ferrer 9 | # SPDX-FileCopyrightText: 2014 Antoni Bella Pérez 10 | msgid "" 11 | msgstr "" 12 | "Project-Id-Version: kinfocenter\n" 13 | "Report-Msgid-Bugs-To: https://bugs.kde.org\n" 14 | "POT-Creation-Date: 2025-11-17 11:53+0000\n" 15 | "PO-Revision-Date: 2025-07-23 12:09+0200\n" 16 | "Last-Translator: Josep M. Ferrer \n" 17 | "Language-Team: Catalan \n" 18 | "Language: ca@valencia\n" 19 | "MIME-Version: 1.0\n" 20 | "Content-Type: text/plain; charset=UTF-8\n" 21 | "Content-Transfer-Encoding: 8bit\n" 22 | "X-Generator: Lokalize 25.04.3\n" 23 | "Plural-Forms: nplurals=2; plural=n != 1;\n" 24 | "X-Accelerator-Marker: &\n" 25 | 26 | #: ui/main.qml:18 27 | #, kde-format 28 | msgctxt "@title heading above listview" 29 | msgid "User-Created Shares" 30 | msgstr "Comparticions creades pels usuaris" 31 | 32 | #: ui/main.qml:23 33 | #, kde-format 34 | msgctxt "@title heading above listview" 35 | msgid "Remote Share Mounts" 36 | msgstr "Muntatges compartits remots" 37 | 38 | #: ui/main.qml:54 39 | #, kde-format 40 | msgctxt "@info place holder for empty listview" 41 | msgid "There are no directories shared by users" 42 | msgstr "No hi ha cap directori compartit pels usuaris" 43 | 44 | #: ui/main.qml:92 45 | #, kde-format 46 | msgctxt "@info place holder for empty listview" 47 | msgid "There are no Samba shares mounted on this system" 48 | msgstr "No hi ha cap compartició Samba muntada en este sistema" 49 | 50 | #: ui/ShareListItem.qml:69 51 | #, kde-kuit-format 52 | msgctxt "@info:tooltip" 53 | msgid "Open folder properties to change share settings" 54 | msgstr "" 55 | "Obriu les propietats de la carpeta per a canviar la configuració de la " 56 | "compartició" 57 | -------------------------------------------------------------------------------- /kcms/about-distro/src/opengl-helper/main.cpp: -------------------------------------------------------------------------------- 1 | // SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted-GPL 2 | // SPDX-FileCopyrightText: 2024 Harald Sitter 3 | 4 | #include 5 | 6 | #include 7 | #include 8 | #include 9 | #include 10 | #include 11 | #include 12 | #include 13 | #include 14 | 15 | using namespace Qt::StringLiterals; 16 | 17 | QString glDeviceName() 18 | { 19 | // NOTE: The simulation is actually not working for DRI_PRIME because mesa prints an error on stdout, breaking the JSON output. 20 | if (qEnvironmentVariableIntValue("KINFOCENTER_SIMULATION") == 1) { 21 | switch (qEnvironmentVariableIntValue("DRI_PRIME")) { 22 | default: 23 | return u"AMD Radeon RX 7900 XTX (radeonsi, navi31, LLVM 18.1.8, DRM 3.57, 6.10.7-arch1-1)"_s; 24 | case 1: 25 | return u"AMD Radeon Graphics (radeonsi, raphael_mendocino, LLVM 18.1.8, DRM 3.57, 6.10.7-arch1-1)"_s; 26 | case 2: 27 | return u"Intel(R) UHD Graphics (CML GT2)"_s; 28 | case 3: 29 | return u"llvmpipe (LLVM 18.1.6, 256 bits)"_s; 30 | } 31 | } 32 | 33 | QOpenGLContext context; 34 | QOffscreenSurface surface; 35 | surface.create(); 36 | const auto deferDone = qScopeGuard([&context] { 37 | context.doneCurrent(); 38 | }); 39 | if (!context.create()) { 40 | qWarning() << "Failed create QOpenGLContext"; 41 | return {}; 42 | } 43 | 44 | if (!context.makeCurrent(&surface)) { 45 | qWarning() << "Failed to make QOpenGLContext current"; 46 | return {}; 47 | } 48 | 49 | return QString::fromUtf8(reinterpret_cast(context.functions()->glGetString(GL_RENDERER))); 50 | } 51 | 52 | int main(int argc, char **argv) 53 | { 54 | QGuiApplication app(argc, argv); 55 | 56 | const QJsonArray devicesArray{QJsonObject{ 57 | {u"name"_s, glDeviceName()}, 58 | {u"vkDeviceType"_s, VK_PHYSICAL_DEVICE_TYPE_OTHER}, 59 | }}; 60 | 61 | std::cout << QJsonDocument(devicesArray).toJson(QJsonDocument::Compact).toStdString() << '\n'; 62 | 63 | return 0; 64 | } 65 | -------------------------------------------------------------------------------- /po/es/kcm_samba.po: -------------------------------------------------------------------------------- 1 | # Spanish translations for kcm_samba.po package. 2 | # Copyright (C) 2005-2025 This file is copyright: 3 | # This file is distributed under the same license as the kinfocenter package. 4 | # 5 | # SPDX-FileCopyrightText: 2005, 2008, 2014, 2019, 2020, 2025 Eloy Cuadra 6 | # SPDX-FileCopyrightText: 2007 Enrique Matias Sanchez (aka Quique) 7 | # SPDX-FileCopyrightText: 2007, 2008 Jaime Robles 8 | # SPDX-FileCopyrightText: 2010 Cristina Yenyxe González García 9 | # SPDX-FileCopyrightText: 2011 Javier Vinal 10 | msgid "" 11 | msgstr "" 12 | "Project-Id-Version: kcm_samba\n" 13 | "Report-Msgid-Bugs-To: https://bugs.kde.org\n" 14 | "POT-Creation-Date: 2025-11-17 11:53+0000\n" 15 | "PO-Revision-Date: 2025-07-24 19:56+0100\n" 16 | "Last-Translator: Eloy Cuadra \n" 17 | "Language-Team: Spanish \n" 18 | "Language: es\n" 19 | "MIME-Version: 1.0\n" 20 | "Content-Type: text/plain; charset=UTF-8\n" 21 | "Content-Transfer-Encoding: 8bit\n" 22 | "First-Translator: Boris Wesslowski \n" 23 | "X-Generator: Lokalize 25.04.3\n" 24 | "Plural-Forms: nplurals=2; plural=n != 1;\n" 25 | 26 | #: ui/main.qml:18 27 | #, kde-format 28 | msgctxt "@title heading above listview" 29 | msgid "User-Created Shares" 30 | msgstr "Recursos compartidos creados por el usuario" 31 | 32 | #: ui/main.qml:23 33 | #, kde-format 34 | msgctxt "@title heading above listview" 35 | msgid "Remote Share Mounts" 36 | msgstr "Recursos compartidos remotos montados" 37 | 38 | #: ui/main.qml:54 39 | #, kde-format 40 | msgctxt "@info place holder for empty listview" 41 | msgid "There are no directories shared by users" 42 | msgstr "No hay directorios compartidos por los usuarios" 43 | 44 | #: ui/main.qml:92 45 | #, kde-format 46 | msgctxt "@info place holder for empty listview" 47 | msgid "There are no Samba shares mounted on this system" 48 | msgstr "No hay recursos compartidos de Samba montados en este sistema" 49 | 50 | #: ui/ShareListItem.qml:69 51 | #, kde-kuit-format 52 | msgctxt "@info:tooltip" 53 | msgid "Open folder properties to change share settings" 54 | msgstr "" 55 | "Abrir las propiedades de la carpeta para cambiar las propiedades de su " 56 | "compartición" 57 | -------------------------------------------------------------------------------- /po/oc/kcm_samba.po: -------------------------------------------------------------------------------- 1 | # translation of kcmsamba.po to Occitan (lengadocian) 2 | # Occitan translation of kcmsamba.po 3 | # Copyright (C) 2002,2003, 2007, 2008 Free Software Foundation, Inc. 4 | # 5 | # Yannig MARCHEGAY (Kokoyaya) - 2006-2007 6 | # 7 | # Yannig Marchegay (Kokoyaya) , 2007, 2008. 8 | msgid "" 9 | msgstr "" 10 | "Project-Id-Version: kcmsamba\n" 11 | "Report-Msgid-Bugs-To: https://bugs.kde.org\n" 12 | "POT-Creation-Date: 2025-11-17 11:53+0000\n" 13 | "PO-Revision-Date: 2008-08-05 22:26+0200\n" 14 | "Last-Translator: Yannig Marchegay (Kokoyaya) \n" 15 | "Language-Team: Occitan (lengadocian) \n" 16 | "Language: oc\n" 17 | "MIME-Version: 1.0\n" 18 | "Content-Type: text/plain; charset=UTF-8\n" 19 | "Content-Transfer-Encoding: 8bit\n" 20 | "Plural-Forms: nplurals=2; plural=(n > 1);\n" 21 | "X-Generator: KBabel 1.11.4\n" 22 | 23 | #: ui/main.qml:18 24 | #, kde-format 25 | msgctxt "@title heading above listview" 26 | msgid "User-Created Shares" 27 | msgstr "" 28 | 29 | #: ui/main.qml:23 30 | #, kde-format 31 | msgctxt "@title heading above listview" 32 | msgid "Remote Share Mounts" 33 | msgstr "" 34 | 35 | #: ui/main.qml:54 36 | #, kde-format 37 | msgctxt "@info place holder for empty listview" 38 | msgid "There are no directories shared by users" 39 | msgstr "" 40 | 41 | #: ui/main.qml:92 42 | #, kde-format 43 | msgctxt "@info place holder for empty listview" 44 | msgid "There are no Samba shares mounted on this system" 45 | msgstr "" 46 | 47 | #: ui/ShareListItem.qml:69 48 | #, kde-kuit-format 49 | msgctxt "@info:tooltip" 50 | msgid "Open folder properties to change share settings" 51 | msgstr "" 52 | 53 | #~ msgctxt "NAME OF TRANSLATORS" 54 | #~ msgid "Your names" 55 | #~ msgstr "Yannig Marchegay (Kokoyaya)" 56 | 57 | #~ msgctxt "EMAIL OF TRANSLATORS" 58 | #~ msgid "Your emails" 59 | #~ msgstr "yannig@marchegay.org" 60 | 61 | #~ msgid "David Faure" 62 | #~ msgstr "David Faure" 63 | 64 | #~ msgid "Alexander Neundorf" 65 | #~ msgstr "Alexander Neundorf" 66 | 67 | #~ msgid "Resource" 68 | #~ msgstr "Ressorga" 69 | 70 | #~ msgid "Type" 71 | #~ msgstr "Tipe" 72 | 73 | #~ msgid "&Update" 74 | #~ msgstr "&Metre a jorn" 75 | 76 | #~ msgid "Date & Time" 77 | #~ msgstr "Data e ora" 78 | 79 | #~ msgid "Event" 80 | #~ msgstr "Eveniment" 81 | 82 | #~ msgid "&Search" 83 | #~ msgstr "&Recercar" 84 | 85 | #~ msgid "Connection" 86 | #~ msgstr "Connexion" 87 | 88 | #~ msgid "Service" 89 | #~ msgstr "Servici" 90 | 91 | #~ msgid "PID" 92 | #~ msgstr "PID" 93 | 94 | #~ msgid "Open Files" 95 | #~ msgstr "Dobrir los fichièrs" 96 | -------------------------------------------------------------------------------- /kcms/about-distro/src/vulkan-helper/main.cpp: -------------------------------------------------------------------------------- 1 | // SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted-GPL 2 | // SPDX-FileCopyrightText: 2024 Harald Sitter 3 | 4 | #include 5 | 6 | #include 7 | #include 8 | #include 9 | #include 10 | #include 11 | #include 12 | 13 | using namespace Qt::StringLiterals; 14 | 15 | int main(int argc, char *argv[]) 16 | { 17 | QGuiApplication app(argc, argv); 18 | 19 | QVulkanInstance instance; 20 | if (!instance.create()) { 21 | qWarning("Failed to create Vulkan instance"); 22 | return 1; 23 | } 24 | if (!instance.vkInstance()) { 25 | qWarning("Vulkan instance not available"); 26 | return 1; 27 | } 28 | 29 | QJsonArray devicesArray; 30 | auto *functions = instance.functions(); 31 | if (!functions) { 32 | qWarning("Vulkan functions not available"); 33 | return 1; 34 | } 35 | 36 | uint32_t count = 0; 37 | functions->vkEnumeratePhysicalDevices(instance.vkInstance(), &count, nullptr); 38 | if (count == 0) { 39 | qWarning("No Vulkan devices found"); 40 | return 0; 41 | } 42 | 43 | QVarLengthArray devices(count); 44 | VkResult result = functions->vkEnumeratePhysicalDevices(instance.vkInstance(), &count, devices.data()); 45 | if (result != VK_SUCCESS) { 46 | qWarning("Failed to enumerate Vulkan devices: %d", result); 47 | return 1; 48 | } 49 | 50 | for (const auto &device : devices) { 51 | VkPhysicalDeviceProperties properties; 52 | functions->vkGetPhysicalDeviceProperties(device, &properties); 53 | 54 | qDebug("Physical device %d: '%s' %d.%d.%d (api %d.%d.%d vendor 0x%X device 0x%X type %d)", 55 | 0, 56 | properties.deviceName, 57 | VK_VERSION_MAJOR(properties.driverVersion), 58 | VK_VERSION_MINOR(properties.driverVersion), 59 | VK_VERSION_PATCH(properties.driverVersion), 60 | VK_VERSION_MAJOR(properties.apiVersion), 61 | VK_VERSION_MINOR(properties.apiVersion), 62 | VK_VERSION_PATCH(properties.apiVersion), 63 | properties.vendorID, 64 | properties.deviceID, 65 | properties.deviceType); 66 | 67 | QJsonObject obj; 68 | obj["name"] = QString::fromUtf8(properties.deviceName); 69 | obj["type"] = static_cast(properties.deviceType); 70 | devicesArray.append(obj); 71 | } 72 | 73 | std::cout << QJsonDocument(devicesArray).toJson(QJsonDocument::Compact).toStdString() << '\n'; 74 | return 0; 75 | } 76 | -------------------------------------------------------------------------------- /po/ka/kcm_samba.po: -------------------------------------------------------------------------------- 1 | # SOME DESCRIPTIVE TITLE. 2 | # Copyright (C) YEAR This file is copyright: 3 | # This file is distributed under the same license as the kinfocenter package. 4 | # FIRST AUTHOR , YEAR. 5 | # 6 | msgid "" 7 | msgstr "" 8 | "Project-Id-Version: kinfocenter\n" 9 | "Report-Msgid-Bugs-To: https://bugs.kde.org\n" 10 | "POT-Creation-Date: 2025-11-17 11:53+0000\n" 11 | "PO-Revision-Date: 2025-07-23 03:51+0200\n" 12 | "Last-Translator: Temuri Doghonadze \n" 13 | "Language-Team: Georgian \n" 14 | "Language: ka\n" 15 | "MIME-Version: 1.0\n" 16 | "Content-Type: text/plain; charset=UTF-8\n" 17 | "Content-Transfer-Encoding: 8bit\n" 18 | "Plural-Forms: nplurals=2; plural=(n != 1);\n" 19 | "X-Generator: Poedit 3.6\n" 20 | 21 | #: ui/main.qml:18 22 | #, kde-format 23 | msgctxt "@title heading above listview" 24 | msgid "User-Created Shares" 25 | msgstr "მომხმარებლის-შექმნილი გაზიარებები" 26 | 27 | #: ui/main.qml:23 28 | #, kde-format 29 | msgctxt "@title heading above listview" 30 | msgid "Remote Share Mounts" 31 | msgstr "მიმაგრებული დაშორებული გაზიარებები" 32 | 33 | #: ui/main.qml:54 34 | #, kde-format 35 | msgctxt "@info place holder for empty listview" 36 | msgid "There are no directories shared by users" 37 | msgstr "მომხმარებლებს საქაღალდეები გაზიარებული არ აქვთ" 38 | 39 | #: ui/main.qml:92 40 | #, kde-format 41 | msgctxt "@info place holder for empty listview" 42 | msgid "There are no Samba shares mounted on this system" 43 | msgstr "ამ სისტემაზე Samba-ის გაზიარებები მიმაგრებული არაა" 44 | 45 | #: ui/ShareListItem.qml:69 46 | #, kde-kuit-format 47 | msgctxt "@info:tooltip" 48 | msgid "Open folder properties to change share settings" 49 | msgstr "" 50 | "გაზიარების პარამეტრების შესაცვლელად საქაღალდის თვისებების გახსნაა საჭირო" 51 | 52 | #~ msgctxt "NAME OF TRANSLATORS" 53 | #~ msgid "Your names" 54 | #~ msgstr "Temuri Doghonadze" 55 | 56 | #~ msgctxt "EMAIL OF TRANSLATORS" 57 | #~ msgid "Your emails" 58 | #~ msgstr "Temuri.doghonadze@gmail.com" 59 | 60 | #~ msgid "kcmsamba" 61 | #~ msgstr "kcmsamba" 62 | 63 | #~ msgid "Samba Status" 64 | #~ msgstr "Samba-ს სტატუსი" 65 | 66 | #~ msgid "(c) 2002-2020 KDE Information Control Module Samba Team" 67 | #~ msgstr "(c) 2002-2020 KDE -ის ინფორმაციის კონტროლის მოდულის სამბას გუნდი" 68 | 69 | #~ msgid "Michael Glauche" 70 | #~ msgstr "Michael Glauche" 71 | 72 | #~ msgid "Matthias Hoelzer" 73 | #~ msgstr "Matthias Hoelzer" 74 | 75 | #~ msgid "David Faure" 76 | #~ msgstr "David Faure" 77 | 78 | #~ msgid "Harald Koschinski" 79 | #~ msgstr "Harald Koschinski" 80 | 81 | #~ msgid "Wilco Greven" 82 | #~ msgstr "Wilco Greven" 83 | 84 | #~ msgid "Alexander Neundorf" 85 | #~ msgstr "Alexander Neundorf" 86 | 87 | #~ msgid "Harald Sitter" 88 | #~ msgstr "Harald Sitter" 89 | -------------------------------------------------------------------------------- /kcms/about-distro/src/Entry.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | SPDX-FileCopyrightText: 2012-2022 Harald Sitter 3 | SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted-GPL 4 | */ 5 | 6 | #include "Entry.h" 7 | 8 | using namespace Qt::StringLiterals; 9 | 10 | Entry::Entry(const KLocalizedString &label_, const QString &value_, Hidden hidden) 11 | : m_label(label_) 12 | , m_value(value_) 13 | , m_hidden(hidden) 14 | { 15 | Q_ASSERT(m_label.isEmpty() || localizedLabel(Language::English).endsWith(':')); 16 | } 17 | 18 | Entry::~Entry() = default; 19 | 20 | // When false this entry is garbage (e.g. incomplete data) and shouldn't be rendered. 21 | bool Entry::isValid() const 22 | { 23 | return !localizedLabel().isEmpty() && !localizedValue().isEmpty(); 24 | } 25 | 26 | // Returns textual representation of entry. 27 | QString Entry::diagnosticLine(Language language) const 28 | { 29 | // FIXME: This isn't really working for right-to-left 30 | // The answer probably is in unicode control characters, but 31 | // didn't work when tried. 32 | // Essentially what needs to happen is that the label should be RTL 33 | // that is to say the colon should be on the left, BUT englishy words 34 | // within that should be LTR, everything besides the label should be LTR 35 | // because we do not localize the values I don't think? 36 | return localizedLabel(language) + ' ' + localizedValue(language).replace('\n'_L1, " | "_L1) + '\n'; 37 | } 38 | 39 | QString Entry::localize(const KLocalizedString &string, Language language) const 40 | { 41 | switch (language) { 42 | case Language::System: 43 | return string.toString(); 44 | case Language::English: 45 | // https://bugs.kde.org/show_bug.cgi?id=416247 46 | return string.toString(QStringList{QStringLiteral("en_US")}); 47 | } 48 | Q_UNREACHABLE(); 49 | return QStringLiteral("Unknown Language %1 (bug in KInfocenter!):").arg(QString::number(static_cast(language))); 50 | } 51 | 52 | QString Entry::localizedLabel(Language language) const 53 | { 54 | return localize(m_label, language); 55 | } 56 | 57 | QString Entry::localizedValue(Language language) const 58 | { 59 | Q_UNUSED(language); 60 | return m_value; 61 | } 62 | 63 | bool Entry::isHidden() const 64 | { 65 | return m_hidden == Hidden::Yes; 66 | } 67 | 68 | QLocale Entry::localeForLanguage(Language language) const 69 | { 70 | switch (language) { 71 | case Language::System: 72 | return QLocale::system(); 73 | case Language::English: 74 | return QLocale(QLocale::English, QLocale::UnitedStates); 75 | } 76 | Q_UNREACHABLE(); 77 | return QLocale::system(); 78 | } 79 | 80 | Hint Entry::localizedHint(Language) const 81 | { 82 | return {}; 83 | } 84 | 85 | QString Entry::localizedHelp(Language) const 86 | { 87 | return {}; 88 | } 89 | 90 | #include "moc_Entry.cpp" 91 | -------------------------------------------------------------------------------- /po/eo/kcm_samba.po: -------------------------------------------------------------------------------- 1 | # translation of kcmsamba.pot to Esperanto 2 | # Copyright (C) 1998, 2007 Free Software Foundation, Inc. 3 | # This file is distributed under the same license as the kinfocenter package. 4 | # Wolfram Diestel , 1998. 5 | # Cindy McKee , 2007. 6 | # Axel Rousseau , 2009. 7 | # Oliver Kellogg , 2023. 8 | # 9 | msgid "" 10 | msgstr "" 11 | "Project-Id-Version: kcmsamba\n" 12 | "Report-Msgid-Bugs-To: https://bugs.kde.org\n" 13 | "POT-Creation-Date: 2025-11-17 11:53+0000\n" 14 | "PO-Revision-Date: 2023-03-25 23:06+0100\n" 15 | "Last-Translator: Oliver Kellogg \n" 16 | "Language-Team: Esperanto \n" 17 | "Language: eo\n" 18 | "MIME-Version: 1.0\n" 19 | "Content-Type: text/plain; charset=UTF-8\n" 20 | "Content-Transfer-Encoding: 8bit\n" 21 | "X-Generator: KBabel 1.11.4\n" 22 | "Plural-Forms: nplurals=2; plural=n != 1;\n" 23 | 24 | #: ui/main.qml:18 25 | #, kde-format 26 | msgctxt "@title heading above listview" 27 | msgid "User-Created Shares" 28 | msgstr "Uzantkreitaj Komundosierujoj" 29 | 30 | #: ui/main.qml:23 31 | #, fuzzy, kde-format 32 | #| msgctxt "@title heading above listview" 33 | #| msgid "Mounted Remote Shares" 34 | msgctxt "@title heading above listview" 35 | msgid "Remote Share Mounts" 36 | msgstr "Muntitaj Foraj Komundosierujoj" 37 | 38 | #: ui/main.qml:54 39 | #, kde-format 40 | msgctxt "@info place holder for empty listview" 41 | msgid "There are no directories shared by users" 42 | msgstr "Ne ekzistas dosierujoj komunigitaj far uzantoj" 43 | 44 | #: ui/main.qml:92 45 | #, kde-format 46 | msgctxt "@info place holder for empty listview" 47 | msgid "There are no Samba shares mounted on this system" 48 | msgstr "Ne ekzistas Samba-komundosierujoj muntitaj en ĉi sistemo" 49 | 50 | #: ui/ShareListItem.qml:69 51 | #, kde-kuit-format 52 | msgctxt "@info:tooltip" 53 | msgid "Open folder properties to change share settings" 54 | msgstr "Malfermi dosierujajn trajtojn por ŝanĝi komunigecon" 55 | 56 | #~ msgctxt "NAME OF TRANSLATORS" 57 | #~ msgid "Your names" 58 | #~ msgstr "Wolfram Diestel" 59 | 60 | #~ msgctxt "EMAIL OF TRANSLATORS" 61 | #~ msgid "Your emails" 62 | #~ msgstr "wolfram@steloj.de" 63 | 64 | #~ msgid "kcmsamba" 65 | #~ msgstr "kcmsamba" 66 | 67 | #~ msgid "Samba Status" 68 | #~ msgstr "Stato de Samba" 69 | 70 | #~ msgid "(c) 2002-2020 KDE Information Control Module Samba Team" 71 | #~ msgstr "(c) 2002-2020 KDE Information Control Module Samba Team" 72 | 73 | #~ msgid "Michael Glauche" 74 | #~ msgstr "Michael Glauche" 75 | 76 | #~ msgid "Matthias Hoelzer" 77 | #~ msgstr "Matthias Hoelzer" 78 | 79 | #~ msgid "David Faure" 80 | #~ msgstr "David Faure" 81 | 82 | #~ msgid "Harald Koschinski" 83 | #~ msgstr "Harald Koschinski" 84 | 85 | #~ msgid "Wilco Greven" 86 | #~ msgstr "Wilco Greven" 87 | 88 | #~ msgid "Alexander Neundorf" 89 | #~ msgstr "Alexander Neundorf" 90 | -------------------------------------------------------------------------------- /kcms/energy/statisticsprovider.h: -------------------------------------------------------------------------------- 1 | /* 2 | * SPDX-FileCopyrightText: 2015 David Edmundson 3 | * 4 | * SPDX-License-Identifier: LGPL-2.1-or-later 5 | * 6 | */ 7 | 8 | #ifndef STATISTICSPROVIDER_H 9 | #define STATISTICSPROVIDER_H 10 | 11 | #include 12 | #include 13 | #include 14 | 15 | struct HistoryReply { 16 | public: 17 | uint time = 0; 18 | double value = 0.0; 19 | uint charging = 0; 20 | }; 21 | 22 | Q_DECLARE_METATYPE(HistoryReply) 23 | 24 | class StatisticsProvider : public QObject, public QQmlParserStatus 25 | { 26 | Q_OBJECT 27 | Q_INTERFACES(QQmlParserStatus) 28 | 29 | Q_PROPERTY(QString device MEMBER m_device WRITE setDevice NOTIFY deviceChanged) 30 | Q_PROPERTY(uint duration MEMBER m_duration WRITE setDuration NOTIFY durationChanged) 31 | Q_PROPERTY(HistoryType type MEMBER m_type WRITE setType NOTIFY typeChanged) 32 | 33 | Q_PROPERTY(QVariantList points READ asPoints NOTIFY dataChanged) 34 | Q_PROPERTY(int count READ count NOTIFY dataChanged) 35 | Q_PROPERTY(int firstDataPointTime READ firstDataPointTime NOTIFY dataChanged) 36 | Q_PROPERTY(int lastDataPointTime READ lastDataPointTime NOTIFY dataChanged) 37 | Q_PROPERTY(int largestValue READ largestValue NOTIFY dataChanged) 38 | 39 | Q_PROPERTY(bool available READ isHistoryAvailable NOTIFY historyAvailableChanged) 40 | 41 | public: 42 | enum HistoryType { 43 | RateType, 44 | ChargeType, 45 | }; 46 | Q_ENUM(HistoryType) 47 | 48 | enum HistoryRoles { 49 | TimeRole = Qt::UserRole + 1, 50 | ValueRole, 51 | ChargingRole, 52 | }; 53 | 54 | explicit StatisticsProvider(QObject *parent = nullptr); 55 | 56 | void setDevice(const QString &device); 57 | void setDuration(uint duration); 58 | void setType(HistoryType type); 59 | 60 | void load(); 61 | 62 | void classBegin() override; 63 | void componentComplete() override; 64 | 65 | QVariantList asPoints() const; 66 | int count() const; 67 | 68 | int firstDataPointTime() const; 69 | int lastDataPointTime() const; 70 | int largestValue() const; 71 | 72 | bool isHistoryAvailable() const; 73 | 74 | Q_SIGNALS: 75 | void deviceChanged(); 76 | void typeChanged(); 77 | void durationChanged(); 78 | 79 | void dataChanged(); 80 | void historyAvailableChanged(); 81 | 82 | public Q_SLOTS: 83 | void refresh(); 84 | 85 | private: 86 | void checkHistoryAvailable(); 87 | void setHistoryAvailable(bool available); 88 | 89 | private: 90 | QString m_device; 91 | HistoryType m_type; 92 | uint m_duration; // in seconds 93 | 94 | QList m_values; 95 | bool m_isComplete = false; 96 | bool m_isHistoryAvailable = false; 97 | }; 98 | 99 | #endif // STATISTICSPROVIDER_H 100 | -------------------------------------------------------------------------------- /kcms/usbview/i18n-from-usb-ids.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python3 2 | 3 | # SPDX-FileCopyrightText: 2021 Pino Toscano 4 | # SPDX-License-Identifier: GPL-2.0-or-later 5 | 6 | import os 7 | import re 8 | import sys 9 | from collections import namedtuple 10 | 11 | 12 | UsbIds = namedtuple('UsbIds', 13 | ['classes', 'subclasses', 'protocols', 'date']) 14 | 15 | 16 | def parse(fn): 17 | classes = [] 18 | subclasses = [] 19 | protocols = [] 20 | date = None 21 | 22 | class_re = re.compile("^C ([0-9a-fA-F]{2})\\s+(.+)$") 23 | subclass_re = re.compile("^\t([0-9a-fA-F]{2})\\s+(.+)$") 24 | protocol_re = re.compile("^\t\t([0-9a-fA-F]{2})\\s+(.+)$") 25 | 26 | with open(fn, 'r', encoding='iso-8859-1') as f: 27 | in_class = False 28 | in_subclass = False 29 | for line in f: 30 | line = line.rstrip('\n') 31 | line_len = len(line) 32 | 33 | if line_len > 0 and line[0] == '#': 34 | if line.startswith('# Date:'): 35 | date = line.split(':', maxsplit=1)[1].strip() 36 | continue 37 | 38 | if line_len == 0 or (line[0].isalnum() and line[0] != 'C'): 39 | in_class = False 40 | in_subclass = False 41 | continue 42 | 43 | m = class_re.fullmatch(line) 44 | if m: 45 | classes.append(m[2].rstrip()) 46 | in_class = True 47 | continue 48 | if in_class: 49 | m = subclass_re.fullmatch(line) 50 | if m: 51 | in_subclass = True 52 | subclasses.append(m[2].rstrip()) 53 | continue 54 | if in_class and in_subclass: 55 | m = protocol_re.fullmatch(line) 56 | if m: 57 | protocols.append(m[2].rstrip()) 58 | continue 59 | 60 | in_class = False 61 | in_subclass = False 62 | 63 | parsed = UsbIds(classes, subclasses, protocols, date) 64 | 65 | return parsed 66 | 67 | 68 | def output(strings, context): 69 | for s in strings: 70 | print('i18nc("{}", "{}");'.format(context, s)) 71 | 72 | 73 | if __name__ == '__main__': 74 | if len(sys.argv) != 2: 75 | print('Usage: {} /path/to/usb.ids'.format(sys.argv[0]), 76 | file=sys.stderr) 77 | sys.exit(1) 78 | 79 | filename = sys.argv[1] 80 | parsed = parse(filename) 81 | classes = sorted(list(set(parsed.classes))) 82 | subclasses = sorted(list(set(parsed.subclasses))) 83 | if parsed.date: 84 | date_str = parsed.date 85 | else: 86 | date_str = 'n/a' 87 | print('// Generated from {} with date \'{}\''.format( 88 | os.path.basename(filename), date_str)) 89 | output(classes, 'USB device class') 90 | output(subclasses, 'USB device subclass') 91 | -------------------------------------------------------------------------------- /po/hi/kinfocenter.po: -------------------------------------------------------------------------------- 1 | # Hindi translations for kinfocenter package. 2 | # Copyright (C) 2024 This file is copyright: 3 | # This file is distributed under the same license as the kinfocenter package. 4 | # Kali , 2024. 5 | # 6 | msgid "" 7 | msgstr "" 8 | "Project-Id-Version: kinfocenter\n" 9 | "Report-Msgid-Bugs-To: https://bugs.kde.org\n" 10 | "POT-Creation-Date: 2025-12-04 00:45+0000\n" 11 | "PO-Revision-Date: 2024-12-15 15:57+0530\n" 12 | "Last-Translator: Kali \n" 13 | "Language-Team: Hindi \n" 14 | "Language: hi\n" 15 | "MIME-Version: 1.0\n" 16 | "Content-Type: text/plain; charset=UTF-8\n" 17 | "Content-Transfer-Encoding: 8bit\n" 18 | "Plural-Forms: nplurals=2; plural=(n!=1);\n" 19 | 20 | #: CommandOutputContext.cpp:127 CommandOutputContext.cpp:149 21 | #, kde-kuit-format 22 | msgctxt "@info" 23 | msgid "Could not load page content" 24 | msgstr "" 25 | 26 | #: CommandOutputContext.cpp:129 27 | #, kde-kuit-format 28 | msgctxt "@info" 29 | msgid "" 30 | "Technical details: The %1 tool is required to display " 31 | "this page, but could not be found. You may be able to install it using your " 32 | "package manager; either way, please report this packaging issue to %2." 33 | msgstr "" 34 | 35 | #: CommandOutputContext.cpp:150 36 | #, kde-kuit-format 37 | msgctxt "@Info" 38 | msgid "" 39 | "Technical details: the %1 tool crashed while generating " 40 | "page content." 41 | msgstr "" 42 | 43 | #: qml/CommandOutputKCM.qml:107 44 | #, kde-format 45 | msgctxt "@info" 46 | msgid "No text matching the filter" 47 | msgstr "" 48 | 49 | #: qml/CommandOutputKCM.qml:112 50 | #, kde-format 51 | msgctxt "@info the KCM has no data to display" 52 | msgid "No data available" 53 | msgstr "" 54 | 55 | #: qml/CommandOutputKCM.qml:125 56 | #, kde-format 57 | msgid "Report to %1" 58 | msgstr "" 59 | 60 | #: qml/CommandOutputKCM.qml:191 61 | #, kde-format 62 | msgctxt "@label placeholder text to filter for something" 63 | msgid "Filter…" 64 | msgstr "" 65 | 66 | #: qml/CommandOutputKCM.qml:193 67 | #, kde-format 68 | msgctxt "accessible name for filter input" 69 | msgid "Filter" 70 | msgstr "" 71 | 72 | #: qml/CommandOutputKCM.qml:205 73 | #, kde-format 74 | msgctxt "@action:button close filter header" 75 | msgid "Close" 76 | msgstr "" 77 | 78 | #: qml/CommandOutputKCM.qml:230 79 | #, kde-format 80 | msgctxt "@action:button pauses automatic refreshing" 81 | msgid "Pause Refreshing" 82 | msgstr "" 83 | 84 | #: qml/CommandOutputKCM.qml:238 85 | #, kde-format 86 | msgctxt "@action:button resumes automatic refreshing" 87 | msgid "Resume Refreshing" 88 | msgstr "" 89 | 90 | #: qml/CommandOutputKCM.qml:245 91 | #, kde-format 92 | msgctxt "@action:button copies all displayed text" 93 | msgid "Copy to Clipboard" 94 | msgstr "" 95 | 96 | #: qml/CommandOutputKCM.qml:253 97 | #, kde-format 98 | msgctxt "@action:button opens filter bar" 99 | msgid "Filter" 100 | msgstr "" 101 | -------------------------------------------------------------------------------- /po/ast/kinfocenter.po: -------------------------------------------------------------------------------- 1 | # Copyright (C) 2024 This file is copyright: 2 | # This file is distributed under the same license as the kinfocenter package. 3 | # 4 | # SPDX-FileCopyrightText: 2024 Enol P. 5 | msgid "" 6 | msgstr "" 7 | "Project-Id-Version: kinfocenter\n" 8 | "Report-Msgid-Bugs-To: https://bugs.kde.org\n" 9 | "POT-Creation-Date: 2025-12-04 00:45+0000\n" 10 | "PO-Revision-Date: 2024-03-27 23:51+0100\n" 11 | "Last-Translator: Enol P. \n" 12 | "Language-Team: Asturian \n" 13 | "Language: ast\n" 14 | "MIME-Version: 1.0\n" 15 | "Content-Type: text/plain; charset=UTF-8\n" 16 | "Content-Transfer-Encoding: 8bit\n" 17 | "Plural-Forms: nplurals=2; plural=n != 1;\n" 18 | "X-Generator: Lokalize 24.02.1\n" 19 | 20 | #: CommandOutputContext.cpp:127 CommandOutputContext.cpp:149 21 | #, kde-kuit-format 22 | msgctxt "@info" 23 | msgid "Could not load page content" 24 | msgstr "" 25 | 26 | #: CommandOutputContext.cpp:129 27 | #, kde-kuit-format 28 | msgctxt "@info" 29 | msgid "" 30 | "Technical details: The %1 tool is required to display " 31 | "this page, but could not be found. You may be able to install it using your " 32 | "package manager; either way, please report this packaging issue to %2." 33 | msgstr "" 34 | 35 | #: CommandOutputContext.cpp:150 36 | #, kde-kuit-format 37 | msgctxt "@Info" 38 | msgid "" 39 | "Technical details: the %1 tool crashed while generating " 40 | "page content." 41 | msgstr "" 42 | 43 | #: qml/CommandOutputKCM.qml:107 44 | #, kde-format 45 | msgctxt "@info" 46 | msgid "No text matching the filter" 47 | msgstr "" 48 | 49 | #: qml/CommandOutputKCM.qml:112 50 | #, kde-format 51 | msgctxt "@info the KCM has no data to display" 52 | msgid "No data available" 53 | msgstr "" 54 | 55 | #: qml/CommandOutputKCM.qml:125 56 | #, kde-format 57 | msgid "Report to %1" 58 | msgstr "" 59 | 60 | #: qml/CommandOutputKCM.qml:191 61 | #, kde-format 62 | msgctxt "@label placeholder text to filter for something" 63 | msgid "Filter…" 64 | msgstr "" 65 | 66 | #: qml/CommandOutputKCM.qml:193 67 | #, kde-format 68 | msgctxt "accessible name for filter input" 69 | msgid "Filter" 70 | msgstr "" 71 | 72 | #: qml/CommandOutputKCM.qml:205 73 | #, kde-format 74 | msgctxt "@action:button close filter header" 75 | msgid "Close" 76 | msgstr "" 77 | 78 | #: qml/CommandOutputKCM.qml:230 79 | #, kde-format 80 | msgctxt "@action:button pauses automatic refreshing" 81 | msgid "Pause Refreshing" 82 | msgstr "" 83 | 84 | #: qml/CommandOutputKCM.qml:238 85 | #, kde-format 86 | msgctxt "@action:button resumes automatic refreshing" 87 | msgid "Resume Refreshing" 88 | msgstr "" 89 | 90 | #: qml/CommandOutputKCM.qml:245 91 | #, kde-format 92 | msgctxt "@action:button copies all displayed text" 93 | msgid "Copy to Clipboard" 94 | msgstr "" 95 | 96 | #: qml/CommandOutputKCM.qml:253 97 | #, kde-format 98 | msgctxt "@action:button opens filter bar" 99 | msgid "Filter" 100 | msgstr "" 101 | -------------------------------------------------------------------------------- /kcms/samba/ui/ShareListItem.qml: -------------------------------------------------------------------------------- 1 | // SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted-GPL 2 | // SPDX-FileCopyrightText: 2020 Harald Sitter 3 | 4 | import QtQuick 2.14 5 | import org.kde.kirigami 2.12 as Kirigami 6 | import QtQuick.Controls 2.14 as QQC2 7 | import QtQuick.Layouts 1.14 8 | 9 | QQC2.ItemDelegate { 10 | id: listItem 11 | 12 | contentItem: RowLayout { 13 | spacing: LayoutMirroring.enabled ? listItem.rightPadding : listItem.leftPadding 14 | 15 | ColumnLayout { 16 | spacing: 0 17 | Layout.fillWidth: true 18 | 19 | RowLayout { 20 | QQC2.Label { 21 | elide: Text.ElideMiddle 22 | horizontalAlignment: Text.AlignLeft 23 | font: Kirigami.Theme.smallFont 24 | text: i18nc("@label local file system path", 'Path:') 25 | } 26 | 27 | Kirigami.UrlButton { 28 | Layout.fillWidth: true 29 | horizontalAlignment: Text.AlignLeft 30 | font: Kirigami.Theme.smallFont 31 | url: ROLE_Path 32 | } 33 | } 34 | 35 | RowLayout { 36 | QQC2.Label { 37 | elide: Text.ElideMiddle 38 | horizontalAlignment: Text.AlignLeft 39 | font: Kirigami.Theme.smallFont 40 | text: i18nc("@label labels a samba url or path", 'Shared at:') 41 | } 42 | 43 | // either fully qualified url 44 | Kirigami.UrlButton { 45 | id: link 46 | visible: ROLE_ShareUrl !== undefined 47 | Layout.fillWidth: true 48 | horizontalAlignment: Text.AlignLeft 49 | font: Kirigami.Theme.smallFont 50 | url: ROLE_ShareUrl !== undefined ? ROLE_ShareUrl : "" 51 | } 52 | 53 | // ... or name when we couldn't resolve a fully qualified url 54 | QQC2.Label { 55 | visible: !link.visible 56 | Layout.fillWidth: true 57 | elide: Text.ElideMiddle 58 | horizontalAlignment: Text.AlignLeft 59 | font: Kirigami.Theme.smallFont 60 | text: "/" + ROLE_Name 61 | } 62 | } 63 | } 64 | 65 | QQC2.ToolButton { 66 | action: Kirigami.Action { 67 | id: propertiesAction 68 | icon.name: "document-properties" 69 | tooltip: xi18nc("@info:tooltip", "Open folder properties to change share settings") 70 | displayHint: Kirigami.DisplayHint.IconOnly 71 | onTriggered: source => view.model.showPropertiesDialog(model.row) 72 | } 73 | 74 | QQC2.ToolTip { 75 | text: propertiesAction.tooltip 76 | } 77 | } 78 | } 79 | } 80 | -------------------------------------------------------------------------------- /kcms/usbview/classes.i18n: -------------------------------------------------------------------------------- 1 | // Generated from usb.ids with date '2021-03-31 20:34:09' 2 | i18nc("USB device class", "(Defined at Interface level)"); 3 | i18nc("USB device class", "Application Specific Interface"); 4 | i18nc("USB device class", "Audio"); 5 | i18nc("USB device class", "CDC Data"); 6 | i18nc("USB device class", "Chip/SmartCard"); 7 | i18nc("USB device class", "Communications"); 8 | i18nc("USB device class", "Content Security"); 9 | i18nc("USB device class", "Diagnostic"); 10 | i18nc("USB device class", "Hub"); 11 | i18nc("USB device class", "Human Interface Device"); 12 | i18nc("USB device class", "Imaging"); 13 | i18nc("USB device class", "Mass Storage"); 14 | i18nc("USB device class", "Miscellaneous Device"); 15 | i18nc("USB device class", "Physical Interface Device"); 16 | i18nc("USB device class", "Printer"); 17 | i18nc("USB device class", "Vendor Specific Class"); 18 | i18nc("USB device class", "Video"); 19 | i18nc("USB device class", "Wireless"); 20 | i18nc("USB device class", "Xbox"); 21 | i18nc("USB device subclass", "?"); 22 | i18nc("USB device subclass", "ATM Networking"); 23 | i18nc("USB device subclass", "Abstract (modem)"); 24 | i18nc("USB device subclass", "Boot Interface Subclass"); 25 | i18nc("USB device subclass", "CAPI Control"); 26 | i18nc("USB device subclass", "Control Device"); 27 | i18nc("USB device subclass", "Controller"); 28 | i18nc("USB device subclass", "Device Firmware Update"); 29 | i18nc("USB device subclass", "Device Management"); 30 | i18nc("USB device subclass", "Direct Line"); 31 | i18nc("USB device subclass", "Ethernet Emulation"); 32 | i18nc("USB device subclass", "Ethernet Networking"); 33 | i18nc("USB device subclass", "Floppy (UFI)"); 34 | i18nc("USB device subclass", "IRDA Bridge"); 35 | i18nc("USB device subclass", "MIDI Streaming"); 36 | i18nc("USB device subclass", "Mobile Direct Line"); 37 | i18nc("USB device subclass", "Multi-Channel"); 38 | i18nc("USB device subclass", "No Subclass"); 39 | i18nc("USB device subclass", "OBEX"); 40 | i18nc("USB device subclass", "Printer"); 41 | i18nc("USB device subclass", "QIC-157"); 42 | i18nc("USB device subclass", "RBC (typically Flash)"); 43 | i18nc("USB device subclass", "Radio Frequency"); 44 | i18nc("USB device subclass", "Reprogrammable Diagnostics"); 45 | i18nc("USB device subclass", "SCSI"); 46 | i18nc("USB device subclass", "SFF-8020i, MMC-2 (ATAPI)"); 47 | i18nc("USB device subclass", "SFF-8070i"); 48 | i18nc("USB device subclass", "Still Image Capture"); 49 | i18nc("USB device subclass", "Streaming"); 50 | i18nc("USB device subclass", "Telephone"); 51 | i18nc("USB device subclass", "Test and Measurement"); 52 | i18nc("USB device subclass", "USB3 Vision"); 53 | i18nc("USB device subclass", "Undefined"); 54 | i18nc("USB device subclass", "Unused"); 55 | i18nc("USB device subclass", "Vendor Specific Subclass"); 56 | i18nc("USB device subclass", "Video Control"); 57 | i18nc("USB device subclass", "Video Interface Collection"); 58 | i18nc("USB device subclass", "Video Streaming"); 59 | i18nc("USB device subclass", "Wireless Handset Control"); 60 | i18nc("USB device subclass", "Wireless USB Wire Adapter"); 61 | -------------------------------------------------------------------------------- /po/cs/kinfocenter.po: -------------------------------------------------------------------------------- 1 | # Copyright (C) 2024 This file is copyright: 2 | # This file is distributed under the same license as the kinfocenter package. 3 | # SPDX-FileCopyrightText: 2024 Vit Pelcak 4 | # 5 | msgid "" 6 | msgstr "" 7 | "Project-Id-Version: kinfocenter\n" 8 | "Report-Msgid-Bugs-To: https://bugs.kde.org\n" 9 | "POT-Creation-Date: 2025-12-04 00:45+0000\n" 10 | "PO-Revision-Date: 2024-01-19 16:00+0100\n" 11 | "Last-Translator: Vit Pelcak \n" 12 | "Language-Team: Czech \n" 13 | "Language: cs\n" 14 | "MIME-Version: 1.0\n" 15 | "Content-Type: text/plain; charset=UTF-8\n" 16 | "Content-Transfer-Encoding: 8bit\n" 17 | "Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n" 18 | "X-Generator: Lokalize 23.08.4\n" 19 | 20 | #: CommandOutputContext.cpp:127 CommandOutputContext.cpp:149 21 | #, kde-kuit-format 22 | msgctxt "@info" 23 | msgid "Could not load page content" 24 | msgstr "" 25 | 26 | #: CommandOutputContext.cpp:129 27 | #, kde-kuit-format 28 | msgctxt "@info" 29 | msgid "" 30 | "Technical details: The %1 tool is required to display " 31 | "this page, but could not be found. You may be able to install it using your " 32 | "package manager; either way, please report this packaging issue to %2." 33 | msgstr "" 34 | 35 | #: CommandOutputContext.cpp:150 36 | #, kde-kuit-format 37 | msgctxt "@Info" 38 | msgid "" 39 | "Technical details: the %1 tool crashed while generating " 40 | "page content." 41 | msgstr "" 42 | 43 | #: qml/CommandOutputKCM.qml:107 44 | #, kde-format 45 | msgctxt "@info" 46 | msgid "No text matching the filter" 47 | msgstr "" 48 | 49 | #: qml/CommandOutputKCM.qml:112 50 | #, kde-format 51 | msgctxt "@info the KCM has no data to display" 52 | msgid "No data available" 53 | msgstr "Nejsou dostupná žádná data" 54 | 55 | #: qml/CommandOutputKCM.qml:125 56 | #, kde-format 57 | msgid "Report to %1" 58 | msgstr "" 59 | 60 | #: qml/CommandOutputKCM.qml:191 61 | #, kde-format 62 | msgctxt "@label placeholder text to filter for something" 63 | msgid "Filter…" 64 | msgstr "Filtr…" 65 | 66 | #: qml/CommandOutputKCM.qml:193 67 | #, kde-format 68 | msgctxt "accessible name for filter input" 69 | msgid "Filter" 70 | msgstr "Filtr" 71 | 72 | #: qml/CommandOutputKCM.qml:205 73 | #, kde-format 74 | msgctxt "@action:button close filter header" 75 | msgid "Close" 76 | msgstr "" 77 | 78 | #: qml/CommandOutputKCM.qml:230 79 | #, kde-format 80 | msgctxt "@action:button pauses automatic refreshing" 81 | msgid "Pause Refreshing" 82 | msgstr "" 83 | 84 | #: qml/CommandOutputKCM.qml:238 85 | #, kde-format 86 | msgctxt "@action:button resumes automatic refreshing" 87 | msgid "Resume Refreshing" 88 | msgstr "" 89 | 90 | #: qml/CommandOutputKCM.qml:245 91 | #, kde-format 92 | msgctxt "@action:button copies all displayed text" 93 | msgid "Copy to Clipboard" 94 | msgstr "Zkopírovat do schránky" 95 | 96 | #: qml/CommandOutputKCM.qml:253 97 | #, kde-format 98 | msgctxt "@action:button opens filter bar" 99 | msgid "Filter" 100 | msgstr "" 101 | -------------------------------------------------------------------------------- /po/pt/kcm_samba.po: -------------------------------------------------------------------------------- 1 | msgid "" 2 | msgstr "" 3 | "Project-Id-Version: kcmsamba\n" 4 | "Report-Msgid-Bugs-To: https://bugs.kde.org\n" 5 | "POT-Creation-Date: 2025-11-17 11:53+0000\n" 6 | "PO-Revision-Date: 2020-09-29 10:30+0100\n" 7 | "Last-Translator: Pedro Morais \n" 8 | "Language-Team: pt \n" 9 | "Language: pt\n" 10 | "MIME-Version: 1.0\n" 11 | "Content-Type: text/plain; charset=UTF-8\n" 12 | "Content-Transfer-Encoding: 8bit\n" 13 | "X-POFile-IgnoreConsistency: Open Files\n" 14 | "X-Spell-Extra: GID UID KDE NFS PID SMB NetBIOS PATH localhost\n" 15 | "X-Spell-Extra: Session Message Block usb sbin smbstatus smb conf\n" 16 | "X-POFile-IgnoreConsistency: Hits\n" 17 | "X-POFile-SpellExtra: UID kcmsamba showmount GID smbstatus conf smb Greven\n" 18 | "Plural-Forms: nplurals=2; plural=n != 1;\n" 19 | "X-POFile-SpellExtra: Alexander sbin Faure Network Matthias Glauche System\n" 20 | "X-POFile-SpellExtra: Hoelzer Session Harald localhost Koschinski Message\n" 21 | "X-POFile-SpellExtra: Wilco LanManager Neundorf Block usr drives Sitter\n" 22 | "X-POFile-IgnoreConsistency: Type\n" 23 | 24 | #: ui/main.qml:18 25 | #, kde-format 26 | msgctxt "@title heading above listview" 27 | msgid "User-Created Shares" 28 | msgstr "Partilhas Criadas pelo Utilizador" 29 | 30 | #: ui/main.qml:23 31 | #, fuzzy, kde-format 32 | #| msgctxt "@title heading above listview" 33 | #| msgid "Mounted Remote Shares" 34 | msgctxt "@title heading above listview" 35 | msgid "Remote Share Mounts" 36 | msgstr "Partilhas Remotas Montadas" 37 | 38 | #: ui/main.qml:54 39 | #, kde-format 40 | msgctxt "@info place holder for empty listview" 41 | msgid "There are no directories shared by users" 42 | msgstr "Não há pastas partilhadas pelos utilizadores" 43 | 44 | #: ui/main.qml:92 45 | #, kde-format 46 | msgctxt "@info place holder for empty listview" 47 | msgid "There are no Samba shares mounted on this system" 48 | msgstr "Não há partilhas de Samba montadas neste sistema" 49 | 50 | #: ui/ShareListItem.qml:69 51 | #, kde-kuit-format 52 | msgctxt "@info:tooltip" 53 | msgid "Open folder properties to change share settings" 54 | msgstr "Abrir as propriedades da pasta para mudar a configuração da partilha" 55 | 56 | #~ msgctxt "NAME OF TRANSLATORS" 57 | #~ msgid "Your names" 58 | #~ msgstr "José Nuno Pires" 59 | 60 | #~ msgctxt "EMAIL OF TRANSLATORS" 61 | #~ msgid "Your emails" 62 | #~ msgstr "zepires@gmail.com" 63 | 64 | #~ msgid "kcmsamba" 65 | #~ msgstr "kcmsamba" 66 | 67 | #~ msgid "Samba Status" 68 | #~ msgstr "Estado do Samba" 69 | 70 | #~ msgid "(c) 2002-2020 KDE Information Control Module Samba Team" 71 | #~ msgstr "(c) 2002-2020 A Equipa de Samba do Módulo de Informação do KDE" 72 | 73 | #~ msgid "Michael Glauche" 74 | #~ msgstr "Michael Glauche" 75 | 76 | #~ msgid "Matthias Hoelzer" 77 | #~ msgstr "Matthias Hoelzer" 78 | 79 | #~ msgid "David Faure" 80 | #~ msgstr "David Faure" 81 | 82 | #~ msgid "Harald Koschinski" 83 | #~ msgstr "Harald Koschinski" 84 | 85 | #~ msgid "Wilco Greven" 86 | #~ msgstr "Wilco Greven" 87 | 88 | #~ msgid "Alexander Neundorf" 89 | #~ msgstr "Alexander Neundorf" 90 | 91 | #~ msgid "Harald Sitter" 92 | #~ msgstr "Harald Sitter" 93 | -------------------------------------------------------------------------------- /po/sk/kinfocenter.po: -------------------------------------------------------------------------------- 1 | # translation of kinfocenter.po to Slovak 2 | # SPDX-FileCopyrightText: 2023 Roman Paholík 3 | msgid "" 4 | msgstr "" 5 | "Project-Id-Version: kinfocenter\n" 6 | "Report-Msgid-Bugs-To: https://bugs.kde.org\n" 7 | "POT-Creation-Date: 2025-12-04 00:45+0000\n" 8 | "PO-Revision-Date: 2023-12-09 09:15+0100\n" 9 | "Last-Translator: Roman Paholik \n" 10 | "Language-Team: Slovak \n" 11 | "Language: sk\n" 12 | "MIME-Version: 1.0\n" 13 | "Content-Type: text/plain; charset=UTF-8\n" 14 | "Content-Transfer-Encoding: 8bit\n" 15 | "X-Generator: Lokalize 23.08.3\n" 16 | "Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n" 17 | 18 | #: CommandOutputContext.cpp:127 CommandOutputContext.cpp:149 19 | #, kde-kuit-format 20 | msgctxt "@info" 21 | msgid "Could not load page content" 22 | msgstr "" 23 | 24 | #: CommandOutputContext.cpp:129 25 | #, kde-kuit-format 26 | msgctxt "@info" 27 | msgid "" 28 | "Technical details: The %1 tool is required to display " 29 | "this page, but could not be found. You may be able to install it using your " 30 | "package manager; either way, please report this packaging issue to %2." 31 | msgstr "" 32 | 33 | #: CommandOutputContext.cpp:150 34 | #, kde-kuit-format 35 | msgctxt "@Info" 36 | msgid "" 37 | "Technical details: the %1 tool crashed while generating " 38 | "page content." 39 | msgstr "" 40 | 41 | #: qml/CommandOutputKCM.qml:107 42 | #, kde-format 43 | msgctxt "@info" 44 | msgid "No text matching the filter" 45 | msgstr "" 46 | 47 | #: qml/CommandOutputKCM.qml:112 48 | #, kde-format 49 | msgctxt "@info the KCM has no data to display" 50 | msgid "No data available" 51 | msgstr "Údaje nedostupné" 52 | 53 | #: qml/CommandOutputKCM.qml:125 54 | #, fuzzy, kde-format 55 | #| msgid "Report this issue" 56 | msgid "Report to %1" 57 | msgstr "Nahlásiť chybu" 58 | 59 | #: qml/CommandOutputKCM.qml:191 60 | #, kde-format 61 | msgctxt "@label placeholder text to filter for something" 62 | msgid "Filter…" 63 | msgstr "Filter..." 64 | 65 | #: qml/CommandOutputKCM.qml:193 66 | #, kde-format 67 | msgctxt "accessible name for filter input" 68 | msgid "Filter" 69 | msgstr "Filter" 70 | 71 | #: qml/CommandOutputKCM.qml:205 72 | #, kde-format 73 | msgctxt "@action:button close filter header" 74 | msgid "Close" 75 | msgstr "" 76 | 77 | #: qml/CommandOutputKCM.qml:230 78 | #, kde-format 79 | msgctxt "@action:button pauses automatic refreshing" 80 | msgid "Pause Refreshing" 81 | msgstr "" 82 | 83 | #: qml/CommandOutputKCM.qml:238 84 | #, kde-format 85 | msgctxt "@action:button resumes automatic refreshing" 86 | msgid "Resume Refreshing" 87 | msgstr "" 88 | 89 | #: qml/CommandOutputKCM.qml:245 90 | #, kde-format 91 | msgctxt "@action:button copies all displayed text" 92 | msgid "Copy to Clipboard" 93 | msgstr "Kopírovať do schránky" 94 | 95 | #: qml/CommandOutputKCM.qml:253 96 | #, fuzzy, kde-format 97 | #| msgctxt "accessible name for filter input" 98 | #| msgid "Filter" 99 | msgctxt "@action:button opens filter bar" 100 | msgid "Filter" 101 | msgstr "Filter" 102 | -------------------------------------------------------------------------------- /po/zh_CN/kinfocenter.po: -------------------------------------------------------------------------------- 1 | msgid "" 2 | msgstr "" 3 | "Project-Id-Version: kdeorg\n" 4 | "Report-Msgid-Bugs-To: https://bugs.kde.org\n" 5 | "POT-Creation-Date: 2025-12-04 00:45+0000\n" 6 | "PO-Revision-Date: 2024-04-22 15:58\n" 7 | "Last-Translator: \n" 8 | "Language-Team: Chinese Simplified\n" 9 | "Language: zh_CN\n" 10 | "MIME-Version: 1.0\n" 11 | "Content-Type: text/plain; charset=UTF-8\n" 12 | "Content-Transfer-Encoding: 8bit\n" 13 | "Plural-Forms: nplurals=1; plural=0;\n" 14 | "X-Crowdin-Project: kdeorg\n" 15 | "X-Crowdin-Project-ID: 269464\n" 16 | "X-Crowdin-Language: zh-CN\n" 17 | "X-Crowdin-File: /kf6-trunk/messages/kinfocenter/kinfocenter.pot\n" 18 | "X-Crowdin-File-ID: 48714\n" 19 | 20 | #: CommandOutputContext.cpp:127 CommandOutputContext.cpp:149 21 | #, kde-kuit-format 22 | msgctxt "@info" 23 | msgid "Could not load page content" 24 | msgstr "无法加载页面内容" 25 | 26 | #: CommandOutputContext.cpp:129 27 | #, kde-kuit-format 28 | msgctxt "@info" 29 | msgid "" 30 | "Technical details: The %1 tool is required to display " 31 | "this page, but could not be found. You may be able to install it using your " 32 | "package manager; either way, please report this packaging issue to %2." 33 | msgstr "" 34 | "技术细节:显示此页面需要 %1 工具,但程序无法在系统中找到" 35 | "它。您或许可以使用您的软件包管理器安装它;无论具体情况如何,请将此打包问题报" 36 | "告给 %2。" 37 | 38 | #: CommandOutputContext.cpp:150 39 | #, kde-kuit-format 40 | msgctxt "@Info" 41 | msgid "" 42 | "Technical details: the %1 tool crashed while generating " 43 | "page content." 44 | msgstr "技术细节:生成页面内容时 %1 工具程序发生了崩溃。" 45 | 46 | #: qml/CommandOutputKCM.qml:107 47 | #, kde-format 48 | msgctxt "@info" 49 | msgid "No text matching the filter" 50 | msgstr "没有匹配此过滤条件的文本" 51 | 52 | #: qml/CommandOutputKCM.qml:112 53 | #, kde-format 54 | msgctxt "@info the KCM has no data to display" 55 | msgid "No data available" 56 | msgstr "没有可用数据" 57 | 58 | #: qml/CommandOutputKCM.qml:125 59 | #, kde-format 60 | msgid "Report to %1" 61 | msgstr "报告到 %1" 62 | 63 | #: qml/CommandOutputKCM.qml:191 64 | #, kde-format 65 | msgctxt "@label placeholder text to filter for something" 66 | msgid "Filter…" 67 | msgstr "过滤…" 68 | 69 | #: qml/CommandOutputKCM.qml:193 70 | #, kde-format 71 | msgctxt "accessible name for filter input" 72 | msgid "Filter" 73 | msgstr "过滤" 74 | 75 | #: qml/CommandOutputKCM.qml:205 76 | #, kde-format 77 | msgctxt "@action:button close filter header" 78 | msgid "Close" 79 | msgstr "关闭" 80 | 81 | #: qml/CommandOutputKCM.qml:230 82 | #, kde-format 83 | msgctxt "@action:button pauses automatic refreshing" 84 | msgid "Pause Refreshing" 85 | msgstr "暂停刷新" 86 | 87 | #: qml/CommandOutputKCM.qml:238 88 | #, kde-format 89 | msgctxt "@action:button resumes automatic refreshing" 90 | msgid "Resume Refreshing" 91 | msgstr "继续刷新" 92 | 93 | #: qml/CommandOutputKCM.qml:245 94 | #, kde-format 95 | msgctxt "@action:button copies all displayed text" 96 | msgid "Copy to Clipboard" 97 | msgstr "复制到剪贴板" 98 | 99 | #: qml/CommandOutputKCM.qml:253 100 | #, kde-format 101 | msgctxt "@action:button opens filter bar" 102 | msgid "Filter" 103 | msgstr "过滤" 104 | -------------------------------------------------------------------------------- /po/ta/kinfocenter.po: -------------------------------------------------------------------------------- 1 | # Copyright (C) 2024 This file is copyright: 2 | # This file is distributed under the same license as the kinfocenter package. 3 | # 4 | # SPDX-FileCopyrightText: 2024 Kishore G 5 | msgid "" 6 | msgstr "" 7 | "Project-Id-Version: kinfocenter\n" 8 | "Report-Msgid-Bugs-To: https://bugs.kde.org\n" 9 | "POT-Creation-Date: 2025-12-04 00:45+0000\n" 10 | "PO-Revision-Date: 2024-03-08 21:26+0530\n" 11 | "Last-Translator: Kishore G \n" 12 | "Language-Team: Tamil \n" 13 | "Language: ta\n" 14 | "MIME-Version: 1.0\n" 15 | "Content-Type: text/plain; charset=UTF-8\n" 16 | "Content-Transfer-Encoding: 8bit\n" 17 | "Plural-Forms: nplurals=2; plural=n != 1;\n" 18 | "X-Generator: Lokalize 24.02.0\n" 19 | 20 | #: CommandOutputContext.cpp:127 CommandOutputContext.cpp:149 21 | #, kde-kuit-format 22 | msgctxt "@info" 23 | msgid "Could not load page content" 24 | msgstr "" 25 | 26 | #: CommandOutputContext.cpp:129 27 | #, kde-kuit-format 28 | msgctxt "@info" 29 | msgid "" 30 | "Technical details: The %1 tool is required to display " 31 | "this page, but could not be found. You may be able to install it using your " 32 | "package manager; either way, please report this packaging issue to %2." 33 | msgstr "" 34 | 35 | #: CommandOutputContext.cpp:150 36 | #, kde-kuit-format 37 | msgctxt "@Info" 38 | msgid "" 39 | "Technical details: the %1 tool crashed while generating " 40 | "page content." 41 | msgstr "" 42 | 43 | #: qml/CommandOutputKCM.qml:107 44 | #, kde-format 45 | msgctxt "@info" 46 | msgid "No text matching the filter" 47 | msgstr "வடிகட்டிக்கு எதுவும் பொருந்தவில்லை" 48 | 49 | #: qml/CommandOutputKCM.qml:112 50 | #, kde-format 51 | msgctxt "@info the KCM has no data to display" 52 | msgid "No data available" 53 | msgstr "விவரங்கள் கிடைக்கவில்லை" 54 | 55 | #: qml/CommandOutputKCM.qml:125 56 | #, fuzzy, kde-format 57 | #| msgid "Report this issue" 58 | msgid "Report to %1" 59 | msgstr "இச்சிக்கலை தெரிவி" 60 | 61 | #: qml/CommandOutputKCM.qml:191 62 | #, kde-format 63 | msgctxt "@label placeholder text to filter for something" 64 | msgid "Filter…" 65 | msgstr "வடிகட்டு…" 66 | 67 | #: qml/CommandOutputKCM.qml:193 68 | #, kde-format 69 | msgctxt "accessible name for filter input" 70 | msgid "Filter" 71 | msgstr "வடிகட்டி" 72 | 73 | #: qml/CommandOutputKCM.qml:205 74 | #, kde-format 75 | msgctxt "@action:button close filter header" 76 | msgid "Close" 77 | msgstr "" 78 | 79 | #: qml/CommandOutputKCM.qml:230 80 | #, kde-format 81 | msgctxt "@action:button pauses automatic refreshing" 82 | msgid "Pause Refreshing" 83 | msgstr "" 84 | 85 | #: qml/CommandOutputKCM.qml:238 86 | #, kde-format 87 | msgctxt "@action:button resumes automatic refreshing" 88 | msgid "Resume Refreshing" 89 | msgstr "" 90 | 91 | #: qml/CommandOutputKCM.qml:245 92 | #, kde-format 93 | msgctxt "@action:button copies all displayed text" 94 | msgid "Copy to Clipboard" 95 | msgstr "பிடிப்புப்பலகைக்கு நகலெடு" 96 | 97 | #: qml/CommandOutputKCM.qml:253 98 | #, fuzzy, kde-format 99 | #| msgctxt "accessible name for filter input" 100 | #| msgid "Filter" 101 | msgctxt "@action:button opens filter bar" 102 | msgid "Filter" 103 | msgstr "வடிகட்டி" 104 | -------------------------------------------------------------------------------- /po/ja/kinfocenter.po: -------------------------------------------------------------------------------- 1 | # SPDX-FileCopyrightText: 2025 Yuma Kakei 2 | msgid "" 3 | msgstr "" 4 | "Project-Id-Version: kinfocenter\n" 5 | "Report-Msgid-Bugs-To: https://bugs.kde.org\n" 6 | "POT-Creation-Date: 2025-12-04 00:45+0000\n" 7 | "PO-Revision-Date: 2025-09-24 14:44+0900\n" 8 | "Last-Translator: Yuma Kakei \n" 9 | "Language-Team: Japanese \n" 10 | "Language: ja\n" 11 | "MIME-Version: 1.0\n" 12 | "Content-Type: text/plain; charset=UTF-8\n" 13 | "Content-Transfer-Encoding: 8bit\n" 14 | "Plural-Forms: nplurals=1; plural=0;\n" 15 | "X-Accelerator-Marker: &\n" 16 | "X-Text-Markup: kde4\n" 17 | "X-Generator: Lokalize 25.08.1\n" 18 | 19 | #: CommandOutputContext.cpp:127 CommandOutputContext.cpp:149 20 | #, kde-kuit-format 21 | msgctxt "@info" 22 | msgid "Could not load page content" 23 | msgstr "ページの内容を読み込めませんでした" 24 | 25 | #: CommandOutputContext.cpp:129 26 | #, kde-kuit-format 27 | msgctxt "@info" 28 | msgid "" 29 | "Technical details: The %1 tool is required to display " 30 | "this page, but could not be found. You may be able to install it using your " 31 | "package manager; either way, please report this packaging issue to %2." 32 | msgstr "" 33 | "技術的な詳細: このページを表示するには %1 ツールが必要です" 34 | "が、見つかりませんでした。パッケージマネージャを使用してインストールできる可" 35 | "能性があります。いずれにせよ、このパッケージングの問題を %2 に報告してくださ" 36 | "い。" 37 | 38 | #: CommandOutputContext.cpp:150 39 | #, kde-kuit-format 40 | msgctxt "@Info" 41 | msgid "" 42 | "Technical details: the %1 tool crashed while generating " 43 | "page content." 44 | msgstr "" 45 | "技術的な詳細: ページの内容を生成中に、%1 ツールがクラッ" 46 | "シュしました。" 47 | 48 | #: qml/CommandOutputKCM.qml:107 49 | #, kde-format 50 | msgctxt "@info" 51 | msgid "No text matching the filter" 52 | msgstr "フィルタに一致するテキストはありません" 53 | 54 | #: qml/CommandOutputKCM.qml:112 55 | #, kde-format 56 | msgctxt "@info the KCM has no data to display" 57 | msgid "No data available" 58 | msgstr "データはありません" 59 | 60 | #: qml/CommandOutputKCM.qml:125 61 | #, kde-format 62 | msgid "Report to %1" 63 | msgstr "%1 に報告する" 64 | 65 | #: qml/CommandOutputKCM.qml:191 66 | #, kde-format 67 | msgctxt "@label placeholder text to filter for something" 68 | msgid "Filter…" 69 | msgstr "フィルタ…" 70 | 71 | #: qml/CommandOutputKCM.qml:193 72 | #, kde-format 73 | msgctxt "accessible name for filter input" 74 | msgid "Filter" 75 | msgstr "フィルタ" 76 | 77 | #: qml/CommandOutputKCM.qml:205 78 | #, kde-format 79 | msgctxt "@action:button close filter header" 80 | msgid "Close" 81 | msgstr "閉じる" 82 | 83 | #: qml/CommandOutputKCM.qml:230 84 | #, kde-format 85 | msgctxt "@action:button pauses automatic refreshing" 86 | msgid "Pause Refreshing" 87 | msgstr "ページの更新を一時停止" 88 | 89 | #: qml/CommandOutputKCM.qml:238 90 | #, kde-format 91 | msgctxt "@action:button resumes automatic refreshing" 92 | msgid "Resume Refreshing" 93 | msgstr "ページの更新を再開" 94 | 95 | #: qml/CommandOutputKCM.qml:245 96 | #, kde-format 97 | msgctxt "@action:button copies all displayed text" 98 | msgid "Copy to Clipboard" 99 | msgstr "クリップボードにコピー" 100 | 101 | #: qml/CommandOutputKCM.qml:253 102 | #, kde-format 103 | msgctxt "@action:button opens filter bar" 104 | msgid "Filter" 105 | msgstr "フィルタ" 106 | -------------------------------------------------------------------------------- /po/ro/kinfocenter.po: -------------------------------------------------------------------------------- 1 | # Traducerea kinfocenter.po în Română 2 | # translation of kcontrol.po to Romanian 3 | # translation of @PACKAGE.po to @LANGUAGE 4 | # Copyright (C) 2004, 2005, 2008 Free Software Foundation, Inc. 5 | # Claudiu Costin , 2003, 2004, 2005. 6 | # Sergiu Bivol , 2008. 7 | # Sergiu Bivol , 2008, 2009, 2011, 2020. 8 | # Cristian Oneț , 2011. 9 | # 10 | msgid "" 11 | msgstr "" 12 | "Project-Id-Version: kinfocenter\n" 13 | "Report-Msgid-Bugs-To: https://bugs.kde.org\n" 14 | "POT-Creation-Date: 2025-12-04 00:45+0000\n" 15 | "PO-Revision-Date: 2020-09-24 23:31+0100\n" 16 | "Last-Translator: Sergiu Bivol \n" 17 | "Language-Team: Romanian\n" 18 | "Language: ro\n" 19 | "MIME-Version: 1.0\n" 20 | "Content-Type: text/plain; charset=UTF-8\n" 21 | "Content-Transfer-Encoding: 8bit\n" 22 | "Plural-Forms: nplurals=3; plural=n==1 ? 0 : (n==0 || (n%100 > 0 && n%100 < " 23 | "20)) ? 1 : 2;\n" 24 | "X-Generator: Lokalize 19.12.3\n" 25 | 26 | #: CommandOutputContext.cpp:127 CommandOutputContext.cpp:149 27 | #, kde-kuit-format 28 | msgctxt "@info" 29 | msgid "Could not load page content" 30 | msgstr "" 31 | 32 | #: CommandOutputContext.cpp:129 33 | #, kde-kuit-format 34 | msgctxt "@info" 35 | msgid "" 36 | "Technical details: The %1 tool is required to display " 37 | "this page, but could not be found. You may be able to install it using your " 38 | "package manager; either way, please report this packaging issue to %2." 39 | msgstr "" 40 | 41 | #: CommandOutputContext.cpp:150 42 | #, kde-kuit-format 43 | msgctxt "@Info" 44 | msgid "" 45 | "Technical details: the %1 tool crashed while generating " 46 | "page content." 47 | msgstr "" 48 | 49 | #: qml/CommandOutputKCM.qml:107 50 | #, kde-format 51 | msgctxt "@info" 52 | msgid "No text matching the filter" 53 | msgstr "" 54 | 55 | #: qml/CommandOutputKCM.qml:112 56 | #, kde-format 57 | msgctxt "@info the KCM has no data to display" 58 | msgid "No data available" 59 | msgstr "" 60 | 61 | #: qml/CommandOutputKCM.qml:125 62 | #, kde-format 63 | msgid "Report to %1" 64 | msgstr "" 65 | 66 | #: qml/CommandOutputKCM.qml:191 67 | #, kde-format 68 | msgctxt "@label placeholder text to filter for something" 69 | msgid "Filter…" 70 | msgstr "" 71 | 72 | #: qml/CommandOutputKCM.qml:193 73 | #, kde-format 74 | msgctxt "accessible name for filter input" 75 | msgid "Filter" 76 | msgstr "" 77 | 78 | #: qml/CommandOutputKCM.qml:205 79 | #, kde-format 80 | msgctxt "@action:button close filter header" 81 | msgid "Close" 82 | msgstr "" 83 | 84 | #: qml/CommandOutputKCM.qml:230 85 | #, kde-format 86 | msgctxt "@action:button pauses automatic refreshing" 87 | msgid "Pause Refreshing" 88 | msgstr "" 89 | 90 | #: qml/CommandOutputKCM.qml:238 91 | #, kde-format 92 | msgctxt "@action:button resumes automatic refreshing" 93 | msgid "Resume Refreshing" 94 | msgstr "" 95 | 96 | #: qml/CommandOutputKCM.qml:245 97 | #, kde-format 98 | msgctxt "@action:button copies all displayed text" 99 | msgid "Copy to Clipboard" 100 | msgstr "" 101 | 102 | #: qml/CommandOutputKCM.qml:253 103 | #, kde-format 104 | msgctxt "@action:button opens filter bar" 105 | msgid "Filter" 106 | msgstr "" 107 | -------------------------------------------------------------------------------- /po/nb/kinfocenter.po: -------------------------------------------------------------------------------- 1 | # Translation of kinfocenter to Norwegian Bokmål 2 | # 3 | msgid "" 4 | msgstr "" 5 | "Project-Id-Version: kinfocenter\n" 6 | "Report-Msgid-Bugs-To: https://bugs.kde.org\n" 7 | "POT-Creation-Date: 2025-12-04 00:45+0000\n" 8 | "PO-Revision-Date: 2025-02-12 19:35+0100\n" 9 | "Last-Translator: Martin Hansen \n" 10 | "Language-Team: Norwegian Bokmål \n" 11 | "Language: nb\n" 12 | "MIME-Version: 1.0\n" 13 | "Content-Type: text/plain; charset=UTF-8\n" 14 | "Content-Transfer-Encoding: 8bit\n" 15 | "Plural-Forms: nplurals=2; plural=n != 1;\n" 16 | "X-Generator: Lokalize 24.12.2\n" 17 | "X-Environment: kde\n" 18 | "X-Accelerator-Marker: &\n" 19 | "X-Text-Markup: kde4\n" 20 | 21 | #: CommandOutputContext.cpp:127 CommandOutputContext.cpp:149 22 | #, kde-kuit-format 23 | msgctxt "@info" 24 | msgid "Could not load page content" 25 | msgstr "" 26 | 27 | #: CommandOutputContext.cpp:129 28 | #, kde-kuit-format 29 | msgctxt "@info" 30 | msgid "" 31 | "Technical details: The %1 tool is required to display " 32 | "this page, but could not be found. You may be able to install it using your " 33 | "package manager; either way, please report this packaging issue to %2." 34 | msgstr "" 35 | 36 | #: CommandOutputContext.cpp:150 37 | #, fuzzy, kde-kuit-format 38 | #| msgctxt "@info" 39 | #| msgid "The %1 tool crashed while generating page content" 40 | msgctxt "@Info" 41 | msgid "" 42 | "Technical details: the %1 tool crashed while generating " 43 | "page content." 44 | msgstr "Verktøyet %1 krasja ved generering av sideinnholdet" 45 | 46 | #: qml/CommandOutputKCM.qml:107 47 | #, kde-format 48 | msgctxt "@info" 49 | msgid "No text matching the filter" 50 | msgstr "Ingen tekst samsvarer med filteret" 51 | 52 | #: qml/CommandOutputKCM.qml:112 53 | #, kde-format 54 | msgctxt "@info the KCM has no data to display" 55 | msgid "No data available" 56 | msgstr "Ingen data tilgjengelig" 57 | 58 | #: qml/CommandOutputKCM.qml:125 59 | #, fuzzy, kde-format 60 | #| msgid "Report this issue" 61 | msgid "Report to %1" 62 | msgstr "Meld fra om feilen" 63 | 64 | #: qml/CommandOutputKCM.qml:191 65 | #, kde-format 66 | msgctxt "@label placeholder text to filter for something" 67 | msgid "Filter…" 68 | msgstr "Filtrer …" 69 | 70 | #: qml/CommandOutputKCM.qml:193 71 | #, kde-format 72 | msgctxt "accessible name for filter input" 73 | msgid "Filter" 74 | msgstr "Filter" 75 | 76 | #: qml/CommandOutputKCM.qml:205 77 | #, kde-format 78 | msgctxt "@action:button close filter header" 79 | msgid "Close" 80 | msgstr "" 81 | 82 | #: qml/CommandOutputKCM.qml:230 83 | #, kde-format 84 | msgctxt "@action:button pauses automatic refreshing" 85 | msgid "Pause Refreshing" 86 | msgstr "" 87 | 88 | #: qml/CommandOutputKCM.qml:238 89 | #, kde-format 90 | msgctxt "@action:button resumes automatic refreshing" 91 | msgid "Resume Refreshing" 92 | msgstr "" 93 | 94 | #: qml/CommandOutputKCM.qml:245 95 | #, kde-format 96 | msgctxt "@action:button copies all displayed text" 97 | msgid "Copy to Clipboard" 98 | msgstr "Kopier til utklippstavla" 99 | 100 | #: qml/CommandOutputKCM.qml:253 101 | #, fuzzy, kde-format 102 | #| msgctxt "accessible name for filter input" 103 | #| msgid "Filter" 104 | msgctxt "@action:button opens filter bar" 105 | msgid "Filter" 106 | msgstr "Filter" 107 | -------------------------------------------------------------------------------- /po/nn/kinfocenter.po: -------------------------------------------------------------------------------- 1 | # Translation of kinfocenter to Norwegian Nynorsk 2 | # 3 | msgid "" 4 | msgstr "" 5 | "Project-Id-Version: kinfocenter\n" 6 | "Report-Msgid-Bugs-To: https://bugs.kde.org\n" 7 | "POT-Creation-Date: 2025-12-04 00:45+0000\n" 8 | "PO-Revision-Date: 2024-07-26 14:36+0200\n" 9 | "Last-Translator: Karl Ove Hufthammer \n" 10 | "Language-Team: Norwegian Nynorsk \n" 11 | "Language: nn\n" 12 | "MIME-Version: 1.0\n" 13 | "Content-Type: text/plain; charset=UTF-8\n" 14 | "Content-Transfer-Encoding: 8bit\n" 15 | "Plural-Forms: nplurals=2; plural=n != 1;\n" 16 | "X-Generator: Lokalize 24.11.70\n" 17 | "X-Environment: kde\n" 18 | "X-Accelerator-Marker: &\n" 19 | "X-Text-Markup: kde4\n" 20 | 21 | #: CommandOutputContext.cpp:127 CommandOutputContext.cpp:149 22 | #, kde-kuit-format 23 | msgctxt "@info" 24 | msgid "Could not load page content" 25 | msgstr "" 26 | 27 | #: CommandOutputContext.cpp:129 28 | #, kde-kuit-format 29 | msgctxt "@info" 30 | msgid "" 31 | "Technical details: The %1 tool is required to display " 32 | "this page, but could not be found. You may be able to install it using your " 33 | "package manager; either way, please report this packaging issue to %2." 34 | msgstr "" 35 | 36 | #: CommandOutputContext.cpp:150 37 | #, fuzzy, kde-kuit-format 38 | #| msgctxt "@info" 39 | #| msgid "The %1 tool crashed while generating page content" 40 | msgctxt "@Info" 41 | msgid "" 42 | "Technical details: the %1 tool crashed while generating " 43 | "page content." 44 | msgstr "Verktøyet %1 krasja ved generering av sideinnhaldet" 45 | 46 | #: qml/CommandOutputKCM.qml:107 47 | #, kde-format 48 | msgctxt "@info" 49 | msgid "No text matching the filter" 50 | msgstr "Ingen tekst i samsvar med filteret" 51 | 52 | #: qml/CommandOutputKCM.qml:112 53 | #, kde-format 54 | msgctxt "@info the KCM has no data to display" 55 | msgid "No data available" 56 | msgstr "Ingen data tilgjengeleg" 57 | 58 | #: qml/CommandOutputKCM.qml:125 59 | #, fuzzy, kde-format 60 | #| msgid "Report this issue" 61 | msgid "Report to %1" 62 | msgstr "Meld frå om feilen" 63 | 64 | #: qml/CommandOutputKCM.qml:191 65 | #, kde-format 66 | msgctxt "@label placeholder text to filter for something" 67 | msgid "Filter…" 68 | msgstr "Filtrer …" 69 | 70 | #: qml/CommandOutputKCM.qml:193 71 | #, kde-format 72 | msgctxt "accessible name for filter input" 73 | msgid "Filter" 74 | msgstr "Filter" 75 | 76 | #: qml/CommandOutputKCM.qml:205 77 | #, kde-format 78 | msgctxt "@action:button close filter header" 79 | msgid "Close" 80 | msgstr "" 81 | 82 | #: qml/CommandOutputKCM.qml:230 83 | #, kde-format 84 | msgctxt "@action:button pauses automatic refreshing" 85 | msgid "Pause Refreshing" 86 | msgstr "" 87 | 88 | #: qml/CommandOutputKCM.qml:238 89 | #, kde-format 90 | msgctxt "@action:button resumes automatic refreshing" 91 | msgid "Resume Refreshing" 92 | msgstr "" 93 | 94 | #: qml/CommandOutputKCM.qml:245 95 | #, kde-format 96 | msgctxt "@action:button copies all displayed text" 97 | msgid "Copy to Clipboard" 98 | msgstr "Kopier til utklippstavla" 99 | 100 | #: qml/CommandOutputKCM.qml:253 101 | #, fuzzy, kde-format 102 | #| msgctxt "accessible name for filter input" 103 | #| msgid "Filter" 104 | msgctxt "@action:button opens filter bar" 105 | msgid "Filter" 106 | msgstr "Filter" 107 | --------------------------------------------------------------------------------