├── logo.png ├── src ├── focustrackconfig.h.in ├── Messages.sh ├── kmag.qrc ├── colorsim.h ├── CMakeLists.txt ├── main.cpp ├── kmagselrect.h ├── kmagui.rc ├── org.kde.kmag.desktop ├── kmag.h ├── kmagzoomview.h ├── colorsim.cpp └── kmagselrect.cpp ├── doc ├── screenshot.png ├── CMakeLists.txt └── man-kmag.1.docbook ├── pics ├── 16-apps-kmag.png ├── 32-apps-kmag.png ├── 16-actions-window.png ├── 16-actions-hidemouse.png ├── 16-actions-followmouse.png ├── CMakeLists.txt └── kmag.svg ├── po ├── ca │ └── docs │ │ └── kmag │ │ ├── screenshot.png │ │ └── man-kmag.1.docbook ├── de │ └── docs │ │ └── kmag │ │ ├── screenshot.png │ │ └── man-kmag.1.docbook ├── fr │ └── docs │ │ └── kmag │ │ ├── screenshot.png │ │ └── man-kmag.1.docbook ├── it │ └── docs │ │ └── kmag │ │ ├── screenshot.png │ │ └── man-kmag.1.docbook ├── nl │ └── docs │ │ └── kmag │ │ ├── screenshot.png │ │ └── man-kmag.1.docbook ├── sv │ └── docs │ │ └── kmag │ │ ├── screenshot.png │ │ └── man-kmag.1.docbook ├── uk │ └── docs │ │ └── kmag │ │ ├── screenshot.png │ │ └── man-kmag.1.docbook ├── pt_BR │ └── docs │ │ └── kmag │ │ ├── screenshot.png │ │ └── man-kmag.1.docbook ├── et │ └── docs │ │ └── kmag │ │ └── man-kmag.1.docbook ├── ru │ └── docs │ │ └── kmag │ │ └── man-kmag.1.docbook ├── pt │ └── docs │ │ └── kmag │ │ └── man-kmag.1.docbook ├── sl │ └── docs │ │ └── kmag │ │ └── man-kmag.1.docbook ├── es │ └── docs │ │ └── kmag │ │ └── man-kmag.1.docbook ├── se │ └── kmag.po ├── ast │ └── kmag.po ├── ku │ └── kmag.po ├── oc │ └── kmag.po ├── mr │ └── kmag.po ├── sq │ └── kmag.po ├── be │ └── kmag.po └── pa │ └── kmag.po ├── CMakePresets.json.license ├── .gitignore ├── .gitlab-ci.yml ├── README.md ├── .kde-ci.yml ├── .flatpak-manifest.json ├── LICENSES ├── BSD-3-Clause.txt └── CC0-1.0.txt ├── CMakeLists.txt ├── ChangeLog ├── snapcraft.yaml └── CMakePresets.json /logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/KDE/kmag/HEAD/logo.png -------------------------------------------------------------------------------- /src/focustrackconfig.h.in: -------------------------------------------------------------------------------- 1 | #cmakedefine01 HAVE_QACCESSIBILITYCLIENT 2 | -------------------------------------------------------------------------------- /doc/screenshot.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/KDE/kmag/HEAD/doc/screenshot.png -------------------------------------------------------------------------------- /pics/16-apps-kmag.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/KDE/kmag/HEAD/pics/16-apps-kmag.png -------------------------------------------------------------------------------- /pics/32-apps-kmag.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/KDE/kmag/HEAD/pics/32-apps-kmag.png -------------------------------------------------------------------------------- /pics/16-actions-window.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/KDE/kmag/HEAD/pics/16-actions-window.png -------------------------------------------------------------------------------- /pics/16-actions-hidemouse.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/KDE/kmag/HEAD/pics/16-actions-hidemouse.png -------------------------------------------------------------------------------- /pics/16-actions-followmouse.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/KDE/kmag/HEAD/pics/16-actions-followmouse.png -------------------------------------------------------------------------------- /po/ca/docs/kmag/screenshot.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/KDE/kmag/HEAD/po/ca/docs/kmag/screenshot.png -------------------------------------------------------------------------------- /po/de/docs/kmag/screenshot.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/KDE/kmag/HEAD/po/de/docs/kmag/screenshot.png -------------------------------------------------------------------------------- /po/fr/docs/kmag/screenshot.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/KDE/kmag/HEAD/po/fr/docs/kmag/screenshot.png -------------------------------------------------------------------------------- /po/it/docs/kmag/screenshot.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/KDE/kmag/HEAD/po/it/docs/kmag/screenshot.png -------------------------------------------------------------------------------- /po/nl/docs/kmag/screenshot.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/KDE/kmag/HEAD/po/nl/docs/kmag/screenshot.png -------------------------------------------------------------------------------- /po/sv/docs/kmag/screenshot.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/KDE/kmag/HEAD/po/sv/docs/kmag/screenshot.png -------------------------------------------------------------------------------- /po/uk/docs/kmag/screenshot.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/KDE/kmag/HEAD/po/uk/docs/kmag/screenshot.png -------------------------------------------------------------------------------- /po/pt_BR/docs/kmag/screenshot.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/KDE/kmag/HEAD/po/pt_BR/docs/kmag/screenshot.png -------------------------------------------------------------------------------- /src/Messages.sh: -------------------------------------------------------------------------------- 1 | #! /usr/bin/env bash 2 | $EXTRACTRC *.rc >> rc.cpp 3 | $XGETTEXT *.cpp -o $podir/kmag.pot 4 | -------------------------------------------------------------------------------- /CMakePresets.json.license: -------------------------------------------------------------------------------- 1 | # SPDX-FileCopyrightText: 2021 Laurent Montel 2 | # SPDX-License-Identifier: BSD-3-Clause 3 | -------------------------------------------------------------------------------- /src/kmag.qrc: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | kmagui.rc 5 | 6 | 7 | -------------------------------------------------------------------------------- /doc/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | ########### install files ############### 2 | 3 | # 4 | kdoctools_create_handbook(index.docbook INSTALL_DESTINATION ${KDE_INSTALL_DOCBUNDLEDIR}/en SUBDIR kmag) 5 | kdoctools_create_manpage(man-kmag.1.docbook 1 INSTALL_DESTINATION ${KDE_INSTALL_MANDIR}) 6 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | # Ignore the following files 2 | *~ 3 | *.[oa] 4 | *.diff 5 | *.kate-swp 6 | *.kdev4 7 | .kdev_include_paths 8 | *.kdevelop.pcs 9 | *.moc 10 | *.moc.cpp 11 | *.orig 12 | *.user 13 | .*.swp 14 | .swp.* 15 | Doxyfile 16 | Makefile 17 | avail 18 | random_seed 19 | /build*/ 20 | CMakeLists.txt.user* 21 | *.unc-backup* 22 | .cmake/ 23 | -------------------------------------------------------------------------------- /.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/linux-qt6-next.yml 9 | - /gitlab-templates/freebsd-qt6.yml 10 | - /gitlab-templates/flatpak.yml 11 | - /gitlab-templates/xml-lint.yml 12 | - /gitlab-templates/yaml-lint.yml 13 | - /gitlab-templates/documentation.yml 14 | -------------------------------------------------------------------------------- /pics/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | ecm_install_icons(ICONS 2 | 16-actions-followmouse.png 3 | 16-actions-hidemouse.png 4 | 16-actions-window.png 5 | DESTINATION ${KDE_INSTALL_DATADIR}/kmag/icons 6 | THEME hicolor 7 | ) 8 | 9 | ecm_install_icons(ICONS 10 | 16-apps-kmag.png 11 | 32-apps-kmag.png 12 | DESTINATION ${KDE_INSTALL_ICONDIR} 13 | THEME hicolor 14 | ) 15 | 16 | install(FILES 17 | kmag.svg 18 | DESTINATION ${KDE_INSTALL_ICONDIR}/hicolor/scalable/apps 19 | ) 20 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # KMag 2 | 3 | KMag is a screen magnifier. 4 | 5 | Website: https://kde.org/applications/utilities/org.kde.kmag 6 | 7 | ![Screenshot](https://cdn.kde.org/screenshots/kmag/kmag.png) 8 | 9 | ## Building 10 | 11 | The easiest way to make changes and test KMag during development is to [build it with kdesrc-build](https://community.kde.org/Get_Involved/development). 12 | 13 | ## License 14 | 15 | This project is licensed under the GNU General Public License 2. 16 | -------------------------------------------------------------------------------- /.kde-ci.yml: -------------------------------------------------------------------------------- 1 | # SPDX-FileCopyrightText: None 2 | # SPDX-License-Identifier: CC0-1.0 3 | 4 | Dependencies: 5 | - 'on': ['Linux', 'FreeBSD'] 6 | 'require': 7 | 'frameworks/extra-cmake-modules': '@latest-kf6' 8 | 'frameworks/kdoctools': '@latest-kf6' 9 | 'frameworks/ki18n': '@latest-kf6' 10 | 'frameworks/kio': '@latest-kf6' 11 | 'frameworks/kxmlgui': '@latest-kf6' 12 | 'libraries/libqaccessibilityclient': '@latest-kf6' 13 | 'frameworks/kcrash': '@latest-kf6' 14 | 15 | Options: 16 | require-passing-tests-on: ['Linux', 'FreeBSD'] 17 | -------------------------------------------------------------------------------- /.flatpak-manifest.json: -------------------------------------------------------------------------------- 1 | { 2 | "id": "org.kde.kmag", 3 | "branch": "master", 4 | "runtime": "org.kde.Platform", 5 | "runtime-version": "6.10", 6 | "sdk": "org.kde.Sdk", 7 | "command": "kmag", 8 | "tags": ["nightly"], 9 | "desktop-file-name-suffix": " (Nightly)", 10 | "finish-args": ["--share=ipc", "--socket=fallback-x11", "--socket=wayland", "--filesystem=host" ], 11 | 12 | "modules": [ 13 | { 14 | "name": "kmag", 15 | "buildsystem": "cmake-ninja", 16 | "sources": [ 17 | { "type": "dir", "path": "." } 18 | ] 19 | } 20 | ] 21 | } 22 | -------------------------------------------------------------------------------- /src/colorsim.h: -------------------------------------------------------------------------------- 1 | // SPDX-FileCopyrightText: 2008 Matthew Woehlke 2 | // SPDX-License-Identifier: GPL-2.0-or-later 3 | 4 | /*************************************************************************** 5 | * * 6 | * This program is free software; you can redistribute it and/or modify * 7 | * it under the terms of the GNU General Public License as published by * 8 | * the Free Software Foundation; either version 2 of the License, or * 9 | * (at your option) any later version. * 10 | * * 11 | ***************************************************************************/ 12 | 13 | #ifndef KMAGCOLORSIM_H 14 | #define KMAGCOLORSIM_H 15 | 16 | // include files for Qt 17 | #include 18 | 19 | namespace ColorSim { 20 | /** 21 | * Recolor a pixmap according to the specified simulation mode: 22 | * 1 - Protanopia 23 | * 2 - Deuteranopia 24 | * 3 - Tritanopia 25 | * 4 - Achromatopsia 26 | */ 27 | QImage recolor(const QImage &pm, int mode, qreal gamma = 1.0); 28 | } 29 | #endif 30 | -------------------------------------------------------------------------------- /src/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | if(QAccessibilityClient6_FOUND) 2 | set(HAVE_QACCESSIBILITYCLIENT TRUE) 3 | elseif(QAccessibilityClient_FOUND) 4 | set(HAVE_QACCESSIBILITYCLIENT TRUE) 5 | else() 6 | set(HAVE_QACCESSIBILITYCLIENT FALSE) 7 | endif() 8 | 9 | configure_file( 10 | "${CMAKE_CURRENT_SOURCE_DIR}/focustrackconfig.h.in" 11 | "${CMAKE_CURRENT_BINARY_DIR}/focustrackconfig.h" 12 | ) 13 | 14 | ecm_setup_version(${RELEASE_SERVICE_VERSION} 15 | VARIABLE_PREFIX KMAG 16 | VERSION_HEADER kmag_version.h 17 | ) 18 | 19 | add_executable(kmag) 20 | 21 | target_sources(kmag PRIVATE 22 | kmagzoomview.cpp kmagzoomview.h 23 | kmagselrect.cpp kmagselrect.h 24 | kmag.cpp kmag.h 25 | colorsim.cpp colorsim.h 26 | main.cpp 27 | 28 | kmag.qrc 29 | ) 30 | 31 | target_link_libraries(kmag 32 | KF6::KIOCore 33 | KF6::I18n 34 | KF6::XmlGui 35 | KF6::Crash 36 | Qt6::Core 37 | Qt6::Widgets 38 | Qt6::PrintSupport 39 | ) 40 | 41 | if(QAccessibilityClient6_FOUND) 42 | target_link_libraries(kmag QAccessibilityClient6) 43 | elseif(QAccessibilityClient_FOUND) 44 | target_link_libraries(kmag ${QACCESSIBILITYCLIENT_LIBRARY}) 45 | endif() 46 | 47 | install(TARGETS kmag ${KDE_INSTALL_TARGETS_DEFAULT_ARGS}) 48 | 49 | install(PROGRAMS org.kde.kmag.desktop DESTINATION ${KDE_INSTALL_APPDIR}) 50 | install(FILES org.kde.kmag.metainfo.xml DESTINATION ${KDE_INSTALL_METAINFODIR}) 51 | -------------------------------------------------------------------------------- /LICENSES/BSD-3-Clause.txt: -------------------------------------------------------------------------------- 1 | Copyright (c) . 2 | 3 | Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: 4 | 5 | 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. 6 | 7 | 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. 8 | 9 | 3. Neither the name of the copyright holder nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. 10 | 11 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 12 | -------------------------------------------------------------------------------- /CMakeLists.txt: -------------------------------------------------------------------------------- 1 | cmake_minimum_required (VERSION 3.16 FATAL_ERROR) 2 | 3 | # KDE Application Version, managed by release script 4 | set (RELEASE_SERVICE_VERSION_MAJOR "26") 5 | set (RELEASE_SERVICE_VERSION_MINOR "03") 6 | set (RELEASE_SERVICE_VERSION_MICRO "70") 7 | set (RELEASE_SERVICE_VERSION "${RELEASE_SERVICE_VERSION_MAJOR}.${RELEASE_SERVICE_VERSION_MINOR}.${RELEASE_SERVICE_VERSION_MICRO}") 8 | 9 | project(kmag VERSION ${RELEASE_SERVICE_VERSION}) 10 | 11 | set(QT_MIN_VERSION "6.8.0") 12 | set(KF_MIN_VERSION "6.11.0") 13 | 14 | find_package(ECM ${KF_MIN_VERSION} REQUIRED NO_MODULE) 15 | set(CMAKE_MODULE_PATH ${ECM_MODULE_PATH}) 16 | 17 | include(KDEInstallDirs) 18 | include(KDECMakeSettings) 19 | include(KDECompilerSettings NO_POLICY_SCOPE) 20 | include(ECMDeprecationSettings) 21 | 22 | include(ECMInstallIcons) 23 | include(FeatureSummary) 24 | include(ECMSetupVersion) 25 | 26 | option(BUILD_DOC "Whether to build the documentation" ON) 27 | 28 | find_package(Qt6 ${QT_MIN_VERSION} CONFIG REQUIRED COMPONENTS 29 | Core 30 | Widgets 31 | PrintSupport 32 | ) 33 | 34 | find_package(KF6 ${KF_MIN_VERSION} REQUIRED COMPONENTS 35 | I18n 36 | KIO 37 | XmlGui 38 | Crash 39 | ) 40 | 41 | if (BUILD_DOC) 42 | find_package(KF6DocTools ${KF_MIN_VERSION}) 43 | set_package_properties(KF6DocTools PROPERTIES 44 | DESCRIPTION "Tools to generate documentation" 45 | TYPE REQUIRED 46 | ) 47 | endif() 48 | 49 | find_package(QAccessibilityClient6 0.4 CONFIG) 50 | set_package_properties(QAccessibilityClient6 PROPERTIES 51 | DESCRIPTION "KDE client-side accessibility library" 52 | URL "https://commits.kde.org/libqaccessibilityclient" 53 | TYPE OPTIONAL 54 | PURPOSE "Required to enable keyboard focus tracking." 55 | ) 56 | 57 | ecm_set_disabled_deprecation_versions(QT 6.9.0 KF 6.18.0) 58 | 59 | add_subdirectory( pics ) 60 | add_subdirectory( src ) 61 | 62 | if (BUILD_DOC) 63 | add_subdirectory(doc) 64 | kdoctools_install(po) 65 | endif() 66 | 67 | ki18n_install(po) 68 | 69 | feature_summary(WHAT ALL FATAL_ON_MISSING_REQUIRED_PACKAGES) 70 | -------------------------------------------------------------------------------- /ChangeLog: -------------------------------------------------------------------------------- 1 | //$Id$ 2 | 3 | ver 0.8 4 | -Mouse cursor is now visible 5 | -Complete reference manual 6 | -Fit-to-window for zoom view 7 | -ported to KDE3 (still works under KDE2) 8 | -Using bitBlt to reduce flicker even more 9 | -Proper centering of zoomed image 10 | -Some qt3 specific additions 11 | -Mouse cursor in printing 12 | -Smooth mouse movements inside zoom vew (very low CPU consumption) 13 | -Zero CPU usage when magnifier window is hidden/minimized 14 | -Using default key shortcuts for various actions 15 | -Checkbox to show/hide mouse cursor 16 | -Shortcut key binding configuration 17 | -Moved to XML GUI 18 | -New "Settings" menu in the toolbar 19 | -Toolbar configuration 20 | 21 | ver 0.7 22 | -Printing and compiling for KDE 2.x 23 | -Saving files to remote locations 24 | -BUG_FIX:Saved image used to get saved to home directory 25 | -BUG_FIX:Zoom selection window could go below the bottom edge of the screen 26 | 27 | ver 0.6 28 | -Printing support 29 | -Saving zoomed image to disk 30 | -Saving/Restoring settings to/from config file 31 | -New grab-and-move mode for moving zoom region 32 | -Magnification with mouse movement 33 | -Option to always show selected region 34 | -Ability to change refresh rate 35 | -Copy zoomed image to clipboard 36 | -More cleaner/bare minimal GUI 37 | -Tons of code cleanup 38 | 39 | ver 0.5 40 | -No more garbage when the grab window is taken outside the screen 41 | -Added a convenient drop down menu to select the zoom factor 42 | -A new refresh button to start/stop window refresh when needed 43 | -Added "tooltips" and "What's this" at lots of places 44 | -New install and install-user scripts for easy installation 45 | -Tons of code cleanup 46 | 47 | ver 0.4 48 | -No more flickering! 49 | 50 | ver 0.3 51 | -Fixed a slow-refresh bug.. making KMag 100% usable! 52 | -Made resizing grab window much more easier (esp. for laptops!) 53 | -GUI improvements.. got rid of sliders.. introduced zoom icons 54 | -Centered display of magnified contents 55 | -Now using Kdevelop 1.4b2.. 56 | -Added documentation 57 | 58 | ver 0.2 59 | -First public release for the KDE2 port and rewrite 60 | -Feature enhancements : Easy moving and resizing of grab-window 61 | 62 | ver 0.1 63 | -First public release for KDE1 64 | -------------------------------------------------------------------------------- /snapcraft.yaml: -------------------------------------------------------------------------------- 1 | # SPDX-FileCopyrightText: 2024 Scarlett Moore 2 | # 3 | # SPDX-License-Identifier: CC0-1.0 4 | --- 5 | name: kmag 6 | confinement: strict 7 | grade: stable 8 | base: core22 9 | adopt-info: kmag 10 | apps: 11 | kmag: 12 | extensions: 13 | - kde-neon-6 14 | common-id: org.kde.kmag.desktop 15 | desktop: usr/share/applications/org.kde.kmag.desktop 16 | command: usr/bin/kmag 17 | plugs: 18 | - audio-record 19 | slots: 20 | session-dbus-interface: 21 | interface: dbus 22 | name: org.kde.kmag 23 | bus: session 24 | package-repositories: 25 | - type: apt 26 | components: 27 | - main 28 | suites: 29 | - jammy 30 | key-id: 444DABCF3667D0283F894EDDE6D4736255751E5D 31 | url: http://origin.archive.neon.kde.org/user 32 | key-server: keyserver.ubuntu.com 33 | parts: 34 | kmag: 35 | parse-info: 36 | - usr/share/metainfo/org.kde.kmag.metainfo.xml 37 | plugin: cmake 38 | source: . 39 | source-type: local 40 | cmake-parameters: 41 | - -DCMAKE_INSTALL_PREFIX=/usr 42 | - -DCMAKE_BUILD_TYPE=Release 43 | - -DQT_MAJOR_VERSION=6 44 | - -DBUILD_WITH_QT6=ON 45 | - -DBUILD_TESTING=OFF 46 | - -DCMAKE_INSTALL_SYSCONFDIR=/etc 47 | - -DCMAKE_INSTALL_LOCALSTATEDIR=/var 48 | - -DCMAKE_EXPORT_NO_PACKAGE_REGISTRY=ON 49 | - -DCMAKE_FIND_USE_PACKAGE_REGISTRY=OFF 50 | - -DCMAKE_FIND_PACKAGE_NO_PACKAGE_REGISTRY=ON 51 | - -DCMAKE_INSTALL_RUNSTATEDIR=/run 52 | - -DCMAKE_SKIP_INSTALL_ALL_DEPENDENCY=ON 53 | - -DCMAKE_VERBOSE_MAKEFILE=ON 54 | - -DCMAKE_INSTALL_LIBDIR=lib/$CRAFT_ARCH_TRIPLET_BUILD_FOR 55 | - --log-level=STATUS 56 | - -DCMAKE_LIBRARY_PATH=lib/$CRAFT_ARCH_TRIPLET_BUILD_FOR 57 | prime: 58 | - -usr/lib/*/cmake/* 59 | - -usr/include/* 60 | - -usr/share/ECM/* 61 | - -usr/share/man/* 62 | - -usr/bin/X11 63 | - -usr/lib/gcc/$CRAFT_ARCH_TRIPLET_BUILD_FOR/6.0.0 64 | - -usr/lib/aspell/* 65 | - -usr/share/lintian 66 | cleanup: 67 | after: 68 | - kmag 69 | plugin: nil 70 | build-snaps: 71 | - core22 72 | - kf6-core22 73 | - qt-common-themes 74 | override-prime: | 75 | set -eux 76 | for snap in "core22" "kf6-core22" "qt-common-themes"; do 77 | cd "/snap/$snap/current" && find . -type f,l -exec rm -rf "${CRAFT_PRIME}/{}" \; 78 | done 79 | -------------------------------------------------------------------------------- /doc/man-kmag.1.docbook: -------------------------------------------------------------------------------- 1 | 2 | 7 | 9 | ]> 10 | 11 | 12 | 13 | &kmagnifier; User's Manual 14 | &Lauri.Watts; &Lauri.Watts.mail; 15 | 2017-07-07 16 | KDE Applications 17 | 18 | 19 | 20 | kmag 21 | 1 22 | 23 | 24 | 25 | kmag 26 | Screen magnifier 27 | 28 | 29 | 30 | 31 | kmag 32 | 33 | 34 | 35 | 36 | Description 37 | kmag, also known as &kmagnifier; is a screen 38 | magnifier. You can use &kmagnifier; to magnify a part of the screen just as 39 | you would use a lens to magnify a newspaper fine-print or a photograph. This 40 | application is useful for a variety of people: from researchers to artists 41 | to web-designers to people with low vision. 42 | 43 | 44 | 45 | See Also 46 | 47 | 48 | More detailed user documentation is available from help:/kmag 50 | (either enter this &URL; into &konqueror;, or run 51 | khelpcenter 52 | help:/kmag). 53 | kf6options(7) 54 | qt6options(7) 55 | There is also further information available at the &kde; accessibility project home page. 56 | 57 | 58 | 59 | 60 | 61 | Authors 62 | &kmagnifier; was written by 63 | OlafSchmidt 64 | ojschmidt@kde.org and 65 | SarangLakare 66 | sarang@users.sf.net and 67 | MichaelForster 68 | forster@fmi.uni-passau.de 69 | 70 | 71 | 72 | -------------------------------------------------------------------------------- /po/et/docs/kmag/man-kmag.1.docbook: -------------------------------------------------------------------------------- 1 | 2 | 4 | ]> 5 | 6 | 7 | 8 | &kde; kasutaja käsiraamat 10 | &Lauri.Watts; &Lauri.Watts.mail; 12 | 2010-10-06 14 | KDE töökeskkond 16 | 17 | 18 | 19 | kmag 23 | 1 25 | 26 | 27 | 28 | kmag 32 | Ekraani suurendusklaas 34 | 35 | 36 | 37 | kmag &kde; üldised võtmed &Qt; üldised võtmed 45 | 46 | 47 | 48 | Kirjeldus 50 | kmag ehk &kmagnifier; on ekraani suurendusklaas. &kmagnifier;iga saab suurendada ekraani osasid samamoodi nagu luubiga teksti või pilti. See rakendus on kasuks paljudele inimestele alates uurijatest kuni kunstnikeni ja veebiloojatest vaegnägijateni. 54 | 55 | 56 | 57 | Vaata ka 59 | 60 | Põhjalikumat kasutaja dokumentatsiooni pakub help:/kmag (kirjuta see &URL; &konqueror;i või käivita käsuga khelpcenter help:/kmag). 70 | 71 | Täiendavat infot leiab ka &kde; hõlbustusprojekti koduleheküljelt. 75 | 76 | 77 | 78 | Autorid 80 | &kmagnifier;i autorid on: OlafSchmidt ojschmidt@kde.org ja SarangLakare sarang@users.sf.net ja MichaelForster forster@fmi.uni-passau.de 106 | 107 | 108 | 109 | -------------------------------------------------------------------------------- /po/ru/docs/kmag/man-kmag.1.docbook: -------------------------------------------------------------------------------- 1 | 2 | 4 | ]> 5 | 6 | 7 | 8 | Руководство пользователя &kmagnifier; 10 | &Lauri.Watts; &Lauri.Watts.mail; 12 | 2017-07-07 14 | Приложения KDE 16 | 17 | 18 | 19 | kmag 23 | 1 25 | 26 | 27 | 28 | kmag 32 | Экранная лупа 34 | 35 | 36 | 37 | 38 | kmag 40 | 41 | 42 | 43 | 44 | Описание 46 | Приложение &kmagnifier; (kmag) — это экранная лупа. &kmagnifier; возможно использовать для увеличения части экрана так же, как лупу, которая позволяет прочесть мелкий текст или рассмотреть фотографию. Это приложение может быть полезно различным пользователям: разработчикам, художникам, веб-дизайнерам или людям с ослабленным зрением. 50 | 51 | 52 | 53 | Смотрите также 55 | 56 | 57 | Более подробное руководство пользователя: help:/kmag (введите этот &URL;-адрес в приложении &konqueror;, или выполните команду khelpcenter help:/kmag). 67 | kf5options(7) 69 | qt5options(7) 71 | Дополнительные сведения доступны на веб-сайте специальных возможностей &kde;. 75 | 76 | 77 | 78 | 79 | 80 | Авторы 82 | Авторы приложения &kmagnifier;: OlafSchmidt ojschmidt@kde.org, SarangLakare sarang@users.sf.net и MichaelForster forster@fmi.uni-passau.de 108 | 109 | 110 | 111 | -------------------------------------------------------------------------------- /po/sv/docs/kmag/man-kmag.1.docbook: -------------------------------------------------------------------------------- 1 | 2 | 4 | ]> 5 | 6 | 7 | 8 | Förstoringsglaset användarhandbok 10 | &Lauri.Watts; &Lauri.Watts.mail; 12 | 2017-07-07 14 | KDE-program 16 | 17 | 18 | 19 | kmag 23 | 1 25 | 26 | 27 | 28 | kmag 32 | Skärmförstoringsglas 34 | 35 | 36 | 37 | 38 | kmag 40 | 41 | 42 | 43 | 44 | Beskrivning 46 | kmag, också känt som &kmagnifier;, är ett skärmförstoringsglas. Du kan använda &kmagnifier; för att förstora en del av skärmen precis som du skulle använda ett förstoringsglas för att förstora finstilt text i en tidning eller ett fotografi. Programmet är användbart för många olika personer, från forskare, grafiker och webbkonstruktörer till personer med nedsatt syn. 50 | 51 | 52 | 53 | Se också 55 | 56 | 57 | Mer detaljerad användardokumentation är tillgänglig med help:/kmag (skriv antingen in webbadressen i &konqueror;, eller kör khelpcenter help:/kmag). 67 | kf5options(7) 69 | qt5options(7) 71 | Det finns också ytterligare information tillgänglig på hemsidan för &kde;:s handikappstödsprojekt. 75 | 76 | 77 | 78 | 79 | 80 | Upphovsmän 82 | &kmagnifier; är skrivet av OlafSchmidt ojschmidt@kde.org, SarangLakare sarang@users.sf.net och MichaelForster forster@fmi.uni-passau.de 108 | 109 | 110 | 111 | -------------------------------------------------------------------------------- /po/pt/docs/kmag/man-kmag.1.docbook: -------------------------------------------------------------------------------- 1 | 2 | 4 | ]> 5 | 6 | 7 | 8 | Manual do Utilizador do &kde; 10 | &Lauri.Watts; &Lauri.Watts.mail; 12 | 2010-10-06 14 | Ambiente de Trabalho K 16 | 17 | 18 | 19 | kmag 23 | 1 25 | 26 | 27 | 28 | kmag 32 | Ampliador do ecrã 34 | 35 | 36 | 37 | kmag Opções Genéricas do &kde; Opções Genéricas do &Qt; 45 | 46 | 47 | 48 | Descrição 50 | O kmag, também conhecido por &kmagnifier;, é um ampliador do ecrã. Poderá usar o &kmagnifier; para ampliar uma parte do ecrã, tal como usaria uma lente para ampliar a letra pequena de um jornal ou uma fotografia. Esta aplicação é útil para uma variedade de pessoas: desde investigadores até artistas, passando por desenhadores web e pessoas com visão reduzida. 54 | 55 | 56 | 57 | Veja Também 59 | 60 | Está disponível alguma documentação de utilizador mais detalhada em help:/kmag (tanto poderá indicar este &URL; no &konqueror;, como executar o khelpcenter help:/kmag). 70 | 71 | Existe ainda mais informações disponíveis na página pessoal de acessibilidade do projecto &kde;. 75 | 76 | 77 | 78 | Autores 80 | O &kmagnifier; foi criado por OlafSchmidt ojschmidt@kde.org e SarangLakare sarang@users.sf.net, bem como por MichaelForster forster@fmi.uni-passau.de 106 | 107 | 108 | 109 | -------------------------------------------------------------------------------- /po/de/docs/kmag/man-kmag.1.docbook: -------------------------------------------------------------------------------- 1 | 2 | 4 | ]> 5 | 6 | 7 | 8 | &kmagnifier;-Benutzerhandbuch 10 | &Lauri.Watts; &Lauri.Watts.mail; 12 | 2017-07-07 14 | KDE-Anwendungen 16 | 17 | 18 | 19 | kmag 23 | 1 25 | 26 | 27 | 28 | kmag 32 | Bildschirmlupe 34 | 35 | 36 | 37 | 38 | kmag 40 | 41 | 42 | 43 | 44 | Beschreibung 46 | kmag auch bekannt als &kmagnifier; ist eine Bildschirmlupe. Sie können &kmagnifier; dazu benutzen einen Bereich des Bildschirms zu vergrößern, so als würden Sie eine Lupe benutzen, um das Kleingedruckte in einer Zeitung oder ein Foto zu betrachten. Diese Anwendung ist für verschiedene Menschen von Nutzen: vom Rechercheur oder Künstler bis zum Webdesigner oder Sehbehinderten. 50 | 51 | 52 | 53 | Siehe auch 55 | 56 | 57 | Ausführlichere Benutzerdokumentation finden Sie mit help:/kmag (geben Sie entweder diese URL in die Adressleiste von &konqueror; ein oder starten Sie khelpcenter help:/kmag). 69 | kf5options(7) 71 | qt5options(7) 73 | Weitere Informationen finden Sie außerdem auf der Webseite des Accessibility-Projekts von &kde;. 77 | 78 | 79 | 80 | 81 | 82 | Autoren 84 | &kmagnifier; wurde entwickelt von OlafSchmidt ojschmidt@kde.org und SarangLakare sarang@users.sf.net und MichaelForster forster@fmi.uni-passau.de. 110 | 111 | 112 | 113 | -------------------------------------------------------------------------------- /po/sl/docs/kmag/man-kmag.1.docbook: -------------------------------------------------------------------------------- 1 | 2 | 10 | 12 | ]> 13 | 14 | 15 | 16 | &kmagnifier; Uporabniški priročnik 18 | &Lauri.Watts; &Lauri.Watts.mail; 20 | 07.07.2017 22 | KDE Applications 24 | 25 | 26 | 27 | kmag 31 | 1 33 | 34 | 35 | 36 | kmag 40 | Povečevalnik zaslona 42 | 43 | 44 | 45 | 46 | kmag 48 | 49 | 50 | 51 | 52 | Opis 54 | kmag, znan tudi kot &kmagnifier; je povečevalnik zaslona. S funkcijo &kmagnifier; lahko povečate del zaslona, tako kot z lečo povečate drobni tisk v časopisu ali fotografijo. Ta aplikacija je uporabna za različne ljudi: od raziskovalcev, umetnikov, oblikovalcev spletnih strani do ljudi s slabim vidom. 58 | 59 | 60 | 61 | Glej tudi 63 | 64 | 65 | Podrobnejša uporabniška dokumentacija je na voljo v help:/kmag (vnesite ta &URL; v &konqueror; ali zaženite khelpcenter help:/kmag). 75 | kf6options(7) 77 | qt6options(7) 79 | Dodatne informacije so na voljo tudi na na domači strani projekta &kde; dostopnost. 83 | 84 | 85 | 86 | 87 | 88 | Avtorji 90 | &kmagnifier; so napisali OlafSchmidt ojschmidt@kde.org in SarangLakare sarang@users.sf.net in MichaelForster forster@fmi.uni-passau.de 116 | 117 | 118 | 119 | -------------------------------------------------------------------------------- /po/uk/docs/kmag/man-kmag.1.docbook: -------------------------------------------------------------------------------- 1 | 2 | 10 | 12 | ]> 13 | 14 | 15 | 16 | Інструкція користувача &kmagnifier; 18 | &Lauri.Watts; &Lauri.Watts.mail; 20 | 7 липня 2017 року 22 | Програми KDE 24 | 25 | 26 | 27 | kmag 31 | 1 33 | 34 | 35 | 36 | kmag 40 | Збільшувач екрана 42 | 43 | 44 | 45 | 46 | kmag 48 | 49 | 50 | 51 | 52 | Опис 54 | Програма kmag, також відома як &kmagnifier; — це екранне збільшувальне скло. Ви можете скористатися &kmagnifier;, щоб збільшити частину екрана так, як ви використовуєте збільшувальне скло для збільшення газетного друку або фотографії. Ця програма може бути корисною для широкого кола людей: від дослідників і художників, до веброзробників і людей з вадами зору. 58 | 59 | 60 | 61 | Прочитайте також 63 | 64 | 65 | Більше інформації можна знайти на help:/kmag (або введіть цю адресу &URL; в &konqueror;, або запустіть khelpcenter help:/kmag). 75 | kf6options(7) 77 | qt6options(7) 79 | Більше інформації можна знайти на домашній сторінці проєкту доступності &kde;. 83 | 84 | 85 | 86 | 87 | 88 | Автори 90 | &kmagnifier; написали OlafSchmidt ojschmidt@kde.org та SarangLakare sarang@users.sf.net і MichaelForster forster@fmi.uni-passau.de 116 | 117 | 118 | 119 | -------------------------------------------------------------------------------- /po/nl/docs/kmag/man-kmag.1.docbook: -------------------------------------------------------------------------------- 1 | 2 | 10 | 12 | ]> 13 | 14 | 15 | 16 | Gebruikersgids van &kmagnifier; 18 | &Lauri.Watts; &Lauri.Watts.mail; 20 | 2017-07-07 22 | KDE Applications 24 | 25 | 26 | 27 | kmag 31 | 1 33 | 34 | 35 | 36 | kmag 40 | Schermvergroter 42 | 43 | 44 | 45 | 46 | kmag 48 | 49 | 50 | 51 | 52 | Beschrijving 54 | kmag, ook bekend als &kmagnifier;, is een vergrootglas voor het scherm. U kunt &kmagnifier; gebruiken om een deel van het scherm te vergroten zoals u een lens zou gebruiken om een krant of een foto te vergroten. Dit programma is handig voor veel mensen: van onderzoekers tot kunstenaars en van web-designers tot mensen met slechte ogen. 58 | 59 | 60 | 61 | Zie ook 63 | 64 | 65 | Meer gedetailleerde gebruikers documentatie is verkrijgbaar van help:/kmag ( geef deze &URL; in &konqueror;, of voer khelpcenter help:/kmag uit). 75 | kf6options(7) 77 | qt6options(7) 79 | Er is ook meer informatie verkrijgbaar van De startpagina van het Accessibility project van &kde;. 83 | 84 | 85 | 86 | 87 | 88 | Auteurs 90 | &kmagnifier; is geschreven door OlafSchmidt ojschmidt@kde.org and SarangLakare sarang@users.sf.net en MichaelForster forster@fmi.uni-passau.de 116 | 117 | 118 | 119 | -------------------------------------------------------------------------------- /po/it/docs/kmag/man-kmag.1.docbook: -------------------------------------------------------------------------------- 1 | 2 | 10 | 12 | ]> 13 | 14 | 15 | 16 | Manuale utente di &kmagnifier; 18 | &Lauri.Watts; &Lauri.Watts.mail; 20 | 2017-07-07 22 | KDE Applications 24 | 25 | 26 | 27 | kmag 31 | 1 33 | 34 | 35 | 36 | kmag 40 | Lente d'ingrandimento per lo schermo 42 | 43 | 44 | 45 | 46 | kmag 48 | 49 | 50 | 51 | 52 | Descrizione 54 | kmag è una lente d'ingrandimento per lo schermo. La puoi usare per ingrandire una parte dello schermo così come useresti una lente per ingrandire le scritte in piccolo di un giornale o una foto. Questa applicazione è utile per molta gente: dai ricercatori agli artisti, ai progettisti Web alle persone con cattiva vista. 58 | 59 | 60 | 61 | Vedi anche 63 | 64 | 65 | Una documentazione più dettagliata è disponibile a help:/kmag (inserisci questo &URL; in &konqueror; o esegui khelpcenter help:/kmag). 75 | kf6options(7) 77 | qt6options(7) 79 | Ci sono anche altre informazioni disponibili presso la pagina web del progetto di accessibilità di &kde;. 83 | 84 | 85 | 86 | 87 | 88 | Autori 90 | La lente d'ingrandimento è stata scritta da OlafSchmidt ojschmidt@kde.org e SarangLakare sarang@users.sf.net e MichaelForster forster@fmi.uni-passau.de 116 | 117 | 118 | 119 | -------------------------------------------------------------------------------- /po/es/docs/kmag/man-kmag.1.docbook: -------------------------------------------------------------------------------- 1 | 2 | 10 | 12 | ]> 13 | 14 | 15 | 16 | Manual de usuario de &kmagnifier; 18 | &Lauri.Watts; &Lauri.Watts.mail; 20 | 2017-07-07 22 | Aplicaciones de KDE 24 | 25 | 26 | 27 | kmag 31 | 1 33 | 34 | 35 | 36 | kmag 40 | Ampliador de pantalla 42 | 43 | 44 | 45 | 46 | kmag 48 | 49 | 50 | 51 | 52 | Descripción 54 | kmag, también conocido como &kmagnifier; es un ampliador de pantalla. Puede usar &kmagnifier; para ampliar una parte de la pantalla del mismo modo que se usa una lupa para ver más de cerca el contenido de un periódico o de una foto. Esta aplicación es útil para una gran variedad de personas: como investigadores, artistas, diseñadores web y personas con visión reducida. 58 | 59 | 60 | 61 | Vea también 63 | 64 | 65 | Existe información más detallada disponible en help:/kmag (puede introducir esta &URL;en &konqueror;, o ejecutar khelpcenter help:/kmag). 75 | kf6options(7) 77 | qt6options(7) 79 | También existe información disponible en la página principal del proyecto de accesibilidad de &kde;. 83 | 84 | 85 | 86 | 87 | 88 | Autores 90 | &kmagnifier; fue escrito por OlafSchmidt ojschmidt@kde.org, SarangLakare sarang@users.sf.net y MichaelForster forster@fmi.uni-passau.de 116 | 117 | 118 | 119 | -------------------------------------------------------------------------------- /po/ca/docs/kmag/man-kmag.1.docbook: -------------------------------------------------------------------------------- 1 | 2 | 10 | 12 | ]> 13 | 14 | 15 | 16 | Manual d'usuari del &kmagnifier; 18 | &Lauri.Watts; &Lauri.Watts.mail; 20 | 7 de juliol de 2017 22 | Aplicacions del KDE 24 | 25 | 26 | 27 | kmag 31 | 1 33 | 34 | 35 | 36 | kmag 40 | Ampliador de pantalla 42 | 43 | 44 | 45 | 46 | kmag 48 | 49 | 50 | 51 | 52 | Descripció 54 | kmag, també conegut com a &kmagnifier; és un ampliador de pantalla. Podeu usar &kmagnifier; per a veure ampliada una part de la pantalla usant la lupa per a ampliar un diari amb una impressió fina o una fotografia. Aquesta aplicació és pràctica per a una gran varietat de gent: Des d'investigadors fins artistes, des de dissenyadors web fins a gent amb problemes de visió. 58 | 59 | 60 | 61 | Vegeu també 63 | 64 | 65 | Hi ha informació més detallada disponible en help:/kmag (podeu emprar aquest &URL; al &konqueror; o bé executar khelpcenter help:/kmag). 75 | kf6options(7) 77 | qt6options(7) 79 | També hi ha informació disponible a la pàgina principal del projecte d'accessibilitat del &kde;. 83 | 84 | 85 | 86 | 87 | 88 | Autors 90 | &kmagnifier; ha estat escrit per OlafSchmidt ojschmidt@kde.org i SarangLakare sarang@users.sf.net i MichaelForster forster@fmi.uni-passau.de 116 | 117 | 118 | 119 | -------------------------------------------------------------------------------- /po/fr/docs/kmag/man-kmag.1.docbook: -------------------------------------------------------------------------------- 1 | 2 | 10 | 12 | ]> 13 | 14 | 15 | 16 | Manuel de l'utilisateur de &kmagnifier; 18 | &Lauri.Watts; &Lauri.Watts.mail; 20 | 07-07-2017 22 | Applications de KDE 24 | 25 | 26 | 27 | kmag 31 | 1 33 | 34 | 35 | 36 | kmag 40 | Loupe d'écran 42 | 43 | 44 | 45 | 46 | kmag 48 | 49 | 50 | 51 | 52 | Description 54 | kmag, appelé aussi &kmagnifier;, est une loupe d'écran. Vous pouvez utiliser &kmagnifier; pour grossir une partie de l'écran exactement comme vous utiliseriez une loupe pour grossir les détails d'un journal ou d'une photographie. Cette application sert pour un certain nombre de personnes : des chercheurs aux artistes en passant par les web designers et les mal voyants. 58 | 59 | 60 | 61 | Voir aussi 63 | 64 | 65 | Une documentation plus détaillée est disponible avec help:/kmag (vous pouvez soit saisir cette &URL; dans &konqueror;, soit lancer khelpcenter help:/kmag). 75 | kf6options (7) 77 | qt6options (7) 79 | Vous trouverez également des informations supplémentaires sur la page du site Internet du projet d'accessibilité de &kde;. 83 | 84 | 85 | 86 | 87 | 88 | Auteurs 90 | &kmagnifier; est écrit par OlafSchmidt ojschmidt@kde.org, SarangLakare sarang@users.sf.net et MichaelForster forster@fmi.uni-passau.de 116 | 117 | 118 | 119 | -------------------------------------------------------------------------------- /po/pt_BR/docs/kmag/man-kmag.1.docbook: -------------------------------------------------------------------------------- 1 | 2 | 10 | 12 | ]> 13 | 14 | 15 | 16 | Manual do usuário do &kmagnifier; 18 | &Lauri.Watts; &Lauri.Watts.mail; 20 | 07/07/2017 22 | KDE Applications 24 | 25 | 26 | 27 | kmag 31 | 1 33 | 34 | 35 | 36 | kmag 40 | Ampliador de tela 42 | 43 | 44 | 45 | 46 | kmag 48 | 49 | 50 | 51 | 52 | Descrição 54 | O kmag, também conhecido por &kmagnifier;, é um ampliador de tela. Você poderá usar o &kmagnifier; para ampliar uma parte da tela, tal como usaria uma lente para ampliar a letra pequena de um jornal ou uma fotografia. Este aplicativo é útil para uma variedade de pessoas: desde investigadores até artistas, passando por designers da Internet e pessoas com visão reduzida. 58 | 59 | 60 | 61 | Veja também 63 | 64 | 65 | Está disponível uma detalhada documentação para o usuário em help:/kmag (você tanto poderá inserir este &URL; no &konqueror;, como executar o khelpcenter help:/kmag). 75 | kf6options(7) 77 | qt6options(7) 79 | Existem ainda mais informações disponíveis no site do projeto de acessibilidade do &kde;. 83 | 84 | 85 | 86 | 87 | 88 | Autores 90 | O &kmagnifier; foi criado por OlafSchmidt ojschmidt@kde.org e SarangLakare sarang@users.sf.net, bem como por MichaelForster forster@fmi.uni-passau.de 116 | 117 | 118 | 119 | -------------------------------------------------------------------------------- /src/main.cpp: -------------------------------------------------------------------------------- 1 | /*************************************************************************** 2 | main.cpp - description 3 | ------------------- 4 | begin : Mon Feb 12 23:45:41 EST 2001 5 | copyright : (C) 2001-2003 by Sarang Lakare 6 | email : sarang#users.sf.net 7 | ***************************************************************************/ 8 | 9 | /*************************************************************************** 10 | * * 11 | * This program is free software; you can redistribute it and/or modify * 12 | * it under the terms of the GNU General Public License as published by * 13 | * the Free Software Foundation; either version 2 of the License, or * 14 | * (at your option) any later version. * 15 | * * 16 | ***************************************************************************/ 17 | 18 | // Qt 19 | #include 20 | #include 21 | 22 | #include 23 | #include 24 | #include 25 | 26 | #include "kmag.h" 27 | 28 | #include "kmag_version.h" 29 | 30 | KmagApp *kmagapp; 31 | 32 | int main(int argc, char *argv[]) 33 | { 34 | QApplication app(argc, argv); 35 | KLocalizedString::setApplicationDomain(QByteArrayLiteral("kmag")); 36 | 37 | // about the application 38 | KAboutData aboutData(QStringLiteral("kmag"), i18n("KMagnifier"), QStringLiteral(KMAG_VERSION_STRING), 39 | i18n("Screen magnifier created by KDE"), 40 | KAboutLicense::GPL, 41 | i18n("Copyright 2001-2003 Sarang Lakare\nCopyright 2003-2004 Olaf Schmidt\nCopyright 2008 Matthew Woehlke"), QString(), 42 | QStringLiteral("https://accessibility.kde.org/")); 43 | 44 | // about the authors 45 | aboutData.addAuthor(i18n("Sarang Lakare"), 46 | i18n("Rewrite"),QStringLiteral("sarang@users.sf.net")); 47 | aboutData.addAuthor(i18n("Michael Forster"), 48 | i18n("Original idea and author (KDE1)"), QStringLiteral("forster@fmi.uni-passau.de")); 49 | aboutData.addAuthor(i18n("Olaf Schmidt"), i18n("Rework of the user interface, improved selection window, speed optimization, rotation, bug fixes"), QStringLiteral("ojschmidt@kde.org")); 50 | aboutData.addCredit(i18n("Matthew Woehlke"), i18n("Color-blindness simulation"), QStringLiteral("mw_triad@users.sourceforge.net")); 51 | aboutData.addCredit(i18n("Sebastian Sauer"), i18n("Focus tracking"), QStringLiteral("sebsauer@kdab.com")); 52 | aboutData.addCredit(i18n("Claudiu Costin"), i18n("Some tips"), QStringLiteral("claudiuc@work.ro"), QStringLiteral("https://ro.kde.org")); 53 | 54 | KAboutData::setApplicationData(aboutData); 55 | KCrash::initialize(); 56 | QApplication::setWindowIcon(QIcon::fromTheme(QStringLiteral("kmag"))); 57 | 58 | if (app.isSessionRestored()) 59 | { 60 | kRestoreMainWindows(); 61 | } 62 | else 63 | { 64 | QCommandLineParser parser; 65 | aboutData.setupCommandLine(&parser); 66 | parser.process(app); 67 | 68 | kmagapp = new KmagApp(); 69 | kmagapp->show(); 70 | } 71 | 72 | return app.exec(); 73 | } 74 | -------------------------------------------------------------------------------- /src/kmagselrect.h: -------------------------------------------------------------------------------- 1 | // SPDX-FileCopyrightText: 2001-2003 Sarang Lakare 2 | // SPDX-FileCopyrightText: 2003-2004 Olaf Schmidt 3 | // SPDX-License-Identifier: GPL-2.0-or-later 4 | 5 | #ifndef KMAGSELRECT_H 6 | #define KMAGSELRECT_H 7 | 8 | // Qt 9 | #include 10 | #include 11 | 12 | class QMouseEvent; 13 | 14 | class KMagSelWinCorner : public QLabel 15 | { 16 | Q_OBJECT 17 | 18 | public: 19 | 20 | explicit KMagSelWinCorner ( QWidget * parent = nullptr ); 21 | 22 | ~KMagSelWinCorner() override; 23 | 24 | Q_SIGNALS: 25 | 26 | void startResizing (); 27 | void resized ( QPoint offset ); 28 | 29 | protected: 30 | 31 | QPoint oldPos; 32 | 33 | void mousePressEvent ( QMouseEvent * e ) override; 34 | void mouseReleaseEvent ( QMouseEvent * e ) override; 35 | void mouseMoveEvent ( QMouseEvent * e ) override; 36 | }; 37 | 38 | class KMagSelWin : public QWidget 39 | { 40 | Q_OBJECT 41 | 42 | public: 43 | 44 | explicit KMagSelWin ( QWidget * parent = nullptr ); 45 | 46 | ~KMagSelWin() override; 47 | 48 | void setSelRect ( const QRect & selRect ); 49 | QRect getSelRect (); 50 | 51 | public Q_SLOTS: 52 | 53 | void startResizing (); 54 | void titleMoved ( const QPoint & offset ); 55 | void topLeftResized ( const QPoint & offset ); 56 | void topRightResized ( const QPoint & offset ); 57 | void bottomLeftResized ( const QPoint & offset ); 58 | void bottomRightResized ( const QPoint & offset ); 59 | 60 | Q_SIGNALS: 61 | 62 | void resized(); 63 | 64 | protected: 65 | 66 | QRect oldSelRect; 67 | 68 | KMagSelWinCorner *titleBar; 69 | KMagSelWinCorner *topLeftCorner; 70 | KMagSelWinCorner *topRightCorner; 71 | KMagSelWinCorner *bottomLeftCorner; 72 | KMagSelWinCorner *bottomRightCorner; 73 | }; 74 | 75 | /** 76 | * This class stores the selected rectangular area for grabbing. It also displays the 77 | * rectangular area on demand. 78 | * 79 | * @author Original : Michael Forster 80 | * @author Current : Sarang Lakare 81 | */ 82 | class KMagSelRect : public QObject, public QRect 83 | { 84 | Q_OBJECT 85 | 86 | public: 87 | explicit KMagSelRect(QWidget *parent=nullptr); 88 | KMagSelRect(const QPoint &topLeft, const QPoint &bottomRight, 89 | QWidget *parent=nullptr); 90 | KMagSelRect(const QPoint &topLeft, const QSize &size, 91 | QWidget *parent=nullptr); 92 | KMagSelRect(int left, int top, int width, int height, 93 | QWidget *selWindowParent=nullptr); 94 | 95 | ~KMagSelRect() override; 96 | 97 | bool visible() const; 98 | 99 | /// Makes the rectangle always visible 100 | void alwaysVisible(bool visible=true); 101 | 102 | /// Returns true if always visible is set 103 | bool getAlwaysVisible() const { 104 | return (m_alwaysVisible); 105 | } 106 | 107 | public Q_SLOTS: 108 | 109 | void show(); 110 | void hide(); 111 | void update(); 112 | 113 | void selWinResized(); 114 | 115 | protected: 116 | 117 | void init(QWidget *); 118 | 119 | QWidget *selWindowParent; 120 | KMagSelWin *selectionwindow; 121 | bool m_alwaysVisible; 122 | 123 | }; 124 | 125 | void setTitleColors (const QColor & title, const QColor & text, const QColor & titleBtn); 126 | void setFrameSize (int size); 127 | 128 | #endif // KMAGSELRECT_H 129 | -------------------------------------------------------------------------------- /src/kmagui.rc: -------------------------------------------------------------------------------- 1 | 2 | 3 | Main Toolbar 4 | 5 | 6 | View Toolbar 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | Settings Toolbar 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | &File 26 | 27 | 28 | 29 | 30 | 31 | 32 | &Edit 33 | 34 | 35 | &View 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | &Settings 48 | 49 | 50 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 | 62 | 63 | 64 | 65 | 66 | 67 | 68 | 69 | 70 | 71 | 72 | 73 | &View 74 | 75 | 76 | 77 | 78 | 79 | 80 | 81 | 82 | 83 | &Settings 84 | 85 | 86 | 87 | 88 | 89 | 90 | 91 | 92 | 93 | 94 | 95 | 96 | 97 | 98 | 99 | 100 | 101 | 102 | 103 | 104 | 105 | -------------------------------------------------------------------------------- /pics/kmag.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | -------------------------------------------------------------------------------- /src/org.kde.kmag.desktop: -------------------------------------------------------------------------------- 1 | # KDE Config File 2 | [Desktop Entry] 3 | Type=Application 4 | Exec=kmag 5 | Icon=kmag 6 | X-DocPath=kmag/index.html 7 | Name=KMag 8 | Name[ar]=العدسة 9 | Name[ast]=KMag 10 | Name[be]=KMag 11 | Name[bg]=KMag 12 | Name[br]=KMag 13 | Name[bs]=KMag 14 | Name[ca]=KMag 15 | Name[ca@valencia]=KMag 16 | Name[cs]=KMag 17 | Name[da]=KMag 18 | Name[de]=KMag 19 | Name[el]=KMag 20 | Name[en_GB]=KMag 21 | Name[eo]=KMag 22 | Name[es]=KMag 23 | Name[et]=KMag 24 | Name[eu]=KMag 25 | Name[fi]=KMag 26 | Name[fr]=KMag 27 | Name[ga]=KMag 28 | Name[gl]=KMag 29 | Name[he]=KMag 30 | Name[hi]=के-मैग 31 | Name[hne]=के-मैग 32 | Name[hr]=KMag 33 | Name[hu]=KMag 34 | Name[ia]=KMag 35 | Name[is]=KMag 36 | Name[it]=Lente d'ingrandimento 37 | Name[ja]=KMag 38 | Name[ka]=KMag 39 | Name[kk]=KMag 40 | Name[km]=KMag 41 | Name[ko]=KMag 42 | Name[ku]=KMag 43 | Name[lt]=KMag 44 | Name[lv]=KMag 45 | Name[mk]=KMag 46 | Name[ml]=കെമാഗ് 47 | Name[mr]=के-मैग 48 | Name[ms]=KMag 49 | Name[nb]=KMag 50 | Name[nds]=KMag 51 | Name[ne]=केडीई म्याग 52 | Name[nl]=KMag 53 | Name[nn]=KMag 54 | Name[pa]=ਕੇ-ਵੱਡਦਰਸ਼ੀ 55 | Name[pl]=KMag 56 | Name[pt]=KMag 57 | Name[pt_BR]=KMag 58 | Name[ro]=KMag 59 | Name[ru]=KMag 60 | Name[sa]=केमाग 61 | Name[sk]=KLupa 62 | Name[sl]=KMag 63 | Name[sq]=KMag 64 | Name[sr]=К‑увеличање 65 | Name[sr@ijekavian]=К‑увеличање 66 | Name[sr@ijekavianlatin]=K‑uveličanje 67 | Name[sr@latin]=K‑uveličanje 68 | Name[sv]=Kmag 69 | Name[ta]=KMag 70 | Name[tg]=KMag 71 | Name[tr]=K Büyüteç 72 | Name[ug]=KMag 73 | Name[uk]=KMag 74 | Name[vi]=KMag 75 | Name[zh_CN]=KMag 屏幕放大镜 76 | Name[zh_TW]=K-放大鏡 77 | GenericName=Screen Magnifier 78 | GenericName[ar]=مكبَر الشاشة 79 | GenericName[be]=Экранная лупа 80 | GenericName[bg]=Лупа за екрана 81 | GenericName[bs]=Uveličavač ekrana 82 | GenericName[ca]=Lupa de la pantalla 83 | GenericName[ca@valencia]=Lupa de la pantalla 84 | GenericName[cs]=Lupa obrazovky 85 | GenericName[cy]=KChwyddwr 86 | GenericName[da]=Skærmforstørrer 87 | GenericName[de]=Bildschirmlupe 88 | GenericName[el]=Μεγεθυντικός φακός οθόνης 89 | GenericName[en_GB]=Screen Magnifier 90 | GenericName[eo]=Ekranlupeo 91 | GenericName[es]=Lupa de la pantalla 92 | GenericName[et]=Ekraani suurendaja 93 | GenericName[eu]=Pantailaren lupa 94 | GenericName[fa]=درشت‌نمای پرده 95 | GenericName[fi]=Suurennuslasi 96 | GenericName[fr]=Loupe d'écran 97 | GenericName[ga]=Formhéadaitheoir Scáileáin 98 | GenericName[gl]=Lupa da pantalla 99 | GenericName[he]=זכוכית מגדלת למסך 100 | GenericName[hi]=स्क्रीन आवर्धक 101 | GenericName[hne]=स्क्रीन आवर्धक 102 | GenericName[hr]=Zaslonsko povećalo 103 | GenericName[hu]=Képernyőnagyító 104 | GenericName[ia]=Aggranditor de schermo 105 | GenericName[is]=Skjástækkari 106 | GenericName[it]=Lente di ingrandimento per lo schermo 107 | GenericName[ja]=画面拡大鏡 108 | GenericName[ka]=ეკრანის გამადიდებელი 109 | GenericName[kk]=Экран үлкейткіші 110 | GenericName[km]= កម្មវិធី​ពង្រីក​អេក្រង់​ 111 | GenericName[ko]=화면 돋보기 112 | GenericName[ku]=Nêzîkera Dîmenê 113 | GenericName[lt]=Ekrano didintuvas 114 | GenericName[lv]=Ekrāna palielināmais stikls 115 | GenericName[mk]=Зголемувач за екранот 116 | GenericName[ml]=യവനികയിലെ ഭൂതക്കണ്ണാടി 117 | GenericName[mr]=स्क्रीन वर्धक 118 | GenericName[ms]=Pembesar Skrin 119 | GenericName[nb]=Skjermforstørrer 120 | GenericName[nds]=Schirmluup 121 | GenericName[ne]=पर्दा अभिवर्धक 122 | GenericName[nl]=Schermvergroter 123 | GenericName[nn]=Skjermforstørrar 124 | GenericName[pa]=ਸਕਰੀਨ ਵੱਡਦਰਸ਼ੀ 125 | GenericName[pl]=Powiększanie fragmentów ekranu 126 | GenericName[pt]=Lupa do Ecrã 127 | GenericName[pt_BR]=Lupa da tela 128 | GenericName[ro]=Lupă de ecran 129 | GenericName[ru]=Экранная лупа 130 | GenericName[sa]=स्क्रीन आवर्धक 131 | GenericName[sk]=Lupa obrazovky 132 | GenericName[sl]=Približevalnik zaslona 133 | GenericName[sq]=Zmadhuesi i Ekranit 134 | GenericName[sr]=Увеличавач екрана 135 | GenericName[sr@ijekavian]=Увеличавач екрана 136 | GenericName[sr@ijekavianlatin]=Uveličavač ekrana 137 | GenericName[sr@latin]=Uveličavač ekrana 138 | GenericName[sv]=Förstoringsglas 139 | GenericName[ta]=திரை பெரிதாக்கி 140 | GenericName[tg]=Калон кардани экран 141 | GenericName[tr]=Ekran Büyüteci 142 | GenericName[ug]=ئېكران چوڭايتقۇ 143 | GenericName[uk]=Збільшувач екрана 144 | GenericName[uz]=Ekranni kattalashtiruvchi 145 | GenericName[uz@cyrillic]=Экранни катталаштирувчи 146 | GenericName[vi]=Trình phóng đại màn hình 147 | GenericName[zh_CN]=屏幕放大镜 148 | GenericName[zh_TW]=螢幕放大鏡 149 | Comment=A screen magnification tool 150 | Comment[ar]=أداة لتكبير الشاشة 151 | Comment[bg]=Инструмент лупа за екрана 152 | Comment[ca]=Una eina d'ampliació de la pantalla 153 | Comment[ca@valencia]=Una eina d'ampliació de la pantalla 154 | Comment[cs]=Nástroj pro zvětšení obrazovky 155 | Comment[da]=Et værktøj til at forstørre skærmen 156 | Comment[de]=Ein Programm zur Vergrößerung von Bildschirmausschnitten 157 | Comment[el]=Εργαλείο μεγέθυνσης οθόνης 158 | Comment[en_GB]=A screen magnification tool 159 | Comment[eo]=Ilo por pligrandigi ekranareon 160 | Comment[es]=Una herramienta para aumentar la pantalla 161 | Comment[et]=Ekraani suurendamise tööriist 162 | Comment[eu]=Pantaila-irudiaren zatiak handiagotzeko tresna bat 163 | Comment[fi]=Näytönsuurennustyökalu 164 | Comment[fr]=Un outil loupe d'écran 165 | Comment[gl]=Unha ferramenta de aumento da pantalla. 166 | Comment[he]=כלי זכוכית מגדלת למסך 167 | Comment[hu]=Képernyőnagyító eszköz 168 | Comment[ia]=Un instrumento per aggrandir le schermo 169 | Comment[is]=Einfalt skjástækkunarverkfæri 170 | Comment[it]=Uno strumento per l'ingrandimento dello schermo 171 | Comment[ka]=ეკრანის გადიდების პროგრამა 172 | Comment[ko]=화면 돋보기 도구 173 | Comment[lv]=Rīks ekrāna palielināšanai 174 | Comment[nl]=Een hulpmiddel als vergrootglas op het scherm 175 | Comment[nn]=Verktøy for skjermforstørring 176 | Comment[pl]=Narzędzie powiększania ekranu 177 | Comment[pt]=Uma ferramenta de ampliação do ecrã 178 | Comment[pt_BR]=Uma lupa para a tela 179 | Comment[ro]=Unealtă de mărire a ecranului 180 | Comment[ru]=Инструмент увеличения для экрана 181 | Comment[sa]=एकं पटलवर्धनसाधनम् 182 | Comment[sk]=Nástroj na priblíženie obrazovky 183 | Comment[sl]=Orodje za približanje zaslona 184 | Comment[sr]=Алатка за увеличавање екрана 185 | Comment[sr@ijekavian]=Алатка за увеличавање екрана 186 | Comment[sr@ijekavianlatin]=Alatka za uveličavanje ekrana 187 | Comment[sr@latin]=Alatka za uveličavanje ekrana 188 | Comment[sv]=Ett skärmförstoringsglas 189 | Comment[tr]=Bir ekran büyütme aracı 190 | Comment[uk]=Цифрове збільшувальне скло для екрана 191 | Comment[vi]=Công cụ phóng đại màn hình 192 | Comment[zh_CN]=屏幕放大镜工具 193 | Comment[zh_TW]=螢幕放大工具 194 | Categories=Qt;KDE;Utility;Accessibility; 195 | -------------------------------------------------------------------------------- /src/kmag.h: -------------------------------------------------------------------------------- 1 | // SPDX-FileCopyrightText: 2001-2003 Sarang Lakare 2 | // SPDX-FileCopyrightText: 2003-2004 Olaf Schmidt 3 | // SPDX-FileCopyrightText: 2008 Matthew Woehlke 4 | // SPDX-FileCopyrightText: 2010 Sebastian Sauer 5 | // SPDX-License-Identifier: GPL-2.0-or-later 6 | 7 | #ifndef KMAG_H 8 | #define KMAG_H 9 | 10 | #include "kmagzoomview.h" 11 | #include "focustrackconfig.h" 12 | 13 | // include files for Qt 14 | #include 15 | 16 | // include files for KF5 17 | #include 18 | #include 19 | 20 | class KToggleAction; 21 | class KSelectAction; 22 | 23 | /** 24 | * The base class for Kmag application windows. It sets up the main 25 | * window and reads the config file as well as providing a menubar, toolbar 26 | * and statusbar. An instance of KmagView creates your center view, which is connected 27 | * to the window's Doc object. 28 | * KmagApp reimplements the methods that KXmlGuiWindow provides for main window handling and supports 29 | * full session management as well as using KActions. 30 | * @see KXmlGuiWindow 31 | * @see KApplication 32 | * @see KConfig 33 | * 34 | * @author Source Framework Automatically Generated by KDevelop, (c) The KDevelop Team. 35 | * @version KDevelop version 1.2 code generation 36 | */ 37 | class KmagApp : public KXmlGuiWindow 38 | { 39 | Q_OBJECT 40 | 41 | public: 42 | /** 43 | * Constructor of KmagApp, calls all init functions to create the application. 44 | */ 45 | explicit KmagApp(QWidget* parent=nullptr); 46 | 47 | /// Default destructor 48 | ~KmagApp() override; 49 | 50 | 51 | 52 | protected: 53 | /** save general Options like all bar positions and status as well as the geometry and the recent file list to the configuration 54 | * file 55 | */ 56 | void saveOptions(); 57 | /** read general Options again and initialize all variables like the recent file list 58 | */ 59 | void readOptions(); 60 | /** initializes the KActions of the application */ 61 | void initActions(); 62 | 63 | /** creates the centerwidget of the KTMainWindow instance and sets it as the view 64 | */ 65 | void initView(); 66 | 67 | /// Initialize all connections 68 | void initConnections(); 69 | 70 | bool queryClose() override; 71 | 72 | /// Catch context menu events 73 | void contextMenuEvent ( QContextMenuEvent * e ) override; 74 | 75 | public Q_SLOTS: 76 | /** open a new application window by creating a new instance of KmagApp */ 77 | void slotFileNewWindow(); 78 | 79 | /** print the actual file */ 80 | void slotFilePrint(); 81 | 82 | void slotFileQuit(); 83 | 84 | /** put the marked text/object into the clipboard 85 | */ 86 | void copyToClipBoard(); 87 | 88 | /// Toggle the refreshing of the window 89 | void slotToggleRefresh(); 90 | 91 | void slotModeChanged(); 92 | void slotModeWholeScreen(); 93 | void slotModeSelWin(); 94 | 95 | /// Zooms in 96 | void zoomIn(); 97 | 98 | /// Zooms out 99 | void zoomOut(); 100 | 101 | /// Save the zoomed image 102 | void saveZoomPixmap(); 103 | 104 | /// Sets the zoom index to index 105 | void setZoomIndex(int index); 106 | 107 | /// Sets the rotation index to index 108 | void setRotationIndex(int index); 109 | 110 | /// Sets the fps index to index 111 | void setFPSIndex(int index); 112 | 113 | /// Sets the color index to index 114 | void setColorIndex(int index); 115 | 116 | /// Shows/hides the mouse cursor 117 | void showMouseCursor(bool show); 118 | 119 | void slotShowMenu(); 120 | 121 | void slotToggleHideCursor(); 122 | void slotStaysOnTop(); 123 | 124 | /// Opens shortcut key configuration dialog 125 | void slotConfKeys(); 126 | 127 | /// Called when toolbar config is updated 128 | void slotNewToolbarConfig(); 129 | 130 | /// Called when "configure toolbar" is clicked 131 | void slotEditToolbars(); 132 | 133 | void slotChangeZoomBoxIndex(int index); 134 | void slotChangeRotationBoxIndex(int index); 135 | void slotChangeFPSIndex(int index); 136 | void slotChangeColorIndex(int index); 137 | 138 | 139 | Q_SIGNALS: 140 | /// This signal is raised whenever the index into the zoom array is changed 141 | void updateZoomIndex(int); 142 | 143 | /// This signal is raised whenever the zoom value changes 144 | void updateZoomValue(float); 145 | 146 | /// This signal is raised whenever the index into the rotation array is changed 147 | void updateRotationIndex(int); 148 | 149 | /// This signal is raised whenever the rotation value changes 150 | void updateRotationValue(int); 151 | 152 | /// This signal is raised whenever the index into the fps array is changed 153 | void updateFPSIndex(int); 154 | 155 | /// This signal is raised whenever the fps value changes 156 | void updateFPSValue(float); 157 | 158 | /// This signal is raised whenever the index into the color array is changed 159 | void updateColorIndex(int); 160 | 161 | /// This signal is raised whenever the color value changes 162 | void updateColorValue(int); 163 | 164 | private: 165 | /// the configuration object of the application 166 | KSharedConfigPtr config; 167 | 168 | // KAction pointers to enable/disable actions 169 | QAction *fileNewWindow, *m_pSnapshot, *m_pCopy, *m_keyConf, *m_toolConf; 170 | QAction *m_pPrint; 171 | QAction *m_pZoomIn; 172 | QAction *m_pZoomOut; 173 | QAction *m_pQuit; 174 | QAction *refreshSwitch; 175 | KToggleAction *m_pShowMenu; 176 | KSelectAction *m_pZoomBox, *m_pRotationBox, *m_pFPSBox, *m_pColorBox; 177 | 178 | /// Current index into the zoomArray 179 | unsigned int m_zoomIndex; 180 | 181 | /// Current index into the rotationArray 182 | unsigned int m_rotationIndex; 183 | 184 | /// Current index into the fpsArray 185 | unsigned int m_fpsIndex; 186 | 187 | /// Current index into the colorArray 188 | unsigned int m_colorIndex; 189 | 190 | QStringList zoomArrayString; 191 | QList zoomArray; 192 | 193 | QStringList rotationArrayString; 194 | QList rotationArray; 195 | 196 | QStringList fpsArrayString; 197 | QList fpsArray; 198 | 199 | QStringList colorArrayString; 200 | QList colorArray; 201 | 202 | KMagZoomView* m_zoomView; 203 | KToggleAction *m_hideCursor, *m_staysOnTop; 204 | KToggleAction *m_modeFollowMouse, *m_modeFollowFocus, *m_modeWholeScreen, *m_modeSelWin; 205 | 206 | /// Stores the non-zero cursor type to be used 207 | unsigned int m_mouseCursorType; 208 | 209 | unsigned int m_defaultMouseCursorType; 210 | 211 | #ifndef QT_NO_PRINTER 212 | // Keep QPrinter so settings persist 213 | QPrinter *m_printer = nullptr; 214 | #endif // QT_NO_PRINTER 215 | 216 | }; 217 | 218 | 219 | #endif // KMAG_H 220 | -------------------------------------------------------------------------------- /CMakePresets.json: -------------------------------------------------------------------------------- 1 | { 2 | "version": 3, 3 | "configurePresets": [ 4 | { 5 | "name": "base", 6 | "displayName": "base preset", 7 | "generator": "Ninja", 8 | "binaryDir": "${sourceDir}/build-${presetName}", 9 | "installDir": "$env{KF6}", 10 | "hidden": true, 11 | "cacheVariables": { 12 | "BUILD_QCH": "ON" 13 | } 14 | }, 15 | { 16 | "name": "dev-mold", 17 | "displayName": "Build as debug + using mold linker", 18 | "cacheVariables": { 19 | "CMAKE_BUILD_TYPE": "Debug", 20 | "CMAKE_EXPORT_COMPILE_COMMANDS": "ON", 21 | "CMAKE_SHARED_LINKER_FLAGS": "-fuse-ld=mold" 22 | }, 23 | "inherits": [ 24 | "base" 25 | ] 26 | }, 27 | { 28 | "name": "dev", 29 | "displayName": "Build as debug", 30 | "cacheVariables": { 31 | "CMAKE_BUILD_TYPE": "Debug", 32 | "CMAKE_EXPORT_COMPILE_COMMANDS": "ON" 33 | }, 34 | "inherits": [ 35 | "base" 36 | ] 37 | }, 38 | { 39 | "name": "asan", 40 | "displayName": "Build with Asan support.", 41 | "cacheVariables": { 42 | "CMAKE_BUILD_TYPE": "Debug", 43 | "ECM_ENABLE_SANITIZERS" : "'address;undefined'" 44 | }, 45 | "inherits": [ 46 | "base" 47 | ] 48 | }, 49 | { 50 | "name": "dev-clang", 51 | "displayName": "dev-clang", 52 | "cacheVariables": { 53 | "CMAKE_BUILD_TYPE": "Debug", 54 | "CMAKE_EXPORT_COMPILE_COMMANDS": "ON" 55 | }, 56 | "environment": { 57 | "CXX": "clang++", 58 | "CCACHE_DISABLE": "ON" 59 | }, 60 | "inherits": [ 61 | "base" 62 | ] 63 | }, 64 | { 65 | "name": "unity", 66 | "displayName": "Build with CMake unity support.", 67 | "cacheVariables": { 68 | "CMAKE_BUILD_TYPE": "Debug", 69 | "USE_UNITY_CMAKE_SUPPORT": "ON" 70 | }, 71 | "inherits": [ 72 | "base" 73 | ] 74 | }, 75 | { 76 | "name": "release", 77 | "displayName": "Build as release mode.", 78 | "cacheVariables": { 79 | "CMAKE_BUILD_TYPE": "Release", 80 | "BUILD_TESTING": "OFF" 81 | }, 82 | "inherits": [ 83 | "base" 84 | ] 85 | }, 86 | { 87 | "name": "profile", 88 | "displayName": "profile", 89 | "cacheVariables": { 90 | "CMAKE_BUILD_TYPE": "RelWithDebInfo" 91 | }, 92 | "inherits": [ 93 | "base" 94 | ] 95 | }, 96 | { 97 | "name": "coverage", 98 | "displayName": "coverage", 99 | "cacheVariables": { 100 | "CMAKE_BUILD_TYPE": "Debug", 101 | "USE_UNITY_CMAKE_SUPPORT": "OFF", 102 | "BUILD_COVERAGE": "ON" 103 | }, 104 | "inherits": [ 105 | "base" 106 | ] 107 | }, 108 | { 109 | "name": "clazy", 110 | "displayName": "clazy", 111 | "cacheVariables": { 112 | "CMAKE_BUILD_TYPE": "Debug" 113 | }, 114 | "environment": { 115 | "CXX": "clazy", 116 | "CCACHE_DISABLE": "ON" 117 | }, 118 | "inherits": [ 119 | "base" 120 | ] 121 | }, 122 | { 123 | "name": "pch", 124 | "displayName": "pch", 125 | "cacheVariables": { 126 | "CMAKE_BUILD_TYPE": "Debug", 127 | "USE_PRECOMPILED_HEADERS": "ON", 128 | "BUILD_COVERAGE": "ON" 129 | }, 130 | "inherits": [ 131 | "base" 132 | ] 133 | } 134 | ], 135 | "buildPresets": [ 136 | { 137 | "name": "dev", 138 | "configurePreset": "dev" 139 | }, 140 | { 141 | "name": "dev-mold", 142 | "configurePreset": "dev-mold" 143 | }, 144 | { 145 | "name": "dev-clang", 146 | "configurePreset": "dev-clang" 147 | }, 148 | { 149 | "name": "pch", 150 | "configurePreset": "pch" 151 | }, 152 | { 153 | "name": "release", 154 | "configurePreset": "release" 155 | }, 156 | { 157 | "name": "unity", 158 | "configurePreset": "unity" 159 | }, 160 | { 161 | "name": "coverage", 162 | "configurePreset": "coverage" 163 | }, 164 | { 165 | "name": "asan", 166 | "configurePreset": "asan" 167 | }, 168 | { 169 | "name": "clazy", 170 | "configurePreset": "clazy", 171 | "environment": { 172 | "CLAZY_CHECKS" : "level0,level1,detaching-member,ifndef-define-typo,isempty-vs-count,qrequiredresult-candidates,reserve-candidates,signal-with-return-value,unneeded-cast,function-args-by-ref,function-args-by-value,returning-void-expression,no-ctor-missing-parent-argument,isempty-vs-count,qhash-with-char-pointer-key,raw-environment-function,qproperty-type-mismatch,old-style-connect,qstring-allocations,container-inside-loop,heap-allocated-small-trivial-type,inefficient-qlist,qstring-varargs,level2,detaching-member,heap-allocated-small-trivial-type,isempty-vs-count,qstring-varargs,qvariant-template-instantiation,raw-environment-function,reserve-candidates,signal-with-return-value,thread-with-slots,no-ctor-missing-parent-argument,no-missing-typeinfo", 173 | "CCACHE_DISABLE" : "ON" 174 | } 175 | } 176 | ], 177 | "testPresets": [ 178 | { 179 | "name": "dev", 180 | "configurePreset": "dev", 181 | "output": {"outputOnFailure": true}, 182 | "execution": {"noTestsAction": "error", "stopOnFailure": false} 183 | }, 184 | { 185 | "name": "asan", 186 | "configurePreset": "asan", 187 | "output": {"outputOnFailure": true}, 188 | "execution": {"noTestsAction": "error", "stopOnFailure": true} 189 | }, 190 | { 191 | "name": "unity", 192 | "configurePreset": "unity", 193 | "output": {"outputOnFailure": true}, 194 | "execution": {"noTestsAction": "error", "stopOnFailure": true} 195 | }, 196 | { 197 | "name": "coverage", 198 | "configurePreset": "coverage", 199 | "output": {"outputOnFailure": true}, 200 | "execution": {"noTestsAction": "error", "stopOnFailure": true} 201 | } 202 | ] 203 | } 204 | -------------------------------------------------------------------------------- /LICENSES/CC0-1.0.txt: -------------------------------------------------------------------------------- 1 | Creative Commons Legal Code 2 | 3 | CC0 1.0 Universal 4 | 5 | CREATIVE COMMONS CORPORATION IS NOT A LAW FIRM AND DOES NOT PROVIDE 6 | LEGAL SERVICES. DISTRIBUTION OF THIS DOCUMENT DOES NOT CREATE AN 7 | ATTORNEY-CLIENT RELATIONSHIP. CREATIVE COMMONS PROVIDES THIS 8 | INFORMATION ON AN "AS-IS" BASIS. CREATIVE COMMONS MAKES NO WARRANTIES 9 | REGARDING THE USE OF THIS DOCUMENT OR THE INFORMATION OR WORKS 10 | PROVIDED HEREUNDER, AND DISCLAIMS LIABILITY FOR DAMAGES RESULTING FROM 11 | THE USE OF THIS DOCUMENT OR THE INFORMATION OR WORKS PROVIDED 12 | HEREUNDER. 13 | 14 | Statement of Purpose 15 | 16 | The laws of most jurisdictions throughout the world automatically confer 17 | exclusive Copyright and Related Rights (defined below) upon the creator 18 | and subsequent owner(s) (each and all, an "owner") of an original work of 19 | authorship and/or a database (each, a "Work"). 20 | 21 | Certain owners wish to permanently relinquish those rights to a Work for 22 | the purpose of contributing to a commons of creative, cultural and 23 | scientific works ("Commons") that the public can reliably and without fear 24 | of later claims of infringement build upon, modify, incorporate in other 25 | works, reuse and redistribute as freely as possible in any form whatsoever 26 | and for any purposes, including without limitation commercial purposes. 27 | These owners may contribute to the Commons to promote the ideal of a free 28 | culture and the further production of creative, cultural and scientific 29 | works, or to gain reputation or greater distribution for their Work in 30 | part through the use and efforts of others. 31 | 32 | For these and/or other purposes and motivations, and without any 33 | expectation of additional consideration or compensation, the person 34 | associating CC0 with a Work (the "Affirmer"), to the extent that he or she 35 | is an owner of Copyright and Related Rights in the Work, voluntarily 36 | elects to apply CC0 to the Work and publicly distribute the Work under its 37 | terms, with knowledge of his or her Copyright and Related Rights in the 38 | Work and the meaning and intended legal effect of CC0 on those rights. 39 | 40 | 1. Copyright and Related Rights. A Work made available under CC0 may be 41 | protected by copyright and related or neighboring rights ("Copyright and 42 | Related Rights"). Copyright and Related Rights include, but are not 43 | limited to, the following: 44 | 45 | i. the right to reproduce, adapt, distribute, perform, display, 46 | communicate, and translate a Work; 47 | ii. moral rights retained by the original author(s) and/or performer(s); 48 | iii. publicity and privacy rights pertaining to a person's image or 49 | likeness depicted in a Work; 50 | iv. rights protecting against unfair competition in regards to a Work, 51 | subject to the limitations in paragraph 4(a), below; 52 | v. rights protecting the extraction, dissemination, use and reuse of data 53 | in a Work; 54 | vi. database rights (such as those arising under Directive 96/9/EC of the 55 | European Parliament and of the Council of 11 March 1996 on the legal 56 | protection of databases, and under any national implementation 57 | thereof, including any amended or successor version of such 58 | directive); and 59 | vii. other similar, equivalent or corresponding rights throughout the 60 | world based on applicable law or treaty, and any national 61 | implementations thereof. 62 | 63 | 2. Waiver. To the greatest extent permitted by, but not in contravention 64 | of, applicable law, Affirmer hereby overtly, fully, permanently, 65 | irrevocably and unconditionally waives, abandons, and surrenders all of 66 | Affirmer's Copyright and Related Rights and associated claims and causes 67 | of action, whether now known or unknown (including existing as well as 68 | future claims and causes of action), in the Work (i) in all territories 69 | worldwide, (ii) for the maximum duration provided by applicable law or 70 | treaty (including future time extensions), (iii) in any current or future 71 | medium and for any number of copies, and (iv) for any purpose whatsoever, 72 | including without limitation commercial, advertising or promotional 73 | purposes (the "Waiver"). Affirmer makes the Waiver for the benefit of each 74 | member of the public at large and to the detriment of Affirmer's heirs and 75 | successors, fully intending that such Waiver shall not be subject to 76 | revocation, rescission, cancellation, termination, or any other legal or 77 | equitable action to disrupt the quiet enjoyment of the Work by the public 78 | as contemplated by Affirmer's express Statement of Purpose. 79 | 80 | 3. Public License Fallback. Should any part of the Waiver for any reason 81 | be judged legally invalid or ineffective under applicable law, then the 82 | Waiver shall be preserved to the maximum extent permitted taking into 83 | account Affirmer's express Statement of Purpose. In addition, to the 84 | extent the Waiver is so judged Affirmer hereby grants to each affected 85 | person a royalty-free, non transferable, non sublicensable, non exclusive, 86 | irrevocable and unconditional license to exercise Affirmer's Copyright and 87 | Related Rights in the Work (i) in all territories worldwide, (ii) for the 88 | maximum duration provided by applicable law or treaty (including future 89 | time extensions), (iii) in any current or future medium and for any number 90 | of copies, and (iv) for any purpose whatsoever, including without 91 | limitation commercial, advertising or promotional purposes (the 92 | "License"). The License shall be deemed effective as of the date CC0 was 93 | applied by Affirmer to the Work. Should any part of the License for any 94 | reason be judged legally invalid or ineffective under applicable law, such 95 | partial invalidity or ineffectiveness shall not invalidate the remainder 96 | of the License, and in such case Affirmer hereby affirms that he or she 97 | will not (i) exercise any of his or her remaining Copyright and Related 98 | Rights in the Work or (ii) assert any associated claims and causes of 99 | action with respect to the Work, in either case contrary to Affirmer's 100 | express Statement of Purpose. 101 | 102 | 4. Limitations and Disclaimers. 103 | 104 | a. No trademark or patent rights held by Affirmer are waived, abandoned, 105 | surrendered, licensed or otherwise affected by this document. 106 | b. Affirmer offers the Work as-is and makes no representations or 107 | warranties of any kind concerning the Work, express, implied, 108 | statutory or otherwise, including without limitation warranties of 109 | title, merchantability, fitness for a particular purpose, non 110 | infringement, or the absence of latent or other defects, accuracy, or 111 | the present or absence of errors, whether or not discoverable, all to 112 | the greatest extent permissible under applicable law. 113 | c. Affirmer disclaims responsibility for clearing rights of other persons 114 | that may apply to the Work or any use thereof, including without 115 | limitation any person's Copyright and Related Rights in the Work. 116 | Further, Affirmer disclaims responsibility for obtaining any necessary 117 | consents, permissions or other rights required for any use of the 118 | Work. 119 | d. Affirmer understands and acknowledges that Creative Commons is not a 120 | party to this document and has no duty or obligation with respect to 121 | this CC0 or use of the Work. 122 | -------------------------------------------------------------------------------- /src/kmagzoomview.h: -------------------------------------------------------------------------------- 1 | // SPDX-FileCopyrightText: 2001-2003 Sarang Lakare 2 | // SPDX-FileCopyrightText: 2003-2004 Olaf Schmidt 3 | // SPDX-FileCopyrightText: 2008 Matthew Woehlke 4 | // SPDX-FileCopyrightText: 2010 Sebastian Sauer 5 | // SPDX-License-Identifier: GPL-2.0-or-later 6 | 7 | #ifndef KMagZoomView_h 8 | #define KMagZoomView_h 9 | 10 | // include files for Qt 11 | #include 12 | #include 13 | #include 14 | #include 15 | #include 16 | #include 17 | #include 18 | #include 19 | #include 20 | #include 21 | #include 22 | 23 | //class KMagSelRect; 24 | #include "kmagselrect.h" 25 | 26 | #include "focustrackconfig.h" 27 | #if HAVE_QACCESSIBILITYCLIENT 28 | #include 29 | #endif 30 | 31 | /** 32 | * The KMagZoomView class provides the view widget for the KmagApp instance. 33 | * 34 | * @author Sarang Lakare 35 | */ 36 | class KMagZoomView : public QAbstractScrollArea 37 | { 38 | Q_OBJECT 39 | public: 40 | /// Constructor for the main view 41 | explicit KMagZoomView(QWidget *parent = nullptr, const char *name=nullptr); 42 | 43 | /// Destructor for the main view 44 | ~KMagZoomView() override; 45 | 46 | /// Toggles the refreshing of the window 47 | void toggleRefresh(); 48 | 49 | /// Returns the currently displayed zoomed view 50 | QImage getImage(); 51 | 52 | /// Returns the state of the refresh switch 53 | bool getRefreshStatus() const { return m_refreshSwitch; } 54 | 55 | /// Returns the status of followMouse 56 | bool getFollowMouse() const { return m_followMouse; } 57 | 58 | #if HAVE_QACCESSIBILITYCLIENT 59 | /// Returns the status of followFocus 60 | bool getFollowFocus() const { return m_followFocus; } 61 | #endif 62 | 63 | /// Get the status of "show rect. always" 64 | bool getShowSelRect() const { return (m_selRect.getAlwaysVisible()); } 65 | 66 | /// Get the coordinates of the selection rectangle 67 | QRect getSelRectPos() const { return static_cast(m_selRect); } 68 | 69 | /// Returns the current state of show mouse 70 | unsigned int getShowMouseType() const; 71 | 72 | /// Returns the different ways of showing mouse cursor 73 | QStringList getShowMouseStringList() const; 74 | 75 | /// Returns the status of "fit to window" option 76 | bool getFitToWindow() const { return (m_fitToWindow); } 77 | 78 | public Q_SLOTS: 79 | 80 | /// Sets zoom to the given value 81 | void setZoom(float zoom = 0.0); 82 | 83 | /// Sets the rotation to the given value 84 | void setRotation(int rotation = 0); 85 | 86 | /// Sets the color mode to the given value 87 | void setColorMode(int mode = 0); 88 | 89 | /// Grabs a frame from the given portion of the display 90 | void grabFrame(); 91 | 92 | /// Update the mouse cursor in the zoom view 93 | void updateMouseView(); 94 | 95 | /// Set grab-window-follows-mouse mode 96 | void followMouse(bool follow = true); 97 | 98 | #if HAVE_QACCESSIBILITYCLIENT 99 | /// Set grab-window-follows-mouse-and-keyboard-focus mode 100 | void followBoth(bool follow = true); 101 | 102 | /// Set grab-window-follows-keyboard-focus mode 103 | void followFocus(bool follow = true); 104 | #endif 105 | 106 | /// Shows/Hides the selection marker 107 | void showSelRect(bool show=true); 108 | 109 | /// Set the position of the selection region to the given pos 110 | void setSelRectPos(const QRect & rect); 111 | 112 | /// Set the refresh rate in fps (frames per second) 113 | void setRefreshRate(float fps); 114 | 115 | /// Shows/Hides mouse cursor in the zoomed view 116 | bool showMouse(unsigned int type); 117 | 118 | /// Set the status of "fit to window" option 119 | void setFitToWindow (bool fit=true); 120 | 121 | /// Fits the zoom view to the zoom view window 122 | void fitToWindow(); 123 | 124 | #if HAVE_QACCESSIBILITYCLIENT 125 | private Q_SLOTS: 126 | /// Called from a dbus service when followFocus is true 127 | void focusChanged(const QAccessibleClient::AccessibleObject &object); 128 | #endif 129 | protected: 130 | /// Called when the widget is hidden 131 | void hideEvent( QHideEvent * e) override; 132 | 133 | /// Called when the widget is shown 134 | void showEvent( QShowEvent * e) override; 135 | 136 | /// Called when the widget has been resized 137 | void resizeEvent(QResizeEvent *e) override; 138 | 139 | /// Called when the widget is to be repainted 140 | void paintEvent(QPaintEvent *e) override; 141 | 142 | /// This function calculates the mouse position relative to the image 143 | QPoint calcMousePos(bool updateMousePos=true); 144 | 145 | /// This function draws the mouse cursor 146 | void paintMouseCursor(QPaintDevice *dev, const QPoint & mousePos); 147 | 148 | /// Called when mouse click is detected 149 | void mousePressEvent (QMouseEvent *e) override; 150 | 151 | /// Called when mouse is moved 152 | void mouseMoveEvent(QMouseEvent *e) override; 153 | 154 | /// Mouse button release event handler 155 | void mouseReleaseEvent(QMouseEvent *e) override; 156 | 157 | /// Mouse button release event handler 158 | void keyPressEvent(QKeyEvent *e) override; 159 | 160 | /// Mouse button release event handler 161 | void keyReleaseEvent(QKeyEvent *e) override; 162 | 163 | /// Mouse button release event handler 164 | void focusOutEvent(QFocusEvent *e) override; 165 | 166 | /// Q3ScrollView porting helpers, maybe inline them 167 | int contentsX() const; 168 | int contentsY() const; 169 | int contentsWidth() const; 170 | int contentsHeight() const; 171 | int visibleWidth() const; 172 | int visibleHeight() const; 173 | void setContentsPos(int x, int y); 174 | 175 | /// Setup transformation matrix for zooming, rotating, and mirroring 176 | void setupMatrix(); 177 | 178 | private: 179 | 180 | #if HAVE_QACCESSIBILITYCLIENT 181 | /// Global Accessibility Registry 182 | QAccessibleClient::Registry m_registry; 183 | #endif 184 | 185 | /// Stores the pixmap which is recolored from the grabbed one 186 | QPixmap m_coloredPixmap; 187 | 188 | /// The selected rectangle which is to be grabbed 189 | KMagSelRect m_selRect; 190 | 191 | /// Grabs a window when the timer goes off 192 | QTimer m_grabTimer; 193 | 194 | /// Updates the mouse view 195 | QTimer m_mouseViewTimer; 196 | 197 | /// Zoom matrix 198 | QTransform m_zoomMatrix; 199 | 200 | /// Saves the mouse position when a button is clicked and b4 the cursor is moved to new position 201 | QPoint m_oldMousePos; 202 | 203 | /// Saves the center of the grab window 204 | QPoint m_oldCenter; 205 | 206 | #if HAVE_QACCESSIBILITYCLIENT 207 | /// Saves the keyboard focus position 208 | QPoint m_oldFocus; 209 | #endif 210 | 211 | /// Possible modes for the mouse to be in 212 | enum KMagMouseMode { 213 | Normal, 214 | StartSelect, 215 | ResizeSelection, 216 | MoveSelection, 217 | GrabSelection 218 | }; 219 | 220 | /// The current mode which the mouse is 221 | KMagMouseMode m_mouseMode; 222 | 223 | /// stores the state of the Ctrl key 224 | bool m_ctrlKeyPressed; 225 | 226 | /// stores the state of the Shift key 227 | bool m_shiftKeyPressed; 228 | 229 | /// Store the more recent updated cursor position 230 | QPoint m_latestCursorPos; 231 | 232 | /// Various ways of showing mouse cursor 233 | QStringList m_showMouseTypes; 234 | 235 | // configuration options: 236 | 237 | /// To follow mouse motion or not when no key is pressed 238 | bool m_followMouse; 239 | 240 | /// To follow keyboard focus or not 241 | bool m_followFocus; 242 | bool m_followBoth; 243 | 244 | /// State of refreshing - on or off 245 | bool m_refreshSwitch; 246 | 247 | /// Stores the state of the refresh switch on hide event 248 | bool m_refreshSwitchStateOnHide; 249 | 250 | /// Show mouse cursor type - 0 : do not show, non zero: show 251 | unsigned int m_showMouse; 252 | 253 | /// Frames per second for refresh 254 | unsigned int m_fps; 255 | 256 | /// Stores the amount to zoom the pixmap 257 | float m_zoom; 258 | 259 | /// Stores the degrees to rotate the pixmap 260 | int m_rotation; 261 | 262 | /// Stores color simulation mode to apply 263 | int m_colormode; 264 | 265 | /// Fit the zoom view to the zoom window 266 | bool m_fitToWindow; 267 | }; 268 | 269 | #endif // KMagZoomView_h 270 | -------------------------------------------------------------------------------- /src/colorsim.cpp: -------------------------------------------------------------------------------- 1 | // SPDX-FileCopyrightText: 2008 by Matthew Woehlke 2 | // SPDX-License-Identifier: GPL-2.0-or-later 3 | 4 | /*************************************************************************** 5 | 6 | Citations: 7 | 8 | [1] H. Brettel, F. Viénot and J. D. Mollon (1997) 9 | "Computerized simulation of color appearance for dichromats." 10 | J. Opt. Soc. Am. A 14, 2647-2655. 11 | [2] F. Viénot, H. Brettel and J. D. Mollon (1999) 12 | "Digital video colourmaps for checking the legibility of displays by 13 | dichromats." 14 | Color Research and Application 24, 243-252. 15 | 16 | ***************************************************************************/ 17 | 18 | // application specific includes 19 | #include "colorsim.h" 20 | 21 | // include files for Qt 22 | #include 23 | 24 | #include 25 | 26 | typedef qreal matrix[3][3]; 27 | 28 | #define SIMPLE_ALGORITHM 29 | 30 | #ifndef SIMPLE_ALGORITHM 31 | typedef qreal vector[3]; 32 | 33 | struct fcoef { 34 | vector k[2]; 35 | // vector e; 36 | matrix s[2]; 37 | }; 38 | #endif 39 | 40 | class xyza { 41 | private: 42 | qreal x, y, z, a; 43 | 44 | public: 45 | xyza() {} 46 | xyza(const QColor &c); 47 | QRgb rgba() const; 48 | xyza gamma(qreal q) const; 49 | xyza operator*(const matrix m) const; 50 | #ifndef SIMPLE_ALGORITHM 51 | xyza(const vector v); 52 | qreal operator*(const vector m) const; 53 | xyza flatten(fcoef c) const; 54 | #endif 55 | }; 56 | 57 | xyza::xyza(const QColor &c) : 58 | x(c.redF()), y(c.greenF()), z(c.blueF()), a(c.alphaF()) 59 | { 60 | } 61 | 62 | inline qreal clamp(qreal n) 63 | { 64 | return qMin(qreal(1.0), qMax(qreal(0.0), n)); 65 | } 66 | 67 | QRgb xyza::rgba() const 68 | { 69 | return QColor::fromRgbF(clamp(x), clamp(y), clamp(z), a).rgba(); 70 | } 71 | 72 | xyza xyza::operator*(const matrix m) const 73 | { 74 | xyza r; 75 | r.x = (x * m[0][0]) + (y * m[0][1]) + (z * m[0][2]); 76 | r.y = (x * m[1][0]) + (y * m[1][1]) + (z * m[1][2]); 77 | r.z = (x * m[2][0]) + (y * m[2][1]) + (z * m[2][2]); 78 | r.a = a; 79 | return r; 80 | } 81 | 82 | xyza xyza::gamma(qreal q) const 83 | { 84 | xyza r; 85 | r.x = pow(x, q); 86 | r.y = pow(y, q); 87 | r.z = pow(z, q); 88 | r.a = a; 89 | return r; 90 | } 91 | 92 | #if !defined(SIMPLE_ALGORITHM) || !defined(STANFORD_ALGORITHM) 93 | 94 | /*************************************************************************** 95 | 96 | These RGB<->LMS transformation matrices are from [1]. 97 | 98 | ***************************************************************************/ 99 | 100 | static const matrix rgb2lms = { 101 | {0.1992, 0.4112, 0.0742}, 102 | {0.0353, 0.2226, 0.0574}, 103 | {0.0185, 0.1231, 1.3550} 104 | }; 105 | 106 | static const matrix lms2rgb = { 107 | { 7.4645, -13.8882, 0.1796}, 108 | {-1.1852, 6.8053, -0.2234}, 109 | { 0.0058, -0.4286, 0.7558} 110 | }; 111 | 112 | #endif 113 | 114 | #ifdef SIMPLE_ALGORITHM 115 | 116 | # ifndef STANFORD_ALGORITHM // from "Computerized simulation of color appearance for dichromats" 117 | 118 | # ifdef CRA_ALGORITHM 119 | 120 | /*************************************************************************** 121 | 122 | These matrices are derived from Table II in [2], for the code based on the 123 | Onur/Poliang algorithm below, using the LMS transformation from [1]. 124 | No tritanopia data were provided, so that simulation does not work correctly. 125 | 126 | ***************************************************************************/ 127 | 128 | static const matrix coef[3] = { 129 | { {0.0, 2.39238646, -0.04658523}, {0.0, 1.0, 0.0 }, {0.0, 0.0, 1.0} }, 130 | { {1.0, 0.0, 0.0 }, {0.41799267, 0.0, 0.01947228}, {0.0, 0.0, 1.0} }, 131 | { {1.0, 0.0, 0.0 }, {0.0, 1.0, 0.0 }, {0.0, 0.0, 0.0} } 132 | }; 133 | 134 | # else 135 | 136 | /*************************************************************************** 137 | 138 | These matrices are derived from the "Color Blindness Simulation" sample 139 | palettes from Visolve, Ryobi System Solutions, using the LMS transformations 140 | from [1]. 141 | https://www.ryobi-sol.co.jp/visolve/en/simulation.html 142 | 143 | ***************************************************************************/ 144 | 145 | static const matrix coef[3] = { 146 | { {0.0, 2.60493696, -0.08742194}, {0.0, 1.0, 0.0 }, {0.0, 0.0, 1.0} }, 147 | { {1.0, 0.0, 0.0 }, {0.38395980, 0.0, 0.03370622}, {0.0, 0.0, 1.0} }, 148 | { {1.0, 0.0, 0.0 }, {0.0, 1.0, 0.0 }, {-3.11932916, 12.18076308, 0.0} } 149 | }; 150 | 151 | # endif 152 | 153 | # else // from the "Analysis of Color Blindness" project 154 | 155 | /*************************************************************************** 156 | 157 | This code is based on the matrices from [2], as presented by Onur and Poliang. 158 | The tritanopia simulation uses different representative wavelengths (yellow 159 | and blue) than those recommended by [1] and found in most other simulations 160 | (red and cyan). 161 | https://stacks.stanford.edu/file/druid:yj296hj2790/Woods_Assisting_Color_Blind_Viewers.pdf 162 | 163 | ***************************************************************************/ 164 | 165 | static const matrix coef[3] = { 166 | { { 0.0, 2.02344, -2.52581}, {0.0, 1.0, 0.0 }, { 0.0, 0.0, 1.0} }, 167 | { { 1.0, 0.0, 0.0 }, {0.494207, 0.0, 1.24827}, { 0.0, 0.0, 1.0} }, 168 | { { 1.0, 0.0, 0.0 }, {0.0, 1.0, 0.0 }, {-0.395913, 0.801109, 0.0} } 169 | }; 170 | 171 | static const matrix rgb2lms = { 172 | {17.8824, 43.5161, 4.11935}, 173 | { 3.45565, 27.1554, 3.86714}, 174 | { 0.0299566, 0.184309, 1.46709} 175 | }; 176 | 177 | static const matrix lms2rgb = { 178 | { 0.080944447905, -0.130504409160, 0.116721066440}, 179 | {-0.010248533515, 0.054019326636, -0.113614708214}, 180 | {-0.000365296938, -0.004121614686, 0.693511404861} 181 | }; 182 | 183 | # endif 184 | 185 | inline QRgb recolor(QRgb c, int mode, qreal g) 186 | { 187 | if (mode > 0 && mode < 4) { 188 | xyza n = QColor(c); 189 | if (g != 1.0) { 190 | xyza r = n.gamma(g) * rgb2lms * coef[mode-1] * lms2rgb; 191 | return r.gamma(qreal(1.0) / g).rgba(); 192 | } 193 | else { 194 | xyza r = n * rgb2lms * coef[mode-1] * lms2rgb; 195 | return r.rgba(); 196 | } 197 | } 198 | else { 199 | return qRgb(qGray(c), qGray(c), qGray(c)); 200 | } 201 | } 202 | 203 | #else // from "Computerized simulation of color appearance for dichromats" 204 | 205 | /*************************************************************************** 206 | 207 | This code is based on [1]. The RGB<->LMS transformation matrices are declared 208 | above. 209 | 210 | ***************************************************************************/ 211 | 212 | static const fcoef coef[3] = { 213 | { 214 | { {0.0, 0.0, 1.0}, {0.0, 1.0, 0.0} }, // k 215 | // { }, // e 216 | // a { } 217 | { // s 218 | { {0.0, 2.39238646, -0.04658523}, {0.0, 1.0, 0.0}, {0.0, 0.0, 1.0} }, 219 | { {0.0, 0.37421464, -0.02034378}, {0.0, 1.0, 0.0}, {0.0, 0.0, 1.0} } 220 | } 221 | }, 222 | { 223 | { {0.0, 0.0, 1.0}, {1.0, 0.0, 0.0} }, // k 224 | // { }, // e 225 | // a { } 226 | { // s 227 | { {1.0, 0.0, 0.0}, {0.41799267, 0.0, 0.01947228}, {0.0, 0.0, 1.0} }, 228 | { {1.0, 0.0, 0.0}, {0.41799267, 0.0, 0.01947228}, {0.0, 0.0, 1.0} } 229 | } 230 | }, 231 | { 232 | { {0.0, 1.0, 0.0}, {1.0, 0.0, 0.0} }, // k 233 | // { }, // e 234 | // a { } 235 | { // s 236 | { {1.0, 0.0, 0.0}, {0.0, 1.0, 0.0}, {0.0, 0.0, 0.0} }, 237 | { {1.0, 0.0, 0.0}, {0.0, 1.0, 0.0}, {0.0, 0.0, 0.0} } 238 | } 239 | } 240 | /* The 's' matrices are calculated thusly: 241 | u = E.y*A.z - E.z*A.y; 242 | v = E.z*A.x - E.x*A.z; 243 | w = E.x*A.y - E.y*A.x; 244 | r.x = (mode != 1) ? x : (-v/u) * y + (-w/u) * z; 245 | r.y = (mode != 2) ? y : (-u/v) * x + (-w/v) * z; 246 | r.z = (mode != 3) ? z : (-u/w) * x + (-v/w) * y; 247 | */ 248 | }; 249 | 250 | xyza::xyza(const vector v) : 251 | x(v[0]), y(v[1]), z(v[2]), a(0.0) 252 | { 253 | } 254 | 255 | qreal xyza::operator*(const vector v) const 256 | { 257 | return (x * v[0]) + (y * v[1]) + (z * v[2]); 258 | } 259 | 260 | xyza xyza::flatten(fcoef c) const 261 | { 262 | // xyza e(c.e); 263 | // qreal u = (*this * c.k[0]) / (*this * c.k[1]); 264 | // qreal v = (e * c.k[0]) / (e * c.k[1]); 265 | // int i = (u < v ? 0 : 1); 266 | int i = 0; 267 | return *this * c.s[i]; 268 | } 269 | 270 | inline QRgb recolor(QRgb c, int mode, qreal g) 271 | { 272 | if (mode > 0 && mode < 4) { 273 | xyza n = QColor(c); 274 | xyza r = n.gamma(g) * rgb2lms; 275 | r = r.flatten(coef[mode-1]) * lms2rgb; 276 | return r.gamma(qreal(1.0) / g).rgba(); 277 | } 278 | else { 279 | const int g = qGray(c); 280 | return qRgb(g,g,g); 281 | } 282 | } 283 | 284 | #endif 285 | 286 | QImage ColorSim::recolor(const QImage &pm, int mode, qreal gamma) 287 | { 288 | // get raw data in a format we can manipulate 289 | QImage i = pm; 290 | if (i.format() != QImage::Format_RGB32 && i.format() != QImage::Format_ARGB32) 291 | i = i.convertToFormat(QImage::Format_ARGB32); 292 | 293 | int n = i.width() * i.height(); 294 | QRgb *d = (QRgb*)i.bits(); 295 | for (int k = 0; k < n; ++k) 296 | d[k] = ::recolor(d[k], mode, gamma); 297 | 298 | return i; 299 | } 300 | // kate: indent-width 2; 301 | -------------------------------------------------------------------------------- /po/se/kmag.po: -------------------------------------------------------------------------------- 1 | # Translation of kmag to Northern Sami 2 | # 3 | msgid "" 4 | msgstr "" 5 | "Project-Id-Version: kmag\n" 6 | "Report-Msgid-Bugs-To: https://bugs.kde.org\n" 7 | "POT-Creation-Date: 2025-11-17 11:48+0000\n" 8 | "PO-Revision-Date: 2007-09-11 22:44+0200\n" 9 | "Last-Translator: Northern Sami translation team \n" 11 | "Language-Team: Northern Sami \n" 12 | "Language: se\n" 13 | "MIME-Version: 1.0\n" 14 | "Content-Type: text/plain; charset=UTF-8\n" 15 | "Content-Transfer-Encoding: 8bit\n" 16 | "X-Generator: KBabel 1.11.4\n" 17 | "Plural-Forms: nplurals=2; plural=n != 1;\n" 18 | "X-Environment: kde\n" 19 | "X-Accelerator-Marker: &\n" 20 | "X-Text-Markup: kde4\n" 21 | 22 | #, kde-format 23 | msgctxt "NAME OF TRANSLATORS" 24 | msgid "Your names" 25 | msgstr "" 26 | 27 | #, kde-format 28 | msgctxt "EMAIL OF TRANSLATORS" 29 | msgid "Your emails" 30 | msgstr "" 31 | 32 | #: kmag.cpp:52 33 | #, kde-format 34 | msgctxt "Zoom at very low" 35 | msgid "&Very Low" 36 | msgstr "" 37 | 38 | #: kmag.cpp:52 39 | #, kde-format 40 | msgctxt "Zoom at low" 41 | msgid "&Low" 42 | msgstr "" 43 | 44 | #: kmag.cpp:52 45 | #, kde-format 46 | msgctxt "Zoom at medium" 47 | msgid "&Medium" 48 | msgstr "" 49 | 50 | #: kmag.cpp:52 51 | #, kde-format 52 | msgctxt "Zoom at high" 53 | msgid "&High" 54 | msgstr "" 55 | 56 | #: kmag.cpp:52 57 | #, kde-format 58 | msgctxt "Zoom at very high" 59 | msgid "V&ery High" 60 | msgstr "" 61 | 62 | #: kmag.cpp:60 63 | #, kde-format 64 | msgctxt "No color-blindness simulation, i.e. 'normal' vision" 65 | msgid "&Normal" 66 | msgstr "" 67 | 68 | #: kmag.cpp:60 69 | #, kde-format 70 | msgid "&Protanopia" 71 | msgstr "" 72 | 73 | #: kmag.cpp:60 74 | #, kde-format 75 | msgid "&Deuteranopia" 76 | msgstr "" 77 | 78 | #: kmag.cpp:60 79 | #, kde-format 80 | msgid "&Tritanopia" 81 | msgstr "" 82 | 83 | #: kmag.cpp:60 84 | #, kde-format 85 | msgid "&Achromatopsia" 86 | msgstr "" 87 | 88 | #: kmag.cpp:68 89 | #, kde-format 90 | msgid "&No Rotation (0 Degrees)" 91 | msgstr "" 92 | 93 | #: kmag.cpp:68 94 | #, kde-format 95 | msgid "&Left (90 Degrees)" 96 | msgstr "" 97 | 98 | #: kmag.cpp:68 99 | #, kde-format 100 | msgid "&Upside Down (180 Degrees)" 101 | msgstr "" 102 | 103 | #: kmag.cpp:68 104 | #, kde-format 105 | msgid "&Right (270 Degrees)" 106 | msgstr "" 107 | 108 | #: kmag.cpp:100 109 | #, kde-format 110 | msgid "New &Window" 111 | msgstr "" 112 | 113 | #: kmag.cpp:103 114 | #, kde-format 115 | msgid "Open a new KMagnifier window" 116 | msgstr "" 117 | 118 | #: kmag.cpp:107 119 | #, kde-format 120 | msgid "&Stop" 121 | msgstr "" 122 | 123 | #: kmag.cpp:110 124 | #, kde-format 125 | msgid "Click to stop window refresh" 126 | msgstr "" 127 | 128 | #: kmag.cpp:111 129 | #, kde-format 130 | msgid "" 131 | "Clicking on this icon will start / stop updating of the " 132 | "display. Stopping the update will zero the processing power required (CPU " 133 | "usage)" 134 | msgstr "" 135 | 136 | #: kmag.cpp:117 137 | #, kde-format 138 | msgid "&Save Snapshot As..." 139 | msgstr "" 140 | 141 | #: kmag.cpp:120 142 | #, kde-format 143 | msgid "Saves the zoomed view to an image file." 144 | msgstr "" 145 | 146 | #: kmag.cpp:121 147 | #, kde-format 148 | msgid "Save image to a file" 149 | msgstr "" 150 | 151 | #: kmag.cpp:124 152 | #, kde-format 153 | msgid "Click on this button to print the current zoomed view." 154 | msgstr "" 155 | 156 | #: kmag.cpp:127 kmag.cpp:128 157 | #, kde-format 158 | msgid "Quits the application" 159 | msgstr "" 160 | 161 | #: kmag.cpp:131 162 | #, kde-format 163 | msgid "" 164 | "Click on this button to copy the current zoomed view to the clipboard which " 165 | "you can paste in other applications." 166 | msgstr "" 167 | 168 | #: kmag.cpp:132 169 | #, kde-format 170 | msgid "Copy zoomed image to clipboard" 171 | msgstr "" 172 | 173 | #: kmag.cpp:138 174 | #, kde-format 175 | msgid "&Follow Mouse Mode" 176 | msgstr "" 177 | 178 | #: kmag.cpp:142 179 | #, kde-format 180 | msgid "Mouse" 181 | msgstr "" 182 | 183 | #: kmag.cpp:143 184 | #, kde-format 185 | msgid "Magnify around the mouse cursor" 186 | msgstr "" 187 | 188 | #: kmag.cpp:144 189 | #, kde-format 190 | msgid "If selected, the area around the mouse cursor is magnified" 191 | msgstr "" 192 | 193 | #: kmag.cpp:148 194 | #, kde-format 195 | msgid "&Follow Focus Mode" 196 | msgstr "" 197 | 198 | #: kmag.cpp:152 199 | #, kde-format 200 | msgid "Focus" 201 | msgstr "" 202 | 203 | #: kmag.cpp:153 204 | #, kde-format 205 | msgid "Magnify around the keyboard focus" 206 | msgstr "" 207 | 208 | #: kmag.cpp:154 209 | #, kde-format 210 | msgid "If selected, the area around the keyboard cursor is magnified" 211 | msgstr "" 212 | 213 | #: kmag.cpp:158 214 | #, kde-format 215 | msgid "Se&lection Window Mode" 216 | msgstr "" 217 | 218 | #: kmag.cpp:162 219 | #, kde-format 220 | msgid "Window" 221 | msgstr "" 222 | 223 | #: kmag.cpp:163 224 | #, kde-format 225 | msgid "Show a window for selecting the magnified area" 226 | msgstr "" 227 | 228 | #: kmag.cpp:165 229 | #, kde-format 230 | msgid "&Whole Screen Mode" 231 | msgstr "" 232 | 233 | #: kmag.cpp:169 234 | #, kde-format 235 | msgid "Screen" 236 | msgstr "" 237 | 238 | #: kmag.cpp:170 239 | #, kde-format 240 | msgid "Magnify the whole screen" 241 | msgstr "" 242 | 243 | #: kmag.cpp:171 244 | #, kde-format 245 | msgid "Click on this button to fit the zoom view to the zoom window." 246 | msgstr "" 247 | 248 | #: kmag.cpp:173 249 | #, kde-format 250 | msgid "Hide Mouse &Cursor" 251 | msgstr "" 252 | 253 | #: kmag.cpp:178 254 | #, kde-format 255 | msgid "Show Mouse &Cursor" 256 | msgstr "" 257 | 258 | #: kmag.cpp:180 259 | #, kde-format 260 | msgid "Hide" 261 | msgstr "" 262 | 263 | #: kmag.cpp:181 264 | #, kde-format 265 | msgid "Hide the mouse cursor" 266 | msgstr "" 267 | 268 | #: kmag.cpp:183 269 | #, kde-format 270 | msgid "Stays On Top" 271 | msgstr "" 272 | 273 | #: kmag.cpp:187 274 | #, kde-format 275 | msgid "The KMagnifier Window stays on top of other windows." 276 | msgstr "" 277 | 278 | #: kmag.cpp:190 279 | #, kde-format 280 | msgid "Click on this button to zoom-in on the selected region." 281 | msgstr "" 282 | 283 | #: kmag.cpp:192 284 | #, kde-format 285 | msgid "&Zoom" 286 | msgstr "" 287 | 288 | #: kmag.cpp:195 289 | #, kde-format 290 | msgid "Select the zoom factor." 291 | msgstr "" 292 | 293 | #: kmag.cpp:196 294 | #, kde-format 295 | msgid "Zoom factor" 296 | msgstr "" 297 | 298 | #: kmag.cpp:199 299 | #, kde-format 300 | msgid "Click on this button to zoom-out on the selected region." 301 | msgstr "" 302 | 303 | #: kmag.cpp:201 304 | #, kde-format 305 | msgid "&Rotation" 306 | msgstr "" 307 | 308 | #: kmag.cpp:204 309 | #, kde-format 310 | msgid "Select the rotation degree." 311 | msgstr "" 312 | 313 | #: kmag.cpp:205 314 | #, kde-format 315 | msgid "Rotation degree" 316 | msgstr "" 317 | 318 | #: kmag.cpp:210 319 | #, kde-format 320 | msgid "&Refresh" 321 | msgstr "" 322 | 323 | #: kmag.cpp:213 324 | #, kde-format 325 | msgid "" 326 | "Select the refresh rate. The higher the rate, the more computing power (CPU) " 327 | "will be needed." 328 | msgstr "" 329 | 330 | #: kmag.cpp:214 331 | #, kde-format 332 | msgid "Refresh rate" 333 | msgstr "" 334 | 335 | #: kmag.cpp:216 336 | #, kde-format 337 | msgctxt "Color-blindness simulation mode" 338 | msgid "&Color" 339 | msgstr "" 340 | 341 | #: kmag.cpp:219 342 | #, kde-format 343 | msgid "Select a mode to simulate various types of color-blindness." 344 | msgstr "" 345 | 346 | #: kmag.cpp:220 347 | #, kde-format 348 | msgid "Color-blindness Simulation Mode" 349 | msgstr "" 350 | 351 | #: kmag.cpp:552 352 | #, kde-format 353 | msgid "Save Snapshot As" 354 | msgstr "" 355 | 356 | #: kmag.cpp:566 357 | #, kde-format 358 | msgid "" 359 | "Unable to save temporary file (before uploading to the network file you " 360 | "specified)." 361 | msgstr "" 362 | 363 | #: kmag.cpp:567 kmag.cpp:572 kmag.cpp:582 364 | #, kde-format 365 | msgid "Error Writing File" 366 | msgstr "" 367 | 368 | #: kmag.cpp:571 369 | #, kde-format 370 | msgid "Unable to upload file over the network." 371 | msgstr "" 372 | 373 | #: kmag.cpp:574 kmag.cpp:584 374 | #, kde-format 375 | msgid "" 376 | "Current zoomed image saved to\n" 377 | "%1" 378 | msgstr "" 379 | 380 | #: kmag.cpp:575 kmag.cpp:585 381 | #, kde-format 382 | msgid "Information" 383 | msgstr "" 384 | 385 | #: kmag.cpp:581 386 | #, kde-format 387 | msgid "" 388 | "Unable to save file. Please check if you have permission to write to the " 389 | "directory." 390 | msgstr "" 391 | 392 | #: kmag.cpp:600 393 | #, kde-format 394 | msgid "Stop" 395 | msgstr "" 396 | 397 | #: kmag.cpp:601 398 | #, kde-format 399 | msgid "Click to stop window update" 400 | msgstr "" 401 | 402 | #: kmag.cpp:604 403 | #, kde-format 404 | msgctxt "Start updating the window" 405 | msgid "Start" 406 | msgstr "" 407 | 408 | #: kmag.cpp:605 409 | #, kde-format 410 | msgid "Click to start window update" 411 | msgstr "" 412 | 413 | #: kmagselrect.cpp:198 414 | #, kde-format 415 | msgid "Selection Window" 416 | msgstr "" 417 | 418 | #: kmagselrect.cpp:198 main.cpp:38 419 | #, kde-format 420 | msgid "KMagnifier" 421 | msgstr "" 422 | 423 | #. i18n: ectx: ToolBar (mainToolBar) 424 | #: kmagui.rc:3 425 | #, kde-format 426 | msgid "Main Toolbar" 427 | msgstr "" 428 | 429 | #. i18n: ectx: ToolBar (viewToolBar) 430 | #: kmagui.rc:6 431 | #, kde-format 432 | msgid "View Toolbar" 433 | msgstr "" 434 | 435 | #. i18n: ectx: ToolBar (settingsToolBar) 436 | #: kmagui.rc:16 437 | #, kde-format 438 | msgid "Settings Toolbar" 439 | msgstr "" 440 | 441 | #. i18n: ectx: Menu (file) 442 | #: kmagui.rc:25 443 | #, kde-format 444 | msgid "&File" 445 | msgstr "" 446 | 447 | #. i18n: ectx: Menu (edit) 448 | #: kmagui.rc:32 449 | #, kde-format 450 | msgid "&Edit" 451 | msgstr "" 452 | 453 | #. i18n: ectx: Menu (view) 454 | #: kmagui.rc:35 kmagui.rc:73 455 | #, kde-format 456 | msgid "&View" 457 | msgstr "" 458 | 459 | #. i18n: ectx: Menu (settings) 460 | #: kmagui.rc:47 kmagui.rc:83 461 | #, kde-format 462 | msgid "&Settings" 463 | msgstr "" 464 | 465 | #: kmagzoomview.cpp:107 466 | #, kde-format 467 | msgid "" 468 | "This is the main window which shows the contents of the selected region. The " 469 | "contents will be magnified according to the zoom level that is set." 470 | msgstr "" 471 | 472 | #: main.cpp:39 473 | #, kde-format 474 | msgid "Screen magnifier created by KDE" 475 | msgstr "" 476 | 477 | #: main.cpp:41 478 | #, kde-format 479 | msgid "" 480 | "Copyright 2001-2003 Sarang Lakare\n" 481 | "Copyright 2003-2004 Olaf Schmidt\n" 482 | "Copyright 2008 Matthew Woehlke" 483 | msgstr "" 484 | 485 | #: main.cpp:45 486 | #, kde-format 487 | msgid "Sarang Lakare" 488 | msgstr "" 489 | 490 | #: main.cpp:46 491 | #, kde-format 492 | msgid "Rewrite" 493 | msgstr "" 494 | 495 | #: main.cpp:47 496 | #, kde-format 497 | msgid "Michael Forster" 498 | msgstr "" 499 | 500 | #: main.cpp:48 501 | #, kde-format 502 | msgid "Original idea and author (KDE1)" 503 | msgstr "" 504 | 505 | #: main.cpp:49 506 | #, kde-format 507 | msgid "Olaf Schmidt" 508 | msgstr "" 509 | 510 | #: main.cpp:49 511 | #, kde-format 512 | msgid "" 513 | "Rework of the user interface, improved selection window, speed optimization, " 514 | "rotation, bug fixes" 515 | msgstr "" 516 | 517 | #: main.cpp:50 518 | #, kde-format 519 | msgid "Matthew Woehlke" 520 | msgstr "" 521 | 522 | #: main.cpp:50 523 | #, kde-format 524 | msgid "Color-blindness simulation" 525 | msgstr "" 526 | 527 | #: main.cpp:51 528 | #, kde-format 529 | msgid "Sebastian Sauer" 530 | msgstr "" 531 | 532 | #: main.cpp:51 533 | #, kde-format 534 | msgid "Focus tracking" 535 | msgstr "" 536 | 537 | #: main.cpp:52 538 | #, kde-format 539 | msgid "Claudiu Costin" 540 | msgstr "" 541 | 542 | #: main.cpp:52 543 | #, kde-format 544 | msgid "Some tips" 545 | msgstr "" 546 | -------------------------------------------------------------------------------- /po/ast/kmag.po: -------------------------------------------------------------------------------- 1 | # Copyright (C) 2023 This file is copyright: 2 | # This file is distributed under the same license as the kmag package. 3 | # 4 | # SPDX-FileCopyrightText: 2023 Enol P. 5 | msgid "" 6 | msgstr "" 7 | "Project-Id-Version: kmag\n" 8 | "Report-Msgid-Bugs-To: https://bugs.kde.org\n" 9 | "POT-Creation-Date: 2025-11-17 11:48+0000\n" 10 | "PO-Revision-Date: 2023-11-07 21:27+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 | #, kde-format 21 | msgctxt "NAME OF TRANSLATORS" 22 | msgid "Your names" 23 | msgstr "Softastur" 24 | 25 | #, kde-format 26 | msgctxt "EMAIL OF TRANSLATORS" 27 | msgid "Your emails" 28 | msgstr "alministradores@softastur.org" 29 | 30 | #: kmag.cpp:52 31 | #, kde-format 32 | msgctxt "Zoom at very low" 33 | msgid "&Very Low" 34 | msgstr "" 35 | 36 | #: kmag.cpp:52 37 | #, kde-format 38 | msgctxt "Zoom at low" 39 | msgid "&Low" 40 | msgstr "" 41 | 42 | #: kmag.cpp:52 43 | #, kde-format 44 | msgctxt "Zoom at medium" 45 | msgid "&Medium" 46 | msgstr "" 47 | 48 | #: kmag.cpp:52 49 | #, kde-format 50 | msgctxt "Zoom at high" 51 | msgid "&High" 52 | msgstr "" 53 | 54 | #: kmag.cpp:52 55 | #, kde-format 56 | msgctxt "Zoom at very high" 57 | msgid "V&ery High" 58 | msgstr "" 59 | 60 | #: kmag.cpp:60 61 | #, kde-format 62 | msgctxt "No color-blindness simulation, i.e. 'normal' vision" 63 | msgid "&Normal" 64 | msgstr "" 65 | 66 | #: kmag.cpp:60 67 | #, kde-format 68 | msgid "&Protanopia" 69 | msgstr "" 70 | 71 | #: kmag.cpp:60 72 | #, kde-format 73 | msgid "&Deuteranopia" 74 | msgstr "" 75 | 76 | #: kmag.cpp:60 77 | #, kde-format 78 | msgid "&Tritanopia" 79 | msgstr "" 80 | 81 | #: kmag.cpp:60 82 | #, kde-format 83 | msgid "&Achromatopsia" 84 | msgstr "" 85 | 86 | #: kmag.cpp:68 87 | #, kde-format 88 | msgid "&No Rotation (0 Degrees)" 89 | msgstr "" 90 | 91 | #: kmag.cpp:68 92 | #, kde-format 93 | msgid "&Left (90 Degrees)" 94 | msgstr "" 95 | 96 | #: kmag.cpp:68 97 | #, kde-format 98 | msgid "&Upside Down (180 Degrees)" 99 | msgstr "" 100 | 101 | #: kmag.cpp:68 102 | #, kde-format 103 | msgid "&Right (270 Degrees)" 104 | msgstr "" 105 | 106 | #: kmag.cpp:100 107 | #, kde-format 108 | msgid "New &Window" 109 | msgstr "" 110 | 111 | #: kmag.cpp:103 112 | #, kde-format 113 | msgid "Open a new KMagnifier window" 114 | msgstr "" 115 | 116 | #: kmag.cpp:107 117 | #, kde-format 118 | msgid "&Stop" 119 | msgstr "" 120 | 121 | #: kmag.cpp:110 122 | #, kde-format 123 | msgid "Click to stop window refresh" 124 | msgstr "" 125 | 126 | #: kmag.cpp:111 127 | #, kde-format 128 | msgid "" 129 | "Clicking on this icon will start / stop updating of the " 130 | "display. Stopping the update will zero the processing power required (CPU " 131 | "usage)" 132 | msgstr "" 133 | 134 | #: kmag.cpp:117 135 | #, kde-format 136 | msgid "&Save Snapshot As..." 137 | msgstr "" 138 | 139 | #: kmag.cpp:120 140 | #, kde-format 141 | msgid "Saves the zoomed view to an image file." 142 | msgstr "" 143 | 144 | #: kmag.cpp:121 145 | #, kde-format 146 | msgid "Save image to a file" 147 | msgstr "" 148 | 149 | #: kmag.cpp:124 150 | #, kde-format 151 | msgid "Click on this button to print the current zoomed view." 152 | msgstr "" 153 | 154 | #: kmag.cpp:127 kmag.cpp:128 155 | #, kde-format 156 | msgid "Quits the application" 157 | msgstr "" 158 | 159 | #: kmag.cpp:131 160 | #, kde-format 161 | msgid "" 162 | "Click on this button to copy the current zoomed view to the clipboard which " 163 | "you can paste in other applications." 164 | msgstr "" 165 | 166 | #: kmag.cpp:132 167 | #, kde-format 168 | msgid "Copy zoomed image to clipboard" 169 | msgstr "" 170 | 171 | #: kmag.cpp:138 172 | #, kde-format 173 | msgid "&Follow Mouse Mode" 174 | msgstr "" 175 | 176 | #: kmag.cpp:142 177 | #, kde-format 178 | msgid "Mouse" 179 | msgstr "" 180 | 181 | #: kmag.cpp:143 182 | #, kde-format 183 | msgid "Magnify around the mouse cursor" 184 | msgstr "" 185 | 186 | #: kmag.cpp:144 187 | #, kde-format 188 | msgid "If selected, the area around the mouse cursor is magnified" 189 | msgstr "" 190 | 191 | #: kmag.cpp:148 192 | #, kde-format 193 | msgid "&Follow Focus Mode" 194 | msgstr "" 195 | 196 | #: kmag.cpp:152 197 | #, kde-format 198 | msgid "Focus" 199 | msgstr "" 200 | 201 | #: kmag.cpp:153 202 | #, kde-format 203 | msgid "Magnify around the keyboard focus" 204 | msgstr "" 205 | 206 | #: kmag.cpp:154 207 | #, kde-format 208 | msgid "If selected, the area around the keyboard cursor is magnified" 209 | msgstr "" 210 | 211 | #: kmag.cpp:158 212 | #, kde-format 213 | msgid "Se&lection Window Mode" 214 | msgstr "" 215 | 216 | #: kmag.cpp:162 217 | #, kde-format 218 | msgid "Window" 219 | msgstr "" 220 | 221 | #: kmag.cpp:163 222 | #, kde-format 223 | msgid "Show a window for selecting the magnified area" 224 | msgstr "" 225 | 226 | #: kmag.cpp:165 227 | #, kde-format 228 | msgid "&Whole Screen Mode" 229 | msgstr "" 230 | 231 | #: kmag.cpp:169 232 | #, kde-format 233 | msgid "Screen" 234 | msgstr "" 235 | 236 | #: kmag.cpp:170 237 | #, kde-format 238 | msgid "Magnify the whole screen" 239 | msgstr "" 240 | 241 | #: kmag.cpp:171 242 | #, kde-format 243 | msgid "Click on this button to fit the zoom view to the zoom window." 244 | msgstr "" 245 | 246 | #: kmag.cpp:173 247 | #, kde-format 248 | msgid "Hide Mouse &Cursor" 249 | msgstr "" 250 | 251 | #: kmag.cpp:178 252 | #, kde-format 253 | msgid "Show Mouse &Cursor" 254 | msgstr "" 255 | 256 | #: kmag.cpp:180 257 | #, kde-format 258 | msgid "Hide" 259 | msgstr "" 260 | 261 | #: kmag.cpp:181 262 | #, kde-format 263 | msgid "Hide the mouse cursor" 264 | msgstr "" 265 | 266 | #: kmag.cpp:183 267 | #, kde-format 268 | msgid "Stays On Top" 269 | msgstr "" 270 | 271 | #: kmag.cpp:187 272 | #, kde-format 273 | msgid "The KMagnifier Window stays on top of other windows." 274 | msgstr "" 275 | 276 | #: kmag.cpp:190 277 | #, kde-format 278 | msgid "Click on this button to zoom-in on the selected region." 279 | msgstr "" 280 | 281 | #: kmag.cpp:192 282 | #, kde-format 283 | msgid "&Zoom" 284 | msgstr "" 285 | 286 | #: kmag.cpp:195 287 | #, kde-format 288 | msgid "Select the zoom factor." 289 | msgstr "" 290 | 291 | #: kmag.cpp:196 292 | #, kde-format 293 | msgid "Zoom factor" 294 | msgstr "" 295 | 296 | #: kmag.cpp:199 297 | #, kde-format 298 | msgid "Click on this button to zoom-out on the selected region." 299 | msgstr "" 300 | 301 | #: kmag.cpp:201 302 | #, kde-format 303 | msgid "&Rotation" 304 | msgstr "" 305 | 306 | #: kmag.cpp:204 307 | #, kde-format 308 | msgid "Select the rotation degree." 309 | msgstr "" 310 | 311 | #: kmag.cpp:205 312 | #, kde-format 313 | msgid "Rotation degree" 314 | msgstr "" 315 | 316 | #: kmag.cpp:210 317 | #, kde-format 318 | msgid "&Refresh" 319 | msgstr "" 320 | 321 | #: kmag.cpp:213 322 | #, kde-format 323 | msgid "" 324 | "Select the refresh rate. The higher the rate, the more computing power (CPU) " 325 | "will be needed." 326 | msgstr "" 327 | 328 | #: kmag.cpp:214 329 | #, kde-format 330 | msgid "Refresh rate" 331 | msgstr "" 332 | 333 | #: kmag.cpp:216 334 | #, kde-format 335 | msgctxt "Color-blindness simulation mode" 336 | msgid "&Color" 337 | msgstr "" 338 | 339 | #: kmag.cpp:219 340 | #, kde-format 341 | msgid "Select a mode to simulate various types of color-blindness." 342 | msgstr "" 343 | 344 | #: kmag.cpp:220 345 | #, kde-format 346 | msgid "Color-blindness Simulation Mode" 347 | msgstr "" 348 | 349 | #: kmag.cpp:552 350 | #, kde-format 351 | msgid "Save Snapshot As" 352 | msgstr "" 353 | 354 | #: kmag.cpp:566 355 | #, kde-format 356 | msgid "" 357 | "Unable to save temporary file (before uploading to the network file you " 358 | "specified)." 359 | msgstr "" 360 | 361 | #: kmag.cpp:567 kmag.cpp:572 kmag.cpp:582 362 | #, kde-format 363 | msgid "Error Writing File" 364 | msgstr "" 365 | 366 | #: kmag.cpp:571 367 | #, kde-format 368 | msgid "Unable to upload file over the network." 369 | msgstr "" 370 | 371 | #: kmag.cpp:574 kmag.cpp:584 372 | #, kde-format 373 | msgid "" 374 | "Current zoomed image saved to\n" 375 | "%1" 376 | msgstr "" 377 | 378 | #: kmag.cpp:575 kmag.cpp:585 379 | #, kde-format 380 | msgid "Information" 381 | msgstr "" 382 | 383 | #: kmag.cpp:581 384 | #, kde-format 385 | msgid "" 386 | "Unable to save file. Please check if you have permission to write to the " 387 | "directory." 388 | msgstr "" 389 | 390 | #: kmag.cpp:600 391 | #, kde-format 392 | msgid "Stop" 393 | msgstr "" 394 | 395 | #: kmag.cpp:601 396 | #, kde-format 397 | msgid "Click to stop window update" 398 | msgstr "" 399 | 400 | #: kmag.cpp:604 401 | #, kde-format 402 | msgctxt "Start updating the window" 403 | msgid "Start" 404 | msgstr "" 405 | 406 | #: kmag.cpp:605 407 | #, kde-format 408 | msgid "Click to start window update" 409 | msgstr "" 410 | 411 | #: kmagselrect.cpp:198 412 | #, kde-format 413 | msgid "Selection Window" 414 | msgstr "" 415 | 416 | #: kmagselrect.cpp:198 main.cpp:38 417 | #, kde-format 418 | msgid "KMagnifier" 419 | msgstr "" 420 | 421 | #. i18n: ectx: ToolBar (mainToolBar) 422 | #: kmagui.rc:3 423 | #, kde-format 424 | msgid "Main Toolbar" 425 | msgstr "" 426 | 427 | #. i18n: ectx: ToolBar (viewToolBar) 428 | #: kmagui.rc:6 429 | #, kde-format 430 | msgid "View Toolbar" 431 | msgstr "" 432 | 433 | #. i18n: ectx: ToolBar (settingsToolBar) 434 | #: kmagui.rc:16 435 | #, kde-format 436 | msgid "Settings Toolbar" 437 | msgstr "" 438 | 439 | #. i18n: ectx: Menu (file) 440 | #: kmagui.rc:25 441 | #, kde-format 442 | msgid "&File" 443 | msgstr "" 444 | 445 | #. i18n: ectx: Menu (edit) 446 | #: kmagui.rc:32 447 | #, kde-format 448 | msgid "&Edit" 449 | msgstr "" 450 | 451 | #. i18n: ectx: Menu (view) 452 | #: kmagui.rc:35 kmagui.rc:73 453 | #, kde-format 454 | msgid "&View" 455 | msgstr "" 456 | 457 | #. i18n: ectx: Menu (settings) 458 | #: kmagui.rc:47 kmagui.rc:83 459 | #, kde-format 460 | msgid "&Settings" 461 | msgstr "" 462 | 463 | #: kmagzoomview.cpp:107 464 | #, kde-format 465 | msgid "" 466 | "This is the main window which shows the contents of the selected region. The " 467 | "contents will be magnified according to the zoom level that is set." 468 | msgstr "" 469 | 470 | #: main.cpp:39 471 | #, kde-format 472 | msgid "Screen magnifier created by KDE" 473 | msgstr "" 474 | 475 | #: main.cpp:41 476 | #, kde-format 477 | msgid "" 478 | "Copyright 2001-2003 Sarang Lakare\n" 479 | "Copyright 2003-2004 Olaf Schmidt\n" 480 | "Copyright 2008 Matthew Woehlke" 481 | msgstr "" 482 | 483 | #: main.cpp:45 484 | #, kde-format 485 | msgid "Sarang Lakare" 486 | msgstr "" 487 | 488 | #: main.cpp:46 489 | #, kde-format 490 | msgid "Rewrite" 491 | msgstr "" 492 | 493 | #: main.cpp:47 494 | #, kde-format 495 | msgid "Michael Forster" 496 | msgstr "" 497 | 498 | #: main.cpp:48 499 | #, kde-format 500 | msgid "Original idea and author (KDE1)" 501 | msgstr "" 502 | 503 | #: main.cpp:49 504 | #, kde-format 505 | msgid "Olaf Schmidt" 506 | msgstr "" 507 | 508 | #: main.cpp:49 509 | #, kde-format 510 | msgid "" 511 | "Rework of the user interface, improved selection window, speed optimization, " 512 | "rotation, bug fixes" 513 | msgstr "" 514 | 515 | #: main.cpp:50 516 | #, kde-format 517 | msgid "Matthew Woehlke" 518 | msgstr "" 519 | 520 | #: main.cpp:50 521 | #, kde-format 522 | msgid "Color-blindness simulation" 523 | msgstr "" 524 | 525 | #: main.cpp:51 526 | #, kde-format 527 | msgid "Sebastian Sauer" 528 | msgstr "" 529 | 530 | #: main.cpp:51 531 | #, kde-format 532 | msgid "Focus tracking" 533 | msgstr "" 534 | 535 | #: main.cpp:52 536 | #, kde-format 537 | msgid "Claudiu Costin" 538 | msgstr "" 539 | 540 | #: main.cpp:52 541 | #, kde-format 542 | msgid "Some tips" 543 | msgstr "" 544 | -------------------------------------------------------------------------------- /po/ku/kmag.po: -------------------------------------------------------------------------------- 1 | # translation of kmag.po to Kurdish 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 | # Erdal Ronahi , 2007. 6 | msgid "" 7 | msgstr "" 8 | "Project-Id-Version: kmag\n" 9 | "Report-Msgid-Bugs-To: https://bugs.kde.org\n" 10 | "POT-Creation-Date: 2025-11-17 11:48+0000\n" 11 | "PO-Revision-Date: 2007-12-17 02:11+0100\n" 12 | "Last-Translator: Erdal Ronahi \n" 13 | "Language-Team: Kurdish \n" 14 | "Language: ku\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 | 21 | #, kde-format 22 | msgctxt "NAME OF TRANSLATORS" 23 | msgid "Your names" 24 | msgstr "" 25 | 26 | #, kde-format 27 | msgctxt "EMAIL OF TRANSLATORS" 28 | msgid "Your emails" 29 | msgstr "" 30 | 31 | #: kmag.cpp:52 32 | #, kde-format 33 | msgctxt "Zoom at very low" 34 | msgid "&Very Low" 35 | msgstr "" 36 | 37 | #: kmag.cpp:52 38 | #, kde-format 39 | msgctxt "Zoom at low" 40 | msgid "&Low" 41 | msgstr "" 42 | 43 | #: kmag.cpp:52 44 | #, kde-format 45 | msgctxt "Zoom at medium" 46 | msgid "&Medium" 47 | msgstr "" 48 | 49 | #: kmag.cpp:52 50 | #, kde-format 51 | msgctxt "Zoom at high" 52 | msgid "&High" 53 | msgstr "&Bilind" 54 | 55 | #: kmag.cpp:52 56 | #, kde-format 57 | msgctxt "Zoom at very high" 58 | msgid "V&ery High" 59 | msgstr "" 60 | 61 | #: kmag.cpp:60 62 | #, kde-format 63 | msgctxt "No color-blindness simulation, i.e. 'normal' vision" 64 | msgid "&Normal" 65 | msgstr "" 66 | 67 | #: kmag.cpp:60 68 | #, kde-format 69 | msgid "&Protanopia" 70 | msgstr "" 71 | 72 | #: kmag.cpp:60 73 | #, kde-format 74 | msgid "&Deuteranopia" 75 | msgstr "" 76 | 77 | #: kmag.cpp:60 78 | #, kde-format 79 | msgid "&Tritanopia" 80 | msgstr "" 81 | 82 | #: kmag.cpp:60 83 | #, kde-format 84 | msgid "&Achromatopsia" 85 | msgstr "" 86 | 87 | #: kmag.cpp:68 88 | #, kde-format 89 | msgid "&No Rotation (0 Degrees)" 90 | msgstr "" 91 | 92 | #: kmag.cpp:68 93 | #, kde-format 94 | msgid "&Left (90 Degrees)" 95 | msgstr "" 96 | 97 | #: kmag.cpp:68 98 | #, kde-format 99 | msgid "&Upside Down (180 Degrees)" 100 | msgstr "" 101 | 102 | #: kmag.cpp:68 103 | #, kde-format 104 | msgid "&Right (270 Degrees)" 105 | msgstr "" 106 | 107 | #: kmag.cpp:100 108 | #, kde-format 109 | msgid "New &Window" 110 | msgstr "" 111 | 112 | #: kmag.cpp:103 113 | #, kde-format 114 | msgid "Open a new KMagnifier window" 115 | msgstr "" 116 | 117 | #: kmag.cpp:107 118 | #, kde-format 119 | msgid "&Stop" 120 | msgstr "" 121 | 122 | #: kmag.cpp:110 123 | #, kde-format 124 | msgid "Click to stop window refresh" 125 | msgstr "" 126 | 127 | #: kmag.cpp:111 128 | #, kde-format 129 | msgid "" 130 | "Clicking on this icon will start / stop updating of the " 131 | "display. Stopping the update will zero the processing power required (CPU " 132 | "usage)" 133 | msgstr "" 134 | 135 | #: kmag.cpp:117 136 | #, kde-format 137 | msgid "&Save Snapshot As..." 138 | msgstr "" 139 | 140 | #: kmag.cpp:120 141 | #, kde-format 142 | msgid "Saves the zoomed view to an image file." 143 | msgstr "" 144 | 145 | #: kmag.cpp:121 146 | #, kde-format 147 | msgid "Save image to a file" 148 | msgstr "" 149 | 150 | #: kmag.cpp:124 151 | #, kde-format 152 | msgid "Click on this button to print the current zoomed view." 153 | msgstr "" 154 | 155 | #: kmag.cpp:127 kmag.cpp:128 156 | #, kde-format 157 | msgid "Quits the application" 158 | msgstr "" 159 | 160 | #: kmag.cpp:131 161 | #, kde-format 162 | msgid "" 163 | "Click on this button to copy the current zoomed view to the clipboard which " 164 | "you can paste in other applications." 165 | msgstr "" 166 | 167 | #: kmag.cpp:132 168 | #, kde-format 169 | msgid "Copy zoomed image to clipboard" 170 | msgstr "" 171 | 172 | #: kmag.cpp:138 173 | #, kde-format 174 | msgid "&Follow Mouse Mode" 175 | msgstr "" 176 | 177 | #: kmag.cpp:142 178 | #, kde-format 179 | msgid "Mouse" 180 | msgstr "" 181 | 182 | #: kmag.cpp:143 183 | #, kde-format 184 | msgid "Magnify around the mouse cursor" 185 | msgstr "" 186 | 187 | #: kmag.cpp:144 188 | #, kde-format 189 | msgid "If selected, the area around the mouse cursor is magnified" 190 | msgstr "" 191 | 192 | #: kmag.cpp:148 193 | #, kde-format 194 | msgid "&Follow Focus Mode" 195 | msgstr "" 196 | 197 | #: kmag.cpp:152 198 | #, kde-format 199 | msgid "Focus" 200 | msgstr "" 201 | 202 | #: kmag.cpp:153 203 | #, kde-format 204 | msgid "Magnify around the keyboard focus" 205 | msgstr "" 206 | 207 | #: kmag.cpp:154 208 | #, kde-format 209 | msgid "If selected, the area around the keyboard cursor is magnified" 210 | msgstr "" 211 | 212 | #: kmag.cpp:158 213 | #, kde-format 214 | msgid "Se&lection Window Mode" 215 | msgstr "" 216 | 217 | #: kmag.cpp:162 218 | #, kde-format 219 | msgid "Window" 220 | msgstr "" 221 | 222 | #: kmag.cpp:163 223 | #, kde-format 224 | msgid "Show a window for selecting the magnified area" 225 | msgstr "" 226 | 227 | #: kmag.cpp:165 228 | #, kde-format 229 | msgid "&Whole Screen Mode" 230 | msgstr "" 231 | 232 | #: kmag.cpp:169 233 | #, kde-format 234 | msgid "Screen" 235 | msgstr "" 236 | 237 | #: kmag.cpp:170 238 | #, kde-format 239 | msgid "Magnify the whole screen" 240 | msgstr "" 241 | 242 | #: kmag.cpp:171 243 | #, kde-format 244 | msgid "Click on this button to fit the zoom view to the zoom window." 245 | msgstr "" 246 | 247 | #: kmag.cpp:173 248 | #, kde-format 249 | msgid "Hide Mouse &Cursor" 250 | msgstr "" 251 | 252 | #: kmag.cpp:178 253 | #, kde-format 254 | msgid "Show Mouse &Cursor" 255 | msgstr "" 256 | 257 | #: kmag.cpp:180 258 | #, kde-format 259 | msgid "Hide" 260 | msgstr "" 261 | 262 | #: kmag.cpp:181 263 | #, kde-format 264 | msgid "Hide the mouse cursor" 265 | msgstr "" 266 | 267 | #: kmag.cpp:183 268 | #, kde-format 269 | msgid "Stays On Top" 270 | msgstr "" 271 | 272 | #: kmag.cpp:187 273 | #, kde-format 274 | msgid "The KMagnifier Window stays on top of other windows." 275 | msgstr "" 276 | 277 | #: kmag.cpp:190 278 | #, kde-format 279 | msgid "Click on this button to zoom-in on the selected region." 280 | msgstr "" 281 | 282 | #: kmag.cpp:192 283 | #, kde-format 284 | msgid "&Zoom" 285 | msgstr "" 286 | 287 | #: kmag.cpp:195 288 | #, kde-format 289 | msgid "Select the zoom factor." 290 | msgstr "" 291 | 292 | #: kmag.cpp:196 293 | #, kde-format 294 | msgid "Zoom factor" 295 | msgstr "" 296 | 297 | #: kmag.cpp:199 298 | #, kde-format 299 | msgid "Click on this button to zoom-out on the selected region." 300 | msgstr "" 301 | 302 | #: kmag.cpp:201 303 | #, kde-format 304 | msgid "&Rotation" 305 | msgstr "" 306 | 307 | #: kmag.cpp:204 308 | #, kde-format 309 | msgid "Select the rotation degree." 310 | msgstr "" 311 | 312 | #: kmag.cpp:205 313 | #, kde-format 314 | msgid "Rotation degree" 315 | msgstr "" 316 | 317 | #: kmag.cpp:210 318 | #, kde-format 319 | msgid "&Refresh" 320 | msgstr "" 321 | 322 | #: kmag.cpp:213 323 | #, kde-format 324 | msgid "" 325 | "Select the refresh rate. The higher the rate, the more computing power (CPU) " 326 | "will be needed." 327 | msgstr "" 328 | 329 | #: kmag.cpp:214 330 | #, kde-format 331 | msgid "Refresh rate" 332 | msgstr "" 333 | 334 | #: kmag.cpp:216 335 | #, kde-format 336 | msgctxt "Color-blindness simulation mode" 337 | msgid "&Color" 338 | msgstr "" 339 | 340 | #: kmag.cpp:219 341 | #, kde-format 342 | msgid "Select a mode to simulate various types of color-blindness." 343 | msgstr "" 344 | 345 | #: kmag.cpp:220 346 | #, kde-format 347 | msgid "Color-blindness Simulation Mode" 348 | msgstr "" 349 | 350 | #: kmag.cpp:552 351 | #, kde-format 352 | msgid "Save Snapshot As" 353 | msgstr "" 354 | 355 | #: kmag.cpp:566 356 | #, kde-format 357 | msgid "" 358 | "Unable to save temporary file (before uploading to the network file you " 359 | "specified)." 360 | msgstr "" 361 | 362 | #: kmag.cpp:567 kmag.cpp:572 kmag.cpp:582 363 | #, kde-format 364 | msgid "Error Writing File" 365 | msgstr "" 366 | 367 | #: kmag.cpp:571 368 | #, kde-format 369 | msgid "Unable to upload file over the network." 370 | msgstr "" 371 | 372 | #: kmag.cpp:574 kmag.cpp:584 373 | #, kde-format 374 | msgid "" 375 | "Current zoomed image saved to\n" 376 | "%1" 377 | msgstr "" 378 | 379 | #: kmag.cpp:575 kmag.cpp:585 380 | #, kde-format 381 | msgid "Information" 382 | msgstr "" 383 | 384 | #: kmag.cpp:581 385 | #, kde-format 386 | msgid "" 387 | "Unable to save file. Please check if you have permission to write to the " 388 | "directory." 389 | msgstr "" 390 | 391 | #: kmag.cpp:600 392 | #, kde-format 393 | msgid "Stop" 394 | msgstr "" 395 | 396 | #: kmag.cpp:601 397 | #, kde-format 398 | msgid "Click to stop window update" 399 | msgstr "" 400 | 401 | #: kmag.cpp:604 402 | #, kde-format 403 | msgctxt "Start updating the window" 404 | msgid "Start" 405 | msgstr "" 406 | 407 | #: kmag.cpp:605 408 | #, kde-format 409 | msgid "Click to start window update" 410 | msgstr "" 411 | 412 | #: kmagselrect.cpp:198 413 | #, kde-format 414 | msgid "Selection Window" 415 | msgstr "" 416 | 417 | #: kmagselrect.cpp:198 main.cpp:38 418 | #, kde-format 419 | msgid "KMagnifier" 420 | msgstr "" 421 | 422 | #. i18n: ectx: ToolBar (mainToolBar) 423 | #: kmagui.rc:3 424 | #, kde-format 425 | msgid "Main Toolbar" 426 | msgstr "" 427 | 428 | #. i18n: ectx: ToolBar (viewToolBar) 429 | #: kmagui.rc:6 430 | #, kde-format 431 | msgid "View Toolbar" 432 | msgstr "" 433 | 434 | #. i18n: ectx: ToolBar (settingsToolBar) 435 | #: kmagui.rc:16 436 | #, kde-format 437 | msgid "Settings Toolbar" 438 | msgstr "" 439 | 440 | #. i18n: ectx: Menu (file) 441 | #: kmagui.rc:25 442 | #, kde-format 443 | msgid "&File" 444 | msgstr "" 445 | 446 | #. i18n: ectx: Menu (edit) 447 | #: kmagui.rc:32 448 | #, kde-format 449 | msgid "&Edit" 450 | msgstr "" 451 | 452 | #. i18n: ectx: Menu (view) 453 | #: kmagui.rc:35 kmagui.rc:73 454 | #, kde-format 455 | msgid "&View" 456 | msgstr "" 457 | 458 | #. i18n: ectx: Menu (settings) 459 | #: kmagui.rc:47 kmagui.rc:83 460 | #, kde-format 461 | msgid "&Settings" 462 | msgstr "" 463 | 464 | #: kmagzoomview.cpp:107 465 | #, kde-format 466 | msgid "" 467 | "This is the main window which shows the contents of the selected region. The " 468 | "contents will be magnified according to the zoom level that is set." 469 | msgstr "" 470 | 471 | #: main.cpp:39 472 | #, kde-format 473 | msgid "Screen magnifier created by KDE" 474 | msgstr "" 475 | 476 | #: main.cpp:41 477 | #, kde-format 478 | msgid "" 479 | "Copyright 2001-2003 Sarang Lakare\n" 480 | "Copyright 2003-2004 Olaf Schmidt\n" 481 | "Copyright 2008 Matthew Woehlke" 482 | msgstr "" 483 | 484 | #: main.cpp:45 485 | #, kde-format 486 | msgid "Sarang Lakare" 487 | msgstr "" 488 | 489 | #: main.cpp:46 490 | #, kde-format 491 | msgid "Rewrite" 492 | msgstr "" 493 | 494 | #: main.cpp:47 495 | #, kde-format 496 | msgid "Michael Forster" 497 | msgstr "" 498 | 499 | #: main.cpp:48 500 | #, kde-format 501 | msgid "Original idea and author (KDE1)" 502 | msgstr "" 503 | 504 | #: main.cpp:49 505 | #, kde-format 506 | msgid "Olaf Schmidt" 507 | msgstr "" 508 | 509 | #: main.cpp:49 510 | #, kde-format 511 | msgid "" 512 | "Rework of the user interface, improved selection window, speed optimization, " 513 | "rotation, bug fixes" 514 | msgstr "" 515 | 516 | #: main.cpp:50 517 | #, kde-format 518 | msgid "Matthew Woehlke" 519 | msgstr "" 520 | 521 | #: main.cpp:50 522 | #, kde-format 523 | msgid "Color-blindness simulation" 524 | msgstr "" 525 | 526 | #: main.cpp:51 527 | #, kde-format 528 | msgid "Sebastian Sauer" 529 | msgstr "" 530 | 531 | #: main.cpp:51 532 | #, kde-format 533 | msgid "Focus tracking" 534 | msgstr "" 535 | 536 | #: main.cpp:52 537 | #, kde-format 538 | msgid "Claudiu Costin" 539 | msgstr "" 540 | 541 | #: main.cpp:52 542 | #, kde-format 543 | msgid "Some tips" 544 | msgstr "" 545 | -------------------------------------------------------------------------------- /po/oc/kmag.po: -------------------------------------------------------------------------------- 1 | # translation of kmag.po to Occitan (lengadocian) 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 | # Yannig Marchegay (Kokoyaya) , 2007, 2008. 6 | msgid "" 7 | msgstr "" 8 | "Project-Id-Version: kmag\n" 9 | "Report-Msgid-Bugs-To: https://bugs.kde.org\n" 10 | "POT-Creation-Date: 2025-11-17 11:48+0000\n" 11 | "PO-Revision-Date: 2008-08-05 22:26+0200\n" 12 | "Last-Translator: Yannig Marchegay (Kokoyaya) \n" 13 | "Language-Team: Occitan (lengadocian) \n" 14 | "Language: oc\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 | 21 | #, kde-format 22 | msgctxt "NAME OF TRANSLATORS" 23 | msgid "Your names" 24 | msgstr "Yannig Marchegay (Kokoyaya)" 25 | 26 | #, kde-format 27 | msgctxt "EMAIL OF TRANSLATORS" 28 | msgid "Your emails" 29 | msgstr "yannig@marchegay.org" 30 | 31 | #: kmag.cpp:52 32 | #, kde-format 33 | msgctxt "Zoom at very low" 34 | msgid "&Very Low" 35 | msgstr "" 36 | 37 | #: kmag.cpp:52 38 | #, kde-format 39 | msgctxt "Zoom at low" 40 | msgid "&Low" 41 | msgstr "" 42 | 43 | #: kmag.cpp:52 44 | #, kde-format 45 | msgctxt "Zoom at medium" 46 | msgid "&Medium" 47 | msgstr "" 48 | 49 | #: kmag.cpp:52 50 | #, kde-format 51 | msgctxt "Zoom at high" 52 | msgid "&High" 53 | msgstr "" 54 | 55 | #: kmag.cpp:52 56 | #, kde-format 57 | msgctxt "Zoom at very high" 58 | msgid "V&ery High" 59 | msgstr "" 60 | 61 | #: kmag.cpp:60 62 | #, fuzzy, kde-format 63 | #| msgid "&Normal" 64 | msgctxt "No color-blindness simulation, i.e. 'normal' vision" 65 | msgid "&Normal" 66 | msgstr "&Normal" 67 | 68 | #: kmag.cpp:60 69 | #, kde-format 70 | msgid "&Protanopia" 71 | msgstr "" 72 | 73 | #: kmag.cpp:60 74 | #, kde-format 75 | msgid "&Deuteranopia" 76 | msgstr "" 77 | 78 | #: kmag.cpp:60 79 | #, kde-format 80 | msgid "&Tritanopia" 81 | msgstr "" 82 | 83 | #: kmag.cpp:60 84 | #, kde-format 85 | msgid "&Achromatopsia" 86 | msgstr "" 87 | 88 | #: kmag.cpp:68 89 | #, kde-format 90 | msgid "&No Rotation (0 Degrees)" 91 | msgstr "" 92 | 93 | #: kmag.cpp:68 94 | #, kde-format 95 | msgid "&Left (90 Degrees)" 96 | msgstr "" 97 | 98 | #: kmag.cpp:68 99 | #, kde-format 100 | msgid "&Upside Down (180 Degrees)" 101 | msgstr "" 102 | 103 | #: kmag.cpp:68 104 | #, kde-format 105 | msgid "&Right (270 Degrees)" 106 | msgstr "" 107 | 108 | #: kmag.cpp:100 109 | #, kde-format 110 | msgid "New &Window" 111 | msgstr "&Fenèstra nòva" 112 | 113 | #: kmag.cpp:103 114 | #, kde-format 115 | msgid "Open a new KMagnifier window" 116 | msgstr "" 117 | 118 | #: kmag.cpp:107 119 | #, kde-format 120 | msgid "&Stop" 121 | msgstr "" 122 | 123 | #: kmag.cpp:110 124 | #, kde-format 125 | msgid "Click to stop window refresh" 126 | msgstr "" 127 | 128 | #: kmag.cpp:111 129 | #, kde-format 130 | msgid "" 131 | "Clicking on this icon will start / stop updating of the " 132 | "display. Stopping the update will zero the processing power required (CPU " 133 | "usage)" 134 | msgstr "" 135 | 136 | #: kmag.cpp:117 137 | #, kde-format 138 | msgid "&Save Snapshot As..." 139 | msgstr "" 140 | 141 | #: kmag.cpp:120 142 | #, kde-format 143 | msgid "Saves the zoomed view to an image file." 144 | msgstr "" 145 | 146 | #: kmag.cpp:121 147 | #, kde-format 148 | msgid "Save image to a file" 149 | msgstr "" 150 | 151 | #: kmag.cpp:124 152 | #, kde-format 153 | msgid "Click on this button to print the current zoomed view." 154 | msgstr "" 155 | 156 | #: kmag.cpp:127 kmag.cpp:128 157 | #, kde-format 158 | msgid "Quits the application" 159 | msgstr "Sortís del programa" 160 | 161 | #: kmag.cpp:131 162 | #, kde-format 163 | msgid "" 164 | "Click on this button to copy the current zoomed view to the clipboard which " 165 | "you can paste in other applications." 166 | msgstr "" 167 | 168 | #: kmag.cpp:132 169 | #, kde-format 170 | msgid "Copy zoomed image to clipboard" 171 | msgstr "" 172 | 173 | #: kmag.cpp:138 174 | #, kde-format 175 | msgid "&Follow Mouse Mode" 176 | msgstr "" 177 | 178 | #: kmag.cpp:142 179 | #, kde-format 180 | msgid "Mouse" 181 | msgstr "" 182 | 183 | #: kmag.cpp:143 184 | #, kde-format 185 | msgid "Magnify around the mouse cursor" 186 | msgstr "" 187 | 188 | #: kmag.cpp:144 189 | #, kde-format 190 | msgid "If selected, the area around the mouse cursor is magnified" 191 | msgstr "" 192 | 193 | #: kmag.cpp:148 194 | #, kde-format 195 | msgid "&Follow Focus Mode" 196 | msgstr "" 197 | 198 | #: kmag.cpp:152 199 | #, kde-format 200 | msgid "Focus" 201 | msgstr "" 202 | 203 | #: kmag.cpp:153 204 | #, kde-format 205 | msgid "Magnify around the keyboard focus" 206 | msgstr "" 207 | 208 | #: kmag.cpp:154 209 | #, kde-format 210 | msgid "If selected, the area around the keyboard cursor is magnified" 211 | msgstr "" 212 | 213 | #: kmag.cpp:158 214 | #, kde-format 215 | msgid "Se&lection Window Mode" 216 | msgstr "" 217 | 218 | #: kmag.cpp:162 219 | #, fuzzy, kde-format 220 | #| msgid "New &Window" 221 | msgid "Window" 222 | msgstr "&Fenèstra nòva" 223 | 224 | #: kmag.cpp:163 225 | #, kde-format 226 | msgid "Show a window for selecting the magnified area" 227 | msgstr "" 228 | 229 | #: kmag.cpp:165 230 | #, kde-format 231 | msgid "&Whole Screen Mode" 232 | msgstr "" 233 | 234 | #: kmag.cpp:169 235 | #, kde-format 236 | msgid "Screen" 237 | msgstr "" 238 | 239 | #: kmag.cpp:170 240 | #, kde-format 241 | msgid "Magnify the whole screen" 242 | msgstr "" 243 | 244 | #: kmag.cpp:171 245 | #, kde-format 246 | msgid "Click on this button to fit the zoom view to the zoom window." 247 | msgstr "" 248 | 249 | #: kmag.cpp:173 250 | #, kde-format 251 | msgid "Hide Mouse &Cursor" 252 | msgstr "" 253 | 254 | #: kmag.cpp:178 255 | #, kde-format 256 | msgid "Show Mouse &Cursor" 257 | msgstr "" 258 | 259 | #: kmag.cpp:180 260 | #, kde-format 261 | msgid "Hide" 262 | msgstr "" 263 | 264 | #: kmag.cpp:181 265 | #, kde-format 266 | msgid "Hide the mouse cursor" 267 | msgstr "" 268 | 269 | #: kmag.cpp:183 270 | #, kde-format 271 | msgid "Stays On Top" 272 | msgstr "" 273 | 274 | #: kmag.cpp:187 275 | #, kde-format 276 | msgid "The KMagnifier Window stays on top of other windows." 277 | msgstr "" 278 | 279 | #: kmag.cpp:190 280 | #, kde-format 281 | msgid "Click on this button to zoom-in on the selected region." 282 | msgstr "" 283 | 284 | #: kmag.cpp:192 285 | #, kde-format 286 | msgid "&Zoom" 287 | msgstr "&Zoom" 288 | 289 | #: kmag.cpp:195 290 | #, kde-format 291 | msgid "Select the zoom factor." 292 | msgstr "" 293 | 294 | #: kmag.cpp:196 295 | #, kde-format 296 | msgid "Zoom factor" 297 | msgstr "" 298 | 299 | #: kmag.cpp:199 300 | #, kde-format 301 | msgid "Click on this button to zoom-out on the selected region." 302 | msgstr "" 303 | 304 | #: kmag.cpp:201 305 | #, kde-format 306 | msgid "&Rotation" 307 | msgstr "" 308 | 309 | #: kmag.cpp:204 310 | #, kde-format 311 | msgid "Select the rotation degree." 312 | msgstr "" 313 | 314 | #: kmag.cpp:205 315 | #, kde-format 316 | msgid "Rotation degree" 317 | msgstr "" 318 | 319 | #: kmag.cpp:210 320 | #, kde-format 321 | msgid "&Refresh" 322 | msgstr "" 323 | 324 | #: kmag.cpp:213 325 | #, kde-format 326 | msgid "" 327 | "Select the refresh rate. The higher the rate, the more computing power (CPU) " 328 | "will be needed." 329 | msgstr "" 330 | 331 | #: kmag.cpp:214 332 | #, kde-format 333 | msgid "Refresh rate" 334 | msgstr "" 335 | 336 | #: kmag.cpp:216 337 | #, kde-format 338 | msgctxt "Color-blindness simulation mode" 339 | msgid "&Color" 340 | msgstr "" 341 | 342 | #: kmag.cpp:219 343 | #, kde-format 344 | msgid "Select a mode to simulate various types of color-blindness." 345 | msgstr "" 346 | 347 | #: kmag.cpp:220 348 | #, kde-format 349 | msgid "Color-blindness Simulation Mode" 350 | msgstr "" 351 | 352 | #: kmag.cpp:552 353 | #, kde-format 354 | msgid "Save Snapshot As" 355 | msgstr "" 356 | 357 | #: kmag.cpp:566 358 | #, kde-format 359 | msgid "" 360 | "Unable to save temporary file (before uploading to the network file you " 361 | "specified)." 362 | msgstr "" 363 | 364 | #: kmag.cpp:567 kmag.cpp:572 kmag.cpp:582 365 | #, kde-format 366 | msgid "Error Writing File" 367 | msgstr "" 368 | 369 | #: kmag.cpp:571 370 | #, kde-format 371 | msgid "Unable to upload file over the network." 372 | msgstr "" 373 | 374 | #: kmag.cpp:574 kmag.cpp:584 375 | #, kde-format 376 | msgid "" 377 | "Current zoomed image saved to\n" 378 | "%1" 379 | msgstr "" 380 | 381 | #: kmag.cpp:575 kmag.cpp:585 382 | #, kde-format 383 | msgid "Information" 384 | msgstr "Entresenhas" 385 | 386 | #: kmag.cpp:581 387 | #, kde-format 388 | msgid "" 389 | "Unable to save file. Please check if you have permission to write to the " 390 | "directory." 391 | msgstr "" 392 | 393 | #: kmag.cpp:600 394 | #, kde-format 395 | msgid "Stop" 396 | msgstr "Arrestar" 397 | 398 | #: kmag.cpp:601 399 | #, kde-format 400 | msgid "Click to stop window update" 401 | msgstr "" 402 | 403 | #: kmag.cpp:604 404 | #, fuzzy, kde-format 405 | #| msgid "Start" 406 | msgctxt "Start updating the window" 407 | msgid "Start" 408 | msgstr "Aviar" 409 | 410 | #: kmag.cpp:605 411 | #, kde-format 412 | msgid "Click to start window update" 413 | msgstr "" 414 | 415 | #: kmagselrect.cpp:198 416 | #, kde-format 417 | msgid "Selection Window" 418 | msgstr "" 419 | 420 | #: kmagselrect.cpp:198 main.cpp:38 421 | #, kde-format 422 | msgid "KMagnifier" 423 | msgstr "" 424 | 425 | #. i18n: ectx: ToolBar (mainToolBar) 426 | #: kmagui.rc:3 427 | #, fuzzy, kde-format 428 | #| msgid "&Settings" 429 | msgid "Main Toolbar" 430 | msgstr "&Paramètres" 431 | 432 | #. i18n: ectx: ToolBar (viewToolBar) 433 | #: kmagui.rc:6 434 | #, fuzzy, kde-format 435 | #| msgid "&Settings" 436 | msgid "View Toolbar" 437 | msgstr "&Paramètres" 438 | 439 | #. i18n: ectx: ToolBar (settingsToolBar) 440 | #: kmagui.rc:16 441 | #, fuzzy, kde-format 442 | #| msgid "&Settings" 443 | msgid "Settings Toolbar" 444 | msgstr "&Paramètres" 445 | 446 | #. i18n: ectx: Menu (file) 447 | #: kmagui.rc:25 448 | #, kde-format 449 | msgid "&File" 450 | msgstr "&Fichièr" 451 | 452 | #. i18n: ectx: Menu (edit) 453 | #: kmagui.rc:32 454 | #, kde-format 455 | msgid "&Edit" 456 | msgstr "&Edicion" 457 | 458 | #. i18n: ectx: Menu (view) 459 | #: kmagui.rc:35 kmagui.rc:73 460 | #, kde-format 461 | msgid "&View" 462 | msgstr "Aficha&tge" 463 | 464 | #. i18n: ectx: Menu (settings) 465 | #: kmagui.rc:47 kmagui.rc:83 466 | #, kde-format 467 | msgid "&Settings" 468 | msgstr "&Paramètres" 469 | 470 | #: kmagzoomview.cpp:107 471 | #, kde-format 472 | msgid "" 473 | "This is the main window which shows the contents of the selected region. The " 474 | "contents will be magnified according to the zoom level that is set." 475 | msgstr "" 476 | 477 | #: main.cpp:39 478 | #, kde-format 479 | msgid "Screen magnifier created by KDE" 480 | msgstr "" 481 | 482 | #: main.cpp:41 483 | #, kde-format 484 | msgid "" 485 | "Copyright 2001-2003 Sarang Lakare\n" 486 | "Copyright 2003-2004 Olaf Schmidt\n" 487 | "Copyright 2008 Matthew Woehlke" 488 | msgstr "" 489 | 490 | #: main.cpp:45 491 | #, kde-format 492 | msgid "Sarang Lakare" 493 | msgstr "Sarang Lakare" 494 | 495 | #: main.cpp:46 496 | #, kde-format 497 | msgid "Rewrite" 498 | msgstr "" 499 | 500 | #: main.cpp:47 501 | #, kde-format 502 | msgid "Michael Forster" 503 | msgstr "" 504 | 505 | #: main.cpp:48 506 | #, kde-format 507 | msgid "Original idea and author (KDE1)" 508 | msgstr "" 509 | 510 | #: main.cpp:49 511 | #, kde-format 512 | msgid "Olaf Schmidt" 513 | msgstr "Olaf Schmidt" 514 | 515 | #: main.cpp:49 516 | #, kde-format 517 | msgid "" 518 | "Rework of the user interface, improved selection window, speed optimization, " 519 | "rotation, bug fixes" 520 | msgstr "" 521 | 522 | #: main.cpp:50 523 | #, kde-format 524 | msgid "Matthew Woehlke" 525 | msgstr "" 526 | 527 | #: main.cpp:50 528 | #, kde-format 529 | msgid "Color-blindness simulation" 530 | msgstr "" 531 | 532 | #: main.cpp:51 533 | #, kde-format 534 | msgid "Sebastian Sauer" 535 | msgstr "" 536 | 537 | #: main.cpp:51 538 | #, kde-format 539 | msgid "Focus tracking" 540 | msgstr "" 541 | 542 | #: main.cpp:52 543 | #, kde-format 544 | msgid "Claudiu Costin" 545 | msgstr "" 546 | 547 | #: main.cpp:52 548 | #, kde-format 549 | msgid "Some tips" 550 | msgstr "" 551 | 552 | #~ msgid "File to open" 553 | #~ msgstr "Fichièr de dobrir" 554 | -------------------------------------------------------------------------------- /po/mr/kmag.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 | # Chetan Khona , 2013. 5 | msgid "" 6 | msgstr "" 7 | "Project-Id-Version: \n" 8 | "Report-Msgid-Bugs-To: https://bugs.kde.org\n" 9 | "POT-Creation-Date: 2025-11-17 11:48+0000\n" 10 | "PO-Revision-Date: 2013-03-30 15:36+0530\n" 11 | "Last-Translator: Chetan Khona \n" 12 | "Language-Team: Marathi \n" 13 | "Language: mr\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 1.5\n" 19 | 20 | #, kde-format 21 | msgctxt "NAME OF TRANSLATORS" 22 | msgid "Your names" 23 | msgstr "चेतन खोना" 24 | 25 | #, kde-format 26 | msgctxt "EMAIL OF TRANSLATORS" 27 | msgid "Your emails" 28 | msgstr "chetan@kompkin.com" 29 | 30 | #: kmag.cpp:52 31 | #, kde-format 32 | msgctxt "Zoom at very low" 33 | msgid "&Very Low" 34 | msgstr "खूप कमी (&V)" 35 | 36 | #: kmag.cpp:52 37 | #, kde-format 38 | msgctxt "Zoom at low" 39 | msgid "&Low" 40 | msgstr "कमी (&L)" 41 | 42 | #: kmag.cpp:52 43 | #, kde-format 44 | msgctxt "Zoom at medium" 45 | msgid "&Medium" 46 | msgstr "मध्यम (&M)" 47 | 48 | #: kmag.cpp:52 49 | #, kde-format 50 | msgctxt "Zoom at high" 51 | msgid "&High" 52 | msgstr "जास्त (&H)" 53 | 54 | #: kmag.cpp:52 55 | #, kde-format 56 | msgctxt "Zoom at very high" 57 | msgid "V&ery High" 58 | msgstr "खूप जास्त (&E)" 59 | 60 | #: kmag.cpp:60 61 | #, kde-format 62 | msgctxt "No color-blindness simulation, i.e. 'normal' vision" 63 | msgid "&Normal" 64 | msgstr "सामान्य (&N)" 65 | 66 | #: kmag.cpp:60 67 | #, kde-format 68 | msgid "&Protanopia" 69 | msgstr "" 70 | 71 | #: kmag.cpp:60 72 | #, kde-format 73 | msgid "&Deuteranopia" 74 | msgstr "" 75 | 76 | #: kmag.cpp:60 77 | #, kde-format 78 | msgid "&Tritanopia" 79 | msgstr "" 80 | 81 | #: kmag.cpp:60 82 | #, kde-format 83 | msgid "&Achromatopsia" 84 | msgstr "" 85 | 86 | #: kmag.cpp:68 87 | #, kde-format 88 | msgid "&No Rotation (0 Degrees)" 89 | msgstr "" 90 | 91 | #: kmag.cpp:68 92 | #, kde-format 93 | msgid "&Left (90 Degrees)" 94 | msgstr "डावी (90 डिग्री) (&L)" 95 | 96 | #: kmag.cpp:68 97 | #, kde-format 98 | msgid "&Upside Down (180 Degrees)" 99 | msgstr "वरून-खाली (180 डिग्री) (&U)" 100 | 101 | #: kmag.cpp:68 102 | #, kde-format 103 | msgid "&Right (270 Degrees)" 104 | msgstr "उजवी (270 डिग्री) (&R)" 105 | 106 | #: kmag.cpp:100 107 | #, kde-format 108 | msgid "New &Window" 109 | msgstr "नवीन चौकट (&W)" 110 | 111 | #: kmag.cpp:103 112 | #, kde-format 113 | msgid "Open a new KMagnifier window" 114 | msgstr "" 115 | 116 | #: kmag.cpp:107 117 | #, kde-format 118 | msgid "&Stop" 119 | msgstr "थांबा (&S)" 120 | 121 | #: kmag.cpp:110 122 | #, kde-format 123 | msgid "Click to stop window refresh" 124 | msgstr "" 125 | 126 | #: kmag.cpp:111 127 | #, kde-format 128 | msgid "" 129 | "Clicking on this icon will start / stop updating of the " 130 | "display. Stopping the update will zero the processing power required (CPU " 131 | "usage)" 132 | msgstr "" 133 | 134 | #: kmag.cpp:117 135 | #, kde-format 136 | msgid "&Save Snapshot As..." 137 | msgstr "क्षणचित्र असे साठवा (&S)..." 138 | 139 | #: kmag.cpp:120 140 | #, kde-format 141 | msgid "Saves the zoomed view to an image file." 142 | msgstr "" 143 | 144 | #: kmag.cpp:121 145 | #, kde-format 146 | msgid "Save image to a file" 147 | msgstr "" 148 | 149 | #: kmag.cpp:124 150 | #, kde-format 151 | msgid "Click on this button to print the current zoomed view." 152 | msgstr "" 153 | 154 | #: kmag.cpp:127 kmag.cpp:128 155 | #, kde-format 156 | msgid "Quits the application" 157 | msgstr "" 158 | 159 | #: kmag.cpp:131 160 | #, kde-format 161 | msgid "" 162 | "Click on this button to copy the current zoomed view to the clipboard which " 163 | "you can paste in other applications." 164 | msgstr "" 165 | 166 | #: kmag.cpp:132 167 | #, kde-format 168 | msgid "Copy zoomed image to clipboard" 169 | msgstr "" 170 | 171 | #: kmag.cpp:138 172 | #, kde-format 173 | msgid "&Follow Mouse Mode" 174 | msgstr "" 175 | 176 | #: kmag.cpp:142 177 | #, kde-format 178 | msgid "Mouse" 179 | msgstr "माऊस" 180 | 181 | #: kmag.cpp:143 182 | #, kde-format 183 | msgid "Magnify around the mouse cursor" 184 | msgstr "" 185 | 186 | #: kmag.cpp:144 187 | #, kde-format 188 | msgid "If selected, the area around the mouse cursor is magnified" 189 | msgstr "" 190 | 191 | #: kmag.cpp:148 192 | #, kde-format 193 | msgid "&Follow Focus Mode" 194 | msgstr "" 195 | 196 | #: kmag.cpp:152 197 | #, kde-format 198 | msgid "Focus" 199 | msgstr "केंद्र" 200 | 201 | #: kmag.cpp:153 202 | #, kde-format 203 | msgid "Magnify around the keyboard focus" 204 | msgstr "" 205 | 206 | #: kmag.cpp:154 207 | #, kde-format 208 | msgid "If selected, the area around the keyboard cursor is magnified" 209 | msgstr "" 210 | 211 | #: kmag.cpp:158 212 | #, kde-format 213 | msgid "Se&lection Window Mode" 214 | msgstr "" 215 | 216 | #: kmag.cpp:162 217 | #, kde-format 218 | msgid "Window" 219 | msgstr "चौकट" 220 | 221 | #: kmag.cpp:163 222 | #, kde-format 223 | msgid "Show a window for selecting the magnified area" 224 | msgstr "" 225 | 226 | #: kmag.cpp:165 227 | #, kde-format 228 | msgid "&Whole Screen Mode" 229 | msgstr "" 230 | 231 | #: kmag.cpp:169 232 | #, kde-format 233 | msgid "Screen" 234 | msgstr "स्क्रीन" 235 | 236 | #: kmag.cpp:170 237 | #, kde-format 238 | msgid "Magnify the whole screen" 239 | msgstr "" 240 | 241 | #: kmag.cpp:171 242 | #, kde-format 243 | msgid "Click on this button to fit the zoom view to the zoom window." 244 | msgstr "" 245 | 246 | #: kmag.cpp:173 247 | #, kde-format 248 | msgid "Hide Mouse &Cursor" 249 | msgstr "" 250 | 251 | #: kmag.cpp:178 252 | #, kde-format 253 | msgid "Show Mouse &Cursor" 254 | msgstr "" 255 | 256 | #: kmag.cpp:180 257 | #, kde-format 258 | msgid "Hide" 259 | msgstr "लपवा" 260 | 261 | #: kmag.cpp:181 262 | #, kde-format 263 | msgid "Hide the mouse cursor" 264 | msgstr "" 265 | 266 | #: kmag.cpp:183 267 | #, kde-format 268 | msgid "Stays On Top" 269 | msgstr "" 270 | 271 | #: kmag.cpp:187 272 | #, kde-format 273 | msgid "The KMagnifier Window stays on top of other windows." 274 | msgstr "" 275 | 276 | #: kmag.cpp:190 277 | #, kde-format 278 | msgid "Click on this button to zoom-in on the selected region." 279 | msgstr "" 280 | 281 | #: kmag.cpp:192 282 | #, kde-format 283 | msgid "&Zoom" 284 | msgstr "झूम (&Z)" 285 | 286 | #: kmag.cpp:195 287 | #, kde-format 288 | msgid "Select the zoom factor." 289 | msgstr "" 290 | 291 | #: kmag.cpp:196 292 | #, kde-format 293 | msgid "Zoom factor" 294 | msgstr "झूम प्रमाण" 295 | 296 | #: kmag.cpp:199 297 | #, kde-format 298 | msgid "Click on this button to zoom-out on the selected region." 299 | msgstr "" 300 | 301 | #: kmag.cpp:201 302 | #, kde-format 303 | msgid "&Rotation" 304 | msgstr "फिरवणे (&R)" 305 | 306 | #: kmag.cpp:204 307 | #, kde-format 308 | msgid "Select the rotation degree." 309 | msgstr "" 310 | 311 | #: kmag.cpp:205 312 | #, kde-format 313 | msgid "Rotation degree" 314 | msgstr "" 315 | 316 | #: kmag.cpp:210 317 | #, kde-format 318 | msgid "&Refresh" 319 | msgstr "ताजे करा (&R)" 320 | 321 | #: kmag.cpp:213 322 | #, kde-format 323 | msgid "" 324 | "Select the refresh rate. The higher the rate, the more computing power (CPU) " 325 | "will be needed." 326 | msgstr "" 327 | 328 | #: kmag.cpp:214 329 | #, kde-format 330 | msgid "Refresh rate" 331 | msgstr "ताजे करण्याचा दर" 332 | 333 | #: kmag.cpp:216 334 | #, kde-format 335 | msgctxt "Color-blindness simulation mode" 336 | msgid "&Color" 337 | msgstr "रंग (&C)" 338 | 339 | #: kmag.cpp:219 340 | #, kde-format 341 | msgid "Select a mode to simulate various types of color-blindness." 342 | msgstr "" 343 | 344 | #: kmag.cpp:220 345 | #, kde-format 346 | msgid "Color-blindness Simulation Mode" 347 | msgstr "" 348 | 349 | #: kmag.cpp:552 350 | #, kde-format 351 | msgid "Save Snapshot As" 352 | msgstr "क्षणचित्र असे साठवा" 353 | 354 | #: kmag.cpp:566 355 | #, kde-format 356 | msgid "" 357 | "Unable to save temporary file (before uploading to the network file you " 358 | "specified)." 359 | msgstr "" 360 | 361 | #: kmag.cpp:567 kmag.cpp:572 kmag.cpp:582 362 | #, kde-format 363 | msgid "Error Writing File" 364 | msgstr "" 365 | 366 | #: kmag.cpp:571 367 | #, kde-format 368 | msgid "Unable to upload file over the network." 369 | msgstr "" 370 | 371 | #: kmag.cpp:574 kmag.cpp:584 372 | #, kde-format 373 | msgid "" 374 | "Current zoomed image saved to\n" 375 | "%1" 376 | msgstr "" 377 | 378 | #: kmag.cpp:575 kmag.cpp:585 379 | #, kde-format 380 | msgid "Information" 381 | msgstr "माहिती" 382 | 383 | #: kmag.cpp:581 384 | #, kde-format 385 | msgid "" 386 | "Unable to save file. Please check if you have permission to write to the " 387 | "directory." 388 | msgstr "" 389 | 390 | #: kmag.cpp:600 391 | #, kde-format 392 | msgid "Stop" 393 | msgstr "थांबा" 394 | 395 | #: kmag.cpp:601 396 | #, kde-format 397 | msgid "Click to stop window update" 398 | msgstr "" 399 | 400 | #: kmag.cpp:604 401 | #, kde-format 402 | msgctxt "Start updating the window" 403 | msgid "Start" 404 | msgstr "सुरु करा" 405 | 406 | #: kmag.cpp:605 407 | #, kde-format 408 | msgid "Click to start window update" 409 | msgstr "" 410 | 411 | #: kmagselrect.cpp:198 412 | #, kde-format 413 | msgid "Selection Window" 414 | msgstr "" 415 | 416 | #: kmagselrect.cpp:198 main.cpp:38 417 | #, kde-format 418 | msgid "KMagnifier" 419 | msgstr "" 420 | 421 | #. i18n: ectx: ToolBar (mainToolBar) 422 | #: kmagui.rc:3 423 | #, kde-format 424 | msgid "Main Toolbar" 425 | msgstr "मुख्य साधनपट्टी" 426 | 427 | #. i18n: ectx: ToolBar (viewToolBar) 428 | #: kmagui.rc:6 429 | #, kde-format 430 | msgid "View Toolbar" 431 | msgstr "" 432 | 433 | #. i18n: ectx: ToolBar (settingsToolBar) 434 | #: kmagui.rc:16 435 | #, kde-format 436 | msgid "Settings Toolbar" 437 | msgstr "" 438 | 439 | #. i18n: ectx: Menu (file) 440 | #: kmagui.rc:25 441 | #, kde-format 442 | msgid "&File" 443 | msgstr "फाईल (&F)" 444 | 445 | #. i18n: ectx: Menu (edit) 446 | #: kmagui.rc:32 447 | #, kde-format 448 | msgid "&Edit" 449 | msgstr "संपादन (&E)" 450 | 451 | #. i18n: ectx: Menu (view) 452 | #: kmagui.rc:35 kmagui.rc:73 453 | #, kde-format 454 | msgid "&View" 455 | msgstr "दृश्य (&V)" 456 | 457 | #. i18n: ectx: Menu (settings) 458 | #: kmagui.rc:47 kmagui.rc:83 459 | #, kde-format 460 | msgid "&Settings" 461 | msgstr "संयोजना (&S)" 462 | 463 | #: kmagzoomview.cpp:107 464 | #, kde-format 465 | msgid "" 466 | "This is the main window which shows the contents of the selected region. The " 467 | "contents will be magnified according to the zoom level that is set." 468 | msgstr "" 469 | 470 | #: main.cpp:39 471 | #, kde-format 472 | msgid "Screen magnifier created by KDE" 473 | msgstr "" 474 | 475 | #: main.cpp:41 476 | #, kde-format 477 | msgid "" 478 | "Copyright 2001-2003 Sarang Lakare\n" 479 | "Copyright 2003-2004 Olaf Schmidt\n" 480 | "Copyright 2008 Matthew Woehlke" 481 | msgstr "" 482 | "Copyright 2001-2003 सारंग लकरे\n" 483 | "Copyright 2003-2004 ओलफ स्मिट\n" 484 | "Copyright 2008 मेथ्यू वोहल्क" 485 | 486 | #: main.cpp:45 487 | #, kde-format 488 | msgid "Sarang Lakare" 489 | msgstr "सारंग लकरे" 490 | 491 | #: main.cpp:46 492 | #, kde-format 493 | msgid "Rewrite" 494 | msgstr "पुनर्लेखन" 495 | 496 | #: main.cpp:47 497 | #, kde-format 498 | msgid "Michael Forster" 499 | msgstr "माइकल फॉरस्टर" 500 | 501 | #: main.cpp:48 502 | #, kde-format 503 | msgid "Original idea and author (KDE1)" 504 | msgstr "" 505 | 506 | #: main.cpp:49 507 | #, kde-format 508 | msgid "Olaf Schmidt" 509 | msgstr "ओलफ स्मिट" 510 | 511 | #: main.cpp:49 512 | #, kde-format 513 | msgid "" 514 | "Rework of the user interface, improved selection window, speed optimization, " 515 | "rotation, bug fixes" 516 | msgstr "" 517 | 518 | #: main.cpp:50 519 | #, kde-format 520 | msgid "Matthew Woehlke" 521 | msgstr "मेथ्यू वोहल्क" 522 | 523 | #: main.cpp:50 524 | #, kde-format 525 | msgid "Color-blindness simulation" 526 | msgstr "" 527 | 528 | #: main.cpp:51 529 | #, kde-format 530 | msgid "Sebastian Sauer" 531 | msgstr "सेबेस्तियन सॉअर" 532 | 533 | #: main.cpp:51 534 | #, kde-format 535 | msgid "Focus tracking" 536 | msgstr "" 537 | 538 | #: main.cpp:52 539 | #, kde-format 540 | msgid "Claudiu Costin" 541 | msgstr "क्लाउडियू कोस्टिन" 542 | 543 | #: main.cpp:52 544 | #, kde-format 545 | msgid "Some tips" 546 | msgstr "" 547 | 548 | #~ msgid "File to open" 549 | #~ msgstr "उघडावयाची फाईल" 550 | -------------------------------------------------------------------------------- /po/sq/kmag.po: -------------------------------------------------------------------------------- 1 | # Albanian translation for kdeaccessibility 2 | # Copyright (c) 2009 Rosetta Contributors and Canonical Ltd 2009 3 | # This file is distributed under the same license as the kdeaccessibility package. 4 | # FIRST AUTHOR , 2009. 5 | # 6 | msgid "" 7 | msgstr "" 8 | "Project-Id-Version: kdeaccessibility\n" 9 | "Report-Msgid-Bugs-To: https://bugs.kde.org\n" 10 | "POT-Creation-Date: 2025-11-17 11:48+0000\n" 11 | "PO-Revision-Date: 2009-06-01 14:39+0000\n" 12 | "Last-Translator: Vilson Gjeci \n" 13 | "Language-Team: Albanian \n" 14 | "Language: sq\n" 15 | "MIME-Version: 1.0\n" 16 | "Content-Type: text/plain; charset=UTF-8\n" 17 | "Content-Transfer-Encoding: 8bit\n" 18 | "X-Launchpad-Export-Date: 2011-04-22 03:35+0000\n" 19 | "X-Generator: Launchpad (build 12883)\n" 20 | "Plural-Forms: nplurals=2; plural=n != 1;\n" 21 | 22 | #, kde-format 23 | msgctxt "NAME OF TRANSLATORS" 24 | msgid "Your names" 25 | msgstr "KDE Shqip, Launchpad Contributions: Vilson Gjeci" 26 | 27 | #, kde-format 28 | msgctxt "EMAIL OF TRANSLATORS" 29 | msgid "Your emails" 30 | msgstr "kde-shqip@yahoogroups.com,vilsongjeci@gmail.com" 31 | 32 | #: kmag.cpp:52 33 | #, kde-format 34 | msgctxt "Zoom at very low" 35 | msgid "&Very Low" 36 | msgstr "" 37 | 38 | #: kmag.cpp:52 39 | #, kde-format 40 | msgctxt "Zoom at low" 41 | msgid "&Low" 42 | msgstr "" 43 | 44 | #: kmag.cpp:52 45 | #, kde-format 46 | msgctxt "Zoom at medium" 47 | msgid "&Medium" 48 | msgstr "&Mesatar" 49 | 50 | #: kmag.cpp:52 51 | #, kde-format 52 | msgctxt "Zoom at high" 53 | msgid "&High" 54 | msgstr "&I Lartë" 55 | 56 | #: kmag.cpp:52 57 | #, kde-format 58 | msgctxt "Zoom at very high" 59 | msgid "V&ery High" 60 | msgstr "" 61 | 62 | #: kmag.cpp:60 63 | #, kde-format 64 | msgctxt "No color-blindness simulation, i.e. 'normal' vision" 65 | msgid "&Normal" 66 | msgstr "" 67 | 68 | #: kmag.cpp:60 69 | #, kde-format 70 | msgid "&Protanopia" 71 | msgstr "&Protanopia" 72 | 73 | #: kmag.cpp:60 74 | #, kde-format 75 | msgid "&Deuteranopia" 76 | msgstr "&Deuteranopia" 77 | 78 | #: kmag.cpp:60 79 | #, kde-format 80 | msgid "&Tritanopia" 81 | msgstr "&Tritanopia" 82 | 83 | #: kmag.cpp:60 84 | #, kde-format 85 | msgid "&Achromatopsia" 86 | msgstr "&Achromatopsia" 87 | 88 | #: kmag.cpp:68 89 | #, kde-format 90 | msgid "&No Rotation (0 Degrees)" 91 | msgstr "" 92 | 93 | #: kmag.cpp:68 94 | #, kde-format 95 | msgid "&Left (90 Degrees)" 96 | msgstr "" 97 | 98 | #: kmag.cpp:68 99 | #, kde-format 100 | msgid "&Upside Down (180 Degrees)" 101 | msgstr "" 102 | 103 | #: kmag.cpp:68 104 | #, kde-format 105 | msgid "&Right (270 Degrees)" 106 | msgstr "" 107 | 108 | #: kmag.cpp:100 109 | #, kde-format 110 | msgid "New &Window" 111 | msgstr "Dritare e &Re" 112 | 113 | #: kmag.cpp:103 114 | #, kde-format 115 | msgid "Open a new KMagnifier window" 116 | msgstr "" 117 | 118 | #: kmag.cpp:107 119 | #, kde-format 120 | msgid "&Stop" 121 | msgstr "&Ndal" 122 | 123 | #: kmag.cpp:110 124 | #, kde-format 125 | msgid "Click to stop window refresh" 126 | msgstr "" 127 | 128 | #: kmag.cpp:111 129 | #, kde-format 130 | msgid "" 131 | "Clicking on this icon will start / stop updating of the " 132 | "display. Stopping the update will zero the processing power required (CPU " 133 | "usage)" 134 | msgstr "" 135 | 136 | #: kmag.cpp:117 137 | #, kde-format 138 | msgid "&Save Snapshot As..." 139 | msgstr "" 140 | 141 | #: kmag.cpp:120 142 | #, kde-format 143 | msgid "Saves the zoomed view to an image file." 144 | msgstr "" 145 | 146 | #: kmag.cpp:121 147 | #, kde-format 148 | msgid "Save image to a file" 149 | msgstr "" 150 | 151 | #: kmag.cpp:124 152 | #, kde-format 153 | msgid "Click on this button to print the current zoomed view." 154 | msgstr "" 155 | 156 | #: kmag.cpp:127 kmag.cpp:128 157 | #, kde-format 158 | msgid "Quits the application" 159 | msgstr "" 160 | 161 | #: kmag.cpp:131 162 | #, kde-format 163 | msgid "" 164 | "Click on this button to copy the current zoomed view to the clipboard which " 165 | "you can paste in other applications." 166 | msgstr "" 167 | 168 | #: kmag.cpp:132 169 | #, kde-format 170 | msgid "Copy zoomed image to clipboard" 171 | msgstr "" 172 | 173 | #: kmag.cpp:138 174 | #, kde-format 175 | msgid "&Follow Mouse Mode" 176 | msgstr "" 177 | 178 | #: kmag.cpp:142 179 | #, kde-format 180 | msgid "Mouse" 181 | msgstr "" 182 | 183 | #: kmag.cpp:143 184 | #, kde-format 185 | msgid "Magnify around the mouse cursor" 186 | msgstr "" 187 | 188 | #: kmag.cpp:144 189 | #, kde-format 190 | msgid "If selected, the area around the mouse cursor is magnified" 191 | msgstr "" 192 | 193 | #: kmag.cpp:148 194 | #, kde-format 195 | msgid "&Follow Focus Mode" 196 | msgstr "" 197 | 198 | #: kmag.cpp:152 199 | #, kde-format 200 | msgid "Focus" 201 | msgstr "" 202 | 203 | #: kmag.cpp:153 204 | #, kde-format 205 | msgid "Magnify around the keyboard focus" 206 | msgstr "" 207 | 208 | #: kmag.cpp:154 209 | #, kde-format 210 | msgid "If selected, the area around the keyboard cursor is magnified" 211 | msgstr "" 212 | 213 | #: kmag.cpp:158 214 | #, kde-format 215 | msgid "Se&lection Window Mode" 216 | msgstr "" 217 | 218 | #: kmag.cpp:162 219 | #, kde-format 220 | msgid "Window" 221 | msgstr "" 222 | 223 | #: kmag.cpp:163 224 | #, kde-format 225 | msgid "Show a window for selecting the magnified area" 226 | msgstr "" 227 | 228 | #: kmag.cpp:165 229 | #, kde-format 230 | msgid "&Whole Screen Mode" 231 | msgstr "" 232 | 233 | #: kmag.cpp:169 234 | #, kde-format 235 | msgid "Screen" 236 | msgstr "" 237 | 238 | #: kmag.cpp:170 239 | #, kde-format 240 | msgid "Magnify the whole screen" 241 | msgstr "" 242 | 243 | #: kmag.cpp:171 244 | #, kde-format 245 | msgid "Click on this button to fit the zoom view to the zoom window." 246 | msgstr "" 247 | 248 | #: kmag.cpp:173 249 | #, kde-format 250 | msgid "Hide Mouse &Cursor" 251 | msgstr "" 252 | 253 | #: kmag.cpp:178 254 | #, kde-format 255 | msgid "Show Mouse &Cursor" 256 | msgstr "" 257 | 258 | #: kmag.cpp:180 259 | #, kde-format 260 | msgid "Hide" 261 | msgstr "" 262 | 263 | #: kmag.cpp:181 264 | #, kde-format 265 | msgid "Hide the mouse cursor" 266 | msgstr "" 267 | 268 | #: kmag.cpp:183 269 | #, kde-format 270 | msgid "Stays On Top" 271 | msgstr "" 272 | 273 | #: kmag.cpp:187 274 | #, kde-format 275 | msgid "The KMagnifier Window stays on top of other windows." 276 | msgstr "" 277 | 278 | #: kmag.cpp:190 279 | #, kde-format 280 | msgid "Click on this button to zoom-in on the selected region." 281 | msgstr "" 282 | 283 | #: kmag.cpp:192 284 | #, kde-format 285 | msgid "&Zoom" 286 | msgstr "&Zmadho" 287 | 288 | #: kmag.cpp:195 289 | #, kde-format 290 | msgid "Select the zoom factor." 291 | msgstr "" 292 | 293 | #: kmag.cpp:196 294 | #, kde-format 295 | msgid "Zoom factor" 296 | msgstr "" 297 | 298 | #: kmag.cpp:199 299 | #, kde-format 300 | msgid "Click on this button to zoom-out on the selected region." 301 | msgstr "" 302 | 303 | #: kmag.cpp:201 304 | #, kde-format 305 | msgid "&Rotation" 306 | msgstr "" 307 | 308 | #: kmag.cpp:204 309 | #, kde-format 310 | msgid "Select the rotation degree." 311 | msgstr "" 312 | 313 | #: kmag.cpp:205 314 | #, kde-format 315 | msgid "Rotation degree" 316 | msgstr "" 317 | 318 | #: kmag.cpp:210 319 | #, kde-format 320 | msgid "&Refresh" 321 | msgstr "&Rifresko" 322 | 323 | #: kmag.cpp:213 324 | #, kde-format 325 | msgid "" 326 | "Select the refresh rate. The higher the rate, the more computing power (CPU) " 327 | "will be needed." 328 | msgstr "" 329 | 330 | #: kmag.cpp:214 331 | #, kde-format 332 | msgid "Refresh rate" 333 | msgstr "" 334 | 335 | #: kmag.cpp:216 336 | #, kde-format 337 | msgctxt "Color-blindness simulation mode" 338 | msgid "&Color" 339 | msgstr "" 340 | 341 | #: kmag.cpp:219 342 | #, kde-format 343 | msgid "Select a mode to simulate various types of color-blindness." 344 | msgstr "" 345 | 346 | #: kmag.cpp:220 347 | #, kde-format 348 | msgid "Color-blindness Simulation Mode" 349 | msgstr "" 350 | 351 | #: kmag.cpp:552 352 | #, kde-format 353 | msgid "Save Snapshot As" 354 | msgstr "" 355 | 356 | #: kmag.cpp:566 357 | #, kde-format 358 | msgid "" 359 | "Unable to save temporary file (before uploading to the network file you " 360 | "specified)." 361 | msgstr "" 362 | 363 | #: kmag.cpp:567 kmag.cpp:572 kmag.cpp:582 364 | #, kde-format 365 | msgid "Error Writing File" 366 | msgstr "" 367 | 368 | #: kmag.cpp:571 369 | #, kde-format 370 | msgid "Unable to upload file over the network." 371 | msgstr "" 372 | 373 | #: kmag.cpp:574 kmag.cpp:584 374 | #, kde-format 375 | msgid "" 376 | "Current zoomed image saved to\n" 377 | "%1" 378 | msgstr "" 379 | 380 | #: kmag.cpp:575 kmag.cpp:585 381 | #, kde-format 382 | msgid "Information" 383 | msgstr "Informacion" 384 | 385 | #: kmag.cpp:581 386 | #, kde-format 387 | msgid "" 388 | "Unable to save file. Please check if you have permission to write to the " 389 | "directory." 390 | msgstr "" 391 | 392 | #: kmag.cpp:600 393 | #, kde-format 394 | msgid "Stop" 395 | msgstr "Ndal" 396 | 397 | #: kmag.cpp:601 398 | #, kde-format 399 | msgid "Click to stop window update" 400 | msgstr "" 401 | 402 | #: kmag.cpp:604 403 | #, kde-format 404 | msgctxt "Start updating the window" 405 | msgid "Start" 406 | msgstr "" 407 | 408 | #: kmag.cpp:605 409 | #, kde-format 410 | msgid "Click to start window update" 411 | msgstr "" 412 | 413 | #: kmagselrect.cpp:198 414 | #, kde-format 415 | msgid "Selection Window" 416 | msgstr "" 417 | 418 | #: kmagselrect.cpp:198 main.cpp:38 419 | #, kde-format 420 | msgid "KMagnifier" 421 | msgstr "KMagnifier" 422 | 423 | #. i18n: ectx: ToolBar (mainToolBar) 424 | #: kmagui.rc:3 425 | #, kde-format 426 | msgid "Main Toolbar" 427 | msgstr "" 428 | 429 | #. i18n: ectx: ToolBar (viewToolBar) 430 | #: kmagui.rc:6 431 | #, kde-format 432 | msgid "View Toolbar" 433 | msgstr "" 434 | 435 | #. i18n: ectx: ToolBar (settingsToolBar) 436 | #: kmagui.rc:16 437 | #, fuzzy, kde-format 438 | #| msgid "&Settings" 439 | msgid "Settings Toolbar" 440 | msgstr "&Parametrat" 441 | 442 | #. i18n: ectx: Menu (file) 443 | #: kmagui.rc:25 444 | #, kde-format 445 | msgid "&File" 446 | msgstr "&Skedari" 447 | 448 | #. i18n: ectx: Menu (edit) 449 | #: kmagui.rc:32 450 | #, kde-format 451 | msgid "&Edit" 452 | msgstr "&Modifiko" 453 | 454 | #. i18n: ectx: Menu (view) 455 | #: kmagui.rc:35 kmagui.rc:73 456 | #, kde-format 457 | msgid "&View" 458 | msgstr "&Shfaq" 459 | 460 | #. i18n: ectx: Menu (settings) 461 | #: kmagui.rc:47 kmagui.rc:83 462 | #, kde-format 463 | msgid "&Settings" 464 | msgstr "&Parametrat" 465 | 466 | #: kmagzoomview.cpp:107 467 | #, kde-format 468 | msgid "" 469 | "This is the main window which shows the contents of the selected region. The " 470 | "contents will be magnified according to the zoom level that is set." 471 | msgstr "" 472 | 473 | #: main.cpp:39 474 | #, kde-format 475 | msgid "Screen magnifier created by KDE" 476 | msgstr "" 477 | 478 | #: main.cpp:41 479 | #, kde-format 480 | msgid "" 481 | "Copyright 2001-2003 Sarang Lakare\n" 482 | "Copyright 2003-2004 Olaf Schmidt\n" 483 | "Copyright 2008 Matthew Woehlke" 484 | msgstr "" 485 | "Copyright 2001-2003 Sarang Lakare\n" 486 | "Copyright 2003-2004 Olaf Schmidt\n" 487 | "Copyright 2008 Matthew Woehlke" 488 | 489 | #: main.cpp:45 490 | #, kde-format 491 | msgid "Sarang Lakare" 492 | msgstr "Sarang Lakare" 493 | 494 | #: main.cpp:46 495 | #, kde-format 496 | msgid "Rewrite" 497 | msgstr "" 498 | 499 | #: main.cpp:47 500 | #, kde-format 501 | msgid "Michael Forster" 502 | msgstr "Michael Forster" 503 | 504 | #: main.cpp:48 505 | #, kde-format 506 | msgid "Original idea and author (KDE1)" 507 | msgstr "" 508 | 509 | #: main.cpp:49 510 | #, kde-format 511 | msgid "Olaf Schmidt" 512 | msgstr "Olaf Schmidt" 513 | 514 | #: main.cpp:49 515 | #, kde-format 516 | msgid "" 517 | "Rework of the user interface, improved selection window, speed optimization, " 518 | "rotation, bug fixes" 519 | msgstr "" 520 | 521 | #: main.cpp:50 522 | #, kde-format 523 | msgid "Matthew Woehlke" 524 | msgstr "Matthew Woehlke" 525 | 526 | #: main.cpp:50 527 | #, kde-format 528 | msgid "Color-blindness simulation" 529 | msgstr "" 530 | 531 | #: main.cpp:51 532 | #, kde-format 533 | msgid "Sebastian Sauer" 534 | msgstr "" 535 | 536 | #: main.cpp:51 537 | #, kde-format 538 | msgid "Focus tracking" 539 | msgstr "" 540 | 541 | #: main.cpp:52 542 | #, kde-format 543 | msgid "Claudiu Costin" 544 | msgstr "Claudiu Costin" 545 | 546 | #: main.cpp:52 547 | #, kde-format 548 | msgid "Some tips" 549 | msgstr "" 550 | 551 | #~ msgid "File to open" 552 | #~ msgstr "Skedari për tu hapur" 553 | -------------------------------------------------------------------------------- /po/be/kmag.po: -------------------------------------------------------------------------------- 1 | # translation of kmag.po to Belarusian 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 | # Darafei Praliaskouski , 2007. 6 | msgid "" 7 | msgstr "" 8 | "Project-Id-Version: kmag\n" 9 | "Report-Msgid-Bugs-To: https://bugs.kde.org\n" 10 | "POT-Creation-Date: 2025-11-17 11:48+0000\n" 11 | "PO-Revision-Date: 2007-06-22 20:16+0300\n" 12 | "Last-Translator: Darafei Praliaskouski \n" 13 | "Language-Team: Belarusian \n" 14 | "Language: be\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=4; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n" 20 | "%10<=4 && (n%100<12 || n%100>14) ? 1 : n%10==0 || n%10>=5 && n%10<=9 || n" 21 | "%100>=11 && n%100<=14 ? 2 : 3);\n" 22 | 23 | #, kde-format 24 | msgctxt "NAME OF TRANSLATORS" 25 | msgid "Your names" 26 | msgstr "Дарафей Праляскоўскі" 27 | 28 | #, kde-format 29 | msgctxt "EMAIL OF TRANSLATORS" 30 | msgid "Your emails" 31 | msgstr "komzpa@licei2.com" 32 | 33 | #: kmag.cpp:52 34 | #, fuzzy, kde-format 35 | #| msgid "&Low" 36 | msgctxt "Zoom at very low" 37 | msgid "&Very Low" 38 | msgstr "&Маленькае" 39 | 40 | #: kmag.cpp:52 41 | #, fuzzy, kde-format 42 | #| msgid "&Low" 43 | msgctxt "Zoom at low" 44 | msgid "&Low" 45 | msgstr "&Маленькае" 46 | 47 | #: kmag.cpp:52 48 | #, fuzzy, kde-format 49 | #| msgid "&Medium" 50 | msgctxt "Zoom at medium" 51 | msgid "&Medium" 52 | msgstr "&Сярэдні" 53 | 54 | #: kmag.cpp:52 55 | #, kde-format 56 | msgctxt "Zoom at high" 57 | msgid "&High" 58 | msgstr "" 59 | 60 | #: kmag.cpp:52 61 | #, kde-format 62 | msgctxt "Zoom at very high" 63 | msgid "V&ery High" 64 | msgstr "" 65 | 66 | #: kmag.cpp:60 67 | #, kde-format 68 | msgctxt "No color-blindness simulation, i.e. 'normal' vision" 69 | msgid "&Normal" 70 | msgstr "" 71 | 72 | #: kmag.cpp:60 73 | #, kde-format 74 | msgid "&Protanopia" 75 | msgstr "" 76 | 77 | #: kmag.cpp:60 78 | #, kde-format 79 | msgid "&Deuteranopia" 80 | msgstr "" 81 | 82 | #: kmag.cpp:60 83 | #, kde-format 84 | msgid "&Tritanopia" 85 | msgstr "" 86 | 87 | #: kmag.cpp:60 88 | #, kde-format 89 | msgid "&Achromatopsia" 90 | msgstr "" 91 | 92 | #: kmag.cpp:68 93 | #, kde-format 94 | msgid "&No Rotation (0 Degrees)" 95 | msgstr "" 96 | 97 | #: kmag.cpp:68 98 | #, kde-format 99 | msgid "&Left (90 Degrees)" 100 | msgstr "" 101 | 102 | #: kmag.cpp:68 103 | #, kde-format 104 | msgid "&Upside Down (180 Degrees)" 105 | msgstr "" 106 | 107 | #: kmag.cpp:68 108 | #, kde-format 109 | msgid "&Right (270 Degrees)" 110 | msgstr "" 111 | 112 | #: kmag.cpp:100 113 | #, kde-format 114 | msgid "New &Window" 115 | msgstr "Новае &акно" 116 | 117 | #: kmag.cpp:103 118 | #, kde-format 119 | msgid "Open a new KMagnifier window" 120 | msgstr "" 121 | 122 | #: kmag.cpp:107 123 | #, kde-format 124 | msgid "&Stop" 125 | msgstr "&Спыніць" 126 | 127 | #: kmag.cpp:110 128 | #, kde-format 129 | msgid "Click to stop window refresh" 130 | msgstr "" 131 | 132 | #: kmag.cpp:111 133 | #, kde-format 134 | msgid "" 135 | "Clicking on this icon will start / stop updating of the " 136 | "display. Stopping the update will zero the processing power required (CPU " 137 | "usage)" 138 | msgstr "" 139 | 140 | #: kmag.cpp:117 141 | #, kde-format 142 | msgid "&Save Snapshot As..." 143 | msgstr "" 144 | 145 | #: kmag.cpp:120 146 | #, kde-format 147 | msgid "Saves the zoomed view to an image file." 148 | msgstr "" 149 | 150 | #: kmag.cpp:121 151 | #, kde-format 152 | msgid "Save image to a file" 153 | msgstr "" 154 | 155 | #: kmag.cpp:124 156 | #, kde-format 157 | msgid "Click on this button to print the current zoomed view." 158 | msgstr "" 159 | 160 | #: kmag.cpp:127 kmag.cpp:128 161 | #, kde-format 162 | msgid "Quits the application" 163 | msgstr "Выходзіць з праграмы" 164 | 165 | #: kmag.cpp:131 166 | #, kde-format 167 | msgid "" 168 | "Click on this button to copy the current zoomed view to the clipboard which " 169 | "you can paste in other applications." 170 | msgstr "" 171 | 172 | #: kmag.cpp:132 173 | #, kde-format 174 | msgid "Copy zoomed image to clipboard" 175 | msgstr "" 176 | 177 | #: kmag.cpp:138 178 | #, kde-format 179 | msgid "&Follow Mouse Mode" 180 | msgstr "" 181 | 182 | #: kmag.cpp:142 183 | #, kde-format 184 | msgid "Mouse" 185 | msgstr "" 186 | 187 | #: kmag.cpp:143 188 | #, kde-format 189 | msgid "Magnify around the mouse cursor" 190 | msgstr "" 191 | 192 | #: kmag.cpp:144 193 | #, kde-format 194 | msgid "If selected, the area around the mouse cursor is magnified" 195 | msgstr "" 196 | 197 | #: kmag.cpp:148 198 | #, kde-format 199 | msgid "&Follow Focus Mode" 200 | msgstr "" 201 | 202 | #: kmag.cpp:152 203 | #, kde-format 204 | msgid "Focus" 205 | msgstr "" 206 | 207 | #: kmag.cpp:153 208 | #, kde-format 209 | msgid "Magnify around the keyboard focus" 210 | msgstr "" 211 | 212 | #: kmag.cpp:154 213 | #, kde-format 214 | msgid "If selected, the area around the keyboard cursor is magnified" 215 | msgstr "" 216 | 217 | #: kmag.cpp:158 218 | #, kde-format 219 | msgid "Se&lection Window Mode" 220 | msgstr "" 221 | 222 | #: kmag.cpp:162 223 | #, fuzzy, kde-format 224 | #| msgid "New &Window" 225 | msgid "Window" 226 | msgstr "Новае &акно" 227 | 228 | #: kmag.cpp:163 229 | #, kde-format 230 | msgid "Show a window for selecting the magnified area" 231 | msgstr "" 232 | 233 | #: kmag.cpp:165 234 | #, kde-format 235 | msgid "&Whole Screen Mode" 236 | msgstr "" 237 | 238 | #: kmag.cpp:169 239 | #, kde-format 240 | msgid "Screen" 241 | msgstr "" 242 | 243 | #: kmag.cpp:170 244 | #, kde-format 245 | msgid "Magnify the whole screen" 246 | msgstr "" 247 | 248 | #: kmag.cpp:171 249 | #, kde-format 250 | msgid "Click on this button to fit the zoom view to the zoom window." 251 | msgstr "" 252 | 253 | #: kmag.cpp:173 254 | #, kde-format 255 | msgid "Hide Mouse &Cursor" 256 | msgstr "" 257 | 258 | #: kmag.cpp:178 259 | #, kde-format 260 | msgid "Show Mouse &Cursor" 261 | msgstr "" 262 | 263 | #: kmag.cpp:180 264 | #, kde-format 265 | msgid "Hide" 266 | msgstr "" 267 | 268 | #: kmag.cpp:181 269 | #, kde-format 270 | msgid "Hide the mouse cursor" 271 | msgstr "" 272 | 273 | #: kmag.cpp:183 274 | #, kde-format 275 | msgid "Stays On Top" 276 | msgstr "" 277 | 278 | #: kmag.cpp:187 279 | #, kde-format 280 | msgid "The KMagnifier Window stays on top of other windows." 281 | msgstr "" 282 | 283 | #: kmag.cpp:190 284 | #, kde-format 285 | msgid "Click on this button to zoom-in on the selected region." 286 | msgstr "" 287 | 288 | #: kmag.cpp:192 289 | #, kde-format 290 | msgid "&Zoom" 291 | msgstr "&Маштабаванне" 292 | 293 | #: kmag.cpp:195 294 | #, kde-format 295 | msgid "Select the zoom factor." 296 | msgstr "" 297 | 298 | #: kmag.cpp:196 299 | #, kde-format 300 | msgid "Zoom factor" 301 | msgstr "" 302 | 303 | #: kmag.cpp:199 304 | #, kde-format 305 | msgid "Click on this button to zoom-out on the selected region." 306 | msgstr "" 307 | 308 | #: kmag.cpp:201 309 | #, kde-format 310 | msgid "&Rotation" 311 | msgstr "" 312 | 313 | #: kmag.cpp:204 314 | #, kde-format 315 | msgid "Select the rotation degree." 316 | msgstr "" 317 | 318 | #: kmag.cpp:205 319 | #, kde-format 320 | msgid "Rotation degree" 321 | msgstr "" 322 | 323 | #: kmag.cpp:210 324 | #, kde-format 325 | msgid "&Refresh" 326 | msgstr "&Абнавіць" 327 | 328 | #: kmag.cpp:213 329 | #, kde-format 330 | msgid "" 331 | "Select the refresh rate. The higher the rate, the more computing power (CPU) " 332 | "will be needed." 333 | msgstr "" 334 | 335 | #: kmag.cpp:214 336 | #, kde-format 337 | msgid "Refresh rate" 338 | msgstr "" 339 | 340 | #: kmag.cpp:216 341 | #, kde-format 342 | msgctxt "Color-blindness simulation mode" 343 | msgid "&Color" 344 | msgstr "" 345 | 346 | #: kmag.cpp:219 347 | #, kde-format 348 | msgid "Select a mode to simulate various types of color-blindness." 349 | msgstr "" 350 | 351 | #: kmag.cpp:220 352 | #, kde-format 353 | msgid "Color-blindness Simulation Mode" 354 | msgstr "" 355 | 356 | #: kmag.cpp:552 357 | #, kde-format 358 | msgid "Save Snapshot As" 359 | msgstr "" 360 | 361 | #: kmag.cpp:566 362 | #, kde-format 363 | msgid "" 364 | "Unable to save temporary file (before uploading to the network file you " 365 | "specified)." 366 | msgstr "" 367 | 368 | #: kmag.cpp:567 kmag.cpp:572 kmag.cpp:582 369 | #, kde-format 370 | msgid "Error Writing File" 371 | msgstr "" 372 | 373 | #: kmag.cpp:571 374 | #, kde-format 375 | msgid "Unable to upload file over the network." 376 | msgstr "" 377 | 378 | #: kmag.cpp:574 kmag.cpp:584 379 | #, kde-format 380 | msgid "" 381 | "Current zoomed image saved to\n" 382 | "%1" 383 | msgstr "" 384 | 385 | #: kmag.cpp:575 kmag.cpp:585 386 | #, kde-format 387 | msgid "Information" 388 | msgstr "Звесткі" 389 | 390 | #: kmag.cpp:581 391 | #, kde-format 392 | msgid "" 393 | "Unable to save file. Please check if you have permission to write to the " 394 | "directory." 395 | msgstr "" 396 | 397 | #: kmag.cpp:600 398 | #, kde-format 399 | msgid "Stop" 400 | msgstr "Спыніць" 401 | 402 | #: kmag.cpp:601 403 | #, kde-format 404 | msgid "Click to stop window update" 405 | msgstr "" 406 | 407 | #: kmag.cpp:604 408 | #, fuzzy, kde-format 409 | #| msgid "Start" 410 | msgctxt "Start updating the window" 411 | msgid "Start" 412 | msgstr "Запусціць" 413 | 414 | #: kmag.cpp:605 415 | #, kde-format 416 | msgid "Click to start window update" 417 | msgstr "" 418 | 419 | #: kmagselrect.cpp:198 420 | #, kde-format 421 | msgid "Selection Window" 422 | msgstr "" 423 | 424 | #: kmagselrect.cpp:198 main.cpp:38 425 | #, kde-format 426 | msgid "KMagnifier" 427 | msgstr "" 428 | 429 | #. i18n: ectx: ToolBar (mainToolBar) 430 | #: kmagui.rc:3 431 | #, fuzzy, kde-format 432 | #| msgid "&Settings" 433 | msgid "Main Toolbar" 434 | msgstr "&Настаўленні" 435 | 436 | #. i18n: ectx: ToolBar (viewToolBar) 437 | #: kmagui.rc:6 438 | #, fuzzy, kde-format 439 | #| msgid "&Settings" 440 | msgid "View Toolbar" 441 | msgstr "&Настаўленні" 442 | 443 | #. i18n: ectx: ToolBar (settingsToolBar) 444 | #: kmagui.rc:16 445 | #, fuzzy, kde-format 446 | #| msgid "&Settings" 447 | msgid "Settings Toolbar" 448 | msgstr "&Настаўленні" 449 | 450 | #. i18n: ectx: Menu (file) 451 | #: kmagui.rc:25 452 | #, kde-format 453 | msgid "&File" 454 | msgstr "&Файл" 455 | 456 | #. i18n: ectx: Menu (edit) 457 | #: kmagui.rc:32 458 | #, kde-format 459 | msgid "&Edit" 460 | msgstr "&Змяніць" 461 | 462 | #. i18n: ectx: Menu (view) 463 | #: kmagui.rc:35 kmagui.rc:73 464 | #, kde-format 465 | msgid "&View" 466 | msgstr "&Выгляд" 467 | 468 | #. i18n: ectx: Menu (settings) 469 | #: kmagui.rc:47 kmagui.rc:83 470 | #, kde-format 471 | msgid "&Settings" 472 | msgstr "&Настаўленні" 473 | 474 | #: kmagzoomview.cpp:107 475 | #, kde-format 476 | msgid "" 477 | "This is the main window which shows the contents of the selected region. The " 478 | "contents will be magnified according to the zoom level that is set." 479 | msgstr "" 480 | 481 | #: main.cpp:39 482 | #, kde-format 483 | msgid "Screen magnifier created by KDE" 484 | msgstr "" 485 | 486 | #: main.cpp:41 487 | #, kde-format 488 | msgid "" 489 | "Copyright 2001-2003 Sarang Lakare\n" 490 | "Copyright 2003-2004 Olaf Schmidt\n" 491 | "Copyright 2008 Matthew Woehlke" 492 | msgstr "" 493 | 494 | #: main.cpp:45 495 | #, kde-format 496 | msgid "Sarang Lakare" 497 | msgstr "" 498 | 499 | #: main.cpp:46 500 | #, kde-format 501 | msgid "Rewrite" 502 | msgstr "" 503 | 504 | #: main.cpp:47 505 | #, kde-format 506 | msgid "Michael Forster" 507 | msgstr "" 508 | 509 | #: main.cpp:48 510 | #, kde-format 511 | msgid "Original idea and author (KDE1)" 512 | msgstr "" 513 | 514 | #: main.cpp:49 515 | #, kde-format 516 | msgid "Olaf Schmidt" 517 | msgstr "" 518 | 519 | #: main.cpp:49 520 | #, kde-format 521 | msgid "" 522 | "Rework of the user interface, improved selection window, speed optimization, " 523 | "rotation, bug fixes" 524 | msgstr "" 525 | 526 | #: main.cpp:50 527 | #, kde-format 528 | msgid "Matthew Woehlke" 529 | msgstr "" 530 | 531 | #: main.cpp:50 532 | #, kde-format 533 | msgid "Color-blindness simulation" 534 | msgstr "" 535 | 536 | #: main.cpp:51 537 | #, kde-format 538 | msgid "Sebastian Sauer" 539 | msgstr "" 540 | 541 | #: main.cpp:51 542 | #, kde-format 543 | msgid "Focus tracking" 544 | msgstr "" 545 | 546 | #: main.cpp:52 547 | #, kde-format 548 | msgid "Claudiu Costin" 549 | msgstr "" 550 | 551 | #: main.cpp:52 552 | #, kde-format 553 | msgid "Some tips" 554 | msgstr "" 555 | 556 | #~ msgid "File to open" 557 | #~ msgstr "Адкрыць файл" 558 | -------------------------------------------------------------------------------- /src/kmagselrect.cpp: -------------------------------------------------------------------------------- 1 | // SPDX-FileCopyrightText: 2001-2003 Sarang Lakare 2 | // SPDX-FileCopyrightText: 2003-2004 Olaf Schmidt 3 | // SPDX-License-Identifier: GPL-2.0-or-later 4 | 5 | #include "kmagselrect.h" 6 | 7 | // Qt 8 | #include 9 | #include 10 | #include 11 | // KF5 12 | #include 13 | 14 | static const uchar line_bits[] = {0x2d, 0x96, 0x4b, 0xa5, 0xd2, 0x69, 0xb4, 0x5a}; 15 | 16 | static QColor titleColor = QColor (0,0,128); 17 | static QColor titleBtnColor = QColor (255,255,0); 18 | static QColor textColor = QColor (255,255,255); 19 | 20 | static int frameSize = 10; 21 | static int titleSize = 24; 22 | 23 | void setTitleColors (const QColor &title, const QColor &text, const QColor &titleBtn) 24 | { 25 | titleColor = title; 26 | titleBtnColor = titleBtn; 27 | textColor = text; 28 | } 29 | 30 | void setFrameSize (int size) 31 | { 32 | frameSize = size; 33 | } 34 | 35 | void setTitleSize (int size) 36 | { 37 | titleSize = size; 38 | } 39 | 40 | QColor getTitleColor () 41 | { 42 | return titleColor; 43 | } 44 | 45 | QColor getTitleBtnColor () 46 | { 47 | return titleBtnColor; 48 | } 49 | 50 | QColor getTextColor () 51 | { 52 | return textColor; 53 | } 54 | 55 | int getFrameSize () 56 | { 57 | return frameSize; 58 | } 59 | 60 | int getTitleSize () 61 | { 62 | if (titleSize > frameSize) 63 | return titleSize; 64 | else 65 | return frameSize; 66 | } 67 | 68 | //-------------------------------------------------------------------------- 69 | // Construction 70 | //-------------------------------------------------------------------------- 71 | 72 | KMagSelRect::KMagSelRect(QWidget *parent) : 73 | QRect() 74 | { 75 | init(parent); 76 | } 77 | 78 | KMagSelRect::KMagSelRect(const QPoint &topLeft, const QPoint &bottomRight, 79 | QWidget *parent) : 80 | QRect(topLeft, bottomRight) 81 | { 82 | init(parent); 83 | } 84 | 85 | KMagSelRect::KMagSelRect(const QPoint &topLeft, const QSize &size, 86 | QWidget *parent) : 87 | QRect(topLeft, size) 88 | { 89 | init(parent); 90 | } 91 | 92 | KMagSelRect::KMagSelRect(int left, int top, int width, int height, 93 | QWidget *parent) : 94 | QRect(left, top, width, height) 95 | { 96 | init(parent); 97 | } 98 | 99 | void KMagSelRect::init(QWidget *parent) 100 | { 101 | // Make sure parent is the window itself, not a widget within the window 102 | if (parent != nullptr) 103 | while (parent->parentWidget() != nullptr) 104 | parent=parent->parentWidget(); 105 | 106 | selectionwindow = nullptr; 107 | selWindowParent = parent; 108 | 109 | m_alwaysVisible = false; 110 | } 111 | 112 | KMagSelRect::~KMagSelRect() 113 | { 114 | } 115 | 116 | //-------------------------------------------------------------------------- 117 | // 118 | //-------------------------------------------------------------------------- 119 | 120 | bool KMagSelRect::visible() const 121 | { 122 | return (selectionwindow != nullptr); 123 | } 124 | 125 | void KMagSelRect::alwaysVisible(bool visible) 126 | { 127 | m_alwaysVisible = visible; 128 | } 129 | 130 | 131 | //-------------------------------------------------------------------------- 132 | // Slots 133 | //-------------------------------------------------------------------------- 134 | 135 | void KMagSelRect::show() 136 | { 137 | if (selectionwindow == nullptr) { 138 | selectionwindow = new KMagSelWin (selWindowParent); 139 | selectionwindow->setObjectName( QStringLiteral("selectionwindow" )); 140 | connect (selectionwindow, &KMagSelWin::resized, this, &KMagSelRect::selWinResized); 141 | 142 | update(); 143 | selectionwindow->show(); 144 | selWindowParent->activateWindow(); 145 | } 146 | } 147 | 148 | void KMagSelRect::hide() 149 | { 150 | if(m_alwaysVisible) 151 | return; 152 | if (selectionwindow != nullptr) { 153 | selectionwindow->hide(); 154 | delete selectionwindow; 155 | selectionwindow = nullptr; 156 | } 157 | } 158 | 159 | void KMagSelRect::update() 160 | { 161 | if (selectionwindow) 162 | selectionwindow->setSelRect (QRect (topLeft(), bottomRight())); 163 | } 164 | 165 | void KMagSelRect::selWinResized() 166 | { 167 | if (selectionwindow) 168 | { 169 | const QRect newRect = selectionwindow->getSelRect(); 170 | setRect (newRect.x(), newRect.y(), newRect.width(), newRect.height()); 171 | } 172 | } 173 | 174 | //-------------------------------------------------------------------------- 175 | // KMagSelWin 176 | //-------------------------------------------------------------------------- 177 | 178 | void setPaletteColor(QWidget* w, QPalette::ColorRole r, const QColor& c) 179 | { 180 | QPalette p = w->palette(); 181 | p.setColor(r, c); 182 | w->setPalette(p); 183 | } 184 | 185 | KMagSelWin::KMagSelWin ( QWidget * parent ) : 186 | QWidget(parent) //Qt::WStyle_Customize | Qt::WStyle_NoBorder | Qt::WStyle_StaysOnTop | Qt::WType_TopLevel | Qt::WX11BypassWM) 187 | { 188 | setWindowFlags( Qt::CustomizeWindowHint | Qt::WindowStaysOnTopHint | Qt::FramelessWindowHint | Qt::X11BypassWindowManagerHint); 189 | 190 | QPalette p = palette(); 191 | p.setBrush(backgroundRole(), QBrush(QBitmap::fromData( QSize(8, 8), line_bits))); 192 | setPalette(p); 193 | 194 | titleBar = new KMagSelWinCorner (this); 195 | titleBar->setObjectName( QStringLiteral("titlebar" )); 196 | setPaletteColor(titleBar, QPalette::Window, getTitleColor()); 197 | setPaletteColor(titleBar, QPalette::WindowText, getTextColor()); 198 | titleBar->setText(i18n("Selection Window")+QLatin1String( " - " )+i18n("KMagnifier")); 199 | connect (titleBar, &KMagSelWinCorner::startResizing, this, &KMagSelWin::startResizing); 200 | connect (titleBar, &KMagSelWinCorner::resized, this, &KMagSelWin::titleMoved); 201 | 202 | topLeftCorner = new KMagSelWinCorner (this); 203 | topLeftCorner->setObjectName( QStringLiteral("topleft" )); 204 | topLeftCorner->setCursor (Qt::SizeFDiagCursor); 205 | setPaletteColor(topLeftCorner, QPalette::Window, getTitleBtnColor()); 206 | connect (topLeftCorner, &KMagSelWinCorner::startResizing, this, &KMagSelWin::startResizing); 207 | connect (topLeftCorner, &KMagSelWinCorner::resized, this, &KMagSelWin::topLeftResized); 208 | 209 | topRightCorner = new KMagSelWinCorner (this); 210 | topRightCorner->setObjectName( QStringLiteral("topright" )); 211 | topRightCorner->setCursor (Qt::SizeBDiagCursor); 212 | setPaletteColor(topRightCorner, QPalette::Window, getTitleBtnColor ()); 213 | connect (topRightCorner, &KMagSelWinCorner::startResizing, this, &KMagSelWin::startResizing); 214 | connect (topRightCorner, &KMagSelWinCorner::resized, this, &KMagSelWin::topRightResized); 215 | 216 | bottomLeftCorner = new KMagSelWinCorner (this); 217 | bottomLeftCorner->setObjectName( QStringLiteral("bottomleft" )); 218 | bottomLeftCorner->setCursor (Qt::SizeBDiagCursor); 219 | setPaletteColor(bottomLeftCorner, QPalette::Window, getTitleBtnColor()); 220 | connect (bottomLeftCorner, &KMagSelWinCorner::startResizing, this, &KMagSelWin::startResizing); 221 | connect (bottomLeftCorner, &KMagSelWinCorner::resized, this, &KMagSelWin::bottomLeftResized); 222 | 223 | bottomRightCorner = new KMagSelWinCorner (this); 224 | bottomRightCorner->setObjectName( QStringLiteral("bottomright" )); 225 | bottomRightCorner->setCursor (Qt::SizeFDiagCursor); 226 | setPaletteColor(bottomRightCorner, QPalette::Window, getTitleBtnColor ()); 227 | connect (bottomRightCorner, &KMagSelWinCorner::startResizing, this, &KMagSelWin::startResizing); 228 | connect (bottomRightCorner, &KMagSelWinCorner::resized, this, &KMagSelWin::bottomRightResized); 229 | } 230 | 231 | KMagSelWin::~KMagSelWin() 232 | { 233 | delete titleBar; 234 | delete topLeftCorner; 235 | delete topRightCorner; 236 | delete bottomLeftCorner; 237 | delete bottomRightCorner; 238 | } 239 | 240 | void KMagSelWin::setSelRect (const QRect &_selRect) 241 | { 242 | QRect selRect = _selRect.normalized(); 243 | 244 | if (selRect.left() < 0) 245 | selRect.setLeft (0); 246 | if (selRect.top() < 0) 247 | selRect.setTop (0); 248 | const QSize screenSize = screen()->virtualSize(); 249 | if (selRect.right() > screenSize.width()) 250 | selRect.setRight (screenSize.width()); 251 | if (selRect.bottom() > screenSize.height()) 252 | selRect.setBottom (screenSize.height()); 253 | 254 | setGeometry ( 255 | selRect.left() - getFrameSize(), 256 | selRect.top() - getTitleSize() - 2, 257 | selRect.width() + getFrameSize() + getFrameSize(), 258 | selRect.height() + getFrameSize() + getTitleSize()+2); 259 | 260 | int w = getFrameSize(); 261 | if (selRect.width() < w+w) 262 | w = static_cast(selRect.width()/2); 263 | 264 | int h = getFrameSize(); 265 | if (selRect.height() < h+h) 266 | h = static_cast(selRect.height()/2); 267 | 268 | setMask (QRegion (QRect (0, 0, width(), height ())) 269 | - QRegion (QRect (getFrameSize(), getTitleSize()+2, selRect.width(), selRect.height())) 270 | - QRegion (QRect (0, 0, getFrameSize()+w, getTitleSize()+2-getFrameSize())) 271 | - QRegion (QRect (width()-getFrameSize()-w, 0, getFrameSize()+w, getTitleSize()+2-getFrameSize())) 272 | - QRegion (QRect (0, getTitleSize()+2+h, getFrameSize()-2, selRect.height()-h-h)) 273 | - QRegion (QRect (width()-getFrameSize()+2, getTitleSize()+2+h, getFrameSize()-2, selRect.height()-h-h)) 274 | - QRegion (QRect (getFrameSize()+w, height()-getFrameSize()+2, selRect.width()-w-w, getFrameSize()-2))); 275 | 276 | titleBar->setGeometry (getFrameSize()+w, 0, selRect.width()-h-h, getTitleSize()); 277 | topLeftCorner->setGeometry (0, getTitleSize()+2-getFrameSize(), getFrameSize()+w, getFrameSize()+h); 278 | topRightCorner->setGeometry (width()-getFrameSize()-w, getTitleSize()+2-getFrameSize(), getFrameSize()+w, getFrameSize()+h); 279 | bottomLeftCorner->setGeometry (0, height()-getFrameSize()-h, getFrameSize()+w, getFrameSize()+h); 280 | bottomRightCorner->setGeometry (width()-getFrameSize()-w, height()-getFrameSize()-h, getFrameSize()+w, getFrameSize()+h); 281 | } 282 | 283 | QRect KMagSelWin::getSelRect () 284 | { 285 | return QRect ( 286 | x() + getFrameSize(), 287 | y() + getTitleSize()+2, 288 | width() - getFrameSize() - getFrameSize(), 289 | height() - getFrameSize() - getTitleSize()-2); 290 | } 291 | 292 | void KMagSelWin::startResizing () 293 | { 294 | oldSelRect = getSelRect(); 295 | } 296 | 297 | void KMagSelWin::titleMoved (const QPoint &offset) 298 | { 299 | QRect selRect = oldSelRect; 300 | selRect.translate (offset.x(), offset.y()); 301 | setSelRect (selRect); 302 | Q_EMIT resized (); 303 | } 304 | 305 | void KMagSelWin::topLeftResized (const QPoint &offset) 306 | { 307 | setSelRect (QRect(oldSelRect.topLeft() + offset, oldSelRect.bottomRight ())); 308 | Q_EMIT resized(); 309 | } 310 | 311 | void KMagSelWin::topRightResized (const QPoint &offset) 312 | { 313 | setSelRect (QRect(oldSelRect.topRight() + offset, oldSelRect.bottomLeft ())); 314 | Q_EMIT resized(); 315 | } 316 | 317 | void KMagSelWin::bottomLeftResized (const QPoint &offset) 318 | { 319 | setSelRect (QRect(oldSelRect.bottomLeft() + offset, oldSelRect.topRight ())); 320 | Q_EMIT resized(); 321 | } 322 | 323 | void KMagSelWin::bottomRightResized (const QPoint &offset) 324 | { 325 | setSelRect (QRect(oldSelRect.bottomRight() + offset, oldSelRect.topLeft())); 326 | Q_EMIT resized(); 327 | } 328 | 329 | 330 | //-------------------------------------------------------------------------- 331 | // KMagSelWinCorner 332 | //-------------------------------------------------------------------------- 333 | 334 | KMagSelWinCorner::KMagSelWinCorner ( QWidget * parent ) : 335 | QLabel (parent) 336 | { 337 | setFrameStyle (QFrame::WinPanel | QFrame::Raised); 338 | setLineWidth (1); 339 | } 340 | 341 | KMagSelWinCorner::~KMagSelWinCorner() 342 | { 343 | } 344 | 345 | void KMagSelWinCorner::mousePressEvent ( QMouseEvent * e ) 346 | { 347 | oldPos = e->globalPosition().toPoint(); 348 | Q_EMIT startResizing (); 349 | } 350 | 351 | void KMagSelWinCorner::mouseReleaseEvent ( QMouseEvent * e ) 352 | { 353 | setFrameShadow (QFrame::Raised); 354 | QPoint p = e->globalPosition().toPoint(); 355 | Q_EMIT resized (p - oldPos); 356 | } 357 | 358 | void KMagSelWinCorner::mouseMoveEvent ( QMouseEvent * e ) 359 | { 360 | QPoint p = e->globalPosition().toPoint(); 361 | Q_EMIT resized (p - oldPos); 362 | } 363 | 364 | #include "moc_kmagselrect.cpp" 365 | -------------------------------------------------------------------------------- /po/pa/kmag.po: -------------------------------------------------------------------------------- 1 | # translation of kmag.po to Panjabi 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 | # AP S Alam , 2007. 6 | # A S Alam , 2010. 7 | msgid "" 8 | msgstr "" 9 | "Project-Id-Version: kmag\n" 10 | "Report-Msgid-Bugs-To: https://bugs.kde.org\n" 11 | "POT-Creation-Date: 2025-11-17 11:48+0000\n" 12 | "PO-Revision-Date: 2010-02-02 08:39+0530\n" 13 | "Last-Translator: A S Alam \n" 14 | "Language-Team: ਪੰਜਾਬੀ \n" 15 | "Language: pa\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 1.0\n" 20 | "Plural-Forms: nplurals=2; plural=n != 1;\n" 21 | 22 | #, kde-format 23 | msgctxt "NAME OF TRANSLATORS" 24 | msgid "Your names" 25 | msgstr "ਅਮਨਪਰੀਤ ਸਿੰਘ ਆਲਮ" 26 | 27 | #, kde-format 28 | msgctxt "EMAIL OF TRANSLATORS" 29 | msgid "Your emails" 30 | msgstr "aalam@users.sf.net" 31 | 32 | #: kmag.cpp:52 33 | #, fuzzy, kde-format 34 | #| msgid "&Very Low" 35 | msgctxt "Zoom at very low" 36 | msgid "&Very Low" 37 | msgstr "ਬਹੁਤ ਘੱਟ(&V)" 38 | 39 | #: kmag.cpp:52 40 | #, kde-format 41 | msgctxt "Zoom at low" 42 | msgid "&Low" 43 | msgstr "ਘੱਟ(&L)" 44 | 45 | #: kmag.cpp:52 46 | #, kde-format 47 | msgctxt "Zoom at medium" 48 | msgid "&Medium" 49 | msgstr "ਮੱਧਮ(&M)" 50 | 51 | #: kmag.cpp:52 52 | #, kde-format 53 | msgctxt "Zoom at high" 54 | msgid "&High" 55 | msgstr "ਵੱਧ(&H)" 56 | 57 | #: kmag.cpp:52 58 | #, kde-format 59 | msgctxt "Zoom at very high" 60 | msgid "V&ery High" 61 | msgstr "ਬਹੁਤ ਵੱਧ(&e)" 62 | 63 | #: kmag.cpp:60 64 | #, kde-format 65 | msgctxt "No color-blindness simulation, i.e. 'normal' vision" 66 | msgid "&Normal" 67 | msgstr "ਸਧਾਰਨ(&N)" 68 | 69 | #: kmag.cpp:60 70 | #, kde-format 71 | msgid "&Protanopia" 72 | msgstr "" 73 | 74 | #: kmag.cpp:60 75 | #, kde-format 76 | msgid "&Deuteranopia" 77 | msgstr "" 78 | 79 | #: kmag.cpp:60 80 | #, kde-format 81 | msgid "&Tritanopia" 82 | msgstr "" 83 | 84 | #: kmag.cpp:60 85 | #, kde-format 86 | msgid "&Achromatopsia" 87 | msgstr "" 88 | 89 | #: kmag.cpp:68 90 | #, kde-format 91 | msgid "&No Rotation (0 Degrees)" 92 | msgstr "ਨਾ ਘੁੰਮਾਓ (0 ਡਿਗਰੀ)(&N)" 93 | 94 | #: kmag.cpp:68 95 | #, kde-format 96 | msgid "&Left (90 Degrees)" 97 | msgstr "ਖੱਬੇ ਦਾਅ (90 ਡਿਗਰੀ)(&L)" 98 | 99 | #: kmag.cpp:68 100 | #, kde-format 101 | msgid "&Upside Down (180 Degrees)" 102 | msgstr "ਉਤਾਂਹ ਤੋਂ ਹੇਠਾਂ(180 ਡਿਗਰੀ)(&U)" 103 | 104 | #: kmag.cpp:68 105 | #, kde-format 106 | msgid "&Right (270 Degrees)" 107 | msgstr "ਸੱਜੇ (270 ਡਿਗਰੀ)(&R)" 108 | 109 | #: kmag.cpp:100 110 | #, kde-format 111 | msgid "New &Window" 112 | msgstr "ਨਵਾਂ ਝਰੋਖਾ(&W)" 113 | 114 | #: kmag.cpp:103 115 | #, kde-format 116 | msgid "Open a new KMagnifier window" 117 | msgstr "" 118 | 119 | #: kmag.cpp:107 120 | #, kde-format 121 | msgid "&Stop" 122 | msgstr "ਰੋਕੋ(&S)" 123 | 124 | #: kmag.cpp:110 125 | #, kde-format 126 | msgid "Click to stop window refresh" 127 | msgstr "" 128 | 129 | #: kmag.cpp:111 130 | #, kde-format 131 | msgid "" 132 | "Clicking on this icon will start / stop updating of the " 133 | "display. Stopping the update will zero the processing power required (CPU " 134 | "usage)" 135 | msgstr "" 136 | 137 | #: kmag.cpp:117 138 | #, kde-format 139 | msgid "&Save Snapshot As..." 140 | msgstr "" 141 | 142 | #: kmag.cpp:120 143 | #, kde-format 144 | msgid "Saves the zoomed view to an image file." 145 | msgstr "" 146 | 147 | #: kmag.cpp:121 148 | #, kde-format 149 | msgid "Save image to a file" 150 | msgstr "ਚਿੱਤਰ ਫਾਇਲ ਵਿੱਚ ਸੰਭਾਲੋ" 151 | 152 | #: kmag.cpp:124 153 | #, kde-format 154 | msgid "Click on this button to print the current zoomed view." 155 | msgstr "" 156 | 157 | #: kmag.cpp:127 kmag.cpp:128 158 | #, kde-format 159 | msgid "Quits the application" 160 | msgstr "ਕਾਰਜ ਵਿੱਚੋਂ ਬਾਹਰ" 161 | 162 | #: kmag.cpp:131 163 | #, kde-format 164 | msgid "" 165 | "Click on this button to copy the current zoomed view to the clipboard which " 166 | "you can paste in other applications." 167 | msgstr "" 168 | 169 | #: kmag.cpp:132 170 | #, kde-format 171 | msgid "Copy zoomed image to clipboard" 172 | msgstr "" 173 | 174 | #: kmag.cpp:138 175 | #, kde-format 176 | msgid "&Follow Mouse Mode" 177 | msgstr "" 178 | 179 | #: kmag.cpp:142 180 | #, kde-format 181 | msgid "Mouse" 182 | msgstr "" 183 | 184 | #: kmag.cpp:143 185 | #, kde-format 186 | msgid "Magnify around the mouse cursor" 187 | msgstr "" 188 | 189 | #: kmag.cpp:144 190 | #, kde-format 191 | msgid "If selected, the area around the mouse cursor is magnified" 192 | msgstr "" 193 | 194 | #: kmag.cpp:148 195 | #, kde-format 196 | msgid "&Follow Focus Mode" 197 | msgstr "" 198 | 199 | #: kmag.cpp:152 200 | #, kde-format 201 | msgid "Focus" 202 | msgstr "" 203 | 204 | #: kmag.cpp:153 205 | #, kde-format 206 | msgid "Magnify around the keyboard focus" 207 | msgstr "" 208 | 209 | #: kmag.cpp:154 210 | #, kde-format 211 | msgid "If selected, the area around the keyboard cursor is magnified" 212 | msgstr "" 213 | 214 | #: kmag.cpp:158 215 | #, kde-format 216 | msgid "Se&lection Window Mode" 217 | msgstr "" 218 | 219 | #: kmag.cpp:162 220 | #, fuzzy, kde-format 221 | #| msgid "New &Window" 222 | msgid "Window" 223 | msgstr "ਨਵਾਂ ਝਰੋਖਾ(&W)" 224 | 225 | #: kmag.cpp:163 226 | #, kde-format 227 | msgid "Show a window for selecting the magnified area" 228 | msgstr "" 229 | 230 | #: kmag.cpp:165 231 | #, kde-format 232 | msgid "&Whole Screen Mode" 233 | msgstr "" 234 | 235 | #: kmag.cpp:169 236 | #, kde-format 237 | msgid "Screen" 238 | msgstr "" 239 | 240 | #: kmag.cpp:170 241 | #, kde-format 242 | msgid "Magnify the whole screen" 243 | msgstr "" 244 | 245 | #: kmag.cpp:171 246 | #, kde-format 247 | msgid "Click on this button to fit the zoom view to the zoom window." 248 | msgstr "" 249 | 250 | #: kmag.cpp:173 251 | #, kde-format 252 | msgid "Hide Mouse &Cursor" 253 | msgstr "" 254 | 255 | #: kmag.cpp:178 256 | #, kde-format 257 | msgid "Show Mouse &Cursor" 258 | msgstr "ਮਾਊਸ ਕਰਸਰ ਵੇਖਾਓ(&C)" 259 | 260 | #: kmag.cpp:180 261 | #, kde-format 262 | msgid "Hide" 263 | msgstr "" 264 | 265 | #: kmag.cpp:181 266 | #, kde-format 267 | msgid "Hide the mouse cursor" 268 | msgstr "" 269 | 270 | #: kmag.cpp:183 271 | #, kde-format 272 | msgid "Stays On Top" 273 | msgstr "" 274 | 275 | #: kmag.cpp:187 276 | #, kde-format 277 | msgid "The KMagnifier Window stays on top of other windows." 278 | msgstr "" 279 | 280 | #: kmag.cpp:190 281 | #, kde-format 282 | msgid "Click on this button to zoom-in on the selected region." 283 | msgstr "" 284 | 285 | #: kmag.cpp:192 286 | #, kde-format 287 | msgid "&Zoom" 288 | msgstr "ਜ਼ੂਮ(&Z)" 289 | 290 | #: kmag.cpp:195 291 | #, kde-format 292 | msgid "Select the zoom factor." 293 | msgstr "ਜ਼ੂਮ ਫੈਕਟਰ ਚੁਣੋ।" 294 | 295 | #: kmag.cpp:196 296 | #, kde-format 297 | msgid "Zoom factor" 298 | msgstr "ਜ਼ੂਮ ਗੁਣਾਂਕ" 299 | 300 | #: kmag.cpp:199 301 | #, kde-format 302 | msgid "Click on this button to zoom-out on the selected region." 303 | msgstr "" 304 | 305 | #: kmag.cpp:201 306 | #, kde-format 307 | msgid "&Rotation" 308 | msgstr "ਘੁੰਮਾਓ(&R)" 309 | 310 | #: kmag.cpp:204 311 | #, kde-format 312 | msgid "Select the rotation degree." 313 | msgstr "" 314 | 315 | #: kmag.cpp:205 316 | #, kde-format 317 | msgid "Rotation degree" 318 | msgstr "ਘੁੰਮਾਉਣ ਡਿਗਰੀ" 319 | 320 | #: kmag.cpp:210 321 | #, kde-format 322 | msgid "&Refresh" 323 | msgstr "ਤਾਜ਼ਾ(&R)" 324 | 325 | #: kmag.cpp:213 326 | #, kde-format 327 | msgid "" 328 | "Select the refresh rate. The higher the rate, the more computing power (CPU) " 329 | "will be needed." 330 | msgstr "" 331 | 332 | #: kmag.cpp:214 333 | #, kde-format 334 | msgid "Refresh rate" 335 | msgstr "ਤਾਜ਼ਾ ਦਰ" 336 | 337 | #: kmag.cpp:216 338 | #, kde-format 339 | msgctxt "Color-blindness simulation mode" 340 | msgid "&Color" 341 | msgstr "ਰੰਗ(&C)" 342 | 343 | #: kmag.cpp:219 344 | #, kde-format 345 | msgid "Select a mode to simulate various types of color-blindness." 346 | msgstr "" 347 | 348 | #: kmag.cpp:220 349 | #, kde-format 350 | msgid "Color-blindness Simulation Mode" 351 | msgstr "" 352 | 353 | #: kmag.cpp:552 354 | #, kde-format 355 | msgid "Save Snapshot As" 356 | msgstr "" 357 | 358 | #: kmag.cpp:566 359 | #, kde-format 360 | msgid "" 361 | "Unable to save temporary file (before uploading to the network file you " 362 | "specified)." 363 | msgstr "" 364 | 365 | #: kmag.cpp:567 kmag.cpp:572 kmag.cpp:582 366 | #, kde-format 367 | msgid "Error Writing File" 368 | msgstr "ਫਾਇਲ ਲਿਖਣ ਲਈ ਗਲਤੀ" 369 | 370 | #: kmag.cpp:571 371 | #, kde-format 372 | msgid "Unable to upload file over the network." 373 | msgstr "" 374 | 375 | #: kmag.cpp:574 kmag.cpp:584 376 | #, kde-format 377 | msgid "" 378 | "Current zoomed image saved to\n" 379 | "%1" 380 | msgstr "" 381 | 382 | #: kmag.cpp:575 kmag.cpp:585 383 | #, kde-format 384 | msgid "Information" 385 | msgstr "ਜਾਣਕਾਰੀ" 386 | 387 | #: kmag.cpp:581 388 | #, kde-format 389 | msgid "" 390 | "Unable to save file. Please check if you have permission to write to the " 391 | "directory." 392 | msgstr "" 393 | 394 | #: kmag.cpp:600 395 | #, kde-format 396 | msgid "Stop" 397 | msgstr "ਰੋਕੋ" 398 | 399 | #: kmag.cpp:601 400 | #, kde-format 401 | msgid "Click to stop window update" 402 | msgstr "" 403 | 404 | #: kmag.cpp:604 405 | #, kde-format 406 | msgctxt "Start updating the window" 407 | msgid "Start" 408 | msgstr "ਸ਼ੁਰੂ" 409 | 410 | #: kmag.cpp:605 411 | #, kde-format 412 | msgid "Click to start window update" 413 | msgstr "" 414 | 415 | #: kmagselrect.cpp:198 416 | #, kde-format 417 | msgid "Selection Window" 418 | msgstr "" 419 | 420 | #: kmagselrect.cpp:198 main.cpp:38 421 | #, kde-format 422 | msgid "KMagnifier" 423 | msgstr "ਕੇ-ਵੱਡਦਰਸ਼ੀ" 424 | 425 | #. i18n: ectx: ToolBar (mainToolBar) 426 | #: kmagui.rc:3 427 | #, fuzzy, kde-format 428 | #| msgid "Show Main &Toolbar" 429 | msgid "Main Toolbar" 430 | msgstr "ਮੁੱਖ ਸੰਦ-ਪੱਟੀ ਵੇਖਾਓ(&T)" 431 | 432 | #. i18n: ectx: ToolBar (viewToolBar) 433 | #: kmagui.rc:6 434 | #, fuzzy, kde-format 435 | #| msgid "Show Main &Toolbar" 436 | msgid "View Toolbar" 437 | msgstr "ਮੁੱਖ ਸੰਦ-ਪੱਟੀ ਵੇਖਾਓ(&T)" 438 | 439 | #. i18n: ectx: ToolBar (settingsToolBar) 440 | #: kmagui.rc:16 441 | #, fuzzy, kde-format 442 | #| msgid "Show Main &Toolbar" 443 | msgid "Settings Toolbar" 444 | msgstr "ਮੁੱਖ ਸੰਦ-ਪੱਟੀ ਵੇਖਾਓ(&T)" 445 | 446 | #. i18n: ectx: Menu (file) 447 | #: kmagui.rc:25 448 | #, kde-format 449 | msgid "&File" 450 | msgstr "ਫਾਇਲ(&F)" 451 | 452 | #. i18n: ectx: Menu (edit) 453 | #: kmagui.rc:32 454 | #, kde-format 455 | msgid "&Edit" 456 | msgstr "ਸੋਧ(&E)" 457 | 458 | #. i18n: ectx: Menu (view) 459 | #: kmagui.rc:35 kmagui.rc:73 460 | #, kde-format 461 | msgid "&View" 462 | msgstr "ਵੇਖੋ(&V)" 463 | 464 | #. i18n: ectx: Menu (settings) 465 | #: kmagui.rc:47 kmagui.rc:83 466 | #, kde-format 467 | msgid "&Settings" 468 | msgstr "ਸੈਟਿੰਗ(&S)" 469 | 470 | #: kmagzoomview.cpp:107 471 | #, kde-format 472 | msgid "" 473 | "This is the main window which shows the contents of the selected region. The " 474 | "contents will be magnified according to the zoom level that is set." 475 | msgstr "" 476 | 477 | #: main.cpp:39 478 | #, kde-format 479 | msgid "Screen magnifier created by KDE" 480 | msgstr "" 481 | 482 | #: main.cpp:41 483 | #, kde-format 484 | msgid "" 485 | "Copyright 2001-2003 Sarang Lakare\n" 486 | "Copyright 2003-2004 Olaf Schmidt\n" 487 | "Copyright 2008 Matthew Woehlke" 488 | msgstr "" 489 | 490 | #: main.cpp:45 491 | #, kde-format 492 | msgid "Sarang Lakare" 493 | msgstr "" 494 | 495 | #: main.cpp:46 496 | #, kde-format 497 | msgid "Rewrite" 498 | msgstr "" 499 | 500 | #: main.cpp:47 501 | #, kde-format 502 | msgid "Michael Forster" 503 | msgstr "" 504 | 505 | #: main.cpp:48 506 | #, kde-format 507 | msgid "Original idea and author (KDE1)" 508 | msgstr "" 509 | 510 | #: main.cpp:49 511 | #, kde-format 512 | msgid "Olaf Schmidt" 513 | msgstr "" 514 | 515 | #: main.cpp:49 516 | #, kde-format 517 | msgid "" 518 | "Rework of the user interface, improved selection window, speed optimization, " 519 | "rotation, bug fixes" 520 | msgstr "" 521 | 522 | #: main.cpp:50 523 | #, kde-format 524 | msgid "Matthew Woehlke" 525 | msgstr "" 526 | 527 | #: main.cpp:50 528 | #, kde-format 529 | msgid "Color-blindness simulation" 530 | msgstr "" 531 | 532 | #: main.cpp:51 533 | #, kde-format 534 | msgid "Sebastian Sauer" 535 | msgstr "" 536 | 537 | #: main.cpp:51 538 | #, kde-format 539 | msgid "Focus tracking" 540 | msgstr "" 541 | 542 | #: main.cpp:52 543 | #, kde-format 544 | msgid "Claudiu Costin" 545 | msgstr "" 546 | 547 | #: main.cpp:52 548 | #, kde-format 549 | msgid "Some tips" 550 | msgstr "ਕੁਝ ਇਸ਼ਾਰੇ" 551 | 552 | #~ msgid "File to open" 553 | #~ msgstr "ਖੋਲ੍ਹਣ ਲਈ ਫਾਇਲ" 554 | 555 | #~ msgid "Show &Menu" 556 | #~ msgstr "ਮੇਨੂ ਵੇਖਾਓ(&M)" 557 | 558 | #~ msgid "Hide &Menu" 559 | #~ msgstr "ਮੇਨੂ ਓਹਲੇ(&M)" 560 | 561 | #~ msgid "Rewrite and current maintainer" 562 | #~ msgstr "ਲੇਖਕ ਅਤੇ ਮੌਜੂਦਾ ਪ੍ਰਬੰਧਕ" 563 | --------------------------------------------------------------------------------