From be4fc77c294a41a0db46ba692fbe45b2045b66c3 Mon Sep 17 00:00:00 2001 From: tpearson Date: Fri, 19 Feb 2010 20:40:48 +0000 Subject: [PATCH] Added KDE3 version of kpowersave git-svn-id: svn://anonsvn.kde.org/home/kde/branches/trinity/applications/kpowersave@1092957 283d02a7-25f6-0310-bc7c-ecb5cbfe19da --- AUTHORS | 2 + COPYING | 340 ++ ChangeLog | 5127 +++++++++++++++++ ChangeLog.package | 1253 ++++ Doxyfile | 276 + INSTALL | 236 + Makefile.am | 22 + NEWS | 455 ++ README | 99 + TODO | 48 + configure.in.in | 173 + doc/Makefile.am | 6 + doc/cs/Makefile.am | 2 + doc/cs/cs_applet_autosuspend.png | Bin 0 -> 19219 bytes doc/cs/cs_applet_configure.png | Bin 0 -> 20218 bytes doc/cs/cs_applet_cpufreq.png | Bin 0 -> 29609 bytes doc/cs/cs_applet_schemes.png | Bin 0 -> 52918 bytes doc/cs/cs_applet_suspend.png | Bin 0 -> 20345 bytes doc/cs/cs_applet_yast.png | Bin 0 -> 20182 bytes doc/cs/cs_configdialog_blacklist.png | Bin 0 -> 15707 bytes doc/cs/cs_configdialog_general.png | Bin 0 -> 30325 bytes doc/cs/cs_configdialog_schemes.png | Bin 0 -> 37544 bytes .../cs_configdialog_schemes_autosuspend.png | Bin 0 -> 34628 bytes doc/cs/cs_configdialog_schemes_bright.png | Bin 0 -> 30036 bytes doc/cs/cs_configdialog_schemes_screen.png | Bin 0 -> 37564 bytes doc/cs/cs_notification_settings.png | Bin 0 -> 55640 bytes doc/cs/hi48-app-kpowersave.png | Bin 0 -> 3974 bytes doc/cs/index.docbook | 533 ++ doc/de/Makefile.am | 2 + doc/de/de_applet_autosuspend.png | Bin 0 -> 22115 bytes doc/de/de_applet_configure.png | Bin 0 -> 20219 bytes doc/de/de_applet_cpufreq.png | Bin 0 -> 35989 bytes doc/de/de_applet_schemes.png | Bin 0 -> 50131 bytes doc/de/de_applet_suspend.png | Bin 0 -> 20284 bytes doc/de/de_applet_yast.png | Bin 0 -> 20350 bytes doc/de/de_configdialog_blacklist.png | Bin 0 -> 15401 bytes doc/de/de_configdialog_general.png | Bin 0 -> 30497 bytes doc/de/de_configdialog_schemes.png | Bin 0 -> 38981 bytes .../de_configdialog_schemes_autosuspend.png | Bin 0 -> 35082 bytes doc/de/de_configdialog_schemes_bright.png | Bin 0 -> 31694 bytes doc/de/de_configdialog_schemes_screen.png | Bin 0 -> 39036 bytes doc/de/de_notification_settings.png | Bin 0 -> 57033 bytes doc/de/hi48-app-kpowersave.png | Bin 0 -> 3974 bytes doc/de/index.docbook | 610 ++ doc/doxy/README | 25 + doc/doxy/changelog.dox | 708 +++ doc/doxy/enhance.dox | 94 + doc/doxy/fixed_bugs.dox | 215 + doc/doxy/footer.html | 4 + doc/doxy/header.html | 5 + doc/doxy/main.dox | 75 + doc/doxy/process.dox | 51 + doc/doxy/styleSheet.css | 271 + doc/en/Makefile.am | 2 + doc/en/en_applet_autosuspend.png | Bin 0 -> 18995 bytes doc/en/en_applet_configure.png | Bin 0 -> 20207 bytes doc/en/en_applet_cpufreq.png | Bin 0 -> 32625 bytes doc/en/en_applet_schemes.png | Bin 0 -> 47308 bytes doc/en/en_applet_suspend.png | Bin 0 -> 20423 bytes doc/en/en_applet_yast.png | Bin 0 -> 20177 bytes doc/en/en_configdialog_blacklist.png | Bin 0 -> 14844 bytes doc/en/en_configdialog_general.png | Bin 0 -> 27258 bytes doc/en/en_configdialog_schemes.png | Bin 0 -> 37309 bytes .../en_configdialog_schemes_autosuspend.png | Bin 0 -> 33827 bytes doc/en/en_configdialog_schemes_bright.png | Bin 0 -> 29835 bytes doc/en/en_configdialog_schemes_screen.png | Bin 0 -> 37338 bytes doc/en/en_notification_settings.png | Bin 0 -> 56015 bytes doc/en/hi48-app-kpowersave.png | Bin 0 -> 3974 bytes doc/en/index.docbook | 530 ++ doc/fi/Makefile.am | 2 + doc/fi/fi_applet_autosuspend.png | Bin 0 -> 19422 bytes doc/fi/fi_applet_configure.png | Bin 0 -> 20183 bytes doc/fi/fi_applet_cpufreq.png | Bin 0 -> 34944 bytes doc/fi/fi_applet_schemes.png | Bin 0 -> 46880 bytes doc/fi/fi_applet_suspend.png | Bin 0 -> 20204 bytes doc/fi/fi_applet_yast.png | Bin 0 -> 20183 bytes doc/fi/fi_configdialog_blacklist.png | Bin 0 -> 14786 bytes doc/fi/fi_configdialog_general.png | Bin 0 -> 29422 bytes doc/fi/fi_configdialog_schemes.png | Bin 0 -> 37342 bytes .../fi_configdialog_schemes_autosuspend.png | Bin 0 -> 34321 bytes doc/fi/fi_configdialog_schemes_bright.png | Bin 0 -> 29729 bytes doc/fi/fi_configdialog_schemes_screen.png | Bin 0 -> 37406 bytes doc/fi/fi_notification_settings.png | Bin 0 -> 56076 bytes doc/fi/hi48-app-kpowersave.png | Bin 0 -> 3974 bytes doc/fi/index.docbook | 524 ++ doc/hu/Makefile.am | 2 + doc/hu/hi48-app-kpowersave.png | Bin 0 -> 3974 bytes doc/hu/hu_applet_autosuspend.png | Bin 0 -> 23599 bytes doc/hu/hu_applet_configure.png | Bin 0 -> 18993 bytes doc/hu/hu_applet_cpufreq.png | Bin 0 -> 39462 bytes doc/hu/hu_applet_schemes.png | Bin 0 -> 58330 bytes doc/hu/hu_applet_suspend.png | Bin 0 -> 19082 bytes doc/hu/hu_applet_yast.png | Bin 0 -> 18944 bytes doc/hu/hu_configdialog_blacklist.png | Bin 0 -> 15961 bytes doc/hu/hu_configdialog_general.png | Bin 0 -> 30857 bytes doc/hu/hu_configdialog_schemes.png | Bin 0 -> 41719 bytes .../hu_configdialog_schemes_autosuspend.png | Bin 0 -> 37277 bytes doc/hu/hu_configdialog_schemes_bright.png | Bin 0 -> 32359 bytes doc/hu/hu_configdialog_schemes_screen.png | Bin 0 -> 41744 bytes doc/hu/hu_notification_settings.png | Bin 0 -> 57649 bytes doc/hu/index.docbook | 550 ++ doc/nb/Makefile.am | 2 + doc/nb/hi48-app-kpowersave.png | Bin 0 -> 3974 bytes doc/nb/index.docbook | 205 + doc/nb/nb_applet_autosuspend.png | Bin 0 -> 19704 bytes doc/nb/nb_applet_configure.png | Bin 0 -> 18249 bytes doc/nb/nb_applet_cpufreq.png | Bin 0 -> 34545 bytes doc/nb/nb_applet_schemes.png | Bin 0 -> 48252 bytes doc/nb/nb_applet_suspend.png | Bin 0 -> 18411 bytes doc/nb/nb_applet_yast.png | Bin 0 -> 18192 bytes doc/nb/nb_configdialog_blacklist.png | Bin 0 -> 15139 bytes doc/nb/nb_configdialog_general.png | Bin 0 -> 27975 bytes doc/nb/nb_configdialog_schemes.png | Bin 0 -> 37292 bytes .../nb_configdialog_schemes_autosuspend.png | Bin 0 -> 33941 bytes doc/nb/nb_configdialog_schemes_bright.png | Bin 0 -> 29773 bytes doc/nb/nb_configdialog_schemes_screen.png | Bin 0 -> 37315 bytes doc/nb/nb_notification_settings.png | Bin 0 -> 54802 bytes doc/online/Makefile | 8 + doc/online/replace | 2 + kpowersave.kdevelop | 245 + packaging/FC4.kpowersave.spec | 72 + packaging/FC5.kpowersave.spec | 74 + packaging/FC6.kpowersave.spec | 100 + packaging/SUSE10.0.kpowersave.spec | 82 + packaging/SUSE10.1.kpowersave.spec | 81 + packaging/SUSE9.2.kpowersave.spec | 78 + packaging/SUSE9.3.kpowersave.spec | 82 + packaging/mandriva.2006.1.kpowersave.spec | 74 + packaging/mandriva.2007.1.kpowersave.spec | 98 + packaging/openSUSE10.2.kpowersave.spec | 88 + packaging/openSUSE10.3.kpowersave.spec | 101 + po/Makefile.am | 18 + po/ar.po | 1516 +++++ po/bg.po | 1601 +++++ po/cs.po | 1478 +++++ po/da.po | 1477 +++++ po/de.po | 1622 ++++++ po/el.po | 1678 ++++++ po/es.po | 1644 ++++++ po/fi.po | 1487 +++++ po/fr.po | 1642 ++++++ po/hi.po | 1445 +++++ po/hu.po | 1506 +++++ po/it.po | 1647 ++++++ po/ja.po | 1618 ++++++ po/km.po | 1449 +++++ po/lt.po | 1537 +++++ po/nb.po | 1477 +++++ po/nl.po | 1503 +++++ po/pa.po | 1456 +++++ po/pl.po | 1614 ++++++ po/pt.po | 1491 +++++ po/pt_BR.po | 1604 ++++++ po/ru.po | 1626 ++++++ po/sl_SI.po | 1491 +++++ po/sv.po | 1485 +++++ po/tr.po | 1571 +++++ po/uk.po | 1477 +++++ po/zh_CN.po | 1576 +++++ po/zh_TW.po | 1508 +++++ src/Makefile.am | 103 + src/autodimm.cpp | 91 + src/autodimm.h | 79 + src/autosuspend.cpp | 39 + src/autosuspend.h | 48 + src/blacklistedit_Dialog.ui | 275 + src/blacklisteditdialog.cpp | 172 + src/blacklisteditdialog.h | 94 + src/config/kpowersaverc_default | 151 + src/configure.in.in | 9 + src/configure_Dialog.ui | 2602 +++++++++ src/configuredialog.cpp | 1874 ++++++ src/configuredialog.h | 225 + src/countdown_Dialog.ui | 204 + src/countdowndialog.cpp | 177 + src/countdowndialog.h | 83 + src/dbusHAL.cpp | 1314 +++++ src/dbusHAL.h | 214 + src/detailed_Dialog.ui | 642 +++ src/detaileddialog.cpp | 497 ++ src/detaileddialog.h | 113 + src/dummy.cpp | 127 + src/eventsrc | 364 ++ src/hardware.cpp | 1720 ++++++ src/hardware.h | 502 ++ src/hardware_battery.cpp | 1035 ++++ src/hardware_battery.h | 341 ++ src/hardware_batteryCollection.cpp | 340 ++ src/hardware_batteryCollection.h | 204 + src/hardware_cpu.cpp | 312 + src/hardware_cpu.h | 115 + src/hi16-app-kpowersave.png | Bin 0 -> 921 bytes src/hi32-app-kpowersave.png | Bin 0 -> 2299 bytes src/hi48-app-kpowersave.png | Bin 0 -> 3974 bytes src/inactivity.cpp | 368 ++ src/inactivity.h | 170 + src/info_Dialog.ui | 217 + src/infodialog.cpp | 120 + src/infodialog.h | 80 + src/kpowersave-autostart.desktop | 68 + src/kpowersave.cpp | 2753 +++++++++ src/kpowersave.desktop | 68 + src/kpowersave.h | 486 ++ src/kpowersave.lsm | 16 + src/kpowersave_debug.h | 68 + src/log_viewer.ui | 104 + src/logviewer.cpp | 124 + src/logviewer.h | 60 + src/main.cpp | 94 + src/pics/Makefile.am | 3 + src/pics/README | 1 + src/pics/cr16-action-configure.png | Bin 0 -> 903 bytes src/pics/cr16-action-display.png | Bin 0 -> 781 bytes src/pics/cr16-action-laptopbattery.png | Bin 0 -> 378 bytes src/pics/cr16-action-laptopcharge.png | Bin 0 -> 244 bytes src/pics/cr16-action-laptopnobattery.png | Bin 0 -> 405 bytes src/pics/cr16-action-laptoppower.png | Bin 0 -> 309 bytes src/pics/cr16-action-scheme_acoustic.png | Bin 0 -> 724 bytes .../cr16-action-scheme_advanced_powersave.png | Bin 0 -> 903 bytes src/pics/cr16-action-scheme_power.png | Bin 0 -> 815 bytes src/pics/cr16-action-scheme_powersave.png | Bin 0 -> 773 bytes src/pics/cr16-action-scheme_presentation.png | Bin 0 -> 726 bytes src/pics/cr16-action-stand_by.png | Bin 0 -> 837 bytes src/pics/cr16-action-suspend_to_disk.png | Bin 0 -> 819 bytes src/pics/cr16-action-suspend_to_ram.png | Bin 0 -> 864 bytes src/pics/cr16-action-yast.png | Bin 0 -> 1038 bytes src/pics/cr22-action-autodimm.png | Bin 0 -> 385 bytes src/pics/cr22-action-button.png | Bin 0 -> 342 bytes src/pics/cr22-action-configure.png | Bin 0 -> 903 bytes src/pics/cr22-action-display.png | Bin 0 -> 1078 bytes src/pics/cr22-action-laptopbattery.png | Bin 0 -> 321 bytes src/pics/cr22-action-laptopbatteryORANGE.png | Bin 0 -> 306 bytes src/pics/cr22-action-laptopbatteryRED.png | Bin 0 -> 306 bytes src/pics/cr22-action-laptopcharge.png | Bin 0 -> 584 bytes src/pics/cr22-action-laptopnobattery.png | Bin 0 -> 991 bytes src/pics/cr22-action-laptoppower.png | Bin 0 -> 564 bytes src/pics/cr22-action-processor.png | Bin 0 -> 1031 bytes src/pics/cr22-action-scheme_acoustic.png | Bin 0 -> 1135 bytes .../cr22-action-scheme_advanced_powersave.png | Bin 0 -> 1342 bytes src/pics/cr22-action-scheme_power.png | Bin 0 -> 1183 bytes src/pics/cr22-action-scheme_powersave.png | Bin 0 -> 1023 bytes src/pics/cr22-action-scheme_presentation.png | Bin 0 -> 786 bytes src/pics/cr22-action-stand_by.png | Bin 0 -> 1178 bytes src/pics/cr22-action-suspend_to_disk.png | Bin 0 -> 1198 bytes src/pics/cr22-action-suspend_to_ram.png | Bin 0 -> 1370 bytes src/pics/cr22-action-yast.png | Bin 0 -> 1587 bytes src/pics/cr48-action-stand_by.png | Bin 0 -> 3568 bytes src/pics/cr48-action-suspend_to_disk.png | Bin 0 -> 3161 bytes src/pics/cr48-action-suspend_to_ram.png | Bin 0 -> 3898 bytes src/privileges.h | 46 + src/screen.cpp | 721 +++ src/screen.h | 178 + src/settings.cpp | 381 ++ src/settings.h | 496 ++ src/suspend_Dialog.ui | 102 + src/suspenddialog.cpp | 95 + src/suspenddialog.h | 56 + templates/cpp | 29 + templates/h | 37 + 259 files changed, 77885 insertions(+) create mode 100644 AUTHORS create mode 100644 COPYING create mode 100644 ChangeLog create mode 100644 ChangeLog.package create mode 100644 Doxyfile create mode 100644 INSTALL create mode 100644 Makefile.am create mode 100644 NEWS create mode 100644 README create mode 100644 TODO create mode 100644 configure.in.in create mode 100644 doc/Makefile.am create mode 100644 doc/cs/Makefile.am create mode 100644 doc/cs/cs_applet_autosuspend.png create mode 100644 doc/cs/cs_applet_configure.png create mode 100644 doc/cs/cs_applet_cpufreq.png create mode 100644 doc/cs/cs_applet_schemes.png create mode 100644 doc/cs/cs_applet_suspend.png create mode 100644 doc/cs/cs_applet_yast.png create mode 100644 doc/cs/cs_configdialog_blacklist.png create mode 100644 doc/cs/cs_configdialog_general.png create mode 100644 doc/cs/cs_configdialog_schemes.png create mode 100644 doc/cs/cs_configdialog_schemes_autosuspend.png create mode 100644 doc/cs/cs_configdialog_schemes_bright.png create mode 100644 doc/cs/cs_configdialog_schemes_screen.png create mode 100644 doc/cs/cs_notification_settings.png create mode 100644 doc/cs/hi48-app-kpowersave.png create mode 100644 doc/cs/index.docbook create mode 100644 doc/de/Makefile.am create mode 100644 doc/de/de_applet_autosuspend.png create mode 100644 doc/de/de_applet_configure.png create mode 100644 doc/de/de_applet_cpufreq.png create mode 100644 doc/de/de_applet_schemes.png create mode 100644 doc/de/de_applet_suspend.png create mode 100644 doc/de/de_applet_yast.png create mode 100644 doc/de/de_configdialog_blacklist.png create mode 100644 doc/de/de_configdialog_general.png create mode 100644 doc/de/de_configdialog_schemes.png create mode 100644 doc/de/de_configdialog_schemes_autosuspend.png create mode 100644 doc/de/de_configdialog_schemes_bright.png create mode 100644 doc/de/de_configdialog_schemes_screen.png create mode 100644 doc/de/de_notification_settings.png create mode 100644 doc/de/hi48-app-kpowersave.png create mode 100644 doc/de/index.docbook create mode 100644 doc/doxy/README create mode 100644 doc/doxy/changelog.dox create mode 100644 doc/doxy/enhance.dox create mode 100644 doc/doxy/fixed_bugs.dox create mode 100644 doc/doxy/footer.html create mode 100644 doc/doxy/header.html create mode 100644 doc/doxy/main.dox create mode 100644 doc/doxy/process.dox create mode 100644 doc/doxy/styleSheet.css create mode 100644 doc/en/Makefile.am create mode 100644 doc/en/en_applet_autosuspend.png create mode 100644 doc/en/en_applet_configure.png create mode 100644 doc/en/en_applet_cpufreq.png create mode 100644 doc/en/en_applet_schemes.png create mode 100644 doc/en/en_applet_suspend.png create mode 100644 doc/en/en_applet_yast.png create mode 100644 doc/en/en_configdialog_blacklist.png create mode 100644 doc/en/en_configdialog_general.png create mode 100644 doc/en/en_configdialog_schemes.png create mode 100644 doc/en/en_configdialog_schemes_autosuspend.png create mode 100644 doc/en/en_configdialog_schemes_bright.png create mode 100644 doc/en/en_configdialog_schemes_screen.png create mode 100644 doc/en/en_notification_settings.png create mode 100644 doc/en/hi48-app-kpowersave.png create mode 100644 doc/en/index.docbook create mode 100644 doc/fi/Makefile.am create mode 100644 doc/fi/fi_applet_autosuspend.png create mode 100644 doc/fi/fi_applet_configure.png create mode 100644 doc/fi/fi_applet_cpufreq.png create mode 100644 doc/fi/fi_applet_schemes.png create mode 100644 doc/fi/fi_applet_suspend.png create mode 100644 doc/fi/fi_applet_yast.png create mode 100644 doc/fi/fi_configdialog_blacklist.png create mode 100644 doc/fi/fi_configdialog_general.png create mode 100644 doc/fi/fi_configdialog_schemes.png create mode 100644 doc/fi/fi_configdialog_schemes_autosuspend.png create mode 100644 doc/fi/fi_configdialog_schemes_bright.png create mode 100644 doc/fi/fi_configdialog_schemes_screen.png create mode 100644 doc/fi/fi_notification_settings.png create mode 100644 doc/fi/hi48-app-kpowersave.png create mode 100644 doc/fi/index.docbook create mode 100644 doc/hu/Makefile.am create mode 100644 doc/hu/hi48-app-kpowersave.png create mode 100644 doc/hu/hu_applet_autosuspend.png create mode 100644 doc/hu/hu_applet_configure.png create mode 100644 doc/hu/hu_applet_cpufreq.png create mode 100644 doc/hu/hu_applet_schemes.png create mode 100644 doc/hu/hu_applet_suspend.png create mode 100644 doc/hu/hu_applet_yast.png create mode 100644 doc/hu/hu_configdialog_blacklist.png create mode 100644 doc/hu/hu_configdialog_general.png create mode 100644 doc/hu/hu_configdialog_schemes.png create mode 100644 doc/hu/hu_configdialog_schemes_autosuspend.png create mode 100644 doc/hu/hu_configdialog_schemes_bright.png create mode 100644 doc/hu/hu_configdialog_schemes_screen.png create mode 100644 doc/hu/hu_notification_settings.png create mode 100644 doc/hu/index.docbook create mode 100644 doc/nb/Makefile.am create mode 100644 doc/nb/hi48-app-kpowersave.png create mode 100644 doc/nb/index.docbook create mode 100644 doc/nb/nb_applet_autosuspend.png create mode 100644 doc/nb/nb_applet_configure.png create mode 100644 doc/nb/nb_applet_cpufreq.png create mode 100644 doc/nb/nb_applet_schemes.png create mode 100644 doc/nb/nb_applet_suspend.png create mode 100644 doc/nb/nb_applet_yast.png create mode 100644 doc/nb/nb_configdialog_blacklist.png create mode 100644 doc/nb/nb_configdialog_general.png create mode 100644 doc/nb/nb_configdialog_schemes.png create mode 100644 doc/nb/nb_configdialog_schemes_autosuspend.png create mode 100644 doc/nb/nb_configdialog_schemes_bright.png create mode 100644 doc/nb/nb_configdialog_schemes_screen.png create mode 100644 doc/nb/nb_notification_settings.png create mode 100644 doc/online/Makefile create mode 100755 doc/online/replace create mode 100644 kpowersave.kdevelop create mode 100644 packaging/FC4.kpowersave.spec create mode 100644 packaging/FC5.kpowersave.spec create mode 100644 packaging/FC6.kpowersave.spec create mode 100644 packaging/SUSE10.0.kpowersave.spec create mode 100644 packaging/SUSE10.1.kpowersave.spec create mode 100644 packaging/SUSE9.2.kpowersave.spec create mode 100644 packaging/SUSE9.3.kpowersave.spec create mode 100644 packaging/mandriva.2006.1.kpowersave.spec create mode 100644 packaging/mandriva.2007.1.kpowersave.spec create mode 100644 packaging/openSUSE10.2.kpowersave.spec create mode 100644 packaging/openSUSE10.3.kpowersave.spec create mode 100644 po/Makefile.am create mode 100644 po/ar.po create mode 100644 po/bg.po create mode 100644 po/cs.po create mode 100644 po/da.po create mode 100644 po/de.po create mode 100644 po/el.po create mode 100644 po/es.po create mode 100644 po/fi.po create mode 100644 po/fr.po create mode 100644 po/hi.po create mode 100644 po/hu.po create mode 100644 po/it.po create mode 100644 po/ja.po create mode 100644 po/km.po create mode 100644 po/lt.po create mode 100644 po/nb.po create mode 100644 po/nl.po create mode 100644 po/pa.po create mode 100644 po/pl.po create mode 100644 po/pt.po create mode 100644 po/pt_BR.po create mode 100644 po/ru.po create mode 100644 po/sl_SI.po create mode 100644 po/sv.po create mode 100644 po/tr.po create mode 100644 po/uk.po create mode 100644 po/zh_CN.po create mode 100644 po/zh_TW.po create mode 100644 src/Makefile.am create mode 100644 src/autodimm.cpp create mode 100644 src/autodimm.h create mode 100644 src/autosuspend.cpp create mode 100644 src/autosuspend.h create mode 100644 src/blacklistedit_Dialog.ui create mode 100644 src/blacklisteditdialog.cpp create mode 100644 src/blacklisteditdialog.h create mode 100644 src/config/kpowersaverc_default create mode 100644 src/configure.in.in create mode 100644 src/configure_Dialog.ui create mode 100644 src/configuredialog.cpp create mode 100644 src/configuredialog.h create mode 100644 src/countdown_Dialog.ui create mode 100644 src/countdowndialog.cpp create mode 100644 src/countdowndialog.h create mode 100644 src/dbusHAL.cpp create mode 100644 src/dbusHAL.h create mode 100644 src/detailed_Dialog.ui create mode 100644 src/detaileddialog.cpp create mode 100644 src/detaileddialog.h create mode 100644 src/dummy.cpp create mode 100644 src/eventsrc create mode 100644 src/hardware.cpp create mode 100644 src/hardware.h create mode 100644 src/hardware_battery.cpp create mode 100644 src/hardware_battery.h create mode 100644 src/hardware_batteryCollection.cpp create mode 100644 src/hardware_batteryCollection.h create mode 100644 src/hardware_cpu.cpp create mode 100644 src/hardware_cpu.h create mode 100644 src/hi16-app-kpowersave.png create mode 100644 src/hi32-app-kpowersave.png create mode 100644 src/hi48-app-kpowersave.png create mode 100644 src/inactivity.cpp create mode 100644 src/inactivity.h create mode 100644 src/info_Dialog.ui create mode 100644 src/infodialog.cpp create mode 100644 src/infodialog.h create mode 100644 src/kpowersave-autostart.desktop create mode 100644 src/kpowersave.cpp create mode 100644 src/kpowersave.desktop create mode 100644 src/kpowersave.h create mode 100644 src/kpowersave.lsm create mode 100644 src/kpowersave_debug.h create mode 100644 src/log_viewer.ui create mode 100644 src/logviewer.cpp create mode 100644 src/logviewer.h create mode 100644 src/main.cpp create mode 100644 src/pics/Makefile.am create mode 100644 src/pics/README create mode 100644 src/pics/cr16-action-configure.png create mode 100644 src/pics/cr16-action-display.png create mode 100644 src/pics/cr16-action-laptopbattery.png create mode 100644 src/pics/cr16-action-laptopcharge.png create mode 100644 src/pics/cr16-action-laptopnobattery.png create mode 100644 src/pics/cr16-action-laptoppower.png create mode 100644 src/pics/cr16-action-scheme_acoustic.png create mode 100644 src/pics/cr16-action-scheme_advanced_powersave.png create mode 100644 src/pics/cr16-action-scheme_power.png create mode 100644 src/pics/cr16-action-scheme_powersave.png create mode 100644 src/pics/cr16-action-scheme_presentation.png create mode 100644 src/pics/cr16-action-stand_by.png create mode 100644 src/pics/cr16-action-suspend_to_disk.png create mode 100644 src/pics/cr16-action-suspend_to_ram.png create mode 100644 src/pics/cr16-action-yast.png create mode 100644 src/pics/cr22-action-autodimm.png create mode 100644 src/pics/cr22-action-button.png create mode 100644 src/pics/cr22-action-configure.png create mode 100644 src/pics/cr22-action-display.png create mode 100644 src/pics/cr22-action-laptopbattery.png create mode 100644 src/pics/cr22-action-laptopbatteryORANGE.png create mode 100644 src/pics/cr22-action-laptopbatteryRED.png create mode 100644 src/pics/cr22-action-laptopcharge.png create mode 100644 src/pics/cr22-action-laptopnobattery.png create mode 100644 src/pics/cr22-action-laptoppower.png create mode 100644 src/pics/cr22-action-processor.png create mode 100644 src/pics/cr22-action-scheme_acoustic.png create mode 100644 src/pics/cr22-action-scheme_advanced_powersave.png create mode 100644 src/pics/cr22-action-scheme_power.png create mode 100644 src/pics/cr22-action-scheme_powersave.png create mode 100644 src/pics/cr22-action-scheme_presentation.png create mode 100644 src/pics/cr22-action-stand_by.png create mode 100644 src/pics/cr22-action-suspend_to_disk.png create mode 100644 src/pics/cr22-action-suspend_to_ram.png create mode 100644 src/pics/cr22-action-yast.png create mode 100644 src/pics/cr48-action-stand_by.png create mode 100644 src/pics/cr48-action-suspend_to_disk.png create mode 100644 src/pics/cr48-action-suspend_to_ram.png create mode 100644 src/privileges.h create mode 100644 src/screen.cpp create mode 100644 src/screen.h create mode 100644 src/settings.cpp create mode 100644 src/settings.h create mode 100644 src/suspend_Dialog.ui create mode 100644 src/suspenddialog.cpp create mode 100644 src/suspenddialog.h create mode 100644 templates/cpp create mode 100644 templates/h diff --git a/AUTHORS b/AUTHORS new file mode 100644 index 0000000..0e714e9 --- /dev/null +++ b/AUTHORS @@ -0,0 +1,2 @@ +Danny Kukawka , +Thomas Renninger diff --git a/COPYING b/COPYING new file mode 100644 index 0000000..3912109 --- /dev/null +++ b/COPYING @@ -0,0 +1,340 @@ + GNU GENERAL PUBLIC LICENSE + Version 2, June 1991 + + Copyright (C) 1989, 1991 Free Software Foundation, Inc. + 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + Preamble + + The licenses for most software are designed to take away your +freedom to share and change it. By contrast, the GNU General Public +License is intended to guarantee your freedom to share and change free +software--to make sure the software is free for all its users. This +General Public License applies to most of the Free Software +Foundation's software and to any other program whose authors commit to +using it. (Some other Free Software Foundation software is covered by +the GNU Library General Public License instead.) You can apply it to +your programs, too. + + When we speak of free software, we are referring to freedom, not +price. Our General Public Licenses are designed to make sure that you +have the freedom to distribute copies of free software (and charge for +this service if you wish), that you receive source code or can get it +if you want it, that you can change the software or use pieces of it +in new free programs; and that you know you can do these things. + + To protect your rights, we need to make restrictions that forbid +anyone to deny you these rights or to ask you to surrender the rights. +These restrictions translate to certain responsibilities for you if you +distribute copies of the software, or if you modify it. + + For example, if you distribute copies of such a program, whether +gratis or for a fee, you must give the recipients all the rights that +you have. You must make sure that they, too, receive or can get the +source code. And you must show them these terms so they know their +rights. + + We protect your rights with two steps: (1) copyright the software, and +(2) offer you this license which gives you legal permission to copy, +distribute and/or modify the software. + + Also, for each author's protection and ours, we want to make certain +that everyone understands that there is no warranty for this free +software. If the software is modified by someone else and passed on, we +want its recipients to know that what they have is not the original, so +that any problems introduced by others will not reflect on the original +authors' reputations. + + Finally, any free program is threatened constantly by software +patents. We wish to avoid the danger that redistributors of a free +program will individually obtain patent licenses, in effect making the +program proprietary. To prevent this, we have made it clear that any +patent must be licensed for everyone's free use or not licensed at all. + + The precise terms and conditions for copying, distribution and +modification follow. + + GNU GENERAL PUBLIC LICENSE + TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION + + 0. This License applies to any program or other work which contains +a notice placed by the copyright holder saying it may be distributed +under the terms of this General Public License. The "Program", below, +refers to any such program or work, and a "work based on the Program" +means either the Program or any derivative work under copyright law: +that is to say, a work containing the Program or a portion of it, +either verbatim or with modifications and/or translated into another +language. (Hereinafter, translation is included without limitation in +the term "modification".) Each licensee is addressed as "you". + +Activities other than copying, distribution and modification are not +covered by this License; they are outside its scope. The act of +running the Program is not restricted, and the output from the Program +is covered only if its contents constitute a work based on the +Program (independent of having been made by running the Program). +Whether that is true depends on what the Program does. + + 1. You may copy and distribute verbatim copies of the Program's +source code as you receive it, in any medium, provided that you +conspicuously and appropriately publish on each copy an appropriate +copyright notice and disclaimer of warranty; keep intact all the +notices that refer to this License and to the absence of any warranty; +and give any other recipients of the Program a copy of this License +along with the Program. + +You may charge a fee for the physical act of transferring a copy, and +you may at your option offer warranty protection in exchange for a fee. + + 2. You may modify your copy or copies of the Program or any portion +of it, thus forming a work based on the Program, and copy and +distribute such modifications or work under the terms of Section 1 +above, provided that you also meet all of these conditions: + + a) You must cause the modified files to carry prominent notices + stating that you changed the files and the date of any change. + + b) You must cause any work that you distribute or publish, that in + whole or in part contains or is derived from the Program or any + part thereof, to be licensed as a whole at no charge to all third + parties under the terms of this License. + + c) If the modified program normally reads commands interactively + when run, you must cause it, when started running for such + interactive use in the most ordinary way, to print or display an + announcement including an appropriate copyright notice and a + notice that there is no warranty (or else, saying that you provide + a warranty) and that users may redistribute the program under + these conditions, and telling the user how to view a copy of this + License. (Exception: if the Program itself is interactive but + does not normally print such an announcement, your work based on + the Program is not required to print an announcement.) + +These requirements apply to the modified work as a whole. If +identifiable sections of that work are not derived from the Program, +and can be reasonably considered independent and separate works in +themselves, then this License, and its terms, do not apply to those +sections when you distribute them as separate works. But when you +distribute the same sections as part of a whole which is a work based +on the Program, the distribution of the whole must be on the terms of +this License, whose permissions for other licensees extend to the +entire whole, and thus to each and every part regardless of who wrote it. + +Thus, it is not the intent of this section to claim rights or contest +your rights to work written entirely by you; rather, the intent is to +exercise the right to control the distribution of derivative or +collective works based on the Program. + +In addition, mere aggregation of another work not based on the Program +with the Program (or with a work based on the Program) on a volume of +a storage or distribution medium does not bring the other work under +the scope of this License. + + 3. You may copy and distribute the Program (or a work based on it, +under Section 2) in object code or executable form under the terms of +Sections 1 and 2 above provided that you also do one of the following: + + a) Accompany it with the complete corresponding machine-readable + source code, which must be distributed under the terms of Sections + 1 and 2 above on a medium customarily used for software interchange; or, + + b) Accompany it with a written offer, valid for at least three + years, to give any third party, for a charge no more than your + cost of physically performing source distribution, a complete + machine-readable copy of the corresponding source code, to be + distributed under the terms of Sections 1 and 2 above on a medium + customarily used for software interchange; or, + + c) Accompany it with the information you received as to the offer + to distribute corresponding source code. (This alternative is + allowed only for noncommercial distribution and only if you + received the program in object code or executable form with such + an offer, in accord with Subsection b above.) + +The source code for a work means the preferred form of the work for +making modifications to it. For an executable work, complete source +code means all the source code for all modules it contains, plus any +associated interface definition files, plus the scripts used to +control compilation and installation of the executable. However, as a +special exception, the source code distributed need not include +anything that is normally distributed (in either source or binary +form) with the major components (compiler, kernel, and so on) of the +operating system on which the executable runs, unless that component +itself accompanies the executable. + +If distribution of executable or object code is made by offering +access to copy from a designated place, then offering equivalent +access to copy the source code from the same place counts as +distribution of the source code, even though third parties are not +compelled to copy the source along with the object code. + + 4. You may not copy, modify, sublicense, or distribute the Program +except as expressly provided under this License. Any attempt +otherwise to copy, modify, sublicense or distribute the Program is +void, and will automatically terminate your rights under this License. +However, parties who have received copies, or rights, from you under +this License will not have their licenses terminated so long as such +parties remain in full compliance. + + 5. You are not required to accept this License, since you have not +signed it. However, nothing else grants you permission to modify or +distribute the Program or its derivative works. These actions are +prohibited by law if you do not accept this License. Therefore, by +modifying or distributing the Program (or any work based on the +Program), you indicate your acceptance of this License to do so, and +all its terms and conditions for copying, distributing or modifying +the Program or works based on it. + + 6. Each time you redistribute the Program (or any work based on the +Program), the recipient automatically receives a license from the +original licensor to copy, distribute or modify the Program subject to +these terms and conditions. You may not impose any further +restrictions on the recipients' exercise of the rights granted herein. +You are not responsible for enforcing compliance by third parties to +this License. + + 7. If, as a consequence of a court judgment or allegation of patent +infringement or for any other reason (not limited to patent issues), +conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot +distribute so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you +may not distribute the Program at all. For example, if a patent +license would not permit royalty-free redistribution of the Program by +all those who receive copies directly or indirectly through you, then +the only way you could satisfy both it and this License would be to +refrain entirely from distribution of the Program. + +If any portion of this section is held invalid or unenforceable under +any particular circumstance, the balance of the section is intended to +apply and the section as a whole is intended to apply in other +circumstances. + +It is not the purpose of this section to induce you to infringe any +patents or other property right claims or to contest validity of any +such claims; this section has the sole purpose of protecting the +integrity of the free software distribution system, which is +implemented by public license practices. Many people have made +generous contributions to the wide range of software distributed +through that system in reliance on consistent application of that +system; it is up to the author/donor to decide if he or she is willing +to distribute software through any other system and a licensee cannot +impose that choice. + +This section is intended to make thoroughly clear what is believed to +be a consequence of the rest of this License. + + 8. If the distribution and/or use of the Program is restricted in +certain countries either by patents or by copyrighted interfaces, the +original copyright holder who places the Program under this License +may add an explicit geographical distribution limitation excluding +those countries, so that distribution is permitted only in or among +countries not thus excluded. In such case, this License incorporates +the limitation as if written in the body of this License. + + 9. The Free Software Foundation may publish revised and/or new versions +of the General Public License from time to time. Such new versions will +be similar in spirit to the present version, but may differ in detail to +address new problems or concerns. + +Each version is given a distinguishing version number. If the Program +specifies a version number of this License which applies to it and "any +later version", you have the option of following the terms and conditions +either of that version or of any later version published by the Free +Software Foundation. If the Program does not specify a version number of +this License, you may choose any version ever published by the Free Software +Foundation. + + 10. If you wish to incorporate parts of the Program into other free +programs whose distribution conditions are different, write to the author +to ask for permission. For software which is copyrighted by the Free +Software Foundation, write to the Free Software Foundation; we sometimes +make exceptions for this. Our decision will be guided by the two goals +of preserving the free status of all derivatives of our free software and +of promoting the sharing and reuse of software generally. + + NO WARRANTY + + 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY +FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN +OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES +PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED +OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS +TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE +PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, +REPAIR OR CORRECTION. + + 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING +WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR +REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, +INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING +OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED +TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY +YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER +PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE +POSSIBILITY OF SUCH DAMAGES. + + END OF TERMS AND CONDITIONS + + How to Apply These Terms to Your New Programs + + If you develop a new program, and you want it to be of the greatest +possible use to the public, the best way to achieve this is to make it +free software which everyone can redistribute and change under these terms. + + To do so, attach the following notices to the program. It is safest +to attach them to the start of each source file to most effectively +convey the exclusion of warranty; and each file should have at least +the "copyright" line and a pointer to where the full notice is found. + + + Copyright (C) + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA + + +Also add information on how to contact you by electronic and paper mail. + +If the program is interactive, make it output a short notice like this +when it starts in an interactive mode: + + Gnomovision version 69, Copyright (C) year name of author + Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'. + This is free software, and you are welcome to redistribute it + under certain conditions; type `show c' for details. + +The hypothetical commands `show w' and `show c' should show the appropriate +parts of the General Public License. Of course, the commands you use may +be called something other than `show w' and `show c'; they could even be +mouse-clicks or menu items--whatever suits your program. + +You should also get your employer (if you work as a programmer) or your +school, if any, to sign a "copyright disclaimer" for the program, if +necessary. Here is a sample; alter the names: + + Yoyodyne, Inc., hereby disclaims all copyright interest in the program + `Gnomovision' (which makes passes at compilers) written by James Hacker. + + , 1 April 1989 + Ty Coon, President of Vice + +This General Public License does not permit incorporating your program into +proprietary programs. If your program is a subroutine library, you may +consider it more useful to permit linking proprietary applications with the +library. If this is what you want to do, use the GNU Library General +Public License instead of this License. diff --git a/ChangeLog b/ChangeLog new file mode 100644 index 0000000..14d4f09 --- /dev/null +++ b/ChangeLog @@ -0,0 +1,5127 @@ +2007-09-17 Danny Kukawka + + Tagged new release v0.7.3 + +2007-09-17 Danny Kukawka + + * ChangeLog.package: updated for 0.7.3 + +2007-09-17 Danny Kukawka + + * packaging/openSUSE10.3.kpowersave.spec: added new SPEC + file for openSUSE 10.3 + +2007-09-17 Danny Kukawka + + * po/de.po: Added missing space between text and ellipsis + (...) (see b.n.c #293707) + * NEWS: Updated news file. + +2007-09-17 Danny Kukawka + + Updated language files with min 75% from + forgesvn1.novell.com/svn/suse-i18n/trunk/lcn : + + * po/fi.po: + * po/pt.po: + +2007-09-17 Danny Kukawka + + * po/sl_SI.po: added now complete Slovenian po-file from + Jure Repinc . + +2007-09-17 Danny Kukawka + + Prepared v0.7.3 release: + + * ChangeLog.package: Updated package changelog with the + Changelog from the SUSE package + * NEWS: Added news for 0.7.3 release + * README: updated recommended dependencies, updated bugzilla + links. + +2007-09-17 Danny Kukawka + + * po/sl_SI.po: added new (not complete) Slovenian po-file + from Jure Repinc . + +2007-09-12 Danny Kukawka + + When use DBUS_TYPE_BOOLEAN use as variable type dbus_bool_t + to avoid possible trouble on big endian machines: + + * src/dbusHAL.cpp: Replaced int variables with dbus_bool_t. + * src/dbusHAL.h: included dbus/dbus.h + * src/hardware.cpp: Replaced int variables with dbus_bool_t. + +2007-09-11 Danny Kukawka + + * src/screen.cpp: Fixed b.n.c #309491. Fixed code to free + KProcess object if gnome-screensaver is running (which + mean unfortunately GNOME is running). + +2007-09-11 Danny Kukawka + + * src/kpowersave.cpp: Fixed handleACStatusChange(), notify + only if notifyEvent == true. Print notifyEvent on debug. + +2007-09-05 Danny Kukawka + + * src/kpowersave.[cpp,h]: Fixed b.n.c #307431: prevent + send events about AC status change on changes of the + session state. + +2007-09-05 Danny Kukawka + + Prepared KPowersave to work with HAL >= 0.5.10 and the + changed policy/privileges names which KPowersave use to + lookup what is allowed for a user: + + * configure.in.in: Added detection of HAL >= 0.5.10 + * src/Makefile.am: added privileges.h + * src/hardware.cpp: use now privileges.h defines + * src/privileges.h: New file with defines for the policy + names depending on the HAL version. + +2007-09-03 Danny Kukawka + + Updated language files with min 75% from + forgesvn1.novell.com/svn/suse-i18n/trunk/lcn : + + * po/cs.po: + * po/zh_CN.po: + +2007-09-03 Danny Kukawka + + * src/kpowersave.cpp: Changed function to set the + brightness up/down on vertical wheel events over the applet + icon to use also do_brightnessUp/Down with 5-percentage + steps to avoid problems with machines with a high number + of brightness levels. + +2007-09-03 Danny Kukawka + + Changed return value types due to changes in HAL + (s/DBUS_TYPE_UINT32/DBUS_TYPE_INT32): + + * src/dbusHAL.cpp: Changed for suspend calls. + * src/hardware.cpp: Changed for GetBrightness and for + SetPowerSave() calls. + +2007-08-30 Danny Kukawka + + * src/hardware.cpp: Fix an other case of use bool to get + DBUS_TYPE_BOOLEAN variables in currently unused code. + * src/kpowersave.cpp: Don't use kdFatal() before exit + in kpowersave::kpowersave() otherwise DrKonqi get called. + +2007-08-27 Danny Kukawka + + * src/detaileddialog.cpp: Call setInfos() on AC events + to force update of e.g. scheme and CPU Freq information. + +2007-08-27 Danny Kukawka + + * src/hardware.cpp: Fixed checkConsoleKitSession() again. + Don't use boolean to get DBUS_TYPE_BOOLEAN variables from + D-Bus. This lead to strange results on ix86 (the stange + is: it fails only on free local variables if leave the + function, but only on ix86 and not on x96_64). + +2007-08-26 Danny Kukawka + + * configure.in.in: Cleaned up configure to undefine + ENABLE_YAST_ENTRY if the Yast entry in the applet should + not added as e.g. at openSUSE >= v10.3. + +2007-08-25 Danny Kukawka + + * src/hardware.cpp: Fixed b.n.c #301692 again, but with an + other source of the problem: fixed parameter for D-Bus + call to ConsoleKit to get info if the session is active. + +2007-08-25 Danny Kukawka + + Merged unmerged files with kpowersave.pot: + * po/[ar,bgi,el,es,fr,ja,pt_BR,tr].po: + + Removed largely untranslated files from SVN: + * po/[sk,sl_SI].po: + +2007-08-25 Danny Kukawka + + Updated language files with min 80% from + forgesvn1.novell.com/svn/suse-i18n/trunk/lcn : + + * po/[cs,nl,pa].po: + + New translations from the same repo: + + * po/hi.po: Hindi (220/69/27) + * po/lt.po: Lithuanian (243/23/50) + +2007-08-24 Danny Kukawka + + * configure.in.in: Don't check any longer for PolicyKit + >= v0.4, simply check if libhal provide the following + function: libhal_device_is_caller_privileged() to check + if KPowersave should use libhal or the old PolicyKit + D-Bus interface. + +2007-08-23 Danny Kukawka + + * src/hardware.cpp: Fixed possible segfault if the + XDG_SESSION_COOKIE isn't set. Set sessionIsActive to true + in this case and skip the rest of the checks. + +2007-08-20 Danny Kukawka + + Updated language files from + forgesvn1.novell.com/svn/suse-i18n/trunk/lcn : + + * po/[da,el,fi,hu,it,km,nb,pa,pl,pt,ru,sv,uk].po: + +2007-08-20 Danny Kukawka + + * src/dbusHAL.[cpp,h]: Added function to check if the + org.freedesktop.Policy.Power has an owner (new function + is isPolicyPowerIfaceOwned()). + * src/hardware.[cpp,h]: Added helper to call + dbusHAL::isPolicyPowerIfaceOwned(). + * src/kpowersave.[cpp,h]: Added active session handling + for schemes (don't react on AC state changes if the + session get inactive and apply default schemes based on + AC state if the session get active again). + Changed handleActionCall() to check if the current session + is active and deny request if not. If there is no owner of + org.freedesktop.Policy.Power allow shutdown on battery + critical events. + + TODO: Think about the situation if the session get inactive + and there is no owner of org.freedesktop.Policy.Power + +2007-08-20 Danny Kukawka + + * src/hardware.cpp: If the desktop session (if detected + via ConsoleKit) get inactive call releasePolicyPowerIface() + and if the session is active again try to aquire the + org.freedesktop.Policy.Power interface again. + + This should happen: + - the session get inactive: + - release org.freedesktop.Policy.Power: + powersaved or if there is an other desktop session + an other KPowersave instance can aquire the name and + handle powermanagement. + - the session get active again: + - the current active KPowersave instance aquire the + interface/name from powersaved (if there is an other + KPowersave instance holding the name it should release + the name ...) and handle powermanagement again. + +2007-08-20 Danny Kukawka + + Added code to detect if we get a NameOwnerChanged signal + from DBus for org.freedesktop.Policy.Power and check if + this KPowersave instance caused the signal. + + * src/dbusHAL.[cpp,h]: + * src/hardware.cpp: + +2007-08-20 Danny Kukawka + + * src/dbusHAL.[cpp,h]: Split up the code to aquire the + org.freedesktop.Policy.Power name service to a new own + function. Added new function to release the service + name again. Call now dbus_bus_release_name() if close() + get called. + +2007-08-19 Danny Kukawka + + Updated svn:ignore for src/ to ignore new files. + +2007-08-19 Danny Kukawka + + * src/kpowersave.cpp: Fix b.n.c #301692, switch schemes + correctly on AC plug in/out events. + +2007-08-17 Danny Kukawka + + Update TODOs (about tasks for new ConsoleKit session + management) + + * TODO: + * src/kpowersave.cpp: + +2007-08-17 Danny Kukawka + + * src/hardware.cpp: Don't emit events for: power, sleep + and s2disk button if the session is inactive. + +2007-08-17 Danny Kukawka + + * src/hardware.cpp: Fixed commit r3046: really ignore + the brightness up/down key event if session inactive. + +2007-08-17 Danny Kukawka + + * src/kpowersave.[cpp,h]: Handle desktopSessionIsActive() + signal from class HardwareInfo: + - stop/start autosuspend and autodimm depending on the + session state + - don't call may configured actions for the lidclose event + if the session is inactive. + +2007-08-17 Danny Kukawka + + * src/hardware.[cpp,h]: Added new function to get the + private sessionIsActive. + Ignore brightness up/down key events from HAL if the + session is marked as inactive. + +2007-08-17 Danny Kukawka + + Implemented code to check on ConsoleKit vi D-Bus if the + current desktop session is active and monitor if the + state change. + + * src/dbusHAL.[cpp,h]: Listen to D-Bus if the state of the + session change and inform class HardwareInfo about the + change. + * src/hardware.[cpp,h]: Added new function to get the name + and the state of the current Session from ConsoleKit. + Added code into the DBus event filter function to detect + if the state change and send a new signal if this happen. + + TODO: Integrate this into class kpowersave to stop e.g. + autosuspend and autodimm if the session get + inactive. + +2007-08-17 Danny Kukawka + + Comment out variable names of unused function parameters + and remove no longer needed checks to prevent compiler + warnings: + + * src/dbusHAL.cpp: + * src/inactivity.cpp: + * src/kpowersave.cpp: + +2007-08-17 Danny Kukawka + + * po/de.po: Updated german language file. + +2007-08-17 Danny Kukawka + + * src/countdown_Dialog.ui: removed include hints + +2007-08-16 Danny Kukawka + + * src/hardware.cpp: Fix parameter types for call + SetPowerSave() on HAL. + +2007-08-16 Danny Kukawka + + * src/hardware.cpp: Comment out calls of + getSchedPowerSavings(), the needed HAL interface didn't + make it into HAL yet. + +2007-08-16 Danny Kukawka + + * src/dbusHAL.cpp: Show some debug messages only if + kpowersave started with --dbg-trace. + +2007-08-16 Danny Kukawka + + Finished work on new Autosuspend warn/countdown dialog + to fix bug/feature request from b.n.c #182609: + + * src/config/kpowersaverc_default: Added new config + variables to enable/disable the dialog and to set the + time how long the countdown should be. + * src/settings.[cpp,h]: integrate them into general + settings. + + * src/countdown_Dialog.ui: Fixed dialog to resize + correctly. + * src/countdowndialog.cpp: Init Progressbar before show + up the dialog, set dialog caption, adjust the size and + call show(). + * src/dummy.cpp: removed no longer in this file needed + strings. + * src/kpowersave.[cpp,h]: Integrate the dialog in the + logic for start/setup and handle autosuspend. + +2007-08-15 Danny Kukawka + + * src/hardware.cpp: Fix code to set brightness up/down + and add some debug code. This should fix b.n.c #282640. + +2007-08-14 Danny Kukawka + + * src/configuredialog.cpp: Fix pB_resetBrightness_clicked() + to use hwinfo->setBrightness() correctly (set level and + not percentage with level). + +2007-08-14 Danny Kukawka + + * src/hardware.cpp: Change type of parameter of + SetPowerSave() on HAL to from DBUS_TYPE_BOOLEAN to + DBUS_TYPE_INT32. + +2007-08-14 Danny Kukawka + + Extended and added new debug message for CPU code in the + detailed dialog to trace problems within Virtualbox. + + * src/detaileddialog.cpp: + * src/hardware_cpu.cpp: + +2007-08-13 Danny Kukawka + + * src/hardware.[cpp,h]: Maked isCpuFreqAllowed() not + const to be able to check the Policy on each call directly + from libhal. + * src/kpowersave.cpp: Don't enable 'CPU Freq Policy' entry + in the applet menu if we know KPowersave isn't allowed to + call the interface on HAL. + +2007-08-13 Danny Kukawka + + * src/dbusHAL.[cpp,h]: Extended isUserPrivileged() + depending on USE_LIBHAL_POLICYCHECK to ask HAL if the + user is privileged to call a interface. + * src/hardware.[cpp,h]: Ported existing calls of + dbusHAL::isUserPrivileged() to changed function param. + Added new checks for Brightness/SetPowersave HAL calls + if USE_LIBHAL_POLICYCHECK is defined (because they didn't + exist in the old HAL < 0.5.10) + +2007-08-13 Danny Kukawka + + * configure.in.in: Changed detection if we need to call + new PolicyKit/HAL instead of PolicyKit D-Bus daemon to + check for libhal_device_is_caller_privileged() in libhal. + +2007-08-13 Danny Kukawka + + * configure.in.in: Added checks for HAL >= 0.5.10 and + PolicyKit >= 0.4 to check if we have to ask HAL if the + user is privileged instead of the no longer existing + PolicyKit D-Bus daemon. + +2007-08-13 Danny Kukawka + + Moved code to set brightness a step up/down from class + kpowersave to HardwareInfo. + + * src/hardware.[cpp,h]: Use new function to set brightness + up/down on keyevents. + * src/kpowersave.cpp: Forward on dcop call to new + functions in class HardwareInfo. + +2007-08-12 Danny Kukawka + + * configure.in.in: Fix detection of the SUSE distributions + to fix value of ENABLE_YAST_ENTRY. Since openSUSE 10.3 there + is no longer a powermanagement module in Yast. + This should fix b.n.c #299577. + +2007-08-12 Danny Kukawka + + * src/Makefile.am: Added countdown dialog related files. + * src/countdown_Dialog.ui: Added Pixmap object and changed + Progressbar from QProgressBar to KProgress. + * src/countdowndialog.[cpp,h]: Finished code for the + countdown dialog. + +2007-08-10 Danny Kukawka + + * src/eventsrc: Added new events (autodimm down/up, brigtness + key up/down) for translation we may use in the future. + +2007-08-10 Danny Kukawka + + * po/kpowersave.pot: Updated pot file from current code. + +2007-08-10 Danny Kukawka + + * src/dummy.cpp: SUSE 'string freeze' for 10.3 is comming. + Added some new strings we may need later for some planed + features. + +2007-08-09 Danny Kukawka + + * src/kpowersave.cpp: Added missing '<< endl' to a kdDebug() + call to prevent crash of KPowersave directly before exit(-1). + This fix b.n.c #298332 + +2007-08-09 Danny Kukawka + + Added initial files for new dialog shown (30 sec) before the + machine go into autosuspend. The code is not running atm.: + + * src/countdown_Dialog.ui: + * src/countdowndialog.[cpp,h]: + + * src/kpowersave.cpp: added missing debug call. + +2007-07-30 Danny Kukawka + + * src/kpowersave.cpp: Fixed show suspend log for SLED/SLES, + show the powersave related logs. This go not into the CODE10 + branch for now. + +2007-07-29 Danny Kukawka + + * src/kpowersave.cpp: Fixed typo which prevented show up + the logviewer dialog if suspend fail and pm-utils return + a value != (0|INT_MAX). + +2007-07-29 Danny Kukawka + + * src/hardware.cpp: Fixed typo to use correct variable. + * src/kpowersave.[cpp,h]: Added three new dcop functions to + get the current brightness (in percentage) and to set the + brightness up and down. For the new brightness up/down + functions the default step is +/- 10%, but you can change + this via the function parameter. If the step not change the + brightness level the default is +/- one level to have a + change. + +2007-07-26 Danny Kukawka + + * src/kpowersave.cpp: Speed-up dimm brightness up if the user + get active again. Try to dimm up within 750 ms instead of + 1500. + +2007-07-26 Danny Kukawka + + * src/dbusHAL.h: Code docu update. + +2007-07-25 Danny Kukawka + + * doc/pt/*: removed Portuguese version of the doc to reduce + package size since the doc only contain one translated + paragraph. + +2007-07-25 Danny Kukawka + + Replaced s/char */const char */ of function parameter types to + prevent compiler warnings: + + warning: deprecated conversion from string constant to 'char*' + + * src/dbusHAL.[cpp,h]: in dbusMethodCallSuspend() + * src/hardware.[cpp,h]: in setCPUFreqGovernor() + +2007-07-25 Danny Kukawka + + Removed tags from UI files (caused warnings). + * src/detailed_Dialog.ui: + * src/log_viewer.ui: + + * src/hardware.h: Fixed typo in code docu. + +2007-07-24 Danny Kukawka + + * src/hardware.h: Make checkBrightness() to a private SLOT. + +2007-07-24 Danny Kukawka + + * src/hardware.cpp: Reduce calls of checkBrightness() in the + setBrightness() function. Only call the check if brightness + is currently not supported (as fallback check). + Added code to monitor if a laptop_panel* property get changed, + e.g. if key get removed. Call checkBrightness() in this case + to prevent problems with state of brightness support. + +2007-07-24 Danny Kukawka + + * src/hardware.cpp: Cleanup setBrightness() to check always + the current brightness before return. + +2007-07-24 Danny Kukawka + + Fixed brightness handling. HardwareInfo::brightness is now + only true if laptop_panel.num_levels >= 2. This should fix + some reported problems with DELL machines which have only one + brightness level available. + + * src/configuredialog.cpp: + * src/configuredialog.h: + * src/detaileddialog.cpp: + * src/hardware.cpp: + +2007-07-24 Danny Kukawka + + * src/config/kpowersaverc_default: set autoDimmTo=50 as + default value for: default-scheme, Performance and Acoustic + scheme + * src/hardware_battery.cpp: Cast to float for internal + calculation to avoid false values. + +2007-07-24 Danny Kukawka + + * src/autodimm.cpp: Added missing code documentation. + +2007-07-24 Danny Kukawka + + * src/autodimm.cpp: Fixed QTimer start parameter and moved + some code around. + * src/autodimm.h: make startCheckForActivity() public to + handle this from outside the class. + * src/configuredialog.cpp: Activate autodimm feature in the + configure dialog. + * src/kpowersave.cpp: Fixed dimm level handling (use float for + calculation to avoid invalid values). Reset autodimm if the + user is active again. + +2007-07-23 Danny Kukawka + + * src/kpowersave.[cpp,h]: added new function setAutoDimm() and + integrated autoDimm feature into the workflow. + + NOTE: This feature is complete untested at the moment. + +2007-07-23 Danny Kukawka + + Make stop autosuspend before suspend/after resume more robust: + + * src/inactivity.cpp: Be sure that timeToInactivity has a + usefull value (> 0) before check for inactivity. This should + force to stop every running check if stop() was called, where + timeToInactivity was set to 0 after stop the running QTimer. + * src/kpowersave.cpp: Added additional call of stop() if + resumed. + +2007-07-23 Danny Kukawka + + * src/kpowersave.cpp: Fixed autodimm related signacl connect + and added new connect for the case if the user get active + again. + * src/kpowersave.h: Added code documentation. + +2007-07-23 Danny Kukawka + + * src/kpowersave.[cpp,h]: Added new functions do dimm up + and down the brightness, needed for autodimm. + +2007-07-03 Danny Kukawka + + Added autodimm settings to the configure dialog and the + settings class. + + * src/config/kpowersaverc_default: added default settings + * src/configure_Dialog.ui: + * src/configuredialog.[cpp,h]: + * src/settings.[cpp,h]: + * src/pics/cr22-action-autodimm.png: added new icon. + + NOTE: This is currently disabled in the configure dialog + until the real autodimm functions are integrated. + + TODO: Add functions to autodimm the display brightness down. + +2007-07-02 Danny Kukawka + + * kpowersave.kdevelop: Changed settings to abort on errors. + * src/Makefile.am: Fixed typo to compile autodimm class. + * src/autodimm.[cpp,h]: Added new code to autodimm to check + if the user is active again. Currently the code poll each + second the XScreenSaverInfo extension to detect if the user + start again to use the mouse/keyboard. + + TODO: Check if 1 second is the correct/useful intervall. + +2007-07-02 Danny Kukawka + + * src/inactivity.cpp: SILENT: moved code within the file. + +2007-07-01 Danny Kukawka + + * src/hardware.cpp:Changed get-/setSchedPowerSavings() to use + bool instead of int for parameter and return values. + +2007-07-01 Danny Kukawka + + * src/Makefile.am: Added new files to make. + * src/autodimm.[cpp,h]: Added new empty files for new planed + autodimm feature. + +2007-07-01 Danny Kukawka + + * src/hardware.cpp: removed TODOs and replaces with info about + possible values for the new get-/setSchedPowerSavings() + functions. The kernel only allow 0/1 as parameter. + + TODO: Discuss with about change the + type of param/retval of the HAL methodes to boolean + +2007-06-30 Danny Kukawka + + * src/hardware.[cpp,h]: Added basic functions to support + 'mc/smt power savings sched policy' via hopefully upcomming new + HAL functions GetSchedPowerSavings()/SetSchedPowerSavings() + + TODO: check the allowed parameter and return values of the + kernel (in sysfs) and may change the existing HAL patch to + work with boolean instead of integer + +2007-06-26 Danny Kukawka + + * src/kpowersave.cpp: comment out some code + +2007-06-18 Danny Kukawka + + * src/config/kpowersaverc_default: Added callSetPowerSaveOnAC + with default value true. + * src/kpowersave.cpp: Call setPowerSave() in setSchemeSettings() + to be sure it get set on startup correctly. + * src/settings.[cpp,h]: Added new config variable to enable/ + disable call SetPowerSave() on HAL depending on the AC state + (callSetPowerSaveOnAC for [General] section) + +2007-06-18 Danny Kukawka + + Fixed debug messages: + + * src/dbusHAL.cpp: + * src/hardware.cpp: + +2007-06-17 Danny Kukawka + + * src/inactivity.cpp: Fix Segmentation Fault from b.n.c bug + #284622. + +2007-06-13 Danny Kukawka + + * src/kpowersave.cpp: removed one more useless *.latin() from + debug messages. + +2007-06-13 Danny Kukawka + + * po/ar.po: Added new Arabic language file from Youssef Chahibi + + +2007-06-13 Danny Kukawka + + * src/hardware.cpp: Remove laptop_panel entry from the + QDict udis if no device with laptop_panel found. This + should prevent problems if the laptop panel device get removed + from HAL. + +2007-06-13 Danny Kukawka + + * src/hardware.cpp: Added code to react if a latop panel device + get added/remove. Added also all device_type values to the + switch of the HAL_DEVICE case. + Removed several *.latin1() calls due to new usage of kdDebug(). + * src/hardware.h: Added new value to enum device_type for laptop + panels (for brightness). + +2007-06-13 Danny Kukawka + + * src/dbusHAL.cpp: Make the code easier by group initial checks + for HAL/D-Bus connection and parameter checks, add goto's to + reduce kdDebugFuncOut() codelines before each return. + This include also some whitespace/tab replacements. + +2007-06-12 Danny Kukawka + + * kpowersave.kdevelop: Magic change with new version ... + + Moved kpowersave to use functions from kdebug.h instead of own + myDebug() macro. Added some smaller marcos to: trace function + entry and leave points and to add time infos to output of + e.g. kdDebug() (funcinfo). Via kpowersave option --dbg-trace + the user can enable (additional ) function tracing. This should + fix sf.net feature request #1721072. + + * src/autosuspend.cpp: + * src/configuredialog.cpp: + * src/dbusHAL.cpp: + * src/detaileddialog.cpp: + * src/hardware.cpp: + * src/hardware_battery.cpp: + * src/hardware_batteryCollection.cpp: + * src/hardware_cpu.cpp: + * src/inactivity.cpp: + * src/kpowersave.[cpp,h]: + * src/kpowersave_debug.h: + * src/main.cpp: + * src/screen.cpp: + +2007-05-10 Danny Kukawka + + * src/hardware.[cpp,h]: Added code to stop the elapsed time + between suspend call and the resume event. Emit in this case + resumed(INT_MAX) from HardwareInfo::handleResumeSignal() to + allow us to guess better if this was really the much-loved + 6 hour D-Bus timeout. + * src/kpowersave.cpp: Changed debug message from myDebug() + to qdebug() and extended the message text if we assume the + resume error is a D-Bus timeout. + +2007-05-10 Danny Kukawka + + * src/dbusHAL.cpp: Added code to check if the returned + message is really DBUS_MESSAGE_TYPE_METHOD_RETURN as + expected. + * src/hardware.cpp: Changed debug message due to a bug in + HAL or the spec: SetPowerSave() doesn't return a INT32 but + BOOLEAN. + +2007-05-10 Danny Kukawka + + * src/dbusHAL.cpp: added TODO + * src/hardware.[cpp,h]: Fixed call for SetPowerSave to get + also the returnvalue from the HAL method. + +2007-05-10 Danny Kukawka + + * src/hardware.[cpp,h]: Make also AC Adapter events + intependent from QT3/DBus event loop. + +2007-05-09 Danny Kukawka + + * TODO: updated/cleaned up TODOs + +2007-05-09 Danny Kukawka + + * src/hardware.[cpp,h]: Added support to handle brightness + key events if the machine not already handle this in the + hardware directly (as e.g. IBM/Lenovo Thinkpads). + There is no configuration for this feature. The events get + directly translated to change the level +-1 level per + key event. + +2007-05-03 Danny Kukawka + + * src/screen.cpp: Add debug message and code comment. + +2007-05-02 Danny Kukawka + + * src/config/kpowersaverc_default: Change default timeout + to fake keyevent for locked screen to 2.5 seconds + * src/kpowersave.cpp: Changed behavior and timeouts to + fake keyevents if screen is locked and if resume/open Lid + to use activateLoginScreen() function and to check first + if timeToFakeKeyAfterLock >= 0. This allow the user to + deactivate the faked key events by set value for configkey + timeToFakeKeyAfterLock to -1 in the [General] section. + +2007-05-02 Danny Kukawka + + * src/hardware.h: set checkLidcloseState() as private slot. + +2007-05-02 Danny Kukawka + + * src/configuredialog.cpp: Fix detection if brightness + changes are really supported. If max. level of brightness + -1 is <= 0 brightness changes are now unsupported. If the + result is > 0 it is supported. Thanks to Dawid Wróbel + for report and help to find the problem. + +2007-05-02 Danny Kukawka + + * src/configuredialog.cpp: Add debug messages to trace the + function calls. + +2007-04-24 Danny Kukawka + + * src/hardware.cpp: Fixed b.n.c bug #266243. Check if + info.capability contains laptop_panel instead of check for + info.category=laptop_panel because not all machines which + provide capability to change brightness have info.category + correct set in HAL atm. + +2007-04-22 Danny Kukawka + + * src/hardware.[cpp,h]: Added new function to set a CPUFreq + governor via DBus call to avoid code duplication. Added + new QStringList for dynamic CPUFreq and iter about the + list to set a governor. + Ported patch from Andreas Schwab for + b.n.c #229234, get return value from call for set CPUFreq + governor (Could not reproduce the problem!). + +2007-04-16 Danny Kukawka + + * src/inactivity.[cpp,h]: Added new function and moved code + from checkXInactivity() to getXInactivity() to be able to + reuse the code in derived classes. + +2007-04-13 Danny Kukawka + + * src/kpowersave.cpp: Only go to suspend on a button event + if we already resumed successful. This should solve problems + if we get may e.g. a event for the powerbutton if there + machine was waked up via power button which could lead to + a second suspend. + +2007-04-12 Danny Kukawka + + * src/kpowersave.cpp: Fixed resume behavior. If KPowersave + assume that a timeout for the suspend call happend do the + same as on succesful resume including remount, but print a + debug message. + +2007-04-12 Danny Kukawka + + * src/hardware.[cpp,h]: Fixed usage of enum cpufreq_type. + Pointed out by Doug Goldstein . Enum isn't + int - it's (8bit) char, enum = int would lead to a segmentation + fault. It's not allowed/possible in C++. Added new + 'UNKNOWN_CPUFREQ = -1' to the enum and use this instead of -1. + + Changed also the type of currentCPUFreqPolicy and the + return type of checkCurrentCPUFreqPolicy() to cpufreq_type. + + This should fix problems where we can't access the CPUFreq + interface on HAL e.g. because of the new ConsoleKit. + +2007-04-11 Danny Kukawka + + * src/kpowersave.h: update Copyright header to the same as + the cpp file. Removed not needed include. + +2007-04-11 Danny Kukawka + + * src/kpowersave.[cpp,h]: Removed no longer used code for the + suspend dialog we used to show the progress while suspend with + powersaved. + +2007-04-11 Danny Kukawka + + * src/kpowersave.cpp: cleanup doubled code, use existing + function showDetailedDialog() to show detailed dialog on + mousePressEvent() + +2007-04-10 Danny Kukawka + + Cleanup class kpowersave - moved code to reset XScreensaver + to class screen where already also all the screensaver stuff + is located: + + * src/kpowersave.[cpp,h]: + * src/screen.[cpp,h]: + +2007-04-10 Danny Kukawka + + * src/kpowersave.cpp: Removed notifyAutosuspend() and moved + code to do_autosuspend() this should prevent two connects to + the same event - can do this all better in one function. + Call delete() also for autosuspend on destructor. + +2007-04-10 Danny Kukawka + + * src/logviewer.cpp: Include moc file. Fixed possible file + descriptor leak. + +2007-04-10 Laurent Montel + + Fixed several memory leaks and removed checks for pointer which + are NULL before call delete(), because this is waht delete() + also do internly: + + * src/inactivity.cpp: + * src/kpowersave.cpp: + * src/screen.cpp: + * src/screen.h: + * src/settings.cpp: + +2007-04-10 Danny Kukawka + + * src/configuredialog.cpp: Applied slightly adopted patch from + Laurent Montel to avoid problems with + html tags in KMessageBox dialog text. + +2007-04-10 Danny Kukawka + + Moved all moc includes to end of cpp-files, added some code + comments and smaller code formatting changes: + + * src/autosuspend.[cpp,h]: + * src/blacklisteditdialog.cpp: + * src/configuredialog.cpp: + * src/dbusHAL.cpp: + * src/hardware.cpp: + * src/hardware_battery.cpp: + * src/hardware_batteryCollection.cpp: + * src/inactivity.cpp: + * src/infodialog.cpp: + * src/screen.cpp: + +2007-04-10 Laurent Montel + + Make moc files being included to speed up build and to fix some + parallel build issues: + + * src/autosuspend.cpp: + * src/dbusHAL.cpp: + * src/hardware.cpp: + * src/hardware_battery.cpp: + * src/hardware_batteryCollection.cpp: + * src/hardware_cpu.cpp: + * src/inactivity.cpp: + * src/screen.cpp: + +2007-04-10 Danny Kukawka + + Moved unused string to dummy class for later reuse. + + * src/configuredialog.cpp: + * src/dummy.cpp: + +2007-04-10 Danny Kukawka + + Updated file templates: + + * templates/cpp: + * templates/h: + +2007-04-09 Danny Kukawka + + * src/hardware.cpp: Slightly changed checkCurrentCPUFreqPolicy() + to avoid problems if the DBus call return something wrong or + nothing (as e.g. NULL). + +2007-04-09 Danny Kukawka + + * src/dbusHAL.cpp: make isUserPrivileged() more robust to + avoid possible segmentation faults. + +2007-04-03 Danny Kukawka + + Fixed problems with current battery warning level if the + values for the level get changed via the config dialog: + + * src/hardware.cpp: Call refreshInfo() for the primary + battery collection if the warning levels get set/changed and + force the recheck of the current level. + * src/hardware_batteryCollection.[cpp,h]: Added new parameter + to refreshInfo to force recheck the battery warning levels also + if the percentage of the battery not changed. This would help + to get the actual warning level due to changes in the settings + for the level immediately after the change. + +2007-04-03 Danny Kukawka + + * src/hardware.[cpp,h]: Add new helper functions/SLOTS to + forward the events for Power, Sleep and s2disk buttons and the + lidclose event. Changed current code to emit the signals not + directly but to call a QTimer:singleShot() with the new SLOTS + instead. This should make the eventhandling from QT3 D-Bus + bindings independent from the event loop (including may + blocking dialogs in KPowersave). + This fix hopefully fix b.n.c #256372. + +2007-03-26 Danny Kukawka + + * src/kpowersave.cpp: Applied patch from Laurent Montel + to avoid double translation. + +2007-03-26 Danny Kukawka + + * src/kpowersave.cpp: Applied patch from Laurent Montel + to fix problems with error messages + from the KDE Media Manager, which can be formated with html- + tags. + + Added comment to code about the change. + +2007-03-26 Danny Kukawka + + * src/kpowersave.cpp: Fixed b.n.c bug #257326. Ignore battery + warnings if the machine is on AC. This case can happen if e.g + the battery charging state is not up-to-date if we get the low + level warnings. + +2007-03-22 Danny Kukawka + + * src/kpowersave.cpp: Applied slightly adopted patch from + caglar@pardus.org.tr to show log of pm-utils on Pardus. + +2007-03-22 Danny Kukawka + + * src/config/kpowersaverc_default: Added wodim to autosuspend + blacklist. + +2007-03-22 Danny Kukawka + + * src/kpowersave.cpp: Stop autosuspend before call suspend and + also if autosuspend get disabled (this worked also before and + produced no unintentional suspend because this was checked before + the suspend get called). I could not reproduce this bug reported + for (K)Ubuntu: https://launchpad.net/bugs/94396, but it maybe help. + +2007-03-16 Danny Kukawka + + Fixed Debian bug #413811 and display message to the user if the + suspend/resume fail: + + * src/kpowersave.[cpp,h]: Added new function forwardResumeSignal() + to independent handleResumeSignal() from the event loop to avoid + problems with QT3 D-Bus bindings. Emit KNotify before handle the + error codes. If a error occurs display a KMessageBox::error() to + the user. If the system is a SUSE product offer the user to show + the /var/log/pm-suspend.log file and save the file. + + NOTE: - if other distributions want to show the log to the user + they have to provide code. + - pm-utils currently always return 0, also on failure, + need a fixe in pm-utils to get a error code + +2007-03-16 Danny Kukawka + + * src/logviewer.cpp: fixed check if we can use the filename + given by to user to save the logfile. Continue if the filname is + available. + +2007-03-16 Danny Kukawka + + * src/kpowersave.cpp: ident changes + +2007-03-16 Danny Kukawka + + * src/kpowersave.[cpp,h]: s/KPOWERSAVE_CONFIGURE_/CONFIGURE_/ + +2007-03-16 Danny Kukawka + + Added new dialog to show log files: + + * src/Makefile.am: added new files + * src/kpowersave.[cpp,h]: small cleanups and added pointer to new + class. + * src/log_viewer.ui: UI file of the new dialog + * src/logviewer.[cpp,h]: Implementation of new logviewer dialog + with option to save the logfile to a user-selectable file. + +2007-03-15 Danny Kukawka + + * kpowersave.kdevelop: again a minor kdevelop change + * src/kpowersave.cpp: Fixed Debian bug #413638: if config dialog + is minimized and the user try to start config dialog via applet + reactivate the dialog. + +2007-03-12 Danny Kukawka + + * src/kpowersave.[cpp,h]: Added helper funtion to translate the + type of a suspend to a usefull i18n()-string. Replace existing + code. Added a debug msg if suspend/resume fail. + +2007-03-12 Danny Kukawka + + * src/kpowersave.cpp: Applied patch from Andreas Schwab + to avoid possible segmentation fault. + +2007-03-09 Danny Kukawka + + Fixed event message for scheme switching. + + * src/eventsrc: Removed 'Powersave' from generic and german + message (need new translations for the rest). Removed complete + message event handling for no longer existing "Advanced Powersave" + scheme. + * src/kpowersave.cpp: removed 'Powersave' from message + +2007-03-09 Danny Kukawka + + Updated dates in copyright headers: + + * src/dbusHAL.[cpp,h]: + * src/detaileddialog.cpp: + * src/hardware*.[cpp,h]: + * src/inactivity.cpp: + * src/kpowersave.cpp: + * src/main.cpp: + * src/screen.[cpp,h]: + +2007-03-09 Danny Kukawka + + * src/dbusHAL.cpp: emit signal about resume first if the + pending call and the messages get unrefed. + +2007-02-28 Danny Kukawka + + * src/detaileddialog.cpp: Fixed by Jozef Sakáloš + reported bug about wrong unit for + power consumption. Since HAL not provide info about the unit + of battery.*.rate keys, I removed simply the 'h' from the + unit string reported by HAL for the battery level keys. + +2007-02-22 Danny Kukawka + + * packaging/mandriva.2007.1.kpowersave.spec: Due to f***ing + package name conventions for 64bit on Mandriva added more + %ifarch calls for required packages to spec file. + +2007-02-22 Danny Kukawka + + Renamed mdk.cooker.*.spec to mandriva.2006.1.*.spec and added + new spec file for Mandriva Cooker 2007.1 + + * packaging/mandriva.2006.1.kpowersave.spec: + * packaging/mandriva.2007.1.kpowersave.spec: + * packaging/mdk.cooker.kpowersave.spec: + +2007-02-22 Danny Kukawka + + * packaging/FC6.kpowersave.spec: Added new spec file for Fedora + Core 6. + +2007-02-14 Danny Kukawka + + Tagged new release version 0.7.2 + +2007-02-14 Danny Kukawka + + Updated Changelogs for the release v0.7.2: + + * ChangeLog.package: + * doc/doxy/changelog.dox: + +2007-02-14 Danny Kukawka + + * NEWS: added news for v0.7.2 release + * src/hardware_battery.cpp: fixed code docu + +2007-02-14 Danny Kukawka + + * doc/doxy/fixed_bugs.dox: Updated list of fixed bugs for docu. + +2007-02-14 Danny Kukawka + + * src/hardware.[cpp,h]: Added new private member to hold the + current governor from checkCurrentCPUFreqPolicy() call. Added a + check for the DYNAMIC CPU Freq policy case if the current + governor is ondemand or not. If not, try to set always ondemand. + This should fix b.n.c bug #245081 (Kpowersave does not set + ondemand governor on startup if e.g. current is userspace). + +2007-02-13 Danny Kukawka + + * README: Applied patch from S.Çağlar Onur to fix typo + s/Padrus/Pardus/ + * doc/doxy/main.dox: Fixed the same typo + +2007-02-13 Danny Kukawka + + * doc/doxy/README: fixed typo + * doc/doxy/fixed_bugs.dox: Removed no longer available reference. + * doc/doxy/main.dox: Updated with actual data and added contact + section. + +2007-02-13 Danny Kukawka + + * doc/doxy/enhance.dox: Removed already implemented and outdated + enhancements. + +2007-02-13 Danny Kukawka + + * doc/doxy/process.dox: Update/cleanup + +2007-02-13 Danny Kukawka + + Removed no longer needed doxygen site about implemented features. + This file is useless and cost to much time to be always + up-to-date, all the info can also be found in the Changelogs and + the SVN: + + * doc/doxy/README: + * doc/doxy/implemented.dox: + +2007-02-13 Danny Kukawka + + * README: updated websites and help information, added Link to + Pardus Bugzilla to the list. + +2007-02-12 Danny Kukawka + + * TODO: Cleanup + +2007-02-12 Danny Kukawka + + * src/kpowersave.cpp: Changed KMessageBox notify option for + handleMount() error dialog to get a notify sound (especially if + the lid get closed). + +2007-02-12 Danny Kukawka + + * src/kpowersave.cpp: Fixed b.n.c #244052. On button events which + call suspend2* and the system get problems with umount partitions + which at least cause open a blocking KMessageBox result in 100% + CPU usage. This happen because the QT D-Bus bindings wait for a + result from the related KPowersave filter function (return a + DBUS_HANDLER_RESULT_* to the bus). This happen also because the + signals in QT are only function calls which not are really emitted + to the QT event loop as assumed (the KMessageBox block the filter- + function). + Fixed this by use QTimer::SingleShot() to call the suspend, in the + handleActionCall() function, because QTimer shots uncouple the + suspend call from the filter function workflow. + +2007-02-12 Danny Kukawka + + * src/kpowersave.cpp: Only lock the screen and force DPMS if there + is no action for lidclose event/button defined. Otherwise the + related action as e.g. suspend2disk (should) handle the lock and + in this case there is no need to force DPMS off. + +2007-02-12 Danny Kukawka + + Added new translation files send by Zhengpeng Hou + : + + * po/zh_CN.po: (295/0/1) + * po/zh_TW.po: (296/0/0) + +2007-02-12 Danny Kukawka + + Don't allow action LOGOUT_DIALOG for lidclose button. It make + absolute no sense to show the logout dialog with closed lid ;-) : + + * src/configuredialog.cpp: + * src/settings.cpp: + +2007-02-09 Danny Kukawka + + * src/kpowersave.cpp: Applied patch from S.Çağlar Onur + to fix typo in a hwinfo->setCPUFreq() call. + +2007-02-07 Danny Kukawka + + Move CPU information related functions from HardwareInfo class to + a new class CPUInfo since they are only used by the detailed + dialog and don't depend on the other code of HardwareInfo: + + * kpowersave.kdevelop: call external qtdesigner from now + * src/Makefile.am: Added new files. + * src/detaileddialog.[cpp,h]: adopted changes + * src/hardware.[cpp,h]: Removed cpu information related code. + * src/hardware_cpu.[cpp,h]: Added new files/class to handle all + CPU information related functionality which was former in the + HardwareInfo class/file. + +2007-02-05 Danny Kukawka + + * po/da.po: Added new (296/0/0) danish translation from Stefan + Skotte + +2007-02-05 Danny Kukawka + + Fixed b.n.c #229960 and added support for SetCPUFreqPerformance + to the HAL CPU freq interface to set the limit for the dynamic CPU + freq policy: + + * src/config/kpowersaverc_default: Added new config value for the + to set the performance limit on dynamic CPU freq policy for each + scheme and added useful default values. + * src/hardware.[cpp]: Added code to call SetCPUFreqPerformance on + dynamic CPU freq. Removed no longer needed enum and case for + DYNAMIC_SET. + * src/kpowersave.cpp: Changed function calls to give the needed + config value to hwinfo->setCPUFreq() as param. + * src/settings.[cpp,h]: Added code to read the new config key and + value for the schemes from the config file. + +2007-02-02 Danny Kukawka + + * po/tr.po: Applied new updated turkish translation file (296/0/0) + from S.Çağlar Onur + +2007-02-01 Danny Kukawka + + Fixed b.n.c #239771: added support for SetPowerSave HAL method. + + * src/hardware.[cpp,h]: Added new function to call the related + D-Bus call for HAL. + * src/kpowersave.cpp: Call HardwareInfo::setPowerSave() with true + if on battery and with false otherwise. + +2007-02-01 Danny Kukawka + + * po/da.po: Merged and slightly updated translation from + Stefan Skotte (stat: 254/41/1) + +2007-02-01 Danny Kukawka + + * po/de.po: completed translation due to last change. + +2007-02-01 Danny Kukawka + + Updated translation strings and merged back to po files. + + * po/*.po: + * po/kpowersave.pot: + +2007-02-01 Danny Kukawka + + Added new typ of action to call the KDE logout dialog on events: + + * src/config/kpowersaverc_default: Added LOGOUT_DIALOG to allowed + button events. This action make no sence on battery events. + * src/configuredialog.cpp: Updated mapping and translate string. + * src/kpowersave.cpp: Added code to call the KDE lougout dialog. + * src/settings.[cpp,h]: Added code to read the setting and map + the config value to the actions. + +2007-02-01 Danny Kukawka + + Removed '&' from translation due to last changes. German and + Turkisch translation are now complete again. + + * po/de.po: + * po/tr.po: + +2007-02-01 Danny Kukawka + + * po/*.po: Merged with actual pot file. + +2007-02-01 Danny Kukawka + + * po/kpowersave.pot: Updated pot file due to last changes. + +2007-02-01 Danny Kukawka + + Removed Accelerator tag ('&') from text of several widgets. + This should fix problems with change translations if a GUI get + changed. Actual KDE versions should handle this automatically. + + * src/blacklistedit_Dialog.ui: + * src/configure_Dialog.ui: + * src/configuredialog.cpp: Need to call + KAcceleratorManager::manage() manually because it did not work. + * src/detailed_Dialog.ui: + * src/info_Dialog.ui: + +2007-01-31 Danny Kukawka + + * src/configure_Dialog.ui: Fixed tab order for all widgets. + +2007-01-31 Danny Kukawka + + * kpowersave.kdevelop: updated to new KDevelop 3.4.0/KDE 3.5.6 + +2007-01-31 Danny Kukawka + + * src/configure_Dialog.ui: set buddy to QLabel widgets for + easier access to e.g. QSpinBox or QComboBox widgets. + +2007-01-30 Danny Kukawka + + Applied new updated turkish translation file and two small + fixes from S.Çağlar Onur : + + * po/sl_SI.po: removed left over line from cleanup + * po/tr.po: full translated + * po/zh_TW.po: removed left over line from cleanup + +2007-01-26 Danny Kukawka + + * po/*.po: cleanup translation, removed no longer needed and + already unused strings/translations and removed wrong/ + useless header comments + +2007-01-26 Danny Kukawka + + * po/de.po: updated/completed german translation + +2007-01-26 Danny Kukawka + + * po/*.po: Merged new pot file with existing po files. + +2007-01-26 Danny Kukawka + + * po/kpowersave.pot: updated pot file due to last changes + +2007-01-26 Danny Kukawka + + Fixed usage of D-Bus in strings and code comments + (s/DBUS/D-Bus/ and s/D-BUS/D-Bus/). + + * src/dbusHAL.[cpp,h]: + * src/dummy.cpp: + * src/hardware.[cpp,h]: + * src/kpowersave.cpp: + * src/main.cpp: + +2007-01-26 Danny Kukawka + + * src/main.cpp: Fixed description of KPowersave. + +2007-01-26 Danny Kukawka + + * src/configure_Dialog.ui: Fixed widgets to avoid resize the + config dialog in some tabs of the scheme settings. + +2007-01-26 Danny Kukawka + + * po/de.po: update german translation file, now complete. + +2007-01-26 Danny Kukawka + + * src/kpowersave.cpp: Fixed b.n.c #230686. Load the settings + for the current scheme if the config GUI get closed to force + changes on a scheme to the system. Also set the battery + warning levels to the primary battery object to get the + correct warnings if they maybe changed. + +2007-01-25 Danny Kukawka + + * po/de.po: removed no longer needed strings from file + +2007-01-25 Danny Kukawka + + * po/*.po: Merged new pot file with existing po files. + +2007-01-25 Danny Kukawka + + * po/kpowersave.pot: updated pot file for new translation + round, removed useless strings from 'make messages' + +2007-01-25 Danny Kukawka + + * src/configure_Dialog.ui: fixed string to match existing + translation strings + * src/settings.cpp: removed empty lines + +2007-01-25 Danny Kukawka + + Added feature: show power consumtion of battery in the + detailed information dialog: + + * src/detailed_Dialog.ui: Added new widgets to show the new + information about power consumtion as QLabels, added spacer + to the AC related info in the battery area for a better look. + * src/detaileddialog.[cpp,h]: Added code to fill and update + the new widgets related on battery state and events. This + mean: the current rate/power consumtion get only updated if + we get the info from HAL - KPowersave do not poll for this + info. The widget get hide if there is no info. + * src/hardware_battery.cpp: Emit signal to monitor current + rate of battery. + * src/hardware_batteryCollection.[cpp,h]: Added some code to + hold the current rate and the rate unit. Emit signals if the + current rate change (don't emit general change signal, since + this maybe produce useless calls in other parts of KPowersave + than only in the detailed dialog). + Added some function to get the new private class members. + +2007-01-24 Danny Kukawka + + * src/detaileddialog.cpp: Fixed b.n.c #230965. Always reset + the QProgressBar before update the infos in the bar, otherwise + the first bar get randomly updated! + +2007-01-24 Danny Kukawka + + * src/configure_Dialog.ui: Changed some descriptive strings. + +2007-01-24 Danny Kukawka + + * src/configuredialog.cpp: Changed icon name because char.png + is not defaultly in the system. + * src/pics/cr22-action-button.png: added new icon for the + buttons tab in the 'General Settings' part of the config dialog. + +2007-01-23 Danny Kukawka + + * src/configure_Dialog.ui: Added new slots to catch changes. + * src/configuredialog.[cpp,h]: Implemented new slots to + hide/show the QSpinboxes for the brightness settings in the + battery tab of the general settings, depending of the selected + action. + +2007-01-23 Danny Kukawka + + * src/configure_Dialog.ui: fixed one more string to match + existing translations. + +2007-01-23 Danny Kukawka + + Added code to support also switch to CPU Freq policy + performance via actions on events: + + * src/config/kpowersaverc_default: + * src/configuredialog.cpp: + * src/kpowersave.cpp: + * src/settings.[cpp,h]: + +2007-01-23 Danny Kukawka + + * po/cs.po: fixed spelling bug from b.n.c #232058 + +2007-01-23 Danny Kukawka + + * src/kpowersave.cpp: removed unused variable + +2007-01-23 Danny Kukawka + + * src/configure_Dialog.ui: removed not needed sizePolicy + +2007-01-23 Danny Kukawka + + * src/configure_Dialog.ui: Fixed strings to fit to already + existing translations. Fixed some spacer to avoid resize. + +2007-01-23 Danny Kukawka + + Changed Licence text in source files to only accept GPLv2 + from now on: + + * src/*.[cpp,h]: + * templates/[cpp,h]: + +2007-01-23 Danny Kukawka + + * src/configure_Dialog.ui: fixed slot name for edit general + autosuspend blacklist. + * src/configuredialog.cpp: fixed call to open the edit + autosuspend blacklists to get displayed over the config + dialog. + +2007-01-23 Danny Kukawka + + * src/configuredialog.cpp: Added code to store the values + from the new 'General Settings' widgets to the config file. + +2007-01-23 Danny Kukawka + + * src/configure_Dialog.ui: changed param of battery level + QSpinBox slots (no param instead of int) + * src/configuredialog.[cpp,h]: Added slots to set the battery + level QSpinBoxes to correct values: warning > low > critical. + +2007-01-22 Danny Kukawka + + * src/configure_Dialog.ui: fixed tab label + * src/configuredialog.cpp: Fill QComboBoxes for ac/battery + default schemes now within setSchemeList(). Changed position + of call setGeneralSettings() on init the dialog and added + code to fill the 'Default Schemes' tab of the general + settings. Set now a icon for this tab. + +2007-01-22 Danny Kukawka + + * src/config/kpowersaverc_default: added new config key + for allowed actions on button events and change the name of + the key for allowed battery actions. + * src/configuredialog.cpp: related changes to above and added + code to fill the buttons tab with related values. + +2007-01-22 Danny Kukawka + + * src/configuredialog.cpp: Added code to fill the battery + tab of the general settings with the values from the config + file. + +2007-01-22 Danny Kukawka + + * src/configuredialog.[cpp,h]: Changed strings for 'set + brightness' action and added a new helper function to fill + a QComboBox with a list of actions (mapped to descriptive + and translated strings) and select a given action. + +2007-01-22 Danny Kukawka + + * src/configure_Dialog.ui: removed some spacer and changed + some widget names. + +2007-01-22 Danny Kukawka + + * src/configuredialog.cpp: Added checks if CPUFreq, + suspend and brightness is really supported by the machine + to the map action helper functions. Otherwise return a + empty QString. + +2007-01-22 Danny Kukawka + + * src/configure_Dialog.ui: added suffixes to QSpinBox + widgets. + +2007-01-22 Danny Kukawka + + * src/configure_Dialog.ui: added widgets for set value of + brightness on battery warning levels. Fixed max level for + several QSpinbox widgets. + +2007-01-22 Danny Kukawka + + * src/configuredialog.[cpp,h]: Added two helper functions + to map the keys for actions in the config to a usefull + string for the GUI and back. + +2007-01-22 Danny Kukawka + + Move some more dummy strings: + + * src/detaileddialog.cpp: + * src/dummy.cpp: + +2007-01-21 Danny Kukawka + + * src/configuredialog.cpp: set icons for general settings + Toolbox tabs. + +2007-01-21 Danny Kukawka + + * src/configure_Dialog.ui: Fixed layout and (re)added + slots for signals and actions. + +2007-01-21 Danny Kukawka + + Added new class/file to collect translation dummy strings + from other classes. This cleanupt the code of the files + and make it easier to maintain translation strings: + + * src/dummy.cpp: new file + * src/Makefile.am: + Removed dummy strings from: + * src/configuredialog.cpp: + * src/kpowersave.cpp: + * src/screen.cpp: + * src/settings.cpp: + +2007-01-19 Danny Kukawka + + * src/configure_Dialog.ui: Added first new version of the + configure dialog to be able to set the new non-scheme + specific settings. + + NOTE: It build currently, but the new widget have no + functions. + +2007-01-16 Danny Kukawka + + * src/settings.cpp: Applied patch from Olivier Blin + to fix handling of sleep and s2disk + button actions. + +2007-01-15 Danny Kukawka + + * src/configuredialog.cpp: Change the brightness in the + config dialog only if really activated. + +2007-01-15 Danny Kukawka + + * src/configuredialog.cpp: Added support to delete a user + specific scheme. The user can't delete on of the currently + 4 default schemes or if the selected scheme is the AC or + battery default scheme. + +2007-01-08 Danny Kukawka + + Added support for sleep/suspend and s2disk/hibernate buttons + and related action calls: + + * src/config/kpowersaverc_default: added new config keys to + define the default action for the two keys + * src/hardware.[cpp,h]: Added new signal and filter all the + related keys from HAL interface. + * src/kpowersave.[cpp,h]: Addes functions to catch the events + of the button get pressed and call the allowed actions (for + the moment only s2ram and s2disk is allowed to these events) + * src/settings.[cpp,h]: Added support to read the new config + keys and to store them in member variables. For now added a + check to be sure that only s2ram and s2disk are allowed actions + for these key events. + +2007-01-08 Danny Kukawka + + Commited unsaved change, updated Changelog: + + * src/kpowersave.cpp: Changed lockScreen() DCOP function to + lock simply the screen unrelated to the setting for suspend + on suspend. + +2007-01-08 Danny Kukawka + + * src/kpowersave.[cpp,h]: Fixed lock screen on suspend and + removed no longer needed code/functions. Thanks to Andrey + Borzenkov for the report. + * src/settings.cpp: Changed fallback values for lock on + suspend and lidclose from false to true due to security + and privacy reasons. + +2007-01-04 Danny Kukawka + + * src/kpowersave.cpp: fixed b.n.c #231709 by fixing minor + compiler warning about "comparison with string literal" + by using strcmp(). + +2006-12-27 Danny Kukawka + + * src/configuredialog.cpp: Removed done TODO's and debug code. + +2006-12-27 Danny Kukawka + + * src/configuredialog.[cpp,h]: Seperated code to set the + current scheme (based on the scheme name) to a own function. + Added code to add a new scheme. For now the new scheme get + initialized with the values from the default-scheme. + +2006-12-26 Danny Kukawka + + Extendended configure GUI to config the CPU Freqency policy + for each scheme. The related page in the dialog is deactivated + if the machine doesn't support CPU Freq. + Added buttons to add new and delete existing schemes (TODO: + add related code). + Renamed some widgets. + + * src/configure_Dialog.ui: + * src/configuredialog.cpp: + +2006-12-25 Danny Kukawka + + * src/hardware.cpp: Added support for conservative governor + as a DYNAMIC CPU frequency policy fallback and some debug + messages. + +2006-12-17 Danny Kukawka + + Fixed b.n.c bug #229234: + + * src/hardware.[cpp,h]: Changed checkCurrentCPUFreqPolicy() + from void to int to return the current CPU Freq policy to + the caller. + Added check to setCPUFreq() for the DYNAMIC case to check + if the 'ondemand' governor was really set and try then + the 'userspace' governor. + +2006-12-15 Danny Kukawka + + s/kde_settings/kde/ + + * src/kpowersave.cpp: + * src/settings.[cpp,h]: + +2006-12-15 Danny Kukawka + + * src/kpowersave.cpp: Little fix for disable s2ram and + standby menu entry if not allowed while call action. + +2006-12-08 Danny Kukawka + + * src/dbusHAL.cpp: fixed compiler warning from b.n.c bug + #226875 with proposed change from David Binderman + + +2006-12-04 Danny Kukawka + + * src/kpowersave.[cpp,h]: Added code to handle the power + button event and to call the related action. + +2006-12-01 Danny Kukawka + + Added new config key to be able to config actions if the + power button get pressed. + + * src/config/kpowersaverc_default: + * src/settings.[cpp,h]: + +2006-12-01 Danny Kukawka + + * src/hardware.cpp: removed no longer needed init for some + class memebers. + +2006-11-27 Danny Kukawka + + * src/kpowersave.cpp: Fix to set the type of suspend before + call handleMounts() and reset in the error case to show the + correct caption for the error dialog if the umount fail. + Added i18n() call to translate the caption correct. + +2006-11-27 Danny Kukawka + + * src/kpowersave.cpp: Added "Don't ask again" checkbox to + error message box if KPowersave get a error from kded for + umount partitions before suspend. + Fixed dialog caption to display the correct type of suspend. + +2006-11-27 Danny Kukawka + + * src/kpowersave.[cpp,h]: Fixed battery critical action if + the actiontype is SHUTDOWN. We can't call a slot from a QT + single shot with parameter as it looks. + +2006-11-27 Danny Kukawka + + * src/hardware.cpp: Added code to call SetCPUFreqConsiderNice + depending on DYNAMIC CPU Freq Policy and the state of the + AC adapter. The code should set ConsiderNice with true + if the AC adapter is online and false if the machine is on + battery. + +2006-11-27 Danny Kukawka + + Make KPowersave more stable (hopefully), added some checks + and (re)set some variables in error cases. + + * src/dbusHAL.cpp: + * src/hardware.cpp: + +2006-11-22 Danny Kukawka + + * src/hardware.cpp: typo and whitespace fix + * src/kpowersave.cpp: reset the cPU Freq Policy after resume, + after resume (IMO to workaround a bug in the kernel, because + the kernel should resume with the same CPU Freq settings as + on suspend) + +2006-11-22 Danny Kukawka + + * src/kpowersave.cpp: Added some code to display error msg + to the user on suspend and display a dialog to choose between + stop and continue the suspend. Default should be stop suspend + as also ESC is. + +2006-11-22 Danny Kukawka + + * src/kpowersave.cpp: Added code to remount the before + suspend/standby unmounted external storage volumes. + Show the user a passive popup if there is a error while try + to remount. + +2006-11-22 Danny Kukawka + + * src/kpowersave.cpp: Added initial code to umount before + suspend. + + TODO: add code to inform the user about the error and offer + a way to suspend also if KPowersave can't umount. + +2006-11-22 Danny Kukawka + + * src/kpowersave.[cpp,h]: Added function to handle umounts/ + remounts on suspend/resume via kded mediamanager DCOP calls. + +2006-11-22 Danny Kukawka + + * src/config/kpowersaverc_default: added new config variable + for umount/remount on suspend + * src/settings.[cpp,h]: added code to read the new variable + from the config file and store the value to a class member. + +2006-11-21 Danny Kukawka + + * admin: removed property svn:mime-type from files + +2006-11-21 Danny Kukawka + + * src/kpowersave.cpp: Fixed applet tooltip to show correct + information if the battery is in state CHARGING. + +2006-11-21 Danny Kukawka + + * src/kpowersave.cpp: Fix battery warning level handling and + show warning messages to the user only if battery state is + not CHARGING. + +2006-11-20 Danny Kukawka + + * admin/cvs.sh: added support for automake 1.10 + +2006-11-20 Danny Kukawka + + Tagged new offical release 0.7.1 + +2006-11-20 Danny Kukawka + + * TODO: updated + +2006-11-20 Danny Kukawka + + * NEWS: added new for new release 0.7.1 + +2006-11-20 Danny Kukawka + + Updated required D-Bus version numnber: + + * README: + * doc/doxy/main.dox: + + Fixed code comments, added missing function parameter docu, + removed file-version tags, update date of some files: + + * src/dbusHAL.[cpp,h]: + * src/hardware.[cpp,h]: + * src/hardware_battery.[cpp,h]: + * src/hardware_batteryCollection.[cpp,h]: + * src/screen.[cpp,h]: + +2006-11-20 Danny Kukawka + + * doc/doxy/implemented.dox: removed not existing reference + + Fixed code comments and documentation (e.g. undocumented + function parameter): + + * src/dbusHAL.cpp: + * src/hardware.cpp: + * src/hardware.h: + * src/kpowersave.cpp: + * src/settings.h: + +2006-11-20 Danny Kukawka + + * doc/doxy/powersave_msgs.dox: removed no longer needed + code documentation file + +2006-11-20 Danny Kukawka + + * doc/doxy/main.dox: update to current KPowersave version + +2006-11-20 Danny Kukawka + + * TODO: removed done tasks + * src/kpowersave.[cpp,h]: fixed code comments and removed + references to the powersave daemon + * src/main.cpp: changed version string + +2006-11-20 Danny Kukawka + + * NEWS: added news from already released stable versions + 0.6.1 and 0.6.2 + * TODO: removed done tasks and updated status of some + +2006-11-20 Danny Kukawka + + * packaging/openSUSE10.2.kpowersave.spec: added specfile + for openSUSE 10.2 + +2006-11-20 Danny Kukawka + + * src/kpowersave.cpp: Adapted new function to reset the + KDE screensaver (and DPMS) settings. + * src/screen.[cpp,h]: Added new function to call the + configure() at the KScreensaverIface to reset the current + settings to the correct KDE settings from the config files. + This happen currently only if the screensaver is not + active (but enabled). + * src/settings.cpp: Fixed code. + +2006-11-20 Danny Kukawka + + * src/settings.[cpp,h]: Added code to check if KDE use + currently the blank screensaver. + +2006-11-19 Danny Kukawka + + * TODO: removed done issues + * src/dbusHAL.[cpp,h]: Added code to claim/aquire the + org.freedesktop.Policy.Power interface from D-Bus to stop + the powersave daemon/client and to be allowed to handle + the powermanagement policy. + +2006-11-19 Danny Kukawka + + * README: Update dependencies/requirements. + +2006-11-19 Danny Kukawka + + * src/kpowersave.cpp: Added some linebreaks to warning + messages for battery states. + +2006-11-19 Danny Kukawka + + * src/hardware_batteryCollection.cpp: fixed handling + for battery collections if there are no batteries present. + This should abvoid false alarm for battery warning levels. + +2006-11-18 Danny Kukawka + + * src/hardware_battery.cpp: fixed handling if battery + get removed from the system. Don't forget to check the + battery type if reset the battery. + Also fixed emit signals. Emit them first if have read + the values from Hardware and filled the related variables. + +2006-11-18 Danny Kukawka + + * src/settings.cpp: Added some usefull default values + for the KDE settings if we can't read the related values. + +2006-11-17 Danny Kukawka + + * src/kpowersave.[cpp,h]: applied slightly adopted patch + from Dirk Mueller to add a DCOP + function to check if KPowersave already handle DPMS + settings in KDE. This should, togehter with a patch for + KDE, avoid interfere between KDE and KPowersave. + +2006-11-17 Danny Kukawka + + Added new turkish translations from S.Çağlar Onur + : + + * po/tr.po: + * src/kpowersave-autostart.desktop: + * src/kpowersave.desktop: + +2006-11-17 Danny Kukawka + + Added patch from S.Çağlar Onur + to add support for Pardus Linux. + + * configure.in.in: added detect Pardus Linux + * src/kpowersave.cpp: added bugreport address + +2006-11-17 Danny Kukawka + + * src/kpowersave.cpp: fixed bugreport address for + openSUSE + +2006-11-17 Danny Kukawka + + * src/kpowersave.cpp: Reduced function calls to + dbusHAL with updateTooltip(). + +2006-11-16 Danny Kukawka + + * src/kpowersave.cpp: fixed set CPUFreq via the applet + menu and reduced calls if a scheme switched. + +2006-11-16 Danny Kukawka + + * src/dbusHAL.cpp: Fixed free() error, if D-Bus is not + running on startup. + +2006-11-16 Danny Kukawka + + * src/kpowersave.[cpp,h]: s/new_screen/display/ + +2006-11-16 Danny Kukawka + + * ChangeLog.package: updated with info about already + released version 0.7.0 + +2006-11-16 Danny Kukawka + + * src/kpowersave.[cpp,h]: fixed notifySuspend() and + call the function before call suspend/standby via HAL. + +2006-11-16 Danny Kukawka + + * src/kpowersave.[cpp,h]: fixed handling of AC plug + in/out event. Now switch, based on the state of the + AC plug, the AC/Battery scheme. + Also merged other AC state releaded functions to the + new and renamed handleACStatusChange() for a better + control of the workflow. + +2006-11-16 Danny Kukawka + + * src/kpowersave.cpp: changed position of call + setPrimaryBatteriesWarningLevel() to do this first + if the scheme was set. + +2006-11-16 Danny Kukawka + + * src/hardware.[cpp,h]: Added support to check for + PMU support and renamed checkACPI_APM() to more + general name checkPowermanagement() + * src/kpowersave.cpp: extended startup check to + exit only if not ACPI/APM/PMU/CPUFreq/s2disk/2sram. + +2006-11-16 Danny Kukawka + + * TODO: updated TODO to current state of development + +2006-11-14 Danny Kukawka + + * src/kpowersave.[cpp,h]: added code to fetch and + handle the resume signal. Trigger fake key event after + resume if the scree was locked and emit the correct + KNotify signal. + +2006-11-14 Danny Kukawka + + * src/screen.cpp: changed left send() for lock the + screen for KScreenSaver with usage of call(). + +2006-11-14 Danny Kukawka + + * src/hardware.[cpp,h]: Adopted suspend function to + use the new pending calls instead of the old, normal + methodCalls. + Added code to fetch, forward and handle the resume + signal from the dbusHAL class. + +2006-11-14 Danny Kukawka + + * src/dbusHAL.[cpp,h]: added new functions to be able + to handle suspend as pending D-Bus calls. This should + allow us to get a resume signal etc. + Added a new signal to be emitted if we resumed and + to return the result of the resume as a integer value. + +2006-11-13 Danny Kukawka + + * src/screen.cpp: Changed DCOP screen lock call from + send() to call() and try now, if the lock fail, to + use XScreensaver for lock instead. + +2006-11-13 Danny Kukawka + + * src/kpowersave.[cpp,h]: handle lid close/open events + now in one function. If the screen was locked on the + lidclose signal, fake keyevent on open lid. + +2006-11-13 Danny Kukawka + + * src/kpowersave.cpp: display error message on scheme + switch only if the scheme is not known and not if the + current scheme get selected. + +2006-11-13 Danny Kukawka + + * TODO: updated/remove done issues + * src/config/kpowersaverc_default: Added new variables + to call a action of the lid was closed. + * src/kpowersave.[cpp,h]: handle now actions on lidclose + and renamed function to reuse code from battery actions. + s/lockscreenOnLidcloseEvent/handleLidcloseEvent + * src/settings.[cpp,h]: Read new config values to member + variables for general settings. Renamed some members + and definitions to reuse the action stuff. + Sorted code in settings.h to differ between general and + scheme setttings. + +2006-11-13 Danny Kukawka + + * src/kpowersave.cpp: Added fix from Michael Biebl + for debian bug #398201 to avoid crash + of KPowersave if showDetailedDialog() called via DCOP. + +2006-11-13 Danny Kukawka + + * src/kpowersave.[cpp,h]: s/current_settings/settings/ + +2006-11-13 Danny Kukawka + + * src/kpowersave.cpp: fixed event handling for battery + warning states to call related actions also if notify + is disabled. + +2006-11-12 Danny Kukawka + + * src/kpowersave.[cpp,h]: Added some code to call a + defined battery action if a battery warning state + reached. Added special handling for BAT_CRITICAL and + shutdown. + * src/settings.[cpp,h]: changed some types and return + types: s/int/battery_action/ + + TODO: test and handle brightess/cpufreq changes if + the warning state get reduced to set back to + normal values. Maybe simply switch back to the + current scheme settings. + +2006-11-12 Danny Kukawka + + * src/Makefile.am: removed schemes.* from make + * src/schemes.[cpp,h]: removed no longer needed class + and related files + +2006-11-12 Danny Kukawka + + * src/kpowersave.cpp: Added some code comments and + code to set the CPU Freq Policy for each scheme. + * src/settings.[cpp,h]: changed type of CPU Freq + Policy from int to cpufreq_type. + +2006-11-12 Danny Kukawka + + * src/config/kpowersaverc_default: added new entries + to store the CPU Freq Policy for a scheme. Use as + default for all schemes DYNAMIC for now. + * src/settings.[cpp,h]: added code to read the new + entries for the CPU Freqency policy. + +2006-11-11 Danny Kukawka + + * kpowersave.kdevelop: some changes from KDevelop + * src/config/kpowersaverc_default: added some new + configure variables to allow to set a action if a + battery warning level reached. + * src/settings.[cpp,h]: added code to read the values + of the new config values and set them to new member + variables. + +2006-11-10 Danny Kukawka + + * src/hardware.cpp: fixed lock screen if lid closed + (s/button.typ/button.type/) + +2006-11-10 Danny Kukawka + + * src/detaileddialog.cpp: added connect to new signal + for CPUFreq Policy changes to show allways correct + information in the dialog. + * src/hardware.[cpp,h]: added signal emitted if the + CPU Frequency policy was successful (or from other + side) changed/switched. + Reduced code in setCPUFreq() and added a check if the + Policy was really check and emit new signal. + * src/kpowersave.[cpp,h]: added connect for new signal + to set the CPUFreq menu correct if something changed + +2006-11-09 Danny Kukawka + + * src/hardware.[cpp,h]: Added new function to reinit + all hardware information after a HAL or D-Bus restart. + This should reduce the code and ensure that we do + always the same. + Fixed handling of signals if D-Bus restart related to + HAL and D-Bus itself status. + * src/kpowersave.cpp: added a comment + +2006-11-08 Danny Kukawka + + * src/kpowersave.cpp: fixed slot do_setActiveScheme() + to check if the requested scheme is available, load + the scheme settings, call setSchemeSettings() to + set the related changes and inform KNotify. + + TODO next: (1) add support to read the missing config + keys and (2) fix setSchemeSettings() to + set the changes to the kpowersave class + +2006-11-08 Danny Kukawka + + * src/kpowersave.[cpp,h]: renamed some functions + +2006-11-08 Danny Kukawka + + * src/kpowersave.cpp: fixed connect to not existing + slot/function to show error message from autosuspend + +2006-11-08 Danny Kukawka + + * src/hardware.cpp: Fixed detection of suspend/standy + support. HAL also provide the related methodes if + there is no support in the kernel. + + TODO: take a look at this in HAL and if we can fix + +2006-11-07 Danny Kukawka + + * TODO: added some information and currently TODOs + +2006-11-07 Danny Kukawka + + Fixed battery warning state handling and events for + the primary batteries: + + * src/hardware.[cpp,h]: added some private variables + to store the current warning state level which are set + with new function setPrimaryBatteriesWarningLevel(). + We use this function also to reset the warning level + to the current one directly her e.g. after D-Bus or + HAL restart. + Changed signal for reached warning state to emit also + the type and the state of the battery. This should + be more generic and can be reused later for other + battery types. + * src/hardware_batteryCollection.[cpp,h]: changed + signals to emit also battery type. + * src/kpowersave.cpp: changed debug msg and set the + battery warning level temporary in the constructor + to HardwareInfo object. + +2006-11-07 Danny Kukawka + + * src/configuredialog.cpp: fixed brightness related + code to handle new HAL level mapping to percent. + * src/hardware.[cpp,h]: changed setBrightness() to + work with level and percent (added mapping from + percentage to level) and fixed min and max values. + * src/kpowersave.cpp: related changes. + +2006-11-06 Danny Kukawka + + * src/hardware.cpp: Fixed setBrightness (fixed wrong + usage of dbusSystemMethodCall and int as param) + +2006-11-06 Danny Kukawka + + * src/dbusHAL.cpp: Fixed dbusHAL::isUserPrivileged() + to use 'const char *' instead of QString. + +2006-11-06 Danny Kukawka + + * src/hardware.cpp: Fixed case if HAL wasn't present + at startup. Now if hal reconnect recheck all hardware + information. + * src/kpowersave.cpp: Fixed creation of the applet + menu if HAL or D-Bus disappear or/and reconnect. + Fixed applet Icon if HAL/D-Bus is not available. + +2006-11-06 Danny Kukawka + + * src/kpowersave.[cpp,h]: Added new function to show + messages from other classes as e.g. autosuspend to the + user. + Moved some functions within the code. + +2006-11-06 Danny Kukawka + + * src/dbusHAL.cpp: set dbus_is_connected to false if + D-Bus is gone + * src/kpowersave.cpp: fixed display D-Bus error message + and avoid display HAL related error msg if D-Bus is + terminated. + +2006-11-06 Danny Kukawka + + * src/hardware.cpp: fixed detection of terminated D-Bus + and reconnect to the service and HAL + +2006-11-06 Danny Kukawka + + * src/kpowersave.[cpp,h]: fixed display message if HAL + is gone. + +2006-11-06 Danny Kukawka + + * src/kpowersave.[cpp,h]: removed no longer needed code + +2006-11-06 Danny Kukawka + + * src/hardware.cpp: Fixed init the class (set a default + value for currentCPUFreqPolicy otherwise we can't detect + the initial changes). + Fixed setCPUFreq(), use char* instead instead of direct + usage of e.g. "performance". + * src/hardware.h: make checkCurrentCPUFreqPolicy() public + * src/kpowersave.cpp: force a check of current CPUFreq + policy after set the policy to be sure the CPUFreq + Policy is correct displayed in the applet. + +2006-11-06 Danny Kukawka + + * src/hardware.cpp: fixed detection of the current CPU + Freq policy. Use char* instead of QString for return + values. + +2006-11-06 Danny Kukawka + + * src/hardware.cpp: fixed detection of changes in current + CPU Freq Policy (_use_ temp variable correct ) + * src/kpowersave.cpp: removed debug + +2006-11-05 Danny Kukawka + + * src/hardware.cpp: fixed connect to signals from the + primary battery collection. This should fix the applet + icon to show the correct battery fill level. + +2006-11-05 Danny Kukawka + + * src/hardware.[cpp,h]: added and emit new signal if the + primary battery collection changed a value + * src/kpowersave.cpp: Fixed change applet icon if the AC + plug added/removed + +2006-11-05 Danny Kukawka + + * src/detailed_Dialog.ui: removed + * src/detaileddialog.cpp: connect to signal for changes + of the primary batteries. + * src/hardware.cpp: fixed connect to changes of batteries + +2006-11-05 Danny Kukawka + + * src/detaileddialog.cpp: fixed typo in function call and + removed already comment out include of kpowersave.h + +2006-11-05 Danny Kukawka + + Removed no longer needed sourcecode files from repository: + + * src/dbusPowersave.cpp: + * src/dbusPowersave.h: + * src/pdaemon.cpp: + * src/pdaemon.h: + +2006-11-05 Danny Kukawka + + Replaced complete (active) pdaemon and powersave related + code from KPowersave class: + + * src/Makefile.am: removed pdaemon.* and dbusPowersave.* , + reformated the list of source files + * src/kpowersave.[cpp,h]: + + TODO: test and remove/fix open TODO's + +2006-11-05 Danny Kukawka + + * src/hardware.[cpp,h]: Added code to handle reconnect to + the D-Bus daemon. Added some variables to show if something + in class HardwareInfo changed. This new variables should + allow finder grained and easier refresh/handle of battery + information. + Fixed code to update battery information and connect to + related signals. + +2006-11-05 Danny Kukawka + + * src/hardware_battery.[cpp,h]: added also a signal to + the battery object, wich we emit if a value of the + battery changed. + +2006-11-05 Danny Kukawka + + * src/hardware_batteryCollection.[cpp,h]: added new signal + if _something_ changed in the collection. + +2006-11-05 Danny Kukawka + + * src/dbusHAL.cpp: Removed include of powersave_dbus.h. + Replaced usage of dbusGetMessageString() from old powersave + library with dbus_message_get_args() and fixed code to + fetch event if HAL go down. + +2006-11-03 Danny Kukawka + + Replaced complete pdaemon and powersave related code from + the configuration dialog. + + * src/configuredialog.[cpp,h]: + * src/kpowersave.cpp: related changes to open/create the + configdialog. + +2006-11-03 Danny Kukawka + + Renamed class s/settings/Settings and related changes + + * src/detaileddialog.h: + * src/kpowersave.[cpp,h]: + * src/settings.[cpp,h]: + +2006-11-02 Danny Kukawka + + * src/hardware_battery.cpp: read battery serial only if the + battery is present. + +2006-11-02 Danny Kukawka + + * src/pdaemon.[cpp,h]: Removed no longer needed code to get + CPU information directly from sysfs + +2006-11-02 Danny Kukawka + + Replaced usage of pdaemon class in the detailed dialog with + class HardwareInfo: + + * src/dbusHAL.cpp: fixed debug message + * src/dbusPowersave.cpp: comment out some code to get the + applet run temporary, before remove the class complete. + * src/detaileddialog.[cpp,h]: replaced complete pdaemon code + * src/kpowersave.cpp: related changes to call the constructor + of class detaileddialog. + +2006-11-02 Danny Kukawka + + * src/hardware.[cpp,h]: fixed CPU Freq stuff, added new member + to check if the hardware/kernel support cpufreq in general, + also without HAL. We need this to show CPU information in + the detailed dialog also if there is no support vi HAL. + Added fix to get the battery information. Need to update the + primary battery collection on init. + +2006-11-02 Danny Kukawka + + * src/hardware_battery.cpp: fixed detection of battery type, + don't check if the battery present for the battery type. The + information about the type is always present, also for empty + battery bay. + +2006-11-02 Danny Kukawka + + * src/hardware.[cpp,h]: Added some new functions to get access + to battery list and the primary battery collection. + Fixed bug in checkBrightness(), check always if the list of + devices is not empty before use them. + Fixed some minor bugs in debug messages + +2006-11-02 Danny Kukawka + + * src/config/kpowersaverc_default: added new config entries to + save the default ac and battery scheme + * src/dbusPowersave.[cpp,h]: renamed some enums to avoid + conflicts while remove this class. + * src/detaileddialog.[cpp,h]: replaced scheme information from + powersave with new from class settings. Added pointer to current + settings to constructor. + * src/hardware_battery.[cpp,h]: renamed some enum to avoid + conflicts + * src/kpowersave.cpp: replaced scheme handling parts where we + tried to get scheme information from the pdaemon class. commented + out some code which we should replace later. + * src/kpowersave.h: added new member to hold HardwareInfo class + * src/pdaemon.[cpp,h]: renamed enum, removed scheme handling + from code of the class. We use now the new structure. Use some + enums from hardware_battery.h temporary. + * src/settings.[cpp,h]: added new members to handle the default + ac and battery scheme + +2006-10-30 Danny Kukawka + + * configure.in.in: removed no longer needed dependencies and + updated HAL and D-Bus version dependencies. + +2006-10-29 Danny Kukawka + + Added some new configure variables to the default settings. + + * src/config/kpowersaverc_default: added new battery state level + related variables and a new variable for the available schemes. + Removed no longer needed sound related variables. + * src/settings.[cpp,h]: Added new enum level_action to define + actions if a battery level state reached. Added code to read the + available schemes and the battery warning states from the config + file. + +2006-10-28 Danny Kukawka + + Fixed creation of D-Bus connection. Don't use private connection + anymore. Simply call dbus_bus_get() instead. This should fix + b.n.c #214881. + + * src/dbusHAL.cpp: + * src/dbusPowersave.cpp: + +2006-10-25 Danny Kukawka + + * src/hardware.cpp: Fixed updateBatteryValues() to call the new + member function of the battery to update the values. + * src/hardware_battery.cpp: Fixed checkBatteryPresent() to call + depending on the new state of the battery all depending updates. + +2006-10-25 Danny Kukawka + + * src/hardware.cpp: Fixed function to trigger a update of the + primary battery collection and added some intial code to handle + DeviceAdded/DeviceRemoved events from HAL. + * src/hardware.hi: added battery collection for primary + batteries and renamed related update function. + * src/hardware_batteryCollection.[cpp,h]: added new function + isBatteryHandled() to check if this Collection already handle + this udi/battery + +2006-10-25 Danny Kukawka + + * src/hardware.[cpp,h]: Added new function to check if we should + handle a special device (e.g. on a HAL_DEVICE::DeviceAdded + event) and to get the type of the device (added a new enum + device_type). + Added some new signals for: HAL error handling, data changes and + if the sleep button was pressed. + +2006-10-24 Danny Kukawka + + Cleanup: removed not handled msg_type NAME_AQUIRED. + + * src/dbusHAL.[cpp,h]: + * src/hardware.cpp: + +2006-10-24 Danny Kukawka + + * src/hardware.[cpp,h]: Added check for privileges for CPUFreq + interface via PolicyKit and check before try to use the + interface. Added function to get this info from outside. + +2006-10-24 Danny Kukawka + + * src/hardware.[cpp,h]: Added PolicyKit check for suspend/ + standby interface. + +2006-10-24 Danny Kukawka + + * src/dbusHAL.[cpp,h]: changed return type of new function + isUserPrivileged() from bool to int to get a info if we can't + connect to the PolicyKit interface on DBUS. + +2006-10-24 Danny Kukawka + + * src/dbusHAL.[cpp,h]: Added function to check PolicyKit + for a privilege for a given user. + +2006-10-23 Danny Kukawka + + * src/hardware_battery.[cpp,h]: make get* functions const + +2006-10-23 Danny Kukawka + + * src/hardware_battery.cpp: added some code to check if the + battery is really present. If not, we don't need to run all + updates or the calls to HAL. + +2006-10-23 Danny Kukawka + + * src/hardware_battery.cpp: removed calls of minRecheck() in + the get* methodes. The data should always be up to date because + of the HAL events. If not, we have a problem and should fix + this instead of call minRecheck() on each get methodes. If + this is really needed, we can call this function also from + outside (isn't a private function). + +2006-10-23 Danny Kukawka + + * src/hardware.cpp: removed todo, code comment update + * src/hardware_battery.[cpp,h]: Added variable to check if the + battery is inialised and added event handling including emit + related signals if something changed. + Set crit_level as default to 2 as in old powersave config. + * src/hardware_batteryCollection.cpp: set crit_level as default + to 2 as in old powersave config + +2006-10-23 Danny Kukawka + + * src/hardware_battery.cpp: if battery was removed, set the + battery members back to default. + +2006-10-23 Danny Kukawka + + * src/hardware_battery.cpp: fixed typo for a HAL property + +2006-10-23 Danny Kukawka + + * src/hardware_battery.cpp: added code to filter events and + call the related function to update the key. + + TODO: add code to check if really something was changed and + emit some signals. + +2006-10-23 Danny Kukawka + + * src/hardware_battery.[cpp,h]: separated code from recheck() + and minRecheck() to query information from HAL to new small + functions for each property. + +2006-10-23 Danny Kukawka + + * src/hardware_battery.[cpp,h]: Small update in code docu and + added inital code for a new function to update a battery + property on a HAL event. + + TODO: fill with code to filter the events and seperate current + code to get a value from HAL into smaller functions to + reuse them. + +2006-10-22 Danny Kukawka + + * src/hardware_battery.[cpp,h]: first remove of no longer + needed code for some kind of battery collection in this class. + This is now done by class BatteryCollection. + + TODO: check left code and get methodes. Seperate and split of + the code to get info from HAL. + +2006-10-22 Danny Kukawka + + * src/hardware_batteryCollection.cpp: clean up list of udis + before start the update process. + +2006-10-22 Danny Kukawka + + * src/hardware_batteryCollection.[cpp,h]: emit now also all + the other signals for percentage, minutes, present batteries + and the charging state. + +2006-10-22 Danny Kukawka + + * src/hardware_batteryCollection.[cpp,h]: emit signals for + reached battery warning states. + +2006-10-22 Danny Kukawka + + * src/hardware_batteryCollection.[cpp,h]: return a bool for + the set functions to detect incorrect values. + +2006-10-22 Danny Kukawka + + * src/hardware_batteryCollection.[cpp,h]: Completed code to + collect the values from the batteries. + Added new members to get the number of present batteries and + to get the battery state. + + TODO: add signals and emit them. + +2006-10-20 Danny Kukawka + + * src/hardware_batteryCollection.[cpp,h]: added needed + functions to set/get access to privat members. + + TODO: add code to read the batteries into the class. + +2006-10-20 Danny Kukawka + + * src/Makefile.am: added new files to Makefile + * src/hardware_battery.h: minor changes + * src/hardware_batteryCollection.[cpp,h]: added new class to + handle battery collections. This class should allow us to get + e.g. only the needed information from all primary batteries. + +2006-10-20 Danny Kukawka + + * src/hardware.[cpp.h]: Added new initial function to collect + battery information from all primary batteries. + +2006-10-20 Danny Kukawka + + * src/hardware.[cpp,h]: replaced QValueList as datatype for + BatteryList with QPtrList. QValueList can't contain objects + which are derived from QObject. + + NOTE: For QPtrList as for QDict we need always deep copies + +2006-10-19 Danny Kukawka + + * src/hardware.[cpp,h]: Added initial code to filter battery + events from HAL and update the battery objects. + + TODO: check if the construct with the QValueList for batteries + is correct and add code to update the objects. + +2006-10-19 Danny Kukawka + + * src/hardware.[cpp,h]: Filter powerbutton event and emit a + signal. + +2006-10-19 Danny Kukawka + + * src/hardware.[cpp,h]: Filter lidclose event and emit a signal. + Fixed emit signal: first set new value to variable and emit then + the signal. + +2006-10-19 Danny Kukawka + + * src/hardware.[cpp,h]: filter ac adapter in/out event and emit + a signal. + +2006-10-19 Danny Kukawka + + * src/dbusHAL.h: removed unused event type HAL_EVENT + * src/hardware.cpp: Added initial code to filter the DBUS and + HAL events we need in KPowersave. + + TODO: add code to do what we need if a event happen and + evaluate if we need all the events. + +2006-10-19 Danny Kukawka + + * src/hardware.cpp: check if the new udi is already in the + list of all udis. QStringList add strings without check if + they are already in. + +2006-10-19 Danny Kukawka + + * src/hardware.[cpp,h]: fixed intialiseHWInfo() to use only + one QStringList for the devices. Added new code to the func + to collect the battery UDIs. + Added code to store the UDIs of all devices we handle and + want to monitor. This should allow us a finer grained filter + functions for HAL events. + * src/hardware_battery.[cpp,h]: Changed one constructor to + give always as first the reference to dbus_HAL. + +2006-10-19 Danny Kukawka + + * src/hardware_battery.h: removed no longer needed define + _BATTPRESETS + +2006-10-19 Danny Kukawka + + * kpowersave.kdevelop: updated some KDevelop project settings + * src/settings.h: removed unneeded empty class + +2006-10-16 Danny Kukawka + + * src/hardware_battery.[cpp,h]: More cleanups, changes in code + style and code documentation. Removed not needed hasHalError(). + +2006-10-16 Danny Kukawka + + * src/hardware_battery.[cpp,h]: Sorted private members of the + class by type and added function to init private members with + default values instead to use a define. This should avoid + compiler warnings. + Added some code comments for doxygen. + +2006-10-15 Danny Kukawka + + * src/hardware.[cpp,h]: Added function to get the current + CPU Frequency policy from HAL and a function to get this + value from the privat class member. + + TODO: check if we also can get info for DYNAMIC_SET. + +2006-10-15 Danny Kukawka + + * src/hardware.[cpp,h]: added function to get the current + brightness level from HAL. This should allow get current + brightness without recheck the interface. + +2006-10-15 Danny Kukawka + + * src/hardware.[cpp,h]: s/PMStates/SuspendStates/ and + s/pm_states/suspend_states/ to be more clear + +2006-10-15 Danny Kukawka + + * src/hardware.[cpp,h]: replaced QDict for powermanagement states + with a struct which should be easier to handle. Added new members + to the struct to represent information if call the related + interface is allowed + +2006-10-11 Danny Kukawka + + * src/hardware.[cpp,h]: Added function to set CPU frequency + policy via the HAL interface (support the currently) available + tree policies. + +2006-10-10 Danny Kukawka + + * src/hardware.[cpp,h]: added function to check if the machine + support change the CPU frequency via HAL. + + TODO: add check for PolicyKit policy + +2006-10-10 Danny Kukawka + + * src/hardware.cpp: cleanup QDict pm in checkSuspend() if + not empty before reuse. + +2006-10-10 Danny Kukawka + + * src/hardware.[cpp,h]: added get functions for suspend/standby + support info and if DBUS/HAL are running. + +2006-10-10 Danny Kukawka + + * src/hardware.[cpp,h]: Added some functions to read private + class members from outside. Changed existing get functions to + const. + * src/hardware_battery.cpp: code style changes + +2006-10-10 Danny Kukawka + + * src/hardware.h: Changed function params to show also the + variable names in code completion of KDevelop. + +2006-10-10 Danny Kukawka + + * src/hardware.[cpp,h]: Added function to change the brightness + of the laptop display (if supported by the hardware). + Added code comments and fixed some debug messages. + +2006-10-10 Danny Kukawka + + * src/hardware.cpp: added missing debug messages + +2006-10-09 Danny Kukawka + + * src/dbusHAL.[cpp,h]: changed DBus method call functions for + easier usage than the old one and removed one no longer needed + function. + * src/dbusHAL.h: Changed function params to show also the + variable names in code completion of KDevelop. + * src/hardware.cpp: Adapted exsting code the new functions. + +2006-10-06 Danny Kukawka + + * src/dbusHAL.h: s/HAL_DEVICE_UDI/HAL_COMPUTER_UDI/ + * src/hardware.[cpp,h]: Replaced strings with defines + HAL_COMPUTER_UDI and HAL_PM_IFACE. + Added new initial function to trigger a suspend and added new + enum (suspend_type) to select the suspend/standby method for + the call. + + TODO: add check for PolicyKit policy for the suspend and + rework the dbus method call functions. We can maybe + merge some functions. + +2006-10-05 Danny Kukawka + + * src/hardware.[cpp,h]: added new boolean member to hold info + if the machine is a laptop. Changed existing function to check + the formfactor and set laptop value, added new function to get + laptop value. + Added some code do constructor to init members and to get some + initial hardware information. + +2006-10-05 Danny Kukawka + + Fixed some code comments (line breaks etc.). + + * src/hardware.cpp: + * src/hardware_battery.h: + +2006-10-03 Danny Kukawka + + * src/dbusHAL.[cpp,h]: removed HAL specific function to call + a powermanagement related function and added three generic + functions to call a method on a DBUS interface (taked and + adapted code from current powersave code base). + * src/hardware.[cpp,h]: added a new function to get init + brightness information as e.g. if change brightness is + supported, how many brightness level are available and the + current level. + +2006-10-01 Danny Kukawka + + * src/dbusHAL.[cpp,h]: added function to check the supported + powermanagement/suspend functions and store the information + if e.g. suspend2disk is available as HAL interface and if not + if the machine support this via the kernel in general. + * src/hardware.[cpp,h]: added function to get a stringlist + property from HAL for a given device. + +2006-09-29 Frank Seidel + + * src/hardware_battery.[cpp,h]: Very very first implementation + of class Battery. Probably full of many ugly bugs, but its + a start. + +2006-09-28 Frank Seidel + + * src/dbusHAL.cpp: Fixed typo in halQueryCapability (libhal + function call). + +2006-09-28 Danny Kukawka + + * src/hardware.[cpp,h]: Added some more code comments and new + functions to init hardware information about AC adapter and the + lidclose button. + +2006-09-26 Danny Kukawka + + * src/dbusHAL.[cpp,h]: code comments + * src/hardware.[cpp,h]: addes some empty functions and a QDicr + for udis of devices except batteries (e.g. AC, Lid, buttons ...) + * src/pdaemon.cpp: added comments about the state of port code + and functions to class dbusHAL + +2006-09-25 Danny Kukawka + + * src/hardware.cpp: Fixed typo in debug msg. Filled destructor. + +2006-09-25 Danny Kukawka + + * src/hardware.[cpp,h]: added functions to check if the machine + is a laptop and if the machine support ACPI/APM. + + TODO: add some line of code to check for ACPI/APM if HAL is not + present. + +2006-09-25 Danny Kukawka + + * src/hardware.[cpp,h]: Added more to constructor and init. Copied + code to get CPU Freq information for the detailed dialog from + pdaemon.[*] to this file. Updated some code docu. + +2006-09-25 Danny Kukawka + + * src/dbusHAL.cpp: init HAL context in constructor + * src/hardware.[cpp/h]: conntect to DBUS/HAL in constructor and + added initial function to filter and handle events from DBUS/HAL + via signal from dbusHAL class. + +2006-09-23 Danny Kukawka + + Added new basic classes to handle hardware information, as e.g. + battery, lid state or AC adapter state, and the powermanagement + related functions as e.g. suspend2*/standby or CPU freq. + + NOTE: this are only initial files and classes, we maybe replace or + rename them while development. + + * src/Makefile.am: + * src/hardware.cpp: + * src/hardware.h: + * src/hardware_battery.cpp: + * src/hardware_battery.h: + +2006-09-23 Danny Kukawka + + * Doxyfile: changed version string + * src/Makefile.am: added dbusHAL class to make + * src/dbusHAL.[cpp,h]: Changed name of the class to dbusHAL and + added connection to HAL and code to hold LibHalContext. The class + contains now mew functions to search for devices and to get device + information from HAL. Also added: new function to call + org.freedesktop.Hal.Device.SystemPowerManagement methodes on HAL + via DBUS. + +2006-09-04 Danny Kukawka + + Added new class to monitor HAL signals (DeviceAdded, DeviceRemoved, + PropertyModified, Condition) and Connect/Disconnect events via DBUS. + + This class is not used atm in the code, but should replace the class + dbusPowersave in the future. + + TODO: add code to init and hold hal_context for libhal. + + * src/dbusHAL.cpp: + * src/dbusHAL.h: + +2006-09-04 Danny Kukawka + + * kpowersave.kdevelop: fixed kdevelop file to get code completion + running. + +2006-08-15 Frank Seidel + + Trivial fix for SUSE bug #198237 (when powersaved wasn't + running and kpowersave starts, a wrong error about dbus + was shown). + + * src/pdaemon.cpp: + +2006-08-11 Danny Kukawka + + updated files to current admin dir from KDE 3.5.4 and added + two missing files from the KDE SVN directory. + + * admin/*: + +2006-08-11 Danny Kukawka + + * doc/doxy/fixed_bugs.dox: updated list + * src/infodialog.cpp: added string "KPowersave" to window + caption (SUSE bug #198237) of warning messages via infodialog + +2006-08-11 Danny Kukawka + + * src/pdaemon.cpp: cleanup: removed unused code and replaced + code comment with debug message. + +2006-08-11 Danny Kukawka + + Prepared for QT4 where FALSE is depricated. Replaced with false. + + * src/blacklisteditdialog.cpp: + * src/detaileddialog.cpp: + * src/kpowersave.cpp: + * src/pdaemon.cpp: + * src/pdaemon.h: + +2006-08-11 Danny Kukawka + + Changed returnvalue of checkDaemon() and type of daemon_running + (in class pDaemon) from int to bool: + + * src/detaileddialog.cpp: + * src/kpowersave.cpp: + * src/pdaemon.cpp: + * src/pdaemon.h: + +2006-07-17 Danny Kukawka + + * src/detaileddialog.cpp: undo kpowersave part of commit r2374 + which not solve SUSE bug #186197 + +2006-06-12 Danny Kukawka + + again (re)tagged and released official update release v0.6.2 + +2006-06-12 Danny Kukawka + + Fixed SUSE bug #184076: + + * ChangeLog.package, doc/doxy/changelog.dox: updated changelogs + * doc/doxy/fixed_bugs.dox: added fixed bug to list + * po/*.po, po/kpowersave.pot: removed "(messagebus)" and + s/messagebus/dbus/ in all translations + * src/infodialog.cpp: added command to adjust the size of the + dialog before open. + * src/kpowersave.cpp: fixed message if dbus daemon is not + running. Use correct script name and not the name from Fedora. + +2006-06-12 Danny Kukawka + + (re)tagged and released official update release, version 0.6.2 + +2006-06-12 Danny Kukawka + + Fixed SLED bug ##183745: + + * configure.in.in: added configure check to differ between + SUSE Linux and SLES/SLED as enterprise products + * README: changed link to bugzilla for SUSE Linux and SLED/SLES + * doc/doxy/fixed_bugs.dox: added fixed bug to list + * src/kpowersave.cpp: added new link for SLES/SLED bugzilla + + * ChangeLog.package, doc/doxy/changelog.dox: updated changelogs + * packaging/*.spec: updated specs to current version + * packaging/FC5.kpowersave.spec: added new Fedora Core 5 spec + +2006-06-11 Danny Kukawka + + tagged and released official update release, version 0.6.2 + +2006-06-11 Danny Kukawka + + * ChangeLog.package, doc/doxy/changelog.dox: updated + changelogs from stable tree + +2006-06-11 Danny Kukawka + + * configure.in.in: added configure check to detect K/Ubuntu + * README: changed link to Ubuntu bugzilla to launchpad.net + * src/kpowersave.cpp: added address for ALT Linux and Ubuntu + bugzilla for "Report a bug ..." + +2006-06-11 Danny Kukawka + + * kpowersave.kdevelop: added KDE and QT3 libs to code completion + * src/inactivity.cpp: fixed compiler warning + * src/kpowersave.[cpp/h]: added DCOP function to open/close + the detailed information dialog + +2006-06-07 Danny Kukawka + + Updated translations back from SUSE/Novell translation team, + reworked and merged the files with existing translations: + + * po/es.po: + * po/fr.po: + * po/it.po: + * po/pt_BR.po: + * po/zh_CN.po: + * po/zh_TW.po: + +2006-06-07 Danny Kukawka + + * doc/doxy/fixed_bugs.dox: updated list of fixed bugs in doc. + +2006-06-07 Danny Kukawka + + * src/kpowersave.[cpp/h]: Added slightly adopted patch from + Timo Hönig to fix SUSE bug #176782 and + enable change display brightness (if supported and enabled in + the current scheme) via the mousewheel over the applet icon. + +2006-06-07 Danny Kukawka + + Updated dependencies to powersave version 0.12.18 in docs: + + * README: + * doc/doxy/main.dox: + +2006-06-07 Danny Kukawka + + Fixed SUSE bug #182515: Changed configure dialog to respect the + rules for DPMS timouts from www.xfree86.org/current/DPMSLib.pdf. + + * src/configure_Dialog.ui: Added new signal handlers to QSpinBoxes + for the DPMS timeouts + * src/configuredialog.[cpp/h]: added code to correct values for + the timouts to guaranty correct DPMS settings + +2006-06-05 Danny Kukawka + + * po/de.po: updated translation, added missing string + +2006-06-05 Danny Kukawka + + Fixed errorhandling for DBUS,HAL and powersave connections (this + fix partly SUSE bug #168619) to display correct state: + + * src/dbusPowersave.[cpp/h]: added new checks to detect: if HAL + detached from the system message bus and if the user has the rights + to connect to powersaved dbus interface. Added function to access + information if user has the needed rights (check with a "Ping"). + Also fixed some typos, removed withespaces, and replaced printf() + with myDebug(). + * src/kpowersave.[cpp/h]: Added new function to show errormessages + related to problems with dbus (showDBusErrorMsg()), extended/ + reorganised showHalErrorMsg(). Removed no longer needed code + since we now are directly informed if HAL gone. Changed + updateTooltip() to get correct tooltip if HAL not running. + * src/pdaemon.[cpp/h]: reworked handling regarding to the changes + above and to handle new information about the tree central services + for KPOwersave (DBUS,powersave,HAL). Updated code doc. + * configure.in.in: changed dependencies to powersave 0.12.18 + because of needed changes related to REPLY_NO_RIGHTS. + +2006-06-05 Danny Kukawka + + * src/inactivity.cpp: added a check to catch the case, where (unknow + if this ever the case) the idletime is correct get from the X-Server. + +2006-06-02 Danny Kukawka + + * po/fi.po: updated translations back from SUSE/Novell translation + team + +2006-06-02 Danny Kukawka + + * src/config/kpowersaverc_default: added more programs to the + autosuspend default blacklist: gmplayer,kaffeine,xine,mencoder + +2006-06-02 Danny Kukawka + + * src/kpowersave.cpp: added check before autosuspend, if autosuspend + was disabled via the applet menu + +2006-06-02 Danny Kukawka + + Code documentation fixes and updates to current code: + + * doc/doxy/fixed_bugs.dox: Added fixed bug to list, back from + kpowersave-CODE10 branch. + * doc/doxy/implemented.dox: + * doc/doxy/process.dox: + * src/inactivity.cpp: + * src/infodialog.cpp: + * src/kpowersave.cpp: + * src/kpowersave.h: + * src/screen.cpp: + +2006-06-02 Danny Kukawka + + * doc/doxy/fixed_bugs.dox: added fixed buginfo + * src/inactivity.[cpp,h]: Added new function to workaround XServer bug + regarding to idleTime (dpms timeouts are abstracted, but should not) + and DPMS timeouts (are currently additive - bug #180000). New function + correct the idleTime if needed (related SUSE bug: #177788 / sf.net + #1483392). For more info see comment in fixed_bugs.dox + Todo: evaluate if there is a way to identify the versions of X where + this was changed or get fixed. + +2006-06-01 Danny Kukawka + + * po/de.po: fixed german translation + +2006-05-29 Danny Kukawka + + * po/hu.po: updated translations back from SUSE/Novell translation + team + +2006-05-27 Danny Kukawka + + * po/{bg,da,el,es,fi,fr,it,ja,km,nb,nl,pa,pl,pt,pt_BR,ru,sk,sl_SI,sv, + tr,uk,zh_CN,zh_TW.}.po: merged two new dummy strings from pot file + +2006-05-27 Danny Kukawka + + * po/de.po: updated german translation + +2006-05-27 Danny Kukawka + + * po/{cs,hu}.po: updated translations back from SUSE/Novell + translation team + +2006-05-27 Danny Kukawka + + * po/{fi,km,pl}.po: fixed strings (from last typo fixes) + * po/kpowersave.pot: added dummy strings for better error messages if + powersaved or the DBUS daemon is not running or accessable. + +2006-05-22 Danny Kukawka + + * src/kpowersave.cpp/h: (list_CPUFreqPolicys): Added dcop function to + list the supported CPU Frequency policies. + (do_setCPUFreqPolicy): Added dcop function to set the current CPUFreq + policy. + +2006-05-22 Danny Kukawka + + * src/kpowersave.cpp/h: (do_setScheme): added new dcop function to + allow set the current scheme via kpowersave (see sf.net bug #1483392) + (disableAutosuspend): litte change, set first applet item to avoid + possible double action + +2006-05-22 Danny Kukawka + + * src/eventsrc: updated missing translations back from SUSE/Novell + translation team. + +2006-05-22 Danny Kukawka + + * po/de.po: fixed typo in german translation + +2006-05-22 Danny Kukawka + + * src/kpowersave.cpp: (disableAutosuspend): fixed sf.net bug #1483392 + and set changes on autosuspend state via dcop interface back to the + applet. + +2006-04-25 Danny Kukawka + + * src/eventsrc: added czech translations from SUSE/Novell translation + team, removed wrong translations of resume_from_suspend2ram_event + (ja,zh_CN,zh_TW) + +2006-04-24 Danny Kukawka + + Added russian translations from Anton Farygin + * src/eventsrc: + * src/kpowersave.desktop: + * src/kpowersave-autostart.desktop: + +2006-04-24 Danny Kukawka + + * README: updated translation with file from Anton Farygin + + * po/ru.po: Changed link to ALT Linux bugzilla + +2006-04-24 Danny Kukawka + + * src/eventsrc: fixed a description and translation in eventsrc + +2006-04-18 Danny Kukawka + + * kpowersave.kdevelop: updated version string for project to + "0.7.x - TRUNK" + +2006-04-18 Danny Kukawka + + updated svn:ignore properties + +2006-04-18 Danny Kukawka + + * src/*.cpp, src/*.h: removed doxygen \version tag from source files + to avoid annoying change of version with each new release. + +2006-04-18 Danny Kukawka + + * doc/doxy/fixed_bugs.dox: added fixed bug to list. + +2006-04-18 Danny Kukawka + + * configure.in.in: added check for headers from dbus-qt3-devel + package (copied from KNetworkMananger source). + +2006-04-18 Danny Kukawka + + * src/detaileddialog.cpp: fixed processorbar for multiprocessor/ + -core machines without CPUFreq or Throttling support, if a CPU/ + Core was deactivated (thanks to Daniel fot the hint). + +2006-04-18 Danny Kukawka + + * src/pdaemon.cpp: fixed problems with remaining time until full + charged with APM. Also cleaned up the code and removed no longer + needed/useless checks. (see SUSE bug #167296) + +2006-04-13 Danny Kukawka + + Updated translations, back from SUSE/Novell translation team: + * po/fi.po: + * po/km.po: + * po/pl.po: + +2006-04-12 Danny Kukawka + + * doc/doxy/fixed_bugs.dox: added fixed bug to doc + * src/eventsrc: removed bad formated UTF8 + +2006-04-09 Danny Kukawka + + Retagged v0.6.0 and released new version. + +2006-04-09 Danny Kukawka + + * ChangeLog.package, doc/doxy/changelog.dox: updated Changelogs + * NEWS: updated release news for v0.6.0 + +2006-04-09 Danny Kukawka + + * doc/doxy/fixed_bugs.dox: added SUSE/Novell bug #164683 + * src/detaileddialog.cpp: Added call setProcessorThrottling() + every 2 secs if throttling is supported or if there is more than + one CPU/core in the system. Added call checkCPUSpeedThrottling() + in setProcessorThrottling() to get always actual data. Fixed + connects to use local pointer to pdaemon object. + This all (including changes since 2006-04-07) should fix + SUSE/Novell bug #164683 + * src/inactivity.cpp: fixed compiler warning + +2006-04-09 Danny Kukawka + + Added slightly adopted patch from Daniel Gollub to fake the CPU + system information in proc and sys for development and tests: + * configure.in.in: added configure option --enable-fake-cpu + * src/pdaemon.cpp: added ifdef and related changes to fake + the path to the CPU informations under /tmp/foo + + * src/pdaemon.cpp: fixed warning for compare unsigned and signed + +2006-04-09 Danny Kukawka + + * src/detaileddialog.cpp: set processorbar to deactivated if the + cpuspeed < 0 (cpu is offline) and the machine only support + throttling + * src/pdaemon.cpp: fixed throttling-case if cpu is offline + +2006-04-08 Danny Kukawka + + * src/detaileddialog.cpp: reduced usage of getCPUNum(), fixed + display processor freq, if the cPU is back from offline. Added + check to reduce unneded changes in processorbars if nothing changed. + * src/detaileddialog.h: added private variable to store the numbers + in the system + * src/pdaemon.cpp: reduced usage of getCPUNum() by replace with + a variable (numOfCPUs) + * src/pdaemon.h: added private variable to store the numbers in + the system + +2006-04-07 Danny Kukawka + + Tagged release v0.6.0 + +2006-04-07 Danny Kukawka + + Released new version v0.6.0 + +2006-04-07 Danny Kukawka + + * ChangeLog.package, doc/doxy/changelog.dox: updated changelogs + for release 0.6.0 + * NEWS: updated release news for release 0.6.0 + +2006-04-07 Danny Kukawka + + * src/pdaemon.cpp: changed waiting intervall for powersave on + startup from 10 sec to 20 to avoid problems on slow machines and + with autologin (again). + +2006-04-05 Danny Kukawka + + fixed date strings to last changes and reemoved the date from + the future: + + * doc/cs/index.docbook: + * doc/de/index.docbook: + * doc/en/index.docbook: + * doc/fi/index.docbook: + * doc/hu/index.docbook: + * doc/nb/index.docbook: + * doc/pt/index.docbook: + +2006-04-05 Danny Kukawka + + Branch official stable release 0.6.0. Add two new Branches: + + - kpowersave-CODE10 (for SUSE 10.1, SLES 10 and SLED 10) + - kpowersave-0.6 (general stable branch) + +2006-04-05 Danny Kukawka + + * po/de.po, src/eventsrc: fixed typos in german translations + * src/kpowersave-autostart.desktop, src/kpowersave.desktop: + copied missing translations from SUSE desktop files and + removed not translated strings + +2006-04-04 Danny Kukawka + + * src/kpowersave.cpp: changed address for bug reports if this + is a SUSE package to opensuse wiki page for bug reports + * src/main.cpp: fixed address for bugreports in the about + dialog. This should be a mail adress, use now powersave-users ML. + * ChangeLog.package, doc/doxy/changelog.dox: updated Changelogs + * NEWS: updated release news. + +2006-04-04 Danny Kukawka + + Prepared offical stable release v0.6.0: + + * ChangeLog.package, doc/doxy/changelog.dox: updated Changelogs + * NEWS: update release news + +2006-04-04 Danny Kukawka + + Prepare offical stable release 0.6 and remove kpowersave-CODE10 + and kpowersave-0.6 branches to add new offical release 0.6. + + Reason: kpowersave is now featurecomplete for CODE10 and STABLE + and 0.6 was not released outside SUSE. + + * ChangeLog.package, doc/doxy/changelog.dox: backported Changes + from deleted branches + +2006-04-04 Danny Kukawka + + * doc/de/Makefile.am, doc/de/index.docbook, doc/de/*.png: Added new + german version of the handbook + +2006-04-03 Danny Kukawka + + * doc/doxy/enhance.dox, doc/doxy/process.dox: Updated gnome-screensaver + related enhancement request. + +2006-04-03 Danny Kukawka + + * src/screen.cpp: fixed fake shift keyevent, use correct keycode + and set delay to 0 + +2006-04-03 Danny Kukawka + + Added support for GNOME Screensaver for lock in a GNOME desktop + session: + + * po/de.po, po/kpowersave.pot: added string for GNOME screensaver + * src/configuredialog.cpp, src/configuredialog.h: added GNOME + screensaver to configure dialog (only if a GNOME session is running) + * src/kpowersave.cpp: Fixed detection of GNOME session + * src/screen.cpp, src/screen.h: Added support for detection of and + lock with GNOME screensaver + +2006-04-02 Danny Kukawka + + * src/config/kpowersaverc_default: added new configure variable + for emit faked keyevent after resume from suspend + * src/kpowersave.cpp, src/kpowersave.h: added function to call + screen:fakeShiftKeyEvent() after resume + * src/screen.h: changed fakeShiftKeyEvent to public SLOT + * src/settings.cpp, src/settings.h: added read new variable + timeToFakeKeyAfterLock from config file + +2006-04-01 Danny Kukawka + + * src/Makefile.am: added -lXtst + * src/screen.cpp, src/screen.h: added new function so fake press + shift key to show the login screen on resume if the machine was + locked on supend. + +2006-03-29 Danny Kukawka + + * src/kpowersave.cpp: fixed errorhandling for YaST power-management + module. Added returncode 16 (user clicked on Cancel) as successful + case to avoid error message. + +2006-03-28 Danny Kukawka + + Fixed UTF-8 in desktop files: + * src/kpowersave-autostart.desktop: + * src/kpowersave.desktop: + +2006-03-27 Danny Kukawka + + Branch stable release 0.6.0 for SUSE. + +2006-03-27 Danny Kukawka + + * ChangeLog.package, doc/doxy/changelog.dox: updated changelogs + +2006-03-27 Danny Kukawka + + * NEWS: added last changes + * doc/doxy/enhance.dox: added gnome-screen-saver related + feature request for 0.6.x code tree (at least for SLES/SLED). + +2006-03-27 Danny Kukawka + + Added older spec files for SUSE 9.3 and 9.2: + * packaging/SUSE9.2.kpowersave.spec: + * packaging/SUSE9.3.kpowersave.spec: + +2006-03-27 Danny Kukawka + + Updated spec files for upcomming stable version: + * packaging/FC4.kpowersave.spec: + * packaging/SUSE10.0.kpowersave.spec: + * packaging/SUSE10.1.kpowersave.spec: + * packaging/mdk.cooker.kpowersave.spec: + +2006-03-27 Danny Kukawka + + * NEWS: added release news + * README: Updated install section and added section with + dependency information and help/bugreport info + * configure.in.in: updated powersave dependency to current + stable version 0.12.7 + +2006-03-27 Danny Kukawka + + * doc/doxy/enhance.dox, doc/doxy/process.dox: Added new planed + features/enhancements for 0.7.x (devel)/0.8.x (stable) to the + documentation. + +2006-03-27 Danny Kukawka + + Prepare new release (v0.6.0-stable): + + * Doxyfile: updated version string for code doc + * src/*.{cpp,h}: updated version strings + +2006-03-27 Danny Kukawka + + * src/kpowersave.cpp: fixed tooltip to avoid adding string for + charging battery (" -- battery is charging") if the battery is + full (100%) and the machine is on AC, but the battery is reporting + charging (broken ACPI case). + +2006-03-27 Danny Kukawka + + * po/*.po, po/kpowersave.pot: merged changes to po and pot file(s) + * src/configuredialog.cpp: fixed strings as proposed by Stefan + Seyfried + +2006-03-27 Danny Kukawka + + * po/bg.poi, po/da.po, po/el.po, po/km.po, po/nl.po, po/pa.po, + po/ru.po, po/sk.po, po/sl_SI.po, po/sv.po, po/tr.po, po/uk.po: + Added merged versions of translation files + +2006-03-27 Danny Kukawka + + Added patch from Michael Biebl: + * configure.in.in: removed no longer needed check + * src/kpowersave.cpp: fixed connect for autosusend notify on resume + +2006-03-25 Danny Kukawka + + * doc/fi/index.docbook: merged changes/fixes from the SUSE/Novell + translation team to the handbook + +2006-03-25 Danny Kukawka + + * po/es.po, po/fi.po, po/fr.po, po/it.po, po/ja.po, po/pl.po, + po/pt.po, po/pt_BR.po, po/zh_CN.po, po/zh_TW.po: Updated language + files with new translations from the SUSE/Novell translation team + +2006-03-24 Danny Kukawka + + Updated and merged translations of comment and GenericName strings + from the SUSE/Novell translation team: + * src/eventsrc: + * src/kpowersave-autostart.desktop: + * src/kpowersave.desktop: + +2006-03-24 Danny Kukawka + + * po/cs.po, po/de.po, po/hu.po, po/nb.po, po/pt.po: Updated + translations, back from SUSE/Novell translation team + * po/kpowersave.pot: added current pot file + +2006-03-19 Danny Kukawka + + * NEWS: added some infos for the next release + +2006-03-19 Danny Kukawka + + * src/*.png, src/pics/*.png: optimized the size of the applet icons + also with optipng and advdef + +2006-03-19 Danny Kukawka + + * doc/$LANG/*.png: optimized the size of the png files + additional with advdef -z -4. This reduce the file minus + ~ 3% + +2006-03-19 Danny Kukawka + + * doc/$LANG/*.png: optimized the size of the png files with + optipng -i0 -o5. This reduced the size of the files between + minus ~18% and ~28% + +2006-03-19 Danny Kukawka + + * src/pics/cr22-action-laptoppower.png: fixed some pixel + +2006-03-19 Danny Kukawka + + * kpowersave.kdevelop: some automatic changes from kdevelop + * src/Makefile.am: Added new files (inactivity.*) + * src/autosuspend.cpp, src/autosuspend.h: moved basic code to + a new class inactivity for reuse on dimm brightness on incativity + * src/inactivity.cpp, src/inactivity.h: new files/class with + basic functions to detect inactivity and check blacklist + * src/kpowersave.cpp: changed name of signal for autosuspend + +2006-03-19 Danny Kukawka + + * src/pdaemon.cpp: changed adding scheme to schemelist. First add + the scheme to list and then set specific schemes. + * src/schemes.cpp: Removed some todos and added checks to the + adding of specific schemes as e.g. ac_scheme. Set the specific + scheme only if the scheme is in the scheme list. Added check to + append() to avoid add scheme multiple times. + +2006-03-19 Danny Kukawka + + * src/detaileddialog.cpp: fixed set processor bar for the first + open of the dialog. + +2006-03-16 Danny Kukawka + + * src/pdaemon.h: changed possition of include for Slackware to + be sure that config.h is loaded befor the check. + +2006-03-13 Danny Kukawka + + * src/configuredialog.cpp: added string dummys for scheme specfic + CPU hotplugging support in the next development tree and planed + feature for CODE 10 SP1. + Added some additional strings for 'Dimm dispaly on inactivity'. + All this strings added for new translation round. + * src/kpowersave.cpp: Added some string dummys for translate + s2ram message + +2006-03-13 Danny Kukawka + + * src/main.cpp: updated code documentation and copyright header + +2006-03-13 Danny Kukawka + + tagged release v0.5.11 (rc5) + +2006-03-13 Danny Kukawka + + Prepared new release 0.5.11 (rc5): + + * ChangeLog.package, doc/doxy/changelog.dox: udapted changelogs + * NEWS: added release news for 0.5.11 + * src/*.cpp, src/*.h: updated version in code doc + +2006-03-13 Danny Kukawka + + * src/detaileddialog.cpp: added slightly adopted patch from Timo + Hoenig to replace 'Mhz' with correct 'MHz' + * po/*.po, po/kpowersave.pot: updated translation files for this + changes. + +2006-03-13 Danny Kukawka + + * doc/fi/index.docbook: fixed names of screenshots + * po/fi.po: updated from SUSE/Novell translation team + * po/pt.po: updated version from Hugo Costelha + + * src/eventsrc: added translation for Portuguese from Hugo Costelha + +2006-03-12 Danny Kukawka + + * src/configuredialog.cpp: hide 'lock in lidclose' checkbox if the + machine is not a laptop + +2006-03-12 Danny Kukawka + + * src/pdaemon.cpp, src/pdaemon.h: fixed double include and moved + one include to cpp-file instead of header to avoid unneeded includes + +2006-03-12 Danny Kukawka + + * src/pdaemon.cpp, src/pdaemon.h: added function to check if the + machine is a Lpatop or not. + +2006-03-12 Danny Kukawka + + Prepared for QT4 where TRUE is depricated. Replaced with true. + + * src/blacklisteditdialog.cpp: + * src/detaileddialog.cpp: + * src/kpowersave.cpp: + * src/pdaemon.cpp: + * src/pdaemon.h: + * src/settings.cpp: + +2006-03-11 Danny Kukawka + + Code documentation related cleanups, added new todo + + * src/configuredialog.cpp: + * src/dbusPowersave.h: + * src/detaileddialog.cpp: + +2006-03-11 Danny Kukawka + + * src/pdaemon.cpp: added a check to setBrightness() which should + prevent set the lowest brightness level if this is not the same as + level from BrightnessMin. This should avoid set off the display + via scheme specific brightness settings (e.g. on ppc/pmu where + lowest level 0 mean display off). (I don't like this fuzzy work- + around, but the powersave brightness interface does not work as + I would prefer ... atm) + * src/pdaemon.h: added new private variable for the number of + available brightness level to avoid unneeded dbus calls, extended + setBrightness() with a force_min option to force the given value. + +2006-03-11 Danny Kukawka + + * src/configuredialog.cpp, src/configuredialog.h, + src/detaileddialog.cpp, src/detaileddialog.cpp: + renamed: s/maxBrightnessLevels/brightnessLevels/ + * src/pdaemon.cpp, src/pdaemon.h: renamed variable and function + related to get the number of availabale brightness level, added new + helper function to simply get a integer value from powersave via DBUS + - this should reduce the code in this class, replaced code with call + the new helper function simpleGetIntegerValue(...) + +2006-03-10 Danny Kukawka + + * removed SVN property executable from several files + +2006-03-09 Danny Kukawka + + * src/detaileddialog.cpp: applied patch from Daniel Gollub to set the + processor icon correct if no battery is available and the battery + groupbox is hide. + +2006-03-09 Danny Kukawka + + * src/schemes.cpp, src/schemes.h: added missing code documentation + +2006-03-09 Danny Kukawka + + * src/kpowersave.h: whitespace fix + * src/kpowersave_debug.h: added copyright header and a doxygen comment + +2006-03-09 Danny Kukawka + + * Doxyfile: updated EXCLUDE filelist related to the last name changes + of sourcefiles + +2006-03-08 Danny Kukawka + + Added patch from Holger Macht to allow root always + to suspend/standby machine. + + * src/kpowersave.cpp: Added check if current user is root and use + ADMIN_MESSAGE instead of ACTION_MESSAGE if uid==0 + * src/pdaemon.cpp: If user is root set suspend/standby always to + allowed + +2006-03-08 Danny Kukawka + + * Doxyfile: Changed version from CVS-HEAD to SVN-trunk + * doc/doxy/enhance.dox: reorganized items and added new enhancement + for dimm display on inactivity + * doc/doxy/main.dox: updated infos and dependencies, added list + of distributions for which KPowersave is available and the releated + links + * kpowersave.kdevelop: automatical changes from kdevelop + +2006-03-07 Danny Kukawka + + tagged release v0.5.10 (rc4) + +2006-03-07 Danny Kukawka + + * po/pl.po, src/eventsrc: added pl translations from Dawid Wróbel + + * src/kpowersave-autostart.desktop, src/kpowersave.desktop: added + pl translations from Dawid Wróbel and cs translation + from the SUSE/Novell translation team + +2006-03-06 Danny Kukawka + + * ChangeLog.package, doc/doxy/changelog.dox: added last change to + the changelogs for the release + * NEWS: added info for new dependeny + * configure.in.in: added check for powersave >= 0.12.2 + +2006-03-06 Danny Kukawka + + Prepared new release 0.5.10 (rc4): + + * ChangeLog.package, doc/doxy/changelog.dox: updated changelogs + * NEWS: added release news + * src/*.cpp, src/*.h: updated release version strings + +2006-03-06 Danny Kukawka + + * src/config/kpowersaverc_default: added new config key to disable + force dpms of on lidclose + * src/kpowersave.cpp, src/kpowersave.h: Added new function to handle + lidopen event (now reset screen settings to avoid problems after call + xset on lidclose). Added call screen::forceDPMSOff() on lidclose to set + light on LCD off. Removed notification functions for lidclose and + lidopen signals and merged them to existing functions/slots. + * src/screen.cpp, src/screen.h: added new function forceDPMSOff() to + shutdown the display via DPMS (call xset dpms force off). + * src/settings.cpp, src/settings.h: adde new variable and related + read from config file to enable/disable force dpms off on lidclose. + +2006-03-06 Danny Kukawka + + updated svn:ignore properties + +2006-03-06 Danny Kukawka + + * po/pl.po: added updated translation by Dawid Wróbel + +2006-03-06 Danny Kukawka + + * doc/*/*.png: added and updated icons for the handbook in the + available language versions + * doc/cs/index.docbook, doc/en/index.docbook, doc/nb/index.docbook, + doc/pt/index.docbook: Updated handbook (icon names and updated + renamed and removed icons) + +2006-03-06 Danny Kukawka + + * src/pics/cr16-action-display.png, src/pics/cr22-action-display.png: + Added new icon generated from hicolor scalable svg icons to avoid + empty icon on distributions wich not ship this iconset. + +2006-03-06 Danny Kukawka + + * doc/en/*.png: updated handbook-screenshots + +2006-03-06 Danny Kukawka + + Updated language files, back from the SUSE/Novell translation team: + + * po/es.po, po/fr.po, po/it.po, po/ja.po, po/km.po, po/pt_BR.po, + po/zh_CN.po, po/zh_TW.po: + +2006-03-04 Danny Kukawka + + Added slightly adopted patch from Daniel Gollub + to check throttling state for each CPU. This should maybe effect + multiprocessor machines with throttling (but no CPUfreq) support + + * src/detaileddialog.cpp: Changed to read correct throttling state + for each CPU + * src/pdaemon.cpp, src/pdaemon.h: extended getCPUThrottlingState() + to check each CPU and add the values to a QValueList + +2006-03-04 Danny Kukawka + + * packaging/mdk.cooker.kpowersave.spec: added specfile for Mandriva + cooker + +2006-03-04 Danny Kukawka + + * configure.in.in: added pkgconfig check for powersave libs (from + Michael Biebl), added check to get the path to the dbus-socket. + This should fix build on Mandriva, which use a different socket + name/location. + * src/Makefile.am: fixed linking libs to use pkgconfig (from Michael + Biebl) + * src/dbusPowersave.cpp: replaced path to dbus socket with define + from configure + +2006-03-01 Danny Kukawka + + * configure.in.in: fixed detection of distribution. Changed position + of Mandrake/Mandriva because they also ship redhat-release. Added + two more releasefile checks for Mandriva + +2006-03-01 Danny Kukawka + + * src/detaileddialog.cpp: Changed constructor to only display + batterygroupbox only if the machine has min. one batterybay. This + should hide the groupbox on workstations. + Fixed processor progressbars for multiprocessor/-core machines + without CPUfreq. Now display all progressbars with values, not only + the first. TODO: read throttling states for all CPUs/cores. + On machines without CPUfreq or throttling support changed text in + processor progressbars to only display the frequency and not also + percentages. + +2006-02-27 Danny Kukawka + + tagged release v0.5.9 (rc3) + +2006-02-27 Danny Kukawka + + * doc/fi/index.docbook: added updated Finish handbook version from + the SUSE/Novell translation team + * po/cs.po, po/fi.po: added updated and complete translated po files + from the SUSE/Novell translation team + +2006-02-27 Danny Kukawka + + Prepared new release 0.5.9 (rc3): + + * ChangeLog.package, doc/doxy/changelog.dox: updated changelogs + * NEWS: added release news + * src/*.cpp, src/*.h: updated release version strings + +2006-02-27 Danny Kukawka + + * src/detaileddialog.cpp: Added battery support for APM. + NOTE: Currently HAL poll AC and battery every 2 sec. This produce + many events. This maybe result in more CPU usage and many rechecks + in KPowersave. --> fix HAL only to poll AC every 2 seconds and + battery maybe every 60 or 30 secs. + * src/kpowersave.cpp: added APM case to updateTooltip(): + if charging and APM: only display percentage because we currently + get no remaining time values from HAL + +2006-02-27 Danny Kukawka + + * src/detaileddialog.cpp: changed default if machine doesn't + support throttling and cpufreq. In this case display only + CPU freq from /proc/cpuinfo + * src/pdaemon.cpp, src/pdaemon.h: Added check if throttling is not + supported by machine, changed returnvalue for this from void to + boolean. This should fix e.g. machines with APM + * src/kpowersave_debug.h: fixed myDebug to make function usable + within on-line if-else commands + +2006-02-23 Danny Kukawka + + * src/detaileddialog.cpp: fixed display battery state in the + misc group, now remove the line if no battery present. + TODO: fix powersave to not answer for powersave -s NORMAL if no + battery is present in the machine, better print unknown + +2006-02-21 Danny Kukawka + + * po/de.po: replaced "Stromstecker" with "Stromversorgung" + +2006-02-21 Danny Kukawka + + * po/de.po: fixed translation for "unplugged" + +2006-02-21 Danny Kukawka + + * po/hu.po: added updated and complete translated po file from + the SUSE/Novell translation team + +2006-02-21 Danny Kukawka + + tagged release v0.5.8 (rc2) + +2006-02-20 Danny Kukawka + + * src/autosuspend.cpp: removed the path to pidof. On Fedora + Core 4 is no link from /sbin/pidof to /bin/pidof. Remove the + absolute path because pidof should be in the PATH of user env. + * ChangeLog.package, doc/doxy/changelog.dox, NEWS: updated for + this fix + * po/kpowersave.pot, po/*.po: fixed translation + +2006-02-20 Danny Kukawka + + Prepared new release 0.5.8 (rc2): + + * ChangeLog.package, doc/doxy/changelog.dox: Updated changelogs + * NEWS: added releasenotes + * src/*.h, src/*.cpp: updated version strings + +2006-02-20 Danny Kukawka + + * po/*.po: merged new string + +2006-02-20 Danny Kukawka + + * po/kpowersave.pot: added string for charging battery + * src/detaileddialog.cpp: remove whitespaces in code doc + * src/kpowersave.cpp: added extra string if machine is charging + +2006-02-19 Danny Kukawka + + * po/*.po: updated/merged translation files + +2006-02-19 Danny Kukawka + + * po/Makefile.am: added some help make commands for translations + * po/kpowersave.pot: updated + * src/configuredialog.cpp: removed outcommented tooltip string + +2006-02-19 Danny Kukawka + + * po/kpowersave.pot: update pot file for the translation round + * src/detaileddialog.cpp: removed blank the string for AC state + because we get a translation round. + +2006-02-19 Danny Kukawka + + * src/detaileddialog.cpp, src/detaileddialog.h: replaced layout for + battery and processor bars with QGridLayout to be sure all widgets + have the same size. Replaced picture for total battery fuel state + with a string. Cleaned up the code. + * src/pics/cr22-action-summary.png: Removed no longer needed pic. + +2006-02-19 Danny Kukawka + + * src/configuredialog.cpp: added icon to the 'Configure Notifications' + button + +2006-02-18 Danny Kukawka + + Renamed the *.ui files to the same name syntax/style: + + * src/Makefile.am: related fixed + * src/blacklist_edit.ui: renamed to blacklistedit_Dialog.ui + * src/blacklisteditdialog.cpp/h: related code changes + * src/kpowersave_configure.ui: renamed to configure_Dialog.ui + * src/configureDialog.cpp/h: renamed to configuredialog.cpp/h and + related code changes + * src/detailed_dialog.ui:renamed to detailed_Dialog.ui + * src/detaileddialog.cpp/h: related code changes + * src/info_dialog.ui: renamed to info_Dialog.ui + * src/infodialog.cpp/h: related code changes + * src/kpowersave.h: related code changes + +2006-02-17 Danny Kukawka + + * src/configureDialog.cpp: fixed string + * src/eventsrc: Added new events and default settings. including the + german translation of the comments. + * src/kpowersave.cppn src/kpowersave.h: Added new KNotify events for: + suspend (3), resume (3), scheme switched (5), lidclosed, lidopened. + Fixed code comments and cleanups. + * src/pdaemon.cpp, src/pdaemon.h: Added new signals for: lidopened, + each resume type ( resumedFrom(QString) ) + +2006-02-17 Danny Kukawka + + Removed no longer needed parts (sound notify) from handbook. + Also removed 2 screenshots from the effected dirs. + TODO: need to make new screenshots and add missing pics. + + * doc/cs/index.docbook: + * doc/en/index.docbook: + * doc/fi/index.docbook: + * doc/hu/index.docbook: + * doc/nb/index.docbook: + * doc/pt/index.docbook: + +2006-02-17 Danny Kukawka + + * po/Makefile.am: added messages_merge and messages_stat + * po/*.po, po/kpowersave.pot: updated to current code. We need new + review for the translations. Cleaned up no longer needed strings + and useless default strings. + + Fixed i18n strings: + * src/autosuspend.cpp: + * src/detaileddialog.cpp: + * src/kpowersave.cpp: + * src/kpowersave_configure.ui: + +2006-02-17 Danny Kukawka + + Added slightly adopted and extended patch from Michael Biebl + to replace sound event settings with KNotify: + + * src/Makefile.am: Added new eventsrc for KNotify to make + * src/configureDialog.cpp, src/configureDialog.h, + src/kpowersave_configure.ui: Removed sound settings from scheme + section and the general sound settings. Added a checkbox to disable + notifications per scheme in the scheme section->misc. + Changed: Added a new button to general settings to start the KNotify + config dialog also from the configure dialog, fixed ui files for KDE + user interface style guide, cleanups + * src/eventsrc: Added define and defaults for events. + Changed: Added events for different battery states and added german + translation for the comments. NOTE: need to be translated! + * src/kpowersave.cpp, src/kpowersave.h: Added menu entry to start + the KNotify config dialog to configure the notifications. Changed + handling for events, removed not needed sound events and replaced + with KNotify events (AC adapter, Battery states, Autosuspend started) + Changed: Fixed messagetexts, fixed menu entry icon, KDE style guide + changes, i18n fixes, cleanups + * src/settings.cpp, src/settings.h: Removed no longer needed code + regarding to settings for sound events + +2006-02-16 Danny Kukawka + + * src/Makefile.am: comment out rule for kpowersaveui.rc + * src/kpowersaveui.rc: removed not needed file from SVN tree + +2006-02-16 Danny Kukawka + + * src/kpowersave.cpp, src/kpowersave.h: Added dcop function to + open configure dialog. + +2006-02-16 Danny Kukawka + + * src/COPYING, src/NEWS: cleanup: removed doubled files which + are also available in topdir + +2006-02-16 Danny Kukawka + + * Makefile.am: added new Makefile.am from KDevelop + * Makefile.am.in: removed/replaced with Makefile.am + +2006-02-16 Danny Kukawka + + * kpowersave.kdevelop: updated KDevelop project file, removed + svn as source verserion system because of crashes of KDevelop. + +2006-02-14 Danny Kukawka + + * po/pa.po: fixed path to powersaved with patch from Michael Biebl + +2006-02-13 Danny Kukawka + + Added slightly adopted patch from Daniel Gollub + to display cpu bar if machine only support throttling: + + * src/detaileddialog.cpp, src/detaileddialog.h: Added throttling + switch if machine not support cpufreq. + Changes: Removed usage of pdaemon pointer and replaced with pd. + Moved setTextEnabled() to constructor to reduce unneeded calls. + * src/pdaemon.cpp, src/pdaemon.h: Added new functions to read + throttling information and cpu freq from proc. + Changes: Closed filepointer in new functions and added check if + stream reaches the end of file. Added some checks and set default + value for cpu_throttling. + +2006-02-13 Danny Kukawka + + * src/pdaemon.cpp, src/pdaemon.h: added new signal for throttling + events + +2006-02-13 Danny Kukawka + + * po/bg.po, po/fr.po, po/pa.po: Fixed path to powersaved in + translation files (I hate this!) + +2006-02-13 Danny Kukawka + + Prepared new release 0.5.7 (rc1): + + * ChangeLog.package, doc/doxy/changelog.dox: updated changelogs + * NEWS: added release news + * src/*.cpp src/*.h: updated version string + +2006-02-13 Danny Kukawka + + * packaging/FC4.kpowersave.spec: updates spec files + * packaging/SUSE10.0.kpowersave.spec, + packaging/SUSE10.1.kpowersave.spec: added spec files for SUSE 10.0 + and SUSE 10.1 build system + +2006-02-13 Danny Kukawka + + * src/detaileddialog.cpp: Added brightness support and + battery state infos to detailed dialog + +2006-02-13 Danny Kukawka + + * po/es.po, po/fr.po, po/it.po, po/ja.po, po/pt_BR.po + po/zh_CN.po po/zh_TW.po: added updated and remerged + translation files from the SUSE/Novell translation team + +2006-02-13 Danny Kukawka + + Removed not translated Polish help/handbook from SVN: + + * doc/pl/Makefile.am: + * doc/pl/index.docbook: + +2006-02-13 Danny Kukawka + + Added new Finnish and Polish help/handbook from SUSE/Novell + translation team: + + * doc/fi/Makefile.am, doc/fi/index.docbook: + * doc/pl/Makefile.am, doc/pl/index.docbook: + +2006-02-13 Danny Kukawka + + * po/bg.po, po/fi.po, po/km.po (new): added updated and + remerged translation files from the SUSE/Novell translation team + +2006-02-13 Danny Kukawka + + * po/pt.po: added updated and remerged translation files from + the SUSE/Novell translation team + +2006-02-10 Danny Kukawka + + * po/hu.po, po/nl.po: added updated and remerged translation + files from the SUSE/Novell translation team + +2006-02-08 Danny Kukawka + + * po/cs.po, po/nb.po: added updated and remerged translations + from the SUSE/Novell translation team + * po/zh_CN.po: merged strings from Dawei Pang with new + language file from SUSE/Novell translation team + +2006-02-07 Danny Kukawka + + * po/pt.po: added updated language file from + Flávio Moringa + * src/*.desktop: updated pt comment from Flávio Moringa + * po/es.po, po/fr.po, po/it.po, po/ja.po, po/pt_BR.po, + po/zh_TW.po: added updated and remerged translation files + from the SUSE/Novell translation team + +2006-02-07 Danny Kukawka + + Applyed patch from Michael Biebl : + + * configure.in.in: removed unneeded checks for pkgconfig this + should be done automatically m4-macros + * po/*.po, po/kpowersave.pot, src/kpowersave.cpp: replaced + path to start powersave with /etc/init.d/powersaved + +2006-02-07 Danny Kukawka + + * po/zh_CN.po: updated from Dawei Pang + +2006-02-06 Danny Kukawka + + * src/kpowersave-autostart.desktop, src/kpowersave.desktop: + updated translations in file and remove wrong, old + translations + +2006-02-06 Danny Kukawka + + * src/detaileddialog.cpp: fixed display CPU Freq Policy on + machines without cpufreq support. Should be carefull with + usage of enums and checks like 'enum<=0'. + +2006-02-06 Danny Kukawka + + Prepared new release 0.5.6: + + * NEWS: added release news + +2006-02-06 Danny Kukawka + + Prepared new release 0.5.6: + + * configure.in.in: removed not working header checks, + changed package version to SVN_TRUNK to replace with + mk_powersave_package + * ChangeLog.package, doc/doxy/changelog.dox: + update Changelog and NEWS + * src/main.cpp: changed package version to SVN_TRUNK to + replace with mk_powersave_package + * po/de.po: fixed strings + +2006-02-06 Danny Kukawka + + Added patch from Daniel Gollub : + + * configure.in.in: added check for powerlib.h and dbus + header to configure and stop if missing + * src/Makefile.am: changed position and variable for + xgettext to enable make messages. + +2006-02-06 Danny Kukawka + + * doc/pt/Makefile.am, doc/pt/index.docbook: added new + Portuguese handbook from SUSE/Novell translation team + * po/pt.po: added updated and remerged translation file + from the SUSE/Novell translation team + * po/zh_CN.po: added updated language file from + Dawei Pang + +2006-02-06 Danny Kukawka + + * src/detaileddialog.cpp: fixed by Daniel Gollub catched + bug in detailed dialog which increase the nubmers of + function calls of setProcessor() with each new event from + powersave. Removed connect setProcessor to signal + generalDataChanged() from pdaemon. + +2006-02-06 Danny Kukawka + + * po/nb.po: added updated and remerged translation file + from the SUSE/Novell translation team, fixed one string + +2006-02-05 Danny Kukawka + + * doc/hu/index.docbook, doc/hu/*.png: removed and + changed some pics to reduce package size + * doc/nb/index.docbook, doc/nb/*.png: removed and + changed some pics to reduce package size + * po/*.po, po/kpowersave.pot: fixed pot files (removed + translated strings) and releated fixes in the po files + +2006-02-05 Danny Kukawka + + * doc/en/index.docbook: removed and replaced some + of the pics in the docu + * doc/en/en_configdialog_general_autosuspend.png, + doc/en/en_configdialog_schemes_dpms.png, + doc/en/en_configdialog_yast.png, + doc/en/en_configdialog_general_lock.png: removed + this pictures to reduce the size of the package + * doc/en/en_configdialog_schemes_screen.png, + doc/en/en_configdialog_schemes.png: changed this + pictures to reuse them in different places in the + handbook to reduce the size of the package + +2006-02-05 Danny Kukawka + + * src/detaileddialog.cpp: added new summary battery + progress bar if there are more than one battery bays. + * src/pics/cr22-action-summary.png: new icon for + the detailed dialog + +2006-02-05 Danny Kukawka + + * doc/cs/Makefile.am: added Makefile.am for cs help + * src/pdaemon.h: added header for Slackware 10.2 within + a ifdef, because this is not needed on other distros + +2006-02-03 Danny Kukawka + + * src/autosuspend.cpp: changed /sbin/pidof to /bin/pidof + (thanks to Michael Biebl for the bug tracking). Emit + a errormessage if the call of pidof fails and added + debug informations to the class + * src/autosuspend.h: added new signal to forward + error messages to class kpowersave + * src/kpowersave.cpp: Connect new autosuspend signal + to display the error msg. + +2006-02-03 Danny Kukawka + + * po/pl.po: added new version from Dawid Wróbel + + +2006-02-03 Danny Kukawka + + * doc/cs/index.docbook: fixed language mark to Czech + +2006-02-03 Danny Kukawka + + * doc/cs/index.docbook: added Czech version of the + handbook (from SUSE/Novell translation team) + +2006-02-03 Danny Kukawka + + * po/bg.po: added updated and remerged translation file + from the SUSE/Novell translation team, removed some + fuzzy marks + +2006-02-02 Danny Kukawka + + * po/fi.po: added updated and remerged translation file + from the SUSE/Novell translation team + +2006-02-02 Danny Kukawka + + * po/pl.po: added slightly fixed new polish language file + from Dawid Wróbel + +2006-02-01 Danny Kukawka + + * src/kpowersave.cpp, src/pdaemon.cpp, src/pdaemon.h: + removed enum BAT_CHARG and replaced with define from + libpower + +2006-02-01 Danny Kukawka + + * src/detaileddialog.cpp: fixed problem with display current + CPU freq if the machine doesn't support CPU Freq Policy + +2006-01-30 Danny + + * po/nl.po: updated nl language file + +2006-01-30 Danny Kukawka + + * src/detaileddialog.cpp: disable battery progress bar + if the batterybay is empty (bettery is not present) and + reset to enabled if battery is added + +2006-01-30 Danny Kukawka + + Prepared new release 0.5.5: + + * ChangeLog.package, NEWS, doc/doxy/changelog.dox: Updated + Changelogs and NEWS for the release + * configure.in.in, src/*.cpp, src/*.h: updated version + strings in the source + +2006-01-30 Danny Kukawka + + * po/de.po: fixed/formated string + * src/configureDialog.cpp: changed translation string + * src/kpowersave_configure.ui: moved 'Edit Blacklist ...' + button for schemes to avoid resize dialog while switch + pages. + +2006-01-30 Danny Kukawka + + * src/detailed_dialog.ui: reworked detailed dialog after + discussion and welcome criticism from Timo Hönig based on a + mocup from Timo. Thanks! + * src/detaileddialog.cpp, src/detaileddialog.h: added patch + from Daniel Gollub to fix problems if a + CPU is set offline. + Added changes releated to the new designed dialog. Added + icons to show the current battery state as in the applet + and added icon for the current scheme. Fixed some strings + from the patch above to get translation in this translation + round (need to fix them for the next round) + * src/kpowersave.cpp, src/kpowersave.h: Added new pixmap + with the current applet icon and give a reference to the + detailed dialog to have there a actuall icon. + * src/pdaemon.cpp, src/pdaemon.h: added patch from Daniel + Gollub to fix problems with offline + CPUs on multiprocessor machines. + * src/pics/cr22-action-processor.png: added new icon for + the processor group in detailed dialog + * src/pics/README: cleaned up and added comment about the + new icon (came from kids-icon-package). + +2006-01-27 Danny Kukawka + + * src/kpowersave.cpp: use now invokeBrowser() for + open bugreport website and cleaned up includes. + +2006-01-27 Danny Kukawka + + * po/de.po: removed translator string --> if not + translated the page about translator is not shown in + the 'About KPowersave' dialog. + * po/kpowersave.pot: removed translator string + +2006-01-27 Danny Kukawka + + * src/pics/cr16-action-scheme_advanced_powersave.png, + src/pics/cr22-action-scheme_advanced_powersave.png: + Added icons for the new 'Advanced Powersave' scheme + * src/configureDialog.cpp, src/kpowersave.cpp: integrated + the new icon. + * src/pics/cr32-action-laptoppower.png: removed old, not + needed really ugly icon + +2006-01-27 Danny Kukawka + + * src/detailed_dialog.ui: changed default size to 400x120 + * src/detaileddialog.cpp: changed handling if remaining + minutes return -1 (set only percentage) + +2006-01-27 Danny Kukawka + + * src/detaileddialog.cpp: fixed problem with update + battery progress bar if battery is removed from slot. + Changed interval for check processor from 500 to 333 ms + to use the same default value as powersave. + +2006-01-27 Danny Kukawka + + * src/detaileddialog.cpp, src/detaileddialog.h: + connect to new signal from pdaemon batteryInfoEvent() and + refresh battery infos. Added refresh processor info every + 500 ms, cleanded up included headers. + * src/pdaemon.cpp, src/pdaemon.h: Added new signal + batteryInfoEvent() to refresh detailed dialog and prevent + oversee remove battery. + +2006-01-26 Danny Kukawka + + * po/de.po: added translator + * po/kpowersave.pot: added translator strings + * src/main.cpp: Added new strings for translator name and + email adress. This should prevent display KDE defaults. + +2006-01-26 Danny Kukawka + + * po/*.po: merged po files with updated pot file + +2006-01-26 Danny Kukawka + + * po/de.po: Fixed string + * po/kpowersave.pot: fixed 'Dimm' with 'Dim' + * src/kpowersave.cpp: fixed 'Dimm' with 'Dim' + +2006-01-26 Danny Kukawka + + * po/de.po: Added new strings and translated them. + * po/kpowersave.pot: added new strings from I18N_NOOP and + from the help menu + * src/Makefile.am: Added new tag I18N_NOOP to make messages + +2006-01-26 Danny Kukawka + + * NEWS: fixed version string + * src/configureDialog.cpp: fixed spell from 'dimm' to 'dim' + * po/*.po, po/kpowersave.pot: fixed spell from 'dimm' to 'dim' + * po/de.po: updated and translated german language file + +2006-01-25 Danny Kukawka + + * src/kpowersave.cpp, src/kpowersave.h: Added new help menu + to the applet. This menu provide: open KPowersave handbook, + show About dialog (About, Authors, Thanks To, Licence + Agreement) and a 'Report a bug' entry which open a browser + window and open sf.net bug section. + * src/main.cpp: reformated the code and added new infos + for the About dialog. + +2006-01-24 Danny Kukawka + + * po/kpowersave.pot: removed double definitions + * po/*.po: merged with new pot file + +2006-01-24 Danny Kukawka + + * po/kpowersave.pot: updated to current source + +2006-01-24 Danny Kukawka + + Added dummy strings for the next translation round: + * src/configureDialog.cpp: for dimm brightness on inactivity + and runtime powermanagement + * src/detaileddialog.cpp: for additional information + * src/kpowersave.cpp: for runtime powermanagement and + dimm brightness + +2006-01-24 Danny Kukawka + + * packaging/FC4.kpowersave.spec: Added new dir for build files + and the current spec for Fedora Core 4 + +2006-01-23 Danny Kukawka + + Prepared new release 0.5.4: + + * ChangeLog.package, doc/doxy/changelog.dox, NEWS: updated + Changelogs and news + * doc/doxy/enhance.dox, doc/doxy/implemented.dox: updated + current status of feature implemenation/process + * src/detaileddialog.cpp/h: update copyright header + * src/*.cpp, src/*.h: updated version string to 0.5.4 + +2006-01-23 Danny Kukawka + + * doc/doxy/powersave_msgs.dox: updated processor related events + in the code dokumentation + * src/detaileddialog.cpp: added additional check for current + cpu frequency to get current data + * src/pdaemon.cpp: added new processor related events (.busy and + .idle) and changed sysfs path for max. cpu freqency to prevent + problems with machines as e.g. DELL D600 + +2006-01-23 Danny Kukawka + + * src/detailed_dialog.ui: added new QLabel to display the + information values with right aligned text and bold. Added + new line to separate for better view. + * src/detaileddialog.cpp, src/detaileddialog.h: added current + scheme, current cpufreq policy and if powersave daemon is running + to the dialog. + +2006-01-23 Danny Kukawka + + * src/detailed_dialog.ui: fixed ui-file with fixuifiles + * src/detaileddialog.cpp: Changed CHARG_STATE_CHARG_DISCHARG case + and display only the current percentage. Added i18n() for some + strings, set caption correct for dialog. + +2006-01-23 Danny Kukawka + + * src/detaileddialog.cpp: added code comments, (re)moved some + variables. + * src/detaileddialog.h: added code comments, added copyright + header. changed SLOTs, pdaemon pointer and QValueLists from + public to private. + +2006-01-23 Danny Kukawka + + * src/kpowersave.cpp, src/kpowersave.h: Added code comments, + fixed code format. + +2006-01-23 Danny Kukawka + + Added slightly adopted patch from Daniel Gollub + for a new dialog with information about current battery, cpu and + AC states. This dialog is currently connected to left mouse button + on the applet icon. + + * src/Makefile.am: added new files to make + * src/detailed_dialog.ui, src/detaileddialog.cpp, + src/detaileddialog.h: new file for the dialog + * src/kpowersave.cpp, src/kpowersave.h: added new functions to + prevent open the detailed dialog twice. Added dialog to left + mouse button and comment out cpuspeed from the tooltip (TODO: + search for a good solution to readd this info). + * src/pdaemon.cpp, src/pdaemon.h: Added new functions to read + current and maximum speed of all CPUs in the system. Changed + variables for CPUSpeed to QValueList. + +2006-01-17 Danny + + * ChangeLog.package, NEWS, doc/doxy/changelog.dox: updated + * src/config/kpowersaverc_default: added default settings for + 'Advanced Powersave' scheme + * src/kpowersave.cpp: changed 'Aggressive' to 'Advanced' Powersave + scheme as in actual powersaved defined. + +2006-01-17 Danny Kukawka + + * ChangeLog.package, doc/doxy/changelog.dox: updated Changelogs + * doc/doxy/process.dox: updated process (capability brightness) + * NEWS: updated release notes + * src/dbusPowersave.cpp: added patch from Holger Macht + to add capability brightness for connect to powersave + to tell daemon to stop set brightness + +2006-01-17 Danny Kukawka + + Prepared new release 0.5.3: + * ChangeLog.package, doc/doxy/changelog.dox: update changelogs + * doc/doxy/process.dox: update current state of brightness feature + * other src/*: updated version strings + * src/kpowersave.cpp: Added warning dialog if 'Aggressive Powersave' + scheme is selected. + * NEWS: added releaseinfo and changes + +2006-01-17 Danny Kukawka + + * src/config/kpowersaverc_default: added new default keys + for brightness settings + * src/configureDialog.cpp, src/configureDialog.h: implemented + set/read brithness related settings for chemes + * src/kpowersave.cpp, src/kpowersave.h: implemented set + brightness if scheme switched and brightness is supported by machine + * src/kpowersave_configure.ui: Added new page in scheme settings to + set and test scheme specific brightness settings. + * src/settings.cpp, src/settings.h: added brigthness settings + +2006-01-16 Danny Kukawka + + * src/screen.cpp: added gcc patch from Daniel Gollub + +2006-01-15 Danny Kukawka + + * doc/doxy/enhance.dox, doc/doxy/implemented.dox, + doc/doxy/process.dox: updated enhancements and current process + * src/infodialog.h: fixed doxygen problem + +2006-01-14 Danny Kukawka + + * src/configureDialog.cpp, src/configureDialog.h, src/kpowersave.cpp: + Added pointer to pDaemon object from class kpowersave to be able + to read and set Brightness releated values via dbus. + * src/pdaemon.cpp, src/pdaemon.h: Added new functions: getBrightness(), + getMaxBrightnessLevels() and setBrightness() to control brightness + settings of the display. + +2006-01-13 Danny Kukawka + + * po/nl.po: forgot to merge with current pot file + +2006-01-13 Danny Kukawka + + * po/nl.po: updated translation file + +2006-01-11 Danny Kukawka + + * src/configureDialog.cpp, src/configureDialog.h: replaced + QString::null with QString() (prepare for QT4) + +2006-01-10 Danny Kukawka + + Prepared new release 0.5.2: + * ChangeLog.package, doc/doxy/changelog.dox: updated to current + release changelog + +2006-01-10 Danny Kukawka + + * src/infodialog.cpp, src/infodialog.h: added new bool and related + get function to prevent popup dialog if disabled + * src/kpowersave.cpp: depending changes: added check if dialog + disabled by user. + +2006-01-10 Danny Kukawka + + * src/info_dialog.ui: grouped widgets to resize the dialog + +2006-01-10 Danny Kukawka + + Prepared new release 0.5.2: + * doc/doxy/fixed_bugs.dox: updated fixed bugs + * configure.in.in, src/autosuspend.cpp, src/autosuspend.h, + src/blacklisteditdialog.cpp, src/blacklisteditdialog.h, + src/configureDialog.cpp, src/configureDialog.h, + src/dbusPowersave.cpp, src/dbusPowersave.h, src/infodialog.cpp, + src/infodialog.h, src/kpowersave.h, src/main.cpp, src/pdaemon.h, + src/schemes.h, src/screen.cpp, src/screen.h, src/settings.cpp, + src/settings.h, src/suspenddialog.cpp, src/suspenddialog.hi: + updated version string to current release version + * NEWS: added releaseinfo and changes + +2006-01-10 Danny Kukawka + + * po/*.po, po/kpowersave.pot: removed path from 'powersave is not + running' error message and fixed some wrong translations (powersavedd). + +2006-01-10 Danny Kukawka + + * src/Makefile.am: added new files for make + * src/info_dialog.ui, src/infodialog.cpp, src/infodialog.h: + Added new class for a non-blocking dialog with only one button and + a optional "Don't display again." checkbox + * src/kpowersave.cpp, src/kpowersave.h: Added new function to display + the 'powersave is not running' error message. Removed path from + errormessage. + Added some comment to signal connects and grouped them. + * src/pdaemon.cppi, src/pdaemon.h: added new signal to display the + 'powersave is not running' dialog. + +2005-12-22 Danny Kukawka + + * src/kpowersave.cpp, src/kpowersave.h: Added new function to diplay + the HAL warning passive popup and delay the message 15 sec to + prevent message on HAL or powersave restart. Changed handling of + display the errormessage. + * src/pdaemon.cpp: Fixed some problems with HAL_ERROR handling. Fixed + problem with set update_info_ac_changed _before_ emit related signals. + +2005-12-21 Danny Kukawka + + * src/pdaemon.cpp: cleaned up and make code shorter + +2005-12-21 Danny Kukawka + + * src/pdaemon.cpp: removed no longer needed dbus_message_unref(). + +2005-12-21 Danny Kukawka + + * src/pdaemon.cpp: implemented new function fot errorhandling. + Added errorhandling to readDaemonData() and replaced code in + checkBatteryProcInfo with call new errorhandling function. + * src/pdaemon.h: added seperate private function to handle errors + from getBatteriesInfo(). + +2005-12-21 Holger Macht + + * src/pdaemon.cpp: fixed from powersave removed DBUS methodes for + battery infos. + +2005-12-21 Danny Kukawka + + * src/kpowersave.cpp: fixed icon handling on (HAL) error. If there + is no information about battery and AC state we 'disable' the icon + (not the icon menu) + +2005-12-19 Danny Kukawka + + * src/pdaemon.cpp, src/pdaemon.h: added check for new errorcode + from powerlib if connection to HAL fails (HAL_ERROR). Added new + battery state to check this in class kpowersave (BAT_HAL_ERROR). + Removed todo-lines. + * src/kpowersave.cpp, src/kpowersave.h: Added better errorhandling + if the connection to HAL fails if powersave is not running. Fixed + in this case the tooltip and added a KPassivePopup to inform the + user about this error. + Changed pixmap size for the applet icon to 22 instead of 20. + +2005-12-19 Danny Kukawka + + * Makefile.am.in: removed install rule for default configfile + * src/Makefile.am: added fixed rule for defaulte configfile + to this Makefile + +2005-12-13 Danny Kukawka + + * kpowersave.kdevelop: updated to use svn instead of cvs + * src/pdaemon.cpp: removed unused/ifdef'd code + +2005-12-12 Holger Macht + + * src/pdaemon.cpp: adjust to new powerlib + +2005-12-10 Danny Kukawka + + * .cvsignore, doc/.cvsignore, doc/en/.cvsignore, + doc/hu/.cvsignore, doc/nb/.cvsignore, po/.cvsignore, + src/.cvsignore, src/pics/.cvsignore: removed no CVS related + files from the SVN repository. + * src/kpowersave.cpp: corrected check AC status by check for + correct enum AC_ONLINE. + * src/pdaemon.cpp: Added correct defines/enums for the AC status. + Also added part for better errorhandling if powersaved and HAL are + not running --> TODO. + Added activation of system timer in non daemon mode. This should + prevent problems if powersaved stopped and restarted more than + one time. + +2005-12-07 Danny Kukawka + + * src/pdaemon.cpp: fixed set applet icon for AC status if no + powersave daemon is running, emit now needed signals. Also + fixed signal for AC sound. + +2005-12-03 Danny Kukawka + + * po/de.po: fixed typo + +2005-12-02 Danny Kukawka + + * Makefile.am.in: fixed build path with patch from + Michael Biebl + +2005-12-02 Danny Kukawka + + * src/Makefile.am: added PACKAGE_KDE_SOUND_DIR to get path + to the KDE sound dir (usual: $prefix/share/sounds) + + * src/configureDialog.cpp, src/configureDialog.h: Added check + for KDE sound dir. If exist, use to fill the file dialog for + the sound files. If not exist, use the home dir of the user. + If the user select a file via the dialog, we set the dir for + the next file dialog to this path. If the current filepath + in the editbox not exist we use KDE sound dir/user home. + +2005-12-02 Danny Kukawka + + * doc/nb/nb_*.png: replaced english dummy screenshots with + norsk version. + +2005-11-30 Danny Kukawka + + * doc/hu/hu_*.png: replaced english dummy screenshots with + hungarian version. + +2005-11-15 Danny Kukawka + + * doc/hu/.cvsignore: added .cvsignore + +2005-11-15 Danny Kukawka + + * doc/hu/index.docbook, doc/nb/index.docbook: fixed language + settings to have correct named and localized files. All + should now work. + +2005-11-15 Danny Kukawka + + * doc/nb/index.docbook: replaced XML character entities with + UTF-8 characters. Thanks Karl Eichwalder for the + help to fix the file. + +2005-11-15 Danny Kukawka + + * doc/nb/index.docbook: reformated and replaced wrong file + content. Note: this file is maybe any longer broken. + +2005-11-15 Danny Kukawka + + * src/screen.h: removed not needed include of qvector.h. + +2005-11-14 Danny Kukawka + + * doc/hu/*: added Hungarian version of the online help. + NOTE: screenshots are currently only dummy files from the + english version. Need to update them later. + +2005-11-07 Danny Kukawka + + * doc/doxy/enhance.dox: added new enhancement to discuss + +2005-11-07 Danny Kukawka + + * INSTALL: updated to current KDE file + + * configure.in.in: readded file to solve problems with KDE + autotools/update_admin. --> undo last changes. Also changed the + logic between check distro and check configure option to be + sure that configure otions overwrite automatically detection. + Added some messages displayed while run configure. + + * doc/Makefile.am: updated to KDE package style. + +2005-11-07 Danny Kukawka + + * configure.in.in: replaced with configure.in to get summary + on the right place while execute ./configure + + * configure.in: added summary at the end of oputput from + configure + +2005-11-01 Danny Kukawka + + * src/pdaemon.cpp: Removed errormessage from constructor of + pdaemon if connect to powersave failed. Increased timeout for + recheck to 10 seconds to prevent races from parallel booting + and autologin to KDE. + +2005-10-19 Danny Kukawka + + * doc/nb/*: initial import of Norsk help file + +2005-10-12 Danny Kukawka + + * doc/en/index.docbook: added updated help file (updated from + : removed DOS line endings) + +2005-10-12 Danny Kukawka + + * po/bg.po, po/cs.po, po/da.po, po/de.po, po/el.po, po/es.po, + po/fi.po, po/fr.po, po/hu.po, po/it.po, po/ja.po, + po/kpowersave.pot, po/nb.po, po/nl.po, po/pa.po, po/pl.po, + po/pt.po, po/pt_BR.po, po/ru.po, po/sk.po, po/sl_SI.po, + po/sv.po, po/tr.po, po/uk.po, po/zh_CN.po, po/zh_TW.po: + merged changes related to last patches (from Stephan Binner) + to translation files and updated german po file. + + * src/blacklisteditdialog.cpp: Changed the caption of the + groupbox if the dialog is for a scheme specific blacklist to + "'Scheme: ' + schemename". + + * src/configureDialog.cpp, src/kpowersave_configure.ui: changed + some strings related to the last fixes for KDE user interface + style guide + +2005-10-12 Danny Kukawka + + Patch from Stephan Binner : + * src/configureDialog.cpp: + - fix to respect KDE user interface style guide + - changed Yes/No buttons to "Import"/"Do Not Import" + * src/kpowersave.cpp, src/kpowersave_configure.ui, + src/suspenddialog.cpp: + - fixes to respect KDE user interface style guide + - replaced usage of SmallIcon with SmallIconSet + * src/kpowersave.desktop: Added GenericName and fixed + Comment entry + +2005-10-12 Danny Kukawka + + * src/blacklist_edit.ui, src/kpowersave_configure.ui, + src/suspend_Dialog.ui: fixes from fixuifiles script and + fix for 'OK' string in the ui-files. (Patch from Stefan + Binner ) + +2005-10-12 Danny Kukawka + + * src/AUTHORS, src/ChangeLog, src/INSTALL, src/README: + removed duplicated files from src dir, same files could + be found in the base dir + +2005-10-12 Danny Kukawka + + * po/fi.po: added Finnish translation from Ilkka Pirskanen + + +2005-10-10 Danny Kukawka + + * kpowersave.kdevelop: changed version string + + * src/kpowersave.cpp, src/kpowersave.h: + - removed variables with icon names which used one time only + and replaced directly where needed with name of the icons + to reduce global variables + - fixed typo in code documentation and removed some + whitespaces/empty lines + +2005-09-27 Danny Kukawka + + * po/de.po: fixed typo, see bugreport: + http://bugs.kde.org/show_bug.cgi?id=112882 + +2005-09-20 Danny Kukawka + + * po/ru.po: updated file from Anton Farygin + +2005-09-19 Danny Kukawka + + * ChangeLog.package: moved Changelog of the package to new + file. This file now contains the CVS changelog + + * README: Updated compile instruction for non-SUSE + distributions. Now the package contains a admin dir. + +******************************************************************* +* NOTE: This Changelog contains starting from version 0.5.0 the * +* CVS Changelog. The package changelog could be found in * +* Changelog.package * +******************************************************************* + diff --git a/ChangeLog.package b/ChangeLog.package new file mode 100644 index 0000000..b34e6f7 --- /dev/null +++ b/ChangeLog.package @@ -0,0 +1,1253 @@ +******************************************************************* +* * +* See the Changelog of the package, this changelog is maybe not * +* up to date! * +* * +******************************************************************* +------------------------------------------------------------------- +Mon Sep 17 19:14:44 CEST 2007 - dkukawka@suse.de + +- released KPowersave 0.7.3: + - Changed return value types (uint to int) due to changes in HAL + and our HAL package + - reworked code for mouse wheel events to reuse code for + brightness key events + - When use DBUS_TYPE_BOOLEAN use as variable type dbus_bool_t + to avoid possible trouble on big endian machines + - prepared KPowersave to work also with HAL >= 0.5.10 + (handle renamed policy names in HAL) + - updated translations: cs, zh_CN, fi, pt, de, sl_SI + - enable build also for ppc64 (may be usefull for PS3) + - updated NEWS, Changelogs etc due to new release + - fixed bugs: + - b.n.c #307431: (prevent AC notifications if session state + get changed) + - b.n.c #309491: (fix crash if started in GNOME) + - b.n.c #293707: (missing space between text and ellipsis) + +------------------------------------------------------------------- +Thu Aug 30 18:13:28 CEST 2007 - dkukawka@suse.de + +- updated to current HEAD v0.7.2_SVN20070830 (r3066): + - fixed bugs: + - b.n.c #302493 (don't use kdFatal() befor call exit(-1), it + would only look like a crash) + +------------------------------------------------------------------- +Mon Aug 27 19:36:37 CEST 2007 - dkukawka@suse.de + +- updated to current HEAD v0.7.2_SVN20070827 (r3065): + - force update detailed dialog on AC events to get always e.g. + the correct scheme info in the dialog + - fixed bugs: + - b.n.c #301692 (fix again detection of session state, fixed + possible segfault on ix86) + +------------------------------------------------------------------- +Sun Aug 26 17:48:51 CEST 2007 - dkukawka@suse.de + +- updated to current HEAD v0.7.2_SVN20070826 (r3063): + - fixed configure to undef ENABLE_YAST_ENTRY if the Yast entry + should not get added to the applet menu +- fixed spec-file to don't use --enable-yast-entry as configure + option on openSUSE >= 10.3 (b.n.c #299577) + +------------------------------------------------------------------- +Sun Aug 26 00:44:14 CEST 2007 - dkukawka@suse.de + +- updated to current SVN HEAD v0.7.2_SVN20070826 (r3062): + - translation files: + - updated: ar,bg,cs,el,es,fr,ja,nl,pa,pt_BR,tr + - removed largely untranslated files: sk,sl_SI + - added new: hi,lt + - fixed configure script to detect if we should use HAL to get + information about policies instead of PolicyKit + - fixed bugs: + - b.n.c #301692 (no scheme switch on AC event because of + missdetected Session state) + - b.n.c #303963 (fix segfault if XDG_SESSION_COOKIE is not set) + +------------------------------------------------------------------- +Mon Aug 20 18:10:39 CEST 2007 - dkukawka@suse.de + +- updated to current SVN HEAD v0.7.2_SVN20070820 (r3057): + - fixed/cleaned up brightness handling/code + - dimm brightness up if user get inactive in 750ms instead of + 1500ms + - added new DCOP functions to get, set up/down brightness + - fixed typo to show up the logviewer dialog if suspend fail + - added new dialog shown up 30 seconds before autosuspend call + the suspend to warn the user and allow chancel the suspend + - don't show yast module applet entry for openSUSE >= 10.3 + - added code to work with new PolicyKit/ConsoleKit/HAL combi + to check if the user is privileged + - added code to check if the current desktop session is avtive + and handle if the session get inactive (for more see Changelog + of the pacakge) + - added code to release/aquire org.freedesktop.Policy.Power if + the session get inactive/active to allow powersaved or other + active KPowersave instances to handle powermanagement + - fixed parameter types for call of SetPowerSave() on HAL + - comment out calls of getSchedPowerSavings(), the needed HAL + interface didn't make it into HAL yet + - fixed several compiler warnings + - removed Portuguese version of the help, since only one + paragraph was translated + - updated translations: da,de,el,fi,hu,it,km,nb,pa,pl,pt,ru,sv,uk + - fixed bugs: + - b.n.c #298332 (crash, fixed typo) + - b.n.c #299577 (Yast module) + - b.n.c #282640 (brightness up/down handling) + - b.n.c #182609 (autosuspend warn dialog, feature request) + - b.n.c #301692 (fix switch schemes on AC events) + +------------------------------------------------------------------- +Tue Jul 24 19:16:13 CEST 2007 - dkukawka@suse.de + +- updated to current SVN HEAD v0.7.2_SVN20070724 (r3000): + - reworked brighness support detection to workaround a bug in + HAL on some DELL laptop machines if laptop_panel.num_levels + is 1 which mean in fact the machine don't support brightness. + - set more useful default values for autoDimmTo in config file + - use float for internal calculation of battery values + +------------------------------------------------------------------- +Tue Jul 24 15:54:27 CEST 2007 - dkukawka@suse.de + +- updated to current SVN HEAD v0.7.2_SVN20070724 (r2998): + - added new feature: autodimm (see b.n.c #274705) + - added some initial base code for planed new features: + - get-/setSchedPowerSavings + NOTE: not available to the user atm + - call setPowerSave() always depending on the AC state if a + scheme get set. This should fix problems on startup. + - Added new config variable (callSetPowerSaveOnAC in [General] + section) to disable call SetPowerSave() on HAL. + - Fixed Segmentation Fault from b.n.c bug #284622. + - added arabic po-file from Youssef Chahibi + - fixed laptop panel/backlight device handling to react if a + device get added/removed to/from HAL + - use now kdebug/kdDebug() functions to debug instead of own + macros, added --dbg-trace option to allow trace function entry + and leave points. + - fix code to guess if a 6-hour-timeout occours while suspend/ + resume or if there was really a error + - fixed return value handling for SetPowerSave() on HAL + - make also AC Adapter events intependent from QT3/D-Bus event + loop. + - code cleanups + +------------------------------------------------------------------- +Wed May 9 18:29:53 CEST 2007 - dkukawka@suse.de + +- updated to current SVN HEAD v0.7.2_SVN20070509: + - added more debug messages to trace function calls + - fixed detection if brightness is really supported by the system + - change default timeout to fake keyevent for locked screen to + 2.5 seconds + - don't fake key event after locked screen and lidopen if config + variable timeToFakeKeyAfterLock < 0 + - Added support to handle brightness key events if the machine + not already handle this in the hardware directly (as e.g. + IBM/Lenovo Thinkpads). The events get directly translated to + change the brightness level +-1 per key event. + +------------------------------------------------------------------- +Tue Apr 24 16:53:13 CEST 2007 - dkukawka@suse.de + +- updated to current SVN HEAD v0.7.2_SVN20070424: + - changed set CPU Freq governor to reuse code and integrated + patch for b.n.c #229234 + - fixed b.n.c #266243: check if info.capability contains + laptop_panel instead for info.category + +------------------------------------------------------------------- +Wed Apr 18 20:38:47 CEST 2007 - dkukawka@suse.de + +- Updated to current SVN HEAD v0.7.2_SVN20070418: + - fixed wrong unit for power consumption (removed 'h' from unit) + - removed old powersave daemon related code and strings from + actual messages + - added new dialog to show logfiles if a suspend/resume fail + (need a patch for pm-utils to return not always 0) and allow + the user to save the log + - added wodim to autosuspend blacklist + - force settings for current battery warning level if they + get changed via config dialog + - fixed problems with usage of enum cpufreq_type: don't assign + integer values to a enum (lead to segfault since enum is a + 8bit char object) + - changed logic for resume if a timeout happen + - only suspend on button events if we resumed (successful) to + avoid double suspends + - several fixes to make signals from HAL/DBus idependent from + the QT eventloop due to problems with the QT3 DBus bindings + (should also fix Debian bug #413811) + - several fixes realated to segfaults/crashes + - moved unused strings to new dummy class/file + - cleanup code and removed doubled code + - patches from Mandriva (lmontel@mandriva.com): + - fixed problems with formated messages from KDE media manager + - avoid double translate strings/msg + - Make moc files being included to speed up build and to fix + some parallel build issues + - fixed several memory leaks + - fixed bugs: + - Debian #413638: if config dialog is minimized and the user + try to start config dialog via applet reactivate the dialog. + - Debian #413811 + - (K)Ubuntu: https://launchpad.net/bugs/94396: stop autosuspend + before suspend + - b.n.c #257326: ignore battery warnings if on AC + - b.n.c #256372: make HAL events independent from QT eventloop + +------------------------------------------------------------------- +Wed Feb 14 18:26:34 CET 2007 - dkukawka@suse.de + +- released new version 0.7.2: + - changes (for more see NEWS/Changelog file in the source): + - extended configure dialog to provide this functionality: + * schemes settings: + - add new and delete existing (no default) schemes + - define a CPU Frequency policy for each scheme + * general settings: + - define battery warning levels and actions if a level + reached as e.g. Suspend to disk, Shutdown or change the + display brightness + - configure actions for button events (Power/Lid/Suspend/ + Sleep buttons) + - define the default AC and battery schemes + - show the power consumtion of the battery in the detailed info + dialog + - umount external media before suspend (need a patch of the KDE + media manager) to avoid data loss and remount on resume + - reset the CPU Freq settings on resume to avoid different + settings for the CPU governor on multicore machines + - call now SetCPUFreqConsiderNice(), SetCPUFreqPerformance() on + dynamic CPU Freq policy (as poweruser setting only changeable + via config file), and also SetPowerSave() with true on + battery and false otherwise. + - support also conservative governor as DYNAMIC fallback + - fixed brightness handling in the configure dialog if not + activated + - removed accelerator tags from i18n() strings. KDE handle this + by itself. Improved config GUI to be better accessible via + keyboard. + - code and code documentation cleanups and updates + + - fixed bugs (from bugzilla.novell.com if no other comment): + - #245081: KPowersave does not set (ondemand) governor on + startup + - #244052: Close lid of a laptop and suspend to ram cause + 100% CPU usage + - #229960: CPUFREQ_DYNAMIC_PERFORMANCE seems to be ignored + during boot and scheme change + - #230686: KPowersave need to be restarted to apply changed + DPMS settings + - #230965: puzzling battery state info + - #231709: kpowersave-0.7.1-12: comparison with string literal + - #231184: KPowersave crashes due to uninitalized LibHalContext + - #229234: KPowersave does not fall back to userspace governor + - #215262: Suspend to disk with attached usb storage not + working + - #223164: After suspend, second core has performance governor + set + - #223517: Powersave: CPU scheme "dynamic" reduces speed if + only nice -19 processes run + - #223637: kpowersave crashes in first login + - #225212: KPowersave crash on ThinkPad X60s + - #221715: Functionality for configuring lid close event etc. + missing in KPowersave + - #223922: System not shuting down on pressing power button + + - updated translations: + - german: Danny Kukawka + - danish: Stefan Skotte + - turkish: S.Çağlar Onur + - chinese: Zhengpeng Hou + +------------------------------------------------------------------ +Mon Nov 20 19:17:11 CET 2006 - dkukawka@suse.de + +- released new version 0.7.1: + - closed bugs (b.n.c): #220271,#220222,#220212,#220553,#167919 + - KPowersave should now basicly provide the same major functions + as last stable version of KPowersave. For more read NEWS and + Changelog. + +------------------------------------------------------------------- +Mon Nov 6 21:03:53 CET 2006 - dkukawka@suse.de + +- release new version 0.7.0: + - changes: + - depends no longer on powersave, use now only DBUS/HAL + - known issues/bugs: + - scheme switching does not work (also not on AC events) + - currently no reaction if battery reach a warning state or + is emptry !!! + - complete brightness support untested + - lock screen (on lidclose/suspend) untested + +------------------------------------------------------------------- +Sun Jun 11 17:00:30 CEST 2006 - dkukawka@suse.de + +- released offical update version 0.6.2 with following changes: + - KPowersave depends now on powersave >= 0.12.18 + - fixed bugs: + - sf.net #1483392/ SUSE #177792: set changes for autosuspend + state via DCOP back to the applet menu, added DCOP functions + to set the current scheme, the current CPUFreq policy and to + open/close the detailed dialog. + - sf.net #1483392/ SUSE #177788,180000: added workaround to + fix two bugs in the DPMS- and Screensaver extension of X, + related to autosuspend and detect user inactivity, which + prevent autosuspend within the timeout escpecially if the + autosuspend timeout is longer than a DPMS timout. + Problems: DPMS timeouts are abstracted from current idle + time, but shouldn't and DPMS timeouts are currently additive, + but the spec say they should all start together at zero. + - SUSE #168619: changed errorhandling if HAL, DBUS or the + powersave daemon is not running or if the user has not the + needed rights to access the powersave daemon via DBUS. + Added new errormessages and translations. + - SUSE #182515: Changed configure dialog to respect rules for + DPMS timeouts (a timeout must be larger than the prior state) + - SUSE #176782: patch from Timo Hönig to + allow (if hardware supported and enabled in the scheme) + change brighness via mousewheel over the applet icon. + - SUSE (SLED) #183745: fixed detection of SUSE Linux/SLES/SLED + and added configure option to force SLES/SLED as distro + with --enable-suse-sles. Fixed bugzilla link for SLED/SLES + - SUSE #184076: fixed wrong command to start dbus daemon in + errormessage. + - added additional check before autosuspend if this was + disabled via applet to avoid autosuspend if it was temporary + disabled by the user + - added new configure check to detect Ubuntu/Kubuntu + - changed link to Ubuntu bugzilla to launchpad.net and use now + the same link for applet menu entry "Report a bug ..." if + compiled for Ubuntu/Kubuntu + - updated default blacklist for autosuspend with gmplayer, + kaffeine,xine,mencoder + - updated translation: cs, de, es, fi, fr, hu, it, km, pl, pt_BR, + zh_CN,zh_TW + - updated (cs) and fixed translation of eventsrc for KNotify + - fixed and updated code documentation + +------------------------------------------------------------------- +Mon Apr 24 17:50:44 CEST 2006 - dkukawka@suse.de + +- released official update version 0.6.1 with following changes: + - fixed bug #168838; event for resumeFromSuspendToDisk displayed + twice in knotify dialog (typo and translation issue in eventsrc) + - updated russian translations including desktop files and + eventsrc from Anton Farygin + +------------------------------------------------------------------- +Tue Apr 18 15:27:12 CEST 2006 - dkukawka@suse.de + +- released SUSE update version 0.6.1 with following changes: + - fixed SUSE bug #167296: fixed tooltip and removed unneeded + checks for battery related infos. Should fix display wrong + remaining time on charging with APM + - fixed SUSE bug #165462: removed utf8 tag from eventsrc which + results in "unknown source ..." message in knotify dialog + - fixed detailed dialog for multiprocessor/-core machines without + CPUFreq or throttling support and offline CPUs/Cores + - updated transaltions (fi,km,pl) + - added configure check for dbus-1-qt3-devel headers + +------------------------------------------------------------------- +Sun Apr 9 20:23:26 CEST 2006 - dkukawka@suse.de + +- rereleased official stable version 0.6 with this changes: + * fixed bug #164683 (fixed detailed dialog for machines without + CPUFreq support and more than one CPU/Core and/or throttling) + * reduced unneeded calls of getCPUNum() + * added fix from Daniel Gollub to be able to fake CPU info from + /proc and /sys for development and QA tests + * fixed compiler warnings + +------------------------------------------------------------------- +Tue Apr 4 21:12:37 CEST 2006 - dkukawka@suse.de + +- released official stable version 0.6 with this changes: + * added german version of the handbook + * added support for lock screen via gnome-screensaver (only under + GNOME) + * added fake keyevent (shift) after resume if machine was locked + before suspend, to show the login dialog automatically + * fixed errorhandling for YaST power management module + * fixed bug report address in the about dialog (to + powersave-users@forge.novell.com) + * changed timeout for recheck powersave on startup from 10 secs + to 20 to avoid annoying messages on slow machines or autologin + * changed address to report bugs if distro is SUSE, which is used + via the applet menu, to opensuse.org wiki page. + +------------------------------------------------------------------- +Tue Mar 28 16:44:03 CEST 2006 - dkukawka@suse.de + +- fixed UTF-8 in desktop files + +------------------------------------------------------------------- +Mon Mar 27 23:19:38 CEST 2006 - dkukawka@suse.de + +- updated to new stable release 0.6.0: + - changed powersave dependency to stable version >= 0.12.7 + - reduced the size of the package by optimize the size of + included png files. The size off all png files is now reduced + by ~709KByte. + - fixed processor bar in detailed dialog to set correct for the + first call. + - fixed tooltip for machines which always report charging also + if 100% charged and on AC + - fix notify about autosuspend after resume and a remove no + longer needed check from configure + - translation updates + - updated README with install/compile and help/bugreport + information + - updated code docu (added planed features/enhancements for + 0.7/0.8 tree) + - updated spec files for packaging + +------------------------------------------------------------------- +Mon Mar 13 19:45:41 CET 2006 - dkukawka@suse.de + +- updated to new release 0.5.11-rc5: + * added function to check if the machine is a laptop to allow + hide laptop specific widget items if the machine is a + workstation (in this case: 'Lock screen on Lidclose'-checkbox) + * changed brightness settings to allow only to change to min + defined brightness level. This should avoid off the display + on schemeswitch e.g. on new pmu brightness interface + * reworked some parts of the code, cleanups + * added patch from Holger Macht to allow root always s2ram + * translation updates + * replaced TRUE, which is deprecated with QT4, with true + * code documentation adds, updates and fixes + * fixed file attributes for several files from SVN + +------------------------------------------------------------------- +Mon Mar 6 21:46:37 CET 2006 - dkukawka@suse.de + +- updated to new release 0.5.10-rc4: + * KPowersave depends now on: powersave >= 0.12.2 + * fixed lidclose handling: added call xset to off the backlight + of LCD displays and reset DPMS settings on lidopen + * fixed read throttling state for multiprocessor machines + (patch from Daniel Gollub ) + * fixed display processor infos on multiprocessor/-core machines + dislay now values for each CPU/core also on non CPUfreq and + non-throttling machines + * fix to display battery infos only if at least min. one battery + slot is available + * translation updates (po files and handbook) from SUSE/Novell + translation team and Dawid Wróbel + * added and updated screenshots for handbook + * added missing icon on non-SUSE distributions + * autotools releated fixes: better detection of Mandriva, use + now pkgconfig from powersave for checks and linking, read + name/location of dbus system socket from pkgconfig. + * added rpm-spec file for Mandriva 2006.1 + * pics cleanups (removed no longer files) + +------------------------------------------------------------------- +Tue Feb 28 11:26:32 CET 2006 - dkukawka@suse.de + +- removed patch from schwab@suse.de on ix86 and x86_64. Note: this + patch is not correct/complete and unsupported + +------------------------------------------------------------------- +Mon Feb 27 23:12:59 CET 2006 - dkukawka@suse.de + +- updated to new release 0.5.9-rc3: + * fixed APM battery and processor info support in the information + dialog and the applet tooltip (need a fix in powersave) + * fixed battery state in the info dialog if no battery is + available (need a fix in powersave) + * translation and handbook fixes/updates + +------------------------------------------------------------------- +Mon Feb 20 21:47:12 CET 2006 - dkukawka@suse.de + +- fixed problem with pidof on Fedora Core 4. Removed path to pidof + from call because pidof should be in PATH of user env. + +------------------------------------------------------------------- +Mon Feb 20 18:14:47 CET 2006 - dkukawka@suse.de + +- updated to new release 0.5.8-rc2: + * removed sound settings from configure dialog and added KNotify + support and more events, KNotify config dialog is available via + applet menu and in the configure dialog + * added dcop function to open configure dialog + * fixed path to powersaved in code and translations to be more + portable (Michael Biebl) + * fixed cpu info in the info dialog to display also for machines + which only support throttling (Daniel Gollub/Danny Kukawka) + * fixed battery part in the info dialog to have same sized + progressbars + * fixed strings in the code, fixed sting in tooltip if charging + (see #146492) + * removed no longer needed parts from handbook + * updated translations related to the changes + * cleanups (code and files) + +------------------------------------------------------------------- +Mon Feb 13 18:42:45 CET 2006 - dkukawka@suse.de + +- updated to new release 0.5.7-rc1: + * fixed bugs: + * fixed again problems write text if CPU Freq Policy not + supported + * autotools releated fixes (Michael Biebl) + * added brightness support and battery state info to detailed + dialog overview + * updated translations: bg,cs,es,fr,it,ja,pt,nb,pt_BR,zh_CN,zh_TW + * added translation: km + * added new handbook: Finnish + +------------------------------------------------------------------- +Mon Feb 6 18:54:20 CET 2006 - dkukawka@suse.de + +- updated to new release 0.5.6: + * fixed bugs: + - detailed dialog: + * removed connect setProcessor() to signals from powersave + because of excessive CPU usage + * fixed problems write text if CPU Freq Policy not supported + * cleanups (removed unneeded enum defines and replaced with + defines from powersave) + * fixed autosuspend (replace path to pidof and added error msg + if call of pidof fails to be more portable) + * added ifdef'd header for Slackware 10.2 + * fixed auto-tools related issues + * added summary battery progress bar if more than one batterybay + is available + * updated translation files (nb,nl,pl,pt,zh_CN) + * added new helpfiles for Czech and Portuguese (not complete + translated), removed some pics to reduce package size + +------------------------------------------------------------------- +Mon Jan 30 12:44:43 CET 2006 - dkukawka@suse.de + +- updated to new release 0.5.5: + * complete reworked detailed dialog, plus: + * fixed problems with offline CPUs (Daniel Gollub) + * changed interval for refresh CPU infos to powersave default + * fixed battery handling + * added new help menu to the applet with a about dialog and a + link to report bugs back to developers + * Updated language files, finished german translation + * added new icon for 'Advanced Powersave' scheme + * fixed scheme related autosuspend page in configure dialog to + prevent unneeded resize of the dialog + * added new dir with spec/build files (currently for SUSE and FC) + * some cleanups + +------------------------------------------------------------------- +Sun Jan 29 16:32:22 CET 2006 - aj@suse.de + +- Require dbus-1-qt3-devel for build. + +------------------------------------------------------------------- +Wed Jan 25 21:44:25 CET 2006 - mls@suse.de + +- converted neededforbuild to BuildRequires + +------------------------------------------------------------------- +Mon Jan 23 18:11:12 CET 2006 - dkukawka@suse.de + +- updated to new release 0.5.4: + * added new information dialog to left mouse button with: + - CPU, Batttery, AC status info (by Daniel Gollub) + - additional powersave related infos (Danny Kukawka) + * removed currently CPU Freqency from the applet tooltip + (maybe add later CPU releated infos) + +------------------------------------------------------------------- +Wed Jan 18 21:09:47 CET 2006 - dkukawka@suse.de + +- readded help files to spec file + +------------------------------------------------------------------- +Tue Jan 17 16:12:21 CET 2006 - dkukawka@suse.de + +- release 0.5.3-3 for sf.net: + * added capability for brightness to tell powersave daemon that + KPowersave do this, patch from + * changed scheme 'Aggressive' to 'Advanced' Powersave + * added default config/settings for 'Advanced Powersave' scheme + +------------------------------------------------------------------- +Tue Jan 17 00:51:07 CET 2006 - dkukawka@suse.de + +- updated to new release 0.5.3: + * added set scheme specific brigthness settings to kpowersave + and the configuration dialog + * added patch to fix compiler warning from Daniel Gollub + + * updated translation (nl) and code documentation + * replaced usage of QString::null with QString() + * added warning if 'Agressive Powersave' scheme is selected + * updated version strings + +------------------------------------------------------------------- +Tue Jan 10 16:40:11 CET 2006 - dkukawka@suse.de + +- updated to new release 0.5.2: + - updated to new powersave (>= v0.11.2) + - fixed bug #121965: added new dialog/error message if powersave + is not running, with 'Don't show again' checkbox + - changed handling with not available connection to powersave on + startup of KDE (special for autologin) + - added popup if HAL is not running (and also powersave not + available) and kpowersave get no battery/AC information + - changed settings of sounds filedialog to be more portable + - removed old and not needed qt1/qt2 includes + - updated help files and added new Norsk and Hungarian help files, + added language specific screenshots + - updated translation files and code documentation + - code and file cleanups + +------------------------------------------------------------------- +Wed Dec 21 00:34:53 CET 2005 - ro@suse.de + +- fix build with current powersave + +------------------------------------------------------------------- +Mon Dec 19 12:00:40 CET 2005 - dmueller@suse.de + +- use dbus-1-qt3 + +------------------------------------------------------------------- +Thu Oct 13 14:59:23 CEST 2005 - dkukawka@suse.de + +- updated to current CVS version: + - added admin dir to src for easier port to other distributions + - added ru and fi translation files + - updated doc, help, readme and changelogs + - removed unneeded variables for icon names + - fixes from KDE fixuifiles script + - several fixes to respect KDE user interface style guide + - several typo fixes in i18n stings and related fixes in + translation files +- added powersave-libs and powersave-devel to needforbuild and + powersave-libs to Requirements + +------------------------------------------------------------------- +Mon Sep 12 10:34:47 CEST 2005 - dkukawka@suse.de + +- fixed bug #116079: added function to parse for translation in the + suspend progress dialog +- fixed bug #116353: wrong translation in hu.po +- fixed bug #116438: added missing Polish translation file +- fixed bug #116439: added updated translations [sv,tr,uk,sk,ru] +- fixed bug #116440: added missing space [de,fr,it,pt_BR] +- updated code documentation + +------------------------------------------------------------------- +Fri Sep 9 14:12:51 CEST 2005 - dkukawka@suse.de + +- fixed and merged german translation +- fixed ui file for configure dialog: removed direct keyboard + accelerators from strings, which break all translation files + +------------------------------------------------------------------- +Fri Sep 9 10:43:28 CEST 2005 - dkukawka@suse.de + +- fixed bug #116079: fixed translation of suspend progress dialog +- fixed bug #115903: hide scheme menu if not connected to daemon +- fixed bug #115914: prevent overlay of widgets in the blacklist + edit dialog and fix resizeing +- fixed bug #115584: added new signal to differ between service + terminated from powersave and dbus. Display error message now + only for signa dbus.terminate +- fixed applet menu: added a new seperator above help menu entry +- fixed/updated code documentation +- added new configure option --enable-yast-entry to remove need for + build dependency on suse-release +- removed no longer needed need for build dependency on resmgr + +------------------------------------------------------------------- +Tue Sep 6 22:23:48 CEST 2005 - dkukawka@suse.de + +- fixed bug #78953: added option --force-acpi-check to dektop + file and added a new file for autostart +- fixed command line options and information +- changed version from 0.5.0-RC1 to 0.5.0 + +------------------------------------------------------------------- +Mon Sep 5 22:06:56 CEST 2005 - dkukawka@suse.de + +- fixed makefile fro build +- changed Requires to new powersave version + +------------------------------------------------------------------- +Mon Sep 5 15:55:27 CEST 2005 - dkukawka@suse.de + +- fixed bug #95250: added help entry to the applet menu and a + help button to the configure dialog +- removed bo longer needed include +- updated tranlations +- tweaked debug messages and removed some debug messages +- several cleanups + +------------------------------------------------------------------- +Sat Sep 3 10:49:31 CEST 2005 - aj@suse.de + +- Fix to build with changed powersave interface. + +------------------------------------------------------------------- +Thu Sep 1 10:54:59 CEST 2005 - dkukawka@suse.de + +- merged DBUS_INTEGRATION branch back to cvs-head and use now for + this package +- fixed and updated code documentation +- fixed bug #95250, now KPowersave have a online help +- removed several debug messages +- fixed redefinition of DBUS_API_SUBJECT_TO_CHANGE + +------------------------------------------------------------------- +Mon Aug 29 17:36:24 CEST 2005 - dkukawka@suse.de + +- fixed bug #106177: use now scaling_cur_freq +- fixed activaton of widgets in configure dialog +- added and changed english helpfile (from srhoades@novell.com) +- fixes to prevent crash of kpowersave if connection to D-BUS lost +- fixed bug #113559 for autosuspend after a resume +- fixed store changes of time for autosuspend in the configure + dialog +- changed configure: detection of distributions and changed to + pkg-config to find the includes and libs for dbus +- translation updates + +------------------------------------------------------------------- +Mon Aug 22 18:55:11 CEST 2005 - dkukawka@suse.de + +- fixed bug #105555 +- updated translations + +------------------------------------------------------------------- +Mon Aug 15 13:27:56 CEST 2005 - dkukawka@suse.de + +- fixed bug #104382 and some memory leaks +- fixed bugs #104603, #104445 and #104338 +- merged 64bit fix to CVS +- updated translations: cs, hu, nb, pa, de +- added new translations: pt + +------------------------------------------------------------------- +Thu Aug 11 22:06:31 CEST 2005 - seife@suse.de + +- ported to the new DBUS interface, removed old socket code +- removed dependency on obsolete powersave_daemonlib + +------------------------------------------------------------------- +Sun Aug 7 10:50:39 CEST 2005 - seife@suse.de + +- fix 64bit build + +------------------------------------------------------------------- +Sun Aug 7 07:59:53 CEST 2005 - aj@suse.de + +- Add hal libraries to neededforbuild. + +------------------------------------------------------------------- +Fri Aug 5 13:12:52 CEST 2005 - dkukawa@suse.de + +- ported KPowersave to new powersave dbus structure (hmacht and + dkukawka) +- updated version to 0.4.100, final will be 0.5.0 + +------------------------------------------------------------------- +Wed Jul 20 09:15:10 CEST 2005 - dkukawka@suse.de + +- added dbus and dbus-devel to neededforbuild +- enhanced the configure dialog to preselect the current scheme + within the list of schemes +- added fix to blacklistedit dialog to display the name of the + current scheme or to display "General Blacklist" in the dialog. +- corrected typo of i18n-strings and merged en_US.po changes to + the source code +- updated de.po +- fixed bug #95279, now the suspend/progress dialog is + Qt::WDestructiveClose and kpowersave connect to the destroyed() + signal of the dialog +- changed workflow for schemes to enable/disable autosuspend. + (added new checkbox and new config key) +- added misc-icon to configure dialog (scheme part) +- some documentation updates and code cleanups + +------------------------------------------------------------------- +Tue Jul 5 11:40:36 CEST 2005 - dkukawka@suse.de + +- added ppc to buildarch + +------------------------------------------------------------------- +Fri Jun 24 17:34:19 CEST 2005 - dkukawka@suse.de + +- implemented new feature: + - configurable sound for battery warning states, ac events and + autosuspend +- fixed bug within parsing messages for progress dialog. +- updated (code-)documentation +- updated README for compile kpowersave on other distributions + +------------------------------------------------------------------- +Thu May 26 21:45:58 CEST 2005 - dkukawka@suse.de + +- added new menu entry to disable autosuspend trough applet-menu if + autosuspend activated on the current scheme, if not the menu-item + is not visible +- fixed bug with initalise import of global blacklist to scheme + blacklist. Now the imported blacklist is maked as changed. +- cleaned up and changed size policy related values in the + configure dialog + +------------------------------------------------------------------- +Wed May 25 10:30:12 CEST 2005 - dkukawka@suse.de + +- added suse-release to neededforbuild to detect the correct + distribution in autobuild system + +------------------------------------------------------------------- +Tue May 24 14:40:37 CEST 2005 - dkukawka@suse.de + +- added scheme specific autosuspend blacklist +- changed and improved config dialog: + - added autosuspend blacklist edit dialog and button to general + settings + - added enable scheme specific autosuspend blacklist and edit + dialog + - redesigned scheme settings page + - added icons to schemes in scheme settings page +- added fix/workaround for bug #85611 +- changed params of autosuspend->start() to QStringList + +------------------------------------------------------------------- +Fri May 13 03:34:47 CEST 2005 - dkukawka@suse.de + +- implemented blacklist for autosuspend (if a program in the + blacklist is detected as running autosuspend is stopped) +- added dcop interface function to stop/start autosuspend +- updated documentation + +------------------------------------------------------------------- +Tue May 10 21:38:36 CEST 2005 - dkukawka@suse.de + +- implemented autosuspend (detect userinactivity from X-Server) + +------------------------------------------------------------------- +Tue May 10 10:36:08 CEST 2005 - dkukawka@suse.de + +- fixed bug #82880 + +------------------------------------------------------------------- +Sun May 8 22:04:13 CEST 2005 - dkukawka@suse.de + +- additional fix for bug #81681 + +------------------------------------------------------------------- +Fri May 6 19:23:47 CEST 2005 - dkukawka@suse.de + +- fixed bug #81681: + - added a new suspend dialog which is now toplevel + - added icons to dialog for the related suspend/standby + - updated documentation + +------------------------------------------------------------------- +Wed Apr 13 14:18:18 CEST 2005 - dkukawka@suse.de + +- fixed for gcc 4.0 (tested with i386 and ia64) + +------------------------------------------------------------------- +Mon Mar 21 14:02:59 CET 2005 - dkukawka@suse.de + +- added updated translation file +- fixed string in en_US + +------------------------------------------------------------------- +Fri Mar 18 12:31:03 CET 2005 - dkukawka@suse.de + +- fixed bug #73810, now we restart XScreensaver to be shure that + the user default settings are set +- fixed bug #73805 (closed file descriptor leak) +- updated Changelog and code doc + +------------------------------------------------------------------- +Thu Mar 17 17:33:06 CET 2005 - dkukawka@suse.de + +- implemented progressbar for powersave suspend +- removed 'Disable Screensaver' from menu (and also all related + functions and variables) because this is not needed anymore since + the user can change scheme related screensaver settings +- updated documentation + +------------------------------------------------------------------- +Wed Mar 16 17:35:17 CET 2005 - dkukawka@suse.de + +- fixed bug #72939, now on quit reset KDE settings +- fixed setSchemesettings(), now we check for KDE befor reset to KDE + settings +- updated documentation, Changelogs and version strings + +------------------------------------------------------------------- +Tue Mar 15 19:13:45 CET 2005 - dkukawka@suse.de + +- added new [zh_CN, zh_TW] and updated translation files +- fixed blocker bug #72846 +- fixed bug within the activation of widgets in the configure dialog +- fixed text on labels in configure dialog +- fixed bug in load KDE settings from configfile, to prevent wrong + settings if user changed KDE settings in KDE Control Center while + KPowersave is running + +------------------------------------------------------------------- +Mon Mar 14 17:13:31 CET 2005 - dkukawka@suse.de + +- updated icon for kmenu (now 16x16 and 32x32 the same) +- added new [en_US, pa, uk] and updated translation files +- fixed lable width in configure dialog +- fixed bug, now kcmdisplayrc is loaded for KDE DPMS settings + +------------------------------------------------------------------- +Fri Mar 11 11:55:10 CET 2005 - dkukawka@suse.de + +- undo change in QPowersaveClientSocket::connect() depends on + undo in last powersave fixes + +------------------------------------------------------------------- +Thu Mar 10 18:40:37 CET 2005 - dkukawka@suse.de + +- fixed bugs #71955 and #71875 (kpowersave related part and needed + adaptations to changed powersave) +- removed unneeded functions and declarations +- added errormessages to do_setSpeedPolicy() and + lockscreen_on_lidcloseEvent() + +------------------------------------------------------------------- +Wed Mar 9 18:57:34 CET 2005 - dkukawka@suse.de + +- Fixed bug #71192, changed sequence of enable/disable the + widget/items for DPMS settings. +- added new functions to dcop interface: allowed_sleepingStates() + and list_schemes() + +------------------------------------------------------------------- +Mon Mar 7 17:47:33 CET 2005 - dkukawka@suse.de + +- fixed bug #71016 +- added dcop interfaces for lock screen, suspend/standby and + to get information about current scheme and CPUFreqPolicy +- fixed bug: now the configure entry in kpowersave isn't displayed + if the powersavedaemon is not running +- fixed message strings +- updated documentation + +------------------------------------------------------------------- +Fri Mar 4 20:33:03 CET 2005 - dkukawka@suse.de + +- Added enterEvent( QEvent * ) eventhandler to reduce polling. Now + the tooltip updated only if this event is triggered for the + kpowersace systray/kicker icon. + +------------------------------------------------------------------- +Fri Mar 4 14:16:05 CET 2005 - dkukawka@suse.de + +- implemented 'AutostartNeverAsk' to quell the dialog on exit +- added and implemented configure entry for 'lock screen method' + Now the user can configure which method (KScreensaver, + XScreensaver, Xlock, or autoselected) used for lock on suspend/ + standby and lid closed +- full implementation of powersave client notification, we now + need only poll active for information if powersave died +- different cleanups +- updated code documentation and additional doc files + +------------------------------------------------------------------- +Sun Feb 27 23:16:23 CET 2005 - dkukawka@suse.de + +- removed unneeded config values from kpowersaverc +- implemented all functions to read the general, scheme and KDE + settings from the kpowersave/KDE configuration file(s) +- added functions for 'lock screen' and 'blank only screen' +- integrated screensaver and lock settings to kpowersave.cpp + +------------------------------------------------------------------- +Fri Feb 25 14:00:46 CET 2005 - dkukawka@suse.de + +- fixed configure dialog for better look with bigger fonts +- fix/workaround for the kpowersave related part of bug #66502 on + Workstations +- fixed dialog bug, now the user can open only one configure + dialog at the same time +- changed displayed application name from kpowersave to KPowersave +- added function to load the general settings in the dialog +- added 'user-inactivity-actions' to dialog, configfiles and menu. + This is atm only 'dummy' and not visible for the user. +- added autostart options to dialog and a new option to prevent the + dialog on exit kpowersave +- updated the default config file +- updated strings for translation + +------------------------------------------------------------------- +Tue Feb 22 10:45:45 CET 2005 - dkukawka@suse.de + +- updated configure dialog +- changed configure dialog, renamed widgets, integrated schemes and + general config section +- changed call of the configure dialog, now kpowersave not blocked + while dialog is open +- added different slots and logic to disable/enable widgets +- added load and store the configuration +- added configoptions and funtions to make 'lock screen' + configureable by user +- added default configfile +- updated documentation + +------------------------------------------------------------------- +Mon Feb 21 21:48:09 CET 2005 - trenn@suse.de + +- enable notification popup through daemon + +------------------------------------------------------------------- +Tue Feb 15 00:34:42 CET 2005 - dkukawka@suse.de + +- update to 0.3.10: + - added configure dialog to make user specific configuration + possible + +------------------------------------------------------------------- +Sat Jan 22 01:23:15 CET 2005 - ro@suse.de + +- added resmgr to neededforbuild + +------------------------------------------------------------------- +Mon Jan 17 14:09:08 CET 2005 - dkukawka@suse.de + +- remove some xscreensaver related (unneeded) code in screen.cpp +- remove some unused variables and function declaration in + pdaemon.cpp +- added full code documentation for doxygen and changed the settings + in the Doxyfile +- fixed bug #49844 user selected 'disable screensaver' prefered if + the AC adapter is plugged out +- fixed bug #49845 now XScreensaver also detected under KDE +- fixed bug #49632 in po-files (correct a wrong path in translation + files) + +------------------------------------------------------------------- +Tue Dec 21 11:59:15 CET 2004 - dkukawka@suse.de + +- added new cs-translation. File was empty (since SUSE 9.2final) + in the cvs-tree (unknown why) Bug #49445 + +------------------------------------------------------------------- +Wed Dec 15 12:45:09 CET 2004 - dkukawka@suse.de + +- added new icons to the applet for stand-by, suspend* and + the different schemes +- modified kpowersave desktop icon +- changed some code in kpowersave, fixed some little bugs + (not reported), removed some unneeded or unreachable code + +------------------------------------------------------------------- +Mon Dec 13 12:06:08 CET 2004 - dkukawka@suse.de + +- implemented new icons/iconfunctions for better better user + interaction if the battery is in the different states WARNING, + LOW, CRITICAL. Now the icon background flashes every second + orange [WARNING,LOW] or red [CRITICAL] +- changed Icons (removed some white pixel) + +------------------------------------------------------------------- +Sat Dec 11 17:15:19 CET 2004 - dkukawka@suse.de + +- fixed Bug #48202 + +------------------------------------------------------------------- +Tue Oct 12 20:14:54 CEST 2004 - dkukawka@suse.de + +- fix Bugzilla #47113 (hopefully), remove some debug messages, + change version +- fix problem from Bugzilla #46685, now kpowersave check really if + scheme is successfully set by powersaved + +------------------------------------------------------------------- +Mon Oct 4 12:58:04 CEST 2004 - dkukawka@suse.de + +- fixed bug in screensaver menuentry, now only checked on start if + screensaver and dpms off or if screensaver off and no dpms + support by machine -> see: Bugzilla #46728 + +------------------------------------------------------------------- +Sat Oct 2 20:12:40 CEST 2004 - dkukawka@suse.de + +- fixed bug (Bugzilla #46685): now the real scheme names (not i18n + version) are sent to powersaved + +------------------------------------------------------------------- +Fri Oct 1 15:42:43 CEST 2004 - dkukawka@suse.de + +- added new an revised translationfiles +- make a workaround to reduce systemload if powersaved not present + and kpowersave need to get systeminformations from /proc/ + +------------------------------------------------------------------- +Wed Sep 29 15:54:35 CEST 2004 - dkukawka@suse.de + +- correct redrawPixmap so that now kpowersave correctly func under + GNOME +- added new translations (jp, sk), added revised translations (bg, + cs,es,nb) + +------------------------------------------------------------------- +Mon Sep 27 23:01:39 CEST 2004 - dkukawka@suse.de + +- added 2 lines in update() were falsely removed by last changes + +------------------------------------------------------------------- +Mon Sep 27 21:10:45 CEST 2004 - trenn@suse.de + +- correct charging state, when requesting daemon + initialise has_DPMS + xscreensaver enable/disable support + update translations + +------------------------------------------------------------------- +Wed Sep 22 12:59:10 CEST 2004 - dkukawka@suse.de + +- added screensaver options (disable screensaver and DPMS) to menu + do not poll for scheme changes -> only update on right mouse clck +------------------------------------------------------------------- +Mon Sep 20 19:55:37 CEST 2004 - trenn@suse.de + +- changes from l.lunak@suse.cz to faster start kpowersave through + kdeinit + +------------------------------------------------------------------- +Tue Aug 31 14:11:02 CEST 2004 - trenn@suse.de + +- disk<->ram typo which prevented suspend2ram to be enabled + correctly + +------------------------------------------------------------------- +Mon Aug 23 17:35:54 CEST 2004 - trenn@suse.de + +- renamed suspend/standby to suspend2disk and suspend2ram + introduced new sleep state standby + +------------------------------------------------------------------- +Tue Jun 29 17:55:37 CEST 2004 - trenn@suse.de + +- switch schemes, enable/disable screensaver and dpms + proper update functions + +------------------------------------------------------------------- +Mon May 17 21:22:14 CEST 2004 - trenn@suse.de + +- color of remaining capacity always green when on ac power + (Version 0.2.2) + +------------------------------------------------------------------- +Fri May 14 16:22:03 CEST 2004 - trenn@suse.de + +- modified message: + system group is not mentioned in popup any more (#40473) +- introduced sub-version nr. (Version 0.2.1) + +------------------------------------------------------------------- +Thu May 6 17:27:46 CEST 2004 - trenn@suse.de + +- added battery charge information to Tooltip + fixed fd leak + +------------------------------------------------------------------- +Thu Apr 29 17:48:40 CEST 2004 - trenn@suse.de + +- added cpufreq speed to Tooltip + corrected color when on low level and recharged (was red, should be green) + merged diffs after 9.1 +------------------------------------------------------------------- +Wed Apr 7 15:48:15 CEST 2004 - trenn@suse.de + +- changed Autostart to AutoStart (#38075) + +------------------------------------------------------------------- +Mon Apr 5 17:12:34 CEST 2004 - seife@suse.de + +- increase AC adapter polling interval to 2.5 seconds + +------------------------------------------------------------------- +Sat Apr 3 16:39:51 CEST 2004 - coolo@suse.de + +- do not rely on daemon but read AC infos right away +- cleanly fixing double start +- disabling suspend/standby menu entries if not available + +------------------------------------------------------------------- +Fri Apr 2 16:02:49 CEST 2004 - trenn@suse.de + +- avoid double start of kpowersave + added italian and russian translation + +------------------------------------------------------------------- +Wed Mar 31 17:51:14 CEST 2004 - trenn@suse.de + +- delay window that daemon is not running (possible restart of daemon) + no battery capacity on workstations + +------------------------------------------------------------------- +Mon Mar 29 18:09:14 CEST 2004 - trenn@suse.de + +- rcpowersave to rcpowersaved + open notification window when on low battery and when requesting info from daemon + fixed 0:02 mins remaining bug + ask user to restart on next login when exiting + +------------------------------------------------------------------- +Mon Mar 15 17:32:03 CET 2004 - trenn@suse.de + +- added several languages + +------------------------------------------------------------------- +Thu Mar 11 17:22:09 CET 2004 - trenn@suse.de + +- * Mon Mar 11 2004 - trenn@suse.de +- a lot of little fixes for usability +- corrections of translators and some translations + by adrian@suse.de : +- fix linking (no non-mt qt needed anymore) +- fix multiple packaging of files +------------------------------------------------------------------- +Tue Mar 9 18:07:00 CET 2004 - ro@suse.de + +- do not use non-mt + +------------------------------------------------------------------- +Wed Mar 3 17:01:24 CET 2004 - ro@suse.de + +- call correct yast2 module + +------------------------------------------------------------------- +Wed Feb 25 12:20:07 CET 2004 - trenn@suse.de + +- use bz2 instead of gz archive + +------------------------------------------------------------------- +Mon Feb 23 18:14:33 CET 2004 - trenn@suse.de + +- corrected .spec -> file inconsistence + +------------------------------------------------------------------- +Mon Feb 23 17:59:51 CET 2004 - trenn@suse.de + +- cleaned up + +------------------------------------------------------------------- +Mon Feb 16 14:56:57 CET 2004 - trenn@suse.de + +- initial build + diff --git a/Doxyfile b/Doxyfile new file mode 100644 index 0000000..e015fe5 --- /dev/null +++ b/Doxyfile @@ -0,0 +1,276 @@ +# Doxyfile 1.4.1-KDevelop + +#--------------------------------------------------------------------------- +# Project related configuration options +#--------------------------------------------------------------------------- +PROJECT_NAME = kpowersave.kdevelop +PROJECT_NUMBER = "0.7.x - SVN-trunk" +OUTPUT_DIRECTORY = +CREATE_SUBDIRS = NO +OUTPUT_LANGUAGE = English +USE_WINDOWS_ENCODING = NO +BRIEF_MEMBER_DESC = YES +REPEAT_BRIEF = NO +ABBREVIATE_BRIEF = "The $name class" \ + "The $name widget" \ + "The $name file" \ + is \ + provides \ + specifies \ + contains \ + represents \ + a \ + an \ + the +ALWAYS_DETAILED_SEC = YES +INLINE_INHERITED_MEMB = NO +FULL_PATH_NAMES = NO +STRIP_FROM_PATH = +STRIP_FROM_INC_PATH = +SHORT_NAMES = NO +JAVADOC_AUTOBRIEF = YES +MULTILINE_CPP_IS_BRIEF = NO +DETAILS_AT_TOP = YES +INHERIT_DOCS = YES +DISTRIBUTE_GROUP_DOC = NO +TAB_SIZE = 5 +ALIASES = +OPTIMIZE_OUTPUT_FOR_C = NO +OPTIMIZE_OUTPUT_JAVA = NO +SUBGROUPING = YES +#--------------------------------------------------------------------------- +# Build related configuration options +#--------------------------------------------------------------------------- +EXTRACT_ALL = YES +EXTRACT_PRIVATE = YES +EXTRACT_STATIC = YES +EXTRACT_LOCAL_CLASSES = YES +EXTRACT_LOCAL_METHODS = YES +HIDE_UNDOC_MEMBERS = NO +HIDE_UNDOC_CLASSES = NO +HIDE_FRIEND_COMPOUNDS = NO +HIDE_IN_BODY_DOCS = NO +INTERNAL_DOCS = NO +CASE_SENSE_NAMES = YES +HIDE_SCOPE_NAMES = YES +SHOW_INCLUDE_FILES = YES +INLINE_INFO = YES +SORT_MEMBER_DOCS = YES +SORT_BRIEF_DOCS = NO +SORT_BY_SCOPE_NAME = YES +GENERATE_TODOLIST = YES +GENERATE_TESTLIST = NO +GENERATE_BUGLIST = YES +GENERATE_DEPRECATEDLIST= YES +ENABLED_SECTIONS = +MAX_INITIALIZER_LINES = 30 +SHOW_USED_FILES = YES +SHOW_DIRECTORIES = YES +FILE_VERSION_FILTER = +#--------------------------------------------------------------------------- +# configuration options related to warning and progress messages +#--------------------------------------------------------------------------- +QUIET = NO +WARNINGS = YES +WARN_IF_UNDOCUMENTED = YES +WARN_IF_DOC_ERROR = YES +WARN_NO_PARAMDOC = NO +WARN_FORMAT = "$file:$line: $text" +WARN_LOGFILE = +#--------------------------------------------------------------------------- +# configuration options related to the input files +#--------------------------------------------------------------------------- +INPUT = doc/doxy \ + src +FILE_PATTERNS = *.c \ + *.cc \ + *.cxx \ + *.cpp \ + *.c++ \ + *.java \ + *.ii \ + *.ixx \ + *.ipp \ + *.i++ \ + *.inl \ + *.h \ + *.hh \ + *.hxx \ + *.hpp \ + *.h++ \ + *.idl \ + *.odl \ + *.cs \ + *.php \ + *.php3 \ + *.inc \ + *.C \ + *.H \ + *.tlh \ + *.diff \ + *.patch \ + *.xpm \ + *.dox +RECURSIVE = YES +EXCLUDE = ./src/kpowersave_dummy.cpp \ + ./src/screen.moc.cpp \ + ./src/kpowersave.la.cpp \ + ./src/kpowersave_skel.cpp \ + ./src/info_Dialog.cpp \ + ./src/suspend_Dialog.cpp \ + ./src/configure_Dialog.cpp \ + ./src/blacklistedit_Dialog.cpp \ + ./src/detailed_Dialog.cpp \ + ./src/blacklistedit_Dialog.h \ + ./src/detailed_Dialog.h \ + ./src/suspend_Dialog.h \ + ./src/info_Dialog.h \ + ./src/configure_Dialog.h \ + ./src/kdeinit_kpowersave.cpp +EXCLUDE_SYMLINKS = NO +EXCLUDE_PATTERNS = *.moc.cpp \ + *_dummy.* \ + *.la.cpp \ + *_la.all_cpp.cpp +EXAMPLE_PATH = +EXAMPLE_PATTERNS = * +EXAMPLE_RECURSIVE = NO +IMAGE_PATH = +INPUT_FILTER = +FILTER_PATTERNS = +FILTER_SOURCE_FILES = NO +#--------------------------------------------------------------------------- +# configuration options related to source browsing +#--------------------------------------------------------------------------- +SOURCE_BROWSER = YES +INLINE_SOURCES = YES +STRIP_CODE_COMMENTS = YES +REFERENCED_BY_RELATION = YES +REFERENCES_RELATION = YES +VERBATIM_HEADERS = YES +#--------------------------------------------------------------------------- +# configuration options related to the alphabetical class index +#--------------------------------------------------------------------------- +ALPHABETICAL_INDEX = NO +COLS_IN_ALPHA_INDEX = 5 +IGNORE_PREFIX = +#--------------------------------------------------------------------------- +# configuration options related to the HTML output +#--------------------------------------------------------------------------- +GENERATE_HTML = YES +HTML_OUTPUT = ./doc/html +HTML_FILE_EXTENSION = .html +HTML_HEADER = +HTML_FOOTER = +HTML_STYLESHEET = ./doc/doxy/styleSheet.css +HTML_ALIGN_MEMBERS = YES +GENERATE_HTMLHELP = NO +CHM_FILE = +HHC_LOCATION = +GENERATE_CHI = NO +BINARY_TOC = NO +TOC_EXPAND = NO +DISABLE_INDEX = NO +ENUM_VALUES_PER_LINE = 4 +GENERATE_TREEVIEW = NO +TREEVIEW_WIDTH = 250 +#--------------------------------------------------------------------------- +# configuration options related to the LaTeX output +#--------------------------------------------------------------------------- +GENERATE_LATEX = YES +LATEX_OUTPUT = ./doc/latex/ +LATEX_CMD_NAME = latex +MAKEINDEX_CMD_NAME = makeindex +COMPACT_LATEX = YES +PAPER_TYPE = a4wide +EXTRA_PACKAGES = +LATEX_HEADER = +PDF_HYPERLINKS = NO +USE_PDFLATEX = NO +LATEX_BATCHMODE = NO +LATEX_HIDE_INDICES = NO +#--------------------------------------------------------------------------- +# configuration options related to the RTF output +#--------------------------------------------------------------------------- +GENERATE_RTF = NO +RTF_OUTPUT = rtf +COMPACT_RTF = NO +RTF_HYPERLINKS = NO +RTF_STYLESHEET_FILE = +RTF_EXTENSIONS_FILE = +#--------------------------------------------------------------------------- +# configuration options related to the man page output +#--------------------------------------------------------------------------- +GENERATE_MAN = NO +MAN_OUTPUT = man +MAN_EXTENSION = .3 +MAN_LINKS = NO +#--------------------------------------------------------------------------- +# configuration options related to the XML output +#--------------------------------------------------------------------------- +GENERATE_XML = NO +XML_OUTPUT = xml +XML_SCHEMA = +XML_DTD = +XML_PROGRAMLISTING = YES +#--------------------------------------------------------------------------- +# configuration options for the AutoGen Definitions output +#--------------------------------------------------------------------------- +GENERATE_AUTOGEN_DEF = NO +#--------------------------------------------------------------------------- +# configuration options related to the Perl module output +#--------------------------------------------------------------------------- +GENERATE_PERLMOD = NO +PERLMOD_LATEX = NO +PERLMOD_PRETTY = YES +PERLMOD_MAKEVAR_PREFIX = +#--------------------------------------------------------------------------- +# Configuration options related to the preprocessor +#--------------------------------------------------------------------------- +ENABLE_PREPROCESSING = YES +MACRO_EXPANSION = NO +EXPAND_ONLY_PREDEF = NO +SEARCH_INCLUDES = YES +INCLUDE_PATH = +INCLUDE_FILE_PATTERNS = +PREDEFINED = +EXPAND_AS_DEFINED = +SKIP_FUNCTION_MACROS = YES +#--------------------------------------------------------------------------- +# Configuration::additions related to external references +#--------------------------------------------------------------------------- +TAGFILES = +GENERATE_TAGFILE = +ALLEXTERNALS = NO +EXTERNAL_GROUPS = YES +PERL_PATH = /usr/bin/perl +#--------------------------------------------------------------------------- +# Configuration options related to the dot tool +#--------------------------------------------------------------------------- +CLASS_DIAGRAMS = YES +HIDE_UNDOC_RELATIONS = YES +HAVE_DOT = YES +CLASS_GRAPH = YES +COLLABORATION_GRAPH = YES +GROUP_GRAPHS = YES +UML_LOOK = NO +TEMPLATE_RELATIONS = YES +INCLUDE_GRAPH = YES +INCLUDED_BY_GRAPH = YES +CALL_GRAPH = NO +GRAPHICAL_HIERARCHY = YES +DIRECTORY_GRAPH = YES +DOT_IMAGE_FORMAT = png +DOT_PATH = +DOTFILE_DIRS = +MAX_DOT_GRAPH_WIDTH = 1024 +MAX_DOT_GRAPH_HEIGHT = 1024 +MAX_DOT_GRAPH_DEPTH = 1000 +DOT_TRANSPARENT = NO +DOT_MULTI_TARGETS = NO +GENERATE_LEGEND = YES +DOT_CLEANUP = YES +#--------------------------------------------------------------------------- +# Configuration::additions related to the search engine +#--------------------------------------------------------------------------- +SEARCHENGINE = NO diff --git a/INSTALL b/INSTALL new file mode 100644 index 0000000..23e5f25 --- /dev/null +++ b/INSTALL @@ -0,0 +1,236 @@ +Installation Instructions +************************* + +Copyright (C) 1994, 1995, 1996, 1999, 2000, 2001, 2002, 2004, 2005 Free +Software Foundation, Inc. + +This file is free documentation; the Free Software Foundation gives +unlimited permission to copy, distribute and modify it. + +Basic Installation +================== + +These are generic installation instructions. + + The `configure' shell script attempts to guess correct values for +various system-dependent variables used during compilation. It uses +those values to create a `Makefile' in each directory of the package. +It may also create one or more `.h' files containing system-dependent +definitions. Finally, it creates a shell script `config.status' that +you can run in the future to recreate the current configuration, and a +file `config.log' containing compiler output (useful mainly for +debugging `configure'). + + It can also use an optional file (typically called `config.cache' +and enabled with `--cache-file=config.cache' or simply `-C') that saves +the results of its tests to speed up reconfiguring. (Caching is +disabled by default to prevent problems with accidental use of stale +cache files.) + + If you need to do unusual things to compile the package, please try +to figure out how `configure' could check whether to do them, and mail +diffs or instructions to the address given in the `README' so they can +be considered for the next release. If you are using the cache, and at +some point `config.cache' contains results you don't want to keep, you +may remove or edit it. + + The file `configure.ac' (or `configure.in') is used to create +`configure' by a program called `autoconf'. You only need +`configure.ac' if you want to change it or regenerate `configure' using +a newer version of `autoconf'. + +The simplest way to compile this package is: + + 1. `cd' to the directory containing the package's source code and type + `./configure' to configure the package for your system. If you're + using `csh' on an old version of System V, you might need to type + `sh ./configure' instead to prevent `csh' from trying to execute + `configure' itself. + + Running `configure' takes awhile. While running, it prints some + messages telling which features it is checking for. + + 2. Type `make' to compile the package. + + 3. Optionally, type `make check' to run any self-tests that come with + the package. + + 4. Type `make install' to install the programs and any data files and + documentation. + + 5. You can remove the program binaries and object files from the + source code directory by typing `make clean'. To also remove the + files that `configure' created (so you can compile the package for + a different kind of computer), type `make distclean'. There is + also a `make maintainer-clean' target, but that is intended mainly + for the package's developers. If you use it, you may have to get + all sorts of other programs in order to regenerate files that came + with the distribution. + +Compilers and Options +===================== + +Some systems require unusual options for compilation or linking that the +`configure' script does not know about. Run `./configure --help' for +details on some of the pertinent environment variables. + + You can give `configure' initial values for configuration parameters +by setting variables in the command line or in the environment. Here +is an example: + + ./configure CC=c89 CFLAGS=-O2 LIBS=-lposix + + *Note Defining Variables::, for more details. + +Compiling For Multiple Architectures +==================================== + +You can compile the package for more than one kind of computer at the +same time, by placing the object files for each architecture in their +own directory. To do this, you must use a version of `make' that +supports the `VPATH' variable, such as GNU `make'. `cd' to the +directory where you want the object files and executables to go and run +the `configure' script. `configure' automatically checks for the +source code in the directory that `configure' is in and in `..'. + + If you have to use a `make' that does not support the `VPATH' +variable, you have to compile the package for one architecture at a +time in the source code directory. After you have installed the +package for one architecture, use `make distclean' before reconfiguring +for another architecture. + +Installation Names +================== + +By default, `make install' installs the package's commands under +`/usr/local/bin', include files under `/usr/local/include', etc. You +can specify an installation prefix other than `/usr/local' by giving +`configure' the option `--prefix=PREFIX'. + + You can specify separate installation prefixes for +architecture-specific files and architecture-independent files. If you +pass the option `--exec-prefix=PREFIX' to `configure', the package uses +PREFIX as the prefix for installing programs and libraries. +Documentation and other data files still use the regular prefix. + + In addition, if you use an unusual directory layout you can give +options like `--bindir=DIR' to specify different values for particular +kinds of files. Run `configure --help' for a list of the directories +you can set and what kinds of files go in them. + + If the package supports it, you can cause programs to be installed +with an extra prefix or suffix on their names by giving `configure' the +option `--program-prefix=PREFIX' or `--program-suffix=SUFFIX'. + +Optional Features +================= + +Some packages pay attention to `--enable-FEATURE' options to +`configure', where FEATURE indicates an optional part of the package. +They may also pay attention to `--with-PACKAGE' options, where PACKAGE +is something like `gnu-as' or `x' (for the X Window System). The +`README' should mention any `--enable-' and `--with-' options that the +package recognizes. + + For packages that use the X Window System, `configure' can usually +find the X include and library files automatically, but if it doesn't, +you can use the `configure' options `--x-includes=DIR' and +`--x-libraries=DIR' to specify their locations. + +Specifying the System Type +========================== + +There may be some features `configure' cannot figure out automatically, +but needs to determine by the type of machine the package will run on. +Usually, assuming the package is built to be run on the _same_ +architectures, `configure' can figure that out, but if it prints a +message saying it cannot guess the machine type, give it the +`--build=TYPE' option. TYPE can either be a short name for the system +type, such as `sun4', or a canonical name which has the form: + + CPU-COMPANY-SYSTEM + +where SYSTEM can have one of these forms: + + OS KERNEL-OS + + See the file `config.sub' for the possible values of each field. If +`config.sub' isn't included in this package, then this package doesn't +need to know the machine type. + + If you are _building_ compiler tools for cross-compiling, you should +use the option `--target=TYPE' to select the type of system they will +produce code for. + + If you want to _use_ a cross compiler, that generates code for a +platform different from the build platform, you should specify the +"host" platform (i.e., that on which the generated programs will +eventually be run) with `--host=TYPE'. + +Sharing Defaults +================ + +If you want to set default values for `configure' scripts to share, you +can create a site shell script called `config.site' that gives default +values for variables like `CC', `cache_file', and `prefix'. +`configure' looks for `PREFIX/share/config.site' if it exists, then +`PREFIX/etc/config.site' if it exists. Or, you can set the +`CONFIG_SITE' environment variable to the location of the site script. +A warning: not all `configure' scripts look for a site script. + +Defining Variables +================== + +Variables not defined in a site shell script can be set in the +environment passed to `configure'. However, some packages may run +configure again during the build, and the customized values of these +variables may be lost. In order to avoid this problem, you should set +them in the `configure' command line, using `VAR=value'. For example: + + ./configure CC=/usr/local2/bin/gcc + +causes the specified `gcc' to be used as the C compiler (unless it is +overridden in the site shell script). Here is a another example: + + /bin/bash ./configure CONFIG_SHELL=/bin/bash + +Here the `CONFIG_SHELL=/bin/bash' operand causes subsequent +configuration-related scripts to be executed by `/bin/bash'. + +`configure' Invocation +====================== + +`configure' recognizes the following options to control how it operates. + +`--help' +`-h' + Print a summary of the options to `configure', and exit. + +`--version' +`-V' + Print the version of Autoconf used to generate the `configure' + script, and exit. + +`--cache-file=FILE' + Enable the cache: use and save the results of the tests in FILE, + traditionally `config.cache'. FILE defaults to `/dev/null' to + disable caching. + +`--config-cache' +`-C' + Alias for `--cache-file=config.cache'. + +`--quiet' +`--silent' +`-q' + Do not print messages saying which checks are being made. To + suppress all normal output, redirect it to `/dev/null' (any error + messages will still be shown). + +`--srcdir=DIR' + Look for the package's source code in directory DIR. Usually + `configure' can determine that directory automatically. + +`configure' also accepts some other, not widely useful, options. Run +`configure --help' for more details. + diff --git a/Makefile.am b/Makefile.am new file mode 100644 index 0000000..8a2284f --- /dev/null +++ b/Makefile.am @@ -0,0 +1,22 @@ +SUBDIRS = $(TOPSUBDIRS) + +$(top_srcdir)/configure.in: configure.in.in $(top_srcdir)/subdirs + cd $(top_srcdir) && $(MAKE) -f admin/Makefile.common configure.in ; + +$(top_srcdir)/subdirs: + cd $(top_srcdir) && $(MAKE) -f admin/Makefile.common subdirs + +$(top_srcdir)/acinclude.m4: $(top_srcdir)/admin/acinclude.m4.in $(top_srcdir)/admin/libtool.m4.in + @cd $(top_srcdir) && cat admin/acinclude.m4.in admin/libtool.m4.in > acinclude.m4 + +MAINTAINERCLEANFILES = subdirs configure.in acinclude.m4 configure.files + +package-messages: + cd $(top_srcdir) && $(MAKE) -f admin/Makefile.common package-messages + $(MAKE) -C po merge + +EXTRA_DIST = admin COPYING configure.in.in + +dist-hook: + cd $(top_distdir) && perl admin/am_edit -padmin + cd $(top_distdir) && $(MAKE) -f admin/Makefile.common subdirs diff --git a/NEWS b/NEWS new file mode 100644 index 0000000..a5c704e --- /dev/null +++ b/NEWS @@ -0,0 +1,455 @@ +New: KPowersave 0.7.3 +================================================= + +Note: The last release is now 4 months ago, so the NEWS are longer than + normal. For all changes read the Changelog. + +Major changes since the last version/release: + - added new dialog to show logfiles if a suspend/resume fail and allow + the user to save the log (need to get enabled per distro) + - added support to handle brightness key events if the machine not already + handle this in the hardware directly + - added new feature named autodimm to reduce the brightness of the display + if the user is inactive and dimm up if the user get active again + - new dialog shown up 30 seconds before autosuspend call the suspend to + warn the user and allow chancel the suspend + - added code to work with new PolicyKit/ConsoleKit/HAL combi to check if + the user is privileged (for HAL >= 0.5.10 and related PolicyKit versions) + - added code to check if the current desktop session is avtive and handle + if the session get inactive (via ConsoleKit) + - added code to release/aquire org.freedesktop.Policy.Power if the session + get inactive/active to allow powersaved or other active KPowersave + instances to handle powermanagement + - prepared KPowersave to work also with HAL >= 0.5.10 (handle renamed + policy names in HAL) + - use now kdebug functions instead of own macros, added --dbg-trace option + to allow trace function entry and leave points. + +Minor changes: + - added wodim to autosuspend blacklist + - changed logic for resume if a timeout happen + - change default timeout to fake keyevent for locked screen to 2.5 sec + - don't fake key event after locked screen and lidopen if config variable + timeToFakeKeyAfterLock < 0 + - added new config variable (callSetPowerSaveOnAC in [General] section) + to disable call SetPowerSave() on HAL. + - fix code to guess if a 6-hour-timeout occours while suspend/resume or + if there was really a error + - removed Portuguese version of the help, since only one paragraph was + translated + - fixed configure script to detect if we should use HAL to get information + about policies instead of PolicyKit + - force update detailed dialog on AC events to get always e.g. the + correct scheme info in the dialog + - reworked code for mouse wheel events to reuse code for brightness keys + - several HAL/D-Bus/PolicyKit/ConsoleKit related fixes/updates + - cleanup code, fixed compiler warnings, added new functions to removed + doubled code + +Bugfixes: + - fixed problems with usage of enum cpufreq_type: don't assign integer + values to a enum (lead to segfault since enum is a 8bit char object) + - fixed wrong unit for power consumption (removed 'h' from unit) + - only suspend on button events if we resumed to avoid double suspends + - several fixes to make signals from HAL/DBus idependent from the QT + eventloop due to problems with the QT3 DBus bindings + - several patches from Mandriva (lmontel@mandriva.com) to fix problems + with translations, format messages, speedup build and memory leaks + - fixed detection if brightness is really supported by the system + - call setPowerSave() always depending on AC state if a scheme get set. + - use float for internal calculation of battery values + - When use DBUS_TYPE_BOOLEAN use as variable type dbus_bool_t to avoid + possible trouble on big endian machines + +Fixed bugs (from bugzilla.novell.com if no other comment): + - #182609: autosuspend warn dialog, feature request + - #229234: kpowersave does not fall back to userspace governor + - #256372: make HAL events independent from QT eventloop + - #257326: ignore battery warnings if on AC + - #266243: check info.capability and not info.category for laptop_panel + - #274705: feature request autodimm + - #282640: fixed brightness up/down handling + - #284622: fixed segfault + - #293707: de.po: missing space between text and ellipsis (...) + - #298332: crash, fixed typo + - #299577: disable Yast module on >= openSUSE 10.3 + - #301692: fix switch schemes on AC events, fixed detection session + state, fixed possible segfault on ix86 + - #302493: don't use kdFatal() befor exit(), it would look like a crash + - #303963: fix segfault if XDG_SESSION_COOKIE is not set + - #307431: prevent AC notifications if session state get changed + - #309491: fixed code to free KProcess object if gnome-screensaver runs + - Debian #413638: if config dialog is minimized and the user try to + start config dialog via applet reactivate the dialog. + - Debian #413811: fails to notify if suspend-to-ram fails + - (K)Ubuntu #94396: stop autosuspend before suspend + +Tranlation updates: + - german: Danny Kukawka + - arabic: Youssef Chahibi + - slovenian: Jure Repinc + - several other from forgesvn1.novell.com/svn/suse-i18n/trunk/lcn + + +New: KPowersave 0.7.2 (development tree/unstable) +================================================= + + This version is a major step to the next KPowersave stable version. + At first: you don't need to change the KPowersave config file manually + any longer - this version provide now all options for powermanagement + in KPowersave via the updated and extended configure dialog. + + You can find all changes since the last release in this file or in the + Changelog. Please test KPowersave and feel free to report bugs to the + powersave-devel mailinglist or for SUSE products via the Novell bugzilla. + + Because of the changes in the GUI the most translations are not + up-to-date. Feel free to checkout the source, update your translations + file and send it to us. + +Major changes since the last version: + - extended configure dialog to provide this functionality: + * schemes settings: + - add new and delete existing (no default) schemes + - define a CPU Frequency policy for each scheme + * general settings: + - define battery warning levels and actions if a level reached + as e.g. Suspend to disk, Shutdown or change the brightness + - configure actions for button events (Power/Lid/Suspend/Sleep) + - define the default AC and battery schemes + - show the power consumtion of the battery in the detailed info dialog + - umount external media before suspend (need a patch of the KDE media + manager) to avoid data loss and remount on resume + - reset the CPU Freq settings on resume to avoid different settings for + the CPU governor on multicore machines + - call now SetCPUFreqConsiderNice(), SetCPUFreqPerformance() on dynamic + CPU Freq policy (as poweruser setting only changeable via config file), + and also SetPowerSave() with true on battery and false otherwise. + - support also conservative governor as DYNAMIC fallback + - fixed brightness handling in the configure dialog if not activated + - removed accelerator tags from i18n() strings. KDE handle this by itself. + Improved config GUI to be better accessible via keyboard. + - code and code documentation cleanups and updates + +Fixed bugs (from bugzilla.novell.com if no other comment): + - #245081: KPowersave does not set (ondemand) governor on startup + - #244052: Close lid of a laptop and suspend to ram cause 100% CPU + - #229960: CPUFREQ_DYNAMIC_PERFORMANCE seems to be ignored during + boot and scheme change + - #230686: KPowersave need to be restarted to apply DPMS settings + - #230965: puzzling battery state info + - #231709: kpowersave-0.7.1-12: comparison with string literal + - #231184: KPowersave crashes due to uninitalized LibHalContext + - #229234: KPowersave does not fall back to userspace governor + - #215262: Suspend to disk with attached usb storage not working + - #223164: After suspend, second core has performance governor set + - #223517: Powersave: CPU scheme "dynamic" reduces speed if only + nice -19 processes run + - #223637: kpowersave crashes in first login + - #225212: KPowersave crash on ThinkPad X60s + - #221715: Functionality for configuring lid close event etc. + missing in KPowersave + - #223922: System not shuting down on pressing power button + +Tranlation updates: + - german: Danny Kukawka + - danish: Stefan Skotte + - turkish: S.Çağlar Onur + - chinese: Zhengpeng Hou + + + +KPowersave 0.7.1 (development tree/unstable) +================================================= + + I'm glad to announce the first new offical release from the KPowersave + development version 0.7.1. This is the first version of KPowersave without + dependency to the powersave daemon. From now KPowersave use directly the + HAL daemon to get Hardware information and set e.g. brightness or trigger + Suspend. + + Also if KPowersave depend no longer on powersave, I would recommend to use + the new/current powersave version furthermore. You can use the powersave + daemon if there is no client as e.g. KPowersave to handle system power- + management. If KPowersave (there is also a patch for g-p-m available) start + up the daemon stop automatically to handle powermanagement policy and + the KPowersave applet force (if allowed) the user specific policy. + + You can find all changes since the last stable release in this file or in + the Changelog. Please test KPowersave and feel free to report bugs to + the powersave-devel mailinglist or for SUSE products via the Novell bugzilla. + +Major changes since the last version: +- Initial port from powersave to HAL/D-Bus/PolicyKit: + - replaced most features from the last stable version base on powersave + with new code. (Only missing atm eyecandy stuff as suspend progress dialog) + - replaced code to get hardware information from powersave with get info + from the HAL daemon + - changed resume from suspend/standby detection and handling of the event + - KPowersave claim now org.freedesktop.Policy.Power interface from D-Bus + to stop powersave from handle powermanagement policy and to prevent + handle other clients to start powermanagement. + - Extended existing schemes to be complete handled in KPowersave instead + of the powersave daemon. Added new (scheme) settings for: + * battery warning levels + * actions for battery warning levels and for lidclose events (as e.g. + SHUTDOWN, SUSPEND2DISK, SUSPEND2RAM, CPUFREQ_POWERSAVE, CPUFREQ_DYNAMIC, + or BRIGHTNESS) + * AC and Battery default schemes + * CPU Frequency Policies per scheme + --> NOTE: you can change this settings currently only via the config file + and not via the GUI configure dialog. This is the next step, we + concentrated on get KPowersave running for this release. + - Fixed KDE screensaver and DPMS handling to reduce/avoid interfer with the + KDE user settings. There is a KDE patch available to check if KPowersave + handle DPMS settings already and call the KPowersave config dialog. + + + +KPowersave 0.6.2 (stable update) +================================ + +Changes/fixes since last stable release: +- KPowersave depends now on powersave >= 0.12.18 +- fixed bugs: + - sf.net #1483392/ SUSE #177792: set changes for autosuspend state via DCOP + back to the applet menu, added DCOP functions to set the current scheme, + the current CPUFreq policy and to open/close the detailed dialog + - sf.net #1483392/ SUSE #177788,180000: added workaround to fix two bugs in + the DPMS- and Screensaver extension of X, related to autosuspend and detect + user inactivity (DPMS timeouts are abstracted from current idle time, but + shouldn't / DPMS timeouts are currently additive but shouldn*'t). This fix + problems with autosuspend if the timeout is longer than the DPMS timeouts. + - SUSE #168619: changed errorhandling if HAL, DBUS or the powersave daemon + is not running or if the user has not the needed rights to access the + powersave daemon via DBUS. Added new errormessages and translations. + - SUSE #182515: Changed configure dialog to respect rules for DPMS timeouts + - SUSE #176782: patch from Timo Hönig to allow (if + supported and enabled in the scheme) change brighness via mousewheel over + the applet icon. + - SUSE (SLED) #183745: fixed detection of SUSE Linux/SLES/SLED and added + configure option to force SLES/SLED as distro with --enable-suse-sles. + Fixed bugzilla link for SLED/SLES + - SUSE #184076: fixed wrong command to start dbus daemon in errormessage. + - added additional check before autosuspend if this was disabled via applet +- added new configure check to detect Ubuntu/Kubuntu +- changed link to Ubuntu bugzilla to launchpad.net and use now the same link + for applet menu entry "Report a bug ..." if compiled for Ubuntu/Kubuntu +- updated default blacklist for autosuspend with gmplayer,kaffeine,xine,mencoder +- updated translation: cs,de,es,fi,fr,hu,it,km,pl,pt_BR,zh_CN,zh_TW +- updated (cs) and fixed translation of eventsrc for KNotify +- fixed and updated code documentation + +KPowersave 0.6.1 (stable update) +================================ + +Changes/fixes since last stable release: +- fixed SUSE bug #167296: fixed tooltip and removed unneeded checks for battery + related infos. Should fix display wrong remaining time on charging with APM +- fixed SUSE bug #165462: removed utf8 tag from eventsrc which results in + "unknown source ..." message in knotify dialog +- fixed SUSE bug #168838; event for resumeFromSuspendToDisk displayed twice in + knotify dialog (typo and translation issue in eventsrc) +- fixed detailed dialog for multiprocessor/-core machines without CPUFreq or + throttling support and offline CPUs/Cores +- updated translations (fi,km,pl,ru) including desktop files and eventsrc (ru, + from Anton Farygin ) +- added configure check for dbus-1-qt3-devel headers +- updated README (ALT Linux bugzilla link) + +KPowersave 0.6.0 (stable) +================================ + + I'm glad to announce the new official stable release of KPowersave (v0.6.0). + You can find all changes since the last stable release in this file or in + the Changelog. + + Thanks to all persons which helped to develop KPowersave with patches, + testing new unstable versions and report bugs back to us. A special thanks + to: + Holger Macht, Stefan Seyfried, Michael Biebl, Daniel Gollub + and last but not least SUSE/Novell. + + Danny Kukawka + + +Changes since last release: +- changed powersave dependency to current stable version >= 0.12.7 +- reduced the size of the package by optimize the size of included png files. + The size off all png files is now reduced by ~709KByte. +- added german version of the handbook +- fixed processor bar in detailed dialog to set correct for the first call. +- fixed tooltip for machines which always report charging also if 100% + charged and on AC +- fix from Michael Biebl for notify about autosuspend after resume and a + remove no longer needed check from configure +- added support for lock screen via gnome-screensaver (only under GNOME) +- added fake keyevent (shift) after resume if machine was locked before + suspend to show the login dialog automatically +- fixed detailed dialog for machines without CPUFreq and more than one CPU/ + Core or with throttling support (see SUSE bug #164683). +- added patch from Daniel Gollub to be able to fake CPU infos for develop +- fixed errorhandling for YaST power management module (SUSE specific) +- changed link for report bug opened via the applet menu if this is a + SUSE package. Open now the related opensuse.org wiki page. +- fixed bug report address in the about dialog (to powersave-users ML) +- translation updates +- changed timeout for recheck powersave on startup from 10 secs to 20 to + avoid annoying messages on slow machines or autologin +- updated README with install/compile and help/bugreport information +- updated code docu (added planed features/enhancements for 0.7/0.8 tree) +- updated spec files for packaging + + +KPowersave 0.5.11 (rc5) +================================ + +Changes since last release: +- added function to check if the machine is a laptop and to allow hide + laptop specific widgets/code e.g. on workstations +- hide 'Lock screen on lid close' checkbox in config dialog on non-Laptop +- changed brightness settings to be sure that we use the lowest 'usable' + min level of brightness and to avoid off the display on e.g. pmu +- allow root user always all kind of suspend/standby +- little fix to prepare for QT4 (s/TRUE/true/) +- translation, handbook and code documenatation updates and fixes +- code cleanups, SVN file attributes fixed + +KPowersave 0.5.10 (rc4) +================================ + +Changes since last release: +- KPowersave depends now on: powersave >= 0.12.2 +- fixed lidclose handling: added call xset to off the backlight of LCD + displays and reset DPMS settings on lidopen +- fixed read throttling state for multiprocessor machines (patch from + Daniel Gollub ) +- fixed display processor infos on multiprocessor/-core machines dislay now + values for each CPU/core also on non CPUfreq and non-throttling machines +- fix to display battery infos only if at least min. 1 batteryslot available +- translation updates (po files and handbook) from SUSE/Novell translation + team and Dawid Wróbel +- added and updated screenshots for handbook +- added missing icon on non-SUSE distributions +- autotools releated fixes: better detection of Mandriva, use now pkgconfig + from powersave for checks and linking, read name/location of dbus system + socket from pkgconfig. + +KPowersave 0.5.9 (rc3) +================================ + +Changes since last release: +- fixed battery and processor information for APM and machines without + CPU freq or throttling support +- fixed battery state in the detailed dialog if no battery is available +- translation and handbook updates and fixes + +KPowersave 0.5.8 (rc2) +================================ + +Changes since last release: +- removed sound settings from configure dialog and added KNotify support + and more events, KNotify config dialog is available via applet menu and + in the configure dialog (Michael Biebl/Danny Kukawka) +- added dcop function to open configure dialog +- fixed path to powersaved in code and translations to be more portable + (Michael Biebl) +- fixed cpu info in the info dialog to display also for machines which + only support throttling (Daniel Gollub/Danny Kukawka) +- fixed battery part in the info dialog to have same sized progressbars +- fixed strings in the code, fixed sting in tooltip if charging +- fixed problems with pidof on Fedora: pidof should be in PATH of user. +- removed no longer needed parts from handbook +- updated translations related to the changes +- cleanups (code and files) + + +KPowersave 0.5.7 (rc1) +================================ + +Changes since last release: +- added brightness support and battery state info to the detailed dialog +- updated translations: bg,cs,es,fr,it,ja,pt,nb,pt_BR,zh_CN,zh_TW +- added new language: km +- added new help file (currently without pics): Finnish +- fixed bugs: + - fixed again display CPU Freq Policy on machines without cpufreq support + - autotools related fixes (Michael Biebl ) + +KPowersave 0.5.6 (unstable) +================================ + +Changes since last release: +- added new summary battery progress bar if more than one battery bay is + available in the system +- updated translation files (nb,nl,pl,pt,zh_CN) thanks to Dawei Pang + (zh_CN) and Dawid Wróbel (pl) +- added new helpfiles for Czech and Portuguese (not complete translated), + removed some pics to reduce package size +- fixed bugs: + - wrong path to pidof prevented autosuspend (fixed path to /bin ) + - fixed autotools releated issues + - included header for Slackware 10.2 + - fixed excessive CPU usage of detailed dialog + - fixed problems if CPU Freq Policy not supported + +KPowersave 0.5.5 (unstable) +================================ + +Changes since last release: +- reworked the detailed dialog to a new design + - fixed problems with offline CPUs + - fixed battery handling +- updated pot/po files and completed german translation +- added new help menu to the applet, added new about dialog and a link + to the sourceforge bugzilla for easy report bugs +- added new icon for the 'Advanced Powersave' scheme +- several cleanups and little fixes + +KPowersave 0.5.4 (unstable) +================================ + +Changes since last release: +- added new detailed information dialog to the left button on the applet + which provide currently following information: + - battery info for multiple batteries + - CPU Frequency info also for multiprozessor machines + - current scheme, current CPU Frequency policy, AC status, powersave + status +- updated code dokumentation and enhancement/implementation doc + +KPowersave 0.5.3 (unstable) +================================ + +Changes since last release: +- implemented scheme specific brightness settings in KPowersave + and in the configure dialog and added capability for brightness to disable + set brightness in powersave if KPowersave is running. +- added warning dialog is 'Advanced Powersave' scheme is selected to avoid + problems with this EXPERIMENTAL feature +- updated: translation (nl), code documentation +- fixed compiler warning, patch by Daniel Gollub + +KPowersave 0.5.2 (unstable) +================================ + +Changes since last release (KPowersave 0.5.0): +- updated to new powersave (>= v0.11.2) +- added new dialog/error message if powersave is not running, from now + 'Don't show again' checkbox is available to disable the message +- added popup if HAL is not running (special if also powersave is not available) + and kpowersave get no information about battery/AC status +- changed settings of sounds filedialog to be more portable +- removed old and not needed qt1/qt2 includes +- changed handling with not available connection to powersave on + startup of KDE (special for autologin) +- updated help files and added new Norsk and Hungarian help files, added + language specific screenshots +- fixed dialogs to be respect KDE user interface style guide, fixed + icon handling and desktop file (thanks to Stephan Binner ) +- added admin dir and updated README for compile on non-SUSE distributions +- updated translation files +- updated code documentation +- code and file cleanups +- several little bugfixes +- switched from CVS to SVN diff --git a/README b/README new file mode 100644 index 0000000..eb7c857 --- /dev/null +++ b/README @@ -0,0 +1,99 @@ +**************************************************************************** +* DEPENDENCIES * +**************************************************************************** + +You need the following packages (the package names maybe differ for each +distribution) to compile KPowersave: + + - dbus (dbus-devel, dbus-qt3-devel) >= 0.6.x recommended: >= 0.9.x + - hal (hal-devel) recommended: >= 0.5.9.1 + - kdelibs3-devel recommended: >= 3.4.3/3.5.x + - pkgconfig + - xorg-x11-devel (for detect inactivity and set DPMS) + + and maybe also these packages: + - doxygen (for code documentation) + - docbook, kde3sdk (handbook) + + other (may) needed packages for run all KPowersave features: + - PolicyKit, recommended >= 0.2 + - ConsoleKit + + +**************************************************************************** +* INSTALLATION * +**************************************************************************** + +* For SUSE users how to generate configure: + + . /etc/opt/kde3/common_options + update_admin + +* For other distributions try this to generate configure: + + make -f admin/Makefile.common cvs + + +* Execute the following commands to compile, make and install kpowersave: + + ./configure --prefix=/opt/kde3 [--enable-debug=full] + make + make install + + + For the rest (or more general information) read the INSTALL file. + + + +**************************************************************************** +* HELP/SUPPORT * +**************************************************************************** + + Project Websites: + =================== + + KPowersave@freshmeat.net: + * http://freshmeat.net/projects/kpowersave + + KPowersave@kde-apps.org: + * http://www.kde-apps.org/content/show.php?content=29295 + + (K)Powersave@sourceforge.net: + * http://sourceforge.net/projects/powersave + + (K)Powersave@forge.novell.com: + * http://developer.novell.com/wiki/index.php/Powersave + + Mailinglists: + =============== + + powersave-users with enduser support: + * http://forge.novell.com/mailman/listinfo/powersave-users + + powersave-devel for developer and port to distributions: + * http://forge.novell.com/mailman/listinfo/powersave-devel + + + Forums: + ========= + + * http://sourceforge.net/forum/?group_id=124576 + + + Bugreports: + ============= + + Please report distribution or packaging related bugs to the bugreport + system of your distribution e.g.: + * SUSE Linux: http://en.opensuse.org/Report_a_Bug + * SLES/SLED: https://bugzilla.novell.com/ + * Debian: http://www.debian.org/Bugs/ + * K/Ubuntu: https://launchpad.net/distros/ubuntu/+bugs + * RedHat: https://bugzilla.redhat.com/ + * Mandriva: http://qa.mandriva.com/ + * ALT Linux: http://bugzilla.altlinux.org/ + * Pardus: http://bugs.pardus.org.tr/ + + For general Bugs use: + * http://sourceforge.net/tracker/?group_id=124576&atid=700009 + * powersave-users mailinglist diff --git a/TODO b/TODO new file mode 100644 index 0000000..c88b4d9 --- /dev/null +++ b/TODO @@ -0,0 +1,48 @@ +Currently we porting KPowersave to use HAL instead of the powersave daemon. + +******************************************************************************** + +For more information read this: +http://dkukawka.blogspot.com/2006/10/kpowersave-development-for-next-stable.html + +or in general about the current state of development: +http://dkukawka.blogspot.com/ + + +or the powersave-devel mailinglist archive: +http://forge.novell.com/pipermail/powersave-devel/ + +or at gmane.org: +http://news.gmane.org/gmane.linux.power-management.powersave + +******************************************************************************** + +Currently TODOs: (except as TODO marked issues in the code) + +IMPORTANT: + + * related to new PolicyKit/ConsoleKit/HAL combination and 'Session'-handling: + - fix scheme handling (don't set scheme if inactive, force correct scheme if + active session again) + - the running KPowersave instance can may not react as configured on empty/ + low battery if the session is inactive. May only a shutdown via KDE is + possible. + Think about this possible solutions: + - fall back to shutdown via KDE on lowest battery level + - drop org.freedesktop.Policy.Power interface and let powersaved to the + job + +NORMAL: + + * fix suspend workflow, including: + - handle errors (50 % done) + + * add code to react if KPowersave could not claim the + org.freedesktop.Policy.Power interface from D-Bus + + * update doxygen files, remove/update tasks etc. + + * testing and bugfixing (always!) + + * check if there is room of improvment for: + - reduce calls and set/force settings (partly done) diff --git a/configure.in.in b/configure.in.in new file mode 100644 index 0000000..534e8a0 --- /dev/null +++ b/configure.in.in @@ -0,0 +1,173 @@ +#MIN_CONFIG(3.2.0) + +AM_INIT_AUTOMAKE(kpowersave, 0.7.3, danny.kukawka@web.de) +AC_C_BIGENDIAN +AC_CHECK_KDEMAXPATHLEN + +AC_ARG_ENABLE(debug-msg, [ --enable-debug-msg build with debug messages],enable_debug_msg=$enableval,enable_debug_msg=auto) +AC_ARG_ENABLE(yast-entry, [ --enable-yast-entry build with a YaST entry in the applet menu],enable_yast_entry=$enableval,enable_yast_entry=auto) +AC_ARG_ENABLE(fake-cpu, [ --enable-fake-cpu use fake cpu environment],enable_fake_cpu=$enableval,enable_fake_cpu=auto) +AC_ARG_ENABLE(suse-sles, [ --enable-suse-sles set SLES/SLED as distribution],enable_suse_sles=$enableval,enable_suse_sles=auto) + +YAST_ENTRY="no" +PKG_PROG_PKG_CONFIG + +if test x$enable_suse_sles = xyes; then + AC_DEFINE([DISTRO_IS_SUSE],1,[define if the distro is SUSE]) + AC_DEFINE([DISTRO_IS_SLES_SLED],1,[define if the distro is a SUSE Linux Enterprise product]) + YAST_ENTRY="yes" + echo "detected distribution: SUSE Linux / a SUSE Linux Enterprise product" +elif test -f /etc/SuSE-release ; then + AC_DEFINE([DISTRO_IS_SUSE],1,[define if the distro is SUSE]) + echo -n "detected distribution: SUSE Linux " + YAST_ENTRY="yes" + if test -x /usr/bin/lsb_release ; then + /usr/bin/lsb_release -d -s > lsb_id.tmp + if test -f lsb_id.tmp; then + read LSB_ID < lsb_id.tmp + case "$LSB_ID" in + *SUSE*Linux*Enterprise*) + AC_DEFINE([DISTRO_IS_SLES_SLED],1,[define if the distro is a SUSE Linux Enterprise product]) + echo "/ a SUSE Linux Enterprise product" + ;; + *) + /usr/bin/lsb_release -r -s > lsb_release.tmp + if test -f lsb_release.tmp; then + read LSB_RELEASE < lsb_release.tmp + case "$LSB_RELEASE" in + *10) + ;; + *10.1) + ;; + *10.2) + ;; + *) + YAST_ENTRY="no" + ;; + esac + rm -f lsb_release.tmp; + fi + echo "" + ;; + esac + rm -f lsb_id.tmp; + else + echo "" + fi + fi +elif test -f /etc/altlinux-release ; then + AC_DEFINE([DISTRO_IS_ALTLINUX],1,[define if the distro is AltLinux]) + echo "detected distribution: ALT Linux" +elif test -f /etc/fedora-release ; then + AC_DEFINE([DISTRO_IS_FEDORA],1,[define if the distro is RedHat/Fedora]) + echo "detected distribution: RedHat/Fedora" +elif test -f /etc/mandrake-release -o -f /etc/mandriva-release -o -f /etc/mandrakelinux-release; then + AC_DEFINE([DISTRO_IS_MANDRAKE],1,[define if the distro is Mandrake]) + echo "detected distribution: Mandrake/Mandriva" +elif test -f /etc/pardus-release ; then + AC_DEFINE([DISTRO_IS_PARDUS],1,[define if the distro is Pardus]) + echo "detected distribution: Pardus" +elif test -f /etc/redhat-release ; then + AC_DEFINE([DISTRO_IS_REDHAT],1,[define if the distro is RedHat]) + echo "detected distribution: RedHat" +elif test -f /etc/gentoo-release ; then + AC_DEFINE([DISTRO_IS_GENTOO],1,[define if the distro is Gentoo]) + echo "detected distribution: Gentoo" +elif test -f /etc/slackware-version ; then + AC_DEFINE([DISTRO_IS_SLACKWARE],1,[define if the distro is Slackware]) + echo "detected distribution: Slackware" +elif test -f /etc/debian_version ; then + if test -x /bin/lsb_release ; then + /bin/lsb_release -id -s > lsb_id.tmp + if test -f lsb_id.tmp; then + read LSB_ID < lsb_id.tmp + case "$LSB_ID" in + Ubuntu*) + AC_DEFINE([DISTRO_IS_UBUNTU],1,[define if the distro is Ubuntu/Kubuntu]) + echo "detected distribution: Ubuntu/Kubuntu" + ;; + *) + # couldn't detect special derivat, set to Debian + AC_DEFINE([DISTRO_IS_DEBIAN],1,[define if the distro is Debian]) + echo "detected distribution: Debian" + ;; + esac + rm -f lsb_id.tmp; + else + # paranoid Fallback + AC_DEFINE([DISTRO_IS_DEBIAN],1,[define if the distro is Debian]) + echo "detected distribution: Debian" + fi + else + # Fallback if /bin/lsb_release is not available + AC_DEFINE([DISTRO_IS_DEBIAN],1,[define if the distro is Debian]) + echo "detected distribution: Debian" + fi +else + AC_DEFINE([DISTRO_IS_UNKNOW],1,[define if the distro is unknown]) + echo "detected distribution: unknown" +fi + +if test x$enable_debug_msg = xyes; then + AC_DEFINE([ENABLE_DEBUG_MSG_MODE],1,[Support a verbose mode with debug messages]) + echo "enabled debug messages: yes" +else + echo "enabled debug messages: no" +fi +if test x$enable_yast_entry = xyes; then + AC_DEFINE([ENABLE_YAST_ENTRY],1,[Add YaST entry in the applet menu]) + echo "enabled YaST menu entry: yes" +else + echo "enabled YaST menu entry: $YAST_ENTRY" + if test x$YAST_ENTRY = xyes; then + AC_DEFINE([ENABLE_YAST_ENTRY],1,[Add YaST entry in the applet menu]) + fi +fi + +if test x$enable_fake_cpu = xyes; then + AC_DEFINE([FAKE_CPU],1,[Fake /sys and /proc - for developing]) + echo "enabled faked sysfs - proc environment: yes" +else + echo "enabled faked sysfs - proc environment: no" +fi + +pkg_modules="dbus-1 >= 0.6, hal >= 0.5.6" +PKG_CHECK_MODULES(PACKAGE, [$pkg_modules]) + +# get dbus system bus socket +DBUS_SYSTEM_BUS_SOCKET="`pkg-config --variable=system_bus_default_address dbus-1`" +if test -z "$DBUS_SYSTEM_BUS_SOCKET"; then + # use default + DBUS_SYSTEM_BUS_SOCKET="unix:path=/var/run/dbus/system_bus_socket" +fi + +AC_DEFINE_UNQUOTED(DBUS_SYSTEM_BUS_SOCKET, ["$DBUS_SYSTEM_BUS_SOCKET"], + [dbus system bus socket path]) + + +#check for PolicyKit version +LIBHAL_POLICYCHECK=no +AC_CHECK_LIB([hal], [libhal_device_is_caller_privileged], [LIBHAL_POLICYCHECK=yes], [LIBHAL_POLICYCHECK=no]) +if test "x$LIBHAL_POLICYCHECK" = "xyes"; then + AC_DEFINE([USE_LIBHAL_POLICYCHECK],1,[Set if should use libhal to check policy.]) +fi + +#check for HAL version >= 0.5.10 +if $PKG_CONFIG --atleast-version 0.5.10 hal; then + AC_DEFINE([HAVE_HAL_0_5_10],1,[Set if we use HAL >= 0.5.10]) +fi + +# check for dbus qt bindings --> copied from KNetworkmanager +safe_CPPFLAGS=$CPPFLAGS +CPPFLAGS="$CPPFLAGS $PACKAGE_CFLAGS $all_includes" +AC_LANG_SAVE +AC_LANG_CPLUSPLUS +AC_CHECK_HEADER([dbus/connection.h],,[AC_MSG_ERROR([You need D-BUS/Qt3 bindings])]) +AC_CHECK_HEADER([dbus/message.h],,[AC_MSG_ERROR([You need D-BUS/Qt3 bindings])]) +CPPFLAGS=$safe_CPPFLAGS +AC_LANG_RESTORE + +# call needed substitutions +AC_SUBST(PACKAGE_CFLAGS) +AC_SUBST(PACKAGE_LIBS) +AC_SUBST(XGETTEXT) diff --git a/doc/Makefile.am b/doc/Makefile.am new file mode 100644 index 0000000..40baf08 --- /dev/null +++ b/doc/Makefile.am @@ -0,0 +1,6 @@ +# the SUBDIRS is filled automatically by am_edit. If files are +# in this directory they are installed into the english dir + +KDE_LANG = en +KDE_DOCS = AUTO +SUBDIRS = $(AUTODIRS) diff --git a/doc/cs/Makefile.am b/doc/cs/Makefile.am new file mode 100644 index 0000000..8bb40ff --- /dev/null +++ b/doc/cs/Makefile.am @@ -0,0 +1,2 @@ +KDE_DOCS = kpowersave +KDE_LANG = cs diff --git a/doc/cs/cs_applet_autosuspend.png b/doc/cs/cs_applet_autosuspend.png new file mode 100644 index 0000000000000000000000000000000000000000..cdfd38cf5ededdc173ae44a997a03c03b4fce5c7 GIT binary patch literal 19219 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 T?=Xix00000NkvXXu0mjf*EoE1 literal 0 HcmV?d00001 diff --git a/doc/cs/cs_applet_configure.png b/doc/cs/cs_applet_configure.png new file mode 100644 index 0000000000000000000000000000000000000000..aa13a6875068773f38175fbdfd59f5bd9a36560c GIT binary patch literal 20218 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 AXaE2J literal 0 HcmV?d00001 diff --git a/doc/cs/cs_applet_cpufreq.png b/doc/cs/cs_applet_cpufreq.png new file mode 100644 index 0000000000000000000000000000000000000000..e71b9925eb340bb243fcc66c141c17afcb891862 GIT binary patch literal 29609 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 z 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%0DK*M;(P7F1xN< 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%0DN_Sq&*9rHdLTzrFY~ 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 be7ODxBwDzdgG^kF00000NkvXXu0mjf>=z{i literal 0 HcmV?d00001 diff --git a/doc/cs/cs_applet_suspend.png b/doc/cs/cs_applet_suspend.png new file mode 100644 index 0000000000000000000000000000000000000000..79b63afcb4f3663874572d7e6cc19b88a03ca0c6 GIT binary patch literal 20345 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 A761SM literal 0 HcmV?d00001 diff --git a/doc/cs/cs_configdialog_blacklist.png b/doc/cs/cs_configdialog_blacklist.png new file mode 100644 index 0000000000000000000000000000000000000000..393b941cf439de23dda4ecaf0cc33e09104a0b52 GIT binary patch literal 15707 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 PMuQY&RHVx!jRXD{&_%BW literal 0 HcmV?d00001 diff --git a/doc/cs/cs_configdialog_general.png b/doc/cs/cs_configdialog_general.png new file mode 100644 index 0000000000000000000000000000000000000000..1920334e6f9beb5d711b7e66b9c724391226d4a7 GIT binary patch literal 30325 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%0D-R~}t;Htf4epXw zHe(rhd;8VR|DnJ-?ihy=RvU%Kw&u1`T&QeWdk>(P%6UM4UoY?(% zg3YREP=!p#dg=;0o}cB?2WrdlQ&m=Ey&$NVxLmIHoy;LQ2c0niINn7BxZlKlN^WjuIW&Iw;nS>z4@` ziUq8Gq~aA`{|dHA{<{(%-DukIlGTk9)MOXb@?{Ta>0><|-nXlBEs1)IXGBi2{mI;^ zuUHUS>$HvNt%U%BBP60}ZIqYK`G`&}AK%n0PE79t@p4OLMqa)(3@_(L?;wfe`jla7 zs1`Brj$KBo(S`Yio#T7;GS9o|q;?n0U*69v+BqfKA5S>t^_!X?K9{+{A2ju5s$DA; z^3h>a8fX=Pk_eA=P+(y=PCm6MvJ$ZG$@(dBwyt!mc}ey@qk=KibF_h|z2;BUzFqh( z{hf4D$+lBLLG_f|*{N`Mr&?D)2Y*@B^iB%K9nsD34BwfV=<}eR)QHYMLHCkh(>=c7c|FBgt!n5*bin$?-`%6?A# zmpFhS*qg)rd!M_G`nm!JTqHQ+Gc+%_YgG3~a;3P0h?DH0(Qy;a4y2Tg?J9-4s%*JM zOYCpaTwFA!+~vZ5k{Kb$vEfpiIMpu&w9GtlG!Lf?rnc1&*p@%Mv96kvqT{;HBffnM z2Pfl33Y+)6h|2t3s$u`qcC2M0%H6fpq|?!zQ;1ohR;4cU_rgiTtA z-H0J4xUH@xbno1AND3OR3|Hj^rFarDa_^n2Vyp&z)HohGxa%T!^;;0)S*Op0kG^M=1$IN@;7fp-2ug?^*Q64`vHED;6jm=uWpQ#elz)5gc zska(t@V!0V9=AQ&7}QWxTj6ush_)_J%~7oQuqaL{;FNp1G1%g=JGENEZ@(1yn3T5% z8H>VZw$`<>H|eF+ACoKIZ_jifYjKXI{+qCE*Wyu8xa zp9tHa67mKCxNIZ@;;4fwX82rT&2s%)qXk8pCHiOJ^_8&M!nl4g7Gerza9&h~Jrt=Mb5kDOH0M@VI1 zYP!a`V4oD80*8s2xinSSa|--sTsCVbtT1eP#QN-6`TNB)v|0X;)JbNg=$ob-p{@;kdrfZ`Oq`+5I(&QuMuEtxLq`K{Z<;_oG(r3L6>G z*~7ElY1`%Y2z~Tpz5d$^9cA<1ZVbixbx&VDIXzY9W(mZmQRNPYQZdBLH29|ZNl%9L zXUcrpnXa_^=)uIw`cp2Bz51y03u6qvrqAJ05XOPs-0wx=%UA4p21-9Dxr`Cb_T>C5 zYT`{ygZEW4<*(UUUH4}Arx+T)G&!t4A>(`HhgCIaX&#JDxR*b>4YGJ!m`Xt2WXqU*m;`wVJ9Lt+cYX@p<0yPL`6{PNg>wV#;+vamWGWFe4`Xy#?G0^l}Lrcrb z^L(!yi&DgmxyM!bQI});P!O1#F~V6Q@5zj>t~|Lt?rz*WbFsxkA@s0N8M^bmSz4-^ zqwVpMgfg>Z>F*SC4Zi(X(tV}XL4I3X4PKW^2sbyE$1%MAK1$V?-;&7Xk@?zkJYhrxAA_bKRwy~qpp-KlbnSz4L-sR~77tHEq5k!S#zC%&HsPF7rWv#YCQ)Olt&i2c1 z3=HUD;;7Wz^st?LNJRz}g7m9QO!?k2pV&ghVv6(w_(V3kp^I*wYO9u4emS$5goGJdYkQ53>7jkMNe2+m|7S36MwW?(#V$GXCS*)9<+4qOD;@xO?7LESR#Q+X9%xa2?HB9pOsVLHXrJaF@MQvL=wUV8yJXyjgZkVU~2=%x$C4Xkpbfx|c zi&J6$THYm&jd|a*IS@^L|Jr6fR~hyetIMqn`FS*2Z#mk|K>te-b#-;qu37wxeD#7V z4z2cA2EI8F1gsj-j#|qoLN~{dmvJog`63?&9=AIrs!k?@e#K)#f0K&&t$+*b%Z29K4uk zZ|^S{O=Fp_n7HrL{w`*5?nGS(&XRSgAo^KJ4#iGU!ok#GMqUNhGK4y>Vm@#Lm#a z(Ao};Ri@01&nB1@S3RDjKJKpuP4YMtpL)Zcf9enJ8;Cs_l*ZD5^0yHWJ^9d`4`ciH zalzI@+y_Vf*8u9kXy~2k{G2}5^%7rXH?u=m%5!SEu-s~U>P))qz?Bh9^ws9J)*#Yq zt}jbijaeqtt-5bQbwkO}!-!*kHY{Fm*K%ky;f#9hAeJTrJ5?mt+It&E`1^4OGtFb## z{(H*v?QxFI{{D05wWn{9$c--q4h|I-IM~2xm{5%h&i3QHdKokbg<{gOu*mxR`xo8? z1tE2IcE+5XIE6(eToxRfx-LQ>l2?CdP#>|DM%E{eHZnHN%UHQATv+|}D# zeq{gx8#T39MP;S0CTlams)5S=k73>2-5y199(M-^17;s4=jY=N4n7R~czBe}Ro)yf zhine33+WY&d==EA#>BvQZp1`I^(u;7L)MoF`}X#>sQR6?b-7XkLFfH!6v_R~jc&;x zoJF6Vt?g$1vS4%W^`V!y_v-5E>uVnTE!mP$N@C(%@3Yen#c9+0Jbv#E<|Zd&va;y) zY|Bf&UUTL**ulXqki1Cq4&;32pF17p0iJT@@Nh8Q*V$S9^Or9Qwbj*HmEj6H60z^4 ztmj)>1N&A5P9`fA8m}&obC9|8(3~A3wy7$stMha&pB9t*mmmvFbG{QzRsAu>nXhwT z&UWp=H{O4nY;JuA()Q560F{J&HwOv$3vLe% zzUvG!2yI?}GBYzXcYc$SlA=X@c6Bus$f(!pB}L5BvAn$ewEYEDEjg{AppGU9c|}!H zV&clymaLbT*Ng93>mHt-z0OinQdg-t6r}Il9X(cGAsFlFrBqYCeCUa5{@%K++T0rS zg3}*)UkfZ49$IqwF_trbWOFl5O+#br8hRBIacU5M>aJv(k4IOz;T^_`Pl%9UV>lzZa8jdB%ZOuhrDn3d+dH#DI*L zU_S%3(C50ix%_zwuWDqJuB)rdHyfoVtUKO+M-uBZqo%3~>-gI-4@(&pMu7tnz2SKJ zups{~WVrv9`NK4VGm8Cxto{EExG#03NY{8FhR?h1hrwmh1CPgq+!G!SkB5wpmy03R z)i-v*=5X0l=FPX?@*` zk>(*>rW5z(K*SC2E{_?R`9#+RaUPCEZL<{lH0ZoNCNo`OJKNCUd#|B#et&cMTmxER zIY{%W{M~4#=2(%A*ip%=3y1SPz0JA0S}4hLNVY-} z0|2ocKMu8i7=FYg7kF`a2{?mP?ZI>sz$jhd7}M5J9B#u#IQOHKFn}oy1YCCFZ;3lP z1g1~%)jTW6?|;7;aELiGy63w(zXs^G>tL}Z%b>yMXk!re+b8X~IRHC+(9{^;A20Xd z=5$*#6GxLyLs91V!hST z0!<_?cV(z~hoV?yi0$xRi@TY_UAhu#+eX7n?)=Q@yQ@=cW3DUkuhnE(7L;62(v-KHSTigR1}`K`fn3RE4 zvsi6@tv@X)raJenmaXDzlW-i7Ur4lM0I$kT6Z*v@fsqlI*C^3X@xZh4ghWx08+D&q zEj9-Y{VU)C?w zsVugcuNN-H>d^a%D*D^ReDdclGzz9Z_fq8J?*)4UZL^Fkk4Ez)ksaULuYtFm+;(}Q zckUE#-r|K1>f*peeQu-)zEe|&FB{Z*$Hb%wdM&8zs z`qO}lS+GI4di4t5a*cel9jDYR(k56)z{K10UM7Kqmu0s(-Eu| z_wM!73}SkGST!4@!TTC{C?a%=i*AINE8LN){$T7APSXHB?%V>GxZlfNAPBt6VAd+5 z^Ff*W4ns5!!==wu$&wY=O5{fWKK;^ePV$z;{0%Z1(ewfUi*BCh*s#OXMWdt5VMYSv zP^7as7IhY7p~es_%H;0`rN*xd6Z(tP>89GYS5> zyL&OHLQi)Q@AKUjm+PhFL>W=c)o1;l z;l{CVpld&f+wgz$aEC8TzpyvP$C!xuz==+zJrilgD6a}=lw2gaAYq)FJeSAKg*~0( zZ*?6r8oYfl+_NWRyVI3it6A5F3!H7adIn63OX;Cj#zm}RLXEM^svp?G6jB}~Kevdy zb~6GO(kO)Th6JkQOE=~|*$J9DT4+M>$_!RMXcVy#^}c%XrsFHCrg+8Yi@+m5*}u`t zeUrXE+sy*2MfvXXglE~+{L$UvatF0hD6a)q`!|I&&*m!gY|47B=Q{~L3}Il!9C66- zH(U>~o1C8BY_w3=E6iX?xOX3?hIgUh!vc+Cts%3#xRLY_uGIi5qGVEm;FnuVZJ$h@ zzO8dySEN(YE3_LO%vK=%U4)XI$$50J)P_N)Nhj)RGnnyOd#^7=@GS>{ z%_ltrOBQr28ZuR1+*X9`o*!#!Z9%rG-fj3~5F;EcT8+&q8wKk1XLti4`D3KX=A&4n zoHY8?4rVh#?!zAOG$SR`!xLp*&7n^ag^ja^_fEG)KOOal+McyBHEP!s=~QlMD?;T> zesRcgRoGn3;I;ESzdeXZFzY{iE)uEXKA)WK-t;i4lBdq)2}<64?z&&jTMXxph+xW> zet(B`Vf=)T5H}Mj2&Jt|gcHlQq^d8eKX_f8Y{pkOI6u?>O|1IDt>BCh2Dja;wlnE$ z7zn?e1V^|H6K2uK*DTo^bL~y!k?R)oT9$a^CHZ~#*Y zqm@r#HF|shdjyb9P((Bu?N~K5lEf@GTcW8YW~5EhM7(LH{Ray{9%-@@5-ROeh!VqJ z3_$XF8$eHHWuqms*@CJXcYt6$`-DP>cr}e++UApT1d_=2kFOBH;I~{(hL)NQpFhm$ z#Sq{BR`##1>vqOyBB4FG0(mt9tcjiu5i-j0m0M1|xue>g9j``FqSs6i$CZ8PQm=;0 zWYkN~yTNPI10{q(QHB5A*%)7yMkbwj6(RMm^zkKH_BhP&??*Qco0q=B zc>mymIXlGhPW-=}|3Cx43V)Hp{{tZWMGC%?f(-*t@A)E=F2^x<#qTglxoKbMMl;-- z)29cTf11F5M^tObJ|k@vSpAcL-FDgkt)(0_O++y9C+O?D9u@0vzr1|v8p@T{HFpKC9X_3h-i{&UYK;MTFqT}*$mhFL84KZL>ri~ZN8E+(_s2PPNz z2Eq*c%jy1ia5_{4g7$D46YTyobgsr(Ex*%?dBuBh+b3$qiTQgM5nSQgaX|LCCnFjwcv*!}GpY3}v){Mr@>4rN}K z4wFFL+nKA=Nfq&C0fB7n7(sY0j>7INDt9WAW{ zI2DfvtY}x$u2^Oj1B3l3sfedRT?w`3LzyxT0CLnd05Pb$>nkfgD{FTt2oHaP&xlx` z2-zJhG?lsRY70|lini9ipB3or>-#n{qibblWxq=+6&ZVTnrf4A`?LYeEneuJ(SmsAG->@O=kWBbv5A`X4YHU}W0=5FJ~qd>?8s}XXw z`xAM(SC>{gzf`r`QM|Qp?@r^{zga@NP2!{u3?%Q$je?$?oVX#4ux9MtobS(H7ja*m z?dmY10|vL}2A1#DYA(Psf2!=4Po@BL>jVjA<`78J_L!aa9dYb>pTQ`4wpV*!SI8&v zD!iZjowpk^o-FE1(fs}V5f{J5Nv`M2;2`zu*RRWfBr4J4Wn6wee9h;1Rw$^cug|Vi zVKe9=&-;t?GW4scqkQXcAVQA=LdKkskl=8C=S{2GWQKpPtEaac30lViwA8cKB}Z?X zKgEtKv_5h%R~ZFD$2Qr;^FA{ zGczk|^AG?xz16LWQj=6OCAGXa?&4pqd*ZpS#6-O=J_wzu$=)K`Py8@?U)bC%{tLcH z8Zr}gb`PMaF2cv*V}Ru(%Gu#bBIf5ouv!6RuJ{&&x7?GOGaOpT_uj4$rMn%j!$h&F zM8L(S%B|fLc6E{Bl>6gDk(RC4+E3AX5NMz5yA>4`eU6P?$@`t*5gDG@FT}YwOgx_I zsv(r_i^mWc{X>G}G)9@NiS(;-a)?koclfQNM97m-ju=Tg9JyQ%T@@AoEJfkq0Yefz z+w$^qhubS>%FSUDRfye86+D-?dUs8`=E~k&-6wk8KRn-@%gM!!yK-j@V&6(E{BSDp zp1eHhOykdHf3`ne+3&r$Hj<~RQCt{LJNTB$nh#Qry^It+DY^C$C#3QoEInBVhcb`> zI){Uo16gLzsvztp?Jad#e}jT=sRcgeMmF@(PJocx!FSoN_5QR{{Gy?cx2_Yh`9YCQ~PB~_?Cn6$})6pSqMfP9oBNuRzF7Z6u zAvt65SgySOH01!-)Wly$DfqA$Iz~L(M3LVFy%vG$wuMh>XYcFiYieOo!NPh1sO*_0 zT0B<%;0U>RI&?&me`@#>)|o3@{8g^OP5hog9+lcCg!}2v^a&pkeI})dS12p2M8B>% zPWy)vmR#n0QA4l<4YJU?M=V?Tk#<1~njCUT*8%H!8!q*lRha~7q6L*1V?;_{pJI<> zp<6Um9m#m9HSGPop_W#Heux{Wz)*i8d^Y5>bdsZkIaXq@A80k2uYR=Fo0NOab+q_J zR1o=xaT_`_6H}uJtENT|)w}JM;K!u8r*Y;Qo{N^EIoBc8{!dpnQ6nWt+5uFG=6!1CYD{|)(_zB?&Wp#)8Y!EMQHDOy~Nt%2|a zJv15qXpV#kG{z9I*N6nevYd9U&~W$kQ2zB~$0zY^KXN<9IYYkHS6Z&u8=22t6H#iY zyJo3cWZ#RZ3!^_I3~8t=^#8qq8m1ifAdHIt-wkRm7OsCP;{P`2AoP%+KaVEv)figu z(XZ0Z1EYz*5);tWq78x^f*PYI(-uN69rW+b=Zj)D*XMQ*Y94hNJ*B9Rd}kCmO8)l# zdLHRt6Jqj=Pr#%UHIZrC0*2S>Yv!IIeBs1af&1pe3~$McP5#+ zyPNY*`0ilwv-rq+|2^%w0d%ZbZ<v8t+?_vm=Kg|_1Yn-eqO*?T5 zbTXxJUV>n!S@~X1v&>WmFcP7c9~NF|<|vYD)_b{Ez8lS#7L|%5vj>{EW3B6c1ur0A zBqPj#4(t3hkBHa@w51rx6~)@+@8BhZF~ue%*YNrr4M1kp%TY}EBT;x3ZwE4kE|}bU zpjtI zEW7z-H9Ql~W#W&z52}AfKn19N4-}6*P=Z{O;CVNK>a_uclUNjyk#vcW#t?S>-y3H; zlL1&pX^rck)v`K9^YoMqTI5qw12Iq5@hV(5hv>%vw%4fy$Jc;}s1kB&K~ZrB9>O&M z`El7P01)M;I3_nS_77#Qq>27N;QIG9>mbKm2-q_Ile8%e;84U*|y& zrhTjBSQu2q>w?oQ*JkP$^B>opiNU+O8GtPG0AnmBQ&Cx7X*c0Vr5!s6Xi(Pb)2! z7e02EgVC!3ch=%p6tC`}2-{iT#S`SQnTS4GSpJAkz*6;vQOU!GzyQjy*CFymu$cABrpHA`_1epORP;;={a@G5wUvL^7*8#?}YYCDvfN1wbtj1oh)u zhgI1`EalWS2@OTzE_g~~Z<%9<0IZlb{T<1vPy@zfCAWxjAWgwr^`Vx%|1JH&VCu@T zcZ`xWx&!O2Z~t54(>jOME-LS>5$2mmMt#D+osjB%4i?0U|Mp`bfIM_ZCen10c%yL- z3;BgaTdpv%bO^PI%5OLOZpZhb$KQm0i0c$evWCszP}6-j%3$=pyNLocS*L@0SY(baXi^F9}@_Th?`#TO$92NSmAc;es@%z=sN3oYXF|9s# zA~@fLJ^fK(Q?miuqKok%!RE9xf7i%xDU8tjGajasOC1Ob)nE0|$GikXY^+iyia zuVFH72Sm|8?JvJ2jq75bt|#B|1&r1Zo8<^TjLWeo#QVI3dTC0ixks} zgd8J72VWQ&{e5`b)Vx9re@2=IxZg`?TY(LO3StiShT$H>G&P=uATj>KhiPob}U9EUAJx-y@azJ4Eh(h&fQU?XZ z2C3M?l3l~TYGDAsLEyvqNT{16?CGK{EC`dDI;bR?%!W{%ZIAc2Ohp=@o2|&eP+@dcKjIx>hfclWF5A-mM-*Y-4EgrV(wfoBz}8WM+a z;}64L0dlg8Z`c&=)E_Owp=2DoqrSuNKg7b9Zp%>>9}Pb2#lPT?zCbdb*wdwt8)eM?o+r`$yXD_rljs5 z#ERjs0o<}l0BahCo~TJJLs7%`uJ;t@d<$QzvJ8dH^@1Jq@pP3 zIhJTiEt2cxq1iAIj>7+g48jKG31O0>O(@fyl8+{X89DAAPx6_(lE1p0!0HgDgS7ch z)S8g`i2*0t?Mq4TF{Es`=+oZ`hT_~dglLGs4JB>_t>-`$ld2ZtGjTHV>TCI=j14o! z4>x(SuAdHTUFj3*yENxQe>l<}x;Dn^6dOO2&`}-83=sp?DyGjwn10a1Vz%M>pFBGKDI0q5mI881P*ICm7iGd+=;M9Q2=A?BD)_Nvt*Zee}=0qtjOPyC!#^{?>OPM#Q&A ztDorU=_i5QD4uo<=mHwF$JK{&0VySop>N6hu1yG?OWZW zXMrG=$!&N()IC_)*wnD2E-9%&O>>ax3GAT+@O1zw3zQEK5oYbC0hBKVc~nP6Cd?Z6 zQigz8>iezY>(@cev3>T`U~SY@08$_)C-?K}%453DvvPH9Z3@67o(f9f2OIY;1hipG?duwm6!r%WOl zpRf7)fq7Ar`veARcjyxAe5s>+*ah7%0fN`fI#Bzy##btUJX5@l#&ZUw`q?vJ#3A4$h}261C}s*M zsk;DQ*ZV3eM$T3{c5vJmG)x(_Y&16dwRLn{hnuOYegXKVr~kAk;rV-CTiYVr`Fige z_swK5v^6f))&>60A1Z=3*G4A*atWNfdQqw~5s;M^VGCIFks;OoFd7N@X*Hb99C%f) zlqytO?YLg!gNBAS^|Au@qGKTEO<~t}mS0J{wq;sB&0mvwe)uo|{5|hsFjy1kX0a83 zg&O+$d*{|+LhS5)Wj}ukt6Qk&VUj|4#sIgs1==p~FXdsEc;<+h><9Rl?ln~%%gW22 zET5d6A+M9&RDyYWr`Kh{g#+OkwCC`!wEP3ok`XgAbG~A@f5x{jvkz*-^#YTyuyA_I z22icaS9Y$0(A)(Kx+ehrs01VW?uh^)7u4tCU@?yKYG?Af=iNoKd_qEAoU7Ld73U8<81h#fusarL7kK=Wp3H(iz@Oia z%BZvZKIL$WWJ&kXl1^8fnw}2uKH15BRJPw>-uqN9M?6#9{eVI;u@);wJ6p3&wZBlm z)}@!D8q`)tcjtlP=6!R)HT3(z27(QN@j}~gh=f0)M*XWn|Mi^wAGgWi+xraQL;=o` zf4-Cd>q_~b2L%`M-vLy-PA)D}0Ik5wW8SVA-|atnMcf9cx0Sq_*3)3U7##bANc)e< zP|`hn8QlytNJJRdRR=vDEbK~x{MLw}ot};zFPS8hV9EtmHcHYHKXdy1t2T(GsjjS+ zsj8TU7Cuu9L<`#OAQLPw`kXtQ zqXSIX+RVH>ttweS6%#_Id5%uGpO87mm#;o&L!u-M$!elO$q`UO~VaXi*ze}MHRtE}uO4j%~1 zYu3w8y?cA6?`hocZutM*aitErR5vm+gZX0K>kC_X`KiOv%4>dCcI9G&ey1+Ef{9&G zexzSAvaJN1IVS50jsq}9*lhd_?Tbvbm@D-w8F zW{F|!uGPJO<(L84duysM;WgeaoJH28;v1ES)|ClGr!E@M((Z-T|Mcbb-{)#pPuu2#USegI3Q$k^3tU>8XnP z7J+ft3?yiQU=S<|YJ@${{(x+t?g7dHpFe-j7y^-MX@8#s*u`oZ{``^ts;HzCq9%r_ zZU7QbzL0=`HUvt12+y@qRTR~7>NBY6S(@0-b+iX9o!wRj0(qUsskjXbB@PZXP%<6s z>YS4`N~`ds|L^oNcIL?J0SVC_7ayN_-q%+TEJXpN(_mGVq1Ei7w?0r|dj2MptTm2Q z6)&$)e8!;ia_d%Wivb!#_72qP?_vRJ0-~Y@LPA16;1J#EV}KB;x|*7r$}~JOHpap= zQ|nstw3n3A5U%U+Ejc}{mX?;o>6SV)b*sMA*KtZ3D4zEB=t;e2BFNIXeFc$^9|02& z8|bBu4VXDFa=&Xm1Qpkz93{%x?8hfT${Nf31BW^t-y^9LOG4Q&*P(sERAdicOP}@4*QFlqQ`X{Sq)r z!zqH*Xw+F`3`x%3-@tnw78dr=>FM^@?|YzH4S*Tkpm@SwOERyDwl;dF_zoUZ=9vHwLhWRllYpKAnaJ$ifP z<60YKj*eLE?7f8F;9H<{ZTmisy*8@<{N=;%pQRf(C5?@*q;Zd;spMNESYpP9$Fb#C zsAJ>rUh~ss6j9C;pp^zK&_ppiLL)alq*3=gTmR5&#K3w6P`2!SGrNgFiJZNusY$v3 zry8htoxqRcWCK$5Kxz6DD|u(2i@(jnKu0$PWvUCR*A(Y*#)w2#sOe9UKzgl+Y{O47 z!z4Zolozjh;|lbc*}lMnTjQLnvikZsIVom^gWKm=a_`D0Iv0V0MtVB3K#0noJ z3rI25EdY85Z)sdZ@O72RDvZmd|ks z)!~w&zuj+Xi`iw2v=haX`ao$DD>weK*nm%+$g{f-st4<;yCFn*U{8UXnJ6 zDz1nrqoIt3=%f&@*2UxuSFb}sd$OHXuhZxeQ7o}K9m_AunVlu1Ge_Sqzmk(eLO~(- zAzLDov}L3#+V9%rX4+iV@n!sO!&zj093r&3odOT?Y8CQ1x9Y!C4ds4UIW4GQJi--r z1xxd)v=6;GR)YU*agDPYh&^sNNcJ!GW-34qj|1P9E23`Fu&}WFZwj|LVxdv%Ay6>C z{&w^^ z{r_;?77joTq54dasO3K@T?Lm`w$tCr$CB6i&%J%OduxiT*}4x<9zT%nE0enOlVrvA57-;#WTW};GnD`Z`4{NFmPVudwus8#1SLfQk==PrSoEwjAl|nH6MlydA&ij zihc8Om4+-7I~Wn8jn2vFl0^YkqJtnpzC9(dI^XUmq_nE-oDlOV_*l zdWe(Luh_3&W!}BZ$9(*F(;A?ASpW*?7#JR0%YaR< zU~_K_{^yZa%f>d#H*ca(PER*?fvGt!KVQX!+-rAt*W-72IX%EkDmpsWeLu^}GED3N zoqAVa9enlrT7P)cX>0f6M|c2yxYv6-J8|N=v)bQfsp?7C-f!_ej2|}ao(2NG>@`|y zF?elZZr+Ff;+CYRs)`TKesOV;h2r!K7;p7=b+xsRymd(_DK)Q8+#DTM!#{n>g25zg zb$Z9gL!r=<2&1~ht!po16O&UndwXU7fPm5bf|%rFHo&n6I}(U*FVBHN`ru`r$WIAq zB6fKqOp~Ccx!KgjM8cMomX`MOw{PY&>@+muE-o(e(ERCni?-E?iTJ6Uj>nH54~>kN zo@w>m^W#6OTwh849< zR!xm|Q0D$KN5_J?tgP4Gta?$$M@J`JIs3Nffc$Un?8F`&IZV#Y@s5|q`=%1BpIB&4 zPfeY;y??K`w7jhT3J=f`syF_z#KPr2etfS_&J=OYd+)yOo0ODv+6CKxb{rm#-r3dl zd1y#QOJAS&T2@xJ^&CT{pr8P_-aR}-T8!_iO`IGYRM64UPxw_-R5A++um{p(9Q)v}hvSlkKDz%p zIHY#_Db|_dD*1VZfAeLU_5JgKI!kd z72$(07;PiR&h9P_?C(3g;mYK2U^c9u9R}#=3pD(>_3R$) zt7C>_XU}Yo@m$B})AxCP&+d;C$2rHj-{-!s_jSFN6Qqh&;#12rAC-6Gqd~@jW|sSn zwib1}ovV)uDktpbmaY`2)-Q#>`K&+aI3)-Y0Uw!YB|KH!<=BldJS3Tdf;n}sE=S?KeP_5nOx1OZU%od3dG!pV zj%1y6qs}{$Wa7+=lvm$=V!yVcTVo+^UsaomxTSv)r2(|e_@bumTrPgBSJRv}M)kOZ zzKsGGJG|i2<+(yzuZs>5U--$MYnz(~o$oZvV%|f#JAmy=(zpy#km;{(4Uxr?TrrGT zl-mu7{zW<3F|;+cubf3|BvMZ{FgQq=A`%ed@9*z21Q5Pc`>+#O$X219Z9jxdx)>Uz zHsh0x#`;EJIKrUG>w=b7trPp&wTO=&(JBI0Ko@hqO~FkrWy-;*6G%wqPU%ZtnjgHV z3O0RiKjLZ);GDuksRY`zv^0mOy4IP)YzWe$GTJu4aGD1|G`0Q%3DO$Rzi+=q_ohA% zcUqmzvttb8Tv6cybl{-oG30Z5od_hCn&>UK`%r}S<&;p63#xT{|tlWxlRQui*EQnVCNR_yZ%#F8FyB16E?)hU` zU}CL}`c#bn3&28gefK0gZ41F!2~gWblWo5EBu7K_Lri{`lHV#2(&NLSLlfb@h0k^Zt6~_<%>Gs zk@i6K$mnS7V3uVS6%{?0$D_F9=N1s+{WsZ-vOrn!Jd2 zo1y1=pD&>Nb2XWOaFlLX?oOZnh^vI)dygx6NaBv9gxd zR_*BfC5c8Zb5K&kf1#xN09wzml1?o?ba6RD1a|#V<{r7?8yQeo3xlw0oYWznI!TJV zg%$&Cpda&3#t(i@NoWY)r*R`l-`ho{Y1SpDfr;@0%;h+si@&%3vGBQb{M-_gBw@o9 z?YDn|mNqsr{+?#;^qIvsBotY3S$JMGJS^(pQ8Q}Q00(=_sV#_G&nR_bAG@xBG|k8|s1 z7uG0(rI>xAI4`r*{k>>%AEt1Q$z)^~%N^G~p`2NL;lpkA#_@xrv>R`6%Z~{!KKDwD z)de_L|2bjdJ&pzjvi=zTox$Q^$+zh$^x=%GivN^G&9u&dqFHUKh3S9z6dW-r0(Z%D zg?h)wU!Awx#8l1N%)TY}u!*s!qG;LQS8HhX(7Py{*`~CMwtJHLiAK?L0vt28AS(;Vm_vDXU@yL6t1jwGp;b# zo0&ZOC9#-~ur%()%VMFIl0x5$kt4E>F|@5;su1ovHxH?aN!t>*?mcbRh+(7$(nTSUW7=`#p>2JK4knOmmi z&o9?g8d2YUbZ)%dhfXZwb*zC8t;(nW;vqtzykHePhiRXkw=(~66~Pa%Ql6h)K1X%$ zxoee{lng-Mlv`NHIK5$QZ9M`CPo#n5^lY8W*+c}b68_IqKrpK_df7n(Qw;TM4D2>X zj;BCfmjQ-427p3dZf-Z2{%7*Fz$#}7z68($>4B_AB69;aQWZezgU*C8f%M{j*0cyH ziYX}I*@16`iu{Q`(O_idgLCa!*-5$S*iO@0ll}h59p|&t@vZG`LKClJhQ}xx3jK}< zjP#4y?swTu3W4lz@l301vzqTNf*E!UHmY$8U`?{^xi?lvik=I+oCF>UxZ8->SYx?# zi6T%LDgj$Xr&!p)%))}=p;<<+;6Z!6u=(nGRplG>!U$k~$bHw4M=VWJPRa91v0ae8l zTL0F%^q|)&Dl2@pwzf6dI);W>#vCRij65!$?1`@Dj+97`q~9n^|diXBL5`FS`YP+8fzy-?V#DB_+iR z0C&BX9zM#PoT__#yv+Cf$KzCnNqCD!9Pd{ZCo2-D0+b?0To};MzPQNp-Nn%wyxiBz z4#ZjsSawE1I4mE36I0kUv}OgEyS+vkU;q=$iJT5LlgdLstx@hMP7bs0!RL`zR3x+i z#W+c82bw|`4^(KvPav#*#i7vD!o?h4*qYh3o3W5!k_NMaORL0)XZxv4?`)92h( zo0ZiO4^2q#*lJy#yrM?q2b|b*nyT@(D0WJ6-V~@PS`vo4xMnbt9{Xj_het*tr&4_5 z)!Ti9$oXz&{k(1G`tnR~kl#ZFu9?pXUe-gS+1Zcf@5+;14P2-v$aP;9Cijr70sgudF%G_jMzw>6VG0y5%iMHgEYCj_B?qu@J>&eOFZr8ON;_$9|^HINL zOiuPjxB3=Gh;c~*E18^JoeR^-@F=m$W%Oz;^TM=FO?CE>!g&5Dw^fc278oDSQi)z2 z-j3I$KK;kq2+oCnT#o-c-{W5cB((_5zt(}jUtqQT<3LCvN+Y5|=|JJ7&;J9PjrKqL z%YVKAi%~YwQ;?H^-lO$)nAD+w&_BOBCRGyblSjK<|K(0yrfP>>Bg3DiSxDsef)thA z85Ep!qB`f3YT&I6?w}e|u}FG4sLYm!pqCH5gnLI6fba21kh*jM*Dvd=Ie!aub`jt@ z>6mK#qzC2Ea<&!M5UNJdk4S|xf=@5>-3Ao1W#i9?!AY-^z_Nm*{fMnZE|dc_fI)6rCJhv@t8^l8sLSMuAfe}Y^yA8HdeM#$DvLECV-Pr| z!mbkt^+yZe3c&@Az9%JME>*NgBg?Uej0cP0sA`*)>LVzg@->j^5)OwUjuLWK!7_VL$l)P#xnFV0E2$hR5M_tc5PFdwgTKAdyzRR&fmqxLWIHQnOK90z|s4(@v7z zpPBx87ndx#jKGzBn2~7f?T4---+}_}C@|;^NK%Pe4TAi1-(<-OLro)bj`W-)-&Gm& z6*YwkH5FWl#ad05p2rcJVhv$uXx;8Rii;x|h|H7&-yeK7{;cnQDFOjQfnuCMieJeN z+>{b1vCYb72?`2m_|eZ7lnmweOTWN+b)Di2s+_vEHIP#wkEHI0v8C|B2MCt6bkXvJ-*xikP$>}W9B$9#SfGvSyp9YH7n9s_x{ebm8KrtDCX zixlJrRAOPzcEq*B;TZ+n9LDkpw_MR^dgwIFRrP3$?!rfey(7%lex&m_rS& zkPA_-M0mnX@3-*STY-!mv&I95uzvvr5CYJPEF`eOURX+q2&8*Nj&m8^-+=7s%Y~bv zXV78I!F9VCVEBgOQ#mZo;`3g9yeFFha~z3B%dtX&c|hgH*slF#JD^bgzNwPxY%KJn ziN0`bib3R+MzX4dgTv}q5iyIkrRxKGpoQIZJb1GHp{u()3=)MdZsR3+V7(9ShYkPI zHtpmKVsRfh_9Rpp^X-GHSJAD4Jf*!Y>Ed($Wy{L@($Sn2$tv$0Pmapi$f#~!fSs`w zpDsUMdbHAlBBJYtp(TMM@KkzWS8KO*V+VaISOxB;?%wYwt9eWh8x%c!$~In^a3NkA zQ+#XPwE^a*P-xCDR|FI_k*+-6MSyb*=OLT$K5lEPQ2^YbPcshSiW9s>)UR8|3|N ztP!W<_ChW2;lMqZk_QkC~9F+1TVmrQ-HF={sbKDbFQ1C!d zy5-uBY2qWvKbXrdtzSlAR?MukLo|q?e>HE}`%HevH_eu=1i&Ax=l4E9NpgSIa+~dh z#LmBpT8Ae1Ivr2Z*K<2wi$UqYPWzQBvJ%dx+JmkgSH#0O;;+gXWMnT!tU#Of)$WlC@#WBr-K zL^?lu6_bki=-t$Km!!JL(a=xE#pU9f$4Ub!r^H1W9FR;B(toOp$McS9Wiy%nY1J+K z&)N5K@Qvf2DFy>D=fMu!GfCVcn}lEa+54)?4xeqIM=dUeT>WTGtaSHJ&cNBLJ?-wa ztUmtjnzgj4)U2UG-6C3Asf<^Y6gx%~m8IK_3ZsT72Ta__Ln1{c^hDGJSxcfG`iBLv z_M9!b&`H{kS0Tuxo+5rtwmjPBTHqeG$)B~}-{xQVy^)GYGtwNy>ncM{A7?g1Ln`Ky z_BbiZRXfcq41C|H*ZsZ@6%74=z15NqmDzCi>N-qT-!fPD)X)5YQ25^rU;l}AInR9f z&jZf2H~*`$243yoJ7FTstjo%xSz2FzFE;k!qy_t2oYVIq8GRd?dP&0%1@)XT&cTT1 zfY923y|Fw$KcCkV<*aB2NgyQ`ml8~P-3aK&qvPYl0|IdE54Y07A|u5?dIndsJPbwg z_cMlE%*{9JzMmZ&C@wEAr!OE1bYVL zk5Ek3yA03O``etx|Mw>?^ZFYN4g7!?&1+ix_RY=R!z0=hN=F2^2z>$q!hvfsH6HLP zTipX*S|m9+S=Y{Pgcj1vP*e}^hrRC1{QMv027A~zILt#MgM+Vq{QbjVNmNc4=;&TT zs10}{iJ{|RUV%wR!iIr~sc&bvuPO#dPS&bYv(z`=93ja`;W8@YBqM7)W-5YY6jO;gBs4ea;KPgN5*88?1%xl()^uT4 zL-#zxXHbg>6IChn8`MTv1o)1?d5A(J2)rT=u{dKFE?mehx5Z6?V6(8^ zUTFY;%Zx_`cJGkq*&M}XD_pT59rm66`7_4d-8~9{L?R(ug92?VT%e9HH-pC(#PW=Q-^8x;?w8t&dlwgB{2A_Ewk6SK>*(zJ={k%A~C|CWkt8f|ox1M|(zPM~s$xNT&-~akQ*N zSDEiQK9xwM(VcZ>sT*H=uXkdQp1+T*Q-4x5YSKx(sB@x@CO{~@~g++rRNlkomAZ%`t0)j z{B3y>^;qW#qzBPEoL!GYEJ)Cu{n)TFe2C&)<^AV-?NqdPaJhb;xGL;FCAntf{e8g- zXg}>i{Q;zj!(UDur4|3bGVMU({!5?#4-fr6%g^CAoM)GA`i*l_LJ>zp+d3C4fmj-(V~dn z|24oBMUP+I`+kwr_c40Yr!NntWPEYl$fsQGq;Y6vDBKz@+(1{mMko+0FA%At#M&oJ z&qYN!EuwHunDLo634T7_y9+WQ&#n>RYe)T}bk((FeED#D<5-QY;AhOmbZ*0bJ@q$E zL*pB}Yy~wME*p#Y0lNqmr3|SL@&`#R5inyRL<9+m4laG-l=!nKJ_+XBANo<3I3zMO zTuum4+DL;>OOKpd(Grrp{Cx@DKuKnLC@Tth-?T6*BO~7F>FMr`)AwYl9QZPRE#!Tk za-wO7#RX!UM=87?f%*2an10p1{d$Ac0pF+DJX5&z>wKRPSsr^lwXBDS$L^^^7Ph^; zy~K+pmP?yg$8}3{b0xGTqFi4Rhl^5rhRbvkZ9mQ#Qf8=f*nK?ktaGs^SmykZPjv^^ zB;0l9!>6qUxu#j0D7odNr61_MCJ!c37b#Gy@dWYuUY1>8rqXJvec(@GxlRnR&zL*1vm#2iOhnNqF z+HyoUmR$!qJjv~U8>HH9H*5qJ{vOpxd9WJ-zc8fF$gKR>O;%!5vx)!KXwjT5Rd>~U zRnZFaMw6D7TpSXA`X=*99LLh1p0zouFJ!wmdH-3E$i9#ed;x9AP48TAvrz$wTGeDC^I&8{q}br zwTMJ^(>oK6+pi>7S^;!qwA<9&Ss%Y!R8&M>8#6nA5mBAyFGh*q)MX$e6Z~cD=$)PB z9L5Mijn}rk<T|4I$NRY+W@AW7O^rB_31RJ81O;9p5U9|S$v@G8manrM03mNso>H%%@T~~$cN<{h z2l>lQAz@)3Wo5ceuJE9sFT9VS?M1L^aSp_4`4&PJ+{%NL^+SneK@D9yT)}A{Icl5s z`W|fo3*FQ^H`ISuD)fs4ihRrE;?<8y97phOUmfHwO%=UO^=tunqGO`%xCZJ7zHbRn3mh`ZruZ~!<1RiK!baucTBIB3D=Vzkuk9Z z|6$Vxb#9n+X9iYET=~24n0{d&m8qbkjX;D8=AP~Ju4pt+vhEDC^5s> z%p@MIhnm$GPrL^UiMhT~s2l-Evk& zFL;(OUcBf%7sYk;F8fs}zC%iJTv{2%K;i(|n!{!SDQZ--T2-OfwR^q*2l$z~{Asy; zurnaVmG?^s&Mn>6R-33%#yIH+VMDJpLXJSGC$zX?sER8RDf9IU1(we>f$j00KFWIR zpZNxUI)B=NLL)KGPEHrA%b(mKG5nZL^{S6Hm)JA+-UX|`=#`-;0JG#qRKJaOvgx+t zH8(di)+>DDL$0#$p6m>mJS^zoqp@9YHwaH|b1LbGCnbTr$rp8JxL$7FKg-}LrDP@D7?>AYYMHCGQF2e6Z700=#cg@e*>ccnWsg~*vo z{fqbf>=)H+$J6{n`$K!}ZS!>jv^DQI=izW?oB>kJh^t9(s6(jPVEd?cgT*$fRKwg0q z_g2}Zt4Jce&+(*ek@zNGS+OBAW%~p#SgJk&&H~i}XJ_YSz2?%d2}$+-#X>8V zq4%C@_@8Qw{V6E>7=wLHvQ@cZdcRbxwxSll>G;9oyiQwVNsID3li-);KTX)5P^prV zlG<>}&@Tft$`nX-)B(_5ihY)(Y%7x^3olg``I%l&f_d6N!yZ@}yT4htGh3N$&3%**&3^J7em!cm%!t?_0bd~YNa z7U?q(rjStNN3XK4Dmxrb?T*dyC1CEn#o&vE3@(0|c*wGSc4sxRXMVkt+L%a9GcQw4 zbW~Rg%v!1KpvuG(4kK^UGsfUciMpSA@|%f(kN>cC+Wt370Qs^bmtXy7vkf`rI7^!H zl!OH)W+(gmChT{GyNNf7b1xmxzV66G^68w?;1N3=QGA%W`CDSQagHIQX{*mp@r>u5 zwzvNUb!Yi!WIb!^K2hO6uRP(Mq!96+vUxH3rsi6`+{z4}e9yM6Jw&)BOBnW{B8mnC z>-?kglk|z6i$oh3$@X9Qvt_Nh!+g1GtHxXuB{w3;R7E0^yCg^h{g9^VUcG032Bpu3jqSebJfeH zEP(@It-vg3Lw-cJG*Rmnuah_SZk!C?IHic?*SucguahJy*b#`IcZ(4+zE`ds@Bgy8 z-i9M?ODEh^hN~sU+-Th>ko}4JvPLYU@ir~J+zRi}VhT!$C4K;^qQeAqq~=!Dx0nZ1 zj*#+Xayqyv7<7<#JSh80H*AF|0my*&frqP8EbbTD^o&BYkNjotj}C_lcIamWiIn;G z6AlV?D68#4GAnOVdod~beo6|e--><_NS-%#C3BHOS~GSz?-qoO8GfF4hWOf9@nW{z zWaxM`fzyIq&DFzqrRthqh}zW_-T`GohErP?AS}dijRBq+9Gfb=mLS8ytgQEoQRD7} znsytq3!RNj-xLeSOZ!Cge4R>^oFPslPT^f4 za=qqrn*8@CuMYT+H!(6s5rgq?a+}%xJ-PdH@7yN{yfr}=_ESb!ut~yzH;w7|(=l(Bu?exp*e}tm(ITp?N@E?TK8}})?c)6H9pF#D?RvCnNQb#iihbUC|ME;FRi zPunXgbzYGuKP_mQXTxIOU?B6vK1=_ILss@8(TbKsT8VwH<-Vx5|DdJDrZCkJ*1dVp z{HAS0CxaN(0$A;7W|Zt^x@@hld@n&>(x{X({j~J`Ld17e9pSELn){aC)I!AA=IOKY zAZjxn*DJ*@ydERI_P%u6Zj?fx&1G6;@lpxvhxy{1$oJVz{HF&xX@)0<3yE#OX!h3H zTTM`_CeE};F%`WJagwzE#97hP?{4SnGp2j#8|OC!IU|egMkL2~KZdXEflZwq8l?uo z-a0)-3*Y0FlHb<9whfdrt}cB2_NmvtHWwQk#kITse{Y zZRSq9ucgg8=3g6xq`nx)`VzIW>KG@DT%!u_k_+K{n0+E`RCOQ8@#A-8bYP6*LyL9C zR34$7&KHSac*$;%(0)CQdqh92%D!bqnwp+&WdCm4gS@=G*e~&leATr{3oTb4HO#}q zhc?HMMmr*bFpl1+-@GGZ_WVXi+x-vz!?owDtN^n}P4d+Z%rI@`2RFZtD0+(VglRQi z^WLm*^7|7}Fe0h;h5pZJxF$i+`FvqboMv7*warf&b{95HnTgUM9?|^VJ3G?mn7bmfxCz+VL+P)t&%qO1T*`@+^N;- zDP0?_?rT4UZbmx!(Qc#Y$uOnv_qc%C-ASv}3r$rLug`|@?mAajN4BQwFFr^~4z-kz zV%gd}EoKIb=bd>o2Cofz&25XqX!Ym>Qr(s>RaCy->YeSg+{#+vdjXXbN6Yvd8rVOk z&U-4)2pQ-5o+peO^=Hn3n8^gh7~UO$=WkvU26t;-L_HV};d7BU!@$d9CnFkf9yWXjej z5)?7ByOGPU+1S9PP|IF})#PM)?QyTmTh~wcjuizTyF_kY_M=(7cG{fT2>M+11%G|e3F0-xkx5TMUTYXd)ZVaq9B29PY05Pi zxFx1-B$P&*5`1>n}fdI znW-}N(#P-larqi&g$ZVI1by3K4?h_@xtqqMRxQlKK{9*0T1%4J5+kH9&s&;m|1C1f z1Kfop#`l7*!OYqGjvby$)J`I#2u64RV(Ujt4_7}^o?jwrA~aWaZ#b6;12z!acUED0 znda&@>6^lDqEF0(CxqfsU7u~qS-NA$a~IxN^>EHjP#PeHTp{Mqlp?NjI;@EIlKxbk z@4^rXYyg4nxP4b7NU_g$k$mvzTePK@laU} zVIBsM>4}C$MHZt5$Wg-&JT?{_v}Z59V~8=)zEBGF0HiC8pZpepRBCJ)7SuD`GowL| zFD5wH4bK}QG`mK!v&+6wpN4hHm*fEJE!f~Y3~{+v*u9QO`7vXi~2=&6Sh Q3VVAgEGd*PsOk3K01o6rtpET3 literal 0 HcmV?d00001 diff --git a/doc/cs/cs_configdialog_schemes.png b/doc/cs/cs_configdialog_schemes.png new file mode 100644 index 0000000000000000000000000000000000000000..3dc8d483fe6e90387b6955c0f3618eb98b12f8a9 GIT binary patch literal 37544 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

  • B;x9lBdUV5CoG3P)c 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 literal 0 HcmV?d00001 diff --git a/doc/cs/cs_configdialog_schemes_autosuspend.png b/doc/cs/cs_configdialog_schemes_autosuspend.png new file mode 100644 index 0000000000000000000000000000000000000000..76fa9a9c61bc2cf31d55e1a16e5d82d5b5725a95 GIT binary patch literal 34628 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

    vA*5p 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 literal 0 HcmV?d00001 diff --git a/doc/cs/cs_notification_settings.png b/doc/cs/cs_notification_settings.png new file mode 100644 index 0000000000000000000000000000000000000000..143485b0b50b1ff5a93acc6552a890cbd511b391 GIT binary patch literal 55640 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�n#S(4Mav%oQ~&CFKNL5 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 literal 0 HcmV?d00001 diff --git a/doc/cs/hi48-app-kpowersave.png b/doc/cs/hi48-app-kpowersave.png new file mode 100644 index 0000000000000000000000000000000000000000..9cc30066b1fe0b2e94617859228a62e8e2b7b53a GIT binary patch literal 3974 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 +KPowersave"> + + + + + + + +]> + + + + + + + Nápověda &app; + + 2006-03-06 + &apprelease; + + + + Danny + Kukawka + +
    Danny.Kukawka@web.de
    +
    +
    + + Thomas + Renninger + +
    trenn@suse.de
    +
    +
    +
    + + + 2005 + Scott Rhoades + + + + + + + + + &app; je nástroj pro nastavení správy napájení a šetření energií. + + + + KDE + KPowersave + energie + baterie + šetření + + +
    + + + + + + + KPowersave + + +Úvod + + + + + + KPowersave, KDE uživatelské rozhraní pro powersave, používejte k + řízení správy napájení a sledování stavu baterie vaÅ¡eho notebooku. Například + můžete nastavit, aby se obrazovka vaÅ¡eho poÄítaÄe po urÄité dobÄ› neÄinnosti + vypnula, Äímž prodloužíte bÄ›h na baterie. + + + + SpouÅ¡tÄ›ní KPowersave + Chcete-li spustit KPowersave, zadejte na příkazové řádce příkaz + kpowersave & nebo zvolte + Systém + Applety + KPowersave + z hlavní nabídky GNOME nebo KDE. + KPowersave se otevÅ™e v systémové Äásti panelu. + Chcete-li nastavit, zda se má KPowersave spouÅ¡tÄ›t pÅ™i vaÅ¡em + pÅ™ihlášení automaticky, kliknÄ›te na Obecná nastavení + a aktivujte Äi deaktivujte volbu KPowersave se po pÅ™ihlášení + automaticky spouÅ¡tí. Také nastavte, zda chcete aby se vás + KPowersave ptal na automatické spouÅ¡tÄ›ní, pokud ho ruÄnÄ› ukonÄíte. + + + + + Význam ikony KPowersave + + Ikona KPowersave vypadá jako elektrická zástrÄka vedle indikátoru stavu + baterie. Ikona informuje o aktuálním stavu baterie a o tom, zda je poÄítaÄ + právÄ› napájen z baterie nebo ze sítÄ›. Je-li baterie téměř vybitá, pozadí + ikony bliká - oranžovÄ› jako upozornÄ›ní a ÄervenÄ› pÅ™i nízkém Äi kritickém + stavu. Pokud nad ikonou chvíli zastavíte ukazatel myÅ¡i, objeví se + informace o aktuálním typu napájení, stavu nabití baterie a, pokud poÄítaÄ + běží na baterie, doby do vybití baterií. + + + + + + Nabídka apletu + + + PÅ™epnutí aktivního schématu + + Chcete-li pÅ™epnout aktivní schéma, kliknÄ›te pravým tlaÄítkem myÅ¡i na ikonu + apletu a zvolte Nastavit aktivní schéma a jméno + požadovaného schématu. Pokud schéma takto zmÄ›níte, týká se zmÄ›na vÅ¡ech + komponent vaÅ¡eho poÄítaÄe. Správa napájení ovlivňuje zmÄ›ny frekvence + procesoru (pokud to váš hardware podporuje), pevný disk, chlazení atd. + + + + + + + + Nabídka KPowersave s položkami pro pÅ™epínání schémat + + + + + + SpouÅ¡tÄ›ní YaST modulu pro správu napájeni + + Modul správy napájení programu YaST2 poskytuje Å™adu možností nastavení pro + Å¡etÅ™ení energií. Chcete-li modul spustit, kliknÄ›te pravým tlaÄítkem myÅ¡i + na ikonu KPowersave a zvolte Spustit modul správy napájení programu + YaST2. Podrobné instrukce pro každé nastavení jsou dostupné + přímo v YaSTu. + + + + + + Nabídka KPowersave s položkou pro spuÅ¡tÄ›ní YaSTu + + + + + + + SpuÅ¡tÄ›ní YaST modulu pro správu napájeni vyžaduje heslo uživatele root. + + + + + + + Uspání systému + + Systém můžete kdykoliv uspat kliknutím pravým tlaÄítkem myÅ¡i na ikonu + KPowersave a volbou Uspání na disk, + Uspání do RAM nebo Pohotovostní + režim (pokud je pohotovostní režim poÄítaÄem podporován). + + + + + + Uspání na disk uloží pÅ™ed uspáním vÅ¡echna otevÅ™ená data na disk. Jsou + tak ochránÄ›na pro případ odpojení napájení nebo vybití baterie. + + + + + Uspání do RAM uloží data do pamÄ›ti RAM, což urychluje pozdÄ›jší + probuzení poÄítaÄe. + + + + + Pohotovostní režim vypne monitor, ale systém jinak ponechá napájený + a data zůstanou v RAM. + + + + + Dostupné volby závisí na metodách aktivovaných administrátorem v YaSTu + a podporovaných vaším hardware. Vhodnou volbu byste mÄ›li volit podle + pravdÄ›podobnosti úplné ztráty napájení poÄítaÄe. + + + + + + + + Nabídka KPowersave s položkami pro uspání a pohotovostní režim + + + + + + Vypnutí automatického uspání + + Pokud je pro právÄ› používané schéma zapnuto automatické uspávání, objeví + se v nabídce KPowersave položka Zakázat akce pÅ™i + neaktivitÄ›. Její volbou zakážete jakékoliv akce, které se mají + pÅ™i neaktivitÄ› vykonat, Äímž se vypne automatické uspání. + + + + + + + Nabídka KPowersave s volbou "Zakázat akce pÅ™i neaktivitÄ›" + + + + + Nastavení politiky frekvence procesoru + + Množství energie spotÅ™ebovávané procesorem lze ovládat zmÄ›nou politiky + frekvence procesoru. UÄiníte tak kliknutím pravým tlaÄítkem myÅ¡i na ikonu + KPowersave, volbou Nastavit politiku frekvence CPU a + výbÄ›rem jedné z dostupných možností: + + + + + Výkon: stále udržuje vysokou frekvenci procesoru pro maximální výkon. + + + + + Dynamické: snižuje frekvenci procesoru, pokud není poÄítaÄ zatížen, + a zvyÅ¡uje ji, pokud je potÅ™eba více výkonu. + + + + + Powersave: udržuje sníženou frekvenci procesoru kvůli + Å¡etÅ™ení energií. + + + + + + Nastavení politiky frekvence procesoru je v nabídce dostupné, pouze pokud + ho poÄítaÄ podporuje. Pokud položka v nabídce není, váš poÄítaÄ nastavení + politiky neumožňuje. + + + + + + + + Nabídka KPowersave s podnabídkou nastavení politiky + frekvence procesoru + + + + + + + Nastavení schémat správy napájení + + Schémata správy napájení + + Schéma obsahuje základní konfiguraci správy napájení používanou pÅ™i bÄ›hu + KPowersave. Množství dostupných schémat závisí na konfiguraci powersave. + Schémata můžete pÅ™idávat nebo mazat pomocí modulu správy napájení nástroje + YaST. Mezi běžnÄ› používaná schémata patří: + + + + + Výkon: optimalizováno pro maximální výkon bÄ›hem delší práce + + + Tichý: optimalizováno pro tichý bÄ›h poÄítaÄe + + + Prezentace: optimalizováno pro hladký průbÄ›h prezentací + + + Powersave: optimalizováno pro Å¡etÅ™ení energií baterie + + + + Schémata můžete mÄ›nit na kartÄ› Nastavení schémat. + Po provedení patÅ™iÄných úprav kliknÄ›te na OK. + + + + + + + Dialog KPowersave pro nastavení schémat + + + + + Schéma urÄuje: + + + + + Zda je povolen bÄ›h Å¡etÅ™iÄe obrazovky, není-li poÄítaÄ používán + + + + + Kolik Äasu uplyne pÅ™ed uspáním obrazovky, jejím vypnutím + nebo pÅ™echodem do pohotovostního režimu + + + + + Zda je poÄítaÄ po urÄité dobÄ› neÄinnosti automaticky uspán + + + + + Zda poÄítaÄ pÅ™i událostech spojených s napájením pÅ™ehrává zvuky + + + + + + + Postup nastavení schématu + + + VÅ¡echny tyto volby Å¡etří energií zákazem bÄ›hu energeticky nároÄných + procesů. Schéma nastavíte následujícím způsobem: + + + Å etÅ™iÄ obrazovky + + + + KliknÄ›te pravým tlaÄítkem myÅ¡i na ikonu KPowersave + v systémové Äásti panelu. + + + + + Zvolte Nastavit KPowersave. + + + + + Pokud není aktivní karta Nastavení schémat, + kliknÄ›te na ni. + + + + + Můžete zapnout volbu Povolit zvláštní nastavení Å¡etÅ™iÄe + obrazovky. + + + + + Pokud nechcete, aby Å¡etÅ™iÄ obrazovky spotÅ™ebovával energii bÄ›hem doby, + kdy poÄítaÄ není používán, aktivujte Zakázat Å¡etÅ™iÄ + obrazovky. + + + + + Pokud chcete místo grafického Å¡etÅ™iÄe pouze smazat obrazovku, aktivujte + Pouze smazat obrazovku. Tato volba není dostupná, + je-li Å¡etÅ™iÄ zakázán. + + + + + + + + + + + Dialog KPowersave pro nastavení Å¡etÅ™iÄe obrazovky + + + + + Správa napájení obrazovky + + + Chcete-li spravovat spotÅ™ebu energie obrazovkou, zaÅ¡krtnÄ›te + Povolit zvláštní správu napájení obrazovky. + Zvláštní správu napájení obrazovky (DPMS) lze rovněž zakázat + zaÅ¡krtnutím Zakázat správu napájení obrazovky. + Tato volba pÅ™episuje nastavení grafického prostÅ™edí. + + Zvolte dobu, která musí uplynout pÅ™ed pÅ™echodem obrazovky do + pohotovostního režimu. V pohotovostním režimu je obrazovka prázdná, ale + stále je elektricky napájena. Dosáhne se tak mírné úspory elektrické + energie. + Zvolte dobu, která musí uplynout pÅ™ed uspáním obrazovky. + Uspaná obrazovka je vypnuta, ale je stále napájena urÄitým množstvím + energie pro udržení aktuálních informací a nastavení. + Zvolte dobu, která musí uplynout pÅ™ed úplným pÅ™eruÅ¡ením + napájení obrazovky. + + + + + + + + Dialog KPowersave pro nastavení Å¡etÅ™iÄe/DPMS obrazovky + + + + + + Nastavení automatického uspání + + Pokud chcete, aby KPowersave automaticky uspal poÄítaÄ, + není-li aktuální uživatel grafického prostÅ™edí po urÄitou dobu aktivní, + kliknÄ›te na Automatické uspání a proveÄte potÅ™ebná + nastavení. + Pokud například chcete, aby se po 30 minutách neÄinnosti poÄítaÄ + uspal na disk, proveÄte přísluÅ¡ná nastavení. Po půlhodinÄ› neÄinnosti se + vÅ¡echny soubory a data uloží na disk a poÄítaÄ se uspí. + + + + + + + + Dialog KPowersave pro nastavení automatického uspání + + + + + + + + Obecná nastavení + + UzamÄení obrazovky + + Kvůli zvýšení bezpeÄnosti můžete nastavit uzamykání obrazovky pÅ™ed + pÅ™echodem do spánku, pohotovostního režimu nebo pÅ™ed uzavÅ™ením víka + notebooku. Obrazovku lze uzamknout pomocí Å¡etÅ™iÄe obrazovky nebo pomocí + xlock. + + + Pro nastavení uzamykání obrazovky kliknÄ›te na kartu + Obecná nastavení. + + + + + + + + Dialog KPowersave pro obecná nastavení. + + + + + + + VytvoÅ™ení Äerné listiny automatického uspání + + KPowersave obsahuje Äernou listinu automatického uspání. Pokud běží + nÄ›která z aplikací na tomto seznamu, je automatické uspání zakázáno. + Například byste si asi nepřáli, aby váš notebook usnul bÄ›hem pÅ™ehrávání + DVD, jen proto, že jste dlouho nestiskli žádnou klávesu. Listinu můžete + upravit na kartÄ› Obecná nastavení kliknutím na + Upravit obecnou Äernou listinu. V otevÅ™eném dialogu + pÅ™idejte nebo odeberte požadované aplikace. + + + + + + + + Dialog KPowersave pro nastavení + Äerné listiny automatického uspání + + + + + Můžete také vytvoÅ™it Äernou listinu specifickou pro urÄité schéma. + PÅ™i vytváření takové listiny můžete importovat obecnou Äernou listinu + nebo vytvoÅ™it listinu zcela novou. ÄŒerná listina schématu má pÅ™ednost pÅ™ed + obecnou Äernou listinou, pokud je dané téma aktivní. + + + + + + + + Dialog KPowersave pro úpravy + Äerné listiny automatického uspání + + + + + +
    + + diff --git a/doc/de/Makefile.am b/doc/de/Makefile.am new file mode 100644 index 0000000..1ec2ef9 --- /dev/null +++ b/doc/de/Makefile.am @@ -0,0 +1,2 @@ +KDE_DOCS = kpowersave +KDE_LANG = de diff --git a/doc/de/de_applet_autosuspend.png b/doc/de/de_applet_autosuspend.png new file mode 100644 index 0000000000000000000000000000000000000000..b8f85353d54f4f89eb70db35494cd5dacd02f418 GIT binary patch literal 22115 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 dqrYw({vUgOOB{L+@KTbZia4>eQ1O->!E(m!E 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 literal 0 HcmV?d00001 diff --git a/doc/de/de_applet_schemes.png b/doc/de/de_applet_schemes.png new file mode 100644 index 0000000000000000000000000000000000000000..2874ba5737adb4794868ee3f0a7a30c3499e70d6 GIT binary patch literal 50131 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ⅆOJ}(!2+lZ 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�W3K8rwLVa9k5~44_3lTt5S2A)7a- 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 literal 0 HcmV?d00001 diff --git a/doc/de/de_applet_suspend.png b/doc/de/de_applet_suspend.png new file mode 100644 index 0000000000000000000000000000000000000000..eb110a983d93354efd9ad9223fef6120b42531b5 GIT binary patch literal 20284 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 literal 0 HcmV?d00001 diff --git a/doc/de/de_applet_yast.png b/doc/de/de_applet_yast.png new file mode 100644 index 0000000000000000000000000000000000000000..37720a0380de53442213f6270cc26d52c2da0d52 GIT binary patch literal 20350 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
    k}|2RdEPY&wC5HP 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 P18zci;aX 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%0AjCDnZ^y=yk_8-hja(wly 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 literal 0 HcmV?d00001 diff --git a/doc/de/de_configdialog_schemes_autosuspend.png b/doc/de/de_configdialog_schemes_autosuspend.png new file mode 100644 index 0000000000000000000000000000000000000000..7596e5e86801fbd44cfe26f246e846e8f893227a GIT binary patch literal 35082 zcmZ^~1z20r7BvW^I23n>;4Z~ogBN!w4#nNA(Bcx@T}siSEnbRygS)%C!`#02=AZe# z`6db6B=;ugo_+S+d+oJ$B0s3ep%A0Mz`&r(gQeABVBRFcz`)KSApq~Z6d|1h8)Rp& zo*S?Q|L0G3&`uP1f?%d7Ck^xZ@1EaYmIMP6Q6Voaq3OMFl;iV3Q!lk|KWZ-`GjcC? zkG!nVs*q+UzC0r`Ga@b{>Og*&zi%Wk38Z;ldhuM~ zEmXxpDatomhM3X}@G|1!oxgTvEw!zdMtE>am~6%(@8D0{{Z_pkbLGPFcH7hD_BWpY zR(~Y?Y6?8kbxf@Z-9IYZ5dGmm`}b(WzKD~hgWf;-|7SnpS07q)e2Nq+bth1n)32fb z9>h^2`94v_gr569A3^+6#Ta!HJnY>TL(J|qQ96x<|_gE≦&I? zdc7K3GHJaY>h%KY`|sd^j8}BFk$I&xdm~WsiTW=uV@^Y0W9|WB0BkIl#nG zpL2kT$Jx~|Xd-kVt~oTwEEe1a9VJ}N81M^h8A(6cGQ1JXgRRlZ!o>F_*C=HvxDWU& zsWJC$bv2*`m)+!z*6qSs+GzPjx@jA3sA{gqrvDBZzYiVsZk1)n%&1no+{k1usG5|Z z?nKusAf}lJSfU*Q>n$BDUHpWqk4#saOvOb9dZpvO+F^|Cd|DKW*R_m*O=fACG*1ID zMlk|oqu1+QsD!cQ3e8-OF3`hhXS#QxQr8h?>->as z4l@;Xce+5cRrIiILzC%($TaY&{(* z{vDI=^9PFUpXm2mGy;R%dg}{pUKX}SE)0SQwjSdCql%5xGfIZcJ`uYj z>}PlTZlp0aoccQ3%e*{dC(>?q1W$$0e>uwk)jOfe3qQJdM;m!Q#5dWn}6?i#P$-u)^g2WQx1wxkG4X^VOY@yhs40xM)u= zyvn!FPUCNEg>OJj{AUS<$K=J#r|%HMyuySAbBv22CmIGDKDHgcO)HuN-FMz5uq&$w zZS7}7E4j-^s(I3FuTHNryK`tVQX0&@UyzIDyjakstWPjy_djz$Tpk1l=Pd~ju|MyV z;QSD4!o@YE=XU07k8$)GKCxK)ZPA9gNbr6;BB~;F$97}mL(le9Xkq>nn=HFvL~0Wo zXm^T|v6WQ0n<0=OG3+BG&CJ|6Q*`(8#Mt{(v5P5h(tGBd)Qfnr*6L9&EN@8M$AJdl zC$B#;S#WBm*;HzR_Aab1gqpVm>6IV_6-D*6UXq>2D|5lJ?7C>*pn&mbe0b?4u_@C+ zm_SbLL!C>rvm*yXOYZH*#}Li1yuY6}Mp7hA)BTjH{iM7@IwrH+8_|^G1(mA$3n9hF zSeH^Zx$7PCja$jQ1v-XF!BYE3{0R&-81U1eO{=6|ndy^7&3!i6KvX3vp6J|nl$gbH zw~A;&m-JE!amN)otkqK03&-0mzLY(bN=N$B(#`~2n)E?Ar3rhx;R}6;NGM2M=gBC= z+Hk-1x;h_WJfrMJHE83_jJK#c3@!-{lTS-;fkr!+9z^+Z<+m!dN%C5r{1(a zJoB^+1KL?3$8)M@!G_*jrRv4NUcKe})PwvjjvvYx%leI}W4j_|B3|bZe$gS?#OjnW zu>SW*JrUn%`wQQDp>7~&ktwmkA!ThHFh-%P6Hk}dVmeSI9@z6w2d zSzfx#t5sI|!N|p<%DOf1Imy$!4|;}GGU!lEkE*(x@YVFk}6H#UCq^!^XPNbUW z5$QrP^}d0s^XeUgwxbZO&_{SnFBz{20vaoaG^6T`A>Z;==S_+Gr*)p@j}I5h0R--I zCSLN(@^(1Vv**-tx#JQpT5t^1W|t71zcHyZDtEG$>lIFBfn1tyHyd*)Ot!{2bxdas zMOm&28Vl3QcDyx3)=__V$A+r|Nz=YnQ9)Cz`R?V=2a=8&oB;P`pI-7r>7Q0WR_Z<(&gWO0& zo4#*{y|y!@IOVN&AaRA(WKD-^40dY$c

    f6gUMVKax$JaUzY0zj#wn@H912Tg<*Y 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 BZgv0w literal 0 HcmV?d00001 diff --git a/doc/de/de_configdialog_schemes_bright.png b/doc/de/de_configdialog_schemes_bright.png new file mode 100644 index 0000000000000000000000000000000000000000..473f5dca0222d71b2123ff83a2fa839a44e7bfc6 GIT binary patch literal 31694 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 bgB_(@T3GgnpvT;V#j3W3u6l{;v(WzqtrWOT literal 0 HcmV?d00001 diff --git a/doc/de/de_configdialog_schemes_screen.png b/doc/de/de_configdialog_schemes_screen.png new file mode 100644 index 0000000000000000000000000000000000000000..c4f2e9d3f03816b03213b66b7d58460a6d9d55a6 GIT binary patch literal 39036 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 bwZ=F(Em(7UDu)zq4h{C5;95w?A2QkB%knJh zYy|W>hujXspM%yj(#h{KCoHqM++oQ|4l=OL2;+Z#M+p}ue(_5GP3zQuAeAgk{10iL zImCc1YkTtaXZ(LDCWo)%JYn--c9Fbwq<=>Ndgjm@0GYNji~MVpkycvc4R+CTHa7Lb z=Kbr?7CtbMUq<^ywt&iK1N@?-mi}iszqaH*uZ&Lvk*=xlRb^FK5Qsf_i0o4$qZ)_%S!uPg(ljM$6Ibo9Ldwv(lCWcOVl*pF)p+KfuuBw2XQAIQ6A84uAd( z$Jf&d36vuh%wHqtt2gqtu_W?F&}CV?0OEyca2_1|%y+2s>lyQXsQ_I`_TNjLkZOb- z9LiVEfjMF9?7C?d!(sHRU(TkGJNkg4TBW_t&QBUfUuF3H8kliQLj^sO}>l()&j|dY2b-*zyE8?2r> zF7M}%{1!XzLMafF-=Yu}$PqthWbw&=#RP4^69;kL{F(x3@eQEb-a=}0E1xJ9aBED9j`e{R!Vo>GC^XEmIP<*Tm zAc{EoKd$_mK;_n^C7)?d2|RB1Y0@$!zt0?l3OcHy55+^%*?iLW+$_)8!al!6^Mh~s zY*MW4_;zMO+A2$Hucs!a5DfFAzHv)OxqcDL+AqY5e1 zcNP|hPjVm5G(DxcVCvx+^d@>w4`Fwwtq4|!Kr1A2ql@HBjSnq?*OIvr{dH7^{g~zxIGkE2cPLf1%OI<o3uz{yLNWRNh=R9-O*gC-SL(n(lMUk7(OGAoW@u-J(igqSek_ zAhAegqvuL#x7NVSoz$_{asXumpn=+cRa zx$^UQ$(g!o)b!9Q+h^BBVlx;Xh))>a2~Rk8_!F?{^vBB7V&fcg2vbIj)bd-`F1sOc z9%Mz_O@ihm3-nDF-A5)D&st6$v&tGiLCNfQm6)CP-J^G<868Y}b1repD4O2h0$m!y z7H1HKOVamuOsdAkZG|k^ZtcO75OrrQ;_B)u$9lRGgp!Q?aA0i>uX6wR^e0-z9aE~2 z);j7^eV9t!y;D~B!tv1U?w@WCS(Mk!<9T9 z@LYaHY_p>9!uUh_1iqkTkmac-%SR+|re;~s256|9qGDu^ACNHSL*5}4k|G4IBxq6A za~MDO!(J@)sy)XxUsqOl|#GS1Ww#LgvwbCtQkA>I~eh1d#|Rf!>d!(wmmIV>}yP*zop_vcb*IR+&3rC^0FbhH-RX_$uYR_ zS5sryhW?E@_2JZq+NU_;cSP=qJKp{)Fkp_uGM9d z;EvXDyq_ebItu%o_bd=2_4V`$FkYd zEjInE?i1f)*RHB!wlnW8gb;MUfj?Jl^Qi&kS=E&FBi?0HHvbas^;a<)BoCS#B

    B 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 +KPowersave"> + + + + + + + +]> + + + + + + + &app; Hilfe + + 2006-04-04 + &apprelease; + + + + Danny + Kukawka + +

    Danny.Kukawka@web.de
    + + + + Thomas + Renninger + +
    trenn@suse.de
    +
    +
    + + + + 2006 + Danny Kukawka + + + + + + + + + &app; ist ein Program um Energieverbrauchs- und Energiesparoptionen einzustellen. + + + + KDE + KPowersave + Energie + Batterie + sparen + ACPI + Suspend + + + + + + + + + + KPowersave + + +Einführung + + + + + + + Verwenden Sie KPowersave, das KDE Front-End für powersave, um das Energiemangement + zu verwalten und den Batteriestand Ihres Gerätes anzuzeigen. Sie können + beispielsweise konfigurieren, das der Bildschirm Ihres Laptops abgeschaltet + wird, wenn Sie Ihre Laptop eine bestimmte Zeit nicht benutzen um die + Batterielaufzeit zu verlängern. + + + + KPowersave starten + + Um KPowersave zu starten, öffnen Sie eine Shell und geben das Kommando + kpowersave & ein oder wählen + SystemDesktop Applet + KPowersave aus dem KDE oder GNOME Menü aus. + KPowersave wird dann in der Kontrollleiste bzw. im System Tray geöffnet. + + + Um einzustellen ob KPowersave beim Anmelden an den Desktop automatisch + gestartet wird klicken Sie im KPowersave Konfigurations Dialog auf + Allgemeine Einstellungen und wählen/abwählen dort die + Ankreuzfeld KPowersave automatisch beim Anmelden starten. + Sie können dort auch einstellen, ob Sie beim Beenden gefragt werden ob + KPowersave das nächste mal automatisch gestartet werden soll. + + + + + Das KPowersave Icon/Symbol verstehen + + Das KPowersave Icon sieht aus wie ein Netzstecker neben einer Batterie + Füllstandsanzeige. Das Symbol zeigt den aktuellen Batteriefüllstand an und + ob der Computer sich am Stromnetz oder auf Batterie befindet. + Wenn der Batteriestand niedrig ist beginnt der Hintergrund des Icons zu + blinken - mit organgen Hintergrund für Warnung und rot für Niedrig und + Kritischen Ladezustand. Wenn Sie mit dem Mauszeiger über das Sysmbol fahren, + erscheint ein Tooltip mit Informationen über den Status des AC Adapters, + den Stand der Batterie und wenn der Computer sich nicht am Netzstrom befindet + die verbleibende geschätzte Zeit mit der aktuellen Batterieladung. Wenn die + Batterie geladen wird, finden Sie im Tooltip zudem Informationen wie lange + vorraussichtlich der Ladevorgang bis zum vollständig geladenen Akku andauern + wird. + + + + + + Das Applet Menü + + + Das aktive Schema wechseln + + Um das aktive Schema zu setzen, klicken Sie mit der rechten Maustaste auf + das KPowersave Symbol in der Kontrollleiste und wählen + Setze aktives Schema. Dort wählen Sie dann das gewünschte + Schema aus. Wenn Sie das aktive Schema wechseln werden die Konfigurationen der + verschiedenen Systemkomponenten verändert. Ein Energieschema beinhaltet + Einstellungen für CPU Freqenzverhalten (wenn dies von Ihrem Gerät unterstützt + wird), Throttling, Festplatten, Lüftereinstellungen und beispielsweise + Bildschirmschoner- und Monitoreinstellungen. + + + + + + + + KPowersave Applet mit dem Menü zum Schema wechseln. + + + + + + Das YaST Power-Management-Modul starten + + Das YaST Power-Management-Modul (zur Zeit nur für SUSE verfügbar) bietet + verschiedene Einstellungsmöglichkeiten um Energie zu sparen. Mit diesem + Modul können Sie Einstellungen ändern, auf die Sie als Bentzer über KPowersave + keinen Einfluss haben. Um das Modul zu starten klicken Sie mit der rechten + Maustaste auf das KPowersave Symbol und wählen YaST2 + Power-Management-Modul starten ... + Detailierte Anweisungen für die verschiedenen Einstellungsmöglichkeiten finden + Sie in YaST. + + + + + + KPowersave Applet Menü mit dem YaST Eintrag. + + + + + + + Zum Starten des YaST Power-Management-Modules benötigen Sie das root Passwort. + + + + + + Suspendieren des Systems + + Sie können das System jederzeit mit Rechtsklick auf das KPowersave + Symbol und das Auswählen von Suspend to Disk, + Suspend to RAM, oder Stand-by + (wenn dies von Ihrem Gerät unterstützt wird) suspendieren bzw. in + den Stand-by Zustand versetzen. + + + + + + Suspend to Disk sichert alle offenen Daten und Prozesse auf die Festplatte + bevor der Computer suspendiert wird. Dadurch werden Ihre Daten geschützt, + wenn Sie den Netzstecker enfernen und die Batterie leer bzw. entfernt wird. + + + + + Suspend to RAM sichert die Daten in den Hauptspeicher. Dadurch wird das + Aufwecken des Computers schneller als bei Suspend to Disk. + + + + + Das Verhalten von Stand-by hängt von Ihrem Gerät ab. Üblicherweise wird + der Monitor/ das Display des Gerätes abgeschalten. Die restlichen Geräte + bleiben dabei aktiviert und alle Daten verbleiben im Hauptspeicher (RAM). + + + + + + Die verfügbaren Methoden hängen von den aktivierten Einstellungen in YaST + ab, die der Administrator des Systems vorgenommen hat und von Ihrer + Hardware ab (bsplw. Stand-by). Ihre Wahl der Methode sollte dabei auf dem + aktuellen Batteriestand abgestimmt sein. + + + + + + + + KPowersave Applet mit dem Meüeinträgen für Suspend/Stand-by + + + + + + Autosuspend deaktivieren + + Wenn Autosuspend - das automatische Suspendieren, wenn der Benutzer eine + definierte Zeit inaktiv war - für das aktuelle Schema aktiviert ist, erscheint + im KPowersave Applet Menü der Eintrag + Aktionen bei Inaktivität deaktivieren. Wenn Sie diesen + Menüeintrag auswählen, werden alle konfigurierten Aktionen, wie bsplw. + Suspend to Disk, bei Inaktivität des Benutzers verhindert. Dies bedeutet + das Autosuspend abgeschalten wird. + + + + + + + + KPowersave Applet Menü mit dem Eintrag "Aktionen bei Inaktivität deaktivieren" + + + + + + CPU Frequenzverhalten einstellen + + Um den Energieverbrauch der CPU zu steuern kann - wenn dies die CPU + Ihres Gerätes unterstützt - das CPU Frequenzverhalten verändert werden. Dazu + öffnen Sie mit einem Rechtsklick auf das KPowersave Symbol das Menü und + wählen den Menüpunkt Setze CPU-Frequenzverhalten und wählen + eine der angebotenen Optionen. + + + + + Leistung: Setzt die CPU dauerhaft auf die maximale CPU Frequenz + + + + + Dynamisch: Reduziert die CPU Frequenz wenn das System im Leerlauf ist und + erhöht die CPU Frequenz dynamisch wenn mehr Leistung benötigt wird. + + + + + Energiesparen: Setzt die CPU dauerhaft auf die niedrigste verfügbare Frequenz. + + + + + + Die Optionen für das CPU-Frequenzverhalten ist im Menü nur verfügbar, + wenn dies von Ihrem Computer unterstützt wird. Wenn diese Optionen nicht + im Menü zu finden sind, wird das Ändern der CPU Frequenz von Ihrem Gerät + nicht unterstützt. + + + + + + + + KPowersave Menü mit dem Untermenü'CPU-Frequenzverhalten' + + + + + + + Ein Energieverwaltungs Schema konfigurieren + + KPowersave Schema verstehen + + Ein Schema beinhaltet die grundlegenenden Energieverwaltungseinstellungen + die von KPowersave auf Ihrem Computer benutzt werden. Die Anzahl der + verfügbaren Schema hängt von Ihrer Powersave Konfiguration ab. Um zusätzliche + Schema hinzuzufügen oder bestehenden Schemes zu löschen - können Sie + das YaST Power-Management-Modul oder den Editor ihrer Wahl benutzen. + Einige der allgemein vorhandenen Schema: + + + + + Leistung: Optimiert auf maximale Leistung + + + Akustik: Optimiert um den Computer so leise wie möglich laufen zu lassen. + + + + Präsentation: Für die beste Performance während Präsentationen optimiert. Dies + beinhaltet bsplw. das der Bildschirmschoner und DPMS abgeschalten werden. + + + + Enegiesparen: Optimiert um die Laufzeit auf Batterie zu verlängern. + + + + Um ein Schem zum konfigurieren auszuwäheln, öffnen Sie den + Schema Einstellungen Reiter, klicken auf das + gewünschte Schema, ändern es nach Ihren Wünschen und klicken auf + OK. + + + + + + + + KPowersave Konfigurations Dialog (Schema wählen). + + + + + Ein Schema verwaltet/kontrolliert: + + + + + + Wann der Bildschirmschoner aktiviert wird, wenn der Computer nicht in + Benutzung ist. + + + + + Wieviel Zeit vergeht bis der Bildschirm über DPMS Ausgesetzt, in Bereitschaft + versetzt oder Abgeschaltet wird. + + + + + Wann und ob der Computer automatisch in einen Suspend oder Stand-by versetzt + wird, wenn er eine vorgegebene Zeit nicht benutzt wurde. + + + + + Ob KPowersave Benachrichtigungen senden soll. + + + + + + + Schritte um ein Schema zu konfigurieren + + + Alle diese Optionen haben das Ziel den Energieverbrauch zu senken, indem + unter anderem versucht wird, Prozesse die viel Energie verbrachen + abzuschalten. Um ein Schema zu konfigurieren tuen Sie das Folgende: + + + + Bildschirmschoner + + + Machen Sie einen Rechtsklick auf das KPowersave Applet Symbol in + der Kontrollleiste. + + + Wählen Sie KPowersave konfigurieren .... + + + Wenn der Schema Einstellungen Reiter nicht bereits + ausgewählt ist, klicken Sie auf Schema Einstellungen. + + + Optional klicken Sie auf Aktiviere spezielle Bildschirmschoner + Einstellungen. + + + + + Wenn Sie den Bildschirmschoner generell deaktivieren wollen um + Energie zu sparen, dann klicken Sie auf Bildschirmschoner + deaktivieren. + + + Wenn Sie statt einen speziellen Bildschirmschoner zu verwenden nur auf + einen schwarzen Bildschirm schalten wollen dann klicken Sie auf + Nur auf leeren Bildschirm schalten. Damit kann + verhindert werden das beispielsweise CPU belastenden 3D-Bildschirmschoner + gestartet werden. Diese Option ist nicht verfügbar, wenn der + Bildschirmschoner abgeschaltet wurde. + + + + + + + Bildschirmenergieverwaltung (DPMS) + + Um den Energieverbrauch des Bildschirms zu handhaben, klicken Sie + auf Aktiviere spezielle DPMS-Einstellungen. + Die Energieverwaltund des Monitors/LCD (Display Power Management Settings + (DPMS)) können über Deaktiviere Energiesparfunktion des Bildschirms + deaktiviert werden. Diese Einstellung überschreibt die Dektop + Einstellungen wie sie beispielsweise über das KDE Kontrollzentrum vorgenommen + werden können. + + + Wählen Sie die Zeit, die vergehen soll bis der Bildschirm Ausgesetzt wird. + In diesem Modus wird der Bildschirm auf leer geschaltet, verbraucht aber + weiterhin Energie. Dies stellt die kleinste Stuffe der Energiesparoptionen + für den Bildschirm dar. Nutzen Sie dazu die Einstellungsoptionen unter + Aussetzen nach:. + + + Wählen Sie die Zeit, die vergehen soll bevor der Bildschirm in Bereitschaft + versetzt werden soll. Im Bereitschaftsmodus wird der Bildschirm abgeschaltet + aber es wird noch Energie verbraucht um die aktuellen Bilddaten vorzuhalten. + Nutzen Sie dazu die Einstellungsoptionen unter + Auf Bereitschaft gehen nach:. + + + Wählen Sie die gewünschte Zeit, die vergehen soll bis der Bildschirm + vollständig abgeschaltet wird. Dies stellt die maximale Energiesparoption für + Ihren Bildschirm dar. Nutzen Sie dazu die Einstellungsoptionen unter + Ausschalten nach:. + + + + + + + + + KPowersave Konfigurationsdialog für Bildschirmschoner und DPMS Einstellungen. + + + + + + Autosuspend Einstellungen + + Klicken Sie auf Autosuspend, wenn Sie + wollen das KPowersave Ihr System automatisch suspendiert, wenn der aktuelle + Desktopbenutzer für eine bestimmte Zeit inaktiv war und benutzen Sie + den folgenden Dialog um die speziellen Einstellungen zu konfigurieren. + Diese Option ist in der Regel nicht vorausgewählt und muss von Ihnen + erst aktiviert und konfiguriert werden. + Wenn Sie beispielsweise wollen, das Ihr System nach 30 Minuten + in den Suspend to Disk versetzt wird, dann wählen Sie die betreffenden + Optionen. Hat der Benutzer 30 Minuten lang keine Eingaben vongenommen - + also die Maus bewegt oder Eingaben über die Tastatur vorgenommen, so wird + automatisch der Computer suspendiert und alle Daten auf die Festplatte + gespeichtert. + + + + + + + + KPowersave Konfigurationsdialog für die Autosuspend Einstellungen. + + + + + + Benachrichtigungen aktivieren + + KPowersave blendet verschiedene Benachrichtigungen bei definierten + Ereignissen auf den Desktop. Dies können Nachrichten in Pop-Up Dialogen oder aber auch + das abspielen von Sounddateien sein. Um alle Nachrichten für ein Schema zu deaktivieren + oder aber auch wieder zu aktivieren klicken Sie auf Verschiedenens. + Dort anderen Sie den Status von Benachrichtigungen abschalten + nach Ihren Wünschen. + Sie können verschiedenen definierten Benachrichtigungen über + das KPowersave Applet Menü konfigurieren indem Sie auf + Benachrichtigungen konfigurieren ... klicken. Dort können Sie + beispielsweise festlegen in welcher Form die Nachricht auf dem Desktop angezeigt wird, + ob und welche Sounddatei abgespielt wird und ob beim Eintreffen der Nachricht ein + beliebiger Befehl ausgeführt werden soll. + + + + + + + KPowersave Konfigurationdialog für die Benachrichtigungen. + + + + + + + + + + Allgemeine Einstellungen + + Bildschirm sperren + + Zur besseren Sicherheit Ihrer Daten, kann KPowersave für Sie den + Bildschirm sperren bevor der Computer supendiert wird oder wenn Sie + den Deckel des Bildschirms schließen. Sie können wählen, ob der + Bildschirm mit der automatisch verfügbaren Methode, mit einem + speziellen Bildschirmschoner (dieser muss aktiv sein) oder mit xlock + gesperrt werden soll. Die angebotenen Optionen können sich dabei von + Desktopumgebung zu Desktopumgebung unterscheiden. + + + Um die gewünschten Einstellungen vorzunehmen klicken Sie auf den Reiter + Allgemeine Einstellungen und wählen dann die entsprechenden + Optionen. + + + + + + + + KPowersave Konfigurationsdialog für Allgemeinen Einstellungen. + + + + + + + Eine Blacklist für Autosuspend erstellen + + KPowersave bietet eine Blacklist für Autosuspend. Diese Liste verhindert + das automatische suspendieren bei Inaktivität des Benutzers. Ist eines der + in der Liste enhaltenen Programme aktiv, so wird kein Autosuspend + ausgelöst. Sie wollen beispielsweise sicherlich nicht, das während + Sie sich eine DVD anschauen oder eine CD/DVD brennen, das der Computer + nach 10 Minuten suspendiert wird, nur weil Sie in dieser Zeit nicht die + Maus bewegt oder ein Taste gedrückt haben. Um die Blacklist zu bearbeiten + klicken Sie auf den Allgemeine Einstellungen Reiter und + dann auf Allgemeine Blacklist bearbeiten. + Benutzen Sie den Autosuspend Blacklist Editieren Dialog + um ein Programm zur Blacklist zufügen oder zu entfernen. + + + + + + + + KPowersave Konfiguratinsdialog für die Autosuspend Blacklist + + + + + Sie können auch für jedes Schema eine eigene Blacklist erstellen, die dann + die Allgemeine Liste für dieses Schema überschreibt. Wenn Sie für ein + Schema eine Blacklist erstellen, haben Sie die Möglichkeit die allgeimeine + Liste zu importieren oder mit einer leeren Liste zu beginnen. + use. + + + + + + + + KPowersave Dialog zum bearbeiten einer Blacklist + + + + + + + + + diff --git a/doc/doxy/README b/doc/doxy/README new file mode 100644 index 0000000..f7224bd --- /dev/null +++ b/doc/doxy/README @@ -0,0 +1,25 @@ +The directory contains: +- style sheets +- header and footerfiles +- central project informations + +for the Doxygen Documentation of KPowersave. + +--------------------------------- + +Filelist: + +changelog.dox +enhance.dox +fixed_bugs.dox +main.dox +powersave_msgs.dox +process.dox + +footer.html +header.html +styleSheet.css + +and this README + +-------------------------------- diff --git a/doc/doxy/changelog.dox b/doc/doxy/changelog.dox new file mode 100644 index 0000000..b1a797d --- /dev/null +++ b/doc/doxy/changelog.dox @@ -0,0 +1,708 @@ +/*! +* \page changelog Changelog +* \section changelist_sec All changes in the package since init +* +* Wed Feb 14 18:26:34 CET 2007 - dkukawka@suse.de +* - released new version 0.7.2: +* - changes (for more see NEWS/Changelog file in the source): +* - extended configure dialog to provide this functionality +* - schemes settings (add new and delete existing (no default) schemes, define a CPU Frequency +* policy for each scheme) +* - general settings (define battery warning levels and actions if a level reached as e.g. +* Suspend to disk/Shutdown or change the display brightness, configure actions for button + events (Power/Lid/Suspend/Sleep buttons), define the default AC and battery schemes) +* - show the power consumtion of the battery in the detailed info dialog +* - umount external media before suspend (need a patch of the KDE media manager) to avoid data +* loss and remount on resume +* - reset the CPU Freq settings on resume to avoid different settings for the CPU governor on +* multicore machines +* - call now SetCPUFreqConsiderNice(), SetCPUFreqPerformance() on dynamic CPU Freq policy (as +* poweruser setting only changeable via config file), and also SetPowerSave() with true on +* battery and false otherwise. +* - support also conservative governor as DYNAMIC fallback +* - fixed brightness handling in the configure dialog if not activated +* - removed accelerator tags from i18n() strings. KDE handle this by itself. Improved config +* GUI to be better accessible via keyboard. +* - code and code documentation cleanups and updates +* - fixed bugs (from bugzilla.novell.com if no other comment): +* - #245081: KPowersave does not set (ondemand) governor on startup +* - #244052: Close lid of a laptop and suspend to ram cause 100% CPU usage +* - #229960: CPUFREQ_DYNAMIC_PERFORMANCE seems to be ignored during boot and scheme change +* - #230686: KPowersave need to be restarted to apply changed DPMS settings +* - #230965: puzzling battery state info +* - #231709: kpowersave-0.7.1-12: comparison with string literal +* - #231184: KPowersave crashes due to uninitalized LibHalContext +* - #229234: KPowersave does not fall back to userspace governor +* - #215262: Suspend to disk with attached usb storage not working +* - #223164: After suspend, second core has performance governor set +* - #223517: Powersave: CPU scheme "dynamic" reduces speed if only nice -19 processes run +* - #223637: kpowersave crashes in first login +* - #225212: KPowersave crash on ThinkPad X60s +* - #221715: Functionality for configuring lid close event etc. missing in KPowersave +* - #223922: System not shuting down on pressing power button +* - updated translations: +* - german: Danny Kukawka +* - danish: Stefan Skotte +* - turkish: S.Çağlar Onur +* - chinese: Zhengpeng Hou +* +* Mon Nov 20 19:17:11 CET 2006 - dkukawka@suse.de +* - released new version 0.7.1: +* - closed bugs: #220271, #220222, #220212, #220553, #167919 +* - KPowersave should now basicly provide the same major functions as last stable version of +* KPowersave. For more read NEWS and Changelog. +* +* Mon Nov 6 21:03:53 CET 2006 - dkukawka@suse.de +* - release new version 0.7.0: +* - changes: +* - depends no longer on powersave, use now only DBUS/HAL +* - known issues/bugs: +* - scheme switching does not work (also not on AC events) +* - currently no reaction if battery reach a warning state or is emptry !!! +* - complete brightness support untested +* - lock screen (on lidclose/suspend) untested +* +* Sun Jun 11 17:00:30 CEST 2006 - dkukawka@suse.de +* - released offical update version 0.6.2 with following changes: +* - KPowersave depends now on powersave >= 0.12.18 +* - fixed bugs: +* - sf.net #1483392/ SUSE #177792: set changes for autosuspend state via DCOP back to the applet menu, +* added DCOP functions to set the current scheme, the current CPUFreq policy and to open/close the +* detailed dialog. +* - sf.net #1483392/ SUSE #177788,180000: added workaround to fix two bugs in the DPMS- and Screensaver +* extension of X, related to autosuspend and detect user inactivity, which prevent autosuspend within +* the timeout escpecially if the autosuspend timeout is longer than a DPMS timout. +* Problems: DPMS timeouts are abstracted from current idle time, but shouldn't and DPMS timeouts are +* currently additive, but the spec say they should all start together at zero. +* - SUSE #168619: changed errorhandling if HAL, DBUS or the powersave daemon is not running or if the +* user has not the needed rights to access the powersave daemon via DBUS. Added new errormessages +* and translations. +* - SUSE #182515: Changed configure dialog to respect rules for DPMS timeouts (a timeout must be larger +* than the prior state) +* - SUSE #176782: patch from Timo Hoenig to allow (if hardware supported and enabled in +* the scheme) change brighness via mousewheel over the applet icon. +* - SUSE (SLED) #183745: fixed detection of SUSE Linux/SLES/SLED and added configure option to force +* SLES/SLED as distro with --enable-suse-sles. Fixed bugzilla link for SLED/SLES. +* - SUSE #184076: fixed wrong command to start dbus daemon in errormessage. +* - added additional check before autosuspend if this was disabled via applet to avoid autosuspend if it +* was temporary disabled by the user +* - added new configure check to detect Ubuntu/Kubuntu +* - changed link to Ubuntu bugzilla to launchpad.net and use now the same link for applet menu entry +* "Report a bug ..." if compiled for Ubuntu/Kubuntu +* - updated default blacklist for autosuspend with gmplayer, kaffeine, xine, mencoder +* - updated translation: cs, de, es, fi, fr, hu, it, km, pl, pt_BR, zh_CN, zh_TW +* - updated (cs) and fixed translation of eventsrc for KNotify +* - fixed and updated code documentation +* +* Mon Apr 24 17:50:44 CEST 2006 - dkukawka@suse.de +* - released official update version 0.6.1 with following changes: +* - fixed bug #168838; event for resumeFromSuspendToDisk displayed twice in knotify dialog (typo and +* translation issue in eventsrc) +* - updated russian translations including desktop files and eventsrc from Anton Farygin +* +* Tue Apr 18 15:27:12 CEST 2006 - dkukawka@suse.de +* - released SUSE update version 0.6.1 with following changes: +* - fixed SUSE bug #167296: fixed tooltip and removed unneeded checks for battery related infos. Should fix +* display wrong remaining time on charging with APM +* - fixed SUSE bug #165462: removed utf8 tag from eventsrc which results in "unknown source ..." message in +* knotify dialog +* - fixed detailed dialog for multiprocessor/-core machines without CPUFreq or throttling support and offline +* CPUs/Cores +* - updated transaltions (fi,km,pl) +* - added configure check for dbus-1-qt3-devel headers +* +* Sun Apr 9 20:23:26 CEST 2006 - dkukawka@suse.de +* - rereleased official stable version 0.6 with this changes: +* - fixed bug #164683 (fixed detailed dialog for machines without CPUFreq support and more than one CPU/Core +* and/or throttling) +* - reduced unneeded calls of getCPUNum() +* - added fix from Daniel Gollub to be able to fake CPU info from /proc and /sys for development and QA tests +* - fixed compiler warnings +* +* Tue Apr 4 21:12:37 CEST 2006 - dkukawka@suse.de +* - released official stable version 0.6 with this changes: +* - added german version of the handbook +* - added support for lock screen via gnome-screensaver (only under GNOME) +* - added fake keyevent (shift) after resume if machine was locked before suspend, to show the login dialog +* automatically +* - fixed errorhandling for YaST power management module +* - fixed bug report address in the about dialog (to powersave-users@forge.novell.com) +* - changed timeout for recheck powersave on startup from 10 secs to 20 to avoid annoying messages on +* slow machines or autologin +* - changed address to report bugs if distro is SUSE, which is used via the applet menu, to opensuse.org +* wiki page. +* +* Tue Mar 28 16:44:03 CEST 2006 - dkukawka@suse.de +* - fixed UTF-8 in desktop files +* +* Mon Mar 27 23:19:38 CEST 2006 - dkukawka@suse.de +* - updated to new stable release 0.6.0: +* - changed powersave dependency to stable version >= 0.12.7 +* - reduced the size of the package by optimize the size of included png files. The size off all png files +* is now reduced by ~709KByte. +* - fixed processor bar in detailed dialog to set correct for the first call. +* - fixed tooltip for machines which always report charging also if 100% charged and on AC +* - fix notify about autosuspend after resume and a remove no longer needed check from configure +* - translation updates +* - updated README with install/compile and help/bugreport information +* - updated code docu (added planed features/enhancements for 0.7/0.8 tree) +* - updated spec files for packaging +* +* Mon Mar 13 19:45:41 CET 2006 - dkukawka@suse.de +* - updated to new release 0.5.11-rc5: +* - added function to check if the machine is a laptop to allow hide laptop specific widget items if the +* machine is a workstation (in this case: 'Lock screen on Lidclose'-checkbox) +* - changed brightness settings to allow only to change to min defined brightness level. This should avoid +* off the display on schemeswitch e.g. on new pmu brightness interface +* - reworked some parts of the code, cleanup +* - added patch from Holger Macht to allow root always s2ram +* - translation updates +* - replaced TRUE, which is deprecated with QT4, with true +* - code documentation adds, updates and fixes +* - fixed file attributes for several files from SVN +* +* Mon Mar 6 21:46:37 CET 2006 - dkukawka@suse.de +* - updated to new release 0.5.10-rc4: +* - KPowersave depends now on: powersave >= 0.12.2 +* - fixed lidclose handling: added call xset to off the backlight of LCD displays and reset DPMS +* settings on lidopen +* - fixed read throttling state for multiprocessor machines (patch from Daniel Gollub ) +* - fixed display processor infos on multiprocessor/-core machines dislay now values for each +* CPU/core also on non CPUfreq and non-throttling machines +* - fix to display battery infos only if at least min. one battery slot is available +* - translation updates (po files and handbook) from SUSE/Novell translation team and +* Dawid Wróbel +* - added and updated screenshots for handbook +* - added possible missing icon on non-SUSE distributions +* - autotools releated fixes: better detection of Mandriva, use now pkgconfig from powersave +* for checks and linking, read name/location of dbus system socket from pkgconfig. +* - added rpm-spec file for Mandriva 2006.1 +* - pics cleanups (removed no longer files) +* +* Tue Feb 28 11:26:32 CET 2006 - dkukawka@suse.de +* - removed patch from schwab@suse.de on ix86 and x86_64. Note: this patch is not correct/complete and +* unsupported +* +* Mon Feb 27 23:12:59 CET 2006 - dkukawka@suse.de +* - updated to new release 0.5.9-rc3: +* - fixed APM battery and processor info support in the information dialog and the applet tooltip +* (need a fix in powersave) +* - fixed battery state in the info dialog if no battery is available (need a fix in powersave) +* - translation and handbook fixes/updates +* +* Mon Feb 20 21:47:12 CET 2006 - dkukawka@suse.de +* - fixed problem with pidof on Fedora Core 4. Removed path to pidof from call because pidof should be +* in PATH of user env. +* +* Mon Feb 20 18:14:47 CET 2006 - dkukawka@suse.de +* - updated to new release 0.5.8-rc2: +* - removed sound settings from configure dialog and added KNotify support and more events, +* KNotify config dialog is available via applet menu and in the configure dialog +* - added dcop function to open configure dialog +* - fixed path to powersaved in code and translations to be more portable (Michael Biebl) +* - fixed cpu info in the info dialog to display also for machines which only support +* throttling (Daniel Gollub/Danny Kukawka) +* - fixed battery part in the info dialog to have same sized progressbars +* - fixed strings in the code, fixed sting in tooltip if charging (see #146492) +* - removed no longer needed parts from handbook +* - updated translations related to the changes +* - cleanups (code and files) +* +* Mon Feb 13 18:42:45 CET 2006 - dkukawka@suse.de +* - updated to new release 0.5.7-rc1: +* - fixed bugs: +* - fixed again problems write text if CPU Freq Policy not supported +* - autotools releated fixes (Michael Biebl) +* - added brightness support and battery state info to detailed dialog overview +* - updated translations: bg,cs,es,fr,it,ja,pt,nb,pt_BR,zh_CN,zh_TW +* - added translation: km +* - added new handbook: Finnish +* +* Mon Feb 6 18:54:20 CET 2006 - dkukawka@suse.de +* - updated to new release 0.5.6: +* - fixed bugs: +* - detailed dialog: +* - removed connect setProcessor() to signals from powersave because of excessive CPU usage +* - fixed problems write text if CPU Freq Policy not supported +* - cleanups (removed unneeded enum defines and replaced with defines from powersave) +* - fixed autosuspend (replace path to pidof and added error msg if call of pidof fails to be more portable) +* - fixed auto-tools related issues +* - added ifdef'd header for Slackware 10.2 +* - added summary battery progress bar if more than one batterybay is available +* - updated translation files (nb,nl,pl,pt,zh_CN) thanks to Dawei Pang (zh_CN) and Dawid Wróbel (pl) +* - added new helpfiles for Czech and Portuguese (not complete translated), removed some pics to reduce +* package size +* +* Mon Jan 30 12:44:43 CET 2006 - dkukawka@suse.de +* - updated to new release 0.5.5: +* - complete reworked detailed dialog, plus: +* - fixed problems with offline CPUs (Daniel Gollub) +* - changed interval for refresh CPU infos to powersave default +* - fixed battery handling +* - added new help menu to the applet with a about dialog and a link to report bugs back to developers +* - Updated language files, finished german translation +* - added new icon for 'Advanced Powersave' scheme +* - fixed scheme related autosuspend page in configure dialog to prevent unneeded resize of the dialog +* - added new dir with spec/build files (currently for SUSE and FC) +* - some cleanups +* +* Sun Jan 29 16:32:22 CET 2006 - aj@suse.de +* - Require dbus-1-qt3-devel for build. +* +* Wed Jan 25 21:44:25 CET 2006 - mls@suse.de +* - converted neededforbuild to BuildRequires +* +* Mon Jan 23 18:11:12 CET 2006 - dkukawka@suse.de +* - updated to new release 0.5.4: +* - added new information dialog to left mouse button with: +* - CPU, Batttery, AC status info (by Daniel Gollub) +* - additional powersave related infos (Danny Kukawka) +* - removed currently CPU Freqency from the applet tooltip (maybe add later CPU releated infos) +* +* Wed Jan 18 21:09:47 CET 2006 - dkukawka@suse.de +* - readded help files to spec file +* +* Tue Jan 17 16:12:21 CET 2006 - dkukawka@suse.de +* - release 0.5.3-3 for sf.net: +* - added capability for brightness to tell powersave daemon that KPowersave do this, patch +* from +* - changed scheme 'Aggressive' to 'Advanced' Powersave +* - added default config/settings for 'Advanced Powersave' scheme +* +* Tue Jan 17 00:51:07 CET 2006 - dkukawka@suse.de +* - updated to new release 0.5.3: +* - added set scheme specific brigthness settings to kpowersave and the configuration dialog +* - added patch to fix compiler warning from Daniel Gollub +* - updated translation (nl) and code documentation +* - replaced usage of QString::null with QString() +* - added warning if 'Aggressive Powersave' scheme is selected +* - updated version strings +* +* Tue Jan 10 16:40:11 CET 2006 - dkukawka@suse.de +* - updated to new release 0.5.2: +* - updated to new powersave (>= v0.11.2) +* - fixed bug #121965: added new dialog/error message if powersaveis not running, with +* 'Don't show again' checkbox +* - changed handling with not available connection to powersave on startup of KDE (special for autologin) +* - added popup if HAL is not running (and also powersave not available) and kpowersave get no +* battery/AC information +* - changed settings of sounds filedialog to be more portable +* - removed old and not needed qt1/qt2 includes +* - updated help files and added new Norsk and Hungarian help files, added language specific screenshots +* - updated translation files and code documentation +* - code and file cleanups +* +* Wed Dec 21 00:34:53 CET 2005 - ro@suse.de +* - fix build with current powersave +* +* Mon Dec 19 12:00:40 CET 2005 - dmueller@suse.de +* - use dbus-1-qt3 +* +* Thu Oct 13 14:59:23 CEST 2005 - dkukawka@suse.de +* - updated to current CVS version: +* - added admin dir to src for easier port to other distributions +* - added ru and fi translation files +* - updated doc, help, readme and changelogs +* - removed unneeded variables for icon names +* - fixes from KDE fixuifiles script +* - several fixes to respect KDE user interface style guide +* - several typo fixes in i18n stings and related fixes in translation files +* - added powersave-libs and powersave-devel to needforbuild and powersave-libs to Requirements +* +* Mon Sep 12 10:34:47 CEST 2005 - dkukawka@suse.de +* - fixed bug #116079: added function to parse for translation in the suspend progress dialog +* - fixed bug #116353: wrong translation in hu.po +* - fixed bug #116438: added missing Polish translation file +* - fixed bug #116439: added updated translations [sv,tr,uk,sk,ru] +* - fixed bug #116440: added missing space [de,fr,it,pt_BR] +* - updated code documentation +* +* Fri Sep 9 14:12:51 CEST 2005 - dkukawka@suse.de +* - fixed and merged german translation +* - fixed ui file for configure dialog: removed direct keyboard accelerators from strings, +* which break all translation files +* +* Fri Sep 9 10:43:28 CEST 2005 - dkukawka@suse.de +* - fixed bug #116079: fixed translation of suspend progress dialog +* - fixed bug #115903: hide scheme menu if not connected to daemon +* - fixed bug #115914: prevent overlay of widgets in the blacklist edit dialog and fix resizeing +* - fixed bug #115584: added new signal to differ between service terminated from powersave +* and dbus. Display error message now only for signa dbus.terminate +* - fixed applet menu: added a new seperator above help menu entry +* - fixed/updated code documentation +* - added new configure option --enable-yast-entry to remove need for build dependency on +* suse-release +* - removed no longer needed need for build dependency on resmgr +* +* Tue Sep 6 22:23:48 CEST 2005 - dkukawka@suse.de +* - fixed bug #78953: added option --force-acpi-check to dektop file and added a new file +* for autostart +* - fixed command line options and information +* - changed version from 0.5.0-RC1 to 0.5.0 +* +* Mon Sep 5 22:06:56 CEST 2005 - dkukawka@suse.de +* - fixed makefile fro build +* - changed Requires to new powersave version +* +* Mon Sep 5 15:55:27 CEST 2005 - dkukawka@suse.de +* - fixed bug #95250: added help entry to the applet menu and a help button to the configure dialog +* - removed bo longer needed include +* - updated tranlations +* - tweaked debug messages and removed some debug messages +* - several cleanups +* +* Sat Sep 3 10:49:31 CEST 2005 - aj@suse.de +* - Fix to build with changed powersave interface. +* +* Thu Sep 1 10:54:59 CEST 2005 - dkukawka@suse.de +* - merged DBUS_INTEGRATION branch back to cvs-head and use now for this package +* - fixed and updated code documentation +* - fixed bug #95250, now KPowersave have a online help +* - removed several debug messages +* - fixed redefinition of DBUS_API_SUBJECT_TO_CHANGE +* +* Mon Aug 29 17:36:24 CEST 2005 - dkukawka@suse.de +* - fixed bug #106177: use now scaling_cur_freq +* - fixed activaton of widgets in configure dialog +* - added and changed english helpfile (from srhoades@novell.com) +* - fixes to prevent crash of kpowersave if connection to D-BUS lost +* - fixed bug #113559 for autosuspend after a resume +* - fixed store changes of time for autosuspend in the configure dialog +* - changed configure: detection of distributions and changed to pkg-config to find the +* includes and libs for dbus +* - translation updates +* +* Mon Aug 22 18:55:11 CEST 2005 - dkukawka@suse.de +* +* - fixed bug #105555 +* - updated translations +* +* Mon Aug 15 13:27:56 CEST 2005 - dkukawka@suse.de +* - fixed bug #104382 and some memory leaks +* - fixed bugs #104603, #104445 and #104338 +* - merged 64bit fix to CVS +* - updated translations: cs, hu, nb, pa, de +* - added new translations: pt +* +* Thu Aug 11 22:06:31 CEST 2005 - seife@suse.de +* - ported to the new DBUS interface, removed old socket code +* - removed dependency on obsolete powersave_daemonlib +* +* Sun Aug 7 10:50:39 CEST 2005 - seife@suse.de +* - fix 64bit build +* +* Sun Aug 7 07:59:53 CEST 2005 - aj@suse.de +* - Add hal libraries to neededforbuild. +* +* Fri Aug 5 13:12:52 CEST 2005 - dkukawa@suse.de +* - ported KPowersave to new powersave dbus structure (hmacht and dkukawka) +* - updated version to 0.4.100, final will be 0.5.0 +* +* Wed Jul 20 09:15:10 CEST 2005 - dkukawka@suse.de +* - added dbus and dbus-devel to neededforbuild +* - enhanced the configure dialog to preselect the current scheme within the list of schemes +* - added fix to blacklistedit dialog to display the name of the current scheme or to display +* "General Blacklist" in the dialog. +* - corrected typo of i18n-strings and merged en_US.po changes to the source code +* - updated de.po +* - fixed bug #95279, now the suspend/progress dialog is Qt::WDestructiveClose and kpowersave connect +* to the destroyed() signal of the dialog +* - changed workflow for schemes to enable/disable autosuspend. (added new checkbox and new config key) +* - added misc-icon to configure dialog (scheme part) +* - some documentation updates and code cleanups +* +* Tue Jul 5 11:40:36 CEST 2005 - dkukawka@suse.de +* - added ppc to buildarch +* +* Fri Jun 24 17:34:19 CEST 2005 - dkukawka@suse.de +* - implemented new feature: +* - configurable sound for battery warning states, ac events and autosuspend +* - fixed bug within parsing messages for progress dialog. +* - updated (code-)documentation +* - updated README for compile kpowersave on other distributions +* +* Thu May 26 21:45:58 CEST 2005 - dkukawka@suse.de +* - added new menu entry to disable autosuspend trough applet-menu if autosuspend activated on the current +* scheme, if not the menu-item is not visible +* - fixed bug with initalise import of global blacklist to scheme blacklist. Now the imported blacklist is +* maked as changed. +* - cleaned up and changed size policy related values in the configure dialog +* +* Wed May 25 10:30:12 CEST 2005 - dkukawka@suse.de +* - added suse-release to neededforbuild to detect the correct distribution in autobuild system +* +* Tue May 24 14:40:37 CEST 2005 - dkukawka@suse.de +* - added scheme specific autosuspend blacklist +* - changed and improved config dialog: +* - added autosuspend blacklist edit dialog and button to general settings +* - added enable scheme specific autosuspend blacklist and edit dialog +* - redesigned scheme settings page +* - added icons to schemes in scheme settings page +* - added fix/workaround for bug #85611 +* - changed params of autosuspend->start() to QStringList +* +* Fri May 13 03:34:47 CEST 2005 - dkukawka@suse.de +* - implemented blacklist for autosuspend (if a program in the blacklist is detected as running autosuspend +* is stopped) +* - added dcop interface function to stop/start autosuspend +* - updated documentation +* +* Tue May 10 21:38:36 CEST 2005 - dkukawka@suse.de +* - implemented autosuspend (detect userinactivity from X-Server) +* +* Tue May 10 10:36:08 CEST 2005 - dkukawka@suse.de +* - fixed bug #82880 +* +* Sun May 8 22:04:13 CEST 2005 - dkukawka@suse.de +* - additional fix for bug #81681 +* +* Fri May 6 19:23:47 CEST 2005 - dkukawka@suse.de +* - fixed bug #81681: +* - added a new suspend dialog which is now toplevel +* - added icons to dialog for the related suspend/standby +* - updated documentation +* +* Wed Apr 13 14:18:18 CEST 2005 - dkukawka@suse.de +* - fixed for gcc 4.0 (tested with i386 and ia64) +* +* Mon Mar 21 14:02:59 CET 2005 - dkukawka@suse.de +* - added updated translation file +* - fixed string in en_US +* +* Fri Mar 18 12:31:03 CET 2005 - dkukawka@suse.de +* - fixed bug #73810, now we restart XScreensaver to be shure that the user default settings are set +* - fixed bug #73805 (closed file descriptor leak) +* - updated Changelog and code doc +* +* Thu Mar 17 17:33:06 CET 2005 - dkukawka@suse.de +* - implemented progressbar for powersave suspend +* - removed 'Disable Screensaver' from menu (and also all related functions and variables) because +* this is not needed anymore since the user can change scheme related screensaver settings +* - updated documentation +* +* Wed Mar 16 17:35:17 CET 2005 - dkukawka@suse.de +* - fixed bug #72939, now on quit reset KDE settings +* - fixed setSchemesettings(), now we check for KDE befor reset to KDE settings +* - updated documentation, Changelogs and version strings +* +* Tue Mar 15 19:13:45 CET 2005 - dkukawka@suse.de +* - added new [zh_CN, zh_TW] and updated translation files +* - fixed blocker bug #72846 +* - fixed bug within the activation of widgets in the configure dialog +* - fixed text on labels in configure dialog +* - fixed bug in load KDE settings from configfile, to prevent wrong settings if user changed KDE +* settings in KDE Control Center while KPowersave is running +* +* Mon Mar 14 17:13:31 CET 2005 - dkukawka@suse.de +* - updated icon for kmenu (now 16x16 and 32x32 the same) +* - added new [en_US, pa, uk] and updated translation files +* - fixed lable width in configure dialog +* - fixed bug, now kcmdisplayrc is loaded for KDE DPMS settings +* +* Fri Mar 11 11:55:10 CET 2005 - dkukawka@suse.de +* - undo change in QPowersaveClientSocket::connect() depends on undo in last powersave fixes +* +* Thu Mar 10 18:40:37 CET 2005 - dkukawka@suse.de +* - fixed bugs #71955 and #71875 (kpowersave related part and needed adaptations to changed powersave) +* - removed unneeded functions and declarations +* - added errormessages to do_setSpeedPolicy() and lockscreen_on_lidcloseEvent() +* +* Wed Mar 9 18:57:34 CET 2005 - dkukawka@suse.de +* - Fixed bug #71192, changed sequence of enable/disable the widget/items for DPMS settings. +* - added new functions to dcop interface: allowed_sleepingStates() +* and list_schemes() +* +* Mon Mar 7 17:47:33 CET 2005 - dkukawka@suse.de +* - fixed bug #71016 +* - added dcop interfaces for lock screen, suspend/standby and to get information about current scheme and CPUFreqPolicy +* - fixed bug: now the configure entry in kpowersave isn't displayed if the powersavedaemon is not running +* - fixed message strings +* - updated documentation +* +* Fri Mar 4 20:33:03 CET 2005 - dkukawka@suse.de +* - Added enterEvent( QEvent * ) eventhandler to reduce polling. Now the tooltip updated only if this event is +* triggered for the kpowersace systray/kicker icon. +* +* Fri Mar 4 14:16:05 CET 2005 - dkukawka@suse.de +* - implemented 'AutostartNeverAsk' to quell the dialog on exit +* - added and implemented configure entry for 'lock screen method'. Now the user can configure which method +* (KScreensaver, XScreensaver, Xlock, or autoselected) used for lock on suspend/standby and lid closed +* - full implementation of powersave client notification, we now need only poll active for information if powersave died +* - different cleanups +* - updated code documentation and additional doc files +* +* Sun Feb 27 23:16:23 CET 2005 - dkukawka@suse.de +* - removed unneeded config values from kpowersaverc +* - implemented all functions to read the general, scheme and KDE settings from the kpowersave/KDE configuration file(s) +* - added functions for 'lock screen' and 'blank only screen' +* - integrated screensaver and lock settings to kpowersave.cpp +* +* Fri Feb 25 14:00:46 CET 2005 - dkukawka@suse.de +* - fixed configure dialog for better look with bigger fonts +* - fix/workaround for the kpowersave related part of bug #66502 on Workstations +* - fixed dialog bug, now the user can open only one configure dialog at the same time +* - changed displayed application name from kpowersave to KPowersave +* - added function to load the general settings in the dialog +* - added 'user-inactivity-actions' to dialog, configfiles and menu. This is atm only 'dummy' and not visible for the user. +* - added autostart options to dialog and a new option to prevent the dialog on exit kpowersave +* - updated the default config file +* - updated strings for translation +* +* Tue Feb 22 10:45:45 CET 2005 - dkukawka@suse.de +* - updated configure dialog +* - changed configure dialog, renamed widgets, integrated schemes and general config section +* - changed call of the configure dialog, now kpowersave not blocked while dialog is open +* - added different slots and logic to disable/enable widgets +* - added load and store the configuration +* - added configoptions and funtions to make 'lock screen' configureable by user +* - added default configfile +* - updated documentation +* +* Mon Feb 21 21:48:09 CET 2005 - trenn@suse.de +* - enable notification popup through daemon +* +* Tue Feb 15 00:34:42 CET 2005 - dkukawka@suse.de +* - update to 0.3.10: added configure dialog to make user specific configuration possible +* +* Sat Jan 22 01:23:15 CET 2005 - ro@suse.de +* - added resmgr to neededforbuild +* +* Mon Jan 17 14:09:08 CET 2005 - dkukawka@suse.de +* - remove some xscreensaver related (unneeded) code in screen.cpp +* - remove some unused variables and function declaration in pdaemon.cpp +* - added full code documentation for doxygen and changed the settings in the Doxyfile +* - fixed bug #49844 user selected 'disable screensaver' prefered if the AC adapter is plugged out +* - fixed bug #49845 now XScreensaver also detected under KDE +* - fixed bug #49632 in po-files (correct a wrong path in translation files) +* +* Tue Dec 21 11:59:15 CET 2004 - dkukawka@suse.de +* - added new cs-translation. File was empty (since SUSE 9.2final) in the cvs-tree (unknown why) Bug #49445 +* +* Wed Dec 15 12:45:09 CET 2004 - dkukawka@suse.de +* - added new icons to the applet for stand-by, suspend* and the different schemes +* - modified kpowersave desktop icon +* - changed some code in kpowersave, fixed some little bugs (not reported), removed some unneeded or unreachable code +* +* Mon Dec 13 12:06:08 CET 2004 - dkukawka@suse.de +* - implemented new icons/iconfunctions for better user interaction if the battery is in the different states +* WARNING, LOW, CRITICAL. Now the icon background flashes every second orange [WARNING,LOW] or red [CRITICAL] +* - changed Icons (removed some white pixel) +* +* Sat Dec 11 17:15:19 CET 2004 - dkukawka@suse.de +* - fixed Bug #48202 +* +* Tue Oct 12 20:14:54 CEST 2004 - dkukawka@suse.de +* - fix Bugzilla #47113 (hopefully), remove some debug messages, change version +* - fix problem from Bugzilla #46685, now kpowersave check really if scheme is successfully set by powersaved +* +* Mon Oct 4 12:58:04 CEST 2004 - dkukawka@suse.de +* - fixed bug in screensaver menuentry, now only checked on start if screensaver and dpms off or if screensaver off +* and no dpms support by machine -> see: Bugzilla #46728 +* +* Sat Oct 2 20:12:40 CEST 2004 - dkukawka@suse.de +* - fixed bug (Bugzilla #46685): now the real scheme names (not i18n +* version) are sent to powersaved +* +* Fri Oct 1 15:42:43 CEST 2004 - dkukawka@suse.de +* - added new an revised translationfiles +* - make a workaround to reduce systemload if powersaved not present and kpowersave need to get systeminformations from /proc/ +* +* Wed Sep 29 15:54:35 CEST 2004 - dkukawka@suse.de +* - correct redrawPixmap so that now kpowersave correctly func under GNOME +* - added new translations (jp, sk), added revised translations (bg,cs,es,nb) +* +* Mon Sep 27 23:01:39 CEST 2004 - dkukawka@suse.de +* - added 2 lines in update() were falsely removed by last changes +* +* Mon Sep 27 21:10:45 CEST 2004 - trenn@suse.de +* - correct charging state, when requesting daemon +* - initialise has_DPMS +* - xscreensaver enable/disable support +* - update translations +* +* Wed Sep 22 12:59:10 CEST 2004 - dkukawka@suse.de +* - added screensaver options (disable screensaver and DPMS) to menu +* - do not poll for scheme changes -> only update on right mouse click +* +* Mon Sep 20 19:55:37 CEST 2004 - trenn@suse.de +* - changes from l.lunak@suse.cz to faster start kpowersave through kdeinit +* +* Tue Aug 31 14:11:02 CEST 2004 - trenn@suse.de +* - disk<->ram typo which prevented suspend2ram to be enabled correctly +* +* Mon Aug 23 17:35:54 CEST 2004 - trenn@suse.de +* - renamed suspend/standby to suspend2disk and suspend2ram +* - introduced new sleep state standby +* +* Tue Jun 29 17:55:37 CEST 2004 - trenn@suse.de +* - switch schemes, enable/disable screensaver and dpms proper update functions +* +* Mon May 17 21:22:14 CEST 2004 - trenn@suse.de +* - color of remaining capacity always green when on ac power +* - (Version 0.2.2) +* +* Fri May 14 16:22:03 CEST 2004 - trenn@suse.de +* - modified message: system group is not mentioned in popup any more (#40473) +* - introduced sub-version nr. (Version 0.2.1) +* +* Thu May 6 17:27:46 CEST 2004 - trenn@suse.de +* - added battery charge information to Tooltip fixed fd leak +* +* Thu Apr 29 17:48:40 CEST 2004 - trenn@suse.de +* - added cpufreq speed to Tooltip +* - corrected color when on low level and recharged (was red, should be green) +* - merged diffs after 9.1 +* +* Wed Apr 7 15:48:15 CEST 2004 - trenn@suse.de +* - changed Autostart to AutoStart (#38075) +* +* Mon Apr 5 17:12:34 CEST 2004 - seife@suse.de +* - increase AC adapter polling interval to 2.5 seconds +* +* Sat Apr 3 16:39:51 CEST 2004 - coolo@suse.de +* - do not rely on daemon but read AC infos right away +* - cleanly fixing double start +* - disabling suspend/standby menu entries if not available +* +* Fri Apr 2 16:02:49 CEST 2004 - trenn@suse.de +* - avoid double start of kpowersave added italian and russian translation +* +* Wed Mar 31 17:51:14 CEST 2004 - trenn@suse.de +* - delay window that daemon is not running (possible restart of daemon) +* no battery capacity on workstations +* +* Mon Mar 29 18:09:14 CEST 2004 - trenn@suse.de +* - rcpowersave to rcpowersaved +* - open notification window when on low battery and when requesting info from daemon +* - fixed 0:02 mins remaining bug +* - ask user to restart on next login when exiting +* +* Mon Mar 15 17:32:03 CET 2004 - trenn@suse.de +* - added several languages +* +* Thu Mar 11 17:22:09 CET 2004 - trenn@suse.de +* - a lot of little fixes for usability +* - corrections of translators and some translations +* +* Thu Mar 11 17:22:09 CET 2004 - adrian@suse.de +* - fix linking (no non-mt qt needed anymore) +* - fix multiple packaging of files +* +* Tue Mar 9 18:07:00 CET 2004 - ro@suse.de +* - do not use non-mt +* +* Wed Mar 3 17:01:24 CET 2004 - ro@suse.de +* - call correct yast2 module +* +* Wed Feb 25 12:20:07 CET 2004 - trenn@suse.de +* - use bz2 instead of gz archive +* +* Mon Feb 23 18:14:33 CET 2004 - trenn@suse.de +* - corrected .spec -> file inconsistence +* +* Mon Feb 23 17:59:51 CET 2004 - trenn@suse.de +* - cleaned up +* +* Mon Feb 16 14:56:57 CET 2004 - trenn@suse.de +* - initial build +*/ diff --git a/doc/doxy/enhance.dox b/doc/doxy/enhance.dox new file mode 100644 index 0000000..c025945 --- /dev/null +++ b/doc/doxy/enhance.dox @@ -0,0 +1,94 @@ +/*! +* \page enhance Enhancements +* \section enhance_sec All planed or to be discussed enhancements/ enhancement requests. +* +* \subsection enhance_device_powermanagemnt Runtime device powermanagement +* \b [Priority: \b M] (for v0.8) \n \n +* Add device/runtime powermanagement to KPowersave and make it scheme specifi configurable via +* the configure dialog. At least allow this for 'Advanced Powersave' scheme. \n \n +* The powersave interface for this feature already exist, now we should allow the user to +* change it. \n \n \n +* +* \subsection enhance_CPUhotplugging CPU Hotplugging +* \b [Priority: \b M] (for v0.8) \n \n +* Add CPU hotplugging to KPowersave. Allow enable/disable CPUs/Cores on multiprocessor/multicore +* machines. We need scheme specific configuration. (translations and needed strings are already +* added to KPowersave) \n \n \n +* +* \subsection enhance_configure_display Display battery and CPU informations in the configure dialog +* \b [Priority: \b I] (for v0.8) \n \n +* It would be really usefull to display all known information about the current state of the machine +* and powersave/KPowersave in a new page in the configure dialog. This enclose CPU, Battery and +* current scheme.\n \n \n +* +* \subsection enh_ControlCenter_plugin Plugin for the KDE Control Center +* \b [Priority: \b D] \n \n +* It would be really usefull and easier/plainer for the user to add the configuredialog also to the +* KDE Control Center. By this we can remove the klaptop-plugin under SUSE from the Control Center by +* default. So the user would be no longer confused through the klaptop plugin, which is obsolete under +* SUSE. \n \n +* We maybe also can move some/all of the powersave YaST-dialog to the dialog. We can use 'Administrator +* Mode' to protect this settings. This would be usefull for other distributions. \n \n \n +* +* \subsection enh_tooltip Tooltip +* \li \b CPU \b Tooltip \b like \b kicker \b mouseover \b effects \n \n +* \b [Priority: \b I] \n \n +* I like the nice mouseover effects on Kicker. Unforunately there is currently no QWidget for this. +* If we would implement this we need to adapt the wifget from amarok/src/tracktooltip.cpp. +* +* \li \b Battery \b estimated \b empty \b at \b xx:yy \b in \b Tooltip \n \n +* \b [Priority: \b I] \n \n +* It would be nice to be to know when (estimated) the battery is empty and not only to know remaining hours. +* +* \li \b Optional \b full \b information \b Tooltip \n \n +* \b [Priority: \b I] \n \n +* We need a optional "amarok-like" Tooltip to display more of the already existing and collected information +* like current scheme, battery state, battery fill state, cpu freq ... and a icon/picture representing the +* current battery state. There should be a option in the configure dialog to switch beetween the normal and +* the enhanced tooltip. +* +* \li \b CPU \b Temperature \b in \b Tooltip \n \n +* \b [Priority: \b D] \n \n +* It would be nice to be able to add the current CPU temperature to the tool tip. We maybe could get this +* information from powersave or we need to poll a configured path in /proc/acpi/* . The user should be +* able to configure if he would like use this new or the normal tooltip. The best would be to read +* the settings by default from the kicker settings and add also an own kpowersave option. +* +* \subsection enh_osd On Screen Display +* \b [Priority: \b F] \n \n +* It would be usefull to have configureable OSD to display permanent or event-based information for +* the user on the display. Possible displayed events: +* \li daemon.scheme.change +* \li acadapter.offline, acadapter.online +* \li battery.normal (full charged ), battery.warning, battery.low, battery.critical +* \li battery.info (displayed as permanent only) +* \li temperature.hot, temperature.critical +* \li processor.performance, processor.powersave, processor.dynamic +* \li cpu freq (displayed as permanent only ) \n \n +* +* +* \n \n +* \section design All to discuss and research design enhancements +* +* +* \n \n \n \n +* \subsection LEGEND LEGEND +* \b Priority: +* \li \b M (Mandatory): \n \n +* The stable release shipment will be dependant on this component being included +* within the release.\n \n +* \li \b I (Important): \n \n +* Adds significant features. Important features are stretch targets for this +* release. Important features will become mandatory in the next release cycle.\n \n +* \li \b D (Desirable): \n \n +* Adds considerable value. Desirable features are targets of opportunity for +* this release. Desirable features may or may not become mandatory features +* over time.\n \n +* \li \b F (Future): \n \n +* This requirement has been deferred to a future release. It is listed for +* informational purposes so that product development may make informed +* architectural choices.\n \n +* \li \b R (Rejected): \n \n +* This requirement was suggested, but rejected as not in harmony with the value +* proposition or positioning of the project. It will never be fulfilled.\n \n +*/ diff --git a/doc/doxy/fixed_bugs.dox b/doc/doxy/fixed_bugs.dox new file mode 100644 index 0000000..5634132 --- /dev/null +++ b/doc/doxy/fixed_bugs.dox @@ -0,0 +1,215 @@ +/*! +* \page fixed_bugs Fixed Bugs +* +* You will find the newest bugs at the top of this list. If there is no comment, the bugnumbers are +* from the SUSE/Novell bugzilla (https://bugzilla.novell.com) \n +* +* Note: This list only contain reported and fixed bugs. The list is maybe not up-to-date. +* +* \section fixed_bugs_sec_0_7_x All fixed bugs for the 0.7.x tree +* +* \li Bug \b #245081 - KPowersave does not set (ondemand) governor on startup \n +* \li Bug \b #244052 - Close lid of a laptop and suspend to ram cause KPowersave 100% CPU \n \n +* Needed to uncouple Action calls (as e.g. suspend on lidclose) which include blocking dialogs +* from the related events. This is needed because otherwise the D-Bus QT3 bindings run amok +* if the dialog block the filterfunction, since signals in QT are not really independent +* (they are more function calls). Used QTimer:SingleShot() for this since they go into the +* QT event loop and don't follow the workflow of the rest of the program. \n \n +* \li Bug \b #229960 - CPUFREQ_DYNAMIC_PERFORMANCE seems to be ignored during boot and scheme change \n +* \li Bug \b #230686 - KPowersave need to be restarted to set changed DPMS settings \n +* \li Bug \b #230965 - puzzling battery state info \n +* \li Bug \b #231709 - kpowersave-0.7.1-12: comparison with string literal \n +* \li Bug \b #231184 - KPowersave crashes due to uninitalized LibHalContext \n +* \li Bug \b #229234 - KPowersave does not fall back to userspace governor \n +* \li Bug \b #215262 - Suspend to disk with attached usb storage not working \n \n +* Depending on a KDE feature KPowersave umount all external media before suspend and display +* an error message if the umount fail. This need a special patch for the KDE mediamanager.\n \n +* \li Bug \b #223164 - After suspend, second core has performance governor set \n +* \li Bug \b #223517 - Powersave: CPU scheme "dynamic" reduces speed if only nice -19 processes run \n +* \li Bug \b #223637 - kpowersave crashes in first login \n +* \li Bug \b #225212 - KPowersave crash on ThinkPad X60s \n +* \li Bug \b #221715 - Functionality for configuring lid close event etc. to trigger suspend not in YaST +* any more, but kpowersave doesn't have them either \n \n +* Needed changes in KPowersave to adapt the new powermanagement structur and allow the user +* to configure options we had former in the powersave daemon. This include also changes in +* the configure dialog to provide a way to change settings as user. \n \n +* \li Bug \b #223922 - System not shuting down on pressing power button \n \n +* Changes due to new powermanagement infrastructure. (see also #221715) \n \n +* \li Bug \b #220289 - kpowersave 0.7.0 gives battery level notifications while charging \n +* \li Bug \b #220271 - CPU Frequency Policy setting not possible with kpowersave \n \n +* Changes due to new powermanagement infrastructure. \n \n +* \li Bug \b #220222 - Restarting D-Bus makes KPowersave unusable \n +* \li Bug \b #220212 - KPowersave: Changing brightness does not work reliably \n +* \li Bug \b #220553 - suspend2disk doesn't lock the screen in KDE \n +* \li Bug \b #167919 - DPMS energy settings are ignored / lost in new kde session \n \n +* Added DCOP interface to allow KDE to check if KPowersave set special DPMS settings. \n \n +* +* \section fixed_bugs_sec_0_6_x All fixed bugs for the 0.6.x tree +* +* \li Bug \b #198237 - message: DBUS daemon not running appears (part 1/2) \n \n +* For easier bugreporting and assign of warning messages about powersave/HAL/DBUS state added +* string "KPowersave" to window caption. \n \n +* \li Bug \b #184076 - KPowersave: display wrong command to start dbus daemon in errormessages \n \n +* If the dbus daemon is not running KPowersave popup a errormessage. This message contains the +* command to restart/start dbus. This is the wrong command on SUSE/Debian/Ubuntu and other. \n \n +* \li Bug \b #183745 - KPowersave: open on SLES/SLED the wrong bugzilla site \n \n +* If the user clock on "Report a bug ..." in the kpowersave help menu on SLES/SLED, the wrong bugzilla +* website is used. Instead of opensuse.org we should open bugzilla.novell.com. \n \n +* \b Fix-comment: Added new configure option (--enable-suse-sles) to force SLES/SLED as detected +* distribution and changed detection if SUSE Linux to detect SLES/SLED. Changed +* the bugzilla site for the SUSE Enterprise products. (NOTE: the bug isn't public) \n \n +* \li Bug \b #176782 - KPowersave: Changing display brightness is to long winded \n \n +* If you like to change the display brightness with KPowersave (temporary), you have to perform five +* clicks, going through all the menus and the configuration dialog settings until reaching the +* brightness settings [...]. \n \n +* \b Fix-comment: Added slightly adopted patch from Timo Hoenig to allow change +* brightness if supported by hardware and enabled in the scheme via mouse wheel. \n \n +* \li Bug \b #182515 - KPowersave: configure dialog allow set invalid dpms settings\n \n +* The KPowersave config dialog allow to not valid DPMS setting, wich result in not set DPMS timeouts. +* KPowersave does not follow the rules for the X-Server from www.xfree86.org/current/DPMSLib.pdf. \n \n +* \li Bug \b #168619 - Access to devices from remote session. \n \n +* If you start a remote desktop session, e.g. via VNC, KPowersave display "Powersave is not running ..." +* message also if the powersave daemon is running, but the remote user has not the rights to +* access the DBUS interface of powersave. \n \n +* \b Fix-comment: Reworked detection if DBUS, HAL and powersave is not running and if the user has the +* needed rights. Added new error messages and translations. \n \n +* \li Bug \b #177792 - KPowersave: changes via dcop are not set to applet menu, some dcop functions missing \n \n +* If autosuspend is disabled via the DCOP interface, the change is not set back to the +* applet menu (enable applet entry). There is already a dcop function to get current scheme and +* CPUFreq policy, but there is no function to change them.\n \n +* \b Fix-comment: fixed disableAutosuspend(), added missing functions. This bug partly effect +* sf.net bug #1483392. \n \n +* \li Bug \b #177788 - KPowersave: autosuspend does not suspend after set time if dpms is on +* (also: (partial) sf.net bug #1483392) \n \n +* If the timeout for autosuspend is longer than a timeout for a dpms state (standb/suspend/off) +* KPowersave suspend first if the user was as long as timout for current dpms state plus timout +* for autosuspend was idle. If dpms state changed befor reached autosuspend timout all start +* again from zero. The problem is: idleTime from XScreenSaver extension does not give (as descriped +* in the code comment in the header) the complete user idle time but minus the timeout for the current +* dpms state. \n \n +* \b Fix-comment: Added a function to workaround this. This was also effected by \b bug \b #180000 (dpms +* timeouts are additive, but they shouldn't) \n \n +* \li Bug \b #168838 - KPowersave: event for resumeFromSuspendToDisk displayed twice in knotify dialog \n \n +* Fixed typo for resumeFromSuspendToRAM and corrected translations. \n \n +* \li Bug \b #167296 - KPowersave: always show the last known remaining time in tooltip on APM if charge \n \n +* Remove no longer needed (useless) checks from pdaemon. With this the time is set to -1 if charging and +* if the powersave daemon reports UNKNOW for remaining time. \n \n +* \li Bug \b #165462 - kpowersave: knotify messages have a strange source \n \n +* Fixed bad UTF in eventsrc from translation. \n \n +* +* +* \section fixed_bugs_sec_old All fixed bugs since kpowersave-0.3.9-1 release until v0.6.0 +* +* \li Bug \b #134683 - KPowersave: Disables CPUs show as "Processor 2: 100% 734017 MHz" \n \n +* Fixed update processor info on machines with more than one CPU/Core and/or no CPUFreq support. +* Check now every two seconds for updates/changes in /sys and /proc. \n \n +* \li Bug \b #121965 - KPowersave should not complain about missing powersaved \n \n + Added new errormessage with checkbox to disable the message. \n \n +* \li Bug \b #116440 - KPowersave: missing space in minute field in several languages [de,fr,it,pt_BR] \n +* \li Bug \b #116439 - KPowersave: not update translation files [sv, tr, uk, sk, ru] \n +* \li Bug \b #116438 - KPowersave: missing Polish translation file \n +* \li Bug \b #116353 - KPowersave: ooopps, my desktop comp is "Charging" [KDE; Hungarian]. \n +* \li Bug \b #116079 - KPowersave: missing translation in the suspend progress dialog \n \n +* If machine suspend KPowersave display a suspend progress dialog. The messages in the dialog are +* not translated, also if there are translations in the po files. \n +* Fix: The related messages come from powersave scripts and only start with the translated strings +* from the po files. Added function to parse and replace them against translated messages. \n \n +* \li Bug \b #116079 - KPowersave: missing translation in the suspend progress dialog \n +* \li Bug \b #115903 - KPowersave: menu entry "set active scheme" visible if powersave is stopped \n +* \li Bug \b #115914 - KPowersave: problems with edit blacklist dialog with bigger fonts \n \n +* The dialog for edit blacklist is not correct resized for bigger fonts. There are also some overlays +* of some widgets in the dialog. \n \n +* \li Bug \b #115584 - KPowersave displays warning twice when powersave shuts down \n +* \li Bug \b #78953 - KPowersave: does not start at all (beta1, NLD9)\n \n +* Added new option --force-acpi-check to dektop file and added a new file for autostart, to force +* start and recheck for acpi on a machine where acpi ckeck failed at the first time. \n \n +* \li Bug \b #95250 - KPowersave has no online help. \n +* \li Bug \b #106177 - KPowersave: Show again the cpuinfo_cur_freq in tooltip. \n \n +* KPowersave currently does not display the cpu freqency in the tooltip. \n \n +* \li Bug \b #113559 - KPowersave: only one autosuspend. \n \n +* KPowersave make only one autosuspend. After resume you must restart KPowersave for the next autosuspend. \n \n +* \li Bug \b #105555 - KPowersave: Patch against ugly disabled icons. \n \n +* Attached patch is against ugly (=all grey) icons on disabled buttons within KPowerSave dialogs. \n \n +* \li Bug \b #104382 - SIGSEGV in KPowersave. \n \n +* When starting YaST Powermanagement module from the context menu of KPowersave's tray, the application exits +* with a SEGV. (fixed also some file descriptor leaks) \n \n +* \li Bug \b #104603 - kpowersave says "Battery is chargin" - even if I run on battery. \n +* \li Bug \b #104445 - kpowersave: Suspend only possible if power is connected. \n \n +* As long as power is connected, could suspend via kpowersave but as soon as plug oput the cable, the menu +* entries are greyed out. \n \n +* \li Bug \b #95279 - kpowersave progress bar popup does not handle "close" event. \n \n +* If the progressbar popup does not get closed by a "101%"-event, it does never +* close. If you close it via the window manager, kpowersave never opens a popup again. +* Fix: Now the suspend/progress dialog is Qt::WDestructiveClose and KPowersave connect to the +* destroyed() signal of the dialog \n \n +* \li Bug \b #82880 - KDE: KMessageBox::error not on top since KDE 3.4 \n \n +* All KPowersave error messages are not on the top, and popup in the background. \n \n +* \li Bug \b #81681 - kpowersave: progress shown below active window \n \n +* If you suspend with powersave (e.g. powersave -U or Fn-keys) the suspend dialog is not on top level. \n \n +* \li Bug \b #73805 - KPowersave files descriptor leak \n \n +* Bug in kpowersave: If kpowersave can't access /sys/devices/system/cpu/cpu0/cpufreq/scaling_setspeed the +* open filedescriptor is never closed. \n \n +* And: The update_info_cpufreq_speed_changed isn't set in all cases of the function. So could it happen that +* kpowersave display wrong CPU Freq. \n \n +* \li Bug \b #73810 - KPowersave ignore screensaver/dpms settings under gnome/xscreensaver \n \n +* If you use GNOME and have a scheme setting where 'Enable specific screensaver settings' or 'Enable specific +* display power management' is not enabled and you change from a scheme where it is, the settings are ignored +* and not set back to user default. Same Problem on exit (selected by the user): kpowersave don't set +* back to usersettings. \n \n +* \li Bug \b #72939 - kpowersave should set the KDE screensaver and dpms settings back if quit \n \n +* At the moment KPowersave don't set the KDE screensaver and dpms settings back on exit if changed trough +* the scheme settings. This should be fixed. I think its enough to reset the settings in _quit() and not in +* the destructor, because them need only to reset if the user exit kpowersave and not if the user logoff from +* KDE. \n \n +* \b Comment: Problem also: kpowersave try to set KDE settings if scheme changed also if KDE isn't runnig +* (e.g. GNOME). \n \n +* \li Bug \b #72846 - passive-popups are not sufficient for kpowersave \n \n +* Almost everything that is signalled through kpowersave popups now is important, so passive popups that +* disappear after a short time are nut sufficient for this task. \n \n +* \b FIX-Comment: Now the user can choose between KPassivPopup and KMessageBox be change configure variable +* in kpowersaverc by hand. Default is KBessageBox. \n \n +* \li Bug \b #71955 - not set the schemesettings if user changed them via configure dialog \n \n +* If the user change the scheme or/and general settings of kpowersave trough the configure dialog kpowersave +* set this settings first if there is a scheme change. \n \n +* \li Bug \b #71192 - wrong enabled items in configure dialog if DPMS diabled \n \n +* If you disable in the kpowersave configure dialog DPMS, all work correct and the textlabel and spinboxes +* for the DPMS settings get disabled. But if you change a scheme or restart the configure dialog them are +* enabled also if DPMS is diabled. \n \n +* \li Bug \b #71016 - kpowersave never update the menu if powersaved not running on start \n \n +* If you start kpowersave (v0.3.10-6) without a running powersaved the user get no warning message. If you +* start powersaved later kpowersave don't register that and never update the menu. \n \n +* \li Bug \b #66662 - kde screensaver disable problem \n \n +* Kpowersave overwrite the settings of the KDE Controlcenter. If the user select there 'disable screensaver' +* kpowersave ignore this settings on start or if a scheme is changed depending on the global settings of +* powersave. The screensaver settings should be configurable by the user and should not depending on 'root' +* settings. \n \n +* For more informations about the solution take a look at the \ref changelog . \n \n +* \li Bugs \b #66502 and \b #66652 - kpowersave icon shows empty batteries on non-laptop \n \n +* " ... The tools panel in kde contains a kpowersave icon. For my workstation, which is +* definitly to heavy to be a laptop, it shows empty batteries, next to a mains +* connector. The connector is fine, but the batteries symbol should not be there. ..." \n \n +* \b Comment: Also a problem with the tooltip. The problem: powersave have the right status of AC-Adapter +* within powersave (tested on commandline) but send a wrong value to the clients/over the libary. \n \n +* +* From now we use bugnumbers from the Novell Bugzilla, since the SuSE Bugzilla is moved and merged to the +* Novell Bugzilla. +* +* \li Bugzilla \b #49845 - xscreensaver under KDE ignored [from screen.cpp] \n \n +* If we use Xscreensaver under KDE we don't get any information about this. +* The Problem is the function \ref screen::checkScreenSaverStatus() . We don't check +* for the XScreensaver, because we jump out of the KScreensaver-block. \n \n +* \li Bugzilla \b #49844 - 'disable screensaver' - 'overwritten' by scheme if AC removed [from kpowersave.cpp] \n \n +* Interaction between mplayer and kpowersave if AC removed during the enterprise. +* This is the same problem, if 'disable screensaver' in the menu is activated and AC removed +* or powersave change the scheme to 'powersave'. It's better to ignore the 'AC off' for the +* screensaver if user set 'disable screensaver'. \n \n +* \li Bugzilla \b #49632 - wrong path in message if powersaved not running [from kpowersave.cpp] \n \n +* There is an error in the message, which pop-up if powersave is stopped: \n +* "The powersave daemon is not running. Starting it will improve performance: /usr/sbin/rcpowersave +* start". \n This is the wrong path. It must mean: /usr/sbin/rcpowersaved . Must be fix in the code and +* the translation-files. \n \n +* \li Bugzilla \b #49445 - kpowersave: empty cs-translation-file \n \n +* The czech translation don't work (no translation, kpowersave only with english text) because of empty +* cs.po-file in the source. The file is empty in the cvs-tree since SUSE 9.2 final, the reason is unknown. \n \n +* +*/ diff --git a/doc/doxy/footer.html b/doc/doxy/footer.html new file mode 100644 index 0000000..96b8825 --- /dev/null +++ b/doc/doxy/footer.html @@ -0,0 +1,4 @@ +
    + + diff --git a/doc/doxy/header.html b/doc/doxy/header.html new file mode 100644 index 0000000..58e906f --- /dev/null +++ b/doc/doxy/header.html @@ -0,0 +1,5 @@ + + +$title + + diff --git a/doc/doxy/main.dox b/doc/doxy/main.dox new file mode 100644 index 0000000..a451f75 --- /dev/null +++ b/doc/doxy/main.dox @@ -0,0 +1,75 @@ +/*! +\mainpage KPowersave - a KDE Kickerapplet/fontend for Powermanagement +\section intro_sec Introduction + KPowersave provides battery monitoring and suspend/standby triggers. + It is based on HAL and D-Bus and therefore supports APM, ACPI and PMU. + + Together with the powersave package (to provide powermanagement if KPowersave + is not running) and the YaST Powermanagement module it is the preferred package + that should be used for battery monitoring and control of power management + related tasks. + + KPowersave is currently, as we know, available/running for/on these distributions: + \li SUSE Linux: defaultly on distribution + - openSUSE 10.2: from the available releases and via sourceforge + - SUSE 10.1/SLED10: from the available releases and updates (for KPowersave 0.6.x) + - SUSE 10.0: from + sourceforge.net + - SUSE 9.3 and 9.2: last available version 0.4.5 from: + sourceforge.net + \li Debian: available in unstable and testing tree via 'apt-get install kpowersave' + \li Ubuntu/Kubuntu: + - for Dapper Drake from universe repository + - for 'Breezy Badger' from + http://www.teco.edu/~biebl/ubuntu (Thanks to Michael Biebl) + \li Fedora Core 4 and 5: from + sourceforge.net + \li Mandriva 2006.1: from + sourceforge.net + \li ALT Linux: KPowersave v0.4.5 defaultly on distribution + \li Pardus: KPowersave default on the distribution + \li Gentoo, Slackware and other: www.kde-apps.org + + +\section using_sec Using kpowersave + This Applet work under KDE (and also GNOME). + + To use kpowersave, you need the following programms/packages: + - linux kernel 2.6.x (Homepage) + - HAL (Hardware Abstraction Layer) >= 0.5.8.1 (Homepage) + - D-Bus >= >= 0.6.x (recommended >= 0.9.x) (Homepage) + + Dependig on some features you maybe need also: + - PolicyKit (git repository) + + You can maybe find more information in the README file in the base dir of the project. + +\section contact_sec Contact + You can contact us via the project website(s), Mailinglists and for bugs also via several bugzilla + systems: + +\subsection contact_web_sec Websites + \li KPowersave@freshmeat.net + \li KPowersave@kde-apps.org + \li Powersave@sourceforge.net + \li Powersave@forge.novell.com + +\subsection contact_ML_sec Mailing Lists + \li powersave-users@forge.novell.com + \li powersave-devel@forge.novell.com + +\subsection contact_Bugzilla_sec Report Bugs + Websites: + \li SUSE Linux / openSUSE + \li SLED/SLES + \li Debian + \li (K)Ubuntu + \li Mandriva + \li RedHat/Fedora + \li ALT Linux + \li Pardus + + You can also report Bugs to the powersave-users mailing list: + \li powersave-users@forge.novell.com + +*/ diff --git a/doc/doxy/process.dox b/doc/doxy/process.dox new file mode 100644 index 0000000..de198ff --- /dev/null +++ b/doc/doxy/process.dox @@ -0,0 +1,51 @@ +/*! +* \page process In process +* \section process_sec All features/enhancements in the current development. +* +* \subsection process_dim_onInactive Dimm the display if the user is inactive +* \b [Priority: \b I] \n \n +* A new nice feature would be if we could dimm the display if the user is inactive. This +* should save batterypower and would be a eyecandy feature. The implementation would base on +* the existing brightness and autosuspend code. +* +* \b Status: [\b 15%] +* \li added strings for this feature to the code, translated strings +* \li splitted the current autosuspend code to a new class inactivity for reuse +* +* \b Todo: +* \li add widgets and releated code to write/read in settings and config dialog +* \li integrate in KPowersave use case +* \li testing +* \n \n \n +* +* \subsection process_gnome_screensaver Runtime device powermanagement +* \b [Priority: \b D] (for v0.7 tree) \n \n +* Since gnomescreen-saver is default under GNOME on our products and no longer XScreenSaver, KPowersave +* should support this in a running GNOME session. Do this for a better GNOME default support. +* +* \b Status: [\b 40%] +* \li added detecttion of gnomescreen-saver in \class screen +* \li added gnome-screensaver to configure dialog in GNOME sessions +* \li added support lock screen with gnome screensaver via gnome-screensaver-command +* +* \b Todo: +* \li evaluate if KPowersave should support more settings in gnome-screensaver +* \li add support for enable/disable screensaver (via DBUS interface?) +* \li add support for set time values +* \n \n \n +* +* \subsection process_help Online-Help / user guide +* \b [Priority: \b I] \n \n +* Since the funtionality of KPowersave is grown, we need a user guide and a help-feature for better +* help for the users. \n \n +* +* \b Status: [\b 75%] +* \li Added english version of online help +* \li reformated and added screenshots +* \li added help button to kpowersave and the configure dialog +* +* \b To \b do: +* \li translate to other languages (min. german version) +* \n \n \n +* +*/ diff --git a/doc/doxy/styleSheet.css b/doc/doxy/styleSheet.css new file mode 100644 index 0000000..1d4d631 --- /dev/null +++ b/doc/doxy/styleSheet.css @@ -0,0 +1,271 @@ +BODY,H1,H2,H3,H4,H5,H6,P,CENTER,TD,TH,UL,DL,DIV { + font-family: Geneva, Arial, Helvetica, sans-serif; +} +H1 { + text-align: center; +} +CAPTION { font-weight: bold } +DIV.qindex { + width: 100%; + background-color: #eeeeff; + border: 1px solid #b0b0b0; + text-align: center; + margin: 2px; + padding: 2px; + line-height: 140%; +} +DIV.nav { + width: 100%; + background-color: #eeeeff; + border: 1px solid #b0b0b0; + text-align: center; + margin: 2px; + padding: 2px; + line-height: 140%; +} +A.qindex { + text-decoration: none; + font-weight: bold; + color: #1A419D; +} +A.qindex:visited { + text-decoration: none; + font-weight: bold; + color: #1A419D +} +A.qindex:hover { + text-decoration: none; + background-color: #ddddff; +} +A.qindexHL { + text-decoration: none; + font-weight: bold; + background-color: #6666cc; + color: #ffffff; + border: 1px double #9295C2; +} +A.qindexHL:hover { + text-decoration: none; + background-color: #6666cc; + color: #ffffff; +} +A.qindexHL:visited { text-decoration: none; background-color: #6666cc; color: #ffffff } +A.el { text-decoration: none; font-weight: bold } +A.elRef { font-weight: bold } +A.code:link { text-decoration: none; font-weight: normal; color: #0000FF} +A.code:visited { text-decoration: none; font-weight: normal; color: #0000FF} +A.codeRef:link { font-weight: normal; color: #0000FF} +A.codeRef:visited { font-weight: normal; color: #0000FF} +A:hover { text-decoration: none; background-color: #f2f2ff } +DL.el { margin-left: -1cm } +.fragment { + font-family: monospace +} +PRE.fragment { + border: 1px solid #CCCCCC; + background-color: #f5f5f5; + margin-top: 4px; + margin-bottom: 4px; + margin-left: 2px; + margin-right: 8px; + padding-left: 6px; + padding-right: 6px; + padding-top: 4px; + padding-bottom: 4px; +} +DIV.ah { background-color: black; font-weight: bold; color: #ffffff; margin-bottom: 3px; margin-top: 3px } +TD.md { background-color: #F4F4FB; font-weight: bold; } +TD.mdname1 { background-color: #F4F4FB; font-weight: bold; color: #602020; } +TD.mdname { background-color: #F4F4FB; font-weight: bold; color: #602020; width: 600px; } +DIV.groupHeader { + margin-left: 16px; + margin-top: 12px; + margin-bottom: 6px; + font-weight: bold; +} +DIV.groupText { margin-left: 16px; font-style: italic; font-size: 14px } +BODY { + background: white; + color: black; + margin-right: 20px; + margin-left: 20px; +} +TD.indexkey { + background-color: #eeeeff; + font-weight: bold; + padding-right : 10px; + padding-top : 2px; + padding-left : 10px; + padding-bottom : 2px; + margin-left : 0px; + margin-right : 0px; + margin-top : 2px; + margin-bottom : 2px; + border: 1px solid #CCCCCC; +} +TD.indexvalue { + background-color: #eeeeff; + font-style: italic; + padding-right : 10px; + padding-top : 2px; + padding-left : 10px; + padding-bottom : 2px; + margin-left : 0px; + margin-right : 0px; + margin-top : 2px; + margin-bottom : 2px; + border: 1px solid #CCCCCC; +} +TR.memlist { + background-color: #f0f0f0; +} +P.formulaDsp { text-align: center; } +IMG.formulaDsp { } +IMG.formulaInl { vertical-align: middle; } +SPAN.keyword { color: #008000 } +SPAN.keywordtype { color: #604020 } +SPAN.keywordflow { color: #e08000 } +SPAN.comment { color: #800000 } +SPAN.preprocessor { color: #806020 } +SPAN.stringliteral { color: #002080 } +SPAN.charliteral { color: #008080 } +.mdTable { + border: 1px solid #868686; + background-color: #F4F4FB; +} +.mdRow { + padding: 8px 10px; +} +.mdescLeft { + padding: 0px 8px 4px 8px; + font-size: 12px; + font-style: italic; + background-color: #FAFAFA; + border-top: 1px none #E0E0E0; + border-right: 1px none #E0E0E0; + border-bottom: 1px none #E0E0E0; + border-left: 1px none #E0E0E0; + margin: 0px; +} +.mdescRight { + padding: 0px 8px 4px 8px; + font-size: 12px; + font-style: italic; + background-color: #FAFAFA; + border-top: 1px none #E0E0E0; + border-right: 1px none #E0E0E0; + border-bottom: 1px none #E0E0E0; + border-left: 1px none #E0E0E0; + margin: 0px; +} +.memItemLeft { + padding: 1px 0px 0px 8px; + margin: 4px; + border-top-width: 1px; + border-right-width: 1px; + border-bottom-width: 1px; + border-left-width: 1px; + border-top-color: #E0E0E0; + border-right-color: #E0E0E0; + border-bottom-color: #E0E0E0; + border-left-color: #E0E0E0; + border-top-style: solid; + border-right-style: none; + border-bottom-style: none; + border-left-style: none; + background-color: #FAFAFA; + font-size: 12px; +} +.memItemRight { + padding: 1px 8px 0px 8px; + margin: 4px; + border-top-width: 1px; + border-right-width: 1px; + border-bottom-width: 1px; + border-left-width: 1px; + border-top-color: #E0E0E0; + border-right-color: #E0E0E0; + border-bottom-color: #E0E0E0; + border-left-color: #E0E0E0; + border-top-style: solid; + border-right-style: none; + border-bottom-style: none; + border-left-style: none; + background-color: #FAFAFA; + font-size: 13px; +} +.memTemplItemLeft { + padding: 1px 0px 0px 8px; + margin: 4px; + border-top-width: 1px; + border-right-width: 1px; + border-bottom-width: 1px; + border-left-width: 1px; + border-top-color: #E0E0E0; + border-right-color: #E0E0E0; + border-bottom-color: #E0E0E0; + border-left-color: #E0E0E0; + border-top-style: none; + border-right-style: none; + border-bottom-style: none; + border-left-style: none; + background-color: #FAFAFA; + font-size: 12px; +} +.memTemplItemRight { + padding: 1px 8px 0px 8px; + margin: 4px; + border-top-width: 1px; + border-right-width: 1px; + border-bottom-width: 1px; + border-left-width: 1px; + border-top-color: #E0E0E0; + border-right-color: #E0E0E0; + border-bottom-color: #E0E0E0; + border-left-color: #E0E0E0; + border-top-style: none; + border-right-style: none; + border-bottom-style: none; + border-left-style: none; + background-color: #FAFAFA; + font-size: 13px; +} +.memTemplParams { + padding: 1px 0px 0px 8px; + margin: 4px; + border-top-width: 1px; + border-right-width: 1px; + border-bottom-width: 1px; + border-left-width: 1px; + border-top-color: #E0E0E0; + border-right-color: #E0E0E0; + border-bottom-color: #E0E0E0; + border-left-color: #E0E0E0; + border-top-style: solid; + border-right-style: none; + border-bottom-style: none; + border-left-style: none; + color: #606060; + background-color: #FAFAFA; + font-size: 12px; +} +.search { color: #003399; + font-weight: bold; +} +FORM.search { + margin-bottom: 0px; + margin-top: 0px; +} +INPUT.search { font-size: 75%; + color: #000080; + font-weight: normal; + background-color: #eeeeff; +} +TD.tiny { font-size: 75%; +} +a { + color: #252E78; +} +a:visited { + color: #3D2185; +} diff --git a/doc/en/Makefile.am b/doc/en/Makefile.am new file mode 100644 index 0000000..c00bb73 --- /dev/null +++ b/doc/en/Makefile.am @@ -0,0 +1,2 @@ +KDE_DOCS = kpowersave +KDE_LANG = en diff --git a/doc/en/en_applet_autosuspend.png b/doc/en/en_applet_autosuspend.png new file mode 100644 index 0000000000000000000000000000000000000000..3d3e59b39d525a3bd257fc43af4f0613a241c852 GIT binary patch literal 18995 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 literal 0 HcmV?d00001 diff --git a/doc/en/en_applet_configure.png b/doc/en/en_applet_configure.png new file mode 100644 index 0000000000000000000000000000000000000000..78fefed45d04e3fc47f45516a431ed9db4397681 GIT binary patch literal 20207 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 z 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 a@&5qhPZLUNYXWot0000cXf4F^{1-B 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 V__OgT7@q(D002ovPDHLkV1iFH{Ivi8 literal 0 HcmV?d00001 diff --git a/doc/en/en_applet_suspend.png b/doc/en/en_applet_suspend.png new file mode 100644 index 0000000000000000000000000000000000000000..ae2204642d37fc7c52c1d34681fe2acab9aa1887 GIT binary patch literal 20423 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
  • 7NcEm|MYq{07M0GNQU|{rzkf4pYAd=U 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 E1;^V_-T(jq literal 0 HcmV?d00001 diff --git a/doc/en/en_configdialog_schemes_screen.png b/doc/en/en_configdialog_schemes_screen.png new file mode 100644 index 0000000000000000000000000000000000000000..2a15403c418444a51df1beaa13b084f3690a6903 GIT binary patch literal 37338 zcmZ^~WmsIxwlxgF-Q9u&cWa#BE`bmiZfOYa5(t(AcXxM5AketG2ZwKE?|bh# z?~m_kSWOpIYt@vRHOH*c(dw#lsHCVcFfbSj^3obGFt0!`Ft7{Ah(JsA%&k7Qf|MM$5Y$pc%foQ5ECk^xR_m$sXk^}>j5TGC}@!o6kD92m*y?4W4hAREO_wd;0 z*sai$A-#8CTY%#XN5+_&kI%b2{>7LWrT9hBg3THJ7_<#`em3@T>rnfGkRkelkmFa# z$TYsNBQ&wEWU6BrLs$zKv!Vi4Pag-q;Wuj~hbJo3@6zQtrL8{Yu8LY*JnTUAi&FSk z8a-foInjGLKNXo4QMnl_slWO6W4~m8WmI+b!vK z_)(Iv0b2%U4g4KGW@mhnIeXh_5lkCi(FiYkN&NJv=*r_iD-+uEa!({6*QeSBBpK#5cg`#WbTq>d_2`0 zp<9-U{nEs$p-q)I9^~I`KDS{T(vGX}m<$-eQ}>H4o{(lSiXx#p)(Kg=&Ypu}Vym z%L;eSKo`L6Kk^rEL}45YSw>K|18XD?^c~m7(miqRcdO5yOkoZ9TWACrFPnGzRWvlTPNr@p-nK&F7F@qz8x)F;HEjzh*DNsm;;cdsHKgd}?N_IC$&$@)|K$ zOzNX1kw-XTR@=!Q0>*|b8NrfIy(M4~+34uiFw^o$Ed<1nII>VTd>?w^>J_Ch>h^i9 zy!8W<4*^BZzf%kH|4jK>ciytOrzMur)bwW! z#3RQf8`OJwc)*K^rz)9gde>4UrFxkh6~OgGe|#nLuAfaHfGQgD5RkmdgekW@J^pz@ zEm5B>etPjYT4NW!fUitp!45kjBI0?9Qpj+or9tZ(vD?qoORES(-C#}ZpP2((fa?@? zNk4G@xE?3#aiSh%q^2m!wUPaL!_8&Z94YCDe^4j@mIdaWv7cT1`ZOQU1&tgVhX68$ zxTdk}n#~C7r`0up7UT|dw%%db)FiXM8t}ya(TrWlwN`kIJ6F^hcdPJ|YeeuJCmrEod9 z_N40WzGO~48STDqQT0BGxYgJ2r^5ew>^x$Ou}2Q9 zvG(NOwZ!6c_Gg1optWS}>E+(2Wx$>>Q=iIIofs~LHX(z!bxNN&%ge+*(amh8;)7|8 z|LdJo`R-{QKE{wqb6V=}iIiHy>~W{(ydro@D9ji=Nw(WGBK}&~i5FRK-+gPwI7}Iw zp8gqM_bBw$@MpeOdfF+RCeG^%jU(itxotmgPUJ?~;f1{bOwo3=sfC$vwg)q87k;wL zd%_=XvAyy87^RK}J)QwX>y*jxF$-7RkD_hJ_!EX)k{lS2^5q)Z>*>dK^^_Hvtc14v zFuFN)1|``vPDSkzy|eO8MZf&Pd}bSNfg1|yqWc{7W&Z7-?!&2wK?N_vnn&WP!JjV? z@&y9#gf4!T6XUyIMh}HdR^#hRp|<3rfB8bXFylu8L?g)xp16Q;)H*a?hr{qc>91zq z?PUa$_>6d`i>V1!){BJ&PgQ1>{SAtTOUejLxw)l|%}C-@RN1PPlCo^rpV1y0g^lZN zu|FsY8S^z#VuH0fZ6479HP^k<@lawk)I;oVLYj(xnzw& z#2H;;Y`30NbP2v>dFFA7AZ$0DCkQ-e_!Ixsv;xQQIw0B^*NR2#i~zd<@(=CYE}>4l z0nR!nGEzAqR8byIrFcm$tZnb274c57dtz>oE^4Bv$kg0#6mbqUa#3FdiMy^k&b3{A z*zYO+ReD}TANXyRoyP{rm)^KReydv_WO1!bQ2Y^A8=X*c?-gAD$5C+?uMMcMdZG-@ zFU6azw9uNqTZvUWZkt{Py`JEkdJw!o@>8^1JZ~y7%J!6#awSrngXAw%o&GqIO#ZM! zND(WctW#&?!9Mam>+4Aj#h^urS*{t(lfdT+eclsCq@t6t^5FvEq##Y_JH|>IL>X&) zl$h^})8|!KlB&CROmtK~FjG{2cP z#;~+k#E%mU-5Cc~{s7PLI^8b{R_+MXb$;$Rw`8AUk_5_dQ+E1^q>00d_+UwTZ7uFw?$Y_G{dKbM2qtBv=3`N;9ZB@>WmVjJG#AELBlbGi!xGNb*V_ELpR!cIKqd&|#$ zpYW1=q|&pfoS1cO6>2Y|_oPb?mn0H&)mbKu*c=n$bD>fi&h+()hOIoDWSTjqZi4$C zQz{K+&q{B~_FzN@CTKIxL@HkO$47_n9TE-dw^ohwAX;hu{Ct0>HS?Br>HCc6FTp&$ zi1^NX38f?UMw3jX8rlYmzXvT!I`LiRi|YUPyq7XB*lH;MRt z@cZTNJ`33UC0R(^ajN-pfXBObKj}Sx5xnkm4ef!gqLr&$NH?jni-3gd-(42Iu1ko5 znFO=Engomvgi~csQ&H4@KjmzOoOvB8nL$~Oh*m29ZiPeD{}O!BvOf#M->PwV>x zL3hDeoYUXT>)UoLa` zZ|s2{3WlWb?(yFSV&nRImTh|I=0-6mdIz7PkAd{gAub$rV$#|HSvjKZ-F$*-?lbkfxy}r1zY4W`-we&NnR``sYy?u zn7`%!_|?kuUNC%kWWb80M>=viaz!rTW4d!J=7^)4N*z`|L*TL+>6L(@82f`;aLHWW zo9wNH@Q$xh*{hiSg{6pxl*q_*{CyovgMLG zI&?T(O)4m^%hR6;`jIHSaGVEkHF;UUa*ciMDYQp!L-rl^XC^P;ohx2@`t65Lm1I(Z zI8&3EK&+&Yg`)-1piO!bYps#6Tr0R6B$a94( zN13;oSWaAs1u1dV{w>gN+``G{lFb8Ym7H8Fh2f}B!3o40#&6?bNPQp=u6=<02dyX27(5F3e3NWxrZLOT)5<(6IH`-MtrlZlFgjK5NBZkW0j zr1I%OPSrb*mxx&DNDZr0n6?#^8G*^V>a0P` z&p~SU1M!OFGa>*{$R>A9pY*8I`B__Jptr=p2F=8)%sJviTOQxc=e-YX&9ywIMYlgY z<8XE?M2?Qz|G(z#Bji3fVB4RP4VKOIdV4=j4miqn{cu(zMr z1Bi$Vp`Eg7UH-&mtq8`u%(OFZe(UihTh5G&?0_H$9C<@cAXG3Q@vHc z$qfOM9-MegmbzL&PuIJQ_?CZuT&~qGdHF_39fmE5JPZLY)L~n)zy({!HO7#H>zb@Xll&hekFW66V%zpc62e@w~(=^1y_o&+5&0cb6sd4s-&4 zr?@5S0{3up+IVw57*9phe|NSH7m~EudH6s7Gdtb9IbD^BxqN=|{VR_PZF2(jkp<+l zdCalC-0JyPjxG9kF0~e;gtG-QXtVheaGK377PB4xzODyzW%f%QPU|5|AAS%!<6;|8 zt#yYY6}un)QuRAtM}-H@lYX&y^(|2e$iMD=)XWkAEWJxn(7J zOWr)uhbioF#96La&y7LG&#U$AJr{+r$5uyJ!`uiIAK0}A=Zk)|Zo43Z*!|_t% zzmnj%T<%TNCW!|I2;YkO-F_BA;(l!|0|;WK+X&8~a6%-B+FMUv*r z!A}q$o5z#S zp;Og00Qf^AuG60*-K5l1OMWoa`Y?^dXd;Q9OK1IeyKkfTvSy(yMy=gEyL9(SqsOtH zm{hX8_iV9BvV-sTND7)AgDq9hqB9-+cLA@s?;py!w@1?$8sJVxQdk^B>=!r#^OhPN zUD?S;Q+LO+A`SXjKW?LAJRi>j zsZx=Et^z9vBjX>oLX=R;i!qHVa{O-J17~J&3QdXy^11`3rQwrLBZ!%f5 zD|8Z;THL=s*^g)PMHy^8VNwWfIW9H3T5;?5Art8enKo<-;RwHOjAAs6lJ_EMINN-1 zuq3cr0-0L@j>=Cd<|pvrHJ|Ldu9KYL*8%FQ4zX7P{|zhBL*waOX17)+tfp*Q-;yDY z%PreO7`j2TC2GEK&9rdyl|~@%i>-Bq>>6#kjN|O54QmD;s)9VVuL3$di}2e!ebIQ` z$EA(CT;3PvvrW!svlSm(y|xieBmjY~-=O!krAU#;##2JZek;rU{H9e#`~51fMvia` zkUlEAQCw3x%HZqM=jFA#Hm~y@%UD?msf_HPU8F;^YM*XM)D(N-VrSq>)h5!?81uw8 zNAvk1V(@Nm{d-gH`lAZY5ODXhAQ3@6yl(NNVnv9S7Hm_awxYeRA^a8$-O zx!;4WRdra$pGZvdi+$uZ|z z)n1yrP`5x0loO-({B!onax1OMv&ZIO{BCrf#ENQ({YsmlVKa3cdssW}cmerA8WkiIB!_UMrAgEB&iR#j%jY1PHxF*?{Jzu-lZqx}qPuji!Ytf%z^mkC+&j0R!f z(iE(iJccBF4jY0U%7_h}a?ux)u%-XO;65jBA)M-Z7k#=AhD-If*J1Z5oM^*&&3I{j z{CB{E^LE5BQH`@1ivz2ZswtNbp@;tCxY(gtp7sdaO+(Q-(UbU*B9${-P!lycD(mfQ zPHOpgN>Cf?8AWB*b(o;xR_N~w^@BiL?g%N-#~-`Mq-0r;4xuf(uO;f*f=%@uKRW1 zkDTFQ)@rt2MK;00z{qqrv{iS!1_Nbzpf_*@W&kt;Hv}5sVE#@CDCc8?{x-Y@1M`7- z3xy#HDi?#v7XW4gbm>zO8-yH_tlvYropK>_n41IF2}m#q#f+QuMEoAR!L=g@6V)7X zsi}l8PAnTcHGiAs=u_q-SbxloR3*9w_-F0EV_o=i`X%5vAV7>!?2-c&1TgE2*!7 zq-ur@yXnCfOkm80U&#UD-=3D)-r%A*fWfx5wu;Nk%eL0m>YK|#?be+|kZlq!K*Mk_ zgNT^UNg!uDBMqT@gSe!*o}Q3_!9hN5?t+O4)t~e8hXH1xhCX2Cs}YWfCc)8IT4Hot zA0NF0dFgeh+o<2af79;l?($5wt21uh~P)Skoy`f=6 zOiaw!x|CnW9+M*f@X9AP)nN>3kX4&J!GWZm=n!4f=RuQ(sihuBi1>V~+5f z1WgR?oC}IAhYTI4T9cVZ8ig%n(bOT_+WKqcoF3#g#&5brSzHO45IRx?x;vwnn`}qb zk_<=75Xzes?-kc)2A&D@a{&40V2n9$lAU>^C|NREGQ@_ zRgH~un*$K0`s9o^OiU=4n3&cJRn!Obl~{p+f$h(_7@+g>^HRfhA)Umeq-kJV{#DLv zIY#Wm`aUNTiwY4Bu};xysX{`{^*|F*a%wj-lgCJIV?47 zr(f?X2j*TcwsSNoC@J+0CD5+#>_kN4F}P5^U;6Upi=vpA7_qPi>kUg)hM+6`?l29M z)Bb0*nViV=oTk^~`QXpClZEQg2g(lCoAW?bAWxPoQY;p?1JA!NQY4uBriG@I$~r9? zK{>gb>x-G^|A(Z)u-&$QlIXZvj z4%E*82q7#iEXV@L=@8`woYr9U>TMBHYihXXDn61`S63VFPZvghOWOwWpdYiwN8Xoc zXlQUsPEJ)V&9>oPe}P6-Uw=PS=tm8W0!am6i5Z&+Y%P1PS_DL?zOeRUJP4Z&pbH2K zlPwm3Lc)(RsKgAG$E+rE%MZ-=SK5WwBfhW_w0Q3qrOj2d`aI1JD8ZNwPfQHZ#)}lh znV=vecL5pdKT033_nmY~%FV49xEp53n|gbpq*|GKuoMIfSLJ^A!OO>|0Jtl@MC9-h zVXwv`xsm_17J_{izeCT%X=ml9kEW&@y`9cFCz~&1Q0%e0kGq}_EMBOrTJf-1`e+G- z6z6ULhRZ;R8lG8Uh@VwdMm^QPV!;*eA1At?wVgKL|7cc(#^31QvpH_$!O2-MeA#M6?@2 zd#R|ncqXg3&GPBtrUVqNwsp0@Sh~N|$k83U!bi$}4Wgy(rGaASt_D0f{2H9p9Y5UY zk99tQ3i^!Wn~U9TB^}g~2{^rG|JY*ASpX!$ntA;!m2EwOYtYik$9^KCJ|JiJB0uD; z|M)$0g)J`hVV{K7{zGZJa;{|@;pA@p41idrrKO!7A3LU+z6WhcjZn-3?pvWhSIhfngx|8#wm)`5$$ zMmRg(^X&~S#nfdfTnj~m+^Ll6l%k;_WiR~*+W7#Pqq-mIEIOkozU*07Rw5#nUR2l@ zlnCw*m4*&yerLs_Q~f|#YetRSO}@z|?kpK?C5KjtMkwxyaj>$6eL#MbEw}uvo5x~~ z3vPM^kMGHWh_qg?sj}W`R+K-CRee#eAMJ3F!F9agHFY~a9LqQn(YL+HUEcw; z?X?ljaJE+%-!naplLc}t21TzkiPg_q*ZTWJA;j~a@`B;yFe0HWtiOc`qtz%aNum~k3 z<)h!84K4JWSp+7<$c^8)x5nVl@7nPzC>_5JlggZJ{5j`Se^m^>QE+y7SMG#vgYfW~{?=H{tZsQ0`H!c>;J&q;0J%NvVAU@t)Y{P5 zNslTl2h4I#I!URb?%>ow$wKdqJ`|}vT1LhwjyrQ(b2k*qu{Y}w$afo^TYRNWd8Zk4 zo_4;}wTN&^f{?J(z+N&M?H$f5>CM5O5}%d#B$M;|d1BDLU2?AIUyQ6Wlc+E|xlW%R zF{ne}mx`ykLr`;`Q|!`mnRjNL;_A*cbA;Tlc9b1++3I~coO&m-+^5X?IykjM)V9zk zxxCXOVqAN$Uw5lrid8v&c!Q6(*VfiHRd1*Lif^(6R+};_UhH08IBtcOmiA#ilFIf} zkO6A>)ucCK-(mj1Sd75PHTN#pBsJzLVHd|3Iqxdl+8ul7&iL(Hi_(-OZ;FgVyE|tR zrAjteGwQQ5opQ{M3S=m@5VF4P;G@>n+~f1ZsjPdILqsJI&!yJp*9I~L>%BLbaJz7t zxL`reOx01h0rlLncX!?b#QrdpWb_4t+3ZyhZ3qWg-yuF?d{cC#{6Z%+p{JFX)#pcg z_EFD-`UPj8ztk02%uqbEnn(Q z@8=n|`n6c<#Hj6}Bb?RpfvoN?f2{tEN>Wtl?p*JCr0opJl<6&RJ_$);N$&KO#Cx=G&L47{WsS?p zT=Og1U*oSnaU#ViY@=h4{^YWmq3d~Fi4ySZQ8n{l<#w_?Radb^6n;7=g@K+eu3uZb zp&y#9qBx-YbN#qV6WY_A>9I19Dd~prx!PVvXwn7II+?u!gXss?`aA+xInVvk` zJ*}VY$5FQX&%&mYA1&*^&>DcGxd}g=zpdW->^aj?_uOe?v*#L z(6Hj#5=WQ{gyfP%K=#-+xR~d^0@V?N>VAt2pX&=!iwP8Ms1uXmWsEh{dJEZy_k#B` zbnph<%!x0DNouSlkaDyNUEA(lC&K5dK|hG>@IfAi)~iOIl#2Uhhqusug^2r?PAu7|CLkrUpYry zld!`z(V)&;f6%#Kt}2N{L`A1Yf0M*Hkme5$*?JA%SNTVG<;HgS1watJc3z*n&_by zD0wSLCstme-Xio6R=k*f!NU2yyWPB!`97$}rIVRI)&7@!Q0z4izSLRa%{a2T4u|%) zjN|VXUQ>=rfvk_ZaIerr8R1pqdNYgG;Awmuco#|;p=W##BTi-K%xt58=@9=F$+mtD zVkfWDh-~F2g45{DhgoS94q0(s<7*NxUThq&j~sAvE05LQ`5=|YHzD7an15mW6-Ww# z$to5$@I>%FX3&jknOwcbHbkDpzu}pTTxW_(Ea{+p-WV1eLM^aX#*BV+VT z-_7D|@Z$>0wHiO1!7glb!3G~baymchT>P+9ZVU&=eCl zDZ`spJDp2BvNKkyi5mU)BSei3_ithXg@ei`T!4Bo0z<=w^YAb2Z+!*B2vx2YIJU{LTM9QF6wBcupxv@EmQ+3R6Mbh|+LbS(zWep9A z42_benO=n#z|v?qX%>X2CdGHzTu{5^`oQNfM0QU*aI~l{M3^LjjL&1rhsMSRij=gu z+}f~&yePSZRxRG4D~<+ju^`BI800?>l&toYR&Fwz%L|Wx>MQ$d@YRaQ^k9H43kfZl z43M*i;t8Yw*ShSija#k@JeBu}TuHR=+SW5|i|R`JpUqG%Tj={La$yf#hln4nNT5b= z8nJ_ZjW7mR*&PA*S2({rw4ow?Ec{m>8sKJ$RdaA>P&aq1zH}11DwkeL_(<8;yhp4a zk89z z%=NaA0*!3>rsz+0;Z2$vmS-@|FKhi=0`6jIyNt)tL$Zy6ohibOGxwLbg;n_CVMa2h z15{0^`k%JNi)pvs^Cz+st&LpMcm?K}?qv-wN@us;B581=eRi)U4iNv^%^BBv4gZu` zG%?!p4!-gfeb=Pah;^cPYx9N$L2;I!ejlRtj~S(3fv_;Z#d%?~Q$;!*j|_eN1h036 z)HP7GVibe2v)*bjJ6%bO{X*iJb&_F%2z#e{i~eQh7O>EQaz^@AUliQA{Rh}KZf-{NLe3T6JEgeg6mM?FwWJczrVh&-D{qf?qXs?Xz@GG znr>jP4V<0$4g>AudH>Zl*ZowNs`p)MoR!Hyv3XOu!kSp@uK$LA1347^GPeKis&)H0 z%HLI#AiuU_(xt*f6!>ZXFe>D8s=U!VlBM=yvm4mgkLHNrK1lCyzRW^LA-Ym3v@gVa ze(l7ElueA-k`Jm*R0B4%7?Qbec?q#LnC$HRoG8O+@;n9#L{T~xbiVFbi^wJ1`Q!G& z9do+h{-tr?o6lat#bU1MQ0FiUWA~tu?0zyVTF!P7Z|onm-|#vtV2&>~^;%5XexiDzCFLWDlASPG ze7vyMMP&zKAP}xWFa1ttFQ>g#WE9AeHVo(8Vc1s=hIoaUqLDtB;M*xSbPqF+FD8?B zrAy8QaDyj_9Bn`x*EP9eeKOhr*LVN+4KhTejhq*1biLu>spcxk!ZVP5Q) zSUy{wY-JP|8FDX||vou%`c!s9-9TjH^0{ z^IsQjy4&m?Ki?dz7PCY%#q*$k!$!5=s#L}E9iGHjF(E-5HFF8)o#FaDf*{`j^9K|qj)19u^K5}*$t92Ak34({| zN%bp(dun%RObMoG10U_Q(=sc((E@$6ce3*U%A zGj~_C>20M7ea`%d=;}9>R1YfA%$UUxQ$=WV6QN8B=0aABNtp*zeo}%y1ls0zTPsKD4KM6@(x=4H z9tHp~ySV0Mu*lQZY&x$^VnImAtEq*4K8HnKsQ=A!Oe%*_oY`PpSw1edf!On{8Pt9L zW7Es?1DC}J{y=4z_~jT64k2N2Ze>=-!d};SW#_YPXQ5^A ze7h+kW-3UI+0(r8%vA)`jZgWoFfi6Lta7^@8kZ51hWnnVU%06-+}+*JKVCjKq^2ZC z1M$bLTjf4ZIsHcXoz8UFj2_5^4TF)AqbQc zbaKMB%JXlS!H`i>QRxSccldTomt^;2b3B^XT}|l3y@dRfYbJm=AMJE$^0~;V}c4ye+mB6Joqg zzS9CfCRV7M7Vp({ev6P>W~qq)hl8}~Ug8{`j~AouoZV?`ECqNBs&DxSGzQ|SDudC} zM#JqY+dmM2i6;TFfb%F@qj7%>K^Rjp2@JSyKNcbconkR7r3$!RPhN{iK{d(BS5{jF zY!nI9IKAR`x3|~7L{j#M-ardQ9J#o-R-AV80>v!HGi4@U4?0x$A8RUb`8N!q40}SI zkqQb6pLRBTvBdk18&@m7UM`r$f2pXL$ZGVy+~LA#*g=6toO83bC*Q32Ru%xv0K1F+ z%l+oBNJ`6L*Y2gSbK2t;e)M21}e>KO4m++JSgYIm6#O#b=y-ZS1WOHhjyoio1UNE*e55jUiT4GbJLNeRt&7}$G0NX3V28?1!x>?*xE+^ zeBicoS;f0ZzpH6E31Q&$9Lu1tp`oC%auNxgt;zsyT1RYgO%ZtiaDQ0ISJkVS$U)Sh zt|O?NC$>xl-78jmjVt`*bUCXgPIAzC+ClcNaSnJpEEfSBMD9#0;1npjPNtCNPR4q6 zxq!j!6)gwMDgtp-o2P(+uz;$iSXI}_RAM5o<9u(9=SuX(hN%kW($dnt$(Hl;hqlnv<+WQ&HeQZ-F086DO2Vsw7v!DT7d`~#hWD|`mq+izXwKkv-D z*)!EzOcDymm#ymrJ3YqeW#BFH5#UKY+!)K`YqukPBSsPx|6zP*P*PNMo?&4S=F=0N ziP-AwzIl9fv~~UMPJ=*MhLq8s)BC5&P21(fX2Z1Tv@l_5_SMB#{Qy5OG75hd#>1cE zLeD|Yz!f``=Z?KWD+BuA3jOv~+j*MqPbOCvxEBNs@@oSe&>yi1lFlh`zYz#xYW}2{ z-Biu3?i46)oirBYk3~EYKo~3SWae5hG6fc97TUaP)u3oZ>|fujp}cUlbAv9I_oA^y?WtU`+#Y4s zZocBpkn6Ws1KXOx=YsRGjpgOzNZht|cDm7IT3>^EYD{@Y>^S#Hm+{)of=3iM)LORX zaJ)WL7(@e0gaD|< z%Lpo~?mcE|M>TG3FQJ*??JB3;1Wg-dHEy+nt_}fSe@_GbZH>6K- z;{_39@16&cs`mEx-?2zF6!0x0TwR=lScYX{3Ge#kqIQUU541V84V=T(8WHt3;c1IY zJo2D^m*XqE9>rSsXAbB0oi zHeWSOXN~$ZBt;sJsB?%FPjZPsE5S$@An1+`+4bGSS}4|n{OqXGkoE#iFj=QlEj2rd zb1|>q{XV_9CFNU*V2q+7%%f%fh(|w`u^n#mD&8L3%eAB!FZ?BnsF;}0f5f9Nb;Y6- z@nX&kA@hOXqc*=mXl48LL$~)txuMNFw?@?WkA2aF&!68`zxxmHa#vy*^86Av)pWYy z$sf9ya26nM)!+szwzjssTIqJiG766ZpYL`vB23yu1`cWM)pd1sWpiQMtGc)N(%r64 zqF4Smn3k>IDm;cDpf&jehHF5--k?o)o#GIk$UHV)--+euSgTbYT6dMVp81b>y@6Bd z#7PAU3nmV?2JZ|EUh$(V-L+D~PEU^rM%}X#YH57{lB!SG;Dvq@x`w8gPf54KyWKRR z(^;}kni3GWrQbP}7dJ9=PG-m;Q`16Z5IGvb4^;&4!ZDuwD^LL!TY%^wn9s*C*J}gi z4yyl8s!DIC1i=3U#;@xUu1rpBr6fF-#sDiL8zy!WCi%G8byowrBSxv&kaB4?A$=Rt zkNtmWOeciw&!I~qBXAj*%umkAfq-aM`t(TNv;LEQ(gbH!FR<17KX@GRWEd-{$PCL- zQSat>wlRPDB>kdobobuFIgg=m;v^`&3-WIcKR^e4zr9;nTZ}jn@@k=`wq0muHq_`%x5M!3Mu^RC$(*|G&afO4-$qz3(hkjIfuz8k{-fDj(SwPMScfU710CvB}SWp#7k zf5o8cu!VXZ^O4cV$6oZPxcPD0+6S*k)K0mm;0H)fm}Lt<(2mOnDp=U%OFdAWnVs1w zhY-%2Xn1a>H8eGwH=4l2e9trMk26gxs3i3q9)Xi`qm@$vIN z^eAy~a2P-SU;cg#E_?Jd9!Um|WtsP^GQ2TW*$U{Jay7dY--#&jd?O-4?(gqEQjLN~ z|F%9j7`6hX@3L*9h4rc+Tfq61W{K*y?dnKOr)4b(z=NB|=)G;`%(116M@lnri56G? zG8n!>P%$Z~hC4YMPS*45_I#6|^c`d~s>$nP(Elmp(&*0wAOE+_n9ZPSmN0UhvTYM` zM)i9HQmyhg%qcCUbwT|~ersQN>+uaST{N;9m|ws3dmW`Qs$-n{;aw0tFQE*5h)#Ka zh-t_tX-<4(tnipK#_-q3##ISAc^72vA3F5@tc+j4@;`{r7}>1~^H`l+-%mJBX6JaX zIMo72l)~N@bo%?P-H$utS^x4Alsrz3EWR7o3fk&1?+XS2 zrS-wZr6st*CQ7Pn6V1MZ1KYG@0}Tz_4-8WQ#HBEd%5qvCJ}l-k^!=Kf>uat=1wmPg z^Aqm~pz?`y3L#m$7$Cb}KdJ>?cR2Tuq`||7l`jXwhizTwF)^qtId{eN*&<1VP~#&H zeIQ4E@zBT<^Is4T--{d#Z+6~{$P+S+PpK06^0|8_cI&~oE+Z?;?&f5f=hGfWLYi@N z-!mZrfv$st!>$cefnrG3l8-v@R1`3`y<=HsCLh0teYC&2kt1~~A+(Cy#o3t)rKL+r zq!LlT-j-liLt1yp^UI`(yCij}ue1wy^f0lptRcEWzm}F(YF?fiJfr%F%`uKB%^(u2 ze|dTNf88D(yrNq@gGnj$xaFP_>oatv<F1CT|x9a=C z@eArVXC6ZKe?21F(g4;YQUPD5QPq%nNS1OiSt`W>a5VF+!0(s%6`cYu)USNqvUfme zsp@XItNNlb(2ToVC87(XOLD{OKb_2Zp+n}nFd$a5&x*PoCse2)X--|%3&87!*k1jf znK4ac|9D}c!yjyBb3;TmK0ZDiXY~Z9n@HC^&eN@O)SL0^1858kN?vTnN?WWJAFrcj z3AD}Yxb$y*Y1BG*w+5z0L=M*J&#ccXfKOK!!xeedfQjmV4Vwd`p${&%W=Ky~!DP>k zi4>Ffku`sfUAIQx;95|hw`>znDOv*%h+F#)JdPID4^q<7mWoGkTRYbIl2E`kFkl+k z(E0>`bkX~wC>a*+Kcy2jBj>GSlC=r2zpkgLIx94xNcyqa;(;qU!pM?Lod43O^ z3L4u)?LEU+vK%7uD~u>Mc|!$8{e=(Kdm}}zyyctAQ2|2fNJJv|yk*%nGDF!Z3B?KE ziBhxzYbBW&em0m4Q3=th0SP79Boj^DgpIC1B-xDZP4O_Xbub~-y2;cV)UA>Zfx$?$ z{2@rTW}ixu=!wX+tOl^;}4x^9(U-6{`8fy2Gs+qgfBI&%s9bk!%z z4Mj|P;PsnbigNCjztiJE&5@y;pJk)FuXWcVBzV4{Pvand^cX;T4}*ee`8K5Hh03Q7M>^C+@&T9Hg#n2vV!yetoCzjdxoqpqLj_Ti zFVKfY^_FRt5ZgzaW8+wy^@Bn|?i<%!SgOjS*fQ70xDey20ji)70kys!IbL<#mpQE4 zvjFvyj>tRei-aR`&iy5nR>yrPl{f(cG8aWZ5~ttHeAP3fkwPLo$kK@Q!15Rrsq^Ew z%Ds+HfAGn(e6tqvYg*m1dgN7Xd#V-DfSZDMYoA0qfEamb{L{w_cV$`hKKVj$xeiUI%RwK!H54LdEAGCYd+P- zeYr}~E{=WVQx{*qrvc18I9b-EB6Jh!(?Om6k{8MaN$#|oHEevpL zd=;Ic4in7)j_kD@OJ6TuZ{wl>1wKET2OxklU_k*fw2J7T%KQkjkweuyuA5n;(bF{) zh=)khg;V;GEWA1H>GYl%h@(h`{QYrbnBqB#jje^Lzoaups^xA!skH{%lx;nisnreV z(Yo}kg4Sqz)M{Lzr|;M3a~?Jir#-vkYbf`6?rED6=(-`lceiuacDh%~3y+)npR*mS z8#kTI@>1KfaiM2#b=$nERdPjsbMki?w0bxgTO9+8ApHjW3^u*Gp(=py^a>=>1uYrv z@PBBjA=dmD@SHs*K&HdJw$=zxl}={KWf@xmrfdZ|!1HRjMa)W~SJ{9iUUg^#zB>>B z(EBH4KM}7#j2Gwl3Db^MuI(JcfzZ!PoI-Dx9&Rd#G^t?Z^OZ}2lS`G1Tl(OTL-_{F z)JP80=jRz*B)nMdx#xEPslZF_vsIg$mzM8^V^%EE)aeP*qH9VJ1JOPBbK$KP@P~~hZY*{@(rT+uk4RK&Rv3Uqcr=n;^S=3yQsCod{ zPUvvN2Zx6llr#k!U1q>nAsReS4SQj}W@nS%L}OkKHa(ZzA$&kq)7I8*{kj8GH2hlk zOM!CDQms`yz#v38fE58KX4SuIt(Jg1r0@|HTmx*{_^gLinSXb1L-{5fzr$TjRLc5~ z^$VM=f0~{WbLI zXyn|Jl8}ITZf-OTHMxT ziSn*^d+QPPB5ClY0kVaBUlx9RqNl_YaTe?dWL{dOtq@)`Z zRBGrHMCp$28PD;&|MyJ(;+BN~KYH+uY?wJAM|a>N{uyY*lmZ84 zOkieD&3{WgnGJl-zjs19JLDAb?6=czCj|OpxG%BXnkwZH+nRj&r=Z&`i8ZV-W1X6P z=MX7QIdPhIs>zYU(+b>g;+%49n<6ytoI^B4aG(hgcepRZzyJFfHndHXN>Orh@)zHg;b(XkXfRaS>%`Y^($P!ruKlK7xP8b3|B; zs;MbJB9WmVYioI%dK(+D)wQTkqN1XfH#aGaBg=hrRBx^yAE!sgFP?g)Z;ZBz{r>$M z^A&`Dze3GPHZM?y^ea1K_VMxYLvwSSCG0cHD=3s$7Cv*AubG?Mhtbi|gO!Hza;>70 z5^E>VA; zsm$L~y%X073k&}?Kt{weueO8Xo&jvBD=Y@wYA$9Pft%=g5{)=l9ECL>ao1MJX|hSRn_G) zM;jX#m>Wy>*qxg7v3keG=+DwJvqs?}xlVerV=3(yJ(bgKWlvwZBT`b*b!(L)Y*n)uigC6LyD%a9LI)-f zQU$}G{(|4 zXJqz8J@UayXMbRDE&R(5Jp%)JTzjSZh!4R`cF{tIXCyv9ofdl~e#XYaPB6&X?2KJu zE5l6beJuP#tSouuUj{Q%LiXXuw3RSPPMArmm>3IgQt?$%!n*TAH`Hex-@#Fd9F_F>ImW=jRI%21KNNnsh- zjCM4uP`1T<{6tJ9V~rJj+uMV1X(~lkPO&vb*OzN6BZ4KRlJ$%GE+E z+V%lfBrL$xCc@judCe5n!fuaNcYhV ztSq9erO}r29~o3MzG5>Ti7&`ps{KhXhU?k789#-`Z2F+K=dRAf&l=Qg7Z0g^ckq** zTBu=PJE;{hi<=>$pB3|`f8$TDvT_-%u8xDe^D3z=>IK_JQfEVXe0D->kIVp}C(6HS*76G}_Tb{CVKs>9P;kf_vC6Y(1tIIS1VI&PkOGcaH64t%iVKI8~fW*+xy=K_q{VWw|I}2p871OFG?(m4J~e^ z4eh6GGBy!MILT^I%9A4r5W-Ew^6+al3;Htwf>K_?pB~;-sLtjJ1@2K_X+|&|W-K~H{wo?H(;?Kc80%$B<@6!`TZFi{+CbqwalYZ)j z(8~har4}Y3q{^4r^*P#`K97KaHU9N$c3LUVY78M>*3$;qu*M%BuP#@g?k+**^8sxK3U?a%iQ5}%=qMqkXZaLU-Up<<3)Qj zXq!x>Ktj(WHQzN>C-W6(9v#S*#oyohF_^i857f^ms{dRvNq+MH0~=xLRtq~KiGhc9{FZv_$ui5k?xkDx#-r6tqOSv>5M1~}q=esLprX&)xXdCXE-tPmV+<++ zg@!22=9i8QP$yH%RZS0-;@7W-1ncQ$TgCj*{^mk*y7-ejkXZ{$zgA3hY{=G=-GKgtrxmpxW$GA$g<=ME`dd*4DFL zuhh`9Lhk9u8_wVL+D*Z$&6&RVGt~shdY{wco95?s$xrt;7uCl!SH2g8d3hRC*sxgl zr3p;Gd&dKDsSoe*&yjL-{Dgvng3DrJBeBJ`wP=5EJC@T;0pHovw{7mUG~vn_UZ={V3Q?sw=Y)!&N&j*P1k*v93>&Be^7DQ|ySYey)TY`;l7a z=Ze3rwCCPbKA-P26lWJafXIFS0n6xX+w|i|M~aCkkMzdXhmm=*d;tq9Uawwda#wh^>c)x|6sc&A>@GN+5@kOeys2efhPxB zwm*hSGILg^+j&0amX!^7829Z|uQ2d3)%0z_Dj`5rEH(8)cVo8uCHjbF_96RzVhMh_ z;(~%$wf4ciCy|Vza5i7HAf*!lSR#ShMTlar{FlYN=5E~IPpwAp=O?eHA>Yr;hIwon1 z_3gYk5eIQ~LFBovo8ywZELcP{&`)}1?G~ekH4e5x6|!~sMODYXl!g_Qswg4^wvy*N zzc~3;23;yRP~G-2YVelq*dw}c{X{BcSsB&_EdJ;KdV8^b4qJkfPUF7?c=c!hQUrDSQJ zdS3ksg4s{Y-ME&zPB{jm!ObEZb8L!{%#Q9-M9e+u;yRH`(!V@1^?llD&Py)HTH~tUx3%Rq+_bv)4tW63X%gunbj447D;;Pq7Xaud&8TrM z(v{PB1(U+t2bpX;R4VpmNETf4awqLMhN4Lpk#&8r>>(Dw-b+yES#mglYvqEQmce^!ajNjklK{9B1#<9g4K#eJ=j zrHXUbcdh1`PhN#uHj@@(e)!AS6eD3~_Ydh6(`qvBnacQqGb4fQH z_}5|m^=>(ToZCNda%?c2`~UsSQTqfcK%3m(*--0l`9KhF(P!nJfope6G-b?~U)xOi zg`TUY)PF@LPyU=VR4sn$u9^{h$9Zxy{gs-DeEIlMF?12n2i`)l_*YZt+Z&2}K4Fsf?l?L+3Qf+) zQ1JTuraCh1E|QsNvfisaBq*r8>@YVsmkaUl=~2#7s9Oy;goMn`nB~0xaJsqJA4lIs z?B^m&kd3|$Rn*fHqk8Y-hc}fX$Oi@B`(I;5cRw+;txZA9bFcL0WP>r_x-8t>+yf8> z@6L1hi-lB+lJvm;=Wfla|IC9Ubkmxu9a`H}CV4V7{$&4o_COI#Gly zd7hsEpnP%6fK4q?$w^7-E?))*%h}I9efqS_aZ<|9vpNM$L_*R9%UEEixZiZ2Nn8eX zYinnx3+xMV<}?c)>2=7E0OoRrx&VdZ8JFm!q@_}H79-?xR~7)?!CX{x7o5JAetmm8 zzCfqsm7maRRA^`nG^Qx&>!*x*uT4E?xbAclcr5qup?Zp9=LT>)5g1LE6~KeawzYhw z1xKeC9UE)@k{-JFIy*XE0uw%;WF30@@03E5QH6FxZLOhdhD1o&!jsi6t8M$rLs-!m z?#R!HI)l|3a8jBEFycHx9jHYOpwYb0DVT5?&Hjr80S?n;<@?nUaQ?WsxCAna4XnCp-}RGgaHB`Cz2D&#mq3B>3TzLR*^799Upcp(|jw zwN@0DrVFR0OuW+W5F>yPbbH~Q!ZE;@9oBH|(@%u$zF-@YA3qr;=3POtvCPs=VjKYssKT#&WAy0N*bVwM&3{$(`E zeVtX1Vd)bQEsYn0=A_4DM@KNUZz+TkvbQo{TGAC@2wa7JJEhyVgL&H9+Pa`+>`i{Y z(#-5EvBQVSOJgpZ8}oP9x3;te^Uj?=-|SW}3oC{9H0L(@neLsiAQH4}^%J)#Z$iQ{ zJ<^TSwQ1Q~5*}N(9jYoT317W=b9Oi82gAn)1_r6jYh-0!hda{I^om)3)XaVx6aw*EcYu!v?blSefk(Ga!M%~?ULS-Cv@K*Z8T zdD8A0{oFad_)nj1zNd&RR42l$=fHq@JlgZhwXLP$rrviwJU;S}5)oz1YRykin?kc` zqXeTpo52g!?qc*(b`~)Bvcgfqxu)Eb7H%g;PsO0L(v?IR{1uUb$HEl&xFk#RfR0Gk z;^M`NTm}1*n65>w%kzP{nn)@tDhp7ESng%VT{f9Omu>%aTq!&DIJE{5wHZZ}sjd-n ztKn&nI5tggW3|K$=AVArKhY=(SLd&fO-)(adcGw+)6=8PK)>8CV{6GHNjKc}m3^D{Gv%QyAw>*Fa@#Bei$iPdp-@W@MQF%acSMG| zp^?$mU|>c`_+Ixz-_%wvxWI?AV^h&BnKNmvvTwwmofW|Scgi`~uri-D(NjjXOP4Y)v2%;`x z7Jrx7xhs^Z&xd)dqQdqx{xQ(=Z6QtT7ei71oR7s{9jQFsb%oNET>2ji>MUF8g7BU) z(nB)nrPBl+vuvAy-CEp#=Flu7E(q*ZmR7#XGW8hz9T2$@sJx-SllVHadiUX}Gg zvUv#v z7vVTjtD#ZtbLw4!3z?vjnVH$m&R$T=xP1LOjrsb5$B^_tz;}TfmHb zlb!@|XGjQKv>hjyZm}{@zS&=&4I<)TrU57E7eoJb8ouHNPPnXOURqc z;6%bm5?0g6;6&021#+P}nUR9Zy znPC?dy-&h$J?pSngdTy^exD-cbwiLhp$#`eu%okcore>Wt~k)ZdFTaFLmW^nYVkfU z&dOr0n}{1K)SK1Kd-;+~0(Z;Q31ondsD`A4Lwvea02%%I^((M?HuLlI&CFoIyMQ3g zRqBfuJ0Z6`eY&s!HQf!!7*1YPhX1(^FWqHuj|ZQbAk!!80xSUIiy~b%K~1Ty?e>>! z*`UuRGYl#e@V@RY++L%yva$+^C%+6)9@{)!)g*%1V+$z|eyqHYr^XjLYxxBiiH(TgBwrn^pKzV31gn*PZ5qJy1u^CJkFJe5>vLyJ%uW{QMSFT-a zd+Omh^!@vdu3j+c_=K3K%c%xU15!A_%0X7#poH|B3qjK)Gx`*A9gM0H#%O9bdGtZk z{d(Jrj3vxEh4_g4g!K>*w0utD3ikJ0Hu&;7+8`6YVk^=-t21L4Zb7pDIsfq)I$3Q$#&q zgP>ZEOsClJ%PK6X^D__;Rr}bxm=}W|#}oasezRtp9pU%<-zTf9yW0|y_5`o(?d=YC zn&~eYDPoU*Pe_L8-n{N~0y4lBUtYcK8Z z2^Fh_c&yI^$RmHDQL`FIW-XdX9$wx!xVJge9|$Ar&^qbY5ka`G&?YCe?3Y|uN>fUb znfzFE!_XK#omlkLM5Uz*8CCZC#H$~rqdog^m=GA30n z4(}@nGJ3S^)vH%$xcRe(m9K*kna~aLQ+){KEANHW`Of0~akuKolN&wmWHWv)LT=02 z9pc~11$7^M3*6#;P)ox|V1X1s?J;#k%o4U{w6rk@IsNOJAZG~M+wUiA{dBn8LinFC z?}~^jQMbo8n_Z>(|GY-pI;F$4!0P>9%0O_cpPlsA3*N?h5&v=Bch?$4+q2xVclBW8SU;II==|badv=5uZq{IgH;P8yOkxfH#sF z1l>SVYt}zs(xI}^86k)9c^V+`rrzVl$jJEb_xhsQGtqC2k3lI9_X2&C&EeSS=-*MH zl%!Dm$A?uASYGvwO<^W)2d+6QqJx;+3I$?XA#dKi83E}!dmwuLngnzAPD{CK2LxUW zmEk?`Q*D-htsM7~x9y^_kC;xY#HqP1F~%*kV1>5M|yo?OsQF;lJnSef8$MmtaGcRsP?l&*7+2?U37Bf-fQAeM7Q%}_45_AF&+gCpZd`7qk~!)z+eUmG zk=^iA=3yuF231|8q8f!rKqcEwd(y3S`CCCzef>mw{2#hZN?}6IASC=!c@~J+`}` zr6bGyLqD+_l-u7Hk|+*jIi&04TNv3zuZDU}+@kphP}Y1i|jIoQyMQ^`(L;UFdUnkU6xpuowo%JMPyE5a=p2 zb5sH+iSc*K4?u%Y-ost=)*BiDV>0dxh2+QUGp*Hg3oymUXaBk35s95-9x-F3rhY&x z?s-t}Y5U{HkNUR+ZVAg@;ZvO0&fHTIL_~bFdes#XSpyP_qT8j}Qf!w{O1N`)D3+#c zh>wl!S7<%nb$54bjksArPtW~(_ui1)y^y``AsKJmK=GPIHjqoD(BZTkBo4QCYn?kI zmTj*;1jO_4bkkY4rp6nME{+bCND`usbFGjtS6;rGVB;MgXoTY;1X#se7a`BRwP58) zR%YSod0z?cf|&GlhdMddE0pIkBY2rQj6lALwzIRtX_f^W?>vUl8+27y&6K*z{rPiT z1_90sbxln(43a*drJcN|8Z*+AXkjEuXRGBB@jGcm+=A8*blXa-{Bao}cmG*ij zW+fAHYaFXQ(e7i*A*2+cEc0^;ulPY@$VcXVaTsW9?o)(GA1uEpF!vh$D^ zTxh>}D5={*`sYqyk!6^2Te6B+TzL+02a3W|{_fo{5HakpBdmwGR^^&19!jHu?wQ-n zZ~`&`Y3i{rSOC1&-*SEK>r%!5~jyCJtN!zVf z)p;L2{q9YQhi3La$@A5+*f7CCV4~au5wPI?JvI|_P_r-n|LZ-1YHZ}6FCufoL7RLc{`*C^QwzqYMBxV*F&Wh_K`7zrJ|181n0!|1uWs`s~7bkxD{ z=y43KhJ;^JcA_LW%x6y1*QOcdCM0E0C$H>D`?JHffS`)H?Lk< z3&=8A0oacVsp z6d)bI1CpP{6lc34km%3V?|f7t60HJvTT`C~HMV%Yn#V=oijBsq@(yk!+J!&r1y$4$ z;P(_luLuwIdLGon`ud@Erw{cndr*7NQ%l0>tGxsk&NOm zw)--r9id{Vp{;Iyp?>j)SKl|)&(`r;UtNG;Cr^6z6S0#YHsUM}LfZR?U>QQZH_z#x z`*OtTCWAlI3n08mIq>8V6Dh)-LajnAaKE)1qn!HDZROy=vMX*qzZf(^hk>eVKJ*Ku zYSYDB+wzEjJZ}!BC32s`1Qf7*$1=p96p!9s$=k(*^S}1M=sN(pDEcGn;FYy9P}zP$ zN{MU$aafG$5B5LFWECXZIW z=HNwRhuTUzBJjkGIod1f>#ZFJ`bIRA%iA2RzAmn;gju*EKULj!K zHVlaoC3$FsQIkj+P@hC^I(t7K(3Fm&f<;y34M%O+a1R5X`oKkyM^555P&@Bjul?cM#nA(fb=p`N{USRBxC8vwq`HBWs#11QWD?pl8Za_1X*VYGuCuCg@zztuESA6{N zh$|TBa*n1r(7T??wnY&QyWlAA&#`~atdLs#22stE3f26j=U9L2P43Gn4)s2@mdpE; zhUW!Eu&=y$c|95f?Br9_<=1F;fxkPNE8Hg1*ZycfBKU@U3vX465UPcbVn2iHyZAih zLjjjE1Q{PbYcbCZZOF}QYTO~V9r!xR_#yhcT4t`goLoC#APl>gQG6%0S#p+Tdx?)C zdc@>kR&dA-yf7PQYhczlQc)!nwN;#8P=i=4EaXcV0&f>%g)YmTl zpe`?c?H`NJaULz4^eqX;3MSlt%sic zCi}+&t&M47T#pG&17ReY%s`U}F9t$u{N@RfkCq}fC2Bb1EGN1||6&g(626~|X z`~^~=H$iKZHv`l{*G^^8{FnnkP_)!NlD=KK@2v0jTmQYr5655*4hNx8jIbyhWNx6r z*^Chv#r)guGl+xv?EgOQP;Ittb{)%CiyS@_)?RHIE`Z-p$N+++rbqgOSTlaF<2i>h zUo<0zY-?-lu}ery)cH_RVe!6Lh>Du}LuqMNbToPUBri7Eb2{a1uN^fH?B zKIA#*swgUKJszr-s4ty3m3W0yM_uu|d~VspCTQxX7Hbc}6cGmsjm&9oX zzaLZ2dF;n|s6F_OMyJg>#$XZrxquaZq|{b=yxkD@_?U361OBzH)nkqRM@O#~y&9GS za>_j_pDBEBkp7WP%HeieV>-S+`qBgM8aGv#*a_a>k&w(T%$nznuI>4TB&aw>*o~cp zdAt_ksX|y~e78Tf(HFUzSkdbG;K^^=FIUy@zCLAr1!+OU5wDt=*{jg7un1^H1rbti zvg(~(RrU)S^75^2(oAs~8Qw*%92GoQt}yzPJ$Lq;|Iuve7d!e}HPr?7~~hg`DteNOFUGZzox^wsLJ#B6Fsxb$~D&yFg zm{&jsf$|fVxVQo2@!!R+r1ZqT0%*|H2#SHr%gb{vsJP_h{GFZ0hh9Xaq^WrlkOnQd z0Uoo1g4*Z&!a@qC%KZF19UYziYW1uSGe+SQp6+cL#DZGw*b&9Y_gy8amn5@$@|1^d z%#GCL`MezMJq2tcEgytrq*nR7i7WDE+{n}traK;MNa*V5P5zQWvzhim`F#{>Sq2LBgDPR~;kkv$5N5YHCq{qW;{q3eaFCEA>f_ z&&(`oY`g{XtUTP@oj0u7bzNOIAGR}|He-PREJz6-cTS+%wByrFbz9tZ26Tn-F79W) z(x4z>{2ZfC9HA1COHmTh$m8?q#-P4eL8+9?u41|8Gk@))<24uF06Hhze8}~YGDV!W%lFG$Bxgw=#^?;b^z^f1K zG_nT_ZZdLm(^UWs_D&i5?a3~`g(=udjF0z{)d$MHX@v8Q^tH`RSH|Bd(@$reA+uat zU(a^Z!^Oj66%mOqXxQ6VR^YmEW7Hx5n%AB!?;hYkC%eFa+1Owj%Fz(kT6j(Pb8ED6 z+}%{QzwCW7M0X_k=6P)JxiKpeh-d3Zeox9x9hg~AY3BeGZfuzk?P`06hYhw3A9`Is zcBwplDt0&?@qW}xtT;OxyS~2O#=&7;)HL%$?@B^kToS#3jSUwo8yn`#LB9WU=4MA` z@8R_`@hZky%fG1i60^%w^Tx;2)V~aqJUcdzyI+;{`W)Jyka$&gvoDdXI}Qq1V7UJUR{H3oR)R`sSYVoJTHYjwLR$PS;C;zNN|` z8Z&dlhl7RX`8=m8gJ^8@=EjBxTzYE5-%DTT>#G=BOXx` zGA&sziJPeBLcGGUf0$$0JPbZM&z=@k|I*T&~to$=r5=Ywc7yoe#XsVdcOj>i>o(As-Vj#$2o# z={MI+**Hi|CzE-B*|CC4!T?z~KbjWh0{bGItUCWXKW2EjB@>;8czzyEp6SVoIj9~7 zwSJKLl1zrE^q-l;D34=KgBcv`;vr$=RIdUj{qsk?I3DwVzq@VScj}CodB%ZIen!aR zU-jqfyn|hG)VU}hFi`$^9J9;f$YgBdV`0aQoV`n3#Ktk5Lkw$-n$VbV{qav45b(FS z?tOIKn6i^^bM`Q|_5_dn?;RygNQG>Hm6J1w=Diq16o5d4LBLHvFgO^UoE!o|3T&Wv zs~E}92o)QR`}Y^N5lSrnxQeh_hlYC=I!(+K4^k+E`2`A!tB_4b0!TCk^140fBzsjT z+FmoP_5}>i48kgSxVH~dU;j64%E+YT{K7)HJ9oMeb5_7RxPA9-xu7T%;#=Vvi68(v zB>i;$yLTH0^#AKa#l;Hn(1DT$5GPuQBBB$4hLwaufR*Lq;c0>!tnyd?9T+H-ek&Q z3}VcnF!{^6@moZd6(uHzKd*T1{YVV{af0I5mv+*=!7Uw^{h+`9sW>#EG{Wu%pNEHs znaE$FVOJH*gZJvxrTHgOw=$65WE2(g%LQ_k@2Tti`5znS3}aKqH#?1xwD^1vXz>#3 z=;&C|(&J%gZ!t6n_F-^D#Ok`~?~jszml9o)pn*=L`ASqDbR&*94p%#~NtcXJGciSh zbhIh-@(`RqKO4&TWbv_h;F(I7`8&Ay_-xRI3;>u!MgwWAQi_;sF6soXWyCRJq{5a0 z8tlRVv`bb_T8XfRkUJ2v@H@!Avru&}VWzpJvhusc+>_N&%d)HD1FmbgfDqjgz%q_i zyIXaQ-TQ!)kh~owxeG}IzsHsh8!P0jt&oX)o|yQhikzs9nt7R)W9yytfGM!L!+vZ(g40LrvXFNMT*rp_}jQAQ(kBIEMZ<&5qq`tmBKVYEYOwyNN?QrD!3jvMpS00UXs)J19 zayeSPUiXYy>c%HN>bVFmVPQ&ONB!y>pQU*)cu!$ZQmR%#Ru;$8%gZRSt~_cCc{#Lf z$wMlrnFTg~_{U;ReAjg9vo+0q;p5nFdRNMOE0s@RRg(FLjkyP})*Q?G0#4694*xYm znuA|gTG%sw{HW#KF7-5*M4u~>)tHLeSXi*CEc&S?BlBW=tt3A`n+DZ4Hm&J4R7P2T zjYI1K8JUTSc5W6dN0j&zHS@v?6b;Qm$3U_I{fe@#yPyP}Yh-MUQ8Pa&Mt4Ts>+9<3 z5?rmWzWzVARvIYoxm`EHXG@%~ypTOHRekip<$*@7iIR=$4a@frE4S6UPt*;x(4$Ej z#a337n=u#0(=1+wR+Y~A;x-ZSnQ$QZ7&M}udtiy7<0#c@(;TH5P)}$wy7A(-yfasY zCO4n)Nly^_{DvLBYSVmVkv&%B56sGRdEZ4X^zM>0{T`=ZqQ-Zx!{57xQ#%=SP&nTF z#1_BlfodDnqSGGebRpm(#@pVQ>b!KYbKOy!x2?+ig*Wi35#@HlfMU(5yNKcQa{9HOs2m)+DC+A|5d~ z_V4#AsvyzjTPuR$;$ArBYEPyU;hfcVd_|8PVkmR}5}{^hA0JvqX;^)EeSU}epqksA>% z#es;~VfQD?`NJ1EfwHLyKMfuU`5%sAV;Loj|Jqef4AJC^;`{=7zCicEM4;N;;+*V! z+M2H7so)Q-Yv)=28)_2T@L_GJ!^NTZV=lzlhl~WJ6Y_J>B;j1YTGpCK=Hf<(8kjG@ z=rP5{9MaC-(3!`3nQl|bGh^;O%b&Dpi)hN;lgMiQBnFyo81gXRm2T1DP#-@Nickay@rln`~Zi~B(l@7 zPw?%Y#5W_WRt}3qwskcv6t^0$1fP7s!Tz!8{;Qz7^xNooS3pC9G#(L+FLbH@n57Ck z3qJIy#vVf|qJ)X}`y%eLxsxGklkdB;DY=7P;#jNz2?0*~Fr7hZ)-uOLDY`9opF|=W z9XZ!?Cu+{D@x@u)4-ey|>S5!mmX?<57o)&^nuA_EjkLD}rVjzQRg13O1)(ph0_rSKVa*2(P4=63=7iotO0(h8jnW$-Kf&qVJ0V^jPNObGY zozS1IVu|Ya?+5CYTXj}v{i-Q0E?z-rOq5JB3Hz%%0Sii@Ul4&BG6`+KDRB?FkajZW zI8)>2HXb=PG5mbr2Mb&8Q~CP+xVZRd>F((8{kXU~CIF4o#}b^bKcpuCzq2$rHUt)FGeEF4eXBo?=}uT=F$=cYWa~DP$KmR* z+Y)cam3 zeD~XJHh}aj?*UJT_3Bk(`0wqzcP}zCjjO_A;%W}IS2&wq3&E~foh{XI^qp^SD_CK| zi_lORb#?V2%@l7m6ih8M$53*b;4|bOZn=Vz7QfBstYX(^9u0v$pU7ljS@Y9KdK)ae z%wF`*HH_Ve>zmCd@&ENPAmD7euA%#R@@I@|BSbdRH0u2jZndix)S8k-PWV>kT>b~vL2jn$QGg0b+rsm8qZ{ky@KP%sq--8!{;!H8= zsz2*MpS6lo?DOgzStIN5?cXihTN|5vy*>=lx>O7x(|5R)`kXl~#c)SoqUnrTx|~DK zrqEHj?5d=q@~vd3!N=#a4k!=GgL^w!h!^JXKBc#I?fBs3>1k3vGFN^(F{8+NkZJbO zwS5WLh6)h>TsyrxmgW%YGHbHOY?NWH!?xRz4if zX2h;={9Uf56fx>8SV<)i(y&5mK{}`4vv)VPsK(0p>E7LBg|aIH?Pj8>+sYBOg4bf$ zFf3rEsPJ$~=L-TaGcH!S0!c&H!&aM5-P2P75;pepvv-h&y>FPV=u!V@CZBr%HAuJT zg#US_@o`unJpV3`sCk9b2M=2kpYf<`XgvQ~`w;gCohv9Zp_IOcFb;U!n2pQ1ghOAp zn@H#Vh3(I0;^-Ba4(_iFep4Yhnpd;=M&e(%kCWQ_h5)TiI@orjP=!0r<>fTB#9teE z)H*Sq!%XCdO;ew?yUwecjy6Q24O=2-&OVAGc@btEoO>Jp4OywQzr=HE-rMJ<-wb=x zw)P&c6LoKk@ZL`>9Z4TO?X)MYDwWQV9TaY5dgS|w95K_@#e=-Du9Agl7R0VUqlgZs zw+pQ1J|R0pBj(f+QT@J!*!L5+6mq7$Rch$gD^dHI3GS0M>?AHHym%ktt=nt9KSoP`}Jd1W%sat z*Qdmq{eojGNLj%%y)VS;N7emf$k?Y9%p3cGX|mGlW|7swS9CC66)@mtF4;P;tx1c#X+@r~IVgD>pR0hzu**TI^0r`IgB$pFm zPF{Rlr1GnZia5)~i>oy@<$|lir@QX)n z#ar@bDI5;@ujXYkQ;MHl&(p0BW_uuAFE>*q2qP|poLdOIXzJi_wYcWjjlN@S=OTdT zJbH<%;+GVY=+!Dpa*rf7sN|SkJ19Ds$b8Y(?QG9x!aA5}d?({;f9hrCuY2ZBO95R*B#hK8Zxj7PWrBcvL zPsx=nI>`dFn-p&H<>a)g(70EW{zrm1=H`k*$BNI5I6ZoZ4I1gzukrHQf0$ZaTrBXj zhdnttdsWVl>b!}&w@}{5MdX1eqOoGy&v(_qrwqApA~V{Vk$ z3zX@Vl8+zhpk%DQczl0HR#~4Y(SW_+`gx|`r!?aYtC2Mg4fN-}<1U;aloH4y-7-Bf!@XMITi*l$UkmD&ymV z?U=6_eYYBen5J7kPjmHm&stxm>)k3sq2_RCVolnI`O<^Mf5;tm;>C^8efnW|+2kq? zLxg(XYX(@=;sRF1I0d`;hk|mTe}GZftlP({6e2Rv{rAa%Zo|e;7jc~15l>7EmPK>< zI!9cs1+I8g9XKvU72DOYn&@E(h6+~qu>nt)jEu}z%Ijci;@R)kw;DM%gw?8F`HIIj zk7^$McmcU0t=Ofr!=OnFzends!tTaPy zsZ?2FgtR~EP+$;EGfzxejWhY^G>ZQ34UeaRm0#_eoVR zikRqMo_->JeLfCrg;adKbMyvoFH%_leejuY$&M!C&7}dC|Gl3CsU;B)e2%x5Js+d( zAB~Kht-HT1W2n!ti8~T7LJ&o&_&dJt%c?tKYj_Zc?Nt0iazL`-Z*ri}zRJ%|CVwg{ z4r(#Y&hkB=pQhIk>{f2ot9f<_O7KMz3Dx&QYmlz8@0|h`mC9uXnP{t#;T< z$&9@3_i%v6<=zn2+>q6!5}TB`dAT`0z0j|UL0Md!?WJv=yW>xmpuCymtX#0Tw_H$S z1}qv5o0Lv{9^t{=1%=JEd8+%SOL;fv9&;wNVPDz35$#Gc{Fvd6zNs~1*`{5i?Qyn( zvhGyNUWsqe3HBVNHf_G4-24|!ZxSXeK|M-(-r*Q$A(sCFEB8K!wyVLP;gd& zX5KHMQAJp`NcIb^J;eAugl4hkUu^9-EBG9vE`>dtx_N*NQ6{se^>sX6dSB7Q(JWaN z{72!xgPptE8uiWQ7bS85WfI0pIRgHc3Do3oD=C>Czgnm}JvnrrdXCQ}m%$J_Q{0Yr za>`YxeQN($U_EF6@Xc@rd0p-$VKY$BT>c2u4AbDj<;@rt8}qOzE)p6#Ul0N z)^p}sm9|1Zb270nF^1M+V|Pr{ek*PJEVp^+(wjqTRPQO)dv#E_;2rid?4?|zUCi5Ue;}l`7}WeOZRsj!iGlLi+cNdOI5F#c<)i^sv3M2 zD&#!iTO#eYx@`1nN;~+y$#PeIDV4!KZB({E_0FiBEvxVfbaD3-b1LxYHmKkH`Vq5% zCteh1aXdLy^Fm#zwyvAqSz!?urfr8T*}AqybhcOM*9ce1^GohGrHA**L8 zf*--l_dW6F#`N$dI;!09x$~~gjeX$?BE%I7f;EY6)i_e>_E#xv1t>)BGW`zeMp9E!w)~Fm7A~pf zOZ~yvt}W2}tElGJ$FOeyal>#T=j1P<4|%$8MkS=YORuJP3HT4qr^STbQDX&^eAoc&@ier?lg zy17x9DGS&xE+Yhm46jkqw|fK-DQ+d6hlIQ#RJuGDH7N%u`wABDbolD&2Jb7&+Un)& zoD#kQMp&XgCwMFrC0S&%DK!=0*SYjFMU^Ckd1Ot>IkMyGxLtPaSXW|GCS5s({N9{=Q-|Cs9)_RQet-G+peBFq$0y}Kf|AMgH?Vyac1 zFk013>M2Vc7qPlWBgr$#wNZp>ZPsg}ABRY`vch<@qTMug)0sMZshWh*N{8+j=K6C2 zt7VLdt<+t@OuT{1)%I8u+J9V85`E>t2mxw7!Qi@%UbQ95=rudoBkyd279omIi7?ZE z-?dj6IqL?J-0c{+l|6S8^_9B++|EuF#^U zQLcSeZ}$>Ogo)8@slm7JnwhaiFcJ<@%FM6{Q<@8$HT&*aOFldp>m9CgiyuilAWPHDI4 zTAOZeP2zdXq>_Fkev+@jdO7{RcxoQ)#aC1t-V`hQ#{xHUWbdkchaiYJQ3N+gjQ@un z=YvQ&A+snkvUDt!lk?=NM5h%KHkR!P{8s8n zIN8*~4qUR0nsQ>3;X)i4|8u_?EgkdcG!wUcuMK!<|UrGupy6r;|^s_&H7} zV@}3%HX9-a7A6_x!4p+kHlj$OegCrY!R5;QD56^mT63KQfXBM;O$X)Mf=`l$eQ+f} zgsm|r^_DNBkT9ACZ2gzd{yohoyxteM3FI(W zW2<=5-CkF#C((9N_*rGCehdBzK{7pM^TM&x&YzBBfTFzeO*2+x(9?Cc(sF%t=0+{0Mp)FVtd0JA zZZ?l(((BQ<(WgVD4<(p5c4qB_i+D**Y3`-ahqN%b%4&QiJ22wn&89*hd@l+fz1UiN zg*Y_(f$QvJCShaglRY*z(Vq|bkJISs=xmgQ_Zhf;3I+z+BDd!UL^a{S!K6lpjlX3FI-``3^>dd%Pwd)?lFn`|Zduhe;39|}V ze3`eaIvLky=N-{cjpNF8l#GiDY5(|tU&l`ASAyGEBZ>vyObeR+-0ikuT3K&a&N(rO zvYRb;J#-hQ+usVC_S~RF9nywds1S4|Z~x!2bF9`vWed({*9vSlZ_6~k82r8BW5uJW zn_Azm+%b?kv`%x|gPCT+WxBC^Wv(2;k3U)F?h~8Fx;=5a=wh=+?LT-9C2xAelO12@ zwJNFLnBwcNni{{fn2vJKI&8DfTk5aLr0++9&(yA|-RHh~=00NO<%$;zR>faB^hBz&&~^6u z*2iT#c$Kw$W~bzR$&R0wBol1^kLP4PpVKYx^$OL$s$F9Jb-{W^Y^^k?ja{KfQ zaQm&iTlsH^W>SBg!<&hpJx=ST&a*#Imj-Hcy`L@pF}bYf?yO>ahZybqe3vrwBKSSO zEWUo{#Vvon`1=2u%zipiJxf|ATI@{I4H6c%JTU9^-+gO(Gl4CVw%U6+t{!&|?<<5h z-&mVIY+vyw=^o3`z**A84;sRz&AnnbKWo|hv%JxQLf<#oM?h1K;wSeXY|Bl|pUsk9 zS-bDDPiEdfh7I{KAlco|+V(rU7A`;WTX|2}v_=ziV3~jR%ch+V&zFB@sZau%(gW=; zi~s+0;Oc`Piid7&(77{Jxc*9?lJCZ8FWOU&ZJK=RJNrc+hF!q))U3SImt&Ee%CZBCJW2R+*!2q<8Q8D&{ZEoo&6W{b3nB;km*w7Dk;5eDUkE; z`a0R!3_Q#R0(a_PFHrO4*fF)HvH3Vzks<>UY*W@1P@Xxm_U|Bj0s1H%@N{eO<}GB~Wvzw?BNVZk+N^PiuX87}C>erDLc YO>6bxWm4;b+h-U&UHx3vIVCg!0GAIi!2kdN literal 0 HcmV?d00001 diff --git a/doc/en/en_notification_settings.png b/doc/en/en_notification_settings.png new file mode 100644 index 0000000000000000000000000000000000000000..ba27f64d073dd0743de7ab76e4c12f9048aeef90 GIT binary patch literal 56015 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 literal 0 HcmV?d00001 diff --git a/doc/en/hi48-app-kpowersave.png b/doc/en/hi48-app-kpowersave.png new file mode 100644 index 0000000000000000000000000000000000000000..9cc30066b1fe0b2e94617859228a62e8e2b7b53a GIT binary patch literal 3974 zcmV;14|(v3P)fy1TBNs;=G6T8qGYv6Rvr z{eM+gb)EBl=llMy8o~E{{4#GMe#tkPfFKC?-?lFTs{`P%F>ngNF;7-XwkXDij&1Zj zuWkV6E#S32@Y5!60KoY;1q2qlO2FR%QU^Fb0v-nNh?32JX8Dtkq${URVgBeb=!JQB zqJ&PPh1%vOE}lJ$w_kq+7vFog)^Y4-DdZ&&c!Aen1Yi^X$0p#b!0-FOpJo@;yBALt z72(JyaQqMd8kHl5K~fkFEf{?RBXf+&#Ky#OF&yVZGO;(QjiHNn6d!E-IRu7_T4 z$S7Zq_Dlf5`7|TJ=JR}AbRorLjPH5`jt@Ms{ujbi+vCqhR_YOho8Cr!RoC<7CG4Ml z37x?NlAh$EfWQLF92vK&Z~1W^i4(v1u}hRW~9o5hKFl-aysR(o+~{Npv{gS6D1n%PUXj z^M$WuvuSQgF_F-5=FFB?DjnUWfPV*2BfOg~KoCffkV7p58QcCeTmwl#lVs~!0{ui9 zy+Q@udDc#L9;x{Pl7#{u$>*?;PsIy`)QYaD5cy@2G_9qBgFZX4`Z$2sh$b<*IRYZ$ zssfk}iH?D7Q^UHGMr}TWK_!bpI*)O-fLyhT%IYf0r6P`JGbp6zkYaRINrEB)GT~Sj z+bvh^vB!1Bf$KU*&uPeH;)utyhX51_{kjDRA-t=|`#$i@^M~=y`^)g83Sz5EnERC~ ziX?g`qdK3kGp#AaK>)_`RF93ZN^PJpJ$NF)^~86al?yO*{pvWa{y zj$Cd&l}r}bI-Q-lD3<<5Uy1z~F1nw@NqifS4A?^v|MtBjBwl5tbw*jm{y`h-n+N!y z?W5%+(X@0lOa;D_!CZn?P$kGo3Dts#+mvZJI)v>4!wJwE0|rOe=W#iXODzd^m0V=A zNhzIPI7|WAsBu}>VIdoJ_insDxdV&#e?U=xfVsHA8@p&WTF4}mc;?j(!~$391sSV) z40mZF<`h7Q>}G|vLQJMGh_MZrq%-2^xKr{T2#NL7jN#;hg=A7=9powiGDPe;1^5sJ z8$I`a$mXLcCoW-S^2Zh_L5P z=N%I`=(*^RJeUkhyKi9|3M`kb({Uscxjbe92G`w%M2smW#@#o;JmD(clu;QYRio?*kWc)+%%m{5Q(!5sT6;y6;N zLRJujjPLu}O=zP&TzAM0k!1vZbUGdM2Sb$OE?((-v_?RZaA$;Vha=&7Q=HicPG16x z8}I{VUX%`>03rI=8%PX-09}(QqL5@eEf0rneOAaf@LI+5Jbq~&vMj?iO|-i`R9K+x zb`O2)3i%lVLH>09;ui4i1%S@>oj>R7K#u zR4!`OH2?)dyD0)xRi%x}Fbsn>YD1O;l;=EbHp#({A|Kht_ep*Scw=`ucbq9A6~q+_ z&GuQ$dtB52fn7+(+}wOI5)i*(0g(u%Hb)|CrOgH`js?xfZr2V4IFbK@`OoS3*J~6L z5w{30R5puvWTTmtB#%wOXCsgh*8>6Bj4a0j0s0LKnAJfpe0|dI_c1VrnAa@qbUc{W zGy@>{iyiuYC(K58%(AC*5}m;%KD-YPTL%uim5f+S5p#`YFG zpoeu(WFhaiSkxncj>2Xi_{qkUv=fkbLXe*yMLa?j{n@@7V(b8WeF>^8Af1lOnat85 z04YMgDKB?rIY?~+gFzodbBMSCh_)FnWHp22H>dsH4eMc+g&E0N=b0VzuD~&E^ld$C zrSZ5L)WK{;zW#M!Rs)KnaFtBJpnXgVkbRprn&7n>V3I@IB(KmmgcD`L@n@YUM3|CU zAqV?TWFva zSlCJp(?Cg&qo|BYH*);3V zy!F;Mer6bTBNQMCf+&#awKho-*{9X;H_>=JqIF#S*1|SEk*i@fX)+@&(z+0KEJ@WE z*)()^6kS&!$qIv@z#K`03}YM6JX$0o$z+1@;5>p%0qXP^V;DY{Sk?r9 z!}@ZVDb5@ZfXko^$z`98sPUT8{Qw>g1?&S)&wcG{f1g=dLE+IyA;)46y4@=_N+uJi z*PFa3$c6<39-d2t!lF0UB z6y}hGZLo-8+cp}F26lJ%u(MOc`uaNU=U`!>N?yf)`)#3szXHDTM_XIVy(gadaO!@F_4vyWK*s*XJ>dnH?gNDe-&q6c@mm z0FW>Lk1P;UJ_7vuDc}oLQM{|Tw3JSqJSmPc8FW1lyZoYq?htY!g_YZH$LiWL=CesC zs>18RP2df(M4J6P&d4gXgu)CZn3XvQ2<$Q>kq+z0pa7Q<4q(Gz)Z48#_V@Qmx=nH; zTF0SqfuGA1rtw&c8A>?aZfnqLU8-+v{Pb+MyZPhG0xox?9I+Y$j#YsB=7HOjVB-O@ zswgIXQP3xXD320pVDXTjJ#wd7DVL;`l}hjgN5a#Z;rFrqCct-y;XfxibRqqCzIKuOG|hBTA@(Avrs4(R#u8qu{g&{ zk-M&Uc_e9%Yl};Oes^7pGMdfp`tI&q7hA0lF8RI}5dB3oBGTqB{{Q)kfRC^VADSz~ zT$HsUv6{`6?ppB^MlQPe{Vao zMr{`9kg!3F2 +KPowersave"> + + + + + + + +]> + + + + + + + &app; Help + + 2006-03-06 + &apprelease; + + + + Danny + Kukawka + +
    Danny.Kukawka@web.de
    +
    +
    + + Thomas + Renninger + +
    trenn@suse.de
    +
    +
    +
    + + + 2005 + Scott Rhoades + + + + + + + + + &app; is a utility used to set power consumption and conservation + options. + + + + KDE + KPowersave + power + battery + conservation + + +
    + + + + + + + KPowersave + + +Introduction + + + + + + Use KPowersave, the KDE front-end to powersave, to control power + management and monitor your laptop battery strength. For example, you can + configure the screen on your laptop to turn off if the computer is not used + for a specified amount of time, extending battery life. + + + + Starting KPowersave + + To start KPowersave, open a shell and enter kpowersave + & or select + SystemDesktop Applet + KPowersave from the GNOME or KDE + menu. KPowersave opens in the system + tray. + + + To configure whether KPowersave starts automatically when you log in, + click General Settings then check or uncheck + KPowersave starts automatically on login. Also specify + whether you want KPowersave to ask you about starting automatically if you + exit the application. + + + + + Understanding the KPowersave Icon + + The KPowersave icon looks like a power plug next to a battery strength + indicator. The icon shows the current battery strength and whether the + computer is powered by the battery or the power supply. When the battery + power is low, the background of the icon flashes, orange for Warning + and red for Low or Critical. If you leave the mouse cursor over the icon, a + message shows whether the computer is plugged in or using the battery, the + current charge level of the battery, and, if the computer is running on + battery power, the approximate amount of time left before the battery power + runs out. + + + + + + The systemtray applet menu + + + Switch active scheme + + To set the active scheme, right-click the KPowersave icon and select + Set Active Scheme then select the scheme to use. If you + change the active power management scheme with Set Active + Scheme, all components of your system are part of the power + saving effort. A power management scheme includes settings for CPU + frequency scaling (if supported by your computer), throttling, hard disk + control, and system cooling. + + + + + + + + KPowersave menu with entries to switch schemes + + + + + + Starting the YaST Power Management Module + + The YaST Power Management module (currently only available on SUSE) provides + several settings designed to help conserve power. To start the module, + right-click the KPowersave icon and click + Start YaST2 Power Management Module. + Detailed instructions for each setting are available in YaST. + + + + + + + KPowersave menu with entry to start YaST + + + + + + + Starting the YaST Power Management Module requires the root password. + + + + + + Suspending the System + + You can suspend the system at any time by right-clicking the + KPowersave icon and selecting Suspend to Disk, + Suspend to RAM, or + Standby (if standby is supported by the + computer). + + + + + + Suspend to Disk saves all open data to disk before the computer is suspended. + This protects your data if power is cut off or the battery dies. + + + + + Suspend to RAM saves the data to RAM, making data retrieval faster when + the computer is brought out of suspend mode. + + + + + Standby deactivates the monitor while maintaining power to the system so + that any open data remains in RAM. + + + + + + The selections that are available depend on which methods have been activated + in YaST by the administrator and whether standby is supported by your + computer. The choice you make should depend on the likelihood of the + computer losing power. + + + + + + + + KPowersave menu with entries for suspend/standby + + + + + + Deactivating Autosuspend + + If autosuspend is activated for the scheme currently used, + Disable Actions on Inactivity appears in the KPowersave + menu. If you select this option, any actions that are configured to take + place when the computer is inactive do not happen, effectively deactivating + autosuspend. + + + + + + + + KPowersave menu with option "Disable Actions on Inactivity" + + + + + + Setting the CPU Frequency Policy + + To control the amount of power used by the CPU by changing the CPU + frequency policy, right-click the KPowersave icon, click Set CPU + Frequency Policy, and choose one of the available options: + + + + + Performance: Permanently keeps a high CPU frequency for maximum CPU performance. + + + + + Dynamic: Reduces the CPU frequency when the system is idle and adjusts it + dynamically if more CPU power is needed. + + + + + Powersave: Maintains a low CPU frequency to save power. + + + + + + The CPU frequency policy is only available in the menu if it is + supported by your computer. If this option does not appear, it is not + supported by your system. + + + + + + + + KPowersave menu with submenu 'CPU Frequency Policy' + + + + + + + Configuring a Power Management Scheme + + Understanding a Power Management Scheme + + A scheme contains the basic power management configuration that is + used when you use KPowersave with your computer. The number of available + schemes depends on your Powersave configuration. Add or delete schemes with + the YaST Power Management Module. Some common schemes include + the following: + + + + + Performance: Optimized for maximum performance during longer sessions + + + Acoustic: Optimized to let the machine run as quietly as possible + + + Presentation: Optimized for best performance when giving presentations + + + Powersave: Optimized to conserve battery power + + + + To choose a scheme, open the Scheme Settings tab, + click the scheme to use, modify it as desired, then click + OK. + + + + + + + + KPowersave configure dialog (select schemes). + + + + + A scheme controls: + + + + + + Whether the screen saver is permitted to run when the computer is not in use + + + + + How much time is allowed to pass before the screen goes into standby or suspend + mode or is powered off + + + + + Whether the computer automatically goes into Suspend mode after a specified + amount of time + + + + + Whether KPowersave should emit notifications + + + + + + + Procedure to setup a scheme + + + All of these options conserve power by not allowing power-consuming + processes to run. To configure scheme settings, do the following: + + + + Screen Saver + + Right-click the KPowersave icon in the sytem tray. + Select Configure KPowersave. + If the Scheme Settings tab is not already + selected, click Scheme Settings. + Optionally, click Enable Specific Screensaver + Settings. + + + If you do not want the screen saver to consume power when the + system is not in use, click Disable Screen + Saver. + To blank the screen instead of running a specific screen + saver, click Only Blank the Screen. This option is + not available if the + screen saver is disabled. + + + + + + Display Power Management + + To manage the power consumed by the screen, click + Enable Specific Display Power Management. + Specific display power management (DPMS) can also + be disabled by checking Disable Display Power + Management. This setting overwrites the desktop + configuration. + + Select the amount of time that should pass before the screen + goes into standby mode. In standby mode, the screen is blanked, but + continues to receive power. This provides a low level of power + conservation. + Specify the amount of time before the screen is suspended. In + suspend mode, the screen is turned off but enough power is used to + store the current screen information. + Specify the amount of time that should pass before all power + to the screen is turned off. + + + + + + + + KPowersave configure dialog for screen saver and DPMS settings. + + + + + + Setup Autosuspend + + Click Autosuspend if you want + KPowersave to suspend the system automatically if the current desktop + user is inactive for a specified amount of time then use the dialog to + configure specific autosuspend settings. + For example, if you want the system to suspend to disk after 30 + minutes, select the settings to do so. After 30 minutes, all open files + are saved to disk and the computer is suspended. + + + + + + + + KPowersave configure dialog for Autosuspend settings. + + + + + + Setup Sound + + To disable/reenable Notifications for the scheme click + Miscellaneous. Change the Disable Notifications + checkbox ti prevent emit Notifications. You can configure the notifications via + the applet menu by select Configure Notifications.... + + + + + + + + General Settings + + Locking the Screen + + For improved security, you can lock the screen before the computer + goes into suspend or standby mode or when you close the laptop lid. Lock + the screen with a screensaver or with xlock. + + + To lock the screen, click the General Settings tab + then select the settings to use. + + + + + + + + KPowersave configure dialog for general settings. + + + + + + + Creating an Autosuspend Blacklist + + KPowersave provides an autosuspend blacklist. The blacklist prevents + the system from being suspended if one of the listed applications is + running. For example, you probably do not want your laptop to go into + suspend mode while you are watching a DVD, just because you have not + pressed a key for ten minutes. To edit the blacklist, click the + General Settings tab then click Edit General + Blacklist. Use the Autosuspend Blacklist Edit + dialog to add or remove applications from your blacklist. + + + + + + + + KPowersave configure dialog for Autosuspend Blacklist + + + + + You can also use this setting to create and edit blacklists for each + scheme. When creating a scheme blacklist, you can import the general + blacklist or create a specific blacklist for that scheme. A scheme-specific + blacklist overrides the general blacklist when that scheme is in + use. + + + + + + + + KPowersave dialog to edit Blacklist + + + + + + +
    + + diff --git a/doc/fi/Makefile.am b/doc/fi/Makefile.am new file mode 100644 index 0000000..0401ff5 --- /dev/null +++ b/doc/fi/Makefile.am @@ -0,0 +1,2 @@ +KDE_DOCS = kpowersave +KDE_LANG = fi diff --git a/doc/fi/fi_applet_autosuspend.png b/doc/fi/fi_applet_autosuspend.png new file mode 100644 index 0000000000000000000000000000000000000000..9ba98f47dbbb4e1c04d5800faac6c0d6b355797b GIT binary patch literal 19422 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 literal 0 HcmV?d00001 diff --git a/doc/fi/fi_applet_configure.png b/doc/fi/fi_applet_configure.png new file mode 100644 index 0000000000000000000000000000000000000000..4c93ef9a8c856ab5342bca6cc38e0c19c5a17621 GIT binary patch literal 20183 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 z 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

    rCPoo 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 UpBA{Y5B?~~T$j$3y!GUN09krfApigX literal 0 HcmV?d00001 diff --git a/doc/fi/fi_notification_settings.png b/doc/fi/fi_notification_settings.png new file mode 100644 index 0000000000000000000000000000000000000000..c47106b4cdfc64a28d2da300c9070018b62a3963 GIT binary patch literal 56076 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 +KPowersave"> + + + + + + + +]> + + + + + + + &app; Ohje + + 2006-03-06 + &apprelease; + + + + Danny + Kukawka + +

    Danny.Kukawka@web.de
    + + + + Thomas + Renninger + +
    trenn@suse.de
    +
    +
    + + + + 2005 + Scott Rhoades + + + + + + + + + &app; on työkalu jota käytetään asettamaan virrankulutus ja -säästö valintoja. + + + + + KDE + K-virransäästö + virta + akku + säästö + + + + + + + + + + K-virransäästö + + +Esittely + + + + + + Käytä K-virransäästöä, KDE:n virranhallinta käyttöliittymää, ohjataksesi + virranhallintaa ja seurataksesi kannettavan akunvaraustilaa. Voit esimerkiksi + määrittää kannettavan näytön sammutuksen jos tietokonetta ei ole käytetty + määritettynä aikana, parantaaksesi akun kestoa. + + + + K-virransäästön käynnistäminen + + Käynnistääksesi K-virransäästön, avaa komentotulkki ja anna komento kpowersave + & tai valitse + JärjestelmäTyöpöytäsovelma + KPowersave GNOMEn tai KDE:n + valikosta. K-virransäästö avautuu järjestelmätarjottimelle. + + + Määrittääksesi käynnistyykö K-virransäästö automaattisesti kirjautumisen yhteydessä, + napsauta Yleiset asetukset ja valitse tai jätä valitsematta + K-virransäästö käynnistyy automaattisesti sisäänkirjautuessa. Määritä myös + haluatko että K-virransäästö kysyy automaatista käynnistystä kun sammutat + sovelluksen. + + + + + K-virransäästön kuvakkeen merkitykset + + K-virransäästön kuvake näyttää virtapistokkeelta akunvaraustilan ilmaisimen vieressä. + Kuvake näyttää akunvarauksen tämän hetkisen tilan ja toimiiko tietokone + akulla vai onko kytkettynä virtaliittännässä. Kun akun varaus on matala, + kuvakkeen tausta välkkyy, oranssina varoitukseksi ja punaisena matalan + tai kriittisen merkiksi. Jos jätät hiiren osoittimen kuvakkeen päälle, + viesti näyttää onko tietokone kytketty verkkovirtaan vai käytetäänkö akkua, + tämän hetkisen akunvarauksen ja jos tietokone käyttää akkua, + odotettavissa olevan käyttöajan ennen akunvarauksen loppumista. + + + + + + Järjestelmätarjottimen sovelman valikko + + + Vaihda käytössä olevaa mallia + + Asettaaksesi käytössä olevan mallin, napsauta oikealla hiiren nappilla K-virransäästön kuvaketta ja valitse + Aseta käytössä oleva malli valitse sitten malli jota haluat käyttää. Jos + muutat käytössä olevaa virranhallinta mallia Aseta käytössä olevaa + virransäästö mallia, kaikki järjestelmäsi osat ottavat osaa virran + säästö toimiin. Virranhallinta malli sisältää asetukset prosessorin + nopeudensäädölle (jos tietokone tätä tukee), throttling, kiintolevyjen + hallinnalla, ja järjestelmän jäähdytykselle. + + + + + + + + Mallin vaihtaminen K-virransäästön valikosta + + + + + + YaST Virranhallintamoduulin käynnistäminen + + YaST Virranhallintamoduuli tarjoaa useita asetuksia jotka ovat suunniteltu auttamaan virran + säästössä. Käynnistääksesi moduulin, napsauta hiiren oikeaa näppäintä K-virransäästö kuvakkeen päällä + ja napsauta Käynnistä YaST2 Virranhallintamoduuli. Yksityiskohtaiset + ohjeet jokaiselle asetukselle ovat saatavissa YaST:issa. + + + + + + + YaST:in käynnistäminen K-virransäästön valikosta + + + + + + + YaST Virranhallintamoduulin käynnistäminen vaatii pääkäyttäjän salasanan. + + + + + + Järjestelmän asettaminen lepotilaan + + Voit keskeyttää järjestelmän koska tahansa napsauttamalla hiiren oikeaa näppäintä + K-virransäästön kuvakkeen päällä ja valitsemalla Lepotila levylle, + Lepotila keskusmuistiin, tai + Valmiustila (jos tietokone tukee + valmiustilaa). + + + + + + "Lepotila levylle" tallentaa kaiken avoimen tiedon levylle ennen tietokoneen pysäyttämistä. + Tämä suojaa tietojasi jos virta katkeaa tai akku loppuu. + + + + + "Lepotila keskusmuistiin" tallentaa tiedot RAM-muistiin, tehden tiedonpalauttamisesta nopeampaa kun + tietokone palautetaan lepotilasta. + + + + + Valmiustila poistaa näytön käytöstä pitäen virran järjestelmässä niin + että kaikki avoimet tiedot pysyvät RAM-muistissa. + + + + + + Käytettävissä olevat valinnat riippuvat tavoista jotka jäjestelmävalvoja + on ottanut käyttöön YaST:issa ja onko valmiustila tietokoneesi tukema. + Valinnan tulisi riippua tietokoneen virran katkeamisen todennäköisyydestä. + + + + + + + + K-virransäästö valikko valinnat lepotilalle/valmiustilalle + + + + + + Automaattisen lepotilan poistaminen + + Jos automaattinen lepotila on käytössä tämän hetkisessä mallissa, + Ota pois toimettomuuden tapahtumat ilmestyy K-virransäästön + valikkoon. Jos valitset tämän valinnan, jokainen toiminto joka on määritetty + tapahtumaan kun tietokone on toimettomana ei toteudu, tämä poistaa käytöstä myös + automaattisen lepotilan. + + + + + + + + K-virransäästön valikko "Ota pois toimettomuuden tapahtumat" toiminnon kanssa + + + + + + CPU-taajuuskäytännön asettaminen + + Hallinnoi prosessorin käyttämää virran määrää muuttamalla prosessorin(CPU) + taajuuskäytäntöä, napsauta hiiren oikealla napilla K-virranhallinnan kuvaketta, napsauta Aseta CPU + -taajuuskäytäntöä, ja valitse yksi saatavilla olevista valinnoista: + + + + + Suorituskyky: Pitää prosessorin taajuuden pysyvästi korkeana prosessorin suurimman suorituskyvyn saavuttamiseksi. + + + + + Dynaaminen: Vähentää prosessorin taajuutta kun järjestelmä on tyhjäkäytössä ja säätää sitä + dynaamisesti kun lisää prosessoritehoa tarvitaan. + + + + + Virransäästö: Pitää prosessorin taajuuden matalana säästääkseen virtaa. + + + + + + CPU-taajuuskäytäntö on käytettävissä valikosta vain jos + tietokoneesi tukee sitä. Jos valintaa ei ole, + järjestelmäsi ei tue toimintoa. + + + + + + + + K-virransäästön valikko 'Aseta CPU-taajuuskäytäntöä' alivalikon kanssa + + + + + + + Virranhallintamallin määrittäminen + + Virranhallintamallin ymmärtäminen + + Malli sisältää virranhallinnan perusmääritykset jotka ovat + käytössä kun käytät tietokoneessasi K-virransäästöä. Saatavilla olevien + mallien lukumäärä riippuu virransäästö määrityksestäsi. Lisää tai poista malleja + YaST Virranhallinta moduulissa. Osa yleisistä malleista sisältävät + seuraavat: + + + + + Suorituskyky: Optimoitu täydelle suorituskyvylle pitempiaikaisia istuntoja varten + + + Hiljainen: Optimoitu tietokoneen käyttämiseksi mahdollisimman hiljaisena + + + Esitys: Optimoitu antamaan paras suorituskyky esityksiä pidettäessä + + + Virransäästö: Optimoitu säästämään akunvarausta + + + + Valitaksesi mallin, avaa Malliasetukset välilehti, + napsauta käytettävää mallia, ja muokkaa sitä haluamaksesi, napsauta sitten + OK. + + + + + + + + K-virransäästön määritysikkuna (valitse malleja). + + + + + Malli hallitsee: + + + + + + Onko näytönsäästäjän käyttö sallittu kun tietokone ei ole käytössä + + + + + Kuinka kauan aikaa saa kulua ennen kuin näyttö menee valmiustilaan tai lepotilaan + tai sammutetaan + + + + + Tulisiko tietokoneen mennä automaattisesti lepotilaan tietyn ajan jälkeen + + + + + Toistaako tietokone virranhallintaan liittyviä äänimerkkejä + + + + + + + Mallin asettamistoiminto + + + Kaikki nämä valinnat säästävät virtaa estämällä virtaa vievien + toimintojen suorittamisen. Määrittääksesi mallin asetukset, tee seuraavasti: + + + + Näytönsäästäjä + + Napsauta hiiren oikealla napilla K-virransäästön kuvaketta järjestelmätarjottimella. + Valitse Määritä K-virransäästö. + Jos Malliasetukset välilehti ei ole jo + valittuna, napsauta Malliasetukset. + Valinnaisesti, napsauta Ota käyttöön valitut näytönsäästäjän + asetukset. + + + Jos et halua näytönsäästäjän kuluttavan virtaa kun + järjestelmä ei ole käytössä, napsauta Ota näytönsäästäjä + pois käytöstä. + Tyhjentääksesi näytön määritetyn näytönsäästäjän suorittamisen sijasta, + napsauta Vain ruudun tyhjennys. Tämä valinta + ei ole saatavilla jos + näytönsäästäjä ei ole käytössä. + + + + + + Näytön virranhallinta + + Hallitaksesi näytön virrankulutusta, napsauta + Ota käyttöön valittu virranhallinta. + Määritetty näytön virranhallinta (DPMS) voidaan myös + poistaa käytöstä valitsemalla Ota pois näytön + virranhallinta. Tämä asetus ohittaa työpöytä + määrityksen. + + Valitse kuinka paljon aikaa tulisi kulua ennen kuin näyttö + menee valmiustilaan. Valmiustilassa, näyttö on tyhjä, mutta + jatkaa virran saamista. Tämä tarjoaa pienen virran + säästön. + Määritä kuinka kauan kestää ennen kuin näyttö menee lepotilaan. + Lepotilassa, näyttö sammutetaan, mutta virtaa käytetään + säilyttämään nykyisen näytön tila. + Määritä kuinka kauan kestää ennen kuin kaikki virta + näytöltä katkaistaan. + + + + + + + + K-virransäästön määritysikkuna näytönsäästäjän asetuksille. + + + + + + Automaattisen lepotilan asetus + + Napsauta Automaattinen lepotila jos haluat + K-virransäästön asettavan järjestelmän lepotilaan automaattisesti jos nykyisen työpöydän + käyttäjä on toimettomana määritetyn ajan. Käytä sitten valintaikkunaa + määrittämään automaattisen lepotilan asetukset. + Esimerkiksi, jos haluat järjestelmän lepotilaan levylle 30 minuutin jälkeen, + valitse asetuksista että näin tehdään. Kun 30 minuuttia on kulunut, kaikki avoimet tiedostot + tallennetaan levylle ja tietokone asetetaan lepotilaan. + + + + + + + + K-virransäästön määritysikkuna automaattisen lepotilan asetuksille. + + + + + + Aseta ääni + + Määrittääksesi virransäästön äänivalinnoille, napsauta + Sekalaiset. Valitse äänityypit jotka poistetaan + estäen niitä toistumasta ja kuluttamasta akkua. + + + + + + + + Yleiset asetukset + + Näytön lukitseminen + + Parantaaksesi tietoturvaa, voit lukita näytön ennen kuin tietokone + menee lepotilaan tai valmiustilaan tai kun laitat kannettavan kannen kiinni. Lukitse + näyttö näytönsäästäjän tai xkellon kanssa. + + + Lukitaksesi näytön, napsauta Yleiset asetukset välilehteä + ja valitse sitten käyttöön haluamasi asetukset. + + + + + + + + K-virransäästön määritysikkuna yleisille asetuksille. + + + + + + + Kieltoluettelon luominen automaattiselle lepotilalle + + K-virransäästö tarjoaa kieltoluettelon automaattiselle lepotilalle. Kieltoluettelo estää + järjestelmää menemästä lepotilaan jos jokin luetelluista sovelluksista + on käytössä. Esimerkiksi, et ehkä tahdo että kannettavasi menee + lepotilaan kun katselet DVD:tä, vain koska et painanut + näppäintä kymmeneen minuuttiin. Muokataksesi kieltoluetteloa, napsauta + Yleiset asetukset välilehteä ja sitten Muokkaa yleistä + kieltoluetteloa. Käytä Automaattisen lepotilan kieltoluettelon muokkaus + -ikkunaa lisäämään tai poistamaan sovelluksia kieltoluettelosta. + + + + + + + + K-virransäästön määritysikkuna automaattisen lepotilan kieltoluettelolle + + + + + Voit myös käyttää tätä asetusta luomaan ja muokkaamaan kieltoluetteloa jokaiselle + mallille. Luotaessa mallin kieltoluetteloa, voit tuoda yleisen + kieltoluettelon tai luoda mallikohtaisen kieltoluettelon. Mallikohtainen + kieltoluettelo ohittaa yleisen kieltoluettelon kun tämä malli on + käytössä. + + + + + + + + K-virransäästön muokkausikkuna kieltoluetteloille + + + + + + + + + diff --git a/doc/hu/Makefile.am b/doc/hu/Makefile.am new file mode 100644 index 0000000..b055a02 --- /dev/null +++ b/doc/hu/Makefile.am @@ -0,0 +1,2 @@ +KDE_DOCS = kpowersave +KDE_LANG = hu diff --git a/doc/hu/hi48-app-kpowersave.png b/doc/hu/hi48-app-kpowersave.png new file mode 100644 index 0000000000000000000000000000000000000000..9cc30066b1fe0b2e94617859228a62e8e2b7b53a GIT binary patch literal 3974 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

    mq`^~sDRDS8#HE#U~0dmEuUU_PY(|d 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 N002ovPDHLkV1m=xYzqJY literal 0 HcmV?d00001 diff --git a/doc/hu/hu_applet_cpufreq.png b/doc/hu/hu_applet_cpufreq.png new file mode 100644 index 0000000000000000000000000000000000000000..db79d632260427e82299f50781ed790868cd12a2 GIT binary patch literal 39462 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 literal 0 HcmV?d00001 diff --git a/doc/hu/hu_applet_schemes.png b/doc/hu/hu_applet_schemes.png new file mode 100644 index 0000000000000000000000000000000000000000..b2b9fc8ae876cc71c362bf7bb4005e159a19681b GIT binary patch literal 58330 zcmX7vV{|0%(}uH2Hnwfsw!N{rv8|15+qP}n8*glz6X%`Z|2=bNx?V(cU4_= zcZ8yXBn%D=2nYzgw3L`K2neVn@cbPL6!;mbqxJ$kKs!ijIRlSU|9eYJSPKA8Ab!hA zih+Fp_sZ`nO9BBo@RAl2R`poF)Pt_q6VDLXI@xsJ@nO74I1B-2GSvLtPd;9$#zd1f z!~o7A$XnkEs#8XWs z*CjVnYX+9i07#zTEq!$sPpej+pUjvVvzQttQ|tDJL%kInh5LO-$QvHy*_j40z&$o-CDc=m=5`oNx6mHeUx5IeYjPs5b&;m;j*l=$0a#5 za+y(T8{4-H5my*b{ znPB$!e5BRoC>pqu6 zeoAYyYK%k=GZFG$#OS6vZh#4DV{E)HZT2uTIc>AVD0+TR2AkDvJQ6z-jCyZ*vTfNTln z%hiWMA^?>>=(Ktbo>B&!cD7S;&pNF}GD}rQ`u{gbt-~&iqDV@O8VrU(NE#&yPYfPQ zJVlBq&99@ktu;=@!UZUeCXBI9_>4z!dXa7syMkn+oOYo#DtQgwU~Tdca_Ly7^_cQ_ z^@tIDy^U!$_N6RK41 z2`E~$*u24mp5}<+ZGA`+f*i?CmTG%S-&ivHWP~P%)TCcR81CEXzjP@nf1X=yCQ$e{ z`WBj?a9oaJt@X*RDcV(=FuzT+T7O-vHzXhTK9z5=HowhFx?iuq%`VQqqyhQ_{}&Cs z0zEmbI`2Z)7+tJhf?1{Y7QzqD=};3(!A&RL^FRh8jxz5ZC4x5Q3U$B`YJfxr6H-UG!`Z;gz(0Few^whGl* zpH=~Wc31P}E9MU4ufch8*|D#)VsuDGulqa9?|Q4{k~Cj$6B9C;vB00Ov)m`y7qwjo zdxYOFV|kyK=7@qHw>tJcuGgC#QY>x@URN!v9VfY7M=2TQ>hk0H_jX_s?=z%%qz%HQg-{(77xTrNrAc}U;3$->7soiK*)zDb^@%fiYUG;Uqj^Xw0X z(7qc8`(LvD=uxUD{LRTJB9@Fh@Tb@!6)t9?YGE^rl`uEOq(D;A(UE#jyg)ufnnYz; zu0pGB^%!pXKpVW6j(}7vAv!p@K_+Dvqehk1m^d7?Peh{2vPn63Y&rxL)}V2*2C1OH z&9314ecC(7X}trtw99o{1OGzH3H=**@}~z2>|3! zOFnX0Ftc5OF`1NU%Lq3w4EoE;Z{`$hTJ<9sJ@pRtwY^b-(D*Ga&P|W1$bRYQdeM#L ziVOXhm)HU4P=&AIKtC?tEx>8Rn=oVBv+wOu0q+XC)zG`GW*c+nPv5VHJOl5$kud_V zOWU@s(cnqVc89&LozH6(1@0qY!N5U4=ylo9(7;@ODGZ74vKs*Dd(4`bk)F==dYJS} z@YAKZR<{GC@JdZXFNEoyPOH&mqt%x1^HdU(QUBwZv+tF6=QTDVdgpx`AcCXc>&>0X zdz@~JL9gBHa<(wV&=nn?>-Y7_I>+|_Z|^bW`+nuVZdqpguYS+x#%re_j39CZGWqih z&=FG(Lt0G%~n|ZhEl#avDqtjsXRf+ZAgX?GA0zMmZab z$-0SMypo;kpP`7naCx8-9TJxHcNtd1glEqblKO8av0vp3^bwr}&;pnl*zs6EZKPL5TMxG24 ziAH8djsfsH>?N`bua0HidbNFB^GiARb*w+W_qL!$9lwnxG(t2re zUXMO<>hSAt0^70qzpWlGC<{+=v%*WCvmaA`*4eJ%JPqc3J(g|Q_wmcC)E{JXJ8zQJ zxTa_3=JuYIX5B(%cJD{h`raqy86soF8N4l|IS5`OC7yVD;!${-!Hy9a4DRqg_Ar#f%b<`TszGsvl)Be z2V9fhgIM0tv9Y?20(ArRN`wCWmbrM zOTMFE+DYB4v^>z-p{4Q~rNpp@Xdz2J{k`>;O2((g`Nstx(K0F*z`GU9n$y#X5q9gh z=A5Kk9*QG+t<+@m(T1gYO1Pn#meZ_1=2jc+A}Ew)ZzFwqLg|u~bkSQ9&#!aNsn;mL zMEefERLk&*C+=RR7N~;AFOn^MvdTifH-)1M?j+}vXGu$Eo0I1&QCJR}I6F;z+keRt zi%Ih@!?nk||4!k^y02ya%4cy1WBsJ|J;2=oK^D1ZmHw_7FfwCNT)!J5{I2-r1H)`M zVDPbz+4sJ6)BCnux9tPi0&IIR7XM;;6h-83cD+y!&%)GmL550X1#{nWU9Bj~jRXPz zZDG#sA87D8sSzviW+BxRuRG5}qt)~0=^#!p7S8MWQaHiqc@5GA#?fu7({)#=TY#!H z{}?E4$>-mL+*@U8jLLJa3*};KN}w{hzU)u8)wJYT>XtD&v=!1)<)1Nb#j`8RxQmXL>inr^DmmHO>8A1ll|2dw9!kjE(Y$0DGvI4 zv-1rETKfg7p3}~q?m3s}$dQ9Q;<<}D8K-+(R9K#NnE+zsd_?Ye2?dic*3MhQfi*Wc z&iQ3Nsp)G*Zsf}5i?upd35&KVT8KRe}gVh``4J0s@j0c%bV*8o>`lphCO5zQ5j`D?A^L9YL-{n0~?o z^XL$i-(8e}_w4{=p6}ZkqxT*xt$Hr_N|53Lf3j-;3qjrv zh&?C53UWJ=WLM;DDPc6F)QDp691d!6T^^=?Ve;kD@+ZqU>b&3Dd1rL6PQ@8&Qe5}t z2&nEOtJLR|#k_F+Y;j!;&na@W$$=6f+wqm9WjYPjXEq~dZ6af|yaIti#4TQp@n@7{ zoqT}~7VcMG8I%f>B@Pz@nmh}Ypw(zmQ2hS2w=!Zp5wdTT3+>bNAykK|!kx{wIWIH$ z6m`pr<#J_banbqXQoDJk9U z-j8@%tW=gZMHMmO{$7VTyT!sO(676HXW91}ySR|hK#n)+*AY4nBNM*=8zaIO(H1Wz z76g7bO(=Vl#{&=mNzkqi_JfKS89D(?7itg;l9csO6^X_IJ?^iMz|)dSA8`2-rHf3m zg$}phthc}_Q$t}boQDZK5)XF+WrRq>1p*Bri+Z>o=ZTc?6$&|^UJ1HVTuyifSl6BM z1iVNSQ)}(U{7~mHW7=*O3UQgn7o?nId!DnP=_S zw_SU6{NY`}yx(%Z$t{He|4}FXPmr`Q9ZGF%QkaWQxKeCjkk7QqeU4{n8^Zpiw+{X5 zk1~WM7tU|q-M!rTLA4+K6RFsoO1Rew``b5AE)kakzmM%$D0=Sipj*WVFlzyT zsXu<3t2>)bHF<7?^E$+2`!w0 z6_N|iK_(Na1~HCVrQr5ISCxSlB^%Cj-}cmO72l0!odrQ1lG22_%LR0w#QA-Y{zi(E zIu$eW1}6z#MtS*%ui|iv=z9z1K$DvM{{F56p0V>-%2|Mh;hKP5H4~qkfXbucayH9* z6Rd}_inOB3En2H+#F3uD4a-WYU%0Y`a0yH6@hj5<%$_GpjArWl~92DAp7qs+@Hif#wtW zLZ`T=iNc+NL;z}u!g&D~Zn_3{$v@fh>||SpZSmJ~$^;^Kf=aX1O|H@N4b$Ur z`FHVzjg-V{sS8e7=YfT%UgH9L{P-GM1l3HMAGUI$7)^_ctJa3y9ZTJq^)qj1EM79y zV}XdS>zoIstRyzgOjB;~T0=@zT!SaA{N&arl-T{Jn8xjk zw4EcRHE9zj#E!NVVmjJl1u51o`*CbU!&xo&BMFS@1|5!$kpe7IwW*Jg7D+Bc{h=m_ zRG7ij6)-^b!9}yH_tRyRY|p_RuH;Y+oik1~K!NwM=_U}EH3S9kA}YAnx{Xh&a94Yt z@W%+e#~Zmt-`OBS7gw&$bGJXHo960tzV}&i4c0rKQam55{sVRTgj8+$O5}Ilwo5n% zQq&;zjfe3$;mVuP?m{=Bws1?h@I9>PjtkQV>h&tQZzgO<~u6P%{Lg%&fZ6nnJjMmzHRXx#g(?Is8{#@ z#LbhR<8L$f{zzDk+y1j5bGgoU`M0FVILUg|?q9d(R5tfhQJn9^Pt1=8o$dQntAJ*a zkVswFVPWzRJ<6$n$vITg8AvT$6Yz3!sX*gC6SvdrBMKUh{}Qb zJe0epQ05ip~D$+y;)T3(OnI4{LHgQnYA+X<2+rh$nZ zW0Fppp-FD47@0Ubb|mi3f0{qVhKz@3oVPW^lmA>=Bu{>|hfLaY2H_%+&lYz-oq%K4 z#H4QcL!Bm7J?q=7aLEJ>{gdsqS{9|%_`>N@jO9KKmu284JQn{SepUD>B41GD-M9um zm;R=ZpTwn5Y;r^uj6GcbCZt?v+@RqviOw2mDDuP>l3Ka>`Sx{}yT@h~sk5!xGb@l} zHU}#kNyfrXlOR^9e>#m%7P5_=EbCtUJ@sapDzxR(Nml*LCWe)FzP>N#hUknVYH*l@ z7bj~eWuF(_7Fm(*&z(TZ-L?_AXg8Z28b?MDB_shxBZUIJmU?d*y-vrQs2B@rWMEDg zT)>Z8&*REko*TM6F&*ivD}4r$ukY(Kl)g5V#+1pw7wmoz3GDK3JI5}69q&?-<~pUv z*r&9v|IFGCJ?Z60kf=Sk9t`VsA_r9?rQx zv5OCQ!zHkwn`xM3=-^d!~;l@hH&x;!ct3He)hD_e<;b+(wVh+S}mR6_*g zRHhjrIm1*U%TB^thXdvKSuWhioX%dVX%PY}Q3BO|$foA`%P|~Vg~}*=!6dyw@S%or zDP_U@g9B5*$7GAk#7!?RO&*#LW>@8l99nm@itV{#!Zes$7F}F@>7YZ;kGSl@By`Lc149L#kLpT2E#SSMb z1ttDo7ewcWqjbZIg&E0u z43Ddn&VBE-rqT_Jl*=1B;sPCAv2g7BSSXdCiDLVXW}Q8_?6%Mjw!;j7aSN&ro14W& zk*1Str`Q?{>E6=Du*)bz4K0o$62?$!2aYa2V`Ajn4_HTV(7k^ry`((u@X~XkP{y)H z=INm_>Z{dh-3G3ug4uokDnX>fUU;Tk21b4C|{HH3FF~N|@yzY75qAr8pAnQW{PR2@p)5g4D{=>X|+dPO!ORJ-( z*tI{H*Zu%J`N<_ts0v$NPVRt>lh|r~v98N_frcqV-xl@9iKD^*pq%p(L0VUU6Y3@( zYeNR=i0A6*DOn@|pZ52ZN#hLDJjo#(ei-)ibg#k}SUW)*2y`21hHS}4x}Yz<3p;v; zp^a@*N?9v_tr`ljJM7>??kM=HqRGIBbY8m7DtLqu6j#V zLj9G}h`*A+H0v)9+bGHZ5bvi6Y5`O`J6>8*;%mjL*yP!( zXX8~nXs_Y{2W5c)F)};+2L1izr8TAC`&?1xk=HH#yAfw4;=z`jLV@ZDMdfZk9E8t2 zYzjYEze~(ySXpP(s#X}Z8VQkOVq+2E;qe^$1*B2_Ly_fw&p-vT(!gEIKhczy&jAka!cqWl;|Js>N2cm zI%SNeY0`%&OnjWmBU!O=tfP=3>^KK$^CIC=ZWf7LN^| z>MHxHcR3JF@nuaDuYov!}S z$yrxSuz;UFi!=VQOnscB3my^f^o(-2;GAGKKZ$Kr37`s0N0JFKx{mG*4-Q3^c90yS zq+EJ=X@0&XEVHCQJbErE&Y(N`Iph6DwIIbFz+Y;l@Dr`>hbChLokWPt*foTy@Q$uh z%7=YHV9r>0kvFqC8jMG2UICG$Fdml(6h*V z>ka^!aF(tv)2VH#VuC-X4Q%p=JQjD^+%fRD9RG`HzVMQ=Qe;=EvbGqjWTdXTJgc0A+HtwJ32-5zxWOzCq7lho=)Wuh1^k71OdLoRsUGd;#GUa6V&Y=4Ma{ znJk_Lia1Z8ushGT7 zZByLh$_zBbUv2wttnc%AoNuu6AfmvFA=BjFzeuw#2V}$lVN&3j-Tme&X@BAI~iD@)v zYmz=tvX>7P^biKB91xCyP}CRFrdzTlKI%F;Q~Kxvw;wu_6Q;-OvvfdrXW|tuRQ`Rv z%ibpINh<)BDmuGuj`i*PO1l}|b3cjTvHj#^Xbh2Ej@X z$bq}D^Be}DFIMX$L%o1k^KuX;IZYgf7l`l>ain43!@e55s3{2Om_uK-8Q7k>o#YC| zA8WK*Yb>D?Yzral&d1K)MeS}ho5|eU+iRK=@N#iMgDg%%zx-qXqW`>r=D2q=R@2W! z){J;08G~2WHI?cB#r?x#2c!C+fa%~$qjN{q(7^~~)9hr=D?rs`Wf|KW;d3p-d1a;C zP0!6INC4WcIZ=Ngv>%Ah5z<$*Dr?2EVrhRM+gRU{Opc3o5`#H>$C9bSNVRrJjr!E6 z@RAkz!9P_Q_5DC>NgKHztTg#@s^N%=0=w_MUUOY1S|>g3JD*qXH_i;{tP0s8A zdS^DQAg=RA1Xzb2asT*bW|~u4S3pK0IQ(b-w%}7E6ntGpHmS0y)Ru#K3N0ZkmvaLz zz$TM8D_LhQ-Vb84(*G=mMlylIAXP>#hsSXwa!ewQ;D<;^3$6?FOGB&U!NZ2TX;P^D z#}BB0w`En|3%Er1fz*v^pEWhy%gal+hX}V8u~ouUk#0Y!i8rdZw|688 zQ}AJ$)p#_z1IV`3YqUf9dHeva-iUSEMkoeuo#qWyS ztU1?j^4o9oZSqpV2h1Ei9chMm0LK$VU806D9Gks9UavjC4gv?1Er~JZKGY92QvyY) z{&uPaCDs~jMCa~L=`)cP1wIP1$WyLqrP>TdvaUQ;M?9;|zwl8*2oZ6uRIiz_8SNBq z5mP;)xI997v8V7vF;_V14Q0P|p@kb|(Avh+`fPcRFXaweuY;5R@C{MVco*3Wn9C4T zT2JWk`L3;3ctV)}C<3?1%WZHNb%1Y1h5WuM=5tfBWSmt?^=}Jf6qz>mz|wQbY!m4Fz}a8zJqY_A5atV` zr|G$2hohpPpNLWf!A%Os#R-0SIDlCkoCtoujtPD_Za08)qX+-_{sb8Kz8>YhPMiNH zS+I=VNQn%?iqRo3npXNizb3HlI5m*Y;lCYd8Q(Mx-tRomt5^dX7PXS2KS+HkE<`D(o}p~0*dZ!-VDlstT8tnkC|_)ciM#$u+pxZx z(qJ}^wVj@k2d(p9``s&?{QUUHhHE0XWzaTVzLyb=(`FpJ#h73g=hHrDN`W2T@zk|XvHJr*K<-X5|4#jtx;B3TgTyxYRmQ7|bKh+)L;TgRsW;Zz&QKZ5T?@egD zhjg-<1FLPt#_VbO@$r;yN_G>xJEr5%vlEl~*u{HqJyf7c^I0;^71jfBYL$xV1EE?l z*?XUXn91+!%zCBT?|DtWr-v~p=8rr4bnb$n;O5{>+^;^A{TmzVtZgPf!~K?b(+Y+Al110n<}J(6_YIzWvcSP zWc(gb*`EG`g0cp0C@;8GEguXq%vBn75_I^wy)XMwz)_eFkc!vuWP1snMWWLZ$^ZUK zE}JTp4kkL6!3t?zwyTsq$9;n5+kJ|JLQ{^+VqIxY=B?nG<<2}|@kuu|tf?o=arvwd z^aNZH^NnVFTq;Rz>cmH5Bz8A*2%LV+C5>1QeV5Ia%;D&eazYe{UfIJHqH#l@&_K2D z8_8%PyZ5%yI8zAjH<0b6Nx0UQxL+*_1L7ahrp?7ow|w%v51h>DF(J_5P`bYmkx;G( zL`+!;F|-`3ERBfh@jk+K)Ku=1YetC;qMKo8TLkj>y^cdLb6t;8q6F?DeiCMUn?D)& zxSs!`msB9App3(F^_W|7^!dE7UvIxRNbc_eZ1Z~Fo0K#8Wq`rvYJLFAY4|jrNu#>l z{{~d$N=4aBlt6?nnGMV__3+2H_Yj2G|Q#Uxz`h(Y3s1hgR z)RFgu+$ZrREYl!l+QgikL;E;YCqK6l6fZ7VH>m&6PwFIIgc;DrNE{fs$WqzDw zbN%8zZZG=vet4W?yc8_DG^})fi+sz*@mby*KxzMSG}#qI5uaKwa`6`SiM%30Tv>_L zUk#jPVNM76BoRt4>{hn*T-j=NhqOb})3G#w!omD-6^0Q*PDh8XMeL#sua7rvz=P?b zFwr_PnoOqtS9%YuMPYmNfIpFr)mrC$X-p`}ekv?{JBl@)d`XU%!VGQ`BI9L7>~*$K zQm+I$_CRL(`J!o=|1}(eO6(|s>*mR5=<+pyOhKdi0w!JlrH@8NPc2Xu&FuoJ&HmzWLa&{qF643Fx|nEjz!AHPK|dycm>{p3{aX)8fswpE9zp3n)r?ory0|;%dyzt-~b}7U4A;c;evW1wB)rX!}Pyp}e?7Pcwq+ zs26kEt(BFb;at}VHbTYc0ouymKl!a8IZjW;&NhhIf$ zDI(923)r29$qmHCX> ziQ?rXV zSV^p;N-a~nC~L-|Zu?d6KZkz507B2_mY|AoOdxQE-rUQ9BS;{nheD^cB{A6kd|N+7 zfElcpBBprVLj5?`ts?z#^0L&1%d-S`mdcG{>4#(67UEwI#C*c2MY3Loo_UQA$`w<@ zSgHsbf2BDOWID8tDXX|O;h}Izg1l!<$T@M=utYixgpMUYp*ssv#`Ju(->@BfqVN^A z_OJY06Eb^WD667*nrlZ_-LF{~&oU~3JsTvs$n)Y#8`=P|1xp7aODX@+5X39>^ZuJc zRp!3y7(ddl23aICr23-aw+8_`nsRhGx;>Xy9%5%rHN zf!-HEpz~zc-#2{Rk9|Hfx*Xr>{Ho1!ST=k+nA(Z$Iok<4S+cARu12>}Epw>V81z+A zUK3Onr@Bzgs*;=A=UjGg4g{KTGog(uNwX)i8PsZH=qE_Egn zFj{D0i_O@p0m&0er`2{TN~KJ7o$By`;tNFfBJ8DMMbQn7jD2CzJ{%d@<}o9up~l&F zJuTFP=-zjsczN&%N%XbWeGgXP(OPM=$w>v1X}B+2}JhIdAKtKO21k!_0J41V~Y*Nh<)C`>i|A~0a|w(*ig z)5?26myOLF{M5#Fd+We4uEr7@gxk*pVmXmpQ zg1UdJRQmFsaXr%_M#3>>QJY&Lxz>jn0x&*=%k<+M1R7cyZvBcysE}4V%Xe+Z7u;|i)eaXi$V+D{g-I@$PogwoRqBB{-wx}= zy7yea?dy%zCa^R= z&D6h35_(3hyi9*X`+~hy$iY(FybHg_hA%zdrPdwJZSO}TU`KJtTUJHSSXr~Nym+zf z$KU+*h)7rkL}Cu{1#JG({c@&W7d;;?VG$%#@FC5WREybLHZ1Z(6ckX6MRoE$AFl znN+gzI>VzC7LBp?Ji?Osg2}lPf;D3M)kCQEYJRbd@LqlA&!u3BW!G71;i|yUn)xd= zgWBs$*Cx7~KI2bPU2Pf7AwQhjOuRLI$m~0V9z)^&6gW#Qs$8e6-_h7x-@~luAv?6P z;eV^#u2i*De$43c;_|v7^z!AS2>r$4TC9U=5eW%O(?x9zPg)T3P`&3#X{>Oqsh)z9 z8plS$PI|`;^H>iKBFm1T+uY}s9JT=*!g)sCNL2<8WfuBYc3dmZUf_Jqjyr^QioN1= zrpauQ)|%)L;7TphP<|+hP#bu%2W)~z&|#k$wY%J{X$?Ws(4la}Yy_E3wCO?Y4_j9A zBK-Y)94?Zu*{WRmIfXBRgcJ($6h z3Xoayjlq@dQsvw3x~um=TTAzD$^x)4ly?HE9sH|SK|`ja2l-lf!d0_Bz`dlocObhE z?c9?Q$1P2BtjFb$TWHa^=)jeMK~x8(P8J?><=tJ(Uk$FBMN(xFX$rU=L*?J9j?&31 zbnWrA#ajVW`8sC=V(R6Pc(`;|ZgmW

    9V+){u~Mz6Q2?9e$OaVBPml9vNtE*P9Vi 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 FV1i+9In)3E literal 0 HcmV?d00001 diff --git a/doc/hu/hu_applet_suspend.png b/doc/hu/hu_applet_suspend.png new file mode 100644 index 0000000000000000000000000000000000000000..9a4d1e0167a815dbf5283b8ca7bc09f612f9bc21 GIT binary patch literal 19082 zcmY(q1yq||v@ME5an~Tlt+<5Z#VK06xD+TJptw5)LUAZooED0^OK_J0#Yu2?mz)0Q zygTk286+9u+iPuIGUwXS8fprdl$Zzz2slcLvL6r-5Pjj_w=t05@2xX6U*I3FToeu5 z;Gc^B{mBp6OTfRNS-e+}MR@u5`q5sJgn*#TsU$0{?X`HA{YpDohiZW3ebH#mWns}( zedbY#&XK+F`wt^46XDB2;G%8HuZ46mAz1XRF+o94MP%$Jeh$dfM1X6C>J!4i#_m+N`EjDM0K(|P&i(y;cY?@^ zaJe)Ho4T4r$AVYqUe8Rc2kpXk+w`DUH{|Tt_gWxPkui}OBp?lQxn}Q?C=TsQ-8KA+ zqY!WGfR4nUnVCuD#BSRkhDFf*GlOYMkh)q)P6D02J?kkj>+RLRmZZQp#X=hH*B~h( zH2|0jWdH|nsrCp15yaOpQC7);fv1EkMsl)8TQ}n!xG+UDHL@M&bDV)j7(ENqF*ICK z0`wE)%s=7^YdV&0V_?4Ric?j|3<8FOxu54QKRR}?gxj;&Ok{tPxITgqgf5>XwqG8) zo$btg(Bh|3WF#a&hnNEpP4!*os;c7bK22^QF1tWy*R-F(8+P@t z*?mn!l*FM|F`J}V7zlPEh||OyTI)~Tx!I#)U7m$6Y5_Me0ef3Fo=kVKtn@|7ds!kzdE?9ac(>7 zpUjh?^*!Vj7H%xb@xkPd0}Rj35{s!RDN%^HTCH{XKV0rzTrWB2N(MfM;z^JT*lK+F zBDnqW<3|f0ZEbC7>FyI<<^;t?Ie;2P&N^KSquQ;|&g?RufY3 zAF8AOH18#C(~FkQaQ(&czukze?6_y2{+gan-p$4pgph&yfr^pZ0f7>zqM`yZNc|l| z+3tHI;eRjS)7I7opZ}6(q;HT^|CgtmznHmx=dW0Kxdqt<+lVjj55=WIh@efw z25ljsw{I6(X+(BXe>^X1t@x&VwD!}v?qvVFaLBvHG@5Ram6Gy16WE19NU?1EHEU}t z&9q-|LOocvySuw-Hkf1`A$vhRFNp{}(l(Zy*J8F*lRR*9kYH0((e1ePM8W}bdh@$+ zwFlE|vf6T>3d7I?3W;_=orKKHxSc`!$RnP=9L)JYo(&AfXJutoeR+rHN`YR3kI>uVC59goIBc@d@vsYW&{<$jrX6J9+*q zq#|&xKMl$XfiB7)(*aS>c=>I{tx_zLBNISB_}{*z4AmT#%bXhc^M}My8!QRm(7q?_ zp6gw~gIbWvDCceypFJk+1dT~Vqx17~003}G!-M+3b_nZY5F(7~hSb_jrNVXD3|}qlXfym$J*t8&onIY&R8qc`cbUG7Nt380qNf z$j~SFBsvkGi!wVR&bdHsWy{im78@+yk+{?u{5Bhq=oul$nm+DbyMNw8VU!Hf9e$## zV{NU^S^<%=^a+>v9zr3;Dc=M$dq7cIju-+iwj{+;`to)7AVtOxH_;3R!{$u{MCeWC zDKK_I_!ia50tUrcMG*m{!9-I3IcX6Q1JA7{l5UsYC`*dP*aiH#HeRFP3}yJ!E!4cw zA67Hv6j{J5L2O~FEmaI^$Y)2#q>+i8owS|pRA#16TidC1jh?JZjD$)_z{I?v?}kmU zKF>;LmFZPlTM-u)ZT)g8EiI+z;-b#}CvyKg5L-A4_<9UO32JM>#KgoR@!Z4R`G~Y@ z)btGoh>Y1FZ|lA;Os*jmh$8$h*q ztOwWvFqSCO=NXxp@@REQc+Nr^ai4oC1Ox?j?&9%ZG<@uPBXG1z)c#~~=%aAap1y;K zbGi^Dr7O}uQAZ(9>W2%y26}qkMUXh*BjCi~bgPoSRt*BP4!jEO&24>{h{PQ#$WJ8s zdj0)-e?&xTPtR8wg`SlASL1{{--8fQkH1ZVK#Plu5*MTVA|fKt7*f*wQ?r*wLiAP2 z+q5Zp0C}PR<&**s{f2l?G~@JI7!ZROr0;gu#z+ivR_qkE~+quTJUBNB=7DkQO@FKvj>yQgND{vBx)^Z{?LN23p}*?ivK zTd1fc-rk=Q5{6hpr@_8QO-(lLU)owfln@dUuKz|A0Eqh#ixxLD2=Ri}YX|&dm}XG4 zV@5|u&F&+Gat;toB?R8SeQSn?p)Lu`?Tx1v=UGMqRo(Uc{&f1LAHm&13oYr5KowK) z7dE5RYCaPV2??6)+h)em78gv%^dt-Q$o|_i*jdh05E=U_4`tIA8oVU4lg+)7Ts3v| zG$VtHF@AoJI&TwgZH`lI3M1`PYa7;J1TrytG&x!`jF?bVDLl?+sfxRc9ZLic z01tK_rb^XA@5_Zg#dyGDCUBE3Jqmqf9fyY!3H)$#qQDg@hT$9?j3!^?f*KnYB{lrR z@zWSycucPU7`mjE7)1WxI$bh?z4AM9!)5R7U9-5NL-C0sIfR7%tUQ%wub3zdAd^zH ztKA){d3xpbH%vG;_CvftTdn@#rI|e>GJ1hA9`K42Z z*heH?pYjd`(w$UtYD6jEf=CN=LGY!0R0qGeA5LZ)h^JMMq(hCINlhiK`oyP-0hC*WjR{1R>d*YyZ-9s7T*CYvLEO22;5lq&Z zngbzFpS`L5rWhy=(jOyln!-SRS5-z>R#Ze1c)`bwRvBne-Pk$o+;w$I?c(?nq%vSG z;wpSbym`GKeabzh8QvXEMn%QZ?2F`i`Yl4lZTmD}C~*=@EqYsl`I1`@r%Lga&#Mia z>$5}oX%<_6V?kogmjhh^4VCVnZad?jE3lU=*Vo~vz+o-8MR3up6j^GBHPjWG>Q$0Q z8%hm{woCnQPQ_)lEMWJ(mKS5{e_IF*XBBxjHsXJ${UQo^_!PlOXqZ4XDmR3xQsJAm z06b={IK;of!i_KMq1BPY)ybyFe=Bw>{DQdWA;Y(o6OynXy>8DumXjgOs06^6D0_Dv z-}6fd`h)hxH`D^3ec*OA`;P)B92O!=WmBS>**{=oWwriSr?eT0iSi8h#N2~bMABSA zzYP=>F<@lZ8iRd8&a1JQ#ODM;=kW87j05ksR}y?X-3Ie{NtSXbfz$lnP(!3YhV}6L z>PaNJdgNTEewb5Vpi4OZ1`Ofu@it+=l^TGm!0y)%^6)@El3`rYnY3C(;y>RCY19{0 z4i`^URy@6%i_?H7b@aF)Yhzvbq4@72cYyb7uP5Kkxt7|!Ap9Bk)uB4kJUS$5wx~*! zrN454y3Aojg|0X4p@DuZ6jW>!{;0Eh+LDGBjK+LZRR0t2ZU|a2{uk$`O}HX-E9evq1>xA{zVhGJzuD zU&T8FJ-~t^V;r6>^~09h26yb}v$seVeczF+=R&95ZEwNd+Y!D`#%NM0!0<3Rn!#s<7+m(EPMuqcGLkN72CE>Jpm zB9_9U$Bzg95k1GY;>Z&Zzjm4OTnkwivE4H zaO;ieh!n z`u{d|C1+66)+WYQ2@MUMQvav#<*z8w57r6+u>Bk#y*#6xu3NIN_Hvw#gKpe+^7+CB z<;LN3)lo{hf|Nq-*&qEW8~BwN(H8E4vYWcn(p$-f(dz`#vM6HGni{gr*d<6aQ8N!| zdJnn}s-BBeW`rGq{&M0G^WrP2H_jb5EuAl7;{bGhbHw|mlI579Az^~!A;I@aqswK( z!)4FY4=S=MN}Cli9VUM-c8DWxiN(2~F7~2=mf};3;5YW&A&aR&)z#IfJbj~F|5hk< z0>A*Y0NUbb0mY;MVIjbu3L`e$;%<3^klsEQLH7$erEkxzFwB2KrdTJ+RcQ_9LQn%| z30)TJJ~u7>H{a^-{x!4!!`40Q4AZ0Kq)LZ+2Lyb>Kch#%qg+LL5JZCk*M))5Ci)?| zIhRV3KOK;zLi>jAFSmd{u$I|s3+Cqb!0j*O|^g^vUWK=v(dXD>TZTCgn$M z2JjTCF`HA9u5Lh46Z_2v$UK2_3wmdZD6HT@NBT{_JiMm_AOU;^H2q#mcF5<&-1@rp zM?ng^q<9;XkFBrGR*J8#FJ3nGZS;KXbK#?UD*`eiEc14$v2{_11IqstX}!(Hqc%}e zQ)S~QOI!-KDyiuxZRrqj_dK2DM%y+9r~Mc2X967<`(zl$QxboHvC>E-{2h0~{(t~7|ZHacQuEVQJ ztMY1F97l2h>6hN}+iXg9a&=0s?#f>pAKLwV7L7azSG?D(U01Wj&EpAZJh8_ z+6Zf$*E$FY2p&oFW!6Cf+kfaVzsSR5N9woktnAnta${|l`e!Ko+0vn}?5i3ZBV%xU zz*NGxBxrB5U(p)3t#^Gu=NmbK&@(U?{3P2ycXM@Rd|w!t+1GhaJ>MW)_jq(k=JxFY zn)DhMOCCTI3w*1fqkx+&FArmztlA4kD2U(`{DJPU$=TwD|t6&IR74D7XxrIyhJ8!-!Kkx|QJ zxtt)c;sO%u6CEa6%%5ecfu$`^{yyf$j#_ekW9R4lnZgHOu@2H4vKn|=%3#MOq!Ay- zR^}|Xt;=?wq!UGOXe9u+klT~|O9Mg_k1iWL9PRf$K0d#i_w&3cR|!~iAU_LsW^!1J zPHRGl!pFaQm`zPh5pc>-i*SBsR6Kps@*<~KkXig>V-s1f?9xTxA=~#w!w)Mb&>W`8 zUEyekK|)L%ODjne7!pKdWc@X979I)WQ3+vlNlFn$#rlVJ;yrUy#`N;VIrhd<@I#DY zjsot-O^_3R(AH4C=p*;793{EI*F_OXIiaBOA6B8Ofq*2;n)wgbd zR8^i_%C^ey-E=oR<)x)k+o*VN>MkxWu9_aBD?;t&LKYlGMI9FFlz!s{G8nzlXEE#6 zP0!4X8C9$!h27!W+jE1-K*?41hl+MY3KQU%NWGocgwX{JLVZF>4;GPxk!Ru6@^L_0 zTOyYF$!^}Zk&xdFG4mbH`ppaLpHI$<4iaW-({8{{*tL8W2UC>7yVI-Y73OpNq2)wL ziNs66dHC|Q$Y|K)vs{JUgPQdNvUb~E@a)~g%?;+io)|d+z=3uNW6ewl1O!Ni^S^%K zu>Nt&7I1(0S)3~{7Y=OEPtZ5TKfRx|-I%Zf7_RTFz zjnmF}_KdSLYe)UFOrbmgN~Wkv+d$YX@tx#zf?o|n+SpWq zLVZ+$1voPPGDqCkg0*`ml$V#WA{d5d`K_m?N8#q(9}nCxp3qQ%99~UxR|gLT*?H+& z=U{UNk8e2qR}N^*Bj0e&%n2k)ukaOoK>(T2sA}K0tPv?L_HYaKHOwjj~mVf0|y!p6egryTvu%CnM5dgiO@} z(U{X6`YX(>hJE4i>ti38DL}-P(Ru&{y1NL%!c9o_>c{A2U5XA|o7;8S=5$`Y=#Qk4{`?*!OukzJ}-6N^_#!TmA{^wh>hKMKP8_eGAz z@=d2>SyV%Hdz|yN1BK(C^N5s7Ywj6C|Kr%bFFSEgo+c+AHgzd`M-sa-(q{)4MyQ@O zxQdL~5CUhp=+{V51PU~(;UOVNlWc?>uBgz*`qU z`cDu9r>yH$p7&Yz_da3)5rihm#K(*E9EHZd*M~~V%J1@wKY#xDFW6xGJ}^~?jaRbZ ziW0@J4fGnO32*jt0Q~7M{U)C=-FSqFjlJC9NY#W~88JDj@%Z&z5+0*K-9JK06XfDV z6P+z1;ARp+?@H$=Z)|VXis8$@% z9*$;iIvtSN$W3pGHdK>9lLbUaUFb)JzM`DH?d?W5)>y|ff_<354Y<|GuC1K%j+q)N z>8t7k{wd>qu#!*=^9jT;#mJsN+8RmQP(}=mVR4d-P5k6R_6sI21q-c zfC!NJ4Qc%Vk*7x)=(8OY)Ntt_a&+4c{Kmw+Hod<=8=XV0v-cX@@QM3H7ws9d_ET^l zBY(_?bj+B_r~}~xi!vUa?M-qxcg6YlOo{g>4W_NugG@x*bNH-DB!t(U01H2@%n8*O@skd zDm|@_C@6CYm1E6QGRAkYr1^c&Xu-qwQf2!Ip3s-JpFDrDlcIo~LQttjrfI4l`Kb(N1|p*_svvishd3xAt_g6nNskN1BVI%Q zS9=`1L;=Id9xW@EV>*UBA*_x~CcUc8c01K?5%LInf_hVX_L*o7O137$><0U57( zp{3%6oP?3#?4XY-KU5rzEmc)z935p=+U1|3v+}?0Z(sT={d;onl20bX z0D1ud5i!3&<>Bh|h28|swUQE>PmuDI^tZw2X6W`$_gAHSQ!_+;xu-RBP_dRMU@Cs( zj-Z$uvBM(uAi`e-Vo*R;cT7ZX&-^5a%xCGbTuM)lG z9PVNvVJgu~^dFzN0^g>EltAI2a5cu}`nramo@XZo9p>NL=bjKBNEE?>5OEWKE8r5M z2IuErg>SP8%e*Vxm9Kb9Ne|Um1cV_8i=Ev`I_1~90-CLo9b#jRPunL3Pq;*My@Q>wDx$aZ?T_@aJk{6=)`4DB2V(ANs7Nmlybnw%>B%0!Iv(B2_CRSiy49fQcUhX19mc?(XZEl{AJ;zrrI%NSnm%la> zsMjOVhwnwywm=@YMLmbVW2^Z&0?k*KI$Z|BzGTL~QDzlAqh+Q)vRyeZP2YUO#ML?sUtA?Hw2MD1zWo=q0-Pync&2+ca%D%9&oU;&GMM$B$nHluIb1 zqhRjP!O!5^c??j~LbINMzp}~f$f46*Z{*r2&5H9}aZQ~?grfKuAtq%{!=H%0WTQ8o zN5eEh`G@JkKfVKZ#o*MlK_m12kAg5^3%(3^fkm}OuQWdT3ahFh<{}X(?kjey?Q#u^ZB~P4;3!~y{{Yi(!vj|LoI09gxVKvhJ@Fi zG`9Xz#Od4xXUOSZ2;12U^;}iKFw!?4*E?v22TghW3ikfhZlI!}?Q1jqB_J38K?j8g zy@MJ0F+gFI<2PnF=pGdm8;#qSgO@st9u2#EDzz(+j?Z-zMWHR%n?gn^Lat2QU ze?Bp4ISXPk45Xx_T-)`emfO!)kduJp;^feAJ`G8~ZCnzDH1SL)}h#Xq1`DlU|xHflSI)z*b7lsSJvU$#T(%%5BS)}#sObbCA8 z^k5mtMp8*(rWQMtZWa>EUUmXtEss*;SJ<8nKe5#MkZ$PLdl2LF1iI_H4B^;BRHTPC zae-tP-jzf{f`2*BQ@>pIf9G^-`f0tr8rdsZfxGz8qjcfJm$Er!xM4HO0QRiK%P8P0 z&_HoQQbL0p_+5kWD5l(f| zgF_hx=)H=Oe}o-9O{Mbv!*rrx0O-Q=puU+LG0G>|Q>GS3vyQLxMMCCtw4ROM^GrzF zJzi&Q9xP17&S;f!L&Zb(c*r^|DaSzx1#7QE+BCgqi-*6_9eUo88hvJGSMeMl)>vUd~7NIQ^UI zOoLARN`L=}g^XUdaVy)@|Bkq!wpY&Xq8!qVXBCM}5kfoik?C&y3Gz_;ogi}|y|dcH zExy?1L$S=iaO*a9Oy#NTJ^kU;FE|yEnwe>z;$B2AZ;S2&D2|==QtidZ30U`Z~zA5-%L>xW8<+Bx_!GN7GI?6Syd!=kE%75 zr?+fuI-qS!6GCf}?oZ0se|?=I0yg6n;0?(@G(|kjSa57y1jR@86Ap-Hs0oe>?drb{ zls1{{3=CA+BW)G&d=Bwd`8#{*OEhhecFJKgv%MsG!Rt>!L;%k~VrzPZ{I5qZ&Fpw> z#sMl-VY$eUrUEJndfpZ{3iNyMwIT*=T~D(D-G?yq#??(vFm_)80EP1~TS;is;Sh+U-X@QkMb@4K$@ zD7*rsM;LEgP*J#QlJ}qVoGPE-7@X^K?H6&lTaB7&gCr0EV335Z*7K#;9Am+MZ&-@O z0qGj8?S&ieI0tv#cW1CKQOKDb8pvBwQ5a1NW@dxtnG!H-AG?1Nl-|&*X+i+m z1og}x9_-OvZztEi5Hc{4+`b#z))V=0=UA!|0N z>tTWDkldTK^ImijPvlOklaiXLrN5>3w~r5d zap8D6Z|~Y#Zl=Hp$1l7O?XvBH^*Mns(Ey(FB}NK-&Wi8v08i+yLZ+4MY;3POif&U2 zu##oSt@8onVC@@|8-}2&62_3@mREy}k zd{|=Rb)XvHOh~Ce3YmflyjfYH4v3qmCi?SJi)E?x2557tkGjeBox2-e{Uz$YYZeAP z&0ZfOXndd)_i=~Ez~eHBxz+k)>hVETpG{11($dJpJgdSCffJd+6HT6cCm| zimYrn;~e?p2OT4ZpVqeCn!n>2zc2SQ*axyY903g=C`xk*J zp|8*%oAIo@KV@VRNY2jAat{}|iJ)AfCO#!Wow#DXu|LtsB8q@J(v3&rQZ zHAT#{37R38F{E$KPfs<76eP?iF#$H1k}!D1NS<({&APxiuIT#qcK;0qLr!8MA#8OB zUoB#D(~4O6{d*8nSC9^1sR;yA%MlxDhn$81KwfNYY^(|j3hJ3cs-C9jEq2f!KNfx- zk~p>@ZvEbCK;AFtlGM6%PHFSMMIz#6*b5#0zP>CfnL>^l8n+aop8Dc+bW%TXY(|>hc5rDWVmZ=5 zCsxlUAM5SH4^`44cCYAAy95Djp{F1FZ^*Ai@?3D{SJK)lCO+qxWolW%Tr|e$wEJ0nj(oh3j8V%T0*LmVQ*5{J}TPQmoGjZrzM^ zzBk9LQI*;5$3Hp0NoT>q8!Ne&vEuB?WgW&hH}(|(~C5C-SM}8 z-uS;(d|Nv^mU-LmNT6?72gf6;Enh<{N^11#z5}65SLU|EhK){grbF}dWE8@kReOXmM{fSvyS3!EPX5-gDAxySdj1H7JBl=rHe3pEQs9OIA z52L@gtY|q#U|*fxR1SGkP`yF51!@Oko5Wj&-8&97at6}DjEoHO2!wHsh#}sHH{U>~ zfpNYpGJ|~|w6yMma6hnsw!&7}rCz0<*J61G7moy8;5Zxow`(RblB`!qK2_R=LNsY3 zij52mUPUp$5Dc*E@@BW?qYFAeNkm03-R96eOp1F=F}#2O9_CqGB@K(Sb`Eu~9L5Ko zHg;NrY`%_NqD<&Rz^C?rJMj%*a?Eo?qr zs06fe`3qsvTTQbtHip`&eBb)N{WhYAi@rx&(r|KvJK4tA2ZURvAW>VxWydPd(>DHa zTsk{wOP{c9)zoEK0yY>hFRYAB$S}6?-ht(paZH($M)sIZ$H#y?8*tEr!=7 zS)jFJk_TO|jony|JnWT&pONbDfZQ7n8D!Z{tb#MdrqU9~v$F>&MCTf>rT5-pe5b=_ zcitS^$cqYcz}+c-h!^~Ad(yj&?Rrdi^DrhnCh<^SY>oHeIrq`G@`WD5O}y;GHAqa| zDx(*uZx{Q;U0<~%v6czyEBB*vmf;(9WH{JQ)op?|P=oi=G2xT#QPcec5Oc2_`zw`% z1Gzm`?S6!FLRuK&|YWJlkC-i(-o%1fkqtk;>F z&z?Zp3KzDpu<+v`_yJRsfsiLviWBOqIy9hzHp7k#QjMO{iK!L*U#0BG_}#+t?>}eh z(E5j|;Jf4C>&zeYOY3tw`9AhAOb~cii>;|=NO3wTYMp~py6f0MeeAp~?4Sl~9QNW- z<9ym}K&7bR8_c|X)?N9-7ml`zzjmK+&5@DuJ6+$UT6rJWe)`Ot9z zz(Qn|Ef-H#qNqN9TV;s~zVx}vCJU|nkYIz*uWW8jQ zWqq|j_ZH4*_{;;ziOqIjU%PgBa5PyaB_<}ng3x!&|JS46Y@ohj%M_rY8#;;BHrLcz zj?UR?++>`3;hd;4hx78x2^zJhKuQBo?`!&5Kia47hVrB5d zFpE17S!Wq$a3qG^VP8^pT?tX9W+cF)z{lT`aIM*2LWQgVA#^^r0N!YZ*ctDzzIf4t zh)!NbkpUEG_n4pk-H0c!L3f5&8UKHenQJqF!=sy=POC3`qMYKibk;ls^&)$MW${t+ zvP4KxI|ngY!kuR0h`d!B83%cuu(mrIkJ{TEwVoD2#L>n`vf&R>MBW&M*~aeo3%?ur z0(+7v8ZP~{5q$ZV7hW$P5y*1z-X6z$>$gbJ?{J-#ChX4vK~7t*pW5Z4=`i?kg~16D z;Ph7BKH%h7WaJY6SDg9t!jNIzx$c$z>qF7sjl(zxV4*jXKhiKlZY9@H^$*DzFwgdO z=c6iAcL@76af_E5sGzmjX|?WGac`T7whtnxKE*-K^@CJ~>aPI`EF zzy{(6rWGKqry8Qc1qBQr0*a0YM@D2^Wc~cwWbtL!j6}JJLlY??N4D_h!}N~d`m@Os z;k#M4P6N|h|B_b3H}zXgFaAi6u#T|Q9zN3b#>PH)9xgW%<&_dj%JVB!GX}#uUVWgJ z?TSgR2F0Zk>H z7#-Ef0G$#qdzU?rxXd+oOp9@r`(dnX>h6*q&BzFsDs^z46{~%~Cm{(>20%RN3DA`G zcBkAw0e0mJrq;U#1{C~aBnSwnye(*26i3py;R~}HDl)LUNG?2XFq_-vcJ*+hKT_vg z-~HyzZ$4Pz_I_3axdg6tzQil*p}%pHV@G^XP`anKmDqV%QyGf}wNLbD30)YMGAQwy zFnH{oCk&ZEBFG2xi&+CU3SDrVGvKU9@`q@;D2auEV36#qhr!rh1${km$H>0J0S9h3 z!?5NbfxznkI$z1bpumnB9K*W!KdbhRj+QUW&R(9hM1uWVrY0P;I*yBV@L)vGPu7pS zfqot7-8Qde^r8E0QCr(1yi#?$e`s`6n=%rw6%rmWp~Hq{tfi}fVTp<#N5~$$ts@3pgY}oguXRqgY+AC;l5Tvn~YQ?RWjBySO}Vu{hyOA$0fa55Q&Sj)XtPDYrraFJh@8 zE&KEBJwU!w-7{$Wn}8AuyQiDP)vm5=bD-BzvJO?YT1yGLfF0m4Q`h3;7~ym*^eYY_ zMX`UO${e{kb!sf*?H6_v;$(~vuh`gH31trD72wWITQ6ZmYSA%qKQHDgyT?+o+uujC z04dQ_EfN2z^_n7*P__^{M!xZgT}q-NA`+fVV{+}pCS!61)VA%&8z;irrD1!v-yw7u ze6i7&_>c>Tu4w$?n`2+54a_T zRC!5TXB{ZS%g4cs$cKL|z2g^1#R#E;mCkSAjC0=A7mvV3#zlr>k>elj>@%UqIW<J$iG}y z^wyk=kE=fYbv zx}==tKbs700cm*I3>a#i4^?w!fVg4-cd$Yw;kI`B>FLvk@vFhXuzGv9r>FM~4nu1- zMYq#TS)3|LQvpw3j?ig;R5NN=Jt2l6(*H){5Q>S3DN)JDcR&EsN=mqH4#Eqn-($uK zGeiZb>g$uwJ;lOnpOiLY$hf!d^X%>H;8#F&oPAc8k$Wx@j!NHG)D4wsc z7lwy1{qytl=?liXw#PDGAHs38cdK=n$-BaIQ$-it9Ope#tpm)cx3IwTAr@m}V^F*p z{3g&s9zxj*JZp10WC^A)7_wsc961(feh}hWskPy-9Yg>m|U{qe0&)GkOLz5Tx zJ}x>sx@{mz0I=z`VfYv`DQ0TW0k5|&7{e!t0(|m=46U!5#jY@hcs;Vcc_W9$jMsm- z-)IE3CFts4DH_^R`9A8ldx3k*7R+U&=lkvAZ9)6L0~Z27b?zA(D@6O3O9P z`u^R{G5fQnoBcGSQ&ujE>aQ$b8BsTDhFC3qeKY6y{tqmWEf)}|Tc5Z(U^fTugp8Kq zHwSy}Jx%s`BwcRj-T&pQ*@MMQRH=A5iv^%dnd8D z!3x!KuvccAn|8lvy5;9n8W~OMdmB$~!5)OYyuDwqRp#Y&mx8|ag#)Jh`{e-_@#!S} zjoGj{0#}DR3fxJw*TZn^#0!2MG=YMZK(-Shlx{VUV2O8Qf-2i*iy9KIN}*#OMR%`p z%W|#U{bRJe|L40QcT4g8-(523ntZS?(68C@AX)7gq3VLawf^d?)mBva+Wc zKj7dOg=1<`lI7>m(NEX6q(7R938gQwzyJ|GI58&S_PE}SELPUT$P9)TTb&uMBE#sE z0W;a@BK`3KXtbwk;o)-c-i3I_6&$X+thDj0SMtFCv_PJtIN=%xhha;LQ#!Geg=$fL z8w(yCK7XI~n32#bo-EF&xZhcVWscVl0=m4oYdwgT94a@If@-?Db9J9*CP~8hc*uG? z{g0b>wnsBU?ctD}wt>M<2WFZubM0{Jg*A2|Azk{Y=N>p`cN!U|z;qjG3g@?SD`n?t z;+0RcAf=$$X0J2);~&-3Kp?Qo7Jm6Nz17PKCadkKnUXIgt9$lwvjeR~laj@~E2tdY zoayKLkeE*1uW#t)X6$p{P9@Bf-lMR)U0lZDKJz>-YRf79R@s~Y#axKzwu>iUm=A%W zULGr7QyINtqu@;j2;6o#Jr+%LXZGvzcjLLAKUP5juX^loJox$3%G=+y{PUP`zHN7; z@Ob_nVVf7cyNI#p5PR?FP$V#p_mUyzO-SR^)Sb*2mQVDmUSG z!hIedwwweg(*1XCI-oub*!lwZ$ECBNwvX0X_IY`0xRk`VJykH`*Tf^k zel$2?7s+yk&^?p&|GkQXgV{LS)t&?|jys3`10;PYNb%{<~#zYLlH;+P=juHdzETE zUkGbOwZvczZLTl+VazaZU6OPmB&)@gZY<^O-Fr1vVs&*VD2B^d-+Wu13`udFs;mq~ z=Nh1RwR!jO-=AXDOXI4}A+=g^AuaaBDC4SRD3Tm=`S!)7NLjgm-7iN|2g94E!_hOr ztIc?RXFp`?2rEteZV`VQ`DmlD>L-m{kbt&8p=Ahtes|{u(?yX8nc`_XBPb6KIoj2o zcg>}qyN0EL`sG1oSf3_u3K0*U!!f%trNyiCpX~D9Ht92zcBiRxq*kW>GIMG6I5MDC z2-51AIT%Tilq`c{RJ=*?#&jy5)vxNfYXe)t_CIX(yOJ#X=~8|C8EQDuh@d_+wj;=Q znJ;nK=5ZjG{kWBDh;nsm7n)H2I~i0+g$R>kZDv?e2z(Npo$&`5wd}RmVA4@@LSMfP z_-Knsl1&uIr<420brO{e-CYL$D$3+^sV9Q%#`K?Pyzm?JN9)7P+)|xT)as$`$cRTk zdhUGNasw+&(un*}+(e0T-5`l6ih*hIC&XrX;L7DF3HPW_f|jg+CL?8J#jE7tSed<` z-S1%_z&ET|neVCIA5p(yRrPOtb!TAwZVL$c?xLC6oiNBJ)q*G%ZV*LGl;DK$NFSls zs4%w*#aO3YkAuk)1v}wBSzy02c)9Vc!m}$y@8TmhvMWnzpqy^3USjZeg_;B}JRLvN zDJys)ECMDYuvdUEl#_+Z%-id?!eF4_Gg?-bEdmI*NlZ{#llloTB{)Uk!PLS`87Uae ztB{uLlm#-H4z>vTKLI}o!1r_mI@XHCFSgVTwc@~{uq#)0v||0@jKf?5(GZtts1;#j z&X-SXjf}HcCWB8a1bz`N;CP-@fc&B&4KfRG-ci_LmKh?b-&;nyVW=UuUv863<3#T$ zE_x}6-2W%qm62@QU%U3N;Iz4DUAcaP&aZ7X*Nv+ z_4_zuGEQBt@y3a+$+FL(T<)8$pB?=y$KFcDnd$m;_|6DZ4~^p*E74XowkE2r5z@v{ z?LOE2dy`%$WbmdX&Q^r`qifQ}iOrOtapWB$p(Ij|T%&#}LE1Rh7g0Cdh9 zPD-M&QyU27{A@ue;5g&RHHtsI4@=~WM=iKGUncU7U~_aO(D$f;F^)mq(~}Z#`9;$i zYZ-P=?Tk|b1B+zLMmL`Fz49_j{AH*0U9n~_)BK{ujK4(JVImnO0tgn$Eb zxgX>A$Uph{FWF~7Kv+C<aO?aXMq4L)p`qn6jQm#U9E+ zzeM9mG|@GJt`Qg^b2GCHj#Lk7odVZtxw$WeV*N7kxB-d)HhZB^F~~cpBhE+GIFO42 z4U}^Y$GsiG%?dI@FScwCg;Sa(x`vIC^-F|iforH6fKwvN2*jMxwOX65D$YUJQb952 zdIos)w|_i_Rtv!g$6W3b0*;oIC8!4yEHVj-+%bS;ld?QM+UtD?O-Ed&O83;7M3<#;($P(Dy zi_^`(QjNqc6XEl09$mVL-pTHgP~&Qq1+jin?QnA$U|d7FKs2Nd5M+RJ4fyL0nZ`MG z_kRS&aY4h)L3^)U#RLbzN6pm!jDyn-v3G!6q?@#HG|P2jjYGe{JHi?VNG=w4DQgmJjbqU>CKV2+8yQCfnrIwZM#dRi-@dcH z4c*{)AWm>-8R;e(CxSoIg&|Jox=BQdG>9__HCgF~w7qlIrM*gIub*zy4c`V9)-1c* zs0~A2a6fh9#>1KrW7vFVVv}_YJ8|q{jT8MsqH!X8n}S(4i{$}yK)UMqA{+i0(MMFH-vt%P&cG)4<*Y` zE`WuVPL^>9XTTOHCPL8&y2cqtjKMXp-@-NIfQuM1jwL-#=IQ<N|`M?YX~a!s~z^fans zu>;`vm`Rgh!WAe+x)F))$%-b@RyU)s-rio{0yK_74WVwp-*z|}1Iq zM>yk1D+weW%Eh5~g>@=u9M>hOP8f%1By8;?*HAYy4*de%h)a*lK#Gaz<>0mh8t<3L zas{|;GLHR?Cp#FXO=7R4LdMZZSkj?rqGh6DQlaMMJHlRxT8WlXLE{MK8o7qt`TpJC zzkk;>4u8g?afD4e39`b%UX7F1LDY>3){>4J_hvao>+WhIxj53la+zhEmT&9XbQ5*M z6^Taf;Dq?SYw}h)+6JVX2#uq$i%T(psRySn_4Le^fwU3{#$lh8kH(QrL^O`DkDQ!w z9M~Y~G(_{HLTDVC1+@G%OUlL0Xt?5V#z7k;XdLDmY%o-49C2M3<0J+&AnGR0i6s{l zQcv1A(v6Hmr&!kz)nn`LMqh6W=|-*rG7gSE0IA2!1-L+uTL1t607*qoM6N<$f>qw4 AhX4Qo literal 0 HcmV?d00001 diff --git a/doc/hu/hu_applet_yast.png b/doc/hu/hu_applet_yast.png new file mode 100644 index 0000000000000000000000000000000000000000..a9cfde754340ff967b8db49789c3e137c4345705 GIT binary patch literal 18944 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

    bMIHgmWrny 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 literal 0 HcmV?d00001 diff --git a/doc/hu/hu_configdialog_blacklist.png b/doc/hu/hu_configdialog_blacklist.png new file mode 100644 index 0000000000000000000000000000000000000000..d54b7609f3af21497a0ac95fe240219924ea8676 GIT binary patch literal 15961 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

    n@j{Pk|B-XVu( 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 BDdPYD literal 0 HcmV?d00001 diff --git a/doc/hu/hu_configdialog_general.png b/doc/hu/hu_configdialog_general.png new file mode 100644 index 0000000000000000000000000000000000000000..5a44cdd72fd1f297b8b680b09b99210fce2c13ec GIT binary patch literal 30857 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 literal 0 HcmV?d00001 diff --git a/doc/hu/hu_configdialog_schemes.png b/doc/hu/hu_configdialog_schemes.png new file mode 100644 index 0000000000000000000000000000000000000000..a09ab9fdebf147ad03a05491d8cd4167961313d5 GIT binary patch literal 41719 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 literal 0 HcmV?d00001 diff --git a/doc/hu/hu_configdialog_schemes_autosuspend.png b/doc/hu/hu_configdialog_schemes_autosuspend.png new file mode 100644 index 0000000000000000000000000000000000000000..d02bd2ab3bfe4eba2cd68e76f81f4fa1c441b1d7 GIT binary patch literal 37277 zcmZs?1ymc+7A}lS@lxEONO5;5RgDw>r?n^^3My7uMnd$f>*7(So4o1*N&lKWd#E+LwW-C( zU-L;3eruz68G)*kfMz7RMJ$reFZSvmmz9XW^~J`zy{Y~QLrGV@9!y6^`5>Mk`4OH} z0A}b{2OVAYVf}5!U5441R{}%aO=Nq#XPn2_Q|9Su#@coCY3r$->i*)o{jew|+`nhf ziwONwAAbf63X(thzb7k9L+%{U#jMEoe-D8(fQ!(x_b0knH(j-OaQg3I4K z#s3}^mZFar%wh$*`i^@Q|0-eP1tQ5|TXz!2co6OF2dk$=IcY|w;Ck0JYQZc_c17eI z`Jbz~hD;F5B%Y-4NSbLxiYg*MW$KNB^l*Qs2)?byE+-c_WiBSI+te~8h{}@h*?7ve ztE=t`IsKzS{GSD!qhACaLl4>&Uf~oPp}NcNoj(3b<)0geF*YDS5-h*|?*zBN1TJA%bl1-eSt8E@2i>$e z(uGB%SV@e=Rm6OD@kUyDgG*p~ zb+cjceZfjN7tgt3%MYhpR~?F&k7KcCX>5qhmi3$Z>yq->ZE?NrSf%DRbFKWhLM6T7 zcpnF!Og(FvVsH2B@g{p|$N25fwQv|Sjo^jyq}sT{=CPAPipnzQvEryo3VbqRR0Dn$ z(=guY2EgLI!AjMlu9&*z`nMtH97do`{dtd7%oy|1HB5P_aTQ<6R$WfM)_T?Ktb<&- z_U~YxzBdW?-eJLrWaRYUNht%+H(aIR6m;7{1FCkE^om1<8)@gAPo#MHjt$Oj;Vi5E zXn7hOVvMP{Ef3%=TX)<+Nb&jRh`lYP<{+d@%hBEfvklljSQSPlzjh@m%k7EPL@XmRzy~_e$ zw5|1N-(%)nOp;!7RQay!<6l^*@`P6IicOD^@2<iD)D%G^SlVm@Sl)4Yl za?Uy-b(?Jb)RE;UyL1T-5A75PN;1- ze?gmTQ@KH^vzbGU!~_3Iv}lyiWL!Bb5lKCOe+V)%UB6zkDl!^qe~=#klHEY14O>zs zQ+@mKp6j1vBQmPw#Mjp|%cI*UW^&j14dGIva*Ckf-J9I- zB{FE|4&}VyuF~vA9d2n})q@(T=XfFHs7vrmw_)n8gWC&k`QJwGPTD6FVp2>LEdNL=Lz4L6&K2FR>WZk~3l4`q$-#%;nnxM*q%wKk_Q_b~rur#(65tnGI zL(9RG?d09uuf_scM;_A7vx?;faYAjXf9|OdblPXQtK9c(zrC+q8 z;?GSvbM^N>2RNUap6UUQlYR3!?qg}Qz|bLSNBs(@#N@REDb<|psZf`Mw&LHv&XjW6kp^)x zfUV&#z}G7430P%xyDqDpB29Dt&H4SyFMT6%Eff5dE=V=LIQwBQSZ}0H0+BQzy%7hW zdpHvBtgtTWcBOUg=iW5C)e2citYfQw)rr4xKDOPJ7(e@kr7LLWD^nj6x>)y?*|_wl zS#NdJ(=`ISpr_3a`KsI&G3)Z(1cTp+L_Ur5Q zJ*x#ghCSo$)#MUrAENAnGOQE7&|_$*b?u^tzH7=h6SKG{f|Rl?)2y=if3bqfWVzZ% zW5;m{)8UgUbJRas<|BU02yxY!eps86BID!8X2h(q#49Ef@{bM?K+kB5>iD5QM6n)# z=4+uz^p%@SDb<2)kb-2230%V#W>8kyf}2-1qfyNi(LTde?g|xt9b3_ByxbTr$xNZq zu+M5*evvGHqYzQK8jw_{u&)Kbq&Fs#<5Q9kt(aXaH#hV9w>5a_tA_TLb8!2gc2zq? z_MR2i)aG=et(HxT^5!4ISZ%aEg#lzQyzM7*zF+iCcbZgqdh}})-zj{Pm(rDC(m;tC z5Ow|nOPIb`$?zU0ydCXjka%n@I$mAw4pu_m0_#CsIVoNQ|F4TP5y)~Q<7}~s!;yjY z-cnCEq_oT3W_xK-z@*=7dxe7&kJ@xKXLLU3`N+Ce3AV1aZ(Inf;{aqa`1xt_xX561 zZHTs->+NgIGU$oW^Cm92F(nY=EWWV+kAD?{+WgjY=)byD9xac(h58!A3c^3FhiOGN zfob55R$xy%?Bs>+VaRL{zYb@MUprBG^A$k_m=+pFIkFRzIIp{8qZ(|z%jF28vT9*9 zv3|#FA?vC)0Qqrasw)yqbSQIE#5TBrDo@hgXfHod45nGx#eX40;fdJYI+6Z#ftc}g zLu*+BJ$t9`*1IMt;mc6P+Ca&cw)wQEJuiuRPrnU{bfTB**Ioo3!n@RO!CEwc_oKyxuiVfV(oT1;~osxSP?DE>bA3a z(ci)K`EQ8pYkQ-eoOlUv5o(+9*lXS>sp^J>+?ISvS@SPFVt$7Udu!phh^VNfti?!h zFYW3I*VSX3_4@+`$1j%8j*KGNM+3qk4dJ)x>`f;Zo~>{CvQHz)n0Gi0f<0EK+wf#Wigv*7B6Qr5sH_Cp zzJ{6DE=Y~647WFMn98sQ`_!hJS28hqK8*e3JNf357LGt=-O@0-t-7nfLEH~sR?*Gn zR?bKmPVZ%B(#2NkzpUQ+j7!GJiT8Ak&u`iub4D1Y^S-?hnL%M-wqu&DYh7r3KV9zL z2p7J}v9Nnq>JJC8{&6AOIRv`ErbUiSaMEQXYtFtqtYGMIL&%2RWJXpRvN7M)F zdfOm=KAij`>;KMx{PlIWk-?sfI;|c$gO3#}!2P?*h zZaLFpJwmf*+zeY=HXScNpX;DoTiKX&ycg7%{bD;)T}_byubWselx!g-*2^I-`GP}b z)I+l^-28!NA~lr4;V9}Ad~?sRBiBnbwqWqDcG7_ULU%`#d;ihSg=jIsJMfSP4M+Uo=L3@%gUyuyYeQ`uFBt_YXKB(LA$z?Fx+RFJI$z0gv}s z_gDA4L=PhYbpM@E(-6a!MX#ahq_0#{?rgzqi`8zuh%xxTSqq}RcHrFI?*Ed8*R11Z zu6{p^fcGr=?ruw@(#W6ud1RDiQvy{28Xv6i4LVe_+^>^DQ@&zceEm>X=!n1JleJ`T z*OD=6K#pA65BBW4xU@Ez8OuFrFSwV8P*6EgnxHiyGV#YHBq*p# zp+5_kDT)*#QBze|c%fe+0ooLG|`M z?%#)1fAt}Nf+~)NlpiX5p887G2OqYg>O%nxMMBRtEe z5RBp?4~r%b=Z%WAG`>JgF*e1wnjkX%AJV5AW7#6e_IFqN*l=ExFYTCONEGib-{=o6oZ++e8|NnF0a-kKfa!nksK_=-=0vj>J7bJy^0TRU6BUfYY-x1zcp0 z7i$X~c7~Mye*dCbsqdGPeY8+h5>u{G^^4PD8tGTRqjiM{_LMGB8@urUIk2$Xdl+n5 zg&u6=;}Z3Xta+92%iS@#a9pN!6mqI4UkX=}k(gw;r-SK1&lmG$zPoeKOgjdWe;TJb48;rW-0^)B zI*e_Y8=xBR7kUNft4+ecmT9T7n+)X}IsqF=Z&TW?Rclf0)2^#MtU~|wH~GWOvC2dm zvkw2lU-S4I>(v&`rKLLSshim{?E=^HO)w&*3VdXMmt!a5M^5EyIB#?&50(s>3BES%>&$%H*MhLg}q1@E*| zA%G5xj~Bgxdtahfro6%D{pc!SL;05bMhP|*orFK9tesuENP*;!azWTT1~qwH7Tu!^ zY+GXg5G<-sIbY>YA!%He<3)f-B!OiF9ny;jqsFRN=$fx>55{95{TaKzJ{%50!8;PX zEc4Ud9nHiV-;Ylea5?$Dwlkbupjl&zR6TwAOETO}u-1}Y;NZC@t=(m$^Du+gUJSNX z$m1r51ov^|3kdt4ZGH6Pos9UgP;Fw;;S0@MNKLyxRTMJM6Jy`c`%}&M`q*=Lx}T9p zbk==mD3RS1gkLs17Ec=;8KD2E@XJz>LZ(>Knu~RG`?%riA&O&Hyg#64gX^6ECV>86 zn$Ta=7!UsPAMzv?@&5J(j~R7sF`36!7r2DtG&>O-Y(vN$90i=$H^4Z8pXMNCdhMhh zKb29Bo1KpdXAkFdbef%c)sF$uZ?%kXVMc81BP;@z5hz`INq&Y!-qk0U?rJM~d(jzy z=)RUM>{aYFoW#`K8f2Yf3rDv|D&Smtb+mxZ?f)Uct1}owa7J`JVUa79#L35SWUb!x z63qwc3bWEc{vD>B%0FogGJ|R5Q^*114z%72Pfkj0bGs}w2Bl2sy4M9t}niaOB&pGz~Nq(t#<)V;Z^Gq9Yi3 zT801oWCoujiy_@NkV6H04~!&#uh-^D=Qw#YQ=(o)(~rQS*OmahJsfVgUi>Rcj_pod zy~~ZRX?`fK`Q`@Zu=+WkR#7&VQj*+(Nl6S$sJGGCVx0jA*6-7>&gOGO@CbWS{4g%= zEc}1A+;-&5+K)7AJBNiHX^{?$Oc5AkjCVQk-gG!=L{>ck*n>RpmBqC43_eF1t1=Tn zXGPe5<@N|xAEk1beTo!b9Pkx~>T(`(`V>hBpS#ssx2ER_jnSD3NTsh}W{_6iSxr^T$`UAsSrgY|$RI+S$g$ERE1y)5v{s#VMuF1y_V zEEVaB{BIdX|9BM79BbW}dMU(X4s~sBsoA9hfqJRlR?6oc=Ctzvw$VDHwI>vnR#sd| zO#f*hnEU%U)Dvd48V9K?C}5*IB=1q|u&L;CdT<=3@nV@EqSGqoVCe zC<2qU&ZB(i@a_xcQ~i$^BuHch$U8uKmCS@J9ly4_G+k~_Rw%CW!XRHW1H3wk&)z{> zdx+xs-*))H8o;JvcBb66J@}LA<-p_ICr`#QL^eQzmFJP2L|ASd5T-w*+(x+=bJtlp?Qi<57Pf$(ladpWGSlzdSL*^ zE(GP!zDLS}`JeH>@9Y(9(}EE_h3$;Sh@kMn8@T$9B>*w^OYh@Eo|HYt`OI4+cQOB* zsOsoWDgDVV=7gZdnQ2MuHGVj5IFDT8?G<$%WVv0Q*%z5iBw!rd61qA4{zB_Iw zM{=JR4GszQH>wOrJqH_*8cTBHM|@l`rM8NYR>w|FpC(HP6PefliDuOO3#}>D_}O35 z5=L{bAec#B{H?$gNbvzpFyx{VR4|W_eT%63J2VuT0>jp;$8r1iA=FLK5tKfM3Do?@ zl5wtB1i>UeO#qUDx@*V9!~3j=4S*~FVJW_%tA7yeKiCUEVxexph;It*D=_yM z{Ku1sYNEO8{>6qk=+CRgY&uZwoTS$8e3F zELHhrH7ss|>xsCb0FtizS?A$neY?A2D4Cg)X9AYdE+eqAFf1tFsW{`zRvIwF2e2Z# zA^mdZR9+se2|K~@>8YiOiKLN{kwfFRrpIS$FPCEyp?OVgqgUVw_Y|K)3ud4Jt6<@5 z)+Y>`)YjG(1O>s5jE-8kx@vfNdEMVt%dL5=s-1-#8iM|?ks-nTZE7mE<1JO9Gp=cC zv#Dup)btdA4-oAqdxVC96JqoE#HKg@A_Ezqe)75scXp;sOHKXYy_Wdw?X}Tbd^Szn zBy`gx+87hiy15IVPnJm>ygpX0?!>7P~>}|5RNd2RH$zh53_74kLmz?g51b{#R>(< zvi;#kWc^jni+{QIRDSwxdxF_%nD_9r`+*%H2?LF4=MHDa$72LZqYI0QxcK<~bask5rZ$d# z(-o{q9NXn$W81h35Qg#v_F#+-e0dA&j^9RJK$LwZGsu&FtX@!|7ccCtdHaoJzot=r zJG}XN|0E==@bo}}w&+cf^!s0FX@sf0hHSO<^(E!y<-hCe=OlE_S?=WIYnv1>nI&-yedX|+&35%RX|kC*Y`c95fYL?XoL(> z4+TWThpWP}Au<1y+Sv4J#j*G~@%dzKc)!i7{nSSx`{bL~^~}L|ZU7jT0@?!yGbPu1dC_5Gw#~=fBPnd+NO0B%(|;V;-LJm)_Vl|Zn4NH@${^?q0% zU_?^ak3FnY%q(9vlVXkfqxLt$S#aHAdU_;2r*nUn27qEhY%GQGOtEUyeqnlG>9m*d49>$%X1&qYiA@F;;1_-tYT;=|BlF{%ZEBSo{zX>g91#>(C7G#-Ze zO>{VR5lfb-@%BLM!9-q&;+m4vdC}9;#r|ogcDc>w+-c)3X+cp@cCuMpPR>WrmxxSe zou;3Nc*Yo+dafJrOj>`X?d|RHX`l=-a^Hh!jM<|p+~#y#*br1N*j?_P;-1-Z0LY=$ z;#x%`pW?fk)sp4y+SfCuc6^A@`q>PMS+hF7PY}RjxEq1X%@;!qL7lPj@mnXC#2cyL zAp_!g(^L34!QFAZJfS0GzfOHtF@=sdizLWmt=r}Lc!r8-jfXr*)70oKV5pGYdX0;N zvtK>ToTm_7^;KL?P-20D8QS_|%HZKuD+HYGbstSdn8xX{!Um1 z`KZTft9m@m=QswB5w5x4mUHE$8XxH)qy9+-*YLJyD=uqHeX;zk-g|Rp^{ey>)s!s3 z#O+d(`XHbXX5!D;_X)_fBvzoR(Y{a%hG9~vo1U$Adg=*hF2g3a!Kw`{r`#>RA(r!b zDvet&>qqLf>&GUI0KrCZEta#5fk)CQ&Q3_1*vOW>Pz~=-hYT<;9!#%;60<64p%4N( zky>LR{N$Gf5Q2MtF4>}XFID=r;^i&NX~&tVdsPb~C#_W_lH?cVcC9HfA$ERxi*A*J z2JiD1BJEV%$m0Y}SAg`>VB1ssq z+4gWUwVUn3jJN3brMFcy0O7nD`A@{z6UAXu+=Cgl=h5`2Hg7IeaQXSZVA{@IXaHnNoi!CR@Z;;Vn`I{+NBG0m1xi zoGy#Y@%H(7jau6^-4oIcH4Kr*%HaU}F5WDiC>#V~DOyyN2r}|B< zm%Vys=7&-*d0pcB^bDiZ**DC}hY9`fVlQHzy)>z6HD;Bt{zT$5-q;JZ7XQ&I5-K0~ zYZ~^b!Xa7u{p|r*#!zm77a#MDU;i75XZ#8RQc)zT;Yn8{83Br5E((gy%tuH=oufjD@0!?7-c2?}R%xv*K^xlIu)0Xr&0(YF5-%7N=YI~-1G zxV5=^&S++0(&+7euMGR;W=}&W<+H48*c6^(9^k=#oEH$d+z8&??@X=n)Wa-pa1#Ff zux8CPAV{ilKOzgwzgZU4urU!FAqqB+ugW9o!%~)d@$Uo0-=>;nVf8`ZH({c7SYVY< zf{;T5P8tGc7={c>KiUn-;lDGG=^WCJX}H&MmHzl0nZLmjH7-B@eFTGA=^d&A@i=pb z{x54J<|o>t$SQqQ|Eqv|R{al$sI&vNm37h~>KhuH{ zj3wULT0J1X$B9j|x+v$GT8Qr728tB^t0#dbE0)g_*tInfc0s|*88 z)dGc4gDr;Petm!=+bmtly%Mb4Qs5bdh+&9Ts(T_TOl;6YzuneGbzg*3XW*OlfZ+K}AkoH#nF>$tCo6C2gox8( zpe}eYSCNe*Nr4fVD(rbZqux0n=-A_Cx-Vj+nB8c)tchcv&bMOrO@-SRZVS2}=_U#J zeNtyRUuMWSfp@g$F4tQtwJ+b7f@U$*m7NR#!L_0y$Ah_w$bJe-~V4CM=+$C;xN8PiINh^{!H5lV+KknORNe*RSa& zNPzoZqI=W%h~>=A%FWORP*P|t#E$ARF!G}*MJ=Xam(uLkL{+RhWLqlN+zLLA+Esn??!lRzQDP||;-!L{+<8es=GN=Q_%`kFs~ z<0mIZ**rbrU^XLoFP!=9JDO1lTaN`If8eCr!1d)*cK9M>jq&g~al^$VW`ZG%@y z1hkCYou^`c_H!NVf3gtD@w4&H%W4`8Qy$&0s=}J+c@G*8q&>#8=%P`TCe1RA!VD@k zf`UE4*7C1Ud`bWKTT16;iVmZ()UnbK(Jz=TOWuHBPs`uElxp?& z=En_liEp36gxzbKg{%dL6Mj?R52oL~3e+JvpTx-rNrLyk8y=Ec*ME%BrD& z+3;%N+o6~!QpGyH*nr^n3#|-zA#en|4KPwFeFz8uSDmZy8cmxhFKK8tn0IBtq0L!b zmbl~!SzF{3`{=IQ3yk|6`}~h4upjaTj>xuw=nEjI7oS&o=)^!~yV+5L?SiQ;4PNZH z@PX+z^gaT&O_a)m9|0l)KL1B@P)&V|<2|87ocqV})be^o_Q)Ry1;Nn=Ty$SZ5Il40 z0@R*kY%S-pMFV2pUM~Qw{xdMm9CfNK$B%e#4*lw9R+~RG^54pDac#yg#+)sN@gR%o zD)|7sQrdjT{$ttx#{wrE_r`c!-+1-)e1vW{?E5B(1`lw3@#jZE$-WA;B?`-FZsE^m zc_LpPo=-~@A3Z;(HAx2r^EJ3>k*IArmSHlZ|ygiz_~{HTiQj zO%Qv+ZBSHwAtyaY_(6|&YIiA$;UH4pWE(eIUB^fSg#BdBW1&4CuSa$HPeS+yZ(pF0 zUD!`6Rjm;#COGW>Sa8^-QW^=XKHPn+ee|mKUb6ie<8)Z}+pWU9bD$Bi?XgxWWMU}+ zqFTk@8mmcrT|V#rtv$Vt_9(RCe=?~Jd_tV}DKu;I0vSH_S8Aql`=rLH=UYlHqI+e; zCi@fFT0X=d5tbWIJ zLwxEw#66Ci6l*6cgKjQG3a+iJot`>*F=hzD}?65G#@OB5|U|gh+}THWo3rjRgMmcrmGImVg^0u>;=9O z;7hUmwC$QqLuzQ3Pv0O|%u@d)F1e#s2l@Sp8Kk;|MWD;B_dF*%+2M9jvPT?NUNrQg zTi)+u@@KoWZS%UH^=@o|Z?U$W^9Z>nXyMg(I`wJC@l#)DV<1Tr<_F70S=BcQe>{DB zNLJ6%xUKmABp&AHn@q;#%X+0fsxy7_6th)$*7Ctu`MsMhhm;Bu5%CV8r_Xn$s)zUN z>zgD*YN(HBJ`r$=E@TnOVL_2i%(~2s1~vbESzNOjcc-D=v7CvrO-$45u@Ifd2EPDl zQGUJztzs5x*yN;gY<)w61`x}YzI^#I-wyYj-0BEjTrI!FTd1ZTdkkudOqT7Ivq?(} z1yc_b)7B)I%gHT^P2iMH%dS|t49&`;!SyO(VTvXUZ$vGJ4nu$CMMU2vW)A6oq8t({ z+p&nMf600|${?7JCx8DnYc~}Vd3x)0`T#wear)pj=C*o^4fNn8_9Vd`U%=VUf>6mk z;0T`o%v1@ z%LxB^`vj$WYC`X#$Gge8$?WhE%T0HSC`9{WQ}f0th2`Y46Mz07WmgO>6+euXqVa}Q zfVhI^dZtTbEo^a7tE3(JmD56bMS0mucR5-UvXSN?BEeYSnLul1)Dt*!_UtK8?qd|) znI`a(*X5VO3&&qYTyMRn#!B62Aa|Rl5)_QB z&qv^t*IxDHI>gy;?_f2@zIHu!Y?aabhBwxYNsVRLB@M)})wbL4CNHCg%|#oT_(pAm zMQT*vdfR0_!2ye`=;i12`C2!`6(xzdv|Fwj6~CDV@yi0*?~;<5`*5JB>rXDm!oC*H zF5-BA+H#rC)Ccm$m{JevcA7ms%g*HHeJ(_!iO!BJGV_G$-w}2_ZN*MuH7B59d~V@^ z3&;MH3jb2}hBCQt+gMW=Ril-0EtOsGrwoyT(M^$7%aN`@+>JXgi4Y2&B+)mjw%+0x zpU#PPb-hFsQ4>M|HiI2|nf88)ntj6kko`$s@wc z9yV(!Cdy2Ql5KTEE+VU$bgbogj=`Zf(Uk6jVqw=i-eF)ZJKiFIJ*`YP;Z!2E{m1^> zHuNd|d=-Qvo|5w}k!x3zdaR1mieBwDG!5|FPio=ooPn{mFTtrVR+X2@a)(MdGw>Q0 z{%#z~4Vo<7p)wdKm}D{gwB_Ydi8Nc?egHB9U$NW{pzc-Wbf{L+ZvV>b;lXi_b&GWq zy}KR~d?5Qd-D&EKe=md=CGyBO`2L75rTR+{0gam(jrRc!PS&^d5RtYlxEq5tDtqeR z<>e<;pvya;n#2mU*MaUB0#MLFxW&W6>zm+&$h8e?;ncB$X?J=HDjX`Dypv)9%JS)QbciAgm3B@PY_?yr}5qv+1=ZrFs=hm&Rua2sJH z0zf?Qck=+406)XR#5_F(kB*OR_dQEPd7^huJ#SZB0^ZuLCa0%|Q-}v^JfX<}yrMm2 zz^6TEfj`inkUpPXp$Dx^xWa`LZ8lKiP{i&deaR>1WkfcJ{ey%Q#&(Syuyg|3V84a% z{(Y$o81`)hel;h2p1O(A=KWO4vpogavk?Ap8`*NN$o2zVL6#TYQ^?j2p(Mz~g~Qb; zp#Qo8M_b%G51oi)oTv5ktIaMfucbpqou+pWx2NqhmrnGTe0+S2yH)q;iGc0f$-NqX zGP|ChUbMJWJmzodkmfmqqgxa|+Z-5Z3N~rbfRvjK11cBOfJ&mM&f?FC7JpIbn3zi3 z)OPo4dP;W7s_kJ)-s2B`hZI!8NX5P2%1@qe?GcO}zr%9F&2;Q2!LM>(yBT>h+cDH1j7c0OiTa1KY2_ zW_B^5yzb^;i$amqM^~B_PyecU1GbbAkN!dA(UJ`N4i+S>Zq46LTm!sil2y3`HVz0Y{aMYR=a{&b`^oe2FiKN4x z-rmBdpcH6@k0g8!@0V9r8r$VkX%lSm@RCV0$69OwDo1GvZ3fhE2wX|K%&VHMymgO- zw8cPLTH=wyls5AV3Ed<=8E4H>ZRO+g!50ju5XnE3pn#Kzq5u`7m}1gBq&`eD%QP#E;v431&c5_dj84~?vpVke*x5fqlxt3L~4E; zY7v*JlDQ@3%V*&?Kb&}p)1p8i#vi!vNKKywg@n%K5Z2lTL;c>qT}gJ6ONmreR5a_$ z;&uC%j)vvC)3dkWB?S!9`Cx(ANN;{y!CTBob_{R`hAkyXjlZ_0=9^bj*oWK=#FQ$IT_i!_FZD&#!uWexe-9M z?6q{xe)+au2Mpm>FHjzAf+!4*j+&CR&ggZ(1N*h{@){_3j92GaFp-BGGG=F}+W(@< ze#YSpM)+QmmQ!K#DK;025PK%ldYm9VHbKRL5L@4#)RYQxGYFKQ{kfWtw>Epj_3JV! z0`(f~C`jG+C{PvvA`gF-&$FB0^WB!6lM}q&&+ZUd1a<5U@vb(n2gbgt5vx`{`L5o} zaFE=xb1JRp9>58Be>a{I69W|{K&G@16&l+4N2O@K|A1u~P;7rY>|DIm_7(P1uXWb9 zj>A~l1wrN21O+o@U#zSG>#DJu4ruTX#&QcA(e8^)GiKGO@^aqlc|2%jm;s_&A0p29 zF((YzF+$Ra)qJHNOO-*Hy$2Rgy+8u(8P_F1J?RJ93>_NH&P@HYGae3FQ%Jp?-wnT$XQGU|jLj_<^VWowwbatLvJy8@Aws<_qbq;Z3l`>+ zvyOA4S{7=Z5N>H{(KzUu#1Fr$|NB>ey~D4xV3(%m5|pn!z|C<`T4d(q$QPBFNz&5V z3V|UuJ!xjTWOQ0L{)ikpYD}tP^{UyT4UUz}sVGMBu4bao|GuI1!$ICDt;`!tdR}3FWGqBL0W7jqhd8|IO~%6HiXyk> z5HvM}QROi6iP1qLYA(67qa>VUqs5d;(CgjZyb()FRL}a^MyH19HfKRK< zGoITDq^__^@p)NL{LmSfj(N0*fr}p%=Ax>qik*Wag(p>>CVub-eAu^?qV9vg=H9t? zcfN(RND$A^G}4&pwf)dE{_8oXO`3ko!&&0g)Tit&K@!K;bBx)8hV-AKVJ=NgV{HmL zTT=f$G*h6j5H1mbL0nTK_SebL7|dB;nmZl=#hV6NXs=amulp-3@sDkf7sHe*1#);2 zX>N>EPlxv;{Cg}FH!-Q2?>hylSdZtc#DOWbntuGD6LH)f#nEc8%f0*lPP`cC&PYCr zuNec=BLEk}fw}~O?A(%Vd)Y#bnI!<6OqAW-o1VG#f38Mf4uTlp>H{#UeGahRASkz? z4xo$BdyAt4l%Rzl&&0j1CZuHL;Gf|-P-x6ie8h-W1A&>{g8+U z6?47SZz=iXFL4tq0n{VF8~guD=LJwD7yByzk<+zu3UM`a1lINv^6iomPxx7g7=xZ2(4hKLXT4My zR!!#f_@zv{zU}B5olLmYvZ7Tj+vm9vgbEG_+Vuh`KldlirwQ5F6@bN|U@KI|$itN?Zd_=}J{; zo^622%e-r{y}mDsq=d+}ZIii-Ah z`vD4riSZliM_%@%#7luxua%pbmbRKU1Eq z(9^>)Rv=~eXa&mE$ciPYosYJX4IrSFTLv&R4*@U@vk2K+XgZ2K;ND0ujAN#wIrk5y zeay%5TRVv#{r)iOsZVytQf4*jhdVCum2+6DumWAlgDfD1ik@EmX&&IL&0#AF=2FWg z?TzP(7wn8U5z)5)wpbEV_Ub;V?_rq^b`He5s z0To(8LD$MG_k#~B_WdLm5YH~hYoIG|@R}-gYj)X-6)n(~!2&c^+&c3q8ZMx5{`c*& z*X;_FX6PXauiZzMw!2>`(Fo|obiN}X{Z*`0moC#N_@S=Bc-o-)%*u3C?VImb7u44C z%qF|Cbe8E?(LLE*HnWEONy#5TV4&$TF~YM}da}}70#IbFwvc^BIoqS!AYh{FgBdy3 z!Vii7%kmw>Y1Zd{zev)p%Q6zN8Bj?W@1?)yRGathcbh0&mb3C8plO*#$YTRS-0_dz zI7mgzAoIR6(86or&T=cvV>M}#O{6bYDMH_gMDH`$C1M=<9)eCHvD%=JCl!6uggd~2 z5fl_;G4U&Co@}m7wM1={TX%T*V#8U%YPaCxgk{sO)0mxLoCxI6;c26m6m_zY_p401 zmPbH4>c)1pG$XS2U`0UDr~Dl)BDiQ&TGb}YBW1+8euYL?$phx$2Wm8d0guA(;k;;J z`cDt~+PYS*MXX})QfO}Qsq!~gJx;IvA#amgfrd0p7;7*}%hS!0+&7F41BtgslLd0G zjS&P?d~%Ke$T}<0y4UGytKs*dyE|9=F?kuyQi^zHdZ#~u$}nPIUQjzcyJ){c&5zc6 zkV|QQ}sy|YhVvL1WfF@0+Ge?Q+G=-wjD`7QciUTqhTi^PP$fyV2~;F zCd=}ceFd4(Ev_3SAYGzb%2BTurrZ1yOitS+vS|>-5W0%lBNueomd-*+7+b$YqpxzXRk2#VOEnQVU`tE8mq69@n;Q?QKFmC(0Om zm8ijgC8}qd^7&KnbPEK_$$EWm9f5<(Mn0)r7_ahBHf})=9yeZN zLbrB4o2o2m5#o~xsYy)QLz*F+ml;lHJ@E*1siq*$j!e!N#pP!p9r5$j8c!Lkr~Veb zoBv_%5nyH4%HzcBW_c*&pKsspO^6Hnc;9UxjwvM^R;z}ETyz{&jc4AEQ~jRL-$?PUxfz~gu$s1B>EmXLl9~Q!P zhfm!pXcv`?#Y*8!c4nxVs-I;Et&~at5}^EsaLSeCJT!h3v~a+>9m9_yP<#`>vOlAN z>_qk?`?q5#6r3ARjgmBgrvsK$1?tCh` zGljHESbg(WS!ro~&a8FomdUR@gG5SWwI8^~1l3)^m}+wXX^8Cw;2~TGx(XNwsg(d0cfX~ry(Xeg3RujV=g1-c~ zGj9`Na!8GSe>5XtQAjIdYl)cq<`_Ae!PotM)vZO};LxCjk$^#v7Zl8j_-b&uACMO) z%0|IVWa&PD9pkO|Lsyf$PeF6Yv+s`Akt()0&Cs61ak$yVb20T@Swv%yx51n zT%C(d;ukX)zFUXY<<7`<{JfmhxDzlGy~KxAEuN+(yZeIHm<3dTn8pC%Vg5&Wp7(VV!=ch4#RdJ z=xC{4(N)o-$FuOD+edi^OF0q$k5=hdr~IBD1-`|S+3MX%xn76Xqw ztFGcu#NB%AXzLp*0EQ?BTx2WecX<59dV<-r>p8vTDd;+v)79lulVG>aZF8CKDFxTh zKuzbW0~Q00EFh}f=1iW}pm4CnEDI9GoVgBdI@$_wfCE_o`7zn~vbY)fu(7d$Sa87D z*x0@I+W{#*%pl2n-ZGFPRrE1|F=~1-tF1Z^1DVZk&w1CoA42;qU$UMg1&LGSX<*$0 zAP!xR57;yZH6z-v?e<+$)~2|BSfhO*GVwIXw)`-G0%%&f2gtjsA2cb7!6GG}GR-zZ zBkw{WWJ*w+nTqE2oe!T2$Y=xRs(-edzQW}o0JiDHvijUC^L>s~9G}hb*#~ZB!apdR zj>n}L1fnDWW05qTk8WCip*=l^5v zt>dEj{{3-K5D}E_ltvJcZd4FdKtQCFZlxucSP&49ln_`_LQ#-zSUQ$iK|tw_UFldl ze+TsQ{@nYy_ddS={2mVM{d?9f$2s2K+_Oxh7nM5%3skqhBT{GYb9=-AzmWls4Y~k8FoSVd%{$T6w=2n$+=L2es(U>ggI}T3#FJod>3Fi)IeYNE6jpuNy}I=yD3dmd zg8io%E9T~zA`ehHtHk_JMlpRr(uqjjaS>(|%dO0)Lm3GBmXN8k^JnawnD5u0600y1 z`(-{vy#==IJ*XM)v0+XN zUpHw$v~?_sDYR8B-fC$FTd;S;#E>2zx{;DU5ab7kd=>A@r4{oo?=vrwtJJI0hNC+> zJK~PhSO67md^&%8(!S~bqnw+t>GjT%Ry>Q<&d`xA=qfo_hYAdwx1XP!oB%|_PnB28 zijym)pf$JjI9cy7J$z-Vfe9$^-~2gpHjLUA> zS4p78NMSlSU*MX7Kt=Ukn8S;8+61JgAuB7ZhOTbN2Ob?34vrwq=DL(G(5*du_z+7u zr?liVWD;Q4MNV^yyhio(fUm;g5#(TJzsboNe4qYVBpoenk>}1UHVzIJNl99O+!_zN zdw7TsVGWm;Zo40BSrla-ff?Cq558wUob%|YWWAxZl#EW)7Hcfl-~STfjT`)QBBYf!vwct{VI zgDio(JSTJyL+zZ~5bcV@V-)+vt!)mi>GmFoq~1PBQ;lY__(G%Tb1QrzOVF21=2DK4 zW0VexJN%yS`r={}peLsHj+zn?9=>}O%d4xnMlEqa1_uW}3aXKy%3?AzS$+-<&Vo79 z+$*K8_O`a!4>5Fai?>&&>v>Pcx}}nr82#=2QjKg7{JJ_ zAZzCKsyL#ypx_2!*kv3#rv?DJ0l@NIvY3Pa%$Kr*{JZY%V(4YS6B_*rg_p@L) z(_H7A+R&IcuOHJ`0PEP59txdp`ajqDDg;*OBatMiHZs>h2~!J=Y)%N9@JN|i6CdA= z&gy#k^5ryTcxYPI#j{0xlOK~aAiXcT3^|_Yw~annsiO8?xuIlmdV?$U&l)iY+#DF> z9^{3S_ok-!+PhZtJ7vdK3}K{VP}b|tf&GH*%l}>#!G#GWU5fs5;E+x@=(PKO{O|(= zNluYZM?>GW^AkG%UIiDH^RW~wL33Dke#-j1V?Te|HBK$oRqjJQv&8KwCm#X@xaphg zk8RDL2-@m$3Em#o2x`60V*XIueE5BF_=6w?bCu6*W`*3ar_If%ecwa(C4^5erWR;~ z#@D|(tnH^br=vZO#xYWRvLe?|F!_%TQ}xH)=0*kmtH`PM1SnuXdkM7JAyn6h}>d&x)P-q2!kXpfSQlw$YF2q^u&u!&^*L-eRARky*M!g`ZP}(4IE8_fXD0i zILq9M8UgOCh(gsma7(I5IW?f=a;|Vk+5mH{s7Z5Rb3iEDBY#M2XQ;jJB^0*X{PgMS zn3(f>cb|hTb}FR9XjvyPm|3W7?Eu$c(pAefz>+%ctr^(-{1WZ6zj0Gde^Ww)={Zax zvf&pm0ZLieZAJG~j-2rs+apqBvWm9LQ2-30^I;j-|3IyboK<$C^w0yQ)vFSpmVqv| zNYZs_IPs2I_zo}*4g-K9V%7R^dvSN^7tdTuXy~yoj4f$#IwVlyvyE-wpM4r3M^5-LQvi) zs$S}hequ9GQ(gy5jf6<6J!}+k>Waos)p=Q&djT_?B|Tp2+E``pFrH&E^!JaOW+&i^ z3<9_k(3>h{1@Me=A*-Iah!fxv(+2YItd&65L$H6>PFp*0 zF;;$l)kH1a0zgO^;MEkJ*i9IXr^;;-ilrSUr6a>Cb50WK;&ar}X{T%4*9}b%Z`-jj z4S|xMW*M|nwhGTLdjai5CwDo}wTKQ<@#-1_cd>8-y25tE6b!`Puw}Mb#?~~r(mNgo zW$!74|7?Kc1EJhotm{Wydt3w<^Nu&P@o)Ble+27cwaMho93Wi2!hBFn#cwDq*i1iE zWFkMc20J89f_xdS_o>|^Xaf4)d|;%tFkzem7T-#M3t5duyc+9db6*=D0X$ukJmC;y zv$P*z5mx(c#TvNY`{auvh_-N>5@Ky)B|HEwXi z>&mb)b%!A;2!b~W=QxL9U864T&d!n>Ak_bnE-D@eCgTeo7}8N+VwG`ITlY^MC1L2bOJTkyn6 zVw)XmFGdb)!;nzF$I0>D?fWB}936A@j5 zU+qx#yJ29?4H3T!*AF>+)g+xH<5jU~%C-rtzbP^Fy(={h&m;(Te%^g9=oakN#oqDd zsWRvRXV{RjI}F0s#I7S)DMODr&6?zBtdC0x;|{yiw`DeDfvUn-Y?ARv&47SifL__F z0GWtuhgxH54-$W~2YB9*IYiW)+g$PE$l3;LDFC~(#si;u+~Ley-H(i$5-2op|AqE5cvP^UH$35YA2Ya>)oq;YFj?oB zKZs##f*Tuh9OW3Nkw(G~DH1tj>A!CH!hIijM}GnXh+>5|Aj0B86vhaqbo?QY{_K6l z$R8r>i}w*tfuK4i%4d5N^QSdO9D*PgmF!^gUp*Q4^!INtW5bJui{B$dDxWVH8w&8p z;-fA$AVm_OECie2=No|GrU|aXk(h9?@c&w85%~0MGX$$%wt0v;_im z5x41^2Jgi&>pp*&E8cQebY01mIZ(O9^)Ot@0Uo0u>>g`t?)!K;1T`TA_&fy zR6$<;k3}p~Lu4}Wi{3r|AH;Y3vls>u0*fJ#I}RKu?7PVSws;=v@f~|va1PqA zCySYJ3@PEotIL_N-#fkj(ufm$RGPoZdK4>w&8sAsb|G9GI-@8|EHnicfYc zJZ`;b0<)yCe))VePm!TQ@$ge{gzIo1K$GS76k@2ZAC!HhGBPsI!!O^XtkRoCN0X*|E_-7GlPj^m zHld1iIdxzKW=>LbV{PvE7!IbGT?za~&`P6-%ZK{)-g=C(-dw=_x6xu@SJRUx`uUxf zs%nI}g+*t%&Con>&^^`D;|`es!&kIKrK$1v^x3>}!&DT}s-~tUu6w1ZnAlnE0EGw1 zBd+t7DLX4n6uTrq?tL`~dN)2Uu4858+w{)xaAIp)o1WRrRhK(NBoZPb7F|q^wzjop zQqHJw@6%(w4MQ+BY>gTyW+wFX^1?j=ET08|6{nHAo7+47mjAr z2-nZk-x1Z-64gFO6)I|KJV(F86EQ*~)|KUpl7*v*DE*+IAe^z5mKOh206F4UIMuPU zv2hJmEalaKGcL@_Q{I>a&dE>TzVU9%Myn$=kptG)ok&)?AYOAHpE_m?6&ab?j>agr z+1%hUn61kBCQMhBisi;xUS1Y2K%0q(ie@qn#pUqczRlgNxAW^~0Tns<)spdF zzkd0v?9I$%OxFPk-96O}z{4`ke!H5sF&jF>^}W~(ofFk{?6F6~f&t_!vCHQvP*A>S zzae&|Uf)WxCTfF6R8;%cty@KEBZUZTA7H=K?`@hEC^S57PHJBM@vTZ5HSgLplT~L} z*JJeC<9BcsuAww(C?pg@dmDJpnV?k>r?YJYG}P4ZfvLSVs{aX-myL~bPr4jG9vbgKgVi4-rcQGP*CWYoMfzsek(-tIAHXN9LJJQa&q!_{&M{~ zPc5JySsLwOoLbQRQYXTWef|1%H@D$79dla^xp2|X$J1bT(LXvGiiaD0B0OhnYx}WB zk4|%wd!_1DF{TYs6lt>OwK0ud(wxCg)xl^s7Kwg&=c*n0{HB>eoSs5Ml;eVq?Hefn z9Pl!H30fTn@j4YYQhQ!#h$6BO{j2~)iZ>cE$vie6{&^Ps;zp!>PxaNA!h1p`$()*v#cmaF-76zj+c5TLwc0ynjW|wnkHieh zoKIsVcPxj8)*;tsP}NbvQ|j~RlWXEmvvv`o=iQNEtxWJfoZ=??|wLHdTgnQ;W#>eExe$nQ%XD{P;!otEj;!lLor40>48m58Y0aKyCaT5A zsL*qkWn+`|&sJ^Ty3>Q=fydnm{AXV=&HOK>(Z}ysySuwvdN*-T<=={9YrNyX*zS2D zNR}{7Gfh*>x`=rIsTOV05sG)z09r+SabrgOO^V1#%;~#G9yw2Vx}%o$CwAgLwgp@E z%K4uIi~q-dKmZiDm1zH!`}BY9r%ig5>Iij%bchsTLUGSqflkBw?lp}*1=e9M9B+zy z3J+OzsTI_p=9CfR(27(lO}%|IeK; zW1^m+5D0{wqa*QjMn>_XSD&Bn41}N(VtBD_eJn(*SYKZsE99Yb`sUjoEm`CTU%zr+ zy^oVd)gdjY7SdpDNYsGAI7>-MT@Dcs4i4UIMY z_Gt6(!cH0(p82GeU?Kn3=m!FYOY3c3$lYDh^Ol-bgC$rqFfmD?P$*tW$#m z9HrHJu=Mmwpv~3PYj7?2`n4F0w{#2)<@x!y2PER-GX?=h!gHyiE z&#y+h__FqwPe3qGUWv6guS6lwqV#lii%LpLUJMb)_{PM>YPo^bu%`b0{uKZ#d-7S9zLO!m%6}h;t$zV<^W3AENC5vshbGQX1vD0)-@XMUc;c7*{GBkQ zjm{IJ`E}&sq2xt_DZ_?N9@Q{_=&TROyp@d#ooCNy>^jhTVgUY`8JN`mX^;= zO*3ojYiep7dlpBf_k8B2&|oSI08vYJcJ}z_Xp@*&6v~o^kFNsEeX;iY`DKtJR!lU)($Z4JEbHUPMq$yz!^4#QSK$C>92Dj# zEiGLI^H8x05fPD>pT<%f^76W$zjzT4T2^UTkkMOXZENddHw(HaZ3Bb+WpYxl)o-{m z>3gozRtANL_V#aOWzW(H@XKVW#KzOd9)(mPjSLNw+%AI~e236!2b6d5NlCfXcy}a?FI|65$-~3L@lsQ- zSyoWc^j3q{-jhEK2D(N{Iy#$N&9TNtzn$IP8t7DmuNcD-k(U+bu^M^%=G)^E?XIAr z5_XNa54^k-p%Glgr5h#1Pbo{@r`Ew0Ni%pCT&?6oBO2sWjndnElAZ`TqmveEhP=}c z2Vn`$s2*yxcaL+L5PEvrZz}EqjLS(c1>wWQ$S4Vn0Spoq`0}Pl^Yg8sxhQxzm!Mo> zl2VUOU*rGYn!KY)-4VP%g|y0PUH`qf_;qf0ZLPq@-kyWO70DbdOcp=F0bc_{#vNp3 zWhKU!OLJqFsLZA1=g8bTI{A+>`{b z%;xIqD*R(5CwdP4<>WzOuX%TUz3fnbzyDsO_zSqmJga`d6#}lJskjoAXOGVt2p7{= z6#x9m&l6&070E}ZC5y|;-M)xSQ(qQtN+($du!_5u5N_U(}gEWWpPh^-gV3(oxXWFHc?U{$Ms ziE)MD$OPKtT~SgL4|0p{OIP`DbKoKeG;qW>w+8NP^m0=swSP(QvEc9^?A-(%umCcs zhj*;$hs+Z7q;my~?FCm0D)v3p*Vi3v?jktSE~O@;?j+#r>^ukJbZnES?$^yNm}E!o zdlHP?8UxBU?Vu zD!f-&kh=`4dqwQy_JFmCNzO}I3-m&<{5{mBQwx=eIcZDfP7gyeERFp$OtEJ6 z_Y)KMnsKzr7>!I7@$vTW!Q7CwL)pEEF}|-UMMs-k?I?Z_fck5)xL@I6Jh%Oio_-*g!_;oVtTSv?Is=hE^^ybQs{kSiz`4r-ZXFyabg z>7C+vdU_6{_ORk+&y>XS~2SsOwi70UP+<2j< z=cFRp?hy$FNwx!hRx(>BmB2_WV#_vf+;HM=pnVHoJmP6=S4|{J%XyH6gAvrTH%aUD z>zn@Yf-qxXpE$WoR33w+_!HXy)b$;4sPH=Vy1#L~q{2h0B2}fEd%Y~Tk(W2Z)yvAu zB|btuJx8&tpp1$X`=eA(f-*90qF{;cbqx(ncsNFtnK!Q2My7Vp>wRRr!=nC%r!nXa z+&7Xkf)v?pUL6F1i#6Pow)VKP**GU*HmfrZ{aT|CqLt(xUUap|o8oFOALH7mPoKu+ z!nSy6EsWC=D2z46mkJ;Lxr*b>((<{4FO;7SUTPnJn|WNv#l#rP>IgW1U%`JLCHeW! zsTG){sbM|-yHcwl0gAl|?wqLY7m@JyFajZzY8hLXli0XzXu@+kx}}o5uEybDo?};h zDYK3P09!W$^5`!AqYrFv;O2)muKBzea2y#u#OI(_NvlBmQP4T;6@$rcmOT3};8*r7 zu<^g~ufO!b1&;O?zWkq{8rubhaE{fT6D${?+Hv74b906B%}zrv;6Yv^uv4H#9bp29 z8#p}8#0a)W{l0EJ!U{Q};d2!?y<|HCsgLR-xyc?AJ~s7k#4ABvo{GB-BWey5Fp6Vu zr?R+hL(&;TL#tBp1GtQ0ERslL<_mot3{rcf_I^Pu**s5mPCR>Grytd)?a8J=(a-{+ z`(KcXf`#gTbPzWIJ;*~I136ENdkARWYj6M3b&$9B1=H7z{LUo}=7#^T_1^>Hlj2$@ z985lLvSDJ*H@=WKoU?Hm?~!K+APOk*+FQ#m@)`Br1bpP*4UUblaZdot{>bF047drw z)_;!Ypy4qJ#2LL^S+U({kb@ozWFkPaE2>Lc!sk%9J)9;0;ISD1y-t*d2m-wQtw*iT z(QXEqd3zk~-rhUoW|V`5gR<7~2w=9@F+%anpFQelA*GU=q!g7kp$oAH!8j?H6 zfJ~c82L)iO%a6Ok-c_W5oH`8nJKD###2bvNPSh|PGxEX?lk@=F@V(1xHg^J{*&RDr zWyciH0f&V=fD1;$;x3rX`!``{K0FvjyQA}>$>J0c5!Qp>Xeu10B0*y5uhF2)Uae8! zTRA5mhl|aEfdE-MzsS6kln~@&F-WFP}&U>W*(lfyo14B5I)%m2g=+KBvOT( zf?}i^s3aVJrK8VNC{G0&PXVeN0oKU`QM}Wywty0LJmqTP0{?X&q`D*lyn30h+jl`+ zRWsnORz38mfe$1IwDb%}-f}7~_2G1vqN3xEs}-wvkJym`5wmPQoZsa}3#HthuA$oqlfU3U`+u%C7Un|JQX7 zLHeE?{=$*H5ry#vC>#$a@DmgHcMjDgKfw~aF;Teh*<=q9jUW!F;mfwdpeKhj03G|d zAq;XUm7*ANdo@z3e7EKwIi9t?Bl|sCp0^`p(M4V#Zu3b7P&!zZpahi=JwnMkqg&qY zoag*(?B{Cb2>|n=80Q-1o+(h*PVWMwkNag@#TR7F7-)Ok?g$Wk)jD?*w)dJSf6KEP zuid@yQTcl7!3#Rywaj7fRiL;T2Y8)`Wp7&Qq17&eaDpnM8vWSQF>)9RRHxIs05oVc zN~h%0w}$-MoV;!jyL*Y_Uk??l;MoDj>giZ0Jk{)_Qa_b3xV4B17y++JKtRch6{Qgf z!o(hqh*iz@xREm!ER`CVf0E@Y*5Bmi<7)?OSYypGP~1O%Nu=Whc;rZ+ZmwHBO_qW zezXi9m>Ltsoib&3H|WQ}7MB4V<>c&nxXnF#Uq@Rz2vBsK@qjk&)%?9r5Fj&O^etel z_3-s;FtbkZGCmG;eh*Kz^E%*6mtsA2RO+;ZJX%U0VG?pN3Ph#7HW;(|riCgrYUrt7 z@>&lnc;tmm2Kp$N4i_8d>o25cqBIP>#AVb|MoLivBuaxaW3tOJ0HR*y&nR=4N}CdT zWHG57AtWf+Nb9raTpqLYYrNiTkMC2I-8Z%jaOY`1ahmTS+1Ljr)jNQf1$R>^-x0_# z)t3LRH3g=`iO9n-AUePFDRP|z?y-3(PUEpmFW|M)R^j9Fg6j*6v{Q8`5Wi~;0)%h* zj8!Bw>@4>h#CeQRpu;S9Tn~_wi5W*M!h8C5L_K{WB&RC^8o0&HD3;3l;*gU=dp|PZ>uC zuh#S{j^#wPR7nf|XCT!v0Kuu66bO1*h{T9QJ^7|rAe|rl3eQ$2&BimI(>xh z;-X9@v+lNia2ebntHom(|(Ji!|H3k}ki0TJX}XkUA5SP%2YNDoVL<=SW;v z{XJG6{3e`Mkzu}a2+#22$uF+c4!S-;GE7^Wcl~Qw@TLmy`qUYT%gtAj_-;J3xj2zm1O-Ae;unrveQry>l zfjT%F86Kt%C#Tdlwzeim_n!H|;etPZN;h^V_!^tf>*O?^t&xvG=c&d`rYaS^yre#> zCZlZ9l%I1lBkIx*PRX7;etZp}YMd+O;o;%NU?3rfM417J9s!tL^Pch3Ffe@hSJl;g zDAt@jE@eDed|5ZEh|HAt7N_KMNB((tRS!^+oy9}7ob+g^ML!und zd+*sZa=^}qfI+P$;>Gjlq37mapZoIi(b3T}qWqD7(NZ}V+yPCDqNAh0lN536g3!X} z<=225MZwLjB2P|k+jgRc!kh2)bR)Jpd_?=ji{(Q_Rv;NI98#F1Lz|`)jzA!^-7k6q zw*VpYw}d3P`HdeV9W~YwLFeu?(=4*R4UgaJ>5&~?J?TLhKGTtF+$o_Xx5~-7jWOFE zf__gqQ?aq(srr5{-sBT?m|S_4^HEz{+kfHB8*BwdML-W-0^rX_m%*VSGoY{n%!O$3 zoTi*vbxsZ*6bdyq8Z0d-c^@B-5?uqzICUKzym;Upe+PmiDj`BvAUlAImltOlRB*<1 z+1WVXz+{b;mlyfV7o@v?Tq#BRwt#~4rl=_8H(*9Uiahc5hA)?UbP5Skm14Gp<116% z1u|*>Qz;jfAu&IR(h#ePPoCU~WNPqZ^8MDdIu`MysnGe_y3fzCl`n^_s&)jts^D8|MUTk6(>Bz2bb+`J6!U(V=5 z%s7`@Elc0z9oWttA?BzdCt#PBTS#Qv3S2s3;kMO%8b-$We{RApK{ae|)(;;<%`FXG zAD=){BtHaXy`yqsX;H&E=cjtOnJ>drgCH9XAZPoaOOxyQ*+MSArg!xJHr)rbm2Z881~9ldP$e7 zxVX4n{QP1lvbn0yO9lo8DLe?vR7V?<%KR$xw8F5VV2JO-z2#{p-&Jt8dZvO@<@;M|UhiK+4lVxk;Y44*rEihfnOtf;-_g=TcE za4Js~`@Y3702FG8ofu)NIZRS&LQXM!VI!Mza{gKD^pTm>j@eHFSVx$AEpR_d-;D7I^gshe_qp!)VnS;25{8aib{u=#J6`8W zyYuL#qdtD%+%}%0Hwx{&t>k)qycv!l)0b{?yXpOQO8TFPtO*1ZrQ>t6PwXXc&B+GN z_4A6Ce4b0lUaUHPDLfYFG2|Fk|Ig$$J^_-3kg@OL`!w@ZMZBP`2T_@>kTs#*wtOFM zs{XxOD$kqW0yXB@|2=<(2mf;_|4fWsRu$vT2`k>2dnyANsJX#3ZwN4CWje=73K>0qAI~3!5Uz#+$CiC!75Tm>%Xni za}1m6@z!!h^&Y#S^8Q)nzwPetAOFYh9Kf&Y{Oh;=*-^0-o(LfP2wRV9+glkMYqA;n zU>B;NKjNEzv^W>4pGBa}StGm92Azw6Y`uWnHX3Uq?thaBVV#SG!XW3b+c{Sa{m+8! zzo>)$t^fHW3i@v`#D!Iat_g`=UMmTvj{Fpt2_Bu8qYpddt*fTh>Ly2 zb`*>APuqE>nrPkDZYJ3KGV`Rn#8j7(T}VhxTJPdO60R8HkT0BUaj@~@FP)$u?LBV6 zmt*yZQrF#&Y*WzVm|EXW>GY$NDe#V=E@_K26Rz_&N1?to@?PO+SCTg8FZ6OdKSr_!_Lxo~BhvPyWYeIses#;9+P92`B$EX7)2R1@pls z{$d&j&a!5)PjuacEg@ajp1C!^o^ww@p*7pd7f6q#J=Avya6yY*leuUyq4O700$5INC9G?O#F2Y&_)c)tK;`peZtL~!NW+(`{yVuDROkCmb$ zM~k?{1W5Pi)vqE3gKC$qiV7j%NIuMUbv?EntGIriFa>6}Bs4VK?O~yzMJ6p*08L{8 zXDZP{%At=B!0zql05DlRrA|e7q0IQG?Sz20}<{%*AN!@8G>?f{SSy}ZJrUUib zl!*FC^Tk2E{d-WJ$*NYp233fO0CJ+Y33J~a)fj?(PpL13wiinbgpc6+ZIcCVdj%UQ zy?8NJRt_#|bYfx%pdILCJfG1N78V9aL|g}aGjIDV8=Kqa^<`y0@1p=WQEW5B2OvD9 zl@c`#Wr=tjz-@=&d(5>*Y;107oMeJSFjxHh%CL_0_KQ1B3?qBWgux+f zTp7OS?UbtkQFprqj5*W5B?b};I;4J6qJellAHLacE!-uuyLDFl`-7UYax9{a2n$Fj z7LtHrju&LcufPfP(mxLZY2Ebn^ha-ZMa3&XeetY;ndJUeSn;1u!c0aAGv>SaMs(f5 zR(9;l>L-$iZGJAV{FU#|woPGV9T1!vpF-)?0>)7+3Q&N##`XX|Ra1AjGSpa$()LqA z9nc@ze;|2!E;`mj-Yz&d(_FfADeZGSGaH+NeJKf1V@+*si?P5L=pB|o;;rHcC!!x1*vFC} zfJyyzZ|!T4`z8;q(u#Ng#n18g@e9g8s?B;j^P|pAsj@AF#_Ox!;mEV2(pUX=UGO3i z6x?-Ny2BjoRE_-2gP^^G&DFyfJY zUw+BPa756mei<$M{QTu*!)kK6Z-(CUWx_di%3t#bYqbZKA)C=juf96;rui2hK92BA zqm*gWd7#mXcz0D>1JdnZ#oPVD7*f@^26bqN6)@D zWv-d);;DVh0n(LO0NwkaHQ8`ZqA&Are?sO_mDSZ5Y!H%of_=+T9snIJkcr~5NxSF& zsHK90wXy6oG2G|BSR01KTn029ep*ZL+a1ace#P@m?z3)TAD;GKt*iCSBoq}E#yLKj zEd>6>4cgGXgGK@$J`8wKi@#M-G}-wZ4_H=%uhm^d-RxM1Yi;XkS zq{4sQ7#Guvb|}mI0%xFFE1NyJzPj&{b6vz0yN|16QUL{`ypDBIfLhhMc8lProm%Iu z-sXfM%9)AQPQoLC6#toMq;qzk7U_4((wbFnj@U;BW=MdT;K9w0?xI{FMp>PK{(F{< z(iXRp=As&3-IA|u%lx5j5OA1HAaJrMKh7YAjVhxX=bSdFJJd&&Ur(kCJ%&$+jzgyJ zwx4KIBeh+4qj*Kl6Lh0(UQc)XsP1Fj==KiETY?{4w7i-{8tY3ibp4)cXehZcLggQr zf@3ci-3&4deHLs8M?`R18ki!5&1mP&dNq1KWahj;0Y66=(9L?W#gU(-Ll5ymJ@Xop&zI!eK$g7a&uB?XBBHc4-M7W{UtaaK_4~R-(QgO z2);oTckqPiG*Fml@+A0j=N|pT>Y>Qz%2HL&M6lXv8!dxN%qhnlMTXwIT(%YW(BoDX zd-v{LNJvN{NVPoCL6EHr)O6insamOlyOZrXU`M3`s7UW^>>ptwuVjpe0 zgoX8MBPr47GCf}F8lM;PO5Rx*+1nAPR}Xl!G0?sRO?Vne6gsCE^#|G`=yJx-3eGvk zh0q0&@>N=B`Pa%9Ov>BMYJxYaCiB@((&jW7v3z3?ipOLP! z%`Oh8WjWXx;rLR8=T+-y=xM&I$`%h?#g~ujmibXw&2*Tvt@JaEi<&25yw_%bRp{-I z2ozwqAaHc{_w6Z*$Kyc5egK{OQXq!NhI_JM=y{z#C@>~#TJHBcJxP=9d?Qk?JhC}m zxulY1?v#vfiA%l zS(m?-PeC!=>^gB^?!qg=`J`DAa%)4I?Qu)9i8$nWl-gHDCH^Duew<(Xpst?7^vVrY zjRV%3n1-hFhJZoj-X_@zKL>{*O&b#+g&MHUPTaKOD-C~p!Q6eO&ys(A3oj{rf~BwL zwS6ZP8P)XZBQo;$cehY@vqL;qC+vF-9qptaoVm_(=jkmds7H@SLtZ8YeHTFzK!AnP z!V5ssN#1~^MyY0={-pGB1t}wzxkPf0VrDhl3tO&o-Un?In)Rbyip^l)w<3CV6 ze!!G|r-lt9h(remv>AL@h@d(&L`giJIh;1C9twPvN58+!XuaS3=v4)-{?_BweUD@Y zA=3;&%XgQl>_s3GKQ=FwHqpp>i-W+hHt}+kx!vC86>evRhAfTwfRX4Z84J-w??mD2 z3m@+VY(qt5t^W+|yqJQQrS9Jq)q^xg=~B!kI-Ry2Mnkp_3#jUck8pEsa%)#h9g`jd z#e<}>rbSv-aGXa^7CMgpngs5Tu(_u}G9MsM7#!dFf4U}WhqzKVcPpWDZiFWx6-^GgvvA6hdiXDlF|@u`qW{TPOB(W%o?X1V_cRBvHYN&# zs?(1Ie+e7P8CpSa#1CmfBil8P52_c1k!saLnnuz=iYS>K**T(3u4Dmx3f~ugT@RGi zceDt3(|ZD3UlRUYaN`izWuUm`vy)8HFwF)%E&v~_2al1aOMtXZzhK^%6O`8 zY54~PNNlYQo_Q1;)2YOFN1p}Y5tTs4KeVBnmCw7ZQWjzIWLg2yEBn@Yv355sWSj|z z>uA0dls1oEL5{37;w5L8%ulUy35!~HZIPeeJI`|xae{vV_ULI*eqQv6Yj!dEdssW3 zyd61BFJ9p0I4VE^X65j~6fVr}~8P0|xR%KUZN;SX!t0Y}aVgacXAn>yCwOF6ATnw~y@ zyM27`t7ieod*Okhp(^MOX*sE(;}6N8U=1b5xNu6l$1C5nQVLr430l0IGWi1*E|dn* znn5Scz~Rz^3@zI@YjgHVH};lqjRRV`y9aN^_xYzdxjS+h}-B3FWVZY)}9krMWmjQv=6WX=|%*|ygl^@tu3M6?LV&&Q$K$nHf{+{W=Jf*PD|=A z;wT(3_FQ&&zH#4SbX&CS_%PsX*#CMUZRM+9w^ULkKa8#9Z(Z8BB!raEf?JPk(^i4W z8qXMb&Go|7py%MdZSbacjgwyMzP`SF5Sm9lc)8(}^t{gAXYxX0ND(v$6Nl<6ER4rQ zNCTYf)#cWv{fw{jbIJk(Syas~YrS|H_ulwx#g%~+!sw^T*Y0G@6DwFtU;T9@H~Cel z@<55*fGF{!01>;gG4EQUPy9WzYd1>mhr}>?9*L=YK4@2{xK!^^kNf1NE~-?X3`Asp zE6IzQJn&^dReZZDUfgm8f!E288+gUhi|L-r%fNzXIywVVYW(a&;t9dFAb#UH;Kwi; z%-PK0$l7HKO8wyK!G5WzRx-;LH|E@V2N9PJ4Y7V@eo;p&+?PsFu@6o{@}XyAio0|R z6Wz^UVh>o%WsOo@1X$(*OWq?&-VVNL4~>2F`J0rE87c5&kZcwnoYk?dkkeR zLt`je#N^%S)E{z>#=GKdM7#I~*ULXuS977+-1$=w#Y7?P%R+`rc4tiIUy z<=Zzl2Jw$&?c{q^)HT3h>FFl}A+7w`%!3FyGc?sB*Zkn+9r-p{~gZEW-7Vte&bH263Wc}Y&$iR=(;(mVUc#A@5-{6&6=fh(+DzT zeKXa&QRvbbJ>y`k8FlATjMd?az2ZC*yPmubaV~x3W!qZC!Ml%ZN3PMgk48U~fYPskP7wj5{ib^Ps4qWM{&_+2A-ZL|EafxGuq&e{HNMahfGK5AJLjt))vUdDLOwfqYTSP7pd`IUGAoV5hrftpNVbTpUJiL0;-RVufUYqb(Z?@4n z-gC9;q~EJ6UP;#U8ur5+r1u>3MGEW_=Y+!<&m=)NA7(AzF?n;Yw|jT1TEuInPA-4F ztLD1CP_3|?V&e6wqjsjTCZQ<8=(C%e@fIx20kQ`jmAu8fgqVdOrc4VJPyCNM7blh0 zC2jhU*G)@{LKD%73|y6kj}<&Iu&9r7ROM-Iq2XpN88GVl~~wA+!lyL@D|I*E7hA*)0E*Ade6sk`Q3JF@@Z`2Xnlh);`u z#{I9j$7fx{=aHBYfy@eFgpL$?}vNDO#aaG-+8#Jes zKXdrYB$kMS=JfAv{~D(;^E*!xAK0(+&wMUYP7zz#tDIx~+W|OR*1z}kRG>|2pZ7?1 zizc|bSlozzv;9WA1Tb4Fa~N`R)cz?@I=}D4*7+5uwTwDMxc)!5QONVO_Vx|#pDh!A zYB=e0DNh70DE;4Rw~xhj--HX?Km{j%Z`&yT3Ap80Q{(f-{~N_Xi(3Vfem`)DgDh87 zY+0^!9&%h1aPW=abzUT7Nh>h9ckW37AMFDSwty$1#^BYhiY@I*>t}%1&T=T)h*Ta0 zA6Ns7xP>RQ(?DlVfenc>1RtIx@MwP7+Z!wi5*$ql|6^zS%1F%7xOC8l$Hs{@=L1jM zp4q@VkZT7vR|14*$LXq=EM(A85!w^Bp(?#Z!^IFB2$UcI6{KhoVtv<0{4D PKw$w>BKyQV5&KkUxFj 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 literal 0 HcmV?d00001 diff --git a/doc/hu/index.docbook b/doc/hu/index.docbook new file mode 100644 index 0000000..19f741d --- /dev/null +++ b/doc/hu/index.docbook @@ -0,0 +1,550 @@ + +KPowersave"> + + + + + + + +]> + + + + + + + &app; Help + + 2006-03-06 + &apprelease; + + + + Danny + Kukawka + +
    Danny.Kukawka@web.de
    +
    +
    + + Thomas + Renninger + +
    trenn@suse.de
    +
    +
    +
    + + + 2005 + Scott Rhoades + + + + + + + + + A &app; segédprogram az áramfogyasztás és az energiatakarékosság +beállítására szolgál. + + + + + KDE + KPowersave + áramellátás + akkumulátor + energiatakarékosság + + +
    + + + + + + + KPowersave + + +Bevezetés + + + + + + A KPowersave nevű program a KDE része, grafikus felület az +energiagazdálkodásra és a noteszgép-akkumulátor erÅ‘sségének mérésére +szolgáló powersave segédprogramhoz. Használatával beállítható például, +hogy a noteszgép képernyÅ‘je kikapcsoljon meghatározott tétlenség +után, így megnövelhetÅ‘ az akkumulátor hasznos üzemideje. + + + + A KPowersave elindítása + + A KPowersave elindításához nyisson meg egy parancsértelmezÅ‘t +és írja be, hogy: +kpowersave & vagy válassza ki a GNOME vagy KDE +menüjébÅ‘l a RendszerAsztal +kisalkalmazás KPowersave +menüpontot. A KPowersave a rendszertálcán nyílik meg. + + + Beállítható az is, hogy a KPowersave automatikusan elinduljon, +amikor bejelentkezik: kattintson az Ãltalános +beállítások menüpontra, majd jelölje meg A KPowersave +automatikusan elindul bejelentkezéskor lehetÅ‘séget. Ezenfelül +azt is megadhatja, hogy a KPowersave rákérdezzen-e az automatikus +indításra az alkalmazásból kilépéskor. + + + + + A KPowersave ikon működése + + A KPowersave ikon az akkumulátor erÅ‘sségét jelzÅ‘ ábra melletti +villásdugóra hasonlít. Az ikon jelzik az akkumulátor aktuális +töltöttségét, valamint azt, hogy a számítógép éppen akkumulátorról vagy az +elektromos hálózatról üzemel. Ha az akkumulátor töltöttsége lecsökken, +akkor az ikon háttere villogni kezd, narancssárgán a figyelmeztetéshez, +és vörösen az Alacsony vagy Kritikus állapotban. Ha az egérkurzort az ikon +felett hagyja, akkor az üzenet jelzi, hogy a számítógép a hálózatra +csatlakozik vagy akkumulátort használ, kiírja az akkumulátor pillanatnyi +töltöttségét, s végül, ha a számítógép akkumulátorról működik, akkor +azt, hogy körülbelül mennyi idÅ‘ van még hátra, mielÅ‘tt az +akkumulátor teljesen lemerül. + + + + + + A tálcán futó kisalkalmazás menüje + + + Aktív séma váltása + + Az aktív séma beállításához kattintson a jobb egérgombbal a KPowersave +ikonra, majd válassza az elÅ‘ugró menü Aktív séma +beállítása menüpontját, majd válassza ki a kívánt sémát. +Ha megváltoztatja az aktív energiagazdálkodási sémát az Aktív séma +beállítása menüponttal, akko ra rendszer összes komponense az új +energiagazdálkodási módra áll át. Az energiagazdálkodási sémák +tartalmaznak beállításokat a CPU frekvenciájának átállításával +kapcsolatban (ha támogatja a gép), az elfojtással, a merevlemez +vezérlésével és a rendszer hűtésével kapcsolatban. + + + + + + + + A KPowersave menüje a sémák váltására szolgáló bejegyzésekkel + + + + + + A YaST energiagazdálkodási moduljának elindítása + + A YaST energiagazdálkodási modulja számos beállítást kínál az +energia takarékosabb felhasználásához. A modul indításához kattintson a +jobb egérgombbal a KPowersave ikoknra, majd válassza az elÅ‘ugró menü +YaST2 energiagazdálkodási modul indítása pontját. A +YaST részletesen magyarázatot tartalmaz az egyes beállításokra vonatkozóan. + + + + + + A KPowersave menüje a YaST indítására szolgáló bejegyzéssel + + + + + + + A YaST energiagazdálkodási modul elindításához szükség van a root-jelszóra. + + + + + + A rendszer felfüggesztése + + A rendszer bármikor felfüggeszthetÅ‘, ha jobb gombbal a KPowersave +ikonra kattint, és kiválasztja a Felfüggesztés lemezre, +Felfüggesztés memóriába vagy +Készenlét lehetÅ‘séget (amennyiben a számítógép +támogatja a készenléti állapotot). + + + + + +A Felfüggesztés lemezre minden adatot elment lemezre a számítógép +felfüggesztése elÅ‘tt. + +Ez véd az adatok elvesztése ellen, még akkor is, ha az akkumulátor +teljesen lemerülne. + + + + + A Felfüggesztés memóriába funkció az adatokat a memóriába menti, +így az adatok sokkal gyorsabban visszaolvashatók, amikor a számítógépet +visszakapcsolja felfüggesztett módból. + + + + + A Készenlét funkció kikapcsolja a monitort, de a +rendszert áram alatt tartja, vagyis minden megnyitott adat +továbbra is a memóriában található. + + + + + + A rendelkezésre álló választási lehetÅ‘ségek attól függenek, +hogy a rendszergazda melyeket aktiválta a YaST-ban, illetve hogy melyeket +támogatja egyáltalán maga a számítógép. +Azt, hogy melyik lehetÅ‘séget választja, célszerű attól függÅ‘vé tenni, +hogy mennyire valószínű az adatvesztés. + + + + + + + + A KPowersave menüje a felfüggesztésre/készenlétre kapcsolásra szolgáló bejegyzésekkel + + + + + + Az automatikus felfüggesztés kikapcsolása + + Ha az aktuálisan használt sémában be van kapcsolva az automatikus +felfüggesztés, akkor a KPowersave menüben megjelenik a Tétlenség +esetén a műveletek kikapcsolása menüpont. Ha kiválasztja ezt a +lehetÅ‘séget, akkor mindazok a műveletek, amelyek be vannak állítva, hogy +megtörténjenek a számítógép inaktív állapotba kapcsolásakor, nem történnek +meg, vagyis az automatikus felfüggesztés lényegében nem történik meg. + + + + + + + + A KPowersave menüje a "Tétlenség esetén a műveletek kikapcsolása" menüponttal + + + + + + A CPU frekvencia irányelv beállítása + + A CPU által használt energia a CPU frekvencia irányelv módosításával +szabályozható: kattintson a jobb egérgombbal a KPowersave ikonra, majd +válassza az elÅ‘ugró menü CPU frekvencia irányelv +beállítása pontját, majd válassza az alábbi lehetÅ‘ségek egyikét: + + + + + Teljesítmény: Tartósan magasan tartja a CPU frekvenciáját +a maximális CPU-teljesítmény érdekében. + + + + + Dinamkus: Csökkenti a CPU frekvenciáját, ha a rendszer tétlen, és +dinamikusan növeli, ha nagyobb CPU-teljesítményre van szükség. + + + + + Energiatakarékosság: Alacsonyan tartja a Maintains a CPU +frekvenciáját a energiatakarékosság érdekében. + + + + + + A CPU frekvencia irányelv csak akkor elérhetÅ‘, ha a frekvencia +állítását támogatja a számítógép. Ha nem jelenik meg a menüpont, akko r a +rendszer nem támogatja a funkciót. + + + + + + + + A KPowersave menü a "CPU frekvencia irányelv" almenüvel + + + + + + + Energiagazdálkodási séma beállítása + + Néhány szó az energiagazdálkodási sémákról + + Egy séma az energiagazdálkodással kapcsolatos legfontosabb +beállításokat tartalmazza, amelyek akkor kerülnek beállításra, ha a +KPowersave-et használja a számítógépen. A rendelkezésre álló sémák száma +a Powersave beállításaitól függenek. A sémák a YaST energiagazdálkodási +moduljával hozhatók létre és törölhetÅ‘k. Néhány a leggyakoribb sémák +közül: + + + + + Teljesítmény: maximális teljesítmény hosszabb idÅ‘tartamon át is + + + + Zajszint: A gépe lehetÅ‘ legcsendesebb használatára optimalizált + + + + Bemutató: A legjobb teljesítmény a bemutatók során + + + Energiatakarékosság: A lehetÅ‘ leghosszabb akkumulátoros üzemidÅ‘ + + + + + Egy séma kiválasztásához kattintson a +Sémabeállítások lapra, kattintson a használni kívánt +sémára, majd kattintson az OK gombra. + + + + + + + + A KPowersave konfigurációs párbeszédablaka (sémák kiválasztása). + + + + + A sémák az alábbiakat vezérlik: + + + + + + Fusson-e a képernyÅ‘védÅ‘, ha a számítógép nincs használatban + + + + + Mennyi idÅ‘ után álljon át a képernyÅ‘ készenléti vagy +felfüggesztett állapotba, vagy kapcsoljon ki + + + + + A számítógép automatikusan átálljon-e felfüggesztett módba egy +megadott idÅ‘ után + + + + + A számítógép lejátsszon-e az energiagazdálkodással kapcsolatos hangokat + + + + + + + Egy séma beállításának lépései + + + A fenti lehetÅ‘ségek mindegyik takarékoskodik az energiával, hiszen nem +engedi a sok energiát fogyasztó folyamatokat futni. A sémák beállítása: + + + + KépernyÅ‘védÅ‘ + + Kattintson a jobb egérgombbal a tálcán a KPowersave ikonra. + Válassza ki a KPowersave beállítása lehetÅ‘séget. + Ha a Sémabeállítások lap még nincs +kiválasztva, akkor kattintson a Sémabeállítások lapra. + + Ha akarja, kattintson az Egyedi képernyÅ‘védÅ‘-beállítások bekapcsolása lehetÅ‘ségre. + + + Ha nem akarja, hogy a képernyÅ‘védÅ‘ áramot fogyasszon, +amikor a rendszer nincs használatban, kattintson a KépernyÅ‘védÅ‘ +kikapcsolása lehetÅ‘ségre. + Ha csak el akarja sötétíteni a képernyÅ‘t egy adott +képernyÅ‘védÅ‘ használata helyett, kattintson a Csak a képernyÅ‘ +elsötétítése lehetÅ‘ségre. Ez a beállítás nem érhetÅ‘ el, ha a +képernyÅ‘védÅ‘ le van tiltva. + + + + + + + KépernyÅ‘ energiagazdálkodása + + Ha kezelni kívánja a képernyÅ‘ által fogyasztott áram +mértékét, kattintson a KépernyÅ‘ egyedi tápellátás-vezérlésének +bekapcsolása lehetÅ‘ségre. + Az egyedi képernyÅ‘-energiagazdálkodás letiltható a +KépernyÅ‘ tápellátás-vezérlésének kikapcsolása +lehetÅ‘ségre kattintva. Ez a beállítás felülbírálja az asztali +beállításokat. + + + Adja meg az idÅ‘t, amelynek eltelte után a képernyÅ‘ +átáll készenléti módba. Készenléti állapotban a képernyÅ‘ üres, de +továbbra is kap áramot. Éppen ezért ez csak kismértékű +energiatakarékosságot jelent. + Adja meg, hogy mennyi idÅ‘ után legyen a képernyÅ‘ +felfüggesztve. Felfüggesztett módban a képernyÅ‘ ki van kapcsolva, de +elegendÅ‘ áramot kap a gép ahhoz, hogy megjegyezze a képernyÅ‘n éppen +látható adatokat. + Adja meg az idÅ‘t, amelynek eltelte után a képernyÅ‘ +teljesen lekapcsolásra kerül. + + + + + + + + A KPowersave konfigurációs párbeszédablaka a képernyÅ‘védÅ‘ beállításaival. + + + + + + Az automatikus felfüggesztés beállítása + + Kattintson az Automatikus +felfüggesztés gombra, ha azt kívánja, hogy a KPowersave +automatikusan felfüggessze a rendszert, ha az aktuális asztali +felhasználó adott ideig tétlen. Ezután a párbeszédablakban adja meg az +automatikus felfüggesztés kívánt beállításait. +Ha például 30 perc után kívánja lemezre kívánja felfüggeszteni a +rendszert, akkor adja meg az erre vonatkozó beállításokat. +30 perc után az összes nyitott fájl lemezre mentÅ‘dik és a számítógép +felfüggesztésre kerül. + + + + + + + + + A KPowersave konfigurációs párbeszédablaka az automatikus felfüggesztés beállításaival. + + + + + + + + Ãltalános beállítások + + A képernyÅ‘ lezárása + + A nagyobb biztonság érdekében lezárható a képernyÅ‘, mielÅ‘tt a gép +készenléti vagy felfüggesztett módba kapcsolna, vagy ha lecsukja a +noteszgép fedelét. A képernyÅ‘ lezárható egy képernyÅ‘védÅ‘vel, vagy az xlock +segédprogrammal. + + + A képernyÅ‘ lezárásához kattintson az Ãltalános +beállítások lapra, majd válassza ki a használni kívánt +beállításokat. + + + + + + + + A KPowersave konfigurációs párbeszédablaka az általános beállításokkal. + + + + + + + Automatikus felfüggesztési feketelista létrehozása + + A KPowersave lehetÅ‘vé teszi egy automatikus felfüggesztési feketelista +használatát. A feketelista használatával megakadályozható a rendszer +felfüggesztése, ha a felsorolt alkalmazások valamelyike fut. Például +filmnézés közben valószínűleg nem akarja felfüggeszteni a gépet csak +azért, mert már 10 perce nem nyomott meg egyetlen billentyűt sem. +A feketelista módosításáshoz kattintson az Ãltalános +beállítások lapra, majd kattintson az Ãltalános +feketelista módosítása gombra. Az Automatikus +felfüggesztési feketelista módosítása párbeszédablakban vehet +fel alkalmazásokat a feketelistára, illetve törölheti Å‘ket onnan. + + + + + + + + A KPowersave konfigurációs párbeszédablaka az automatikus felfüggesztési feketelistával + + + + + Szintén ezzel a beállítással lehet készíteni külön feketelistákat az +egyes sémákhoz. Egy adott séma feketelistájának elkészítésekor +importálhatja az általános feketelistát, vagy létrehozhat egy teljesen +egyedi feketelistát az adott sémához. A sémaspecifikus feketelisták +felülbírálják az általános feketelista beállításait. + + + + + + + + KPowersave párbeszédablak a feketelisták módosításához + + + + + + +
    + + diff --git a/doc/nb/Makefile.am b/doc/nb/Makefile.am new file mode 100644 index 0000000..946868c --- /dev/null +++ b/doc/nb/Makefile.am @@ -0,0 +1,2 @@ +KDE_DOCS = kpowersave +KDE_LANG = nb diff --git a/doc/nb/hi48-app-kpowersave.png b/doc/nb/hi48-app-kpowersave.png new file mode 100644 index 0000000000000000000000000000000000000000..9cc30066b1fe0b2e94617859228a62e8e2b7b53a GIT binary patch literal 3974 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 +KPowersave"> + + + + +]> + + + <application moreinfo="none">&kappname;</application>-hjelp2006-03-06 Danny Kukawka
    Danny.Kukawka@web.de
    Thomas Renninger
    trenn@suse.de
    2005 Scott RhoadesMed &kappname; kan du velge innstillinger for strømforbruk og strømsparing. KDE &kappname; strøm batteri strømsparing
    + + + + &kappname; + + Innledning + + + + + + Bruk &kappname;, det grafiske strømstyringsgrensesnittet i KDE, for å administrere strømstyringsfunksjonene og overvåke batteriet på din bærbare datamaskin. For å spare batteristrøm kan du for eksempel velge at skjermen skal slås av etter et bestemt tidsrom dersom du ikke bruker den bærbare maskinen. + + Starte &kappname; + For å starte &kappname; kan du skrive kpowersave & i en terminal eller velge SystemPanelprogrammer &kappname; i GNOME- eller KDE-menyen. &kappname;-ikonet blir lagt til i systemkurven. + Du kan velge at &kappname; skal starte automatisk når du logger inn, ved å klikke på Generelle innstillinger og krysse av for '&kappname; starter automatisk når du logger inn'. Du kan også velge om du vil bli spurt om &kappname; skal starte automatisk når du avslutter programmet. + + + &kappname;-ikonet + &kappname;-ikonet ser ut som en strømkontakt ved siden av en indikator for batteristatus. Ikonet viser gjeldende batteristatus og om datamaskinen bruker batteristrøm eller er koblet til strømnettet. Når det er lite strøm på batteriet, blinker ikonbakgrunnen oransje, eller rødt når det er svært lite eller nesten ingen strøm igjen. Hvis du plasserer musepekeren over ikonet, kommer det opp en melding som viser om datamaskinen er koblet til strømnettet eller bruker batteriet. Dersom maskinen bruker batteristrøm, vises også gjeldende batteristatus samt hvor lang tid det er igjen før batteriet er helt tomt. + + + + Panelprogrammets meny + + Definere aktiv strategi + Velg strømstyringsstrategi ved å høyreklikke på &kappname;-ikonet. Velg Definer aktiv strategi i menyen og deretter ønsket strategi. Hvis du bytter strømstyringsstrategi under Velg aktiv strategi, vil alle komponentene i systemet bruke innstillingene i denne strategien. En strømstyringsstrategi omfatter innstillinger for CPU-frekvensskalering (hvis datamaskinen støtter dette), bremsing, harddiskstyring og kjøling. + &kappname;-meny med ulike strømsparingsstrategier + + + Starte strømstyringsmodulen i YaST + Strømstyringsmodulen i YaST har ulike innstillinger for strømsparing. Høyreklikk på &kappname;-ikonet og deretter på Start strømstyringsmodulen i YaST2 for å åpne modulen. Du finner detaljerte anvisninger om hver enkelt innstilling i YaST. &kappname;-meny med valg for å starte YaST + + Du blir bedt om rotpassordet for å åpne strømsparingsmodulen i YaST. + + + + Dvalefunksjoner + Høyreklikk på &kappname;-ikonet og velg Diskdvale, RAM-dvale eller Ventemodus (hvis datamaskinen støtter ventemodus). + + + Med diskdvale lagres alle åpne data på harddisken før dvalefunksjonen aktiveres. Dette beskytter dataene ved strømbrudd eller hvis batteriet blir tomt. + + + Med RAM-dvale lagres dataene på den fysiske minnebrikken, noe som gjøre det raskere å hente frem dataene igjen når dvalefunksjonen deaktiveres. + + + Med ventemodus blir skjermen slått av, men systemet tilføres fremdeles strøm, slik at alle åpne data beholdes i det fysiske minnet. + + + Tilgjengelige valg avhenger av hvilke metoder som er aktivert i YaST av administratoren, og om datamaskinen støtter ventemodus. Du bør velge metode i henhold til sannsynligheten for at det vil bli lite strøm på maskinen. + &kappname;-meny med valg for dvale/ventemodus + + + Deaktivere automatisk dvale + Hvis automatisk dvale er aktivert for gjeldende strategi, vil Deaktiver handlinger ved inaktivitet vises i &kappname;-menyen. Med dette alternativet vil eventuelle handlinger som er valgt når datamaskinen er inaktiv, ikke bli utført. I praksis betyr dette at automatisk dvale deaktiveres. + &kappname;-meny med valget Deaktiver handlinger ved inaktivitet" + + + Velge innstilling for CPU-frekvens + Du kan velge hvor mye strøm som skal brukes av prosessoren ved å endre innstillingen for CPU-frekvens. Høyreklikk på &kappname;-ikonet, og velg Definer retningslinjer for CPU-frekvens. Velg deretter ett av de tilgjengelige alternativene: + + + Ytelse: CPU-frekvensen er alltid høy for å gi maksimal prosessorytelse. + + + Dynamisk: CPU-frekvensen reduseres når systemet ikke er i bruk, og tilpasses dynamisk dersom mer prosessorkraft er nødvendig. + + + Strømsparing: Lav CPU-frekvens for å spare strøm. + + + Innstillingen for CPU-frekvens er bare tilgjengelig i menyen dersom datamaskinen støtter dette. Hvis valget ikke vises, støttes ikke denne funksjonen av systemet. + &kappname;-meny med undermenyen 'Definer retningslinjer for CPU-frekvens' + + + + Konfigurere en strømstyringsstrategi + + Definisjon av en strømstyringsstrategi + En strategi inneholder den grunnleggende strømstyringskonfigurasjonen som benyttes når du bruker &kappname; på datamaskinen. Antall tilgjengelige strategier avhenger av strømstyringskonfigurasjonen. Strategier kan legges til eller slettes i strømstyringsmodulen i YaST. Vanlige strategier: + + + Ytelse: Optimalisert for maksimal ytelse under lange økter + + + Støy: Optimalisert for at maskinen skal være så stillegående som mulig + + + Presentasjon: Optimalisert for best mulig ytelse ved presentasjoner + + + Strømsparing: Optimalisert for å spare batteristrøm + + + Velg en strategi under fanen Strategi-inntillinger, klikk på strategien du vil bruke og rediger den etter behov. Bekreft med OK. + Konfigurasjonsdialog for &kappname; (velg strategier). + Strategien bestemmer: + + + Om skjermspareren skal kunne kjøre når datamaskinen ikke er i bruk + + + Hvor lang tid det skal gå før ventemodus eller dvale blir aktivert eller til skjermen blir slått av + + + Om dvalefunksjonen skal aktiveres automatisk etter et spesifisert tidsrom + + + Om strømrelaterte hendelser skal varsles med lydsignaler + + + + + Konfigurere en strategi + Alle disse valgene sparer strøm ved å hindre at prosesser som bruker strøm kjøres. En strategi konfigureres på følgende måte: + + Skjermsparer + + + Høyreklikk på &kappname;-ikonet i systemkurven. + + + Velg Konfigurer &kappname;. + + + Hvis fanen Strategi-inntillinger ikke allerede er valgt, klikk på Strategi-inntillinger. + + + Klikk eventuelt på Aktiver spesifikke skjermsparerinnstillinger. + + + Hvis du ikke vil at skjermspareren skal bruke strøm når systemet ikke er i bruk, klikk på Deaktiver skjermsparer. + + + Hvis du ønsker en tom skjerm i stedet for en spesiell skjermsparer, klikk på Bare slå av skjermen. Dette valget er ikke tilgjengelig hvis skjermspareren er deaktivert. + + + + + + + Strømstyring for skjerm + + + Klikk på Aktiver spesifikk strømstyring for skjerm for å tilpasse skjermens strømforbruk. + Spesifikk strømstyring for skjerm (DPMS) kan deaktiveres ved å krysse av for Deaktiver spesifikk strømsparing for skjerm. Denne innstillingen overstyrer den generelle skrivebordskonfigurasjonen. + + + Velg hvor lang tid det skal gå før ventemodus aktiveres. I ventemodus tømmes skjermen, men forsynes fremdeles med strøm. Dette sparer litt strøm. + + + Angi hvor lang tid det skal gå før dvalefunksjonen skal aktiveres. I dvalemodus blir skjermen slått av, men den tilføres nok strøm til å lagre gjeldende skjerminformasjon. + + + Angi hvor lang tid det skal gå før strømforsyningen til skjermen skal slås helt av. + + + + + Konfigurasjonsdialog for &kappname; med skjermsparerinnstillinger. + + + Konfigurere automatisk dvale + + + Klikk på Automatisk dvale hvis du vil at &kappname; skal aktivere dvalefunksjonen automatisk dersom gjeldende bruker er inaktiv i et spesifisert tidsrom. Velg deretter spesielle innstillinger for automatisk dvale i dialogen. + Du kan for eksempel velge at systemet skal aktivere diskdvale etter 30 minutter. Etter 30 minutter lagres alle åpne filer på harddisken, og dvalefunksjonen aktiveres. + + + Konfigurasjonsdialog for &kappname; med innstillinger for automatisk dvale. + + + + + Generelle innstillinger + + Låse skjermen + For å forbedre sikkerheten kan du låse skjermen før dvale- eller ventemodus aktiveres, eller når du lukker lokket på en bærbar datamaskin. Skjermen kan låses med en skjermsparer eller med xlock. + Klikk på Generelle innstillinger-fanen og velg innstillingene du vil bruke for å låse skjermen. + Konfigurasjonsdialog for &kappname; med generelle innstillinger. + + + Opprette en unntaksliste for automatisk dvale + &kappname; har en unntaksliste for automatisk dvale. Unntakslisten hindrer at dvalefunksjonen aktiveres dersom en av programmene på listen kjører. Du ønsker sannsynligvis ikke at dvalefunksjonen skal aktiveres på din bærbare datamaskin når du ser en DVD-film bare fordi du ikke har trykket på noen tast de siste ti minuttene. Klikk på Generelle innstillinger-fanen og deretter på Rediger generell unntaksliste for å redigere listen. Bruk dialogen Rediger unntaksliste for automatisk dvale for å legge til eller fjerne programmer på unntakslisten. + Konfigurasjonsdialog for &kappname; med innstillinger for unntaksliste for automatisk dvale. + Du kan også bruke denne innstillingen for å opprette og redigere unntakslister for hver enkelt strategi. Når du oppretter en unntaksliste for en strategi, kan du importere den generelle unntakslisten eller opprette en ny unntaksliste for den aktuelle strategien. En strategispesifikk unntaksliste overstyrer den generelle unntakslisten når den aktuelle strategien benyttes. + &kappname;-dialog for redigering av unntaksliste + + +
    diff --git a/doc/nb/nb_applet_autosuspend.png b/doc/nb/nb_applet_autosuspend.png new file mode 100644 index 0000000000000000000000000000000000000000..aac3e4e8f3e4c11fd79f4aad14a30a2d4193348e GIT binary patch literal 19704 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�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 literal 0 HcmV?d00001 diff --git a/doc/nb/nb_applet_configure.png b/doc/nb/nb_applet_configure.png new file mode 100644 index 0000000000000000000000000000000000000000..00a25bb02de3539576b3e6388e63d7b86fdbac73 GIT binary patch literal 18249 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 M07*qoM6N<$f@%Nx!TJ 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 XNH5V@dET2g00000NkvXXu0mjfN&vD4 literal 0 HcmV?d00001 diff --git a/doc/nb/nb_applet_schemes.png b/doc/nb/nb_applet_schemes.png new file mode 100644 index 0000000000000000000000000000000000000000..b6223350d3b91dac730db0d7321a226b6b6efdc2 GIT binary patch literal 48252 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

    C@1iZ#UoC{?FF^hAY9>-Rag2 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 T8YuID00000NkvXXu0mjf0Ttbk literal 0 HcmV?d00001 diff --git a/doc/nb/nb_configdialog_blacklist.png b/doc/nb/nb_configdialog_blacklist.png new file mode 100644 index 0000000000000000000000000000000000000000..06a39c1aa1d4953046ae30cbb92fa4e6ff3e414e GIT binary patch literal 15139 zcmZ|01yoc~+bBE;64Kq>Af*yRcZW!~w9*U$(nxm*f^>s)Nq5d5B_dq{Lw7gagTC)~ z@Bgp$E!T0*?Ah_`r;G5{s&dcBo`FChOa*!AHy{wgG4N2LA_F5Afoq|_2bz<-o(u3P z|M!s{uoVSfkj<3jq(Kjl|FYYP5Tycr+Lzis3%P&OqI49 zX;*_vmtFSE`uf$;y3LZ;5~8sd6>m|gZ(rL&(dd@TwKjG0fy~lJy?gMU0S#&Z4XT;< zVMy!SU?p)L2^=H|oK>XEp*02XEnND4UxP-cjNk)?if|LkMy1CIy_e$3aFbnC24Hd6 zQu-FTZ^!`qogDgk!*@~kV>wA>xJ&)wZw6suG(|<5>~G(mz0ru)m3v&7B(3PVBcdT2 znRxrWY?SOaJ}(hwu59)ysq^PgoT8chSi;C3EQHSg|_h@6_%@ErhBrcKfnyDy5y;XMXUo@OehnKd|_>IU{p7 zbl>aiPox(Y7oWDb=jf_Ef?;kIA%$ZnkSePEI=0|UFHj89EA7xBV*IB&m;@CA!>@po zy%hEO`Z}kfA&dFg-=DjTnzu6fek1Vp%+IGSx3zNl%#4+2ErVxfl*X~-s&YxA=9u&zTua4vxLU zOJ`zD&EH+^h!QM9HdQ41Q=NrU$pS5{-Pr}@=&7XjF{bO=@kHIR?SexG7szC9wQOC>B7F1!hP#K?+t|CFR$Fy+*{1W8%}^HU?A_)|qg{%58K0yJxibEx_OGywePsfH z4=kYV?bPh-Y`hQ6&%aeVhNPy-$|C-rEWZj3`A8y=9BK=Gi=389^G7G3lHO;E;e14&qQ~K;`_+@bK|8BMF z^Lifgix0+0T5oVxh2DNP^wTaOS%#DNkFTpxy~~55jo{miDUn?+j!8H2fb9A!*6;3T zJ^GVNcV@J&>d!j={K5I)irpFgUGQsz(uHEyz=H^5-j(Y;|T`@FVP=6LRZBS zPRdU$i0X1VM6uD&nTltVlSj3`MrEy2C^(P%`p)>Ue-PdY<+{Mw5%Q`{ZvbC!s`R7n zjVy$nOx|9%;`TPa-A=`shG($KWzI8LxU$gud%ij~71NS#GtBC{m9UU$l$%?hCdR+w z%%GEySbl9JlHRDKWSi648gp0nDL>yXtl2UM_STX6;~l1@T=1LszVn!znakYH@k06Q zeBJc*ht$Vvpe3b&)`bav(kQzluP&l7^Nj=ljTC|Usx}-vFsF^X3$;818sNCv%|1}D z-oUbz)ITA1_@w<4!jHNM|`Z^1s#iUBhnEng>mayq$7}^5;U7+ z{n~Kh#~defVp>#!s!0x?Ba-QvvVj*C-<1WL{6MtP;EzE;gx`6&YP;6WlxMoXsikvZ zcdsl>l;J0C%%zaSKkviBty^qJ)`>WA%09Q;9=d)#MPWnZi zk$dJ6^hBEAZ4IXDblD}Yq1s}|NqovsWoXBbGKwTqTC$23gJ;xS5X8A?ovzo%VN+UD z4PE7@iqr0F2uvJeSheZhg!oPE*^~L+Y6t%M-a%mLE4AdCLnLb!8~<26Z+nW7!;fM+ zTju6s<)q_JE8KN!##nF4C~aG<_^x^P3N5}I=`Qg6KD-$ioY#w5y*gW5UFM!UDq+3Z z%mN>2WaNPjJm@y=&#^H|L_1uJ%%+QF_^D51FHHTgZ=l`z1<<#P=Oj)dU%rW|j-SZl zXb*p{BYs<}R!^p=pr(KYDBm8s({Tqmk;y-?6a~`0a`-|m(N!Oh+`bA;;c5#|eA+zm zjoUfHeg{5g!g!JC*?}n|N}atM7DqJjknZm>GUWvAC6-_wHTW9m(arhX78EK%Th)I? zv2?~U4;M<$J}IrHPJWpv`bGuL!vDSrdvdk9fMIH?@*DZX<^5WGN50=ky{=ngPC_jC zoW~2jDg)v6bx|Lm&lg{2wZBdka+L+v#~3?dD}+wmRHDCV%#)iVDdI(u?22LRx$^ov z!^uI$xd;pDK9=QlXX-|EGcYHB@=bKb4nW@xnD1(?nsY@48$Q$;M_nKiIXbc~+VKy4 zZb-9Ij$Yf-7mchY!fz@xO1!e`Q;;9n=8wElNXUCAosO5A^+6?$UFF_hfUWX>WkRSRJ(D(PPxIq)gR}Era>-fmLLHR{=p`My& zrnuKO4S7_NH+ip>uj%D(ne{L7qr$$~`+XXDdC>V&4L_ub8{wK$)&I!>wp_kkyZnmT z281q{%XbYsb!MOG$&1L@OXo6!*H40&5|8T-ZZ&B0vT=>8f=AdH&~E7?j$np7@kL}M zjq_tJ12`moH%gF8Ds_bmWvJ84N^DD~uIW6b8cOz&I!c)s0dh{WOXkV8-2 z^6f9rOeCuM58YU!PK~Lrdo4e|R9d@pHr=2`B1+=#)M?4hDGfb)@AGWwiZO7bX}Qrj ze84QhPogT8nL1Ta@|o}6@J$diyf(;F zn!WIHUw_!zd$g3umeuNr)RJj0*IUtHyfR#PnuhUsQFP*~5}%#+bt=ACA2@aI!yTdD zS)YCCXl0;Rp(b(C>rS^bxwrK$iQ4H5E$_h-h3nBYWkkxVF=AwOai1GQFt*hvLS;59 z7h*i0Z^c&OClhi!dOzOxi{Eh*c8(A*7=2Nt6#PPRNZcr|IWdegK}`+^X{DC1X5Bg_S;|vfld0?CmS_ZF0Sw z?UN(+iwQH1KD*_lTAT!ZyI&59nGiZLU-e2WlNuh|@_)*L%Z*v-z5+63E84;0(vTfL z#o>(Ax$w#lbD3P-^myj$0g0W>B5JoyO8fl_fy^PTHOnqr%-6B0qO2Z@u7z{zu?4s4 zf~v&Z6Swj7OpvKl^&EHW@cBy}l4oATA;P}cQev%WT&f+I>Z%7RrHI6&tkuhHcO%l5 zyE_TGu~4*2U))%lqXo7Hki!o}Kf~S2EU-`WJo%1Z3wC>+cN31Hr?ZX+R2LgXbs-=l z)6|ZC96{^M{&RYSgZIPXbt6(?*|Xk@tk$ey{w|0|PGysQ)^nke*uWye^iScDB2I?4 z)29gqa?1&fnO{MS9zslxt2jXyw_Z=uc&+sw%r6%S-JPEEF~2=eBIkCO3;68gjrtp2 z;5^hz!VZ;l#j>ZYT&*BC4;1|PIc1L`+LPB@(Bn%-$*5Ub-`C+;3Wpe@vgBbu7UL7$ z=`t+MTCSNYbDyEGtZj;cyNoV7Tak{F^Zd?y%O2O4{Gp%jMvyd|Kku47fAz?vSU7($L0-o)q;SKHnrdp3W?yQ(D{kV zPjH8=n;!)R=Zo_>{QPD;1Bb&r@%GEz-$y%os`0lwhQ&Bv8d!Ku&j8#SKn7MptRa) z^hfzzBP{ls!pyJmWyH?cp8nAt_uNYNHORB0s2-CiiQbbDb>3y`(=sNycJ#hS{0IqP z<2*{O8wmOMl*tQ1u{v?nL|1+8jlEMI@ZMJPQh;I0JvlXL$r|4h;wn*%3@q9FAJV{)I}xkD-z;P2^+T<*Tv2r?|2dByd9< zO|%>9`MmrwqN8Uz_M;qP`WqUOv0g>v?K-~q(T2wcy`kfOjJ=R}L~-!1x~0Idhr5SX zsmCGhsKiP_eDJgH4Gs8@GfXqyRuoFBKK_&ldxRk%``)M5 z_ckX$R{Ck3GyDCrSl{x1#r}|2-e~xR*D_+J*Ms%?$k^bh%YHC|1QrN{3ITz{;}HKo zpa2RG2nYW7Ab~-k$EQjnE;cGkUQaK@!pcffRyHKRs7T4cAZ-+5Xm&PLT2@x@?soe8 z{5-$0aeDmZMlH+Q#YN-z|C-=+Q`` zF=rwSdOJw7G&2+b=g(WPh={8}>EJ#-KE7444x;oNnY6F3?+XEeO@Ya|xl)OB=Z>wd z_wIFz$W47c-6Yht*$x%scz*=r#yG^4=PED2*1lgf($%Gx%5$3=m2dq>B}j*gCf z{*~2LSJ`dUl&UK3aX(jAt=!yP;ca3vvJ%&Qn>I{Hq|0}~_1jbw6qJ}5Pa~s@3WoVo zbTqVhVlHDCaCeoq7+X`*90mpkc`dCkr>Cc|qoZoz;_Zu`>8FjqmbgHjLa8}wq;RI* zg^4YUH_4wk0-bGbm7X9Xu5E70&si;vW{Ig}G~AWhE}&dpUpI5cr=1@k*OZFR-cLbQ zRaGel7kGJje=RLlu6k9f26}sY8ydHHT3TIf@9rvFSy|;bHR(Yhko^4o-tD{copR{F z`2!kaC*lj!drgUbg|M^&iwqCH8!KZIENtw8;$j8suT~~DHYMM`fB(u{Zqn|}s-dBw zEwSk#wxb^#;O*|NgQ$wQFy>%qcPa?u=i@sSZP#o2Ifrv|b2B@s*E9mpxIR5Q+wyTU zI-Z&~?MygYW0Ai0}obVS6n;xpEnF{(;{p`DGDd}*h;_M$dCng68LunfB zxPau@qx1!&)1ZL-X_#RMAR6ESJ&LG=>R{k8hcV%B2iDQb`WAn1&t_X{?D5=Z2rvt)HJ0#r`=yegmDF zm`=m7Ha}V0+ur^GUv+r~!CyH!Iq~OuX}Zq|b98Vx?BwL+M1}AL%*zGN2MLhRQCI1O zgj0?GY-(@sM-&nhV}{M3LITpG_x#WxZMq`o7s*`5Ta{|pFMX@st!UMKoGBbl>?I7o zy)&^VE|6jT0#o=!l}<-j{j`iBC*AmSuAemCX5by6coiqo~)}VC@91iYZP_cY+--cp9iP# z*{4Dr960}!Nl+3JGNKbbkE=F^t{hag5_Q9&q%W;tiL4qHn?G~j=;^VF^78RT46c2i zp4MFhwl0xHlZks+rDGxgUu1Z$jQhodc$xqcQKmuRpRqxCHPvkHwZJ?;s`w(JfU+MMlJ{Hiz8(<;YxC%MbMsyP_5_ZRt81M&U{)KRfGs>Y$cQt9 z+_gy&QQIIN*t`|x<>LUgCuJidCT7AC(5m83!J#MY#I9Y2!@f7)gpY6g`z%AyRkG9| zHW1;IfRHv0@#81Ephm@_N}>$a(etz3aYkMh35o+}o2a=ba0C;?pMq|?r~+hW@}E{k zE)8&`=*d9+L6sn9m$pr3ItLv$o6}s%PZT1XaJa?7+v4KlG1lYD%a6+bQawx0;Pq3I zJ5!Z%ldn}ivU6~J0c?@!udE7odV0hjVs56E;&3kliA5{%7?S>kxck7vryhrYBnWt` zP%uccz0mKSho}m^p?;!RW186mAmi=DbxZ;bVC6D7Oum4an7H)#Y-g&#@8KRq8&dQ$ zQ0oZLO^Es|27Q>aqvRrQ5_yoZKc@Xq#T0-@kwnlukV9eEl!8G#j8XB$(R^lRX57XV z8irqawpGe^^a>2>?c%?%>pYW@0l__oU8=NkMt|TXvl|tS<2qI#K!k}!JWshv+RR&H zP6d3Y8l6|U!wK3HdXKzwHl8_^Zj_pI__{d5jmQ8be$RyZMqqc4CYQ0gg7X zF6T0+$1qo7$#t)=o*7Bw$2Os8G%lzm;?U1;w^$#|s$}~1S~EyIX4K@ho0oM_(TxPf zk^B`PNV-(PWl7f_qnRR~6B8{6v3J@4K*DH>P$3SeQtBL7kf={){gBrqL#F`kK+e6A zmZ$yYb~o+OV1P9He{DJ>+|OTpI={MsYKXtM#!Pz4o(gZ z6{eME-@dU>C`1@-SBvE3S@CY=6F+c^0smpb@g~LSoM3XKQ;n)803G%1;Q~~lvcdmTCQ=q zxVZS!y+am`p8R%fCk7k?X4v~wCK&DRn1f)fVHV-Od%u7x|4V-gIR>xb0!M*k!Zu6$ zT@@2Oz4tmDSI;37EP+zlAMW@rBmn@Bz$)WN;2_FnoQ7Epi z0Y_8{!vscjw(9y4=B$f}<^N(T)(1ZPe^)l?kWBR-m3j&b2?~-aA!#+YHaF{M<-bFK zWL$Hyv*V){Rbf&HydKFEu{H3Mlnl_+)FgScb9Hs~|3$&Q2pkYmkWN!!p=?pr>gwtQ zQeApFg+W|i4A^D;+tI;Tp4=dy!S}YO&MYh}-U?IpTkzX0*;a`CY6xw7-n=zIhE}+WYSMivvQ3*F}uM_cwo+EF)YcbD3=7-0aOY z{Bs*#Ev(R>e5le4$11PJ1t|2$k17vl2fLCb)3X9tW5G!>NIr4rjHeQRf*E~0*cv4E zaaug0h4C`7aXr=5De7`L=_16Ni^K9GbMv!v576=1!bO8Cw%KyiHhlad z7jsCh`ZJ<#D2^UFv8}8sdA(-iI#TK;h1FE0NBkzs-rL&N0`{Vo!|d|*s#dxp4#o(f zh0q^YnsitNG9OJ&Y7bhxpuk@~yitTd3pb=AHiOBGaC7(ZATzKW74|d5L^{cbvcKAcaYY)%*ee$<@O*eZ~5N^w8Y>C zb%ilf1%tVz2mB3MTYLNJb>)7tG%|1|I_yHl*s(s8oPc=wLQ4eVCp00L{0Lo$IK1_Q zLUC?sUtwN9?xRaBx$47CrAYniC}q9<9N%24NA1MalmXxtmmBCvWl4LS?~>AC-<1^= zLHlE=4{Qz8)t7%o0=g&GaMid4aDm>~rhO==xIYJ!nY_d{TOc7J;S6BlKDWC)OO%J> zHA!>EqsNoSpNzQRgp7OOIhqQH1oo2KW8*F1G99@lsTOf)rQ|xA3Hw|p=D0!vyyBSC zM`0Jyuo>i#dB^$2<$A!uaXi@=Z2)Y*_{hZg{{H^?b+zBx55fi@xKsGTRgb?mUZfU? z2M$)&F4vc#a&h9PLOSbgI`UUZ*AQrS-5Ey?OW*)KDCtJe`GUv z5uwu;b%9^+7;-``DZZHZ?Y$)d1+S>Tu|6-6PwIgoGV!6A!>tKVdPXy)`?6UAb7433< zo*TuwG^m2xypwWEw~*yz-iHkv8mOjr76!Re|mk~mtx>5q6KtZn&yAt7po`Hw`_ z^FLjI(jo4-)x*a#irFK`B{qaH-a}^0qYJf7yuwa-ZTo?^g z{ti2Q>UWt-&sMQ!#Oecy`~LiLaoV0ABekeENg~YSnWY4Ecd+eLg-6d&BoPM${WqV( zJPA8wq#ClOxZbg#cnA317$1E{YTfqq*T+BgIkaL^3;WI2;dK0V037`1?;>~TYXv3iQ9rlSQ8f6z7_srEzCPNhErJimJz6CwwhcsOqj#2C$#;F05{0S!0* zep0jWjkdAzNPXBc5R2h8N&baB9Okj1$AIqA`JVw2NPO+jaGfOS?pBWzSvs9ZlH-7J z!Ik{s7N+rE|DzWfj+cJ`GRz1GepCrO-{+fM(PwBV<5^T!ZrlH7>mixkk9f&2!bcc_ zNDAfu=}k#__yEd#gMod%X&N0Ny_s(}s#XGj_n~DtHYH$a$su^&r}7u@pg5Rci9o&6 zvgC18!rWrAT3dE@XGv+PQBJ&0rLmrgNtTwDR=gS|ELwHZTgRiUrDZP692(OUz>3tR zA&~X-q)3A|X4@Iix)ysbeVSq44&HkG{-*A&W8wGjK-qLy{3RgR(eG?*j>FRp53#95 zPiK>olJvd2S}OJRfRvQw3(~3NZ^gwD@ZUu4!G?vZ8Hxs3umN;2&(n7|$7_+e)}xsP zFvWRyiwP52fIgC8xQr0Rto5}ukDdt;5fRb&jg5`kt$~-iVibDBL_}|rCeSVc9@RE9 z+|Bnr-BcHH-%q!nsbSRR86I}m(bW7o`GuqH!xo;;YCC=D{a;ff8O0E<@h*6FCllu7 z!tRoCqm& zUW(WH?~Uhw3c9Qs85zj}DV*sbG<-VSnE!J6bQ-gn*;Iv*1Lxi8);JK4@bkACYijno z9eQ(m34ArP1HJ`DcuUbSA-nb_FXtoi9+KN!(1PnR5vzDuA@Y3q5SAbB z)87!(kj}8^{b1$M=G&DU&{rYC&{G)r(f!`EH^}ORSz!JQS#*tfVsP`rzWWh8qrJWT zsh^L}l$H)@X39)k@>T-{!q@=_b z7qcSJz{A3pD2@jQl~}pBl51;Uo;0MUlD#BVv5xY?^ZW$00r!{05{EsU zp`!!D1OfDthkc5}he$KPL4PSsi}HxzAPQ74FqHu=4nqS26RqM9|7Q!jm5W7N5g{Q1 zCMKrS_U%chgsUqLQflht{(f0o;VmHVs+X3KKo4;4hX@Yp*Nfk@&leUJ1ikz8QT{>o zfOnjjNHDXoKxpacIO<7(fh;q#w3Ph$Gv3^6T^+A_VNp>zE&BlN!PZuMWF)#ez*CGs zjGuUN;*z1}Ae*PHsk!-<=;eD3yznr<;y<65n83pd9roIG`Oob;P(3_7J&&?5u8ttD$@hwiAC1hv(ZlIt~sDgzuec zYis9MR;q=BgjfLi^2E?k6lcMVWSDl@k4Dq66(ZIA1v2C?z z?{}Z|aIauLquZD6(!${n(0AtycuUNOZt&CpvX)z)1yy!dhFA-|zC|~`pf@6e|p5*~$7#3O_g1h;5|K3(67o+G7^%w@NhIC2MFX1K-k{(`St@!O3HN# z4h|0e=oVw>;bGM)K0ccwzH#F(G!SVlkd7jJcFfM&8rnYj^CyjgfkCc9(YTf4>F}`1 z7*L&4V!*>4-rg?J)YcZQQ<|NhPk-0n-w)Kgpgc@H)u;O3w<7G50cKz?BiX9CCH~^(t!LOD4|q z_4|^OlUpKM0TDfAn(8&FH~LdIdQ-`E^GH9Tz8O zJ>l8@eub*7P``y>5>R`Q1xjm=l3-2}Xaet=aB-O!7=nMqZHkA-idXo&=!gdo0wEwC z1!XWVNp-Ntt@Vf!+Bcv?!}*=g?_f{}a=266dV21D{6k1ger40$<772!$jj0DgVKuF z1Jg~o+-GI6_~Od_)G5a$KZeTD`4^*Njczp9RQIN_#BC=(Tiq{`p^)=rSoCy!+5M&X zVu#yX=upLc0+$1Wi?P1A3;@3&+wo3|-0{^}kX>&KeEjU@{LIm@aIFs8QNOq-ChO}) zmbZ(V=#BNfm9V|^{r1xC!k|*3DM|nGLq!-1YKcr*Hj(|@_ZN9J_)mW!1n3jUyr%v2 zBS4=-6X$(uD6UI)8B-qxbLj8iHOx!IS2TDwJm{ts}v`eX=5Sxe-;xBs}C2X=Xajh6(AK`R#eZJ~5=H@7D@{>z$ zV`a|sE4C47_%Ynf&VE>ZM7?A7jCI7dH8!+u0+YI2Z6e9s@5YIuJ+t!m-(Dd`a1_oY z2+VqN7c3NKtRyiS`&-CFS#EI8-4=oBj(y199Xf7)@}Yd=rx<04%wYMkEbZtL#{5=h zL`7!GJHNx6E%V?=ifmfqt9o;vE9=FggIMS=b5@>pS*FR7j}?vY?Jc2@>M1epeS53^ zZ5zR*qAM%s2i5$_c~X<@n`ia&JgRo`%(X;J*M0RIUGxDg0|1$Y68!w|#) zB!M2G{QKU4<{=#h1`Uylb%~HdmKdLOZY(v8gnHjh;euKL-}&EcKoR|CEkb=likz*z zZHkANYTaaBVt1==h@@|g%K?wNr8`CEL5cdR3qF5Etd@5NKCgH_VRY=m6QX!t5|vkE z<7K1z8i7yi9JK3aNz@6F%V)2r^%2|&2Z1)ZvgY=Xx};F<3SnuI5PlYnfH13$499vA zQc8{n{&}&@Tc)cZuMrV)#7vM7pr#lKqO<7r5SviV%#ahR7Q9leQr5Tc3WN|0c z5KD&DuaK<(rYsZ2JGAs$4TGkhFoFjwG|-1tf-?xmo)nHz14My2O-(cOBEGj@eX@aa ztXj9g@2M%JICR<|J&F6%Ee*9^-=FyKW)vYcN-W{~dp@Ekn z{ZRDReAb*~_#M)}NdVo%fB`w2!#6diof@ta$wR zjlgvUKU*wn8xzYByT!U$_Pz3PUHq1x&v1ElWjf#JOu}nJ0JK0j1GR+1^a&f8O5?VV zWrskMgNfLDtH=1ygVK_cU*vEMUw#>(Jas{4q%(ep99AxDE($DR1vU4AZSwT2Jd2|@ z^GoL_i(KnxAzIqn0Y265#^^-$w3d#h!)j_?45fn;pt8_xdymhB7s3rDGe;;S>m-v{u3=ODX1?jxh2^+ZE&d z6Cw)T0%;gf62zc);9n4or0o4Jia*TQjxHRKg#BDta|Y#E~adGFSM@ zKXRLb#E4vAqD#ug&($=lP5n7SV`t+=w*xXZTQ=MTJjARX(T_XZ2Ah-9mAE;$)mW4gAs<{3C|kMr7N zl_}!(R{g5aS@VvA>a;BPiTBaQYGg56ukC$i)OvPP=WkM$qa!JaV}5V!9wxQSD0;aV z8U_ZWG(P(`XQrm6(`{Z2Y$x-xb+%m+uYu|(x8tI46r~UmkXe%gD)YKaZC>t3NJwul z50?)wE}%&q2HD82a}DNw5riZnp05NyZ2AMOK$GNM6WD)Qlosak@L8!%v0a23A6q$S zGF!qc+w|S(>yHOVAxXQ>bp-D=6Z1{aswb+nrVT52E2^q+fLz)7h*g6NaQc(v(SyY{ zbmS|bn4bNf42wb_dzPe^(Y#G!pAVHqK^Sc=9Vc-=Mq*}BH?hwb*@m;a=WK17I<)X7 zcc)*{IEJQL%Cns;EHWx@!xlG8pd1I%!B$%feP+&-(xiQJ2zYQwRMR(cEg1&B zPT=ozWZylD?3hc(^Rfb3H4K@{gqpD?cqi;O(Z9LdxJFQ0`uT zAv{N-t*>9g3~RDk=0mMwWXL_e6W6@8LS*ZqSFgJ=7tk(~JxPkqG2SBW{I2(`r`0n; ztVWDq6jiU@jx_1H-V-X9re>gPL*TTa(nlGdzSks078OFOwRv^vWb9;3HHs7$e&af5A z`$+y*_J^K9IER~SEDR1+dxg@!JP`az=KTQtbrw&N*~dkKqoX5|msS{3vJ=i$0&hD( zBR`s!qfK*1oI^Htb_P35XHb#z7HQl|E1i+?`CHmh(<6ypBoFD#UjDXSa3o!18}b_( zg4ClU&#m8j3+@*ckzc3D$jP1f@}kgk-BAKfG+|1~oS!U5GCexdUhc1~m`xT>L;)Qq z0hY*jKu%t7RMaw~yGsSAa4fH_^&M&*3?LxIVy@U@{6{P%Vpepnmk?=am9oQ`UD|z%JOLpgsh-3iWU+fMlkyEF{uQ1hbsj7y&6HBo*2_xqnXh_v0<`SZDBE%wgbp?YgwV5_<|q!o|AWe!T$>*E37GRS_Pg(pCe97ZSa!q zsrB7FydPq)tZechbuCKPdouzk63(~tmHo6^ig<&Czh0H|7Tzuby=2>HkTVXaO7l^G zOdc%9V*0_y3tsBg85N%s0Tg!#V@-Ij_7Nh6RT`_o)L zm?XdCEns3p$0tFh_3e|Pcc4e{f7fdd2jN6FMpJ-taU0?h#l==O$gg%0K~6<=*Zgph qcsD=X3rKA&#vSZF0evr9#@=ET1v;dN$ABh1kb;b=bcN*Gfd2zv-g83$ literal 0 HcmV?d00001 diff --git a/doc/nb/nb_configdialog_general.png b/doc/nb/nb_configdialog_general.png new file mode 100644 index 0000000000000000000000000000000000000000..a531859f91090b4e679edb22c4e722c580ab7872 GIT binary patch literal 27975 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 lh$7@5y1BZNiXi(_u4D0<=0p4?&+Pfp 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 vfnyom#%n$?FdR6-S6*) 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 literal 0 HcmV?d00001 diff --git a/doc/nb/nb_configdialog_schemes_bright.png b/doc/nb/nb_configdialog_schemes_bright.png new file mode 100644 index 0000000000000000000000000000000000000000..e2abfeaeb52fb3015d692654622af9f2cbdf9b60 GIT binary patch literal 29773 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

    ag6>F!7TLM{@-pVYyrlu#7NpjK8faQE@e z4yvLOIUHvyhQjkM&xh~h-uKE`sOlDICk}gUjnp{0WerFLJ%;fd~D{^klbN&c>+cH>;>i zc2?Cv+VYiR&UiJ|F+#VKflKDn9e=%EkeE58>9v^_Oez*EB2uX@HB92#iq5sI_&~<& zbl@GrllSec;N12PH=}3D6aj28n*+B+0vQKKbMqFY~FnOA61LNI-=p)b_U~I@w z8P(ft$iZLP<_=o{#HDa73}u zB!~2mL_F1}4E+m$h9O8_mvL5dA{hWBxWRNqm9EV%h%w0nJN0$&#QcX*qc9s9gpp0y zb8r-)<`|e^k*30bC5pdOm;MLvA4-7iZa|Vi<9`hQp8$X>p!pU_lN+$!0)dzZjm5)M z=G?;vGY08ERzoliDpF60{^QQqW_6#huKcFBE3|;5Da+M#jRK1oY1LCr~IZqidhwtn>cBS)W`*$ zTD(9qn1IcQ=2^IlX-E`Cu~4sSyW?wTRQb6JGc|UD(E1x*y#k#@)(_LEm!BEK`dG_u zEk!w8#+`%9+&xyywjZ5&im(CEa28s5@i$R%FbyOn5GoKts#L`Zd7_R43hGF9D1P^= zD)D^Jb+g9*)1Yt8hO0QuzySJ4zz_t?o({fqlL57%k+RJ zxBf(9QVewRHAs@yc2sYxMx|mS7jEe6ePZrMd3x+ z#=UnE)Vo7X#_#)-#$(%Wq_0I@Bk{s@-!<)&MEoY~qAz0!@(g*uE1_xli^2u{R<_%0 zZKIDl;^U;dW|`M=?e~^UJyL97_?eLoaaRmd30#+YRU0qecx*LW-O2aiKaP3-#yR14 zUmHPWUhR(+!O)cRAAuUzl&7VHHlJs>34U?FpU%QC`CxM;#1%!UsgPpybVy_LP_hq* zU(kFPe!1vu^Po+jVY%CE3^@lI)BiSngcR=yVtM`}e(h(fY<@T8{`^o=?b_;U{L}1_ z1NuFJ$1(~#<;&hvk;5!ZFEMirL)zk~9~ddm%UgTEE*_-&1qcvGN|G#Qy>;c(9mS^i1H}*vqxXjN>{0f`XJoxz{2YSb( z*Z5-<)e3d_{^J2?NWJQsp7ArX@<_8!e$K?k0ZPUM^MWTnt8OokS4PSlkTgoeeNw{| z_1LY;ZC zjjr69$P?y=FXZEsi-G6&2^Af8#;Hdol0T{=o7oc-w!$t)9or8(Ha}JR4A3d5uDq!w z69^dI=r5^wt;I;bDqp^Io_js2COLfRA}hESU+7cjIf!Jkj%6{E+Gl$8H|C}LYcirM z<@}7eEh5)#2GM`k%R|p*XyEa3wV>=}9ez#g%H}{9-^ViM$6gLJntazr_p7$qpzWK%_K&|WU3ON4aY$qrYEp&WHRqgHThA$> zSFV4Q@?30JT4F8UdVM*^SzF|qG}XCtJ0ds(MHPNw{MiIiS`(LJw|fUxLKiDW$YzUm=u0t_I^lzxVaDSMVN3~3TnWx1*!FQn9O z?eEz@A0iUOIiDf}$D_Jw^jOkUQ&U~vS%XLOr0o6;-}U^lkwSsg#VeVby2ip@kwczgk0v(4`;=%jeCCkt1)U1m;dX!B{s!Gi2+fofIC!*|tTqZft{HYWwLc@pE# zmsT9Ok;|>5EFnpz{SW7B)XGm?k)3`aM$Z*~iL}Kr?7xiNC-f6ii&-`rFp>rgRN|k3 z_Vv^4KDUc$Y062ptDPY=wrnxi_zH7Qdr4X=TX#~`4PTfzqA4-YZ<>w^za%B8{Z)kkoPf*`AOoYl;DPh<2XN0ZpQs9qu_eWVHWN3 z!>9E$vEkoye+24<&M@>Ec`EdeNM$O6r3gHtC=Yzf|H-5JgvG<+H9m3G=g#20{sfLf zi4ySz{yW z_on8DuUDUIHq<~L%tM=e6;31@j^AY)j%EA4yKcb)o@#;O$i*#)AZ(~7Tg}do3e~a}vz6ml__pf@Yto%Tr-MxFrc(K>8A>fj<$7&9hs0xFT0k>ix&({LXk|L9aOUvCvoOKhep5+0(AmC z?oC=cl<_BLWb@kEj@w%D9zA?pmmI9J*n51tP+BUE+MfjrbZ-I}fqW)R>tiwUytq@H zhv>t1xx!1Ee57;!mOso+X3Xwu@sx&M?Bn_4d5*E)-QW+8e_{g(mx`zl9b-@PYjz2Q zLG5w?>%h2J2c}kacw%H*iLk#svW8i>&oVWs9O~w8jJon*W$7iis0`m)ZG8Iao$Hjs z#Is$?-0H>2PQi9Sz@#?4ZT~cP;R%MqqVX;eBT<9li3)JFdnDGROIy841n>b_Vul>%e0-ki_kL#M7X{3 zEO^=QZfiBUjl0xm22oiz*hLSdvb67|tGfTrs)~Zr8AeSSJ z?_9+{uhzVTa+=9B$#6P)3{~$sp@Rb9EYMy$uiwWojtye-r*uCrSb}3~zNH+g70>(v zf<*bAx{2zh6lfN<)%zuSs%YveR>pPSm8H+MEecUMNve49<{ z`5`DH@xZ=rtK5s~3Q(#)va48fMUwNcRUvhd*sagE)e%pMr&Tq5U+}H0{#3ZmO(l6>`$e^pEO2#byx8-qS0nmI%EQ_Lk;NsO%tJI!EHBUEy-Ow&yIK(}@#t{2GMSp`TGYlR8ZS9A zb*p*BoN$_>+GhZ!!0U?iFQvtT46MPS;K;9^2HiJc1>QZf1a0dWC>>{k{|_~?fjjc{J!$RU^+~nz zQi4FH%1B%Mxx?ltCb{Fw!ih(|z*fMO*bjFz&l2P=^)W$E67W=E9eP4sF}AlRzZJ{X~vv?Ok*n zYA(;9U;;`bGtUkYBlv3qeRv0p02q_{ok=i-z4L1#s^xZEocs208XTOLCUA`4ESg0V zGGfBV%<&k(w`mGYf{7Vk<(i=5P&6032F9C!vC-$q zKkwbQ){(HG5k_PI>(77!?`FygJ)UIhB1Eh~O#?zIuCtl|E{AJ3rd7~rjBal?U+B1B zNCGuT@b6^8?|0lLir4(${njj3yztVBaAKS54jQ7tNidGG|H0PzfqiRdMrQ_qum~3) z$;HlN(80!s{`>GG+tr!^>F5l=;Iu;0$KcGG`}oj(Oz0OcSxs^F4U$MpHQzZ|e9J=k z$H&E=LlIu2*-uR!q~WVh^SY~R)E03wht5OQ1aCS?ZFwqB=P_W2;mDEzidzy9UHC`i zk^P1$Wg=hRJSo;I>FJu1)sTZ$1Mm5BX6+LFp0l632K}1GPgmffZ1mfY`g%V&A6g0* z--J`msnk?y>z!g-Zc_>$W!_i09)jbz>W241 zA`}6#GtcV!OZ{SYLsK-N%_t2t%#8z z;4cv_IqXQLCjxY=EQ;nzzb*~4t{m^Za`6lD6eKFg);n!cYA}j@&79lKL|uIJEan#? z`PD&Qr7Nt`-kfKLhp|nH5r)v7vS`idQ6lumSi9%RDM-4Jb7-D866^W;mVEVH8TjfK zBIYf>7*=b+K7)K{CSeRmlfFm0e!*z$jw$c;i`65f)YikHl=rhguCjbs;3*efX4(co zN~$${*KhIRo&-)bjT++E4Hcif4CVH=Bz0Jde-lEl#s^du)lIcNJU;E3>LejxpgJNT zG|n=`=_#&adl2&?I3+HXJK$|$=Zm0dvAIj?T(tPwJ=4&^Q60*c4D??vw7u{hxcqF; zzm@EiYG2C9Zcf0lm*=j&v{I)yUv{hnwuOI}`nkaHDF*9Vo%lVbC7tkPBc~~N%G^hJ zCvu-}!vZwD6Yp0yWM8hRk!vi8w2l<~NKLj}=d=ys?9Q zbzIl4bUi9t5AtJ^Jij{6$XnlA9*T|VD0flOo9e{}rWeTet-zzc_NHi&h~?o6?IZe4 zq94l_-xW#)DsB}1#mJPEM-r7bHFrQ-;T4?eL6^{r>T!#m>7@??Ux%K!v~lIGmgVm! z!hDT1w0K*%S@@CRog!!vrG7;ktqhQSi=L z&n4xIn2t8QyFNgJx0U;`Ukjs8USQd0Qt>I4DWVrbq&Oo2!&o7UG_|+A+-K!h_fIFB z1Ox;+lkRwX!LdPIX0KrVIkxd7sx42_?x>o|=IC!sS;WSn__RME62iv}l|>Cq`3y zn2D9>!e?6pr`S!2EQ97B1dGuMJZPWkre*3Wzmvo<*NFB*t{e#*4}3Le00%g}Z)Zz&b#7Z#&Ewez5M-ZL+7 zR*jBiUgRWn2B|Y#k3EGRcI*<9x(VrmTmPh}w077ZP*A#K&en--QtFR^z&CLqy0?Z0 zRg5oThq-i^D%@W^!LTfO6fUL*`_cWZW{ia!2KXb}E&~Roaw7gMK3!)D9TW6^rxjbT z0mUh5580RbfyYoEvG!s1ZH&uBzw22F!ptAa3V6zR@9zZu;B^912n9Wh34#qM=S$v? zXf`8sgfa^C$ zr-Z1&x?9-5mUN7XJq9@nr;K*+&+){9_YRdqR5C3GU&&uEY}d}8Hn-Dlu&;iywHJlQ zjfvB41pJ0`5)hi126z&Dt3|W>1u+Nnf{+3t$1n{Jju3o}aKr>+3=;j+3uzE4maMr# z1f}_sP_ywU`Sm~`%|saAoHcmbCAZc%bHWdTCz7?HR7}c z$svZmF92DBL_?Oey5zg2@A}NfI|)}sN71< z0V8y+AC5k%EcQr;mb$$`(l?I=8mU*A4o_{8D`$j^m9nNg2!b)*b#R*JD`1{SnZH%G z$MxUe=j@N)S6OU1G7M8Rx7|hZUk@@$8)2*{kb$d_!Aj!5Ixe=qi=tH+^LCvN77h!(Mh=mXj$~Me|G8ELA<{DLXyG3%KwQr@ zUTtA|o>S^9!|(p|>A-X%Wc%=;V>+n8Hc}p<|1EERA4k;*oYak>POXz9WxqaRx{z>( z0Q?{>PTl0;9&UW!-E1HUExNm~o&*;70aCeQ)=UYe=qul`I7jP3qWB6mzP$?BTwc*S2ddrusH|J6yS zH;10f@qG~syU(-Tz&6;~F$JEouID+NaTjb4`p}UP?Zw6vtNX}?6d%fyyfG;UrS2l= zFI(Y~B;l%mxglMK{Y`fGV;q|3!tq!@XMCS8kLR$79<6YqpKvt$nR$ViC-QT+7?iL5 zp}zMXLoL#jU|iW73Flm4-A8VRhy@A#NP5+f-JU@!43A!UUXAqbpqrmAWeui-Zl$Pg zb>Roo;=vaoQpSSa;B{deBy``gQk@&JJ*@zS?ug`pbeXn0JY`Wtvo_OFL8WwxWDO*X+P$4hJhVluh z=cM!YK!{jT?GOR(Ni~Dpdc4Il77n@b3Kq8i3$cJ)`fJ$$4`79*`C%_ytof9U^84`y zB}_`^JpMh>mcT_&)f1`FLAQV#k4-|q8er)?zw7kGKMws`~%vOmY` z78i!WW;A$+V(EL{iZ-EL@8-E08os}}vtMw&-yHJ_kqfXz29R&kAllnbsjf^1|aHh>w={OHY9u&b-_+iC4SeKoA*E-D9YGTL-px8zTuluU_W(|3D=b95Ma8QmxmKja#ZR*r9ZO!S#g~^tw$rHIp_;vvD_107eUhq9i zRo#KA*dS38>YrWYu--88t1Ak{4%uD4VYAxmQG)$)%;}`VJR}Z%+jqIsw)usJMKR-& z(TJV^QZ$g`XejF6EO3bt(otfdz)_vj_oym?SmsTw8rZ{xOZ5M!{L*P^1@IOs&VZ)O z$`sK3C1DUKQ7`8ytnA!+4-+30e@rPoH+_JmxlHiezV{M1 z2`9VR+1c5hZ{{09Wu--t2#}zlpx%j#3CTl2!GNKlpl9D80C%Eqa;boqw>Dy`_Q0#y zKffY<=Dffg1ikN~LQpTS&y420SSY9%192e%MVI-*R98tQW#V4b*srPLoUu+RxlBn0 z&xym5DcMP;oR*sVC5p0#`If>5YS{0);BmqmBXHpa6mc=o*~&`lU@G|d;pebDAf&W! zNb54*yxDagK4Fe_y>1d+5f;yW_Ua>VK1s1}ZM7fyQor&z+&tZn&V$J5r;8T^{ES7# z+sbxkt$us`Ll;kkYg~gzzwoei#PFYwbvfHJlH7CZ&Dg;D%IW`h(XIMJ0BStJ{HMX* zHcDDETDsKReQF0U=g|p~nH}ZGsnbAmsr9q#(lW~`qNoSUZmkoVL>?y?UXL5+$zFPt zPWr*`0qx9#=i`pJ{;s>IZfd*xkGT<3l!5uW&9p+|Iz?E; zfSL8-MEJ2?Uo43a$J=8mtcL*@9OVLY)Y^>R$UTpTE_;ILvTAhePD#I-0-R|vv2wP# z%xC*>suNcq>Ff2A=p4c)Vl+ZLOIxU9t=25E@z11P-|n)}z*Vy4^8K&>6wu$W@wVz) z=*a`rvXEys4$`w>;O&fd?=$hqr^}V*wTEu@IvN$#o7UExjDHkcp@QC?1z)UTlL4URa|+>rfe?V<#BKv=FIuQg8IL^<`R_cwHNw ztbuj|QeHKNO4&0aN1C4bCPxF__+58}g*)rvdxVMmCL7DJY)H{M+UG9z=(RM8UcMyc zR}KFhTls`y?=iw7DEg^4|3_3-9<-F(uYe(D8R1goX;IUeAKENnG7T*3VM`|ww_GwO zVPX+Gcy#+aN~ax|7EYaZIUOCS)3JMzx_Z&|8|zll9h08ZRV^YL0+}@K?woTql*HY@ zRWOxnOS0E~DkH#I3%HbtRXp zmceo_XI=`@jnYwTj+XNJcd^qsYl}GxE{peYH^jU>!-)eUgGHNeJZ2{>nb%%SO{B=O zN;4GOCi#h)y?=8;ZBDsiJ-d0T-b7B~dBHF3cj)e`#{&pj?Fb*&ub zZABY9legBf)mU+qb!%&13bl4-MB6FiR^k?ZJ{Fd%CFi5J+JfxDN;*cYk)=1M*Y#M?mEr2r5!^}; zms6hKSW82KibOxSJ#UdXL>W;OnjQa;dOaY$mu>NG|mDQZRH zANQUL>cRJe4$22lK6Cs15x|H~jD86+_V1W_2pRp}R-KHX8v5XJ$hmuNwO*6dq_3Qd zm$4$!^A!qvC|bQ-R}}Lbs-fTd=pOPVi{D&J&o(&rLJRk&aX#F5N*wpshVq}>vE=3&Bid2$%oWF|gow$ffZI4IjbQIQ>^x%`}AX$Z`_ zlow?g=?+@E_vl|cT$a3OTg@OMUI`HNovpz0ef86ev-XxQz0dK`(0gs#JWxeRmSxF` zh(%*tHV%CL0-lz;ABOPOJ)V{BMy*XPJFBKd={@ACc4ZhN9}Dj9aLk}5oaY2{N;KI*jCf58Fg7;aGX)`99mcoubhd6nVbV!`fxisIR}F3 z9nS6Mz?B_z<)uQeSg9YZ1_-m!lswjuZWK^$s~$G9bWJOPlt@Z zS%+xPX8c=_;hj-W%)iGdcE84?m+*;jX>_P;Z_)_h`ncFqzeNNi79O0CnOuliAn`_E zG^VW=Px-`eV5xX21Zziwx*GMz8HQQlho#NWf^T@UE|_&)KHdPjNra8_V)`0!_*Q_(4njcFYn#HyKQ8zt+e-oh1Np1E#9dm zo+i2O^z1Bc*wb7~1oBqCwaGUnOMk`_fv85qvE50GSv~gbkxqyM7Fg1oZE_cbCAs+oLDSEzix4G>~j!H>n zZ0ri}4?&UKz&Q3#R?BZv_DnU1cbx-VQ2PGInXSE+lGl_$?k2R?LWX3VtY}F|TNLOE zI%8u=D&=~FhetfvG)&wNK2D+SbxM?3FqdKkKUEK++K)xcIULWt+ zNaQ7K@5w13OXq5ew4SBuS$s5d-$M}*O(Z}&45cw$AwC3A(QGJ_f27IN0GAx|S@e`( zxf($It;64m(=UnQ`y!qZKXJ+4~`M!kyjd~7% zCbi+iY?1v67|CjDzm|^B|DGA93DolYWBz$C34gpMf28{$zt45zTGvRoc#*X_4P#bZ zKWF=4q{(Iz7u-*?l#*q(iMx{JPFZUGSm^S7=Jzw}D+Y>0NyB-&Q|xNQ07v8uwU;#U1D48&x zqG8hKFa?Yq4>eQdQ>cz6s|F?=oU(OsNBpDR8k(((acRTCow0XAzeAxLz-`!g)kG1i zAA!H`kw`^kkYNu=gr5|@0JE;yXl#ED|*n^e-Up-IS}(PzpfnJDQ+H$ zZX2(O&(pCCQ=({5AxNTO#j}vOd5eM5?EQXRgl+F1uboM^vva3SA6)LcYx3bAU5T|8U8Q+@PO`|IoBRdv z8XY)=rSB4ruj_D)^)^eHggRv{gh*F+bZ3&%XPF7b?;XbI=ujRvqDy%oVB`X!(+7dJr~9 zl*Cb>OLK3EQa$0yw=X*8(l2Vcec{vuXao0VuC6OFg{}B^wXPLyUI1*gY}MpO)P<|4 z20BioyW*!OKhtHbVR4^h_GXSdLNjBT)Xkvc{B(p zRX<@})~twm2XxSPH=UaU$a5lovA97bwR0gGw^MJ>9_#&8!8ix3ivlHmh;Gc%uzzsNeaJuoUwdWEt*_rjJL#7Qfk5W}hCpnFkc!v20zXIjJ!XURAJ*ev`23k( zgO5&?kaoT#RxtDG@lxaKjSIf(VQR%Z+NjRnxFk?LJ;?=iIw^LZ5TiyP{QLd7wj2!# zL4yW{%`lCSZy}7IKj|AtY`gybfrZK_Q-ACI1okYlS8IGauI9R5ZW`%UF!z|5H&1sy zF@Blx;)0UJtH;uV2ZB!@6=>l45r|Zwph9q7umAu1|26sa|9$+wTT|PoYn?S_Q&bc* z4$I%42jHNfeh5I;bM||qNo3VNDg$5SNDbC1jH~hPUp>j4uIIB|4;c3D^Uef5DgOq^ z816FL=!t|HOW|}Z+@$LP1Tn-Y`l-Fz`a`k&{^@~@pZYHjAWI02o>JxEW?$^_#d?D zJ;&8HXhH_PfOj9*NBai`EDvYPo$k&Jm2VE`m59z zXP+t6t_2sX!JDq+hIH>g+?+s_?^?ephk@#%idIolQsR)Sv)c+AXm!6C&Xq~Gf<-`i zBSh+#p&f(Hw_{LFbsrM1#XWuZa($$36!n2aZ=*Nbd8ftu<$1bPn@_#cC~`jxIutU^ zD`vcPw$aP#aeKqGzi$;AOqFR}PQf0le%xb-?Q6^2TR`s{R z`Q&(;$6;4ic-K$=Y9n9|VlU3sQ{^bGcA%kmwKeem;r_~8;QDy!AS-@nIQ7C1SevQ& zU2DO+msBq2W0NC42aF*ay#$MItQm|o7^;X>`m zmh<7PE)ka#waU%z7#UH~_S!iitHlrQuD^I-p|zaRAQxC&4;6z zf&zCr-xDkbe$nuHZ}hw)hC^y1$}IU}i5*VKR>5T1F+}oSiOKXS#~zk0NA~ zhAD6|wXAj$;M}_45qR0WGvfU9<@+x&zc2k(pxgbaB7zC=yRJ|ye_KC?E)80ZIvsz6 zcXlfy1qykEGHEPIuGrQqEy57M?8C5%&^3KB0kZ{;# zJ0362QGq~~fYPo3Luk^A=Uk2@m+8=#)PA4puT!kwy??nk!TEAO*R)B6Bb-aXVwSD# zhhtG>l42mUmq4e@`H9Qxv2LlwQ=K&bO>WUbwRu7pqkSur@vwneQME$7Ox}&07M!R2 z_HVVk>Ys7uC|hin^Vt_T!!)F+tZ72#z{=C|STA#5g=$Z@TQBOlr6 zblo1^70FOkrrJ$yI<|)P`F_PA)beDh(fAz!^Qb#T|3ig(t<}`eD8RnIUX@Z3n_l#3 zkTd5-*>{KGup0bDCuA~`jF2=WK3VGwUSr5D4L@(+*}?|({oJH_*L*^zI!f2>G3N)5 zT(x}s=yWhGWf*q(B{YNd3ugl6_mvkwA(#V_Psyy7g-%KHW>S;Gc@q!$|IP-S$8s*u zYrici{PoNJ+M?cg-v*^0W&QKXhx^vl5SF2EV&;F0)-EJIt;P{!`Z|_Qy~U$mDw$c_ zRCBYs_{V3ousVwI%$uq>eD3ilf;I@h-trOA_l zDwN6DH|@;ct$}lZ0dDF?${^l#0gIH-fC&oa$G!B5uYvKm6J}sR%Q;zTJrO#+I+*Ey zVBGR-e0-{?iM)T@)IZysMrZB6kH=gFD__oz+R|g0x=r9}7b-%1B+t z$8bAOWwlJM;a1E;hG?BnH!6p+JA>HG|_5A4C zP5l~g-uO*lg7>RT8g=>YhTfN7w3>za{-lgn-wj`$pW4f(eN}RZ^yeEU<5ehA-wJD0 z!9UWuJO7v$!fvyj1;M#tDK~$U86&F;-9gtB_eUJoU3w9y1@~#WG58=XOn>0pn6$vsNi9-0!Qf2bu=Up^fl! zv!RyvV4pIznz!G2H*7noKe1|(pdfGzj&6z{cin=tey-^jm=r_OFQ8?@ClVRXZ z{9RmJlze1a*tD6{cw>|yXeDE_ImE49I}JLnovl%dUSWTEu3iaGXzS9mQbTF;y#!uGbvi{wYt|?*6(eS@D4j|a? zcF*ce)q=U&yQ{7j;zeaJ0r6#+U?wguuDKWdrT98O0{kDO5GdU*kN_nRgi(Up7M{fp zPhJJOLqg?k5m?1ATYnwN%m9@}7yb~{079Y^7I8#w>Yv$18hA$ZIncpX?m&WC4YQjosfsLvfkFrTJTM6K zzn3>4C@5WcsE?2Uz!AS*eEw@vcv05x=mLKJ7Of%v90YzQ0lJytD&4KEjc;!hE;d0! zU4XwrlJoENIk>3!(6kdOoudcF+A}=n++|UnPvT1-&<6VQ{Lh~*>r|*)6Xulu2I4?< z6cT|$3rR@QepS{kY~5}Q*xh=SHqCizrSUYV*PJZU(jBi*rEBw0=8><2b=yg+boYA) zygLnVzVL|x(j;}W?gDU!VOd%7in7V$g5*Bf@uas|eob*HvROVE%+Q}MN8J%AV|++H zHhq%Egb9E$75YXVhyLx`#~+(7XIv+99PYmi65e6nws;&Yg$__VO40~wDrY;R~a&z|qXfj`67!E)HT0TC$tFt2@Gwhv*HI~U} zH0To_13Y{|u;AggeTz6oEI)@cz2xh|xj$1y%I0V5-2{AIO$`ovSehDuDq3CV)3ULPML0BH}8UDA8;zQ4kUesKf2-=-__tF*PtSaPYS=Y}=QHDjJMk zaQsqONt<_~?BEcGOQZIA{)t(~=W7&E&gq?Cm8~1mo%L}pQJ?x&|M>X$WfzuAzT?4k z!^9DQBnnk4a~F2xI+#M=S&p(glaVfHcYW>)=X)lRzTb#@<0(d*3>iN}p1@ic zQPSffb?FYDkA9@gRhdpqW(dIYJl}3eNJ>toTD*PxmVcGT%(^|XR}|vs?~n8TeclM~ zgCqbBCuYm_S&RnpBJmi$A-|`c1R%=gL1}B4E44oF*f>bJ#AJIgiP*c7nURsv4yy!3 zWl6fM!H!udp#xc*(y+udB~C>q3_?LuMD^s-iu$nhNB4WbnMTLQcaeK}u$1Nf;2OKi z3c~@jc0YKt`Kkg06ughW*A&Sm6Lq922YY)(XLF@~U#WT3+4UuXzF0Mj)a&kkModaz`Oc3Nt1 ztgLyO)sHT)-x$o<)Tqo2 zuM+K6Vs;0Pmh8Y4?-$Q_Dy6Wa@?k08DZqhFWeOrXo-Audi1$VjbzhY^9jRqz3I-P{ z-5bxTHt54NztePH>gFid?zK(oU5U8( z*fTuNbF=tIS<6-Uk4R*H^}Chdd1-DED_#%9(&@Z34_kndRZkZv75!pa>E^h;wbwD& zgn3;g+OmFj%&bdULY2t)pAF)@Jz|yNphjzGqVq=er=8Z~XNILIwsBG0K8F7OVR`8q z`yFX$H1;kW5O{aaI2}h05heI}OqAs9!0<4*T(29zth~CB1T2^bdW39N20R02_Wny{ zy8dNKMc`0EcBkz@{3Z93X0VV6uwz{ZM0l zGW#B37TvWyALMr4M?O`e$u(DthJ=LKIb`uh5s?N~DuXl5>tk?f^9@Uu)o7u!QveA$U? zhW&9V^Rl(3=AF?9ztr2{7ww1AIUSK)^oR$nHb1yOy3#Y+K`SFbtPoW+c^?zxYjI*| z6@QG+h$-t~V~hzS=W;^=J4wbTGo$l|#%m`zD&prYEVF!?^{d#e(zbhtz`F&-6>M2_ z+MZYO^ge~Mnco&2Xc9Y2?U@#vTq}Lhe?#jDNrdQOs6vZbM5PlJ51|rso6rpO_sdTe zD#2&01=PD%N{vUuBVn&97k|kTSd7~{$qXj8`!#PrU+d}K+mcVx04T@tYF{bq`=lPU zvQRGM8jbfhgTC?2uZ@TN#Duy+e5x(xpD`ot--0972(6nw-RrkHpDY*0 zkcm=pa;jbH0K4XH`!|(F9sLhiB8TqY-f-JaUA~J!CjKIxk5I`GEIU|l$})V#Ryxu6 z2J5g~bv>g75CS#ag&abr(Q`I9%kMYw_WT{Gzz~XI^1z3!frR%L>@&ccE0~y=NI$eY z_oaH){37CUQv|>`4u9uuwdsV&T`Pp_y~HQ{kr7r2!A%7P$si6Q};FV)L)vdij)1-dpYEXx{#S1$^}Qf#h$M(=4g&?)n>gu}!B zBCq#YqRFz8$a7~0ydpdlv5%g@NV_*H-iRVL>rv=GHkhN*$%pFt)+1~z$fZ-zqYlrv z1}g9`@IddMbcgSAJ*^%@-25r9pnL^8%Fhi5TdRl`cCKbkHr{Zzg*EE$n&J2Q*;m(K z;ovw{>I5o6H*5hU<6P7#QdhW9nwww@Pin5&_tJtQWpOh>o8P;gMz zKs?9(b#+WF{lIXxOc#c>-Ux_`XtcGphrh^4$eUM@?I%rm)isX%f}-q6EEn`JB3>{~ z4?-guzB5d>!h@jyK;FV~jQ|87}YT zk|rZ#TkZEz^75Ms3}{BuW|a;l{}%71Tl*aGyEIvVq(DLzUkQ~uN5c1u(iVY%t0iqI z0pUQwcF_6xysUthH&`~l+R%_mUWr{erFRfR#j}xq-y;8FZM!d42XDAPPq0D9jM^?mZFZ9`gx-acGl4?EaDX?>|V@!ue`6P=9un?s~h&kfi-dt}6- z4}g{K;K7uLHA^p^Jx%;h3qo>7! z%;qD^LlG&3t}&H{XgH5{PRvN@F+)vFO+o}6!xTmcVj)&*CiQ(A*&6L{TCc?u&XCiw z0~{@~-`G%P$3bCc(B)m>^C5LnqSg+IuQ(mq!+<`p^&;wE7JM9UJAhq;1{p8Z$~&`@ zY;PEd(QMhGq|%Trb#QcJ*lA>so}+-XE5ycr{>mb`&#`G14##Cz9M{CY+F&;oGzi~l zgXV$-=_EDKJTwqzxv*=RjZp7Mc~9Cwt3>Fd+CV9ut_H^cBz+2Fsts@2M8LiN2!(x? zbk9KQ&3*Q_e2ncPbZ`@nSLlqr*5}=oZIftJTzxfB?~{#pIt_-YJsfCzjD&Kx$q#3R zrR4hq>t*}1T(2k+ZkfZO|KF7O`%Pa|b8gLa{b*+ZvsrZji0u)o=;F-1+EdpD3KW(j zt_?4V{6hwfgvD%J%&;g999j~1H6PJoRz9fyAT6{%9`9giU_?PfCe=f&k8-hfgtg64~D6|vuPw-NTv0k9u&c6i+`P0}RbI>d_RYV8prvn1Ey%%5VY z?hSe6I2Z20oKX&RvhBRGrSKmsEwfyz$S^nSq;78JF!v-#`%(nEywLYZ<3*{^>30wg zRfMAKK$1J6a2K~2u@iV4flMW6yku>o1Tr%_v)lmy{@~TXFKgJsC`w$KKMRkJIu4i3 zT57G_8|ze-YHC)hT<4;i$jk^s_12Iwno_XPi-_3zv&E;PJ9!AjA(Y_r0qOh#1uR6B zUzvG~I{I-)bO>tAcu@#;2GVNGz-C}-en1y?cdS<9RT#BUDEBZ-h~fGN0_p5BQkAnoh4m6U^r3 zJQl_&zYydoR+`)L+}I1S{9Z4fjb+G+>QB5&V72nWk)gpH%1BK1bI4*BQidYuCoWH! zXP5VDL(8xQX`v%!oTIXQV3ciddYnu}g5@WGKg(WX=YvAobBJ~Zf&~O%_J=cfjzJ=O`?N7Q{M2in69KS-M8qf*{uB= zME{GsXxsY}%RS&gNNb^fANLDg^6=UWuuxO=oPOWdvOVVfNJ{35ZhcFDkB`6ft&UOW zO2$WNh?gre;=C}Wt$)K>{x#Nl6(49&21FT*j5hGECWNCiHE3KC^ll+5=8w|=-$xFpRnqDs4)v=>TE(NZgVJi`8<(;Zyi3PtQlA2V7_~reA+)M?@`XV0OP=Obp8rkA-mg}nuszyX zJ&QJj{|O%>_dM{3wY`8-Ubs`KNc12%)|KR|R?Vtt&UQE!mXVsw%O=#qM+eS3Cc`Gc z&1q8-C>%8#bo7M0<0~3^_}RTvR);P1kiM~gu{Mzq7f8dIy|z!L7uSkXznhg`?v2U{of7Rd`QCZW7jK9sTp0`fgi2TQw2u<% zP8WM0L(S{{(xe_Nt=T|ZG38(rFpKz$iO0g!uLnxDzVzg*O~0-G@9V>7iUi(cY)>7vf_fdfq(Z=L$$!E)f98(PVjCa0bD!e);c@i@I27a~IO#*)s=h>nuH`UGM4M=y~tBQaZx3 zgb^x43SGns1ujvzU(aw6lqpwc=V zcDA9x;8c(f%+3Teb}-3jc+Z*p#ow<|xs9{qr!#Wjf%ex)UqN3WNq!A zGw={0(ipMNI#b{_v+?w=dUvB%c-)4tJ*|XMj$wA6Vi4e6{NMne#kb zwzh)DtH%)3=&^oj^GWB6&KJyogf(h6+ea)&EaQYJeWW3bUE%V*)4yL|lH+06jK4YC zxly3kJ(5HD{UC$l=1SH>jqKo7X5;i$1?U?i)+X`%wi3902EGag3$<#q|lLt4rITB+#(WQk*)`(be23I-fPFX?CQx4~pT(cPHgGciKnybTwf9sB&@ zk*dKqiN5Y=IeekkS`g^`Uw0?4f`UJt{{{wj42*L+>?{^um`}!=4=9l$DU`@xrV?b; z95Has8SKK$&gx~}0Avaj12pJAvF4J7z#;x?Mz^=YZH6Vt0L2ip1p>D@#)GaAyaN5k zk^hz}wa2OYJdV57-34W3Wx?qEGp*N2l~pi>e}UB&&izDIiur4iF_8&bx1WOF%?X2= zBPa3-=PxBhL{E*@E_}G1jUK_+&R*C0YwTOVZ+GX*{h_y6LM02^C zQvUQ+C+F9kMbC1xI}uKT^F3k0KdP&?Et3!v>xkJ<4H54XmCeSN3!M|=P>SesAe6-K z{ySLYQ=NfSPG0%LvZ%+GjFSGhLS{|6*Zte2MrTo1R}Pa}tECQrMPRVo6dN5*<3S#t zVeCjqRPe>o4ZU-V3LD^hiu?|&7aU}sT}7BU@|%zc>bI;3+eZW9^$CkNQH*4q41{u_ zs$yazqSCtWB=K3%E57M7qT6%hnl*adF>*Q|M*yH>wU@*@pc%;D*w^i(xzjrzYm5R+ z+-VP?_3GVDdT)k+f7^W|A)DX!{(hJY-xIdf_VIBPz(@!}p8TeUezQ4VU5xN?!GRww zc^*$YRmyarC$H}A?jSEy=TlQtI@$4C>+5?ZYijJPpUd}Oyl`5J2KEh8h@k*8Y^78Q{D35=Xa~JMffVyoDGX16c3u8L zx35Sjxf%ryWG?s4F5FzFT4_zi4<}f#Q^)%3?92s7gW0Zl-sp~Ji=SRxbON#`N2){; zapA&!RdaLW1adCEKmy6fs9J5T)!Tb(sPmIxP)1o9y512kU8JRIJr} zudLHezV~p_N)kZ3t;28=W^;AB5&fr6B$_xfJNt8XZm!;XS17vq3~;o>{VO5+;|Fwf zAArf(0Fo3IHGl2^anCkmWk^|Bas3g|5dIVlzEz~V0EF)t8j?~?Ur?*HB2pRd>x2FS z7tv++1Xvm9!DTly_;lX9bPdRHuh~JAs~iu&rwuyUPK$N6e}{(=W$**u;XSrz^cLH$uC)jEzp5DSAVJV11K9mXy4umS^~#UuPBKpT=iL&+hKXH7d#k9 zP}1N{k^0!?`=wj0!uN$Y^ttG3RGDDB=3U|7;RPU`{!`WFGY(fzH!Jq8O9n1Z4FLHn zYGXrB?0G4t(d2@$j~ZC^3}p7mzI+j`oX|BEYco!gBN35fVq|RF1M;j`kMWs!B1%|T zSnXF_4!dm!gDsYWd=~dh_Q{>w5%W|Br@8@G>NOVaKnA}0`cFAc>agMp+Vz#%kUfQP%ny5*oT@9b)Lng;G1W{IY*d z%;^wPR=`%uGF+cogI@UU+qbrJAbA~;2FgQ3fd-Kyg3wl=x{{I6lYYP}NW)izjb!HU zllGet%4*H{j3>v9IM$Eko5_x>UU?-gjJUoUvZpvh!T zEyKeV}36Hn3l<^rD!&Ba&8y!K@re7?(+AxNXLWuAZEf zI*>-h0m)Y^faIMfVqANk?Xxkt2N-i5Z2zkdT0k)d8JR#B-WOd1{{yC(viceZc`ny; zgXiNrJ;e5COT~G|z40$L^}y6Ge1**U2o}ZxPJVRMd{h-ApcVT^#BsQ9$Dtw9U3gr?F-+7k{oo|gQjff!Bi@neo zX{j>c@cqD!GS=v9EkaF!YL6Z=x!R_|@08^sF*78ryVKx$VMK4Yzqj{xIzBFLb=m#I zFgt!if++9GPIXr9tnzcjX%s$FQ0J;fZwr?GCHPepc6g9UuhGI8tKjFey}PA+nRk+e zHyi@tH=j}Of`WobX=zJ1NS393pE#to+gmk3(zans=lPP7lA=;TeOrL5XPH}hSqtnQ zSnkx$Z4C^xF76DAC(+p|97<$zrrf4+L9EpL)#f;4^%T1vcpdZ)}><5_|1tnWcJ z$@rD(0-+Zf3|aEW;j7LhU#??m55tg070-{Y9!cSVb%N>Z>yur%L?huvamtR!p0{9y zQMD&}x5J^A>iq_4~DBd5Z9#`cbhfwTxE{R4+xz!lP8 z(?d~x^&n1#Y7(`=8M9!r-n?4AKfEmTmWw+YC4h?#aDa#4kCiVRFIB0!r=97`d9@b5 z0aG*8O5j@=CL@xma`w^yc&W^ck?sV_aFUvIg-QCE)|I*wtF zxB@ZtG}WQxg@B$kuhY?akG0_kC*5pafGt3`M=H~siy5IX@x=-LjK@-4YU~hK(YnW! z7t|R9$NCkH3BPVG%GcFr@J3Hnu-)xwo59-du8ARg zPj@#wB%Rfg;HA>H$BVhfu#QRTaa6w9iR&_2#@ai`!^~s8ZUm_48Th0l!g)9M9+l}F zTBdo4%d+yBd!sk&`Kg9VO92kTVZV)@Ru!eb%!~b2r6BTsXmBtch0KVEt0#2- z!UCFB5?@d>M0&d7#m1;~C25%vm2)n94w1EDdH)`Uz;en~uw@vQ~ zYie-eBw@bf!NS5Ot!!O-VF0b)fc5k&-#~7A^8YjtmaUJ<*khL6KXrfl`VGgPqI<_u z(L>>9=W2wSR3g1^x|5AtddTZ$>e}>%5Bmpa?%%+Hyz&fyv|=KIKElf2#tufJa~tE! z7D_kc0eke8_OEmfEM#1oz(gOVKPk^fr2k-B5JB(g-5Fa{=0$iXDkUQ$X3?}o+qLF0 zI#wBG*=vg!pQ)Ewu9;bi5+)QZ+U>9CcY!b=Z(<)M4Eu#C<;gz!A=Lk%5W=zi1fPuX zhOwMl4d;^|CeDv7KXZJ=x)B*X`c2``WN2T&WZ1 z*fVQ789Tp|u(^52R&Hc+x3WJ>y%=;JP8%^km?@o!$|9YLk29HB@22|AHe$N-+j{?S zt@8#25@=mI*1C_@KiJma)^EU=B#8jV(5cRA(&#leo0OHyY@kt38D?Xt=kHgcn1nRD z%jDZ^5lrE$ygrj8zsB~pQQ4L?j4x8R;^0h~9WS<;!|PnV)%o%s`3HZ-VV$&&qSjlB z{%yyVKjr108?jbqL~s6gx4O0Icc&VKi*o&Qh^_sfuUGw3 zDM{YpNZ`Z4gIa)u_Fj=)pEoqpF$9GC3R`r70^wb5Qq4r;Q(VfGD)c(x$qOo0cig)) z4g6*t|1iM#RMn~Oc0{X!gIz3V=}E7GvF}r7>CtoCjrCO$oeK^thX}x2;KP`276M)p zC-|9|Z<6@o9QBZczJ1ayKbPfoA2%>IHs2l1)SEH*rlgbI8GF4RPKUIya}S_QW<#v+ zQLAIVS0Y;P8=0a3^k|3idl$ot988D;c~y&nPJEb-l7ebMt_+`&$p|q~VWAyog?sI_ z*DPdj;($3@Fb%fo5yxCn;XNT_R_gbyyv0PDu|=1PvNHKdBJJm_CN@pc5CoV^Ot@-* zR9*i7mY2_3UtiDQE_p00q|)sgB|Q|Za>7XVy|u+_mwby9-d)JX$TwQ0*Nvp>e7uO^ zn*}iAL`Clqz^~FUmQ@tAy`&;h)6Hn24Zpuv6^W@}TplA?hD@fPs!R!M>j$1vNu_bC z8V{#nq`wlcX`Xjm39nvJY)7bxvPpE!Mn%6TLe9;tA%tG$^CN&e;kPqA{C>DOt#`e> z+M6IJP+8OLh!q;7;WnYwgt$H3`O;-w!YZbf2Sv2yGtBG!w{VKEMF2ZlkeMl?6#<8T{0f#hi?pGhXwPv^n5tf(_M;!`Z0%2|+;)9oE~V7pv$ zfA6-nvl9+~3it*ASJDCJ-k1|;(%d^cJ3B=!t&;tHvm4b2w+&yMr=BWp2rJ%yhC0<& zSXL$rREuG^t-U`8*7CYjcGljpITZ3JH7#w*g?$%k2?L4<*@K6NKTdG=e7MFb&p*8^ zyWU%@x3_ADa#4bIg~<$RYlfV3P*i?TpltwxlwgY&+k1&2X>vi3%V$z{@-PMqYOq@;#;c3SWEK|oFDj~fgBZ=T`_Ppb=C^FPo1 zLtl+I%yiANbhl?e&mq$x`P%|+!ShI|iT1IHXU%4C!+A7!?MiHtuM)stI87Os*0{jn zijkl(F8(46i8S_wR2q-)zVTV(!oA}DJ#9Bwz1ZT(Rew(6(fDX7eg_RG5np9Ve{E=_ zXzQ=hQj@C!0EjStYg;YW$!!9R@pxg1WGYP>DHALRw#faHKhFdKA>rMzjbs&6i=a!@ ztjn+JaM~lFfRfufVWE|#!lDLRxA?tjUvxsmZM@gX7=W=IA8&1ykH`Lq&i(qF@0F0A z51m4udcqmf*XOzux^aPbbYA-4Acf3?BUQszuDKcUn^<+@G9|*<{)_nMmkf(?fXFShGaoE z7OdG%ovjR*k2YFg5S%{3S)-zXT71*nlW)@Uf_(`~6O>tPwh`=GVm(OA&CLVLt&^4c zprEmT%z%QGpG6q)cp-i=ReZ!eQ|WcTEb@lOgYA> z$s2L5|3N{fiB*nm=Hx!zUB%|5!RhnFb{q-)t7NP`Q*7bxg)AR1+494}kZ3d;6f2E} zFdx`$J#;6&rMk5E>*4F_0I_Z{P$#h$N}h%;5OwCJ%e@E0?$SqdZ~g$x{0PNVajG9q zX{Zm*LH0Zh_^@W=<1kcIufIUjjf*O}7C{p!Kh!c_3n9wtWMA6}FbjTUE!-x?I3W2d z`2tNSS#%~VL?mzp`}z5C3{LFyC5kOV$_~p^nbGkl-Pnc?D+k_&{j(K6#udU%y&mEM>#_yE@!tg4c02g!Q+b$0;4I@l%rhz37nT z?TPP6u-ICX=3>cO_IeT=qd|rruUmB-k6;7op5@l)yt1d4T4mX}q}EJLVIWc53ArXc zu@*o=N$8Q+$}2|1qZK%s!m8EyaeZUXOnB}#V_|v{dlH#VG0$$;MLE~+IVi|-NsxDg z(MU>w+LrpZF`oq>6VyfOK5|-xLGmNfyX(znUp%AR&2cfMLT-r8uuED#*2C_fXrV*? zajXzmpbn&ibU{^Bb+0`WM90OYUZuO*=Bvj;(1XRI)ff?hvQHN6J9UEwwsND0!ZW~{ zv+`}NRR1_+uAqR0hW*@q-~w(E9(x>dQ80OwX@H-RRAxwog~ov8Q_%L{`v4`Yh0Wfk zfS@AFoAxW?elPf=4wTU2jIj4=cjz=NpGQ|wWw8#<DUD z`dR}Ys6j{X@p}YLFC_Q1!1r|p4SR#V#O~A;sSKr=g@qEcHI@rPHpVFVK-o4{jZQlZ zY|%A5*u?;*t>2Pib;Sz0-n1ozl4baU!@v6C>n8-a;WLgOZBWwnf7ue<)86~^O<~0# ztWlC#l3qPrh+-X`$wWi@kIf7JKK*LTThAHG7iAGk;$eckvkN;P=kn5HUFjSDYST_- zoU9YSkrs=lPua|#ZY%;eGtE5E#RwAtvoRrLVsgqN7VE`P;6 z*hq!hC!NQ?B5=Dt+(UyE;sLAN2b6Awp%cm{I6?& z%f`L0&IQFQTt;J4IeNI_XJM0qDQuaFbPEJ|L2RaLb(FXZ^QeMvhQi*9XgK@l0kPhvgd&x}`_E0+@IN}@oX(e&ZJ>J->u8O~$n+udZH$ZpHM?l)qu zvcg0zX{f#-!aVF2dvRwqX)49!oC?#YtBaUDy#~u(v@Cxd;zD8`w~#!?k;HlTy_|%A zv!XB4pl-Fl!`P$>rrb|3TtFIQrl_K8!j>sKfL-YWUwX?mO3&XRU>{Bw3akt@ZDZsOMq zsg}eb&Jkp^J0oBzZzMnM?72&~hEafpv5Hn&-M@ejrJ%0SSlHMQS>tD>rxCjLZKagz zsMXZf=dw{lFx|6fPteKrS>q~i_DRdlEG$s2uC9EC4p>-N76(>>Km{siOX}3{@}YYA z9Qsk;ou#Ctd@tU;d*}N_%uniEjOd|BO-)V3$iUvBTdzAvwI^DKp~U^>m=a7%nx%px z1tIo+l7P&`%dk=zCyYh}S9x)=65-(iPe+m73cj|*BOIwtucyGC@S zj#>G-FJ92o?veA5kUT}e*&#k7y1`A-*CGgl<3@Ifk>`QzN%orh$>L<7GQo4q@W-KP0x04gB~CY*nc;(`Rh z*jQNL2{5z&UdV=qhJ?UAL8;*hAt9U)c*6hXh5x&Q?ZY!OGr!HuWKvF0UQvGh=M2N| zm{dJHJlwOr=6z)0|D5dwH>9qvu4cl{#^xn_7}Wo5Km{V_%)f+ zs9zV{EG@YpWwmv6Z5talk7pi8O47ac@Mr@Jd*AGA<_RahN;Tno_c~lAo}w-^zU14j zF+iW-JWKR)fJdcpIiBMa6du=^#Y*NRfPY>B0+1HASikjQ| z8@jr>%4G?O%b}l4a%9BCLyon^b2i7v_1+W72UhYMHOlK$A6G1Yjf{*eX=-AO7Gw4I za5L9J06qW}hZpjIIxFoL50A{tAje&a%vBDb6?bQMK$nhJ>2%QRF)zKxJN@iLS@X~R?pV7Idq)ap8@NX9Q{IUF-j7LMR2(#X9 zO{jP2-XhJQ(tVh2*#1)L9m-Bcv(WviE~?lB1Y$QmshTPmw&YtW&rqRsH&I;pJ z!@*vV*Tr>IIqGtDCscJ0_dBBF*bhWpsPy`D-&S?NF-2G{cfUh2@#`RR@juNz8*$^0 zZQod2KYso{ue$@oAX23rk0g69E`3Qa680N+X#Ru+iN=cE5_-xkvE)nqu{~n_la;!` zfQn9lo4SFbX%tBpmtS{J)H>3hTe_RxLE4@VqZN>gE7&^I?-@!zV}jJ2=_2IGcshDC z5m%;2c(0L}u~TCY1J9iBWzrG!DFK|ePS4IXRtd(J{8R7k#|2Wc7iA=wJ*scHh*4F% z8_?ZZG{0VDN_lj;yk7`J`E+e&4DtRd1=T6)zJoVI?rb6vt+u6%{7S>WUF?MH*?NY& z{m(>WL*`7xvOylQv7fr!;+0_5O^>oACTDjoVy1txWPmOGC2{zblF<}tfjrkQj+&`= zo}bPa2fzGeUy1JHdC)W#xvM$6;QXn^K?W8y=h!&q7I(ZVRa9=&p>i`%!a*PW2XRJ@ zc=%*1H0|ZaI<(7}mpP_;$As$MxVeBJmuEUlD3LbKc%ERaMk247@~d!OQ?Zx5>borC zT5_?HZyPV_rrlTjc3JxC2lI@!q~1t?w%^L-^^EfXZRjv#2>H9Oq@)E+1WL930>%2I zq4MH1okRS0DJbP&Y)CDw@7Lrf$GB`Ox)vw5q*chz)uyoNnOPyXdDz$(k??aOQszM7 zn?FJmh~;oX6WUdjVQhiKe~yiX;xY$DLzNNn@vIOzoWDo?fBHXV1UU8M|EKejM}P!t z3iN%AI~Ud0bGQE;4>@_y_rWX~ulZBQ>lQFLpt?$kZSUcNynFZV*KCu_$u}TuS*8sWq)%TCMfGFGNwFp#Xef)2(z>-%0){f(F4m!S6LN9Tu3h3s~ntZMq0M}bS ziSI=TfbUlxOfbi9cMb<#`%(2=hi%`V8UZ5C>o^bhM#=)8DQqWZWGs|R8PO9)z8sn? z?{$4O{Sh7w!i`(#Flg8axNbm2?53yyVE!_*SW|}ws2u|W12KR))bITIGd-*+QRu*a zY4N)1u!*>!nrQ5wTYPyHl0ag64X)e}HVpKoHj|YEKycdC`tH^TtXweg900tCJ1yY= zJ!lXhAv52(gWlp?T3QOEhE{c%$ACf2Q0=ujanB*}BS5(34gr<6LI|idLj+AbnIt4q zRt0CFr7v-7T{q$J@nrZ6l2iad!7R?kP)`>pk$QW8qQng3v+JB)F8l>eQqQcc@|Pb> zWaoJD4C>ld6SUbjuTqQI(E&jz;mU4(jq|F$7tkRFf6Mw!17HVvK$La7JkGIM<2CVM3sd$nf)%2otB+{( zzO)h|4?2~+0_x#Rqu($$ECMVfP?Ww0JWjX$6#{=bM<5?~y){J*P!;@@q)BrW8UbUJ z>i(Dzu#{Q=aKM~5;0-$hw2sz2TY!v`GGKHx_i2ES#q!$G$*$?oJnb$;s}lq35d_j2 z4u>~iVBVrI20iK`C%WU(v%1Q*&AA?;g%{u+oiK2TPf5FOPyw+bJUyKbV{o?a4S#hL zP&YVaZ4O?dV-voAQRmvYTxQS{9KqoDb_;yD^KTUj$`We8GGvEg>a)(~R1N9Wz~JC9 z&E|*q2!op2Q{Km0^k7~Er3hPeewXn)EA+`au-~qx#P~B0bwO2iaVi`ts%6$i#mPg; zL3e`CPnZ_#HM^?}oRB{)g}Bf@h=NoCe+zB*Tc@z^4)6v}$N|u>*7^`Z~u& zEKVOVG0di)eCHe?L<-5`HEK9rUAQ;?fSw1}&7K`AKl89&d-~@K9)64v?_Z@sE;wSD ze}O8nkT~?*;o`!*=u{JLX!F46m$ zu?ytQThAGe>1DsZ+yq}Gw9$^{>IH?4IW}tzcOWf zBEd7D-JOF;&ahZZ7Fo1o(7URi3xd~VaT$1~2b%6$XfAL*P7}4Yk-Y?<*-)M~M_MX) z?1=W&mgttnx0ab9LzCb+&9ZQ)V4lZ;M_fG>FD)zEq?ST&usA*H)l|VzvK_OBk@MI& z+a{=`0X=f^9X&o|sf%|3q!3RX(}|3GrXNs zZa6+7W^%3c30tfflJK;{<c7{fb_y$K@i=G+sv+0#UrU z7Q1mykVTw4_q(xmfGKpB!pL_6aBtil0&ff+{+<{O1qIk8u-y1Q-26ZDzrV-=De;X- z1I~@v!_DD92n}oqh0^o%l~-G>*`{Brpaf!12-Y*+xI#<^6qq)u@kSIn^^I zYY;nuiPlzDHiMZ`H=?WF{{D*jd6TM5%4@8dMS~$hutb_fns(V7Z%wlQCXR)_4KJpMMcGR7>+S@l0Vm2 z5f2({z!V~#2OAA_{nsyt<-Wcrb#JyaJ*L={HTC@8Tkd9NGW-zTEHmvQEUrJX`%qUm zS-uGrlAreqpI1Fu1}6h(L8`S84E>*$m)hmHbN=nMriJ|f) zEb*w9Csw9FwOYL@}aFc!+yaSb}oN==V>LSEGM0iDJQbUZfp`qdPRD;K; z&er<6@G@Xm-OrMfY1DlM$e9~4i772$Z|8;#SUDZolW%{>+4^4{WjtG z8e?qPpkL^1=NxC9*8h2AxOG?{Ao0#6)|T{#Sz#FFa~??9c;8R)@3e04$e|tYZpYry zwxr8LA3gUBwCtM@>^~Hp{4pQOd*<_|K_)mjIQ0(e?{9P;&2E3pq*lWjeYumn8d6)t zz~-}8JJaLX=97w2Tos}6>3h;5cLLn9TT@C4%o(Ff<#G{&_g~lFc8{(f<~I5HWEISm zeGL1$UP1s{W-l&yW5AWvYlUI!4^@t(C@2h`-&XR|yot&vDAyVY{lY}EGCghdUk3*| zq~l@_5okQc*vi8T(quRae}eo&zi&7RqY96QU9d6bNWhdp1qnfwyZHQZerx4ZCbGXd z0!FUA?1C4_0#XthNC&X|di8%lWY@{Zhri~eA6B70>@qF$PiA0pt(g!?*ZDViGhzLW zqW>?_&;Lp@C@5q&pB{4l$w|Hu(cE7AJI`{gvj$fSnmKH5W-}_v4vD!;?NwA1QJVS} z8FO*EJreW3w<08g9}@d<*NyHmOAOAmC>8#{|V-~jm^#eF5HB{1?l4A;=eg8SV~%2Unr%#p+Sl?ea0an^Bj10Q(=#$YubXzA92W0ccKRGNH9nrw(9|?}KW2)Kp1zO`QX6Df zb#4lnZQxqgh&(JvRen=;Il@Hb$gqSJL=8W8zQR$n?6K?a?D7B9+O9%P8^*FHJfigSzQ_NR6gHD!0@CZE}k>jRO@-FAVhudC0q?hiJsx^GoDY^_SHPR+7~ z=$4>ZcIG1xeLsux^GgQ?)Q=4SPmFBNY@ZNHU|CizNp2^$?3a_ic021FjKQ>7yxQB z08Cu7SX9KvbN8-G7XU9s#l>H#n3{e7Au!mpbM4^ZXJk~=Hk|cub|L45$ar6rfQE(k zIaqIl1p3NqomL>VU*Et$gx=@kWN6rdnvt>U=TDv4^+xyoPIGhfE2Ew`lp0f#Z-YLa z+$VHulk3;#Uww8^FVv9VlO4UhHX}iur6y(w@1c=bR7{mu)Pq6=Y-LXFrOv~{!pguZ zB*kvVu+h`f%gc-1Qu`X@Gg<})SFgpz#TU;PA2~ahK7JT^X>dH&@Pq4*= zC$uZaF1=I<__4QF3etyVwDTn)5fO;V_Ng7;`=YU`Xh)}KW-51f9PZu{2a=#gk(3^fpn5ET`DBK80v z{`p#4M~^H+XLuk$u-ynd1k_eqVJKYbv*)Ct(x zrFD)fEG|wv;<9wt?6rMsV`0$+@Hca8Y;5&Lk@u%B#5g#*?%%)vWD^jYJ$4t~ZE;TT zqh21I(S#pXTVtmOKv4rV5wFn`lapT=HF@8&=i}$U%gx<$a92`c6-=Czuqbg%x;oc~ zOf@NG-x93? zrM%wr=g)t&_cZOD*)CJmUvd(||CGyfjvd@=Y#p!T_JK86a21_@U;!u)b?mZBOSNdn zA2C7v5=JjSu8scB;OyJ8PI#TaPWZoqFB*5ThvV>w*ZY4$Axit2A9u0#f1&#DVZtca zzn>^ORLuXF@5&5$7MH(%c7C%cxycMfe9tuSIduOm@ZJ6?LMhQ+0I-Xv{s>-(S`64y67k#VnKaD1Qerj^D(@q{(Y*X$j+> zNW8=7VL@Z1P1!Xco)V0o(j^o{B1bJp&G$)OD85e{9{X5mDS*r9Bdf|vpLURZPrMLW z%#)O0t!`|_iVVa0 zx?f$?oE>jxP4VrD*_k5GdSM+U44cnULVFZTrvMY>E`)+7xP$vW2&uSVs{u`)m?IGM zmDTmwUINzi+PCZg3SOvYdPhE$XJg5W1^cPbC!sgo^`D(KrfL zGB=JX%${m#qQd~M%W-J|ZYw|Yb$Mn!IC79Ctv`6t=&1+%w1xm(rFH%5pnz#7{!0l^d4xVSL$;v{2pcH}uv`5}*A82s}ekAt*9=haOKEth>A7XQZ^}6gWDPLu% zToBBXMM5txPPKtVWfa(K$vb%Mrm+DG;xhpCLXxFCDiisQ3|WOB;LO7y;O^sXe*XJS zFR#qC1mrx^tF+N$W(*kw6bP*jIPC@Kp|u~qyG5x3))POSfiGNq#fvLiEBs|bMri~v zY7Dc@{A@XbNGURGNM(k6oCL@b{}B}QYE5&c1dlh z8+v)Nd*|^8SYs%BPGcjeW{;s-07{{?iHZX62(Z!!CF}t%BJyAIWCO4!fMW;1{n&f% z*m@jo;F^IIEJJ0D;mTkZe~;rP$Tizl?Q6e(eDQ(*z5Gwk$6GIAHklU%!SeMd?K!xA z3WoLppw?<*t7DV^R+FpWu#_63TQQFS;;0d1e9NIPA$dAi(%T zGbEgY6tgz8_Uec3GfKL>2M#g<_|4vKo8Uen2ML=zBI|#y*FZl%)-bf-%nCM4ChCZG z(Lz{_7GYgNT9D2nC*WEw8-4Kc(HOX%n^LE?qjD1jT&x^o+$U!fu) zAz?{P8W_l&tI7A$;>DiP#;V!9@B6nl>A%Ix*^lgzuDo5U+cA} zuK}3_vS%=V-P7mqS1Qz*jFwbzTQQpZ-@mD}QJ@Ikzk{Xv??qE&>EF?q^4`SxKV#^G znIWB^h;YHq|NVf{n{0&qGsnR|1plTWvn!MBCy#8`T7iX6uxGS;=Bl7JtK8R!?+q#M z$fT92Z!^BcNr`<--I)B9j^(T5pirDd3JbF`!{u6qRn@k%b(XVzu}8+W_Vt8EM#X5^ z(ZqV@>YL1pftpxWWi%eYgeS&q%CW4t2n>jj-jkBE(W@%T!yi`!THtMCwvt#}L@9a6 z0Z3HUIo=aZvMT@ltDml1$=T`tmuDbxYT!U_oK!(h(E~PkICzlHHkySn) z?6;t&SqDMgZGF{qruOQKlnu_!Ajf5H-K+$5*1(v4YH)`b)VcP9r_dIhxUT|bnSbya z0A`5^yn5e3Ac{U;jNZ5Q%bp5~suv!qA%a*Ek;gWxu&audu+T0K-(-9&9{J9E5L>q{ z0H&rGl%pKSK2l=x=!SjdVLRLCHBxE&+!}a?0UM}(5O-*-&H)$)DKl4_1cY2iDZNs_ zqr+Uo2ez|-O}aF3W6B6L63p2?Mf@*n%K^i?3uvg6qJ<^d_o$z}zX zPZb-0k6Yap@OAC%jHI^)z*!~85R;%5w_WOv87VbWEdYL8g`jg&c@5B|N#G3n;u7@J zzPaWa0Wgj*9Cy$dhya5I!Kfy|oeCcX9C0(yzG3m`5$-Yf#_CGl2fk}m`w31Wz_-KW za81{0zwNp{HYINAP5Q37M+gZN7x5CUpotIy?#})iXhP=slA{Kp%ndv*e`TT+N#~eC zgmwfzJ7OO=(AE;{fuL3ateY?=0BTk}T=;wxG?-M}SziSr#=sEoHCQIZtQeXB1; zxW)Tj7weq!kI!m~v~=jYz*5dgkhMfnXtI0$e(Dn(cK?789>RxtOqL8oSy{zTgT zViKgkGCXqb>i3yA4}bBr90C~56_^&!HLqu_tHyJZ)DV3Ej||rP2x{R@QJXPi`NjSA$A?pHU>H54H|@;N+B*Fzw^8*pR_Ab%?@ zczH)i5CttI15`5@XXJ-dstMfWP;c`YN$-o~Mv2Gh2q|MsCd^EZ`(9@vgCZ5D^I289 zt1l1StbafK`^@iAL6Lo{q%HT@O7v@-K0U_+aCQ+npTU@6lXrg&&tkf9rx2d1D-bv` z`v&_i02L>Ogmg9s1~EoDP(zF>hEthf<<;09m@UG9-aFOT)%0?N@qe=*gk zxEJyj%cwkq;_~s>@gI#2=33D2kU9guUQlnQfof?Gz}J@GnIjlJ&N{#R02*Gjsx`oM zmt}v^Qf%+u8H1ZBczQK35m5D|l+U6v7yBbJ9G8ncCAa@h&w4CKmbBMisMy)ZmNhWf zAt2~9R~3$hiP+Cb9&hG?ZZwULkEavAetE8x&(#GHRZJ*OMFVK?-}wgA(|vX`^o`eaG0&z(pAY3;^y`V&qdRKL@I@MyM8$h0bCF9c`;+( zshD`5WG30G9XTi%Yz^glr89{S6mXy4eQ-vJl`Lme<94- zwhQniY=#poZheudCi3k-hor~ZE_joqji#LE^%2eP@AWJDB{ZuTvynoVwM$@8AsU|F zM~DJH&yN27`u-y8YRm%r8w#z2CH4vW0E+YRrp}S8>K`i&_k^G&M^C(wO4T@A82}Png>abadgzu#RWIBs%}0q?za!- znh)lGxha7aWHc}lzJgPLU;mB@7jg3{$am}|H!uFZ%is{@zY~TBy!j{L{htoHdGUWs zl79c4{Uw+0pWm7NhV73Aq}Y3f@E4grs`sxX+OlfL#6{Dj;St{ZEU{V+5hfwECbZ1H ze#N52^u>V+vH zL5`q!`}QrvO-rHWrs1=2cDP>cx|#Z$QjNqNJR1h4c*u3z+~-vC%Z4nPbOO8@loO0!D^hZ&3g&oK6UC<{O>F_%_-TfDG8=*=q<3eTs0qd99OFb&d~t8DUu zW22UyhP&@|?q227IJc?JmGWULsT;}x=yKRS3=Y3x5E&9tZzKb^1cF~uz)*tffh*!S z!CD8Kce8dWwW#H)$zO^`iWXR_!&F4Qm;-s0A=>6iBYf0ipE@~C-s<%E`RCJlK z?Q5$;QVO0&u{XS`uYhy~`*b1J4nLfw=MV0`5FcyYyOrs~)6b&eo_zY0+4C+-2jTEW z|2sF!N79DS7_5pXj!m|cq8QlN0i*Nt^A0X9@4kHD0GhC82?)YtB36B_1j-ioyD+1R2_!brx>Ee#9#067R22TJNh>MG>bFhyvIXD(iCc%+wX;#m8eY{MXKKt|eeV}t{3Ex1L3qL^ zcIu~CNtCSj34dq{e6r$JFNkg4#N@0@LbJk z+g`k`I>oNw`8xCU`(cZ^DcPo;X*#Xsx2NNYvNNktOoL5%gey+2&3fr(&i>X zq|2K(rZe^K$&&6u{{H^Nq@)1=3AbJhVm-XaVXYWRH*U@2aI!N`1qe@&Vnf?-z?^O! z8KD4`gz$~l!gXuP@{Aw#-|=8EL4vi`=ZK>TN9PRc>vz#sY`B7ESIy>XxLbvvIk&=P zTVMp38^%tjcS483?Lz{>2nGg53A$N$*+&7+nQb)Nv!djp(IA z?Brfek$c{rCA|H%oIEXumZY?pVq4$p;trg|BR}>M57Cvpy-$qBJn20Q}ikmX@g7Ai=^zLU49!YinshQMh`o{Dc4M z@3f7963h*bmsock@16mSX>Mc^th|S2W(ZZV2ep8kh+ir2m_UWAo0u^388uFQf$rM; z0G=#3%<;@0*aZZLnVFgEMFCxjr+T^T(VDP%-$NKIr^2y^l&E}Ppe{k;oPuXzdz+{+ zcocwJfyKrAL`B+DZjrqQVU5IcPJrIX3PC^FDeHYCoBep#$j;|!@)-Ssi>@xY89Yb6 zg~c-?r{mZuvgM)W;=Dso_+f3!pyk;+eH`YR*c(=37e54RLu*%TX)F}%Eb-ytA&anZ zTn6`u77V6Z>l9g_RXI=Tpyi)M9t&1t|Ivf|ofQ?Xw#hmQTnn$buXLen!wNG+Iw}RDY8T z=Nf_*eqx0v6hZ<<7{5()Vty1!Cce#GP03qYlO2Lda%;UVUv1?L-x|2?izdTDeHZnvzS8rOJE;K9(k#rKQZVP2F&a?uOwj|2gSs4A+<_3)KjP|f(-AS z+*5wpKi5mfjfn^HN-)9dO;Tuu!+@$*3IGvU*o1Ts&CS_eH^%$`ozNF}r}*CrbV7au zz?c425LX~E;os4fz@fXnNuWI<%c%?EKqr`RB&4M1vB}9H0Lw82_2nETy*;2$0$*x_ z?CCu*HReEvhkvhxyd5;iZ(T$_%p@ftF)49cR%!3-gn{SUxD&320GQ=GD0RmwtSJ{3 z7agy!yn1Iv-VwK={vG&s9aQj+u8vM1FaU^y0{0ghK#5WO%+0}pT~kx@K5(}VgX?)m zM@M3l3An<5zxQj#0tr)G14KW!ojFwStT`-olL!baID%i%JPH9(D<&x^7_`^|mRkWT zYy!4o5C?D{ZLtraYm@_qB02{1GgC#_eTx8cr3TGH*C^0ClAMj}Unk63 zJULDD5y$;IpUEQh5zy~-fI$ha_2#+5`w3!%qxd$_iNe*pxoQiXt3&EUyIi?%y*?K5 zml3Twx8alu8xf-xStDTSJM>wN7Oc4oO;}rZcmK^x*$xJX5ln076A>$fKPwwy+j}5|L$B4S$FVjK#}CUS*DRv4NaY){u38NcnI#1@JIAgFP7~gPZ|wLl5>l(f#4E zS}!36Cp{idGB-#n7VPcFdeB?crzs(%l&F&?V%hqHin(tIN?vJ(XKM|9@Y_S z2&@~E>E~ySoU9l;DXv1lhV|^8zTp=T#$XaoL|yvfySkJ4EJ)*`x8zuJQwjolg|7hY zcpv!nAV^HI5|~Nig|?j2G=*k>;j{OR8#@Vy$GK$I^1Z|<;G;hlXwNX{IvLHx7v4jg z1`xhD6U>FzORgGh3RwicdIk9IjCv($K|y^g`c zW2t+!gP_EbkC^953B>GYmMUWo!FB;+?b+q!@ml6Ej?qAAk1A{>RmCj-PEffK#P2Y?iN^um(FyAQMNSZ6$eDMnOTyj zVxac>qplLaKNa#lSLb&$)C!F;Vl8p38(A-vtnj{kn>PAIElm;M@z?iHx5n(j_*fp% zCA*uniKlfKDPsyNklkxtap7B>i-yMd`l2MxCEr`rf5A&D^uv^9yTX~%lNVDcuHBIT zs@^7YcYj}4C3D#1G)nF8Q4s#T6X|E?Zs3?S{&QectbfS-iFq?n8TWU(^e`xl>=AJ= zv;HaNb6Ps!nusyFfrJrUk5JF1>03zz2@Wd0xT|Adc9Q7^_mYW7@FPy6H?Be+E?qAuAnizGC5Wf>kyPd)P+MDtnvf_>KqolGv|ej>3E?=U@$R$6fErIro55E_G3cGQGOwCj4|LUR<=X}%UPgO#{X6K z%G8BvN>XQhYEq5m0NWa}{-e01)qVa9g9*VXGxwj8sT?m16U|rayovckR?O*5PraLV z{Eqh|2Txa}WTYhr_Z!K0z;ZF{D|rVT)}e{OVGbO7TC{=N0S6+rK;j%V2oo7kP&SlA z4rgAAsRMp`9g^_m8mut&+&Lj+Jc_qq9biK<$+!@MrwC36ei9nEkTJ(LiJP;%(nZwT zM=*~Fgcd*N5b*RM!=&7v^Z%NEil&Uite?aKCx3+0?<^Y?6AG%2#3gf`d1oC#Q1lra zr$K-qE0Nl5RO7=!j@~{dC@?a$ivD~Y5A0B(mu%!kg^6~rmw2*`Ti#2$;!LVQi$qLX z9uDGM#x4%C507){zI(>721b902A|OZAM%Gb#EGG^QEJ{tiHb+9Kl(%>>zG08zZfyL ze~DsfncUI&V=>pRHvg0b3`~Rh85uaNEVZNOn^+`K5Bqx_Z#cz{!oR9Y45SSaBan#xIn_JZp~)_5yv;+dx7`v<++Qex8gG9hSqb5G zeI`{u>CVVEEL!j2gvX&8(M!Q2YmR7bYojceaF|26O-efK3eu6{lPCB~)rExw0G{mt zz1tgY3o9F2-sKAe17d1wTwt^QxDJqaPEJo-K$-%Tl%lF??_%dSPd|=8P4Kngn{HDV z^wfRp7;F)o!HOwJ(wJ@|TE(U;e{fGI;r~c42_qVwE2s&v9XN- z@3^Hgs|q>uN5K`vR#q{ zB0#XA#d9nCeo8kvoMkY}1YF5@K8(ZtXNzGPo#OFXsBDZ5gBh|~)0};6Ru6QZv+ug1 zGaZkzMa~yotZT4B01wCE%^Ra{iZ6S9{2&EfNKStK8^^b$w{PBv0o$TG=jA%UP&_(4 z9sl?C#s(ttuCOg&C=hdnMMf&x+3^Jh2Pe@y+V999maEBu3WjIQ;?>`C!uHd9W2UUx zAu$=$?5`(3IxzR)OfN9K!o-&F{RK{l?>ir7%*)HmUW$V9^74*EwBh9@&@-L~rOIPv zWj}-UwKe|_AMOAfuO)*9_SLYQ>GM z71>azFuW&|`M3~c{E6S60h%TeIrxLdEbhFty~kLfxvL8s=$*nUf$Tu&WpO+&`O)EF z-YBpLfP?kzp_-hSnAmAC?=SweMJY*1CSe^XLw$YjrmCM*sr+k!#694-F@YF&a_=RP z{Ia@Ie5@$*diC>r1C;o3rF3-p+@-PQGSqg~Yv#RD#NgfT&yJ^4a;~mNv3nIj#Uihu z&|fz)H5CrB%lK=)9M<#C43jc^e1xTBoN1%LZ7O?oolz`kB}{@j&`ALaOC~4gY56JU zzt}({S`uDbjNVeHJpI_i1C&@YSuPHkXTQAQ;{h5Yz@%JLY8ndjy{z{&S7;KOo7 z2Q!^#drj{TCWv=7?=AhBERiTI@r(ebdeY29<(zPq0x@+YBq-#Mw+h9>A5!8h)yy_M@Fv#?g#1X?ke6 zjoYZXls7%eC|a^=M-|&{i!0y%YDTJKxIkjr_%YWzAH&G-#bgUJ#_It37p#aC_mz+F zu_gWhJ;e}*b4RrWX!`pq;d0}^eX;%d^qX%BXv)6C#bK_+Epf7}VafIFMZ@*yWeMh; zm!{B@FtEd)k40e)>?Q72x!o-*Cx;XFH6uDYOgXvFe)U<}TLlYtq2Uy)k4DeDhA(H< zxBBXTyI&X2di)p)g+ApyX%I{6ul-n3679m&(c=PRTSOiSo@It5{D{E%+E?5>-mcPW zyYf3SCx?X#ayxXOeGSB?SD*uzITCmXj!;-yUPcxf+>WxRp!~37z*_odTNW~BM<$=H zp!bxd_cf8}!6g&q0_~FBV^9~?*Ta2~LJ)2M34JO$Wr5a~s5Ad%M`h~+r5iR!hYHJ3 z3>1k3thTN@QIf3{48+?N@837;Ar~5BCrDtrNp1!Z2m0TtiOhM&lL9U-k0v~%A5#m` ze73Wze%Y&1bZ6*QX9D86 zIE}VnHfoiCYa!<8yV_R{P+OtCT|K=NCN2(Tn+K{k5Z(*#6o2Lx^yI6C=6N2A zc6bAZD@#mD3Rh(YaQ*Qkt=C8w&n87WNi!skt+D@>GI~i!7hXzVXDn(q2XPd9Y-T78 zkEDBNdGgrc*FK@poq_w}!Qn%1R1xwY=5bVpPh2S44JugnoG`V7`X3%THH`UJiwNI- z0y(ke?l2mKy7dJRHZk3di$0Wm+h0{xb?Boqsl&9pwgpB9w&Qsus|Cm6dYsXR!{frC ztKg#$0Y!mpX{GvSJ-${*P}>s&2x%k!wPvgL<>9l9*(OGr>kDD9q0>=ws4j@(>nggE ze8|urZ1#*xK0<__c5wx0BM7;gV&UP%<_rExMr0qqj7mm<0Y631c_aN<`l$9Y$g?R6 zaq8S|VRlqCvmIj@_hIwuq9py&xuwnqovFXYG{{N#Uf;wE`CX4;gJm7X3BR+_ou zNxgIQ>0~^i@)j^%EiIN`l}Or5y?uPbPWqP<%%e`lChB8!ug9k`?^aa>PQDdmHD@bD zr~`-6768S9)^~d^e-pljh6WyPuYBE`^DECwz+-vn=2o5Bq(rTG7Xs4wjXCkSo$zKf zkl*i20V+lZSf8|*0#d0?@2$Z%K-&nSGD&8d^-*Bn{ZX*yd~p|&zu-90it-Zwpf$p1 z;QbVPLE-`|UQuB>vYQ|Ig6Q`h#XGxcH5UeJWZM98ZML=oQ0EhC1`n<=u;=KIxS};b zBxfiWcU9*uPJZjmCP;ks|L<_mdR_-zGBdvLAc z!)nHktXH?0sZWtph`H@fRtT2setX1}lwGbG@%<^n*kCiB4nPM=cBSa>_+%i?1;KxX zcXFRgh3qp>vMNxczk2;z1WG|e1CNd-F5=SVeWnJ1P;fp%X?KoD9z2`3)^X-5818xf zBKsp}d(XI=XB)d2Zo?Uq&$x<#44uEq^VD0TPvRDwuN4kqlaYazoA=urhH3Tk@?79= z0QiKpoH5##!1Js;vSGn()3p2uW_J8ZrI**QOU73>7y+fkv$=1lV8!PkfM@)6ItK4! za!-rdGdJ=eK4hzf;7)K8dLA`fJ`KSTr})5|Y7J190sGwM&Xt5`h9>B9J5+{bz~14; zj=F`R7>Jk>^Zee>-#i^&q2wGExBN~0hYlWUi*UaR6fKyX(`n^eT3R*!9rNi|Z6nWG zMs9GYS;P=40=ItDqb=EV$s@uB#qU4i_p$4Hq@(epqE2 zh~I&v3)pbnzL=yNS!|;LZRTLWtJdV>lxS&bF&_UK$5GRNtPtwV%IcEHeD$IeHLQcB zhbt|;*Gz;arO3U0x`xwpN=8cR1>nC#bxAY@-s$hBmyoej+)A`%BCo7nXmv4poEx2g z(Qt0eAVB5Ti~jq?bad(V!;F_#{bIB2fX+7u0C_+K3-e@TWaI@~q<+*p0=Crwhk(0a zicc+s5ncuOm2z5Ix046wZ?rETZU}{M-gJdi3%BnA8cG{j9=3>IeS1V?^6kAWP1mc< zj-IXF*Y_*&H@s45F&?a7&$K7>rOn00KYd36Je~7cd=9YXKJ@=eJXqxfufq6LYnw|369~}oJDCsW z5^y!6J6mv=y;)HbEwp3mAU|f<-6$@d9ngT6~ZU%zY1}ep^$-25bFVJMg ze0U-=`E~adC?e!GPkU@<2tcnugW1G(qTJ+;@f&U`U^Ui-ZwL2T%sviQ7Du zSa2|)zvA<-N+;*(QB@mz&b9<^^Irlp=RFh?3ronYEZFb77OgJ(p|peW-MbM|?4A+4 z7AO{iz_ol~x9U?zBiMt4E(aEsaADWZnXJ~(m^O^hfG)bLegFzIvFc!cqF{)0_((YMfxoQgZzkN@&d$tfoc4H2- zU<>FDC*Jb)g^AwMjB1WoVl!^&@wSB6fYm-dgDw&=G!X`<)Ux@%vEKHhDHfL_d+>^s z3Q-h!vG?%$1)iZX79$q|mNmcq?&W5swdWjI=B;ltem9a?JhkFr2(({%p-;jjKU>q? zp<(@es$e-?d#`G^nLq6&T`9pjaFO+b9$=5WmV0_g&|WVtCVEtg8q_QL-9~=$WW?9L z(yPtOU?7aYF$7%0*fPICH8EZOd^#Ip)lOu_X&k$n9KdRIo?uaKC&V?bvp^&xmp70L z)~l(0$=B?`vPtLFv8g%oW6p{aIWNZ(%K9AjL&!adAj=o>-W0D=EAE0 zj6^PPygaRL-R(wSC7GRZ$nJwTd2nYs)P;%zV9~u;vzmD)UF(tG?emlKb5lSOq5_@E zViJY=Wl@tCPK572oB*z>Q$5(2ZewV{qv{w%?IuVsm-LA>`^WSao;Z+`VPsV?381;2 zGV+$?Y|C)#ioxn9Vc=HTHxUJ2iHr7bg0++6;ZN;)+R_I>ZyYaJg!^xq{LFo7WyI0s z_BR+OOqZz3+hC-g-wS3g)z59keKaw8X{~nVd})&Cs|%cdb_IPl^%T@ z_)7qBG@XO#6X2H&gpiLCnk@jH%FXiFqmWaF4sYrFeQwExT?n}mI=X1^u2o`LB&P>&3=A?H(v)AI= zBSn}_e7>~|6O-=`2hLIWHu?i$@#!GTBR;Wi0&)Ha}F7dWK zhJB<$oa0^OjSx7h7`ja!K*=%TnVuRrxC(Pne5OO@TGm4mw@ zxZSEc;Kfq2-i(F^fJB4g z*ejZ+XX%43v8d1p+!o3>N*2D5_l=TW;YGKxr&IME*);p20%fa6ZyiQhR zmeMqS3q>KL=}8?7Ix`pto0CZ{5Nppbuf5KGe}S*2I5v_OJKEk%DBbnxo~{BO0dqYG z^DUI_gMRYdQZ$3c$y+hkNxoY6M8vB@c%n=j2@92FoLdV9D0iR36XbLFkqZLR^jFtM z!7a1C=2`dJBBSa1JiZwlyFw6FQrMH5px0IM1s)ey;oXm41n;^_tU|tD(95L?H>JWJ z|IjfnXIC~g)M#Fo((v5MFo~Gw-tPYq9RuS0I6Ey3F@uL7?TbmsoIMBm8-L{54(4;8 zXwP>M7jahnDBwPXy`k(CV~-)z8pi0mFIM8|x{feri4&bauktR=74Tw^VkMF2N31xq!OPpyRUHJFJd*v`%UB!w$LL3_6bPcVgioI38#l4hN_QtTTRL5ge zY@AK5ypjCLIAkqehU_Iun8&i{0fP{8ER2GoRXnb99NoTsJA1Y`R4DSajnQ{stnPS0 zYz!&Jpt)weJEsIg11vUf!E<(zjWYajxQP4c2BXm^#Y!U4mss)6UytxH56*~{=nc9b zxYKg)#Y%lVPUkbBzMhSkKMh3un2(S$X)*}6WBLui`Kf-0JrhB>xcxX8qwj%OIeizC za3v4H=L!*g_B!HI@|dSLIOjl$l|-T+u@Vo;2?V#W4RQajFyl~dJk2;ONy0i#Y)Cw z?PIhQtKS)%b0Eb^BGHFf@%eWY3krrF;d^HtNU@S)^?<}^?Zt}!Zh$XzBl&U+)m85o9M=~C3iz=z|_4U1@Sn0kYlt?5Ji9{lCLaL-#NhA`9L?V&6NUE5Y zVkMDCBoc{4;tHt(AjL`|kw_#GiKGrvCFfZEuU$Jv0RRMIAo%}ZOB#yt@nM3s#d06-zCDjTcF2LJ#* wq@7-21pvUp468f<0I+bwDkm2J0QS;U2Ul&FvOE&OK>z>%07*qoM6N<$f*xb9qyPW_ literal 0 HcmV?d00001 diff --git a/doc/nb/nb_notification_settings.png b/doc/nb/nb_notification_settings.png new file mode 100644 index 0000000000000000000000000000000000000000..d6af5fb0106e5f3a0b4b4667dae46db536452a65 GIT binary patch literal 54802 zcmce+RahKR(>0m|g1fuBJA)Hk2M-V|xVw9BcXxMphv328-Q6wt8S?(0{8#5(orj*M zo1W?2dzb85tExief#NVYFrPksf|ryKQT+7j3lQ`%hk^jz!2sadfKJdh66*G#v&6rT z*pN9t=mJ7dT3qDQ`^R5)M^W6TPjhvWBHxrj@CeHD-gi#I>PjH8IAh%kRKlg9?9G>}Ke4gjMnmI)1qq0&b( zkT*c_bnBw+ue7XSr9Qw|7=Ql$N^?-YrT(mCo^(>u@Id^X^lE8#?k85DF6b~QumAS- zoRaoG|6yUz@s<=0ZT)2KWr718c|nW|BCt34I7P1R*32JwdYM>iZEIH&yFV^Rt;0>t zC-ie?t`GyBG_gzs4SXZZkgKlN^ORXYjIF^(?Pkr)%3$ zGa(+vzvG~#_ZUhl;gA{j(no7zW+AMrz@9s<*?sxY|Rh;*aCNU9lXNk%oI2#j}g(pf5Vj5c|V@1vHj9DZ*S?|yaSuY5m zyC=X}#}dF&Hm>;U6|o=i`nfgRTl{p{8mYq+R?n{&2{$eD zvd~C6HY(AJI{e{VE z3b}u5&ZJiBxFtk^XD*lr%nyB z;S=sFx4-aGW|?{AjY?;7*1bvw>m~g%Nh8@*<;TA}h7sVXQyaz@tC!z75()l@9_;`X zoOB+oZSU;mCjp&Ph9*acy=k1Jl*I7KCn=JS`zA^}!j2FP4OjiKKTYv;MG_&Tv&7?y z{F25GHB~upvpdQN&(^@IS17JI1M7kA!iu7qh~_KIhBX2MJmA}95voihXRXUdJ-I|O zI_?CGxQssAZuelL+Jt`bJhF#p-Vv%W)Xu58U98gSYAU=(82Wg@Zl6N!j~s8c>MwAy z22d_E>+G)uioEH+|6Lby^~4-YX&$6WU|s;<&AXklcX&Y9PCL_Mu;DI&K&$-b3^zs& z@?QZsrSF0IuQ6Zff3W7{Qs;4?I4fNDJh_$vQ}dMGLb*EUt%^1@lxLadG2)u)fP`0zECcv82W~bdSkFRA)kBmRI~Wl1EyL|=OEgdO zEd>?0y`e|hP%8CT&_uNU+d=6MeM$zQc2O^GC8V%bGt!AD_mk7HPKEP83C)FAnq#r14i9u zIqrUn%cFPzDf~!?Z$94#Vfyxv5@}D3{GMslwvD|%@m#SmVZaX5eIw5Hrd@zsOTc1A zy;VmgH3TU{Q10BgHPeAE6)}gh-Zd3RhXZKeWGG2?wh}Z@Na1p^5oNyw|EB`12lkik zx8IbNz14PJ2xYEOHA@c^r{B}#*=6#qZm}QPsc5`Ir;oqqQ>SSySHMJ=y3&*5CjIa~ zI$W1?0|2ea?>GP#{r82cYAEAknbvyL@ zFgwtRUv!~79{%^#4lk7xzNDbNJ7ekbN`J^CqBiEYE$rl9oo~c-_N}Vxxz6+!oRl<$ zl&CQwUxz#9%E$L+_jE(2yuYrknU&wjehzrJ!gYu>vS6Ur0mUO`; zq0%Cj)HWUDKdgNU(%*Q>h~^S{gow1jY9Gw6m#WOl_vYTFd=;B`-KR!}P{=!9>Wp#p z_ba!|-?w5WsQ{IUa2!fqF$}^yZb|)@Tp|T+#hFU8QQNLa{BH|Lo&}!_+3B+Z3G(4f zX;onEErqDWj*-SKYrpZLWE|<&gu_a*1V>Yh6P+^9 zduM$a@jR;a9$anpl(pVrE!HZ{Rwf-o-bQ#Qey@`&GqbJ#UEM-*dk%_kb#o&$+f6;{ z02Hi4-qG_>eV5_v9{@}0gI1Ol_4{KuO(MWDXLP`3EFHS;$WUq~F77Pg(R)+vA-BqN zf)n?Hbo7UmHoEpb{8Vy}KRg_Eru2%=L4+=rk<6proq97KJ)6G)3tT-ZC`zFz>a=K2 z*E#UJ^(gcIFxW9@(xUt}P*T!@&ClN%+!`PGIMw^Nj`8w2!usdl>esSI$G-+v$OBx) z`YAKo>b-2o5Vsx1aALk3qiGMvb7L<~ON>}}B*F=iVMi+4{o8AU_DnPE+GklBnv?`! zU;Q`wuKZz^d1Y}ZpDa!?bG;_0%h7RyNNO){RG1@!O{Eb-9<)+dbo87}FkVO>LW(YX*hF5WD^`dLRQ}yh?9`;GDh$Um?)V!fsXzus}jdbJGX0oa9U#I0YRXv_O z`vLeO4xy7MVrHu^U{qC>kfQS$;>uOKvu59cuug`Xq8sKNC#wS4@lAI>%e;9R3X+5m zF_lAF9Ixj~9#-~lA*;1*~dyF zquGNTkz0$}YJ)*sZBeE9u~7f~n(EjZV|nb=RZd`;+pP~GQ){-^YCqC_Iz~g87KqTQ zgFtls13F=5p!ELTNf;1Ho7xwmBB??PL;GWl6{sK3j>^e;W zH(2&Yyo<)y9d77z3pMWFc*M>5F59;o#7Pvh%j-`PJ#75!u^9=Fr7}hMOC3Ix^^}#g#(JEH2p+#XK~n zYKj}$@Wws&M~(5adnw-R?rIG)EUMeqI&g{0HDF_*4dXL1*DV2oX|N90JnxyHuz8VQ zb7V+M$6fYUG+54zd{pu)DElLyFMd1AmYDV+NXl9$^Sp(p8I^!#Kz3M%EHN0JY4&}V zW#%qlzr^E~FEef!elJgy1ITkjrl(pZChg8ME+W=5aluq;A1be+5SdyEvAc2R!(ff{ z5W125bfv+@)+yrXh#wmlhlGR##RF+Q%>=tF(`R&)nQP(EiS>{nkb=J)ue`&mzedg- zf^?A^uCy#;#|_-OT~#;}m?1|%#lX+ukXj*f;}kus!Vco#J~M7$sA?uy>W^5&O@~8# zA2G2y5wp|}DrGj@Gxa#flDL4FD)D8RS9lV|vb-EG=G+PMJ6W|*O*%wd#sa}REbB*YBJ$#hS;W~09lR%x5|Z<<8ER&ehX2%0W{nhG z47X>J3mZ5Aop|ivDsOhti{jm9qSy|RGhF=tJ_>o~2spPP?BMsmQg}_7oWuYZEG#rj zjj;l;l@2jSaebxXbJ+0)mSZBn@x>9J#El=`#MnmpDv#I)EQ3@Q&K{TilV!ytw+|@ivRiZ=l9W!?qY*EVIrOFpg(lv->^FpkUU$l zmSrrO^7WUOVf9$k&oav`3Pb8!6!Ba5-1>-zI~6;XuwP|f*4|8|(g2GVGWi$VwnM78 zBHpHWV<1@)6{5jcXgMqs0rhE4csAQ_%4@$t$ZOc9>g}M2rxpKYc(Rr)fM(CJY_)1! zf%jYHAh`f%0S|?ZjH%C`$on(Xrz!2WPx?@>T3FFWH7^<7#y42Z-%zBpHRUm?c#b?Z z?zg;_dobaUSN8DvH8che&a|l*hWTk&wwgOT<;K3b-)EOQ)_^51`bLrBI7U`32lYNcw8MJ8e~-QCFzb7k>!A@u;!M}H|BI*` zK=%ul4?=Z=t5JXk+c;q+oMJy=e`#BbY z7_wz12UiFv)H)-1K$PLPDo*KH5chWe>@J-pg}pppZ7X{G@ZIzH%qx=d;`u(#O@Mb| zg`TtxISln5TZQ}oe*S;?<>(nD5E>eKvD1_1-^imCa9kr3G(e%$>FH_ET0w`Ep+E1d z<~CVAH7O|=Bq9MGuybNpbKLOb+t#jV_sO@y=Vc2HyQD0g^uz3Q;DODxC&hss!^e1V zFB6Yr_Zh#pq7R3x{Z)_Rsyq=Cf#CshN0d1owEeIWjy~g~&qB#jnZ!@0Ae20C%XzAM@OS4WS z-2bqaQJb|cYiZkDFch{FOMtqWU+HMzR0%^k!^NOQ1o{pm&!s^ldWkA-$y!AADX!6U zS3*`+)bX*Iva&K%xL97#-N^!^5TJy;HGk>E-QD&^`v3Pu>Z`5QqHAObqj{4A6TTQ=kH*miUI?t-keRHcL`pQe8p zpE)y96$+SuUtIk~3>Iy8i~)=LS$_H4zp_6v)(AHgx1w3m`kSs+6B3?W%Nhq}Yx(P8 z^`BaOuu-S%n%(8_qcQog^d6fCCFR$GXi_bbP0c{VYo@`k@$|z)-Mq1KuZjs zTJ|6L#$`FISP4F*bNj?JKfdN2;av6p$KntU-|XB&|X4#B$ETj1qAqVeK;esl$DRYh+|-NR6qtbiD^~_{-#Uy6Cgk=B$6Q z-r)y@fG{wg!E@CONtoT$MX0N*Yh@o2p+mNL0sxC;m?u&&7iuqrI5QymI=`#G4h=pf) zC3{9o)XNIt+CVBaY;sjCioXbdTpJh9t}{rJ7)U1D|HNWoctAwW2ippRs>y)Kwk$0n zGbHHTBx_|Y{AUVva#z#$>IeH4M^g4T9;Z_^#Jyg>KX`6DARpXM6mjtpw~Zw`N}>d= zt*ycI-|@LHc0%gsKHDa>BHs8#EMn^XvaXY=X3asX!msKX8I(!JoboSH=7Zu_6@3L~ z(_kY~65Mvs>O^|pgjsLAgs^`N}yHMyE~rq|2bExa(QzjEGYOZ*8b(MZBt8s z!9w-vj4~dVMricK-{bPn*k9qRxzhj8TJ{mEKnrcd<-Q$qfvu~#V^mn4o!bR$YPQ&Y zy>o1^i6Oh=wyh|@Q4m%5OYx3tLR-(|oO;xYv2e%JeU&VY%NMMrrWX9?j|4abgkB3> z!bl>0Zz8=05&;21#dm4*-q{JI^G~)cB%~)OW@f3`DQBxC3Udi+G29M@6>3?j63jUbQn3S;;-Hc-Chd&QDL!#KfOPEo) zWL)%C7L%ZWDd;RshCi^&y3p6*R~4u;a}WEb=&)tyD3}UU@=?VR*_y@KzwMkgA$y+V zJ$>?cdOUD>y<51N*RY1)9^>2~D^X-{F)=A#S@qn|?hAsvL9(g;^f`xR5T-`K>$PSy zaYu9!uk;k1gJ5XT-Mi~o(#yE+aIOg+SDs@MEqGCJF;asgyv;qB&1af5bqODoe0Y?X z?UzYwNba`QNd{P;l2Y7K=+} zl{UHLl^PHQU_6c|lgW#XN(s#0K|dP^$Ig@3x;>h?TGWr4GNySlG&0g#t~Z5&#bm&< zqiDc&d0Ss!Pi8TMF&ax1otSYw6>z&X8O;(PloNPmYsj+$8L818{`9mKumFLWalc!puQsdH=f`UGz*WX#?^35Kueebn&lg+tB z$R@m?)*++3Km5$o#gVg`f*XRgiFVr`y@q!4&^EWAL6(1Si3Jr9u7ttD!a;Dan*&0q~uow zJUC&uMhw+k?s!#I6f1jZly;tr_P9PHA~F&(#@vjmDn>;mrK1LxMNbcp!@nh6*Mms7 zxYCZpa4V>Cyu?paSOCZ4`0M434e#QVTrCw9^z+sehSH)3vg~>|-gtcy(>(5fVn^1t zA+<%RWlPoo#dh$+LRkxmg(Gw8y=xrocLBBk^05z;xAa97|AVj!7n`| zG)2~Z@WW(mI1zTA3Ef|8!=tV3^28$hR$XtZxtNenzI24|VU>M+ zWb#5bynC^xGZsofAi}H}du(j1&D)D>-{4@J%oH5{5ZX{69q-*oY~gMj`$IdKS2*PB zHb>Ho;F80&fQY}wfOSI>joXGm{`8%U!VDS12_vQ`S3%vJ1mpxlieBaI?d^EZtG0uJ zH6&cQ`rnr$aM-18qjM7 z69}F+>?inUvp|vh(G*GBW`z$ANGZt4AY^UUJ46TOg*y#>1WqLS2{DlCvZWQhVGKW4 zODgVbSKFrouU%t&sL=9UJMN`#Dc~Wf6^{J3lfqccdf?|B585)fSKVFXDSqBDt^+H$ zhypK6=Uwk!twXW4)3IT8TaoxY`y9>#p%OA0wgfXTv0H64=$&OVn{5>M=8>9TEx)U$ z7yc#Jy&iUu@e)9fOQfVlVYf9UdGmCyUD3R%Xq^_KgJ=HsV?C(m?RRY46xMryf15x; z^?e`j&pWWgS4QahO>bch@uYwIkA+wr9hrnfTu};Q>GNsbM09$(jA5vRFC||-9VYmrra~2XMPTXzg_#*{Nzue;t3gwvEcp9g5@hb?(Cuc!y zeQnABOetM}o#3RdY`OQzNIUs@b07O&3~AE=oqwu3F&g!^Y&yb43*|t~uUc|Hm3&Uc zZ_(W^kWPvZW7F*cUv=K_!~$iT`Qmcv9%Qbsa*UNsumgrAE90??Fm*hT+1c62fL8V! zut2{kI_Wso0^Q+MIGMW%--{pY^LR61*hR*#hB;468kG~VD??xQl3*?pO4RNQQ`a zI!*5^z9;0xs1=u58!O%p>zrbvS z)lcY~caD_v7Yo6t9SRg7s0mZO-SwJ66PcswTyeX>iRvbD7YWzKnXY0fF{wPx3`1Y( z=UT?#`O;vm-yPJGXaC-L>-;W<$Go~8kY2=6M_9J#@Jy~FMrE`f?uNy!clmC`y5~nH z6K{BIAe8wbLN}BmR7b2D0xV1@I;H*|N)e1APZW-fOhgN}Pxt63tq5H{``@oBxT9K> z*B2IwUZ4)e2|Yy+dz3P!jTb7l*zAR*9oecS@_F|{u_-+hkORowcF|{Zh-lGdTVSV@ z+fgxkzo7Lo3c093_%?d^{EfevRK@D=-8#1m@%8-@3m3JA$*A3Tx>P3_EU9U7Z}F3- z>Gd#$0SA+8;-dX#T-I=!lgYFslHf}bGa4!?>+IVH9g%}v)3E~akpklG_gd$39ffpb zya~kD63gX{C(K=}ypTD8-nq4E{*v+Uv<(6_wj?#@%9`3&QXNX!2?g@ zeJc&f#6F4Zc&lFA)V99~UQmo!hewM_hXG6>6J3{P1Bsg+IA3xa;~i5uK>CB9o9d4_ zFa6PML##E~hc6d~$yitrT_hTY5d)YKjcAhZY{$484OzWk@z$ z7+K=3KRfod{QJD1?GL&81_o$y8X0z`p#>=s>5oW&8<2)#4&3;jjBE=BG21kRzfxjM z1@-hO?jM7Qk5|d_&Gl`*<9{aXstXRE7Q#pQYNj zPod%ErY>h{^aqh}aA@wsf`fmFK_pDI*hSg(a#o(Idm1W4*CP?&91!%2X96?FKdWi*1kB2yn~5`P^%v;p_}5AqEcmxq32RC@bBEC)&dtqg z*w!^;#cb$ACk9B!jEU$?)1O}PMSj_#KV)UGWqA6srXc=2>^%2>#6a0S1#3b;Lr(~4 z_B?^EJOlj>=*r}8yX%ipUL`cI>K$|dGLv$#4^y!dCalmm& z2c;-++(|PuO1vEisim0vhvt>2Up@;)d@=+{bIR0~T>-K}Sv-r;yo$sMCaC!%x5J7$ zdAHYsN{J&xs%|Ugsf5eRj;>Z-`PS?ZEbo=C_FgAEJUmFFZ3R?qB9rz` zP>;X-0|KDAxILfPzNJuNyS>8jfeou`k`J)JwhPxG;~58V=U^A1u8{r6ndcy-szhj; z*v&1j-_LoHuH9~h`WzcHWyHh~vP9ZXp2(>4)(jZ7$QTSu?ZQftFyavJ9!b6#ywGEX9&y~x2SrHtTvIi3o{tiO>PuLG zDJ3T(_MBYlfy+kmCCPY6JO2_I_T<3pWaNevcyUhu!T+%WT~n(8 ze9|5mn!g?%$aY5Z7OG{@886{ve&b{rc-XORti9&7NXhk-zZ-s#9<_9}bfaJFLDDtD z&nyULb_z?AQP-_ND(cE3-zIJ_+D@QN8$dylc`1i8f@sa6cP{r^y42BtII*l6vPpj% zq}e58meh+=5;mhHW4AR2=I2lU$w_VZZQt&ee^1csuN-MMG7)kVZbB;Hk?lCdt#X%Visze0k-__6BcWU=5sS;91T$RBD4yOyr+syUVVv zN$U^!SfH(*Z7TM6*TJn7^SQ|bPLe$%)L6KPLkiT-Oxzqk2Eu%nnEB{z-4`o*YPqYLq4)0eScJIUi^cFxD@6Zmx*iUHDLC+CdbzaF*_1>M zOJhte0>=0Qw@clj77~T+D}Gc)$&?SUSmS@kqjD+(Ow9}&v2!ppGXrckKQ&sdh0<#@ z{@&Oi1f_|xooA|KKRpcwZK$!ZfQQp;5 z1-<~oBk^OEiqh`+Kr7wol~DITCPNU5_*(y$4M3O{iCdkLh=M$X!M2Jk;(h_u`h50R zq*SAo6Sm5tGcbw6jM=zXWi%$y{JyAJHvLc}M;~a1hK^1Si;_Xs($W$f87ZcziC3x9 z1*9BhB?hvO2?JhqXzfPakuugx%i|*Ns2T%QzO`8Pe~VjuXY70@G+$_9FOC%%akIvH zC}^Z?h_J)&uc?QJoetL`gJ4*R5saQ(qdF6M^-TNISk7lArr!pS8YieN8ntLGY{M0v z=vC4oJ6nRfdymy9mz~{;IhH|MPiX1=)1siBN`R-*8{Pp7#O#hWF zgRU8&ZLa zELQf1>;^}syxaiR&Res9kx}Nhxz~3sKWaKJAYqqV&+6U~IeVGtfOU%LUQP56RhH8I z<|{MRKgGE*JY2zG+gUapE8&y_$!$}+w4z)yv6CM}xwV&4DaelZybFFh3Z|~~ncCT* zBr)n>_|8sE`IMK_DPW?Z`PbL8EmPzlZ}*2Co}AdX0m#>m1*L3@c;Oa!*aCk^-(71( z=tofj$$rM)Wsjm8x5whlxnpodN$T)k;$*jFb}fg zpG4)i%BG(>@pRM$%^xk!K$B*%u@R^HOI3W&Yi&)Xh-p(vPb6dt(Jim^VO~9{L1nuY z7B;%(XKNQ-!WncDZSZucQMID{j4W)a3inX+;11hPQhG$fD4nbb_vTuge*B?78#H8` zSVfq=ji}XuKJd*g<9tWgv_Y@Dx)vcseD@A4gt$F$T)AK`{jsf;;jEzikw>S6SC7dn z1(uB2t9GjYxTsXM(L4O;QVKD&5(0*2Mi8gR^;M$vXAga|Z~YwHkpj;KTNR!Ge>)~* z>EiEG-c>lX6AjGle-?r?XJP`iv$IpJMz`4E&dJNiR{~5&8jK<=8rou07NyoGB7uT}R32QHNy0)2JFCi|!NwFl6ZhT8tm&mfiVxl{$^f*v|_>BdfWuIb0ps^Hq zPLRLz?F;!l>Ft_gM@tq{%nb(*mzd8KNADZJV#;{LJ&Kixx`pT+mFxdw&v0lZVnpsDX)Mc`=<} zw$2&AqPzd?HmVyfvInxV?>7G-KMP|tRaj6$Hzj1p1YFu^g5A8qzl!AZ=(6lcX$=pj2jr$tLZ zaHTkkETGb$$JAnwV`IYvJ#Lpa4FWlCjbg#mt5gxMmpkONmf#jHlF#JX@Bdon)L+2w zUn=4^VQ47{meVoT(1f`^opBN>)icN?T1I|?08fQ0ZXS`QB!Zny3CV$@Vy z?i$%#bTdm<-|ge-XBmd?PuQ#Pu{sL@wen;@I@u3&7ls-(Gqcm1N8w@L2({tAFX-7R zae2WC;Sz+d+b}Hg+^msKfRRY?fqp=N@*hmV!YDcrOmDW?>Ind)A~iGZbZwsq-Hi!Q z=NblW%^&I;U-N3%E$0fqBWq5!wyRD(k<`@hVb@z~Yv7oDD^n9aR-`2fOXXh(JXTtY zNBKMx|GOG44eE=cAePt?vO&ssQ8XmYz!>bVi#OotnEzxLuV)9_3;)niKwCQ3!>av( zmz|gMIJV3zhxR~D7VOm-;*auWWXkE(3~0Tzuf6ESZ~+?xRR8*6KNbh3->A0f%>=*F zb1gqN8xRV+@H0coY^9o*3idhgMj4ZmM8#StwG%hRP^>SjB?PSG%;t6KmnaYJCYD-Q zlV>TDqbK%2#k_9*Ahtv`;A7YiK_f=?+hLyEo5jRi3(6|BAr)}GWcb-~PNqCadl{Fa1#cntA_+s&qA%ztEhdeThfwI4W(!!19zI=}4&?wE% zbMrdj6B70&(J^yGq|gnGrMl&S5iRSP?RuXdo|;QWhXTJ6@8*z@aG8`eBP%N|B6c-QSx~dbTvs(6J682kn|~% zZIE))t$5-fl*Q>bu^}i7ajW!~l$XQdM2L+lG+C~2fI~u(l97S0G+ATDy$tmCPl
    FIQn(Rn-`CpcE)@xJ~rOhanT8ojTQVWEgFk1iOL7?l6n%Y)@! z+0+`VKApSYY<-ia4k(<>E7_y?QRST1G2&k^%>lv*OjD%LJDrn1+ckIxq@^#wmP$iV z+0jbvWAlQ8q12;`V|MrUh*?-rYHDf#w%g$B$=`^9tVW}PGBR+9bm}B-{pGHAbE*oO znsDZzTDYkxfjGIxni8<3Bkj| z0{{Tz*QoY6ZMQ|>2>J0C7#N5^wcYBU-Ctx<*+Lqp;HeH?L8-uPKSciDY1W;R&v)e5 z*Y6!8ph*Ro&J^n29!{}sw<)^r?L3b>ueR7H^Lug^%A^Rn-Zp7(y*!nx{znplxqvZs zbg-f^b+to#7+7*HyX92aLHZUzy4`30DT4trIeLrlh22J?G!}{G%-y8eJ8N;9DABp8 z00q*V^}^g-lHL7%5_)?0qoboqvj(9;5cu+!Atxh~XN)}F&Ie_~^!lJyTOFnScf}%b z$lVg4%ogQ%ul$qEFTB+2O=AAU{TUucd0g`&6P^XDalJ88lOCwn?G?GesBt{`-rU+s zv%jDrLlv$jFHaP7WnpPaO-6HIN$&kX4|LEpGNOQL)z%-3RH3rw|9?F=7k?Udx&d$K|o0yX}4OHGLah5uLxSf&n!zu>w-HftcHwFem zJXsW6uO|T%GWhRimF)OH#dNCji-(t|(*Mz;ry~(AM=afvTZVszGY3V*NOwGZ%jH{% z)VXb~4kh&56R)XzHZTDs9j8v0|V+MmX(DM z2`$|g*~?{`A7ShYXVxE(&qa!dia_pbw%rl2mc7_XPfza?Uco_uhADA%cPFK$4iSpG z7EZUqIDzzVbZlraxJ`tBiJ;y$rl)YY;d?sF+ZIcRUYLR}z8#kXmDK<`zQq+4Dj0-& z*Tc_LyRtf1^LK(e7%(T#d|jQ#2_F#$qbP?8ILJE8?4^}RCexDKc*XX%uk@>>GvJcX zi@^UX68pvzsCzz7GJ5}rem~9cw6XismrNUB#7*MRM@L5|N;Zu{cPy2?UY0Gm z!~J1;WDBh{Z$N~kpcH`5?GP-)KhGznY;_gQKu6~f-cck}FZsD~nc1c3AMZu3NLaYk<_**{RlOk)r1X>b)TIoYxg>At)(l?6^gl ztIGu_yw0@5?jp50ohf2aek}1ej~lGMj%bPLz?pi~{H| zRnk3KTVEev>GRi7OHYqP3)YP>KuB(0lHE2pTF%6T%1xM&LWv}}x|-?uF$XiQ-v*q3 zfMA>AFs#9RVY*F_Oam=5|Dot`Ke|`Ky5kN5+8667+ga@tWWpF(H*e1uGh+qGgmYC9 z5%Bw?DWnheqiLK`+UbQXv1scHRiiJjul=x>pmwhTP+q@?4miA*@NmRv-Jvb#$auV! z7scQ6Cx$d(o;Kruxg-83)~b4FhBlb|{6R{A_-@WZf&=dhp_986le6ZCnS_eJBoa~H zXSBWB_*{Pt#JOqAyuoseipRMXCcxO?q-NEqV(8Qf#fjSlu-~w|xc3Tb+9V(hQ}Sy% z_b0O6gHAw|ijM>ggox&M^i^-Vz=x@uOPDerXOpk<0Vw6#|C3dh&9Ri=9ItFbW>l-c0!Z4{G{l`u7Zn z<8-3Ca}ffZ{3Y_8Oeb-g9Ng4vFmn-h(SZrkajZf<#76?@PACRY!}edu;az|#UFCGVD$KW&9g>5hNh+_?744xlxFbw#b#EmHp~{jq=~jesOeR zpT&kCIlIwG3|Z&jkr<-kY+`ErYHg+X8326S4o$3u4Gp;*`bDW?6h)WR>l-!wTZ(Y` zoWq&0t!w`Wpp8EcV7Q#~hmeNMLA50bp_)f)xj~C5Axf2MAeEO0swqaazna*=r*o3^ zELtk6q?;UqcW5(;c_aKc;Gy3C5f&L)XsT)=Vv9rXCLfH-Zhb4X$1;DCn$ zW;?xVgMfhG63lx#A>Ya2=Z&P8Fs{MxoLTs>wzsEkG?c2|r(W_)fgdpMP}HyaK~=X8 z7}Q@yG6Qt{)k1gOMS=|5uF^Y7*|>XVLNeD zq?M&51;hx=AV){XkDdWp5t%GTD?#W-EJj8~nKTagJn^W&J58Vd{(iRp5D6KKilb8(cpN?SU-Z-({qER7~%`TS3ZAY;pv5zSMIS?4i$7 zWK*aVGTDqGR~>9dqgeSxMGtA5b0?r;zwiN#qLkF|r{#RT^^PhYP>!-1@Osy8I$nwe zupI9Z%2HCJ8j6{j*92G%^>4+)5`|N+Qn;Gw*0I2I&?@TIX@)@)3}Iblf+zh#1H~5{ z=sON{baY})PE1o%({19MIkNznz1>}?6e$UbY{;v&CdUPpdr0 zm$%pFZ=lw_=C(Hd{!sL0w>ugF_fzH;=ZL--qkGjq8du4>y@6YcHTu`9R+W{NM5kwG z3Logl;y>tzFfJtp+V|M=bg`xxQqs4XeAn}69*xe;_`B`M`GyHE?Js` zwFSoyKgB2l)zcWN6_m~KFhhdH;EBPJL_}+ds8q>#{b9|>CP`2vi1fmPd2eCj8PFMh zzaBSytNuxYPDLLq=8r`auV|t^avwsk2ve`|R6WZdEnXnlB3M%YcJV^FYf!sH08v?8 z;q|_2;Cx`aKgwmi|2+1Pkuh`KZTfqZ-ouK|3h z7N6$au?L>m^m)LtjVOB=nXn@p_+jU4QFL&)-;CDkdW(U*pSQqEK};o(*u=&Y21vI6 zYNZGQwcfFM^cVyNLm=QmmA1F1cg@{{oX)8`gqS=q8BJz?clYPsZ~_*u3)7b`UmRRH zTM(m;pb>Z>7(3@HG}17S*=?~I1uJs)zFM$n2LuG*AWbEmrMd`L?+>N zf?WC&Itq&K(M(a@4%a02%B_Dc}^Kezw>b!q%MsAiL0#r_BfqQ{_) zwJmA{ZlhcfP4x{TaQg#S<8j#y$;Ncd%O#lVmsf?Y?WPT-CxiEE6jltIGq4emoVxQ} z4KcMnZCN~^ngW<^!a&I9#>ObL$BxDC0T}E?GJpzL@Iyi`Jlg0I@bTAoW82JUOjGed z|9X<>3QT7DjL+i)UQj~mzL`If*1FYLL*S>smQ3l>yRo68(L^w9g^7n}@pkoV8$N+( zkiTk4ykdv&6O_D6NJz;2^ZzXn1?-kRtR~(Oi6EwQI){O>v6l8tw!1T4@CC#zsKW7MieCD zWkNfvM^qJQ>IT(N1d=7kV~(0&`o^_0zf?g3k2kzNIPMWP4u=I+uS^r0HE3WI8x$K~ z6+;zcCTkU(?*oa%dV{teF*ef@lt{?Vcw04tOx}(VUX{gx69$C7hXEu2Xtod$(2Rad z{yv%y*(zW4mFnx;C(@gdGg^+f0T&M~om^b}G(5Oz!1+JF1i8}3L%-sF#ev@V?@~!x z@rseMX1~qi<+)BP8M|>z#%IJSc_dOL)5+`w3 z@lRQcsZl1TC|ZI<}aHayT(;)HdP8 zUe4gD-yz_P^3gftV-Dcy;OTF8>>O`Co9J!T_B!OD!xO35xAuFkv)bk2k3;52Doz8M znCPm(*?T;ocf40TgEb`K+MX+tGR%I)to&3ouGJrs>Xy#NPg`~(|71=dN;|P-(y#uR z@kqI=X+tSmA^j)z)gGR9 ztgiUogaGG8h_7EC0WLoU?80})dBTsCx^lOU(KTN?5bhi?zovgk{=*h--^+HBlw2NW zIu?<1f|JduxjUh#TPWpKz0tV>ijdF`#74(S8s0|yNy1YwqgrY2_`gzia{DOhUyh9v zdfp-*d}S?afr5wcZ`$x0F;)F5X4?t<^K3Yr}U%0_r{U zziVrUn^CO9kf-o$JG!}+T(jKh%wT-o<+V>23a~%A;=W!^YJo3Ga=l+Nj!8*5O6gjT zoT*W}*H>Iw;%!8M2Y=W>WB6{Xrw62=`zM?=#flX#q>GBN?pQ|q8Us*Xp4%U3=Q&6W z=JkmQ!5Lo+mkt{-(@?9(CcTAsncfPbp)Y+_A5|Qvir9Wn5?yOlhqoOk7jx1>|g}0 z@oObqzcgbF-WU+)gxezBR>a{KDAcmE^sqU$|V8+v~vBtpgWaJ*Lu5&=(s9VRiz)rAM+hL)bb zAA|vu3FD4J+8vHinhLrNu>nI2lud^3CT1;#9?LB1drMZbiDT|rQwvl1l5y2;cV-Rv z9ToNm<8!BZkd(mV5&PQG#zqWKKib3R0I$w} zOLHCB0y1P3SDe3Mmk?!u6uCw5I z-tRl#8Rz_C{A1wQ?2x_g71x?;&UsyTXDCGwNMiD`sZnF(5Ma>cw7m;!CNa!H~D`1r$`Ah!lr)b!Ir@vXomH$a?Wt_58}%0eE=)E>AZ8xDqG)MO!S;8<-PMj9>qLya z62lXSX>ac5rlL#j=8|GKVy~i^z45(KddLydOs*W+y54toyx6HYK*|I%E9EW%fXxRF ztqhYZEuQnZzeSLP6S^jQsRRe5g=K`zo5_Rau3Fqma5?;I#&|U-{dyt2VROf-rId#1 zk3M|zRX%hGcsT*egvXC#{h>e zM=_^;N{ZpLuJ6rg@ihnRmI-UyBxf4>g(-Q;T2pnAW@!wK%K86zRe9fskEPc zzEq|}5LsWcW~pEe;nHFE8r~iw<8K z=6P^f7P~F}tlQU3t-R*yBDUZDgNlQLlWqZ*Y(|xo$f<`UrUXp?Up7T20XlgIyK}+~ z6bW9MNGzwRPuwy0jySXVk0_Z)#e#6V>ugm0ds%_nskaUB&3a41MUC|%DvuGFxIse;4Mtgakvqn$_i z;Z$Ol+V$IOG=lEU;b9w=t(v_5=zr#l@#9>1@5lz^gwZ_t4dSMxEvmOKo&O$U#3f9` zG&PCz?b~U=@n>utF10<*lz{_`p5J|^-E?6bob_*2@c+{b=GNP}|f68}1UBcx|GYG^^~Ov*v9VRMaGuS9(M5TOU_`xl9ce}Npb^4 z*r{kSQUfO1TcP$+4)RqQ90<@xh)bj3(*U}y*qF%R3mMHne5 zDGv5_yDbt+192@CtPa1UzA>Bd)CZ)(I}`X$-@Ud;{TgEZA7qV8WbjYEIFzI*P$y4lwO(* z&N`dJ8RG}NZDM*IrBXLLyibA#t4BmnAaVhh)(SkZfy|to5l&9XjBYgz-@Z8RBjlsv zF)&#stqTcB`s;N^I2{&m3Ro?3c`-j>#Y5IU>C8l`lTU_>{EZEve3{4>pBro1o5vdU ze%yXEMh>1}qL}WC5fl2cw&iYVE9Emq36@n8P+pD?1%MO)CtZwFy>B)z5wv|5ue#oHs6W^#V~jttoihHZDR{A%u?( zb7?HbiI^((o3xJ0BHK^6wLXQE7bD->LtEMhTP0M=_PfI87T*6I9+4W2pSL)A`3ZqV zvmSq;uH#5!;3x+6UkvkEW=8!D=jjQ&m8+^3Kc}RXL>&(KN~ijYEmT?9K(c0OQYElw zDZwgk>;kyS?TJk@uT!O+T7vCqAU$Mlu;036<%fa4WQp!b%LIdQ#I%`+oC}|6@d00g zld9VP4@i5vm+^>D;h=EPDg_L~H9}=t23};GBzLaSTpv2fJ7wR_P9z0kB*r@F^nX8j zuXix(U08Sq5e@<2bXD0ywKAM^-p=!H zhne*L`~e|RJ=Y{&$0!7tOqAGC*idFEIPvu*l&*uhg_nbgFAc3+I_p!~F0T83@cZ4W zTvwfcaw%qSS`fHqY?a1F5W_~mfzl>FJc?mUKu#G=hIsU58tG6%rMhlTk^hz%y((+` zF>gOVBW{OVi}(1U0IRE=Ejs}m!W7>jJ#@vnNkr3IL}D3Lb22a56YLm;O@gR4?&sv) zg`2M}awr12*mO({1am#~+g6`EIm9aNh#wnsw03&xO8AMxXq@xXE`=J!i@H_XXSAqg zt3FU)?RUf{vsZF@b!^e@l^PNoPmxKJiUab$pVd~{CkW)f~&bME2SePyIh!rKXc-9h>Jpgq5T%vGLWlC<#||E#TtvVOYMkl z2d3X`Bnsn0clku2VmeRFJEBIvAOUx>&l{h>W~Jpc5_ z_yr2eThE4>CB>!okBl5K$O{q_l$3+6TC!Rh8?rJ|Qrgo5jf(0Xwl9uiqo2z%bDI2N zijIz6e0|7pcz(|3em;v%H&C;;_l`H=S4P+1P`yP})GF5#ETt}vr)ZqcDP>R`Py%!jfOBe^16_=D%RRe&xY&~Dk>%H)=Q@_8pc02J>u{|FX z{zOys>_pz==H_zw#n)YvHZ7dN<#?bnR@5(`=iOePEB)Oxb_o{WF72XxWp2(&OH2DV z+1dvI5pj$El0hyJLHxrH6;D6_KMZ@p0$Sert0<1^KHUDS$dHN(fwfeG<;GT4IRDI<=o;{ z>>da^Wo?crR+(;qz(AzAyu6f+{_c`R>2YIynkLvm(C}UCH+a6Dw7H_pih67Wkc8eFHm8Y>nH7nkD*|1=Ge=j7z{n!a&Sd85^(>(-wrkAjfz%AHdZB{BdMzin43))N*BrQd0t%a^~w+PaRJ|cfZXccY1WrM!@~PO)rufT-f*M} zdozKr?ehAi|J+E>#zv0bW>Y!G7Yl}OgVJ5$s>X*Y34zR}+(Hb=lhT{!0?vP#z*Z9; z6XUzPYqqYR6|WmFN~F}&(*toi`|;6to6`M42UDT8D>%F-im^?%^ed3ybq*I>_>Lip z-T9uueCSaZTtYp2#I#H4(2Gluy|i6(1Mu9dzd!DN1`~6_xt#6778DjPH+P9?7C#52 z6MQDdCnhFX>q2-HcuE_(3*UdA6~H25GMa4sX;)1tlOm(6j4x$r$!;*198hDsQD_dp zrdrG^%d5Xz6KWO)X#sK!tyAs1@D^1s?m4w5<4W9^&6q#Pp4Bifwfh}vILzfxwGo`H zyrFbLSPfuI6?Joa8RTx>y;IyYXqr89xaf_wjpgzf^VF7jZ0;N!b=-LY0q3m~WXoyR zBZh(A|7vkCiaL&>;ZQB!cY|r%{A*~?HZf4x4~2*ls>~N&9lybiHB`%?r+bN&=}`2 zz_|h0H~yLY%TxT9!dLdd1B4Y^e{?JWWadrh^DbgiApPCk zw##BVeY^2`ziuqO&vP#2groT^+pQ22O=Nt@2H;_2Cr!hZ#XFEnXQQ?vfF@DCW^k4; z{m0=tX(rdIsmRGJQ1@H!1r|bs2jBEYt}ot93D#ulTgX5HH}cWZk$-UTXDR5MLl7aW z_}jN=^KR!Fj|)``Jx{)BT`!*@HdW0P+uifh(S1q>1O1ukBHvi=3Xf|7Lw+og$qpzk zW(;Sd!{$n~Mr&2qC2l9X+$WaoaWehL*P<@rE4w-ZEG)e`4`8w=pV2V&(`@2xGz^T@ zS;lXqH4Oz;%OM=v%`msQBMN9zcushrtt`IGzY=JW-(|#q??vrzwLQ_g zRhJxfs1cionhO`KqUh69%+@j)PKR>&6SLhthiIjOV}5cdRQJzz8i)E!r{$Io#z?#J zyVNnI)__z@Oks?tBQ9S-Vmv5@ll3wSzsH@>e*Fp5-uVT# zjV6wCrG zvWP-6E;Wyy=v@_3*Vzo12(cQB?a6i;%vt(sf#G-bG42_CTx=}Tlc$iM<+J_5N=f*g z_S{ti*+cQu%~$+YL7G%+8ZV|ECPN43&gX?{q%@c0iFUtIG}PaOXD{@mLYFk|(28qn zNdE1Rf~tuCzKM11UktH#HD^ro>RR8VwW3!+73By0N2ZgEd1RT+>GBQK>fw9R))AB~^_umQVOonOKh1R)ru+ zi~57c>uA5P@R%NO78gH-0HO;S-JpGNjDWP{q^(sg%weIyQ*F0od^y;TRxR0@@tix} zsu?@MMqaNCC@etQ$CU{nEaO{a@Rx;x498(vh&72X^Tuh36&x=Wi%FRvBloD<8OXLi zg0*c}V*m@~bNi%)L1h98qb(WAH6CN$bJ;Ua94LNRJ!Yr4jsgDL!mz{S1*Z*)IYC38 zjZ1J!ZRrNc@zlxUv2V^>1Mp+{bbC8-iHy@ND@JC zF%cINUwg-qTQu~o;*1De{@Zr2ujW&G43IfW82EI>9b;C#TXA*ZHd0MhZS@6z25rA9F*YVw&h7ug#8j-)gJ^h6+<1IjHT3_fz29u zM@Q?lDrD0_DK@?oohpzaA4#W{U-lVRk$m4wIV4`oD*yw95TZv;CpKmS6qtp2`G-LouC0$|^IBmsBfb|k1q76BZa5O`_`aj& z?1>K;@&Rhyg>fXm*VKQtd&ecQ&z~Fj(wNaIbDap1(m+i~2;C>dk@I@^0!AF@!y{N< zxJ&fl@iE4TD7xg5%$!k(SxE@27mK9FNs>jL>YrAgfM5|d{9iy(OTKtCpk$N9l~T=r zyOT|2hrL;)*JK78Kfy2GN4yvi*Q!gRA0+u~p6^Ks*`um)&v4#8Cu6WQ`s(4x+WF&W zXHehsrSf4fvGUNK;+_9A+~Nsz<2}nvWauAVG857nyNti(d$a=V{KJ#3a=-^LJkdd) z(i$1kLrDZ}nkmjaDZ``ifQ;xP*VcN*hEgV*+NP^s|Eid_zA|GpF{jA4Fd=%pu!jr$ zVu}(p_*&iMN!i=P@XM$tTOD#n6VWI&zgHw)ACa(4$PD6;iLdmQaDrbo-&he)?3w2m z3ZTktDMlN2d~zZ$Vl^C@84XE&ZV%awlYpRt?xIbWfZRH55B}1g&-I>6ut6)G=nah~ zU5!igo*VHlQ)2a(E~DkGcwH1G|6NQ}0d02JbQ@|s! z7>`w@u>nKpXboj1C&uy_cBY$FR!l`*7~Pk+yMnmz6vF;_WuK2kxh)4#@RLynNBLHT zKYmEOdxvZLhqL7wRsPj0_qkd-S^B=!@3JPnp{sV%?g<<*{OwomuGlquh;Q$4p(ZsG z=y^aUd{BU>>6w_Mh6?yVu0M7e5Yd3y(mTAm8lsVoK@JJW+9ad!md>6!7~_RU!WceT ziiwR)Jaww7VwC-}yRrfw)B*P-Cfpeq4{1}uY=1bn>3uIOgOJl6G(}^tJ!#EWR@BYH z2=-}3V4;3TiBmx8EBf3!<}B9QD<-fL+b|K1Ir?gm-$Y4IqE`kDk$rf37>@9H(Ingx z3OiyQ(r?z8E3&}*>L6|ph3-$C$B);b?8rc;=Tqy>r^9T|4t`V|Xgo`v9?E)dFLkw@ zRi-`GRTiEWq1QHFZgW?BAG}(4{gM9jxp#lqjb-m~n@v~i+;NbTApKGgm$d&41_4E2 zl9g`e@P>a@ky;h0XFEN>WRZLeu1b~WGYo*v)oxX{ZAHBXWf#`m#TgWTu7r?6tkRtd z4I-9$+<-r7e?jiuI2iwB*hLR@j9lTeBl#rW0cl$<_Z!DIDsVqORlMcm=I($uR)ECi z*<#kCGhDKwes*%E68MrI9TPLP8*0*aeb5wEF^eJB6pvbC4-uy+Y$YEOa?T2%C0t(Z6c-mLXn^7l*=ki5pC7Iao8hA@oxHQ9o(>9-i5}PNuI1j^8BbT+aZg_m00iBQ~93tG17s+=@H5gr#J#y)$|il7rTSz6zT5ZY!;CUn>g|7(Of3zYO2 z93Ulju%V{C!X6ENxnz5g{6?93190i=CmTa~W|m|)F^*M6-ja|G;d^k90Y5~HhB=w} zR_~VnMsaL!IjrvIo%hWRDR+1O@aE#WenmopCS!EM?0G=jYTV9!y*l_*r-u6^eYUi^ z6-Tix?OB{^v2wc{#JbJ(py3=_YL>+b&HfIkn$5IBrvA@1j4yg)o=-$~1$5XDFFIc+d$DpxAr>PP5-G{~ZMYo?X+? z`AvW6qNDl2RCyi@4p=BsX_n)y@Trq@ZR!xjFyk&d%4A)Q5K+&SCE%`ky~{gOW4ZB_-kE z$u$-a#%aKYM*`_)(v2;1XqRtyuC5AaeqLZQ$Z^KJO7Uk^$m>ZQO+Csf->6$xahnuD z2i_Cn$$P2mqk5Vv0!iN}v^@JGcg|*UV+C>g1+gYg;WLnfRew!0mID45-Duhm4JlEy*pZ7yFktSdiUr}Tq{#-18-MlCSz&diIn=SxDShLBrNCW9zo zSXdmh5=H|vTcv%K>WoaUi)Gyk#N7#SWSZOyUg!Q4q8ZgHh*_|-B)nJ>G3T;f>x#Vc z`;tQ*l_Qkn4YUhJTjDBW=Ep9_K(NCENFvF3A z<(adny*)1tQR-w(OSwb4BZ^815YBe)<{Tj^K9fN_W|JI*+&fV((0NWT#K1Z9wWxJ; zT%1yDm{r*{1*@{2Fd?)W*^&%w3y3&xx+AzQF6zw1)?WB92MHpRmDH5R5A55n_gmNN zV+mhS^AR^qu%4-!+pJLXC7Ba0;n#)5%bP*@5aNL*x&h4Qv=%^f?$5Q*X5llNq^6uy zA6oi|tV=c$EP5{JcUOV}a+i=AkH5MptS4sOPrd1c_k4^}e=G`3hWh$%vLaTpvx_ce zkKYcx9sPJ89^`QkWz)Qa3Y%0jouJA0&W@$^{D^r&Z@%VUV0rV7IyFP!-1B2VKugQ# zB~g}|g*V;%uMx2*f_Q?q?#UY8pabV0x@%d$t%mjAJ7eNEiueRju$6b69d49q?^&ao z8%O>K(ULNH)xa{R!p4It+U@V4E+?O{a*D#W@)ha z^KB}6#0vYn>XqlrllIV9f{#53u|c?eUP09L3MhGGnmo*bnM}`;l_9r2*n@@U7v*NN z_Tp$Vq5N-pQUwaGm;3zr^5m!oTbVaAG9SLA+=Hd$G%(lvJ_?BBA#4{{fDLOn;%4O4D6SnhUp(bV?`+id(Wz6OSN$8m(>?*HO))^ zM*F(C>|wRuPm%z!roCKq6e030h+8cKe||-+jz7%ReRYqPij2RfpU)8>8h=;Y!5w&H z%r9JnuReWB#3v#`hY4`CwXrcfbq@Gom|j_P9ddj$9pQn&q<3?1wCZmg3Jm&*uC}XY zZRLDlHWiqkKgaXeKR8Hcj@Xg^){dN`qk7n(|mnlf6?DBYqPH*4*JSQO` z0sHRG>tK~PJdkvPk+uFW^ZDWzUWDTq@UQ?Yfp2x$# z?^f^J8(RbZaP-Bo#{qjFN=XTTeuF8j3(`_o%R%gKEi8UEgHl{LL_X)_L}mb#KqfwK zf_hu|sHPG&zav&BKi|B;ZwB>kvVl&YtjEOiQAW7E%%R;M2Wmpv z{F9iHai$v4*aNw$CAh*E9?q+YL?pew#T&Vcr3>B`PVC#JSTiU4MWp%+WSGd^ZG|z} z%x#SuYxned;J0lalZDK|&i667ml4;UAwFG+<{9Qk$P>aHy%N) zq|*YWymwW2q^Q2)Wq=I_;GXLMzFk>UGZol``#|yfMzGsWAoos(NtTZ z3ETVhpe&Jyq59zBXaFSAXnt`vW9fFi4w9Pc7jP89LDf!;%0{l+ePh20cgc~L(AqBP z8h2m3`;DGN$w2RrU)34|x#nkuC63L}%u1g@5+K}u-Y(c-&m2mIOBOH3`otxf5U}tv zxYmnsIDJ+R8SwG(vDdAIkYPaCHZv8>ckJyyN9TEqZ`D`LNDbOb3XU_$$L0E?Ur^yZlx+jvkoH|OZ3?~X45e`Wro6jdE+S=&fq8k35uNiPRTh%MfmS{6Wu;pD1ILR^3 z`$^W0qpnY`J-z35__f9baV zP4f5(iuqUodhz=%vck)NWP~dXTC#bgfxai6gXt9&FSaGKM%w-GlD;i>x!n!ZL@{V$ zd?Gc*%9A&L*KHlSLjU$?V5vTWBu_N?8P?E<_3?rhq-$$$rpo?c{w2@)rjN{=^}8f| zfff2L>FDKj`L&{=qSGrab93`-cRRjj{#j8POb4>MI6AZEct>;=Jb&VPOk5H#ey`h}at7Mid}otdgk>9`}vUJy2HF z^5+qDNO>2NpI~A}8Ze^Omy~FSM`#%`f2@$s;D*{HOBC=!{c}TugH;R-^I*M!^yl*w zQStivIwg1F@UTS8#YHfMM-7#wB~xXnK{MUn#bw5lG2=;PMTKO&Q46P|qvZYZv5f;( ze}BJYNLgqo=FHsO>2e`RUO+N6H8l#n{K6f6aBzUUa*D7VT*6u{E}9Cmz(~l+$vLDr zCiz`He*E|Zd(Yg=jHg?MJ+lg+d8F*;h8@h0*ExlxH9n7&j3%t)F6s!*sWnU48PLV> zC7#7*MRq6@iotcvs%$B4H!xGu*l1Dm>z9waZhn8y`DpBpuVs|DnjN@4=@jc_UEayj z(O3HR6o!(Lz6VyGq1BCz^Jiygo6RKoo8%gPFL`+l%FD~gXJ$-AvzVSgr&ISRt!>_o zcKrVR`;*0kg{JY@Sy>gPF>dTDv2f3bsh8y+4cb5jwnjaJLjfV7UjqYj2F*1`;?QKy zN__!nS69~uRn@Il=*9`CREhyp;kMf?&8{!%IJu4JVN0H;P}4D~^@YswXJKJ4bt&9? z>b)a<sK|tmw;x-qY49X__wS&?u&{6aEDF!z#;#Szg59 zBUU!HGNGX#qju?_zUtXh8!|j;JJ@2?S6~+fNhLEJx4tyF-glj z=6w>rP4X%v0M|bGh9r{Da-O~ladsDvQpA0CP`uvdJQQiU5(yMv*>{(>h^u$MoxW!z zJ$Jo4eoDd4?db4f8SD@4m-n3^Wcw$;gKqq#Q3*PDLy{~7zhMB%#Kn-YueOuut8v|C zdy0{NC4fU>UzF_zDX2=%CGRft|CV*MR1yn$+|_G4UGn(!v3B0+&R`!vI^rnQUYngd zcEL}+{S2xzUfOd%>0dV1FJYF zF|61M3iR#)T!GY+a1P=J|A|;$-`6;j15l%El2DtsFBblE91Dr%zC7{pcul6#NnH=V z+I9oe&s1;O_Xg5dnFEC14H#BGL$_J-PJNEGtBWH&$HgakM1H=n#>fTM7xqUlW1+9| zXLWbkYo8p2D!ERTjPb3Xrp$Fj; z1-t>m>VL=6$0+#l20vK$|9&7e>c9Tyy+@J2{O5l8Y=Yq?+^NHLJxxcHFGwH?DzcM? zFbF4a^5Bc?|1PfT&OR*b1lG#hxDROmd}kgdh7%n()D!ZaGBs;uwMhh7P^NDFwFMck=|%B*Sp6@2Z3~l=9P!D?Uuu zU!5%EN8i=l41-GtZ8LLqoxQrc3O}-H{dID3;~SUx1Oj~gSMu2RRa=aRFb^x z;;nEPDapxK`5DLS9%8B@X2Kcj<4{15y8;ro&GK(6fR`{`@$^N;vp<%BoYIq#<3#}$kg%w);wu_TfO&zjlj20aW~-AvNT$p-E7LAxL0ALPkc$FvI8`oF5x|58tjqMn?AJ_;(Ow z`}nvFcB@y_8Z8FYZ<4HRiL0pcY)Ko6roz^I_3D)-r1X@xalT_i&2uBu9BoX8YVhi+ zw&nM4TvDryT8Ub&J-o*)`G_i&U`ZEg<}s4On}SH{;01%6`A;NO&vUo2@oHN}`deDc znUs=JF+Z;fPb#UZO0sknlmIC=UoQIjvvO56YJJ_HReUQY27`!~W5tkgFc6pfE-{f* zM1`xHoRV^SeVu{(YSxj4agcb1iz07jMejSvw%Yw7T>dm#IkhXa{_i^^AHO0^V&1NQ zFQ>|Lqp+|L1NXVY)~^j;JT=Re9Szq;0!Oy#Tm_1=?~VmRPsVc6-NbM74t6!Z8)ZU* z+YjEp^Vc1wUDU!Z3G&J`zA@5G{PLQG1y_cX8i7UJUo1<~2S3oifCZP}7Y;lcCoL>% zFm1N14$dw@LY!fsj_SOi;A(@mrX!`wUj~Pb{u=J`jVeLLbEaf`=&{4G?I)y2K-pHO zz^MP&SYMyyT457F^0~XaD=8_#{)#vd1tX%T_-B`a<`<~w%D~7d{Wk|rsB-13 z6BL+^PfNoJ3JTg1qQ(vh4gHppk-@>uJ!(WmYQ}pRO8`~J*lr0eJOn!vYvGRJbsu8x zvt*;^?8(O~AC^7p+!ozVPk2Y6TlK65GM5{%=QQ^M+2;yYBlzM>Fsx2 zT{%w=Ztm}|zi?t=siluDbl60|xe^WS0W4*fhEa*?s#?YUU(XvNm{fP_+OOm>gM-ji ze0@0c#wN4A5>_NVJ-yST!c!VSi>G&0Gk*2mOqO|{=Per9FNgM;Q1bf82b1Fx0GV`a zvX$oFD!oMS@ey+5k}4klszt1fC5ZZIePo*0@Hdc7&cVTfo$l;6J2N9=fh3kdo)~Kn zHr*-S<^AL$u61)N&bewGpWK25&XNzNOqh^=x?;?< zdIt&c_kV08@Fk%!`bL3g4-)`915be&7{@oNRa!#gvBSYLMF?{;cqXxwZ54ShStQVy zk?6tPAQr-A{A6Lgp9l|*$Q$^K2;4@DIM?=~&oVSBQ>th)t#F(8>wAG=Jd-J$7d7w< zJ@2ea%VNgqIrt9F&5t_A`yh#^`TSs^ErHvRX|Guf742C=m*5T9YZ0m)4m5wnAc`I? zI~;;-%IbJkx>wRlIEZ#Cr;@b8wg9#3+G4I&atgcGLqWi2TD{-~HRss{f5lin92Wi} z0Fdtagf|WLd!Gg^QasAR*q+*Exuv?RgOZ#u=Hw#o$+*l%jz`Oqg#N{Y z37dFz4PeMsd&?yl>T?>thoPQB9?WWg*qNCr@OIGVYit?S8(kB)*h|xoqZs9F_8^v$ z57Tlgu{FTtlFwom1#J9SqS|%f=$TLWvH{p$szJ4jYWG{`uONdS_v<7>0QxepLDlmS zWAYzihpOA?yIcnGqj_kjCO5SsgGrp~86F z-Jmi;lhauXM^5PJDxU~3J6`=|c33}xdH~-B^QHm>+#RBL35@LQ9N)ArQqt4L3VbLy zrC>a`_RS|mHULS4^p#4)eesQw2MPRi+l2CAl^A5Lv#9;P^19gxbQq?B6Wsd)7bU?# zwa4jNY32^?gQ+ho!^H%3RK5mX&CZgmVa+ObEe?ayf`o*Ga3$0N0s_lGwlic2Oq|14 zh>eSDTV16OXjCrfvY*{1CLuuuo2HJnHD?MkLJo*^96UVuU?U^l6Zalq0NorAB&P92 zp~oE*zK|riG4rTtR`$g+U-MORpM85{S%p^^TWZ9O0Ou$anD@seDeom&CFZ`VgR zuiEwys80R~ROVs-*Fcr3*)9|g$fI8sBXe^US_hM*-jZ=}m`=Pf;5hP^W_`d695o)g zOS19(wLDd~3+&<+vL{Km!`ANZsoiE(H8zkx$bUR8)q2-hy_O zO7T_9!=)81v7PPh2s1*~rLf7uZizl?xOKy3+y`n6_bfJ%-qIM*N@b{q9saVm&PkOia{y}$}9-%;k20&*envt^#o|l_z@_^!F&qnBkAoj z62q-BI5Oy{kx-PAW0H9Xl~^G|J`ti!ry*oQH&^?i{we;tleq+IU=R4;Iocc6nr+8d zFGQrt#4OmK^45_w_uii-cbtPUUreaKy_4CDPnj3evSU@&Mp)sxnH1fMT zJAblVRYVKi^i^`a9=R^CCQ~mSzGi;pfP1xuxA5u#n~4Nwfvl4gKQr~Dl!n;2!?jOS zMTNe$u5Ro4AGq|BWx?wDdLFQaW$!IIvY~xss~M9jc{|8xgUIpqRP0zTaE$2_ZxxE$vG%$vCR&{keKC``=hK9a} zO-zKYHxBN*FO#xY*vbpu-tgP)okw?P#}i^ERUCJ3_TjrCEWkZyV*YUQip*?o<{MjB zFh~Z-)e4G;u+N}URW$_`5%cEQQeQ_UCYk{Jm)|5uc>}_yhoDsH&fL&W&>wrwzW0xW zcr+-A(fxORZqB?AoJp;`DapvV=RX$!_93^bYT}EX9SKNFmr&=B(`EMugzuRhs>%7; z+3a5gr#5>B2j)0e9e=pE5n&pdmVJ0`Zf-XDkMG~d@CyjoNGq3@m0^HY5#QP>{?St4 zcyv^$RNYU(0A-`Ho(13 z&bCKi@n{#WuCy1XZoQDbhCQ>fwe{Zh2~pEB3*hy&#oirSU(W^Fg`~~z%blm4KWEro zXF6CuKI-J}?uI|%@TUIU+1^Gmm?;3VG(Qdkia+4}Y+YT=EP;FZ9EETu0}Bf)X=+M! zbaK+@YY;6P8)lt_-WSh2i(WZtX-*gr`gnkzJxLq%l8$7Y_wd(1)C;<|0J-Jl)C@+3 zuH4+rnps+&e5O)iLx?6>O`1HKo1aevB%JAtM{1gg$NoTJ7?s#*&XW?qVzwpAuU3)M ztiksY*Ui?Tni2ORiRbae%Wmjo^=U_}5%)Mh%CTPr-@Vh}HSPa-EjNk5@q9;7QFwxq zFkk4=(a~iSj(E%kzX1SNUSDta6`fXCcwSQo<|ZVl_2W-GaX&vl10y4U-^R~Xd1itG zAZY5u#>Vy!4u%S1ZiYKMJIjJ9KnaP7Xe>lVz)M-uCA`xh9 zFZU-uYN@QOWccFTaw=I;lAkC!4d|x3ll5ZnS&NptH+$Z$>W+d~*ibLIOY-i!ZeWZ1 z=^)}z?>g|GCO&ee525Q{;R?L|kA}7Mk8t%MnnpcnS^v=Uj~dqhk4B z2$!YNlZOn(n%Jnb7`?r{l*gHhBvYa4ew)^Ij%J6yr7RlZ!j|j9d%wk1Ho9I$@{QuX z2`g~>i}#=E<_XHIs%x$s={_-hUG1=M6@cr)(-l(z?0 z1t>)iOys92d3}Y<)i@JTP*lVUkB5iH8%6|^8Fa9CeEd5)Ha4=- zd!>d+y=HZr)`^XOX|lMfDUAm|yOEjzk^i^)72dlKAoDXYB7;(@S&*OKxE|F5oV;^v zZf^=7=Eo4(8A-+Wf&$L3At0~rUG}88o!yvzCF2VWI+yGVYCI8yvGc{nuL7mk^-T>o zcGxomue8gi|NK!N9Up&9iW}KK&2oQt8yXfS&D_c#5$dGPf;e+`ag^nBzOTWOmVI`& z2l4${iDOn-fHO;HlGU%AoQ}U|XNlncF!11P_r+fJU<#d)%)!)v;s;U!;+ z#D3A-oJQ|cB62?0ID-F&J=r6%1|gkb3dghS}L! zQNe#^N|x42d#93?h6Y88ndL8FpnxL4QhWj;Jl&Hs0~ZgEFzr&louwrmZb3m)Qot)% zDYkcX=uDUknRDq%)Bus9vu-~tI~zgmv)4w?_%zb%r;f)45&?|&AQ6@^c2i|=XlUT< zj5q6@=bE@^f{ts@)aAd?*X(+zJS7#D`niZZ!k;+aX3EA|pC;H=X|t-s)}Bz_i=Cau zHg|ARb-KN(@cgPrNhnihZe}w`4~7_%EYCf=GQ#X_D=Jl17!E(E45u0jz;goZ5K45D z9NgYNYfawR4cb4rzq;BErGeqA_Vq=~?I%Vp%gn8;9A{x?CtLLL4-4B^UZSh+KWwx~ z!Pfnw4Z`v1GnTU)Gr^+a|2-UID}i%!Zb3nhtehNTEIO<{(j@~LqXp6()Su-V)cD~P z_)^n2t6iT$Tlsm3zA7osa-ngmfCdJEiMQ4N*)G8JBui~50bgVhO6jLx^KgUAfBFiC zNysT(g&c8`IJqR{KZCT`bujhM&X~H|x(;smz%4AipQ2eR|9yCVey|qnj@uu-9SVx8 ztxhg9D3Q?7(d~ z!&jn?!t{V^u9T3+TVOa${7_)VLpiwGn7$4t_@C-O^ESr)Cq@^880~aiz(!SrBo%^0`==Meh=V#7fLq&e!V*NF7U?9F$mZzp)^j%4JE;48!TU@7DWpMpysu zvSJ3N(T##=J7hDVDO;Rs$(bJ->7(C3mZp-HmSywx>L+F8_C!>R-#-fc-?OEVkD>%~ zaN50^t%b%g^XD!DYK!Eoiiiy6etLj34tq`9Dxu8s?#eczd@;78@~0W$i&2tNu&z;4 z-dMS9HLHB?%bWw*&-YFz6Jln3B0t#0(@Q?=g0oT+Yw{vEi2746#Upn`8YS7bJ^6Gd zZE+VyP^%xc(Vs@{`q@YLmvpPs9o&LypJ~rg@F9~mi zxBi%K1$^UQp-AFPQ|D)8=D)&>)FFk+v95pi;rVNb9q6U}gIelO%ZT(RwZXm(3_riV z9oyoMnodze$ZUTGHc~hE=dNe5nih^+2^c#b$N~xLNAUj06yX2!(*N@T>iB^|5WAdT z2Q1nMQbt{F`Aqsr`V*i@TI)6Gebq>iPBNrKZG9?E|8&Im#K_$Iw)p4ETUGEK?~+#? zKYL#w+8@8fnP^3hEO}>B8wxKTz#j&>klteV#{hI7;Y1m<;^Cw8{&-%Tpm@{wr!Z0v zVyZO;%6nH^cv&bE_gpL(K7va5L*Q$B?4;il6K`ZC`V#>A_XMnxZb=MRaLY6%<6WSb zDznnr`*NZ!#w)+qGvk`ehlvR3G_|y}^sB7obq_^Wr0yP~8RBkv;`PNbldjuJ@X!?; zGvCdkSabDLsp`_V!LQ({%q%PnIdbAzSX-A)R^&zB0wy#9{xz+8Ka9)aqF6sCe0*wZ z=mZ08CWIOK?)CRj_I{l zLB`YWWG=q$)teh3zDSRlG4L0@furZ2A% zx8FY&w}N&D2I3KrbStN$c~ovrO3eVqB?^TaHphPyID|3XJ>?zai3h2BN-SNbf50tT%JtzD)P<=->S`5*pjz)-aomyxr{PVMQfM5 z`0(Mw!+j^c{r#7-A<~!2(a)H{j<*CHrLc~A;HD$bl0=7W>uZ!uEkRD6kkc_e4-ZfH z*D#KDUc6?&-mZ|dy?p6mChV%}M6KU|Z@oNJ1MUZT?J%wTG|i9(uqkLDSka)Lyn0%2 z20SBTiwj6g1_-2zA8ugBxy9Wn!LW=3yCMJa#*1Z&h6-NL}!@u`Kd9iP~~`)V5lHxU1~nqcboV3Ez}JW`^h4EpcPwVFgH^f^zT%G*X4$kl z)683P2n$oPsaInIgxUrK--P985nk43)AGRis!t)$zua!C+@m7c;oY(1I^0LVm_C+3 zm^7*>ArT?HnA@!DJTBY<1PRlyWw;~IHKUlT29eyLJ$bRZKrxLT1mdM*7Mv&siPGZ? zlF07)7rrN+Rv9bQnRO}4UAf*2PDD&*F)wbmB|DRjEW{c?(?3@pW1l1 z5uPhZk&`f6mo}IQA>%`-2wAG@f)&gM=)cS9M^RA-$%C|bwX+^dreSKjqd2c*Hr%tn z%lw6S61EYP`OUV)#p#f?j=aAnVi5dRzH=&FO(+~LksiKdZDkGmB#p8A zpEWW=RF@V0>pBjXK-m0-5g7H@!wc+ClunS@{v#HK8WtRMmw-X{zd{d<_$pxLl|LLW zi@&3n($b=epy90X0D$H1-@nvEoNvr^bTYC_L0>89uk6p&83$vKM?IqsmV=TLq|3yy zbxeRe17ZSkpPAOTn_zV#d?R5INvxY~gafFan24+Wa(Aw{iL-Naa=~b0q!zqRCsCnW z2L~IjdR9jOuBzHj02+VsYt1uB$9#zOuFg;X+kUWwgL70>RZ(g0OB{r0-ha^{e|_U8 zMaE~$goL{XKOz~gfUw1Y!1uIBHXywslh&UVLGm3!+&6_H{0<-G{1hYIXK$qtYoiH& zPFFjv@CUWgR2!}jB3p}GzqFFht2s}0N)SA8oaf#Ew>}DpV)9p};41<*iw$h9oi+h0 zzN9357vMtqh48^F|Gl9!k)rJEc60b=`*ax6%lL#D8X6jQO~u8>h23jJFH#J~eRAh_GmvipQXq?08w0-~s-nSl!qz;}4)E*RAFr!d-N zjC@unb5m2L0RgC{78aG@ro_}3Y;p)zuCBW?sMEpsl$J^CT8<}qR-jSK8~KpEgM+B? z-tTENSy@@U930xP?Oigj=y_|Fx1NUHdjlMPMI0pmqlrY9DCGS!>%^oabS1lj(1bHb zDOi5JRaq1o>qtm|7arpx`%P>tA^NC5R8-Vm0MqN7%Bre4rq>!8Ap0}rGOq_zhuFQj zNhYg}LLeq1>!XH_RJtXa=;*X)fBsBwX$_Zpk(io_IVvCQ`k8?7wM%^P{%8OQK^7Dg z6i5-1tATm)bwxjZ5My9sesXYdU=c38%MG2|+G4hCjns{CghrgLL8Nr9+#;n2(iYaD{33HbC-aN&=u$4d$FDlW3|FK&`Qp{-fY#_0&F5<H)d~FymC)1I&Z1IQaaD@KP@`4G9>j$F>+1qJ&>b;4pOKB&i6w zO&67ykD6P8{M2Q<0Qu~uExj(pVCk9u(ZG&pwdAl-<6xrk$F;h>qp+>UvaQ8_LF3ad zy-e>joOSt613?$!ic2NaLmx~;*tq`~g#sRR?SDQA6z+!$`RCn#-k^u#GAdq35Iz6= z!kCb^-fo95hmEa+?)r~-9Wc(!)jN$Aso(NxpY8zq9{bJ5^vZ^Y6xyo$x=HH{K%38d z2;`|~M-g-ZBHk3{hn4&FnK^3<_2akga&;qp7b?d+&4Ca$hDVELP);u_0ub<%3Virv zxifI$hrh;VX^`d6ooe)Z9sNUqC5-l-(LA)sx~3hqB|b6HCJR8VW&lB$)Baau?;X}u z*L{mdKm<{#f=HLH2vWq*i-6RifC?hLiF8nUu^`fsA~k?gEfnb>y@LpdNbfb$JE3!D zc;D|k=XcJ1o_qZxK1s;V&f06QHRqUPj`8wtStQ*!upgpkK0GE&7rCSp5WPQ+x%M!p zAKE1JTEl>+H~_K1BJem`-h5p?29}(b4dfXEVb-uYH{`W6W7&UO;2_Ktw`U_Ew^Wom}{mr>Z;*(!-kL!my%f= zf9>aGYTuFJ;mtX^-)>ZS>BinlN&!QJz>`(DM9~=VstCv^x3vHNEKT+{|6fbf(~`!? zsj-5*JR_h2O;6(sH1JY?6`J%t$CB*EAh^G{y!`zcrnfix-}Ai7iaIb;f9@6d2hZM- z1{6y1jvAk|EiPuM+%76Ej_`B1zYa^%(&Xfod+1ByFAWLiJH04}X8m;a^_Mm6sj}5r zQP46&SYrVlNg~7uP@$J*)WixlwYCy_Jx|qz7#P;w5R3j!5cY>vAdK%EeMTGC@Htou zf?zF3=>!Im8*QUuQtfW1LuVUBdaPMXaa?ME#y^X~xSaaJkS$eeP7a{K9S7Z}0FgO+dv}~4QNn|`){HFk$&jR45wIa{ z2na-!AWx}#s;R5Lo#RxH%nzhYl~7f{&dFV3Vk!Za*lR^=$Hwl=5r{U=L2{Q}UM@zR ztnH)Oyu7&?C1RwMr!1bSxbH}xcH>a8wRsV%qpz>|BO9~O?w7(iplH^kFz`$H_Nl}r*T0jHm@3GCiDZHjMn_0_7 zwuM(s{MnTg4y1PhE^e@~xzrpbm+H?EA^^xLVY2{$q%R)+*rxp2wxLy(9w@S%}-_yoVmFbm!6?o(C z;m&nQeQJlnq^Zg=`Re_H@fYZV-cgUGDan12&hid-UwTfFf7Z)?nLz(iFM%RtPZ8Ac z@M%s~Rw0yV$TGe|=NX=kgi!JK?}JC8tt1+}gb!MCK7IOD?HA^dcUV~Xf=sr>f#R6D z%4?t6cCx#>o3ZrA{LidW`jP3F7xs^yTCurF5yPSkq@*MEZ|5W@@*19{{XE6m^m->4 z5OITkYY=aiGkM3Sz?%?s>Xj8N_vCsk53_P}I}uII%@VIttE!-%gGJdC;6Brw@CYV! z8Wd{Z9uy)MmVU+w2H>ToroMJ13k~rnb7^P(sHR}TR&xGM4rskIo35Pk@BH%R>J^24 zj-awb%L5Ad(Kz-~16carxBV+3A|j&-0pmNtC=K+VKY#jx+8MK>c<}bv@0a_l!}0MC zAeGlO`C$|m{manK_13285NhUTI8$H8ZnDdp*v%u5YKY8^jvek?)0BJ-K_#-A_p@4t z$#nnGrFbz>(RnlR{9&R!HGXg0AmE05@_0fQZ~3gPGH`E{9i%NuIRRchk6|Y`)!adj z2*6el5=BGQOCv+{K^w_p&P87L=TFo{YU;~m();7J_;ien#UK&N7G3c-OjrIckL4jg zKEAM&lpRVoLA5D1CML%5*!Mn|%Ckrxf}zIGUDcca{c2;8-=m|p5K2=E^7FrJqX@!3 z=8)d~0(Xg@pP#j(>Le$z81;p;-R48Ci+IdvuCQ9j2A80A?mXQ>KKxN`g1|c2 zWMzIne|>%Z-Q)^e;jUPdVx5b#v$G=pnQ;+GghsGI9n5_kTTwf7+#gybJ(P%J)wLcz zw19Aua(1g`agk@ky{>|*CcM^6nc|`Y?N?w&y(m+uem`Fk+%q`%v^kVPaA$ApD=e=Q z!}cuf#GLfJ1T@Wm*^470D4Zw;c^rdB`FQU@VQZi72n0uQiVbCycnZ|0BhsIyPiG}-A<~TVpyE(Br~qxrG z<1g!!4yL}nayBzdhctWu8dPK@hal;-3790gr{Ma{7MQk8L%7BrOk1Ax4A2O~pIy>E zU6GPv%->89Fw{!VgpukA%d@OS;iezU3we$*Zj`#Z2O00z=LKK39Vt;q2a_c;T|8O5 z-f)MpbMbl_1TAq+u=(yJm#aa-j#GR#TmL}n#g1l|=qcYP*EKJC2>WI-~E zMC2TDVdGkFgspnB@<2<5JeA^cG=w#mn12BRW8D^gT`tl-Z?zC>X>ENj1yuIWgJg>Z z0!+S^&-Q>fZbf*3#BeIC1+O9d8-!#{0yPVb4@8a6iApJGBOIc zOb?3?+j!G)G6^@-|MKIJTtDOGV>&m%3|W3eE#{D7G)N1h3!@m$%Ny@~bP(72T5|Kf zJ%viL2X^@lohjrDr6SnP%~kb^5B7TpyMkV_#6<2M9^{6M!yX&6YOkR?WdQnpB^I5Z zJ&Tf>yOVbIRQ)IhULkz_`n7);Qo8T;i-d%PZbvkk;lrHAYu`msgU}$-O@Shcs;jFD zZceQYmWw1GGBTQg2H~qqouNOzyg$%0eVVx3B?sp;E)5~(OctqH*=a1&-mCNcZK;sQA z`G9)C$9Bk)Uu(YvnB*Erk$Uik`l2oXH1Ai|;R5+S`i^s=eI| zZC}~1ORn+P01}1_edbHq9E@mn{RuY&2}>(EZK4?G#}GTtt0j{iz!Xp^SPtM7vgLfY+UUS(wCsP*jQK^wAvSSrFm*ru8fJTcbIZ>{}pUTUJe9Ru) zy=w?nAEjGveAl+HSUMm))fxoFfs(wFJ7VYgFu=!C8Vnunuj=L?L=S#Vkx`;#@^f@{ zdufQM(6vK*aL9pTuwiQY<}B~pM}krm(uKQ;8mr>Yr;%t!%(=$2-N7N3$rU^m;IBbV z`6G%gy5NSI3IBQdA8Z3Z74p}^LyT_8YF@Eyc_^Gu&dp9CtU*mpwN6eF-l9z1YaQy% zDUoQqf_5?gY0Ob=Ffv(%N%B~6!&G68B|A5gs)3P4Fb<&EJ!!Qcep-~Th;iv55K%K= zXA%+@e~d~Y;?_`-lla6vX?Oj%Elg>*W5Ah6mF4*M_V-0-t}xHLU#;W*Ef0Khx3U+o z(KJ|{7PqF-(9FE(MfUNd^V^U~d&coWM*=EkxQo&N@{G0_9Ca!W~`!=OuE{J z6ee!Z?iT1KWha*6o z!?EUQZzEZv;}cGZb7?GSG9?q66EfXBqz*mr3D@QSCbxuJ@}S9NDB%zSPKNUHAb^>E z)2i3-ZqOJlM~R?q8Gco}^>8VF(Z}xyj%(%x+8ib?y_AW^;*oqLvV?EqmSIWNz|YBa z%g)nqffC8yt;r>vE$#c4AQ=9`g>dWkd~#AtJStxY!OF+oh^hhaKYFSuDSi3Exuj?*M?szuDC zC1^yUTi53C11_L=)imL&kY$PcYjtr11woBs>aBt)JLcP|m&Hc)gjs529O7Jyp(fia zV_{F~7p{vP;p4#36j?}3twr3rnYvOz(Ug5>bBa?zsR@$^US^6DGCmG%>|p`tQ# zUM^Ej=RFTreXX{`_kknfxhUnfZYt`!YB+H0+r?45Wx&6p0on;9)jTH2v&z?Ls zCOGAXxT@xjT^o{F>Nz>NyBh~Z*z}(MYiPNKNqh30^%)ZKK>Bdp zmac}Be`E)Z&;!2Ckc|_aZIH7SgcX42!8icC{^1Aje#YMWRny0m?nH@)_>(*b+gH%ti+PiY# zjET%9;mcS4mfKPv9nM{~xqQgF=>LbDob@}EiDEhE@0W=BEd4vW_mHi}Z9q}%hD}DZ z6_#OtE#KHHZwNso?rkjcCGq=hiw?9B?80hrx0!2j9MVKC!S^Xv&YUp?J&Ii;JVPc@ zCHW6)@7_n=$~lUpKtV}vLUb@=o>9^>R#OLZ?a*f&mb@wVU^FdERIhy3+IE0oPEG|S zG76Ga9O%JNle?Ch+x3+cH^uD7rJ>DG-yP_p6%S~~2KRqIUA%|_mRZCxP0Cr&e(*0m z2h=suzO@>_7~`}GUc3V0D!+q*mcM8`Y*criJ^@#RaO&?sAoUM`*&siNfezEPHh~ne zw1TUY9%&J_Ak&T06kdDO3dl%74YySUuYQGg#=L*;9|BeBFF7D6dy1Q1OXObT2f*IzN_zQl{)4I<~NW%BRGZGt@Uxkr!N!O4!TA_1A9{lIR%T2Hy-%LwS zc@ZykKIK#`0WKj0V>wMg5H2$^@^YelspeR(F#Mrf!x=6By{^K?(D20>_AAsx6djEX zVO*A!Rmcx zkDiX!rRHIiEt}R*E=yC)&--S?N@A^@|L#plNXjbBx7#{8Toi#V*B!Yj0?0^q>AdZ# zE!Kn*XT|w5X3fAtT{Olm$>}doRia?`>g3i|O!3>0OuJwFqQdJFg~i1goF6#x5QtT& zZu2hZ07azR6fpuZE@hs|y*NRDKp^Vi=?i=K3uZJtBjWs@Fa7uVIM%njvGENwo|YH; zv~_n!LLQbdv#?+V+HE8gI}ci#Ne_<=V^WWd3E*&NJ&mmO0cD9Z7y(FUP!IyMns7)r zQgd_F^$iT#V}Z#)d+E|UNGDs{+us8k&XBrN(2PwQnw$GPhVH0-*bI1%l8#OsEfl9x zhhDccZPDC7AbcdzLLdr%70;5{Qv_{nY-|cGbhM8zs{t|0+|AWhyJ7`gm&1X42MmzH z<}R*yG+L;QiHYfVcQb+0+N z=QDwaSf!~`^0Dk+dFWs7+{`T^G9a=%F(Ct*$*FU09}6LavbA+qQyQ4I@IiZA(r)&r zp#OMZigVD_{Ym%oa(7CIC{GcqyV zWEA@Fb8ly-)DHbvPj3$6U9tbuA^}Q;?dzcA_e)F;iVv6h_mDrcpvcn(DKdfN10Z!` zNjUq~-dmw8>_Kwr2Xr$YW*9m<7lR)VISPUBl}hsVL4F2Y%<0ajj0^=xdp%iiuQWi< zy^4)ZHum+{UThnI7WCYhnwgzu80+at=QqIu8mK&erp!QJ|Ddk*x#vuLH!TXPg1>+L zG8{DkyCDEQJohgkUT_g*`n!62N7vTMcr}>yLi0x&bi>T^T|gkDk*9A82&5Pc+;T~T zir~!74)WjEPazOwaApW!N_d!%L&EdA0Jtp&E8!G@ zSLl=mF3INeUuUaV`0?t^`5y{?KX02RVce2h#rYTyQC{kHCD{G%BiO34QEc^2kJGZm z9V|Uo4C|8Yw0!OVg2ZJfwRnK-Z4Egk&0KA4^dVC^4lvjJ91y9}4HaiOcdeF4-}^+B zF96TF%I;w7xOcc;0-LBxS_^FNmvo80a(SFB?POO65I+AJj)6|ay}mYer|Ci6)gSSY z2kunr*N`Xm+yQWm4K+ZO2|Gy8=BG=# zA>~|Fqm>>He^mlt?E$DgMdo4vr5$eHrktzwWx9j@;fTCcJ@+(3RDCdxDzHf z0j!W)9IYH8Jb&2~2=K-5{*XU8>mp8+c^KZz289uQEMVutAe^u;SoBpbPT-A+gW~5( z19c%@!f@j1b%$ffZk^_Svwzjhyx?FA8J0OzKsl%Wyi9{XS~%rTDe#vW z?N8~Tk)vN3h$JUj>vY?ie?PWBJfwogjSvdm{}cU00~!e4^knPy0Zd^78*Nw;=l)By zs~eQCg+bPGp)2)mk@dju-Wt5DJ8S>J) z6C_l#;H};=Ckx#I^YhJ=Q+7Y@hlv@CiGV+`G}=FvfJLv={$otcbzO6isbHOTvN5F~ zgECXu@ho6Jl?Dd}4hN7~_I{ATr<3$7eg5~?OLuyjD{8T<>!S-jAiEkh?9OLU6$Lq% z!;ds%_;uw582Z;Of3kGCL73kTXTab?ifQp?=G1rj^XVS0>2z}S8$>E1{4Yw3)`!0t z-R9~{xYfy_8cS9#5lk=g8~QY;CqcBxU7|Wk@tk5aATzQDn{%3=Ya6sQR-Nof(bCjN z&RKQYu>-~j`3CvpYeT^6ZZ;H{x2G74hI&JE9TuBMayVG- z!lxtK6z3D;Buj;_|LF?$d!%~&dQr^D>7$WrTgtU|(O_MBIiCiio2@KDQU_zC%ktwE zS03$e2;v{@!7oZa>y-j8)#1S7R7}#X#b5mNddX%fOPfd8c2mYEEO85-{*pE4Yc>09Vp_s?Y|k$ z=h4p9mzXEM$Ky)e>Xa*1_FGHmpIbpSP&1{Z6-2lO&>~L$3<5G>+{w!Ebz*=tIwxM( z<|#y_d5{$hKpcMf_(Gu!fp~!<1a#3u#wB-{wWGnIz|UqNzY(IxsjUO|EBq=iZ$ABF zD0SLQYIcU;n;iLVbg4cDz*SzEUFm6%-k}q)2S8vdHi**W3zwk&W>D;m;$EY!nAtdl z)t%b$Uq5lmb-BVfZ0d)-61wlc4B_m_9UVu>DY>uqJ9?2+ha}qjpdVzsY(Vv{VUccf zf_@T6C6P+TS2o?@#^fYi6;@4CB%J{!OMW${v&THlsvu&qC};*+IXTI1zC}QCBpWMr zsE-%2G=|b_8k)$!_>=oExhw_{5JfTveTaA!w?neX4>zVvBVgR+RDI@X_e31hTau0q%J1d=rOc8->E*JS8=ia zlxYChuIS>m2li;Q+CX<%DiTwv&PqnQS&EZ&5H9`$js5g|U#*_ebK~^Y*arPi{lmao zI%Pa1X2z0#0h`syuQWJT?xKFODyr<@qa_4%KIE%MiD0E_H6GDB81rfI2-}US&IXU= zrtmZzBPJs;`eEk>%>VNR11pV+abJXs@Gv_cRiih3x$f_{)?#7_mIeyAP6mzr;FSKh z2fv1&TDC(&0J{W>^2LVCcOHq!f8PDO1gy>cKNyF{D0nkf5_1r z^?BZkc^sRA?0hZbui>{}@vitFJL(W01>2AL>KP=ddpM)yMDryN7T+nwcvu?`H8&A` zzI@QTtcU|r56o6nji0&JAys+m<&d;&&Uuuth_2*4_74ssVqxK>B_VDubIs`DX?5zu$LqK~t8#L4s+lzWHk7L@aeL_#N$-PLH3Q5k zIiKl=Fc5nU0jK66@x9{mXY2-BR?53pdXtDK%yBrJR)D5xBTnlN-Ydx-)T0uD-Lvyc zuFuY@%*mDanrw)KB79;C!?_)YhR@?eNa!WWxky_=U0R>h?sj7!x1z>LhzK=@r6*zs@Jy<<|Ut zz#FfCAAQ2DY{>c=WDlH1tGwvC`ldD@vp@MZtw7C58S>py=cUVYhO8J^x~xIlJ53Me ze+rZ$&EUQ(2Fc!cM?pJVzEhqxkH4s}w`FD3^X0wGXvF|{TU?avTs-4AIR^(E1kl0e*9RHg#s~7uR;9rh-1c>z z9{EdPLoHcy1lEY@UGQ$VB%$FA)`eY~9=|{W0LPM3_=MUJY}f#NO|Kp-#eG~h;KgiN1cItIB7WN z1UQTg)clR-XJ$S@kI+Sa8>T;B^YbHgWNkGLcrm^$XT{{rrT2bMeUFjRXGx_iUD;x2$k3tS#N7W-=rNhT25c; zL(y()ot}ez`Ccw_6)0hvR=(4XJ`LfGnk38mX;Kz)uaVZM48I>I@e~X%g@hW!T7%KN zddiD8BL956ea6`QrswwS^skWL>6SZZ!>ZPdLL(y=0mO^YZ8Z1Ql~+EPbLm*8e%!gQ2`)@J)QtOTx(QzxVKG*ZI** zb*6DbMr#zr^86U>3+raA+F()teD3!fS{7kpC(1h-$TJ;4G=0rp1{SRYV0zQvu()ej z=SwW?G^?uK%(K!*`P^plJ*d+|S&dP`UE9q~q&c!K3x(UAqUvw1Zif6ds~P3&6!h4( z9t`al@jgJ>3H;8n{*bBf9hxpCJgv#M?F;qU@F^aWUfgLi?~{8;2nVzOGb^bwUm0k$ z-0boYr0-a(gsr!67Dj=HjBZScB;5ILfn*aK_c1VZPkxoq#4Y>nmb64aeFM}~QGOKl z9dtj*#UKbi1)Q3&xr!ufK8Uq|zYA+_tK%^ac-m2F5Mhfwq&s?`AgfZlC75APRusl z8|{aLXX@sfTZC6lQ!x&6U<477h@D^O65?28EK+K)R0EYci*n(#@;-8g6+U3|MU0%J?P0H5eRP` zq?e~>10>Li8)3)ULu(j}MMYKB?9l{1qHazfIdk+9A8~AiT*B^OI!D;`v?%3Kc9U^l zOU|{JHvU9ZYTtr<_Jg1q$GCQ}L{!(@GmXgBX%4h)Gq$h%F>lujHg&|d*;Tw_mTh!w zY-(xgdVITiMMXt}r(|dEwfD-PNj0^*D^kXb<)cLqW%>|h8t3g?ycNeLd2}JN>j@QR zLxf?)x%`vX)qw-qk7Pqj!V>zqefM(v3fw{zScMbRM3dUhvGsFD?v_H?555i+X^hz3 z3T-wKtz)OTNBeVx(9%&oi!BXS;uPg|P!PUHPUB4W#57#K=Jfk{(J7ID zTW0C=_fEh6Rky-s;EDwkhp*WAxA^ZNLE9wxK2TOBLwy_3*p7xtUs6U_qe0 zwAB8A>K+IZ3V_Pe@%cXhRMh02bB^wy;$&B2(Esu^JNrHRcgU?YK~5WMrQsgjCND2< z;I9d7JAOz@EQsu`${PTl_C*hcx-c*_qzU^<%zZsGGxnr(000qH7oxicTln<5`HJ-`8oQebFkQzjOUhVYN<;as5rebIu7yeuUVUfxik z1(zQp@ZmjX6d7kENPlnma5L*DDL(<+CG_#bG7G?0^a=F>tCZSWB}mm zU_>Xz5Bbuda^!0jj1~z3@xh}zx~Am_sxgCTAiFNpO%m{=2rlU>QR2OnW`-UDL!pMb z`nROQ>3MnNlLT2Qw_giMO4bg_>Xv*YJ_KiZMlY)R#f`yxFyC(U--Dcb3iwgF$UT8l`b|O?gTSRK21xB zpx&GKNm*b6ZN}w=$W}QC5G&mM+&xD{xP|U{vcd7V%<&DVE2`oWdQkq0c>DGY?8)jI zpdmz$+qbPjaS~_P{G`H0MQE>hj-P=xO*tMahfnNWOD80=WzIUtGLsSc7EQ8k>_g=I zrlwy*)G%~t^jQvxo}T%?Oqf6})&kj3!3-df zsRU8Bk*Bf+#6;|5%1De6wI{4jHj6zoole;5D z_4jXX>-j>?Sz8z+lD)6#9jq% zztyNOkggr=?LUBr(A8_#1i2YO!2SaSyItT&&EB@TI3UQ*_P{@~WgvoG<;jmIZXrku z0s{heC+UZZZ6b-?0o!>7q2zVq2x0*tA+04SC?RY{zTYo~aZm#DKpHT|&J4Y$lYha# z8!*RqDClzkF7&{1TAn?Z0yci@P^u91JM&q7@)@-CT)t&X4=kX#_c$oN^^$(MvswUU zb;$$2#>20FJsl!2ZLpqCSHeZ%fEoOEaI{cFoyL&% zTzvS%vdc$QLA|FZd(&yxL)m91{z6hqI;BODhK?Kl`@`W6dv3eyW--*9`t$elO$quo zyn~Y7siRQTt$%yI(zGW_B@1$TZbW4Pg7F%aD9Szq?o*E{-Jh2?ST+UIJ_8!;0O+cw zgZ%6oTULhyK!^iSUKD{CC)f`eK<_}OKOeEavo^)e&iv&Hu8xw9z{ih-siAEYyJfDYMh11C6MxX}_)vxqGa<9w>3z{WZ~H)l!b@Oycz zG{ln#SD##$gfJ?;Iry_PkI(QKl0sPj_~N>thn}(gN++mdep4uBql=D>Rg{#JECg0x z{lYlbU@t+~Cf>9K>JvYEzU~);7RgcKcwh5Mh@+!+R#9l9M~z z6vSz{A3uJ)Jl(J-oq|hlyh$@CN55iuxr#xIOi>r z1;(#kWDXmi9<>{k6gq63BE`U+F?DR47CZe&)U_)9C}}l7@O~i+PZ%{J)$c(~rk1Hs zNzsk-mOo~%#+NKs`#EXA^en!e9Zb1mC%6QXED9j^B9IkHY}EhFNcq7zIbTjPedU5j zXpmoM9UV<7;P89?SXi>D)VlZxO0E$`+EAZ2;OlFxUOaDLr=Z}M-JoQ)`jeb3E(5W? zFB|_Lq9lgK&DA|#)Gv1o4J+^>giQiBz+Z{_V{wCD%)K5{+x_6k`7tdz@)&^8otoYX z@*Tv74CTEj@DCFA425nbXknm)IO0d?EJ)UTPS3At`*`IFJ&!8n;~6ltU!3UB>iWmv z)6?G5#&q6f0Msk)$FYZ4MOobl+A{V&#!rM(&NU56 z>0Zkh?lz0sN&Rf%lus;phOXZG2C>6oL7t(@j{1o7-?s!mE;ke_UX{ON8;G(`u*n`Y z=Y5XqYM@nfxH|8)F7hXcLA-Bj=9`Wrspsk_wn_|}SWO2*OD-cQOvADo<9e^CpU4MGG$;E6*Z57Eq}Bh4hfmvkf;2D9P2^y zZ`F@9eg?XNpiO-z+3$WWEv=o{FHTZb1*B@Hay_8yiQ$wrct2U`2UD^pR-D<@3DFrp zoM_~+cdS{UqNJ?ff3do6PVl>;q~7;Nnk{9Ep{-+%+NEO1zcvpp|}mH z6cMc1(t41A6}u;8ZR9oaypR+%(LCz#I1b&kh9WuhG&66io12Y3zM%CNNz{X$wVRo4DP@MoyQ2w>gTCBCy;}Cn<5nCY(eK}zW%5Ks zM$+~Ww;}oWD4Cc#u@gK=r{}CmhmhnM54HIO%0uQvGIX`e;jgA1Iv`We2NRaoDQbFq zOXf1EQMPlks(m~1YGV z;~;+)*^hHi1LF^$^lTh+)C77D&Ijs>-iQ|rbFJQ}65@D0d8o9}{rk7^6_@+>?`P-( zm^eJhJ$kFw@K+YS>E`<(Cs(OEsrH?29nMM-rf5Lp+^R%=y^%iTaz4G^Wut?1H>0mD zi0pUyU6&D|l;z<>(4}*`)JIQj*<+IaN($ZT&KHF&rBC%`z530j-j<6~4Q5MzI!lka zn~%J$Pkrkjr}>HJbUD8~?^Fg@REFGo5+9q?)&X%P2dkhpsgk;S7-oq``)=o{D6hn! z)4x`m8XNPtMpu@I(9JG~!CB3LK*cY7OL9)zrC}hbAo)=I`t=aMx4(As8N-Tf%op%; zCW9fi^)x=t&lf<-Z9L@wql(ABYM$H!59{1=E3rnZb%Gqc9q?~U5XL6 zC}&d=K-os_w%_^wZ7G#8>ef+!=51=cY-(qw1nE(XrlN@W%bxPLYlgBb!S~|$QP+HA z8v?1tsWji(l*iw=Vc*6dcYI9CDQNF*%72NoV|j#V!Ii!yE`^(yw@O#+t|MA5R6$IHm5N2^$OC(Y%-JJ9%eDQe&#sQ-@W>uTBEF z)%P>2?_<6?7=LeiZ>9=HqoPKhJ47{}Fj^LAF8#0Y1_4|Nh^MS=<{(#wDRP zmk3|p2ws*tmGHPtf&3Za**mt6nL46Ipo@xJvu;i>34u83XHYXZpSfg3^*^zblj{Bpd-rH3Nlj(d zcTS^6A5Iy*xBs4M8C<&(z=_c2M&~q-cu475sou4!6z)IzbjlFy2SZ;ID|6Qok1mc# zDc-lEZ+7U$`&=kP!6JC`2iHxZ+IN0+*LEg=#Y6Cd>ojMl zCl3z~^QkH@r~rJ2`Dv}Cw>RS&X63~=3_{ea$e3WDFTWw!*;MIft!4_5dB+0+E^aw*_S_-oj&bId>~)c1jgMhY|wF-W*;LDPcFF=Tvy1_v(} zN&wKUQ?@)e*98E0p+zU7nS}*_5NgXzbaavU+Fo9j+sh-@!bYHh9N7#h)`?wGDQubx zz|?j;25r_0jN+dlas2w>gEUTXu%iU1mJE`f+K>|VfkAB)8l45qFLtSB5OAKxZaxRx zL=VJfuhEmP0ErIwyRJ~955zy-g@WTJs7=g6X7k+%6AC>u(=(i5K*|RILp8^1$P0WC zfMqhh4ZiBrCVIdqYilk8UV0f&bDn{AVVM``)yzy!w`{>z7lGQM$hT6jh2HBTHKn{) zuWA?=BtQ1>grfia($e{kTOh!J9uq|695?j+9bh-GQ&VeKZmM4w;KW@IqSKsXBQu7S zKR~_z8PsCSw(~V1z#AMInklv`a{23au#?9q?m8Y9KVAwj!H)thX#HBZ{)IEWI08yc zwn4Ri4nW}+wXwNaC|^1nig@i6(*HR~0?J)4Ah=rE+Lv&CiQ)^>8|fJtd#+AHwXIuB z=SfMwe*7o{+T($Z#@A>`+mi8dr{jN`^DVl1HjaVswVAp3Q>Y)$nhBpt8^3u$0otd& z0A}<$cwd}#hP?a3UJ)4UVPq?q6^BLF`SJ~Mc3-oIj zhB4bdiFSF=@c5;$P-~XGDIg%=eaKr(`~1lzp+bA=dVV4)0}*X39;L4~Db z33b<>>~9}K3Q>LmXTi|snp9clx|V`f5?Mvki~J?X)g7*~pLkWFg`xcloyS1X{&6_! zqIK`yM99Z3q3V1 zHHQJs$95HuPhK~!ZSAC#J#ZVN`FB!C)egc7coja!Nw^!i;Z>yF$Q?YK{`S95nHv0e zHoAWi0}>_2hTJuZII3Tg8uyp-**>~(v}^DbfuNv8*ZFcb(0qjJdY=q^v`b0^m=$~+ zAq}U3V8&rqWHsy1KFx>>us|% zucq@ybr%U-rhx&2^xAuN+fVo%@?%&sjoA0$jt&~sJloNF8{ex9vNbj$Tb}r;z4>dN z>#dyU$-S{dlS-4mlHU4@e; zznVLP81xJ+V!%M>mMsyg!8i|W9|>+zp{OoY+yTj7IyR6pEIehy;vmZ;#pnF2Dp8LY zZ7X)ZHXyd$9Go!6o9X}`IEx+g@wx5JSy*o~!R8<!i>B8?tLAj z?hYIFfbw@G#;2~HC28p3rAAe}B*4h%2H{SV8rKhdHnI^1A>Gd0d!*>Z`N}0S2c~#{kTs3 zE~S#cg>m8Sm+CF~_F-wNa~rbTli0hq!Ybm=!|i{2Zm_eljmKFey#zM1sLOINI0hfA z){`32*+qePd_fi+Ft2KElS)j-dl%NO}H**oRNdY-XGv|7iShZofgd@kdj=wy%!{Y%5dM(~(9A>$*i)%vy=f5H*+< zCT3Jy2*gF%I|`wA^uANU0*2EF)-F*oGGgJ1#aXArEMYoOg=U^gPnT4MkYD94c4Sgg zQed#o!p+^<=peo8);whscX~F}!7w8r<+FLGfR=5nZ^c|K7b^I6*Ade6E#U{x2X=Rb z?yD{b2iK0=D;2xYE5N>dvv%V)ov)vt=#aVl9Nyr-Or4U*`7`$jr98HIv@y!q7z1xw zC|nnnwQk95&Hb;RuQ}1MDaGWly}3y+RAg^_S zYhSk4+!Cg!aVTFPigD=eg5WVCFvH;ZCf)nCH{vn_^TUu5V7 z8$1ya5#kP!y7(GFZEYDuf<`-e zaJhLGAHSDy_{|GA4$mHm+loe%Z>2UqpzjHQ8xngFMZd#s%-2x2@Q#MD)s4U_WuJLM z7Vq~)H+eY4OP2DtAC#0S3k8a0_am3cFVh5WxM6n7-0QOrfof-6%%@v?&ZH^076@6= z)r~fG)rZ2sZhQmrPeBfCYS*Weu}n6i=Du-Wh8iexGS7W#AG_*o|}V2ELs2U?DL~*}C$Ts;|Xibhkof zANCAD{~^yWbDX7{LKtHRRMm}vgr%siUXmwfkwVR*{Xw!*bqb8zZBt1KhX%Ills43$ z>;Lp<1;lUW?s0yzA@#+_-&dQXTR(j&OoefEWHPA6hp;gW7B)@5Q zbVLN+UNKBg@=aZO)8Bkv+XEJtkCXOt=n*H&>4#j?VoRVa7%BvGJ5y;uUCfZ@!;_Sn zp;8A{LEZ2EDto4c`b`Y$J5yn)KwT&d&t54Bx&1}I+!IrM1-7WSW>Nja2<-B)|7ZJeNuM@#=7CHC@tEO(UI-C02 zbF1fJncB!S4`phXqKT6O^L=i+$3;vRdD?ur$8>E}8P+rIcKG@oCwd9cH9008+BeKj zOw=aaU7L>V2 zHyrHjwp?%N0b`F}cLuC9>jG%)2su&N_K(7jLc86!cFNJ$@75`)ptVbE8Dj6HxK0)_ z2$C#@)mZ|S24`W<2n*^i3wNaVCpCKN}{o9XsMo_>}kb=SsUJq|5{^Z*z5Xb7+rd z^w#&NIQ&e|q<60+{uk55g5Aww9|5)dCKY!DE6!)Vy#9{*52c$}%H2mA8o4HB#qatw zplkvBp);~#_n1F>#lAD7c7Re;g+f%jEjtU*8_K@%0SP{;Zk!XjLg3iQ_Q8{q0$n1` z>!`O@2|KJ$E4q4wM{l65%;RWy)X%k{@oj#m5&P7?ex8AiH8YM&<+>bUR{k87iYvgF zbrj^chf6LjzO{cE%E}(ir(Z!d>I->?@Zl5RIs1Qtt^oYJL3&A-OQTj5Mv6CU?0XSm zrlf_sLl@{MZq;Z%nU-|F{ZYoC!7#1Zp#fTU#mo~+rO`)!87b9KmfbvBSNBPD!g0iEGz_@J$GiS{C;_`ml{Uf=v6;=N_#m){#=|GD7SIt9fJZF}?g zr#)A5Zl$>9cuD1@GWVs5`vrM92 zwVh&5ny*miaLTbRoHp1JQ|l#W2Ym*g+_pfQ5k_6{0Yc+}T26VR@?fMxyqT`vhmj6j7Bq65 z41MN(2``O&_$RD<^pQQb2#Blg$#=%_AIy_ojgKObwE^5jdIl6QB8A_>Wq#Yhk1 zPji8d!`AgRXhp^mY2EFJN|-#N{?4+T^c{DWZrO`QKVOu z@PAc@XX`}08Tb6-)R^Yjdrci>q-6*+MWYQLyi~W$%L(w1TIQ0$0k;;k93%3L6YXw z!zmn;CyFVmF%#C`@O&Cm86Gs65%i4ZjZs=m?0W4puD{l7EZlBqNv{vSISQJ-KXtN`|@te5J`U;yzwD`hDOmt3M*d60`uDAa1p7f~vwI;C-vO_@I1@GzMTbDRP7-AvOp_uI9qDo2 Zh=^b#jYho@3?%9ZC3%!wj;!IU{|B^vwyFRC literal 0 HcmV?d00001 diff --git a/doc/online/Makefile b/doc/online/Makefile new file mode 100644 index 0000000..b9755bd --- /dev/null +++ b/doc/online/Makefile @@ -0,0 +1,8 @@ +all: + meinproc --stylesheet /opt/kde3/share/apps/ksgmltools2/customization/kde-web.xsl ../en/index.docbook + ./replace + rm *.bak + cp ../en/*.png . + +clean: + rm *.png *.html diff --git a/doc/online/replace b/doc/online/replace new file mode 100755 index 0000000..9b99c81 --- /dev/null +++ b/doc/online/replace @@ -0,0 +1,2 @@ +von='..\/common\/kde_logo.png' nach='kde_logo.png'; filetype='*.html'; OLDIFS=$IFS; IFS=' +' ; files=`find . -name "$filetype"`; for f in $files;do cp $f $f.bak; g="$f.mettytmp"; echo "Searching in $f ..."; cat "$f" | sed "s/$von/$nach/" > "$g" && mv "$g" "$f"; rm -f *.mettytmp; done; IFS=$OLDIFS; diff --git a/kpowersave.kdevelop b/kpowersave.kdevelop new file mode 100644 index 0000000..bd41311 --- /dev/null +++ b/kpowersave.kdevelop @@ -0,0 +1,245 @@ + + + + Danny Kukawka + dkukawka@suse.de, danny.kukawka@web.de + 0.7.x - TRUNK + KDevKDEAutoProject + C++ + + C++ + Code + Qt + KDE + + . + false + + + kdevabbrev + kdevvalgrind + kdevsnippet + kdevscripting + kdevctags2 + + + + kpowersave + + + + + src/kpowersave.la + default + + + src/kpowersave + executable + / + + false + true + + + . + false + false + false + + + + optimized + kdevgccoptions + kdevgppoptions + kdevg77options + -O2 -g0 + + + --enable-debug=full --prefix=/opt/kde3 + debug + kdevgccoptions + kdevgppoptions + kdevg77options + -O0 -g3 + + + + + + + + + + + --prefix=/opt/kde3 + + + + + kdevgccoptions + kdevgppoptions + kdevg77options + + + + + + + + + + + + + + + true + 1 + false + + 0 + false + + + + + + + + + + false + false + + + *.o,*.lo,CVS,*~ + false + false + + + + + gtk + gnustep + python + php + perl + + + html/ + html/ + + + + + + + + + libtool + + /usr/bin/ + + + + true + true + true + + + true + true + 10 + + + + + + + + + + + + + Qt + KDElibs + + + true + true + true + true + true + true + true + 250 + 400 + 250 + false + 0 + true + true + false + std=_GLIBCXX_STD;__gnu_cxx=std + true + false + false + false + true + true + true + false + .; + false + false + + + + set + m_,_ + theValue + true + true + + + true + 3 + /usr/lib/qt3 + 3 + ExternalDesigner + /usr/lib/qt3/bin/qmake + /usr/lib/qt3/bin/designer + + + + false + true + Vertical + + + + + .h + .cpp + + + + true + true + true + true + -C + + + + + + + + + + + + + diff --git a/packaging/FC4.kpowersave.spec b/packaging/FC4.kpowersave.spec new file mode 100644 index 0000000..c0d377d --- /dev/null +++ b/packaging/FC4.kpowersave.spec @@ -0,0 +1,72 @@ +# +# spec file for package kpowersave (Version 0.6.2) +# +# Copyright (c) hmacht@suse,de, danny.kukawka@web.de +# This file and all modifications and additions to the pristine +# package are under the same license as the package itself. +# + +# norootforbuild + + +Name: kpowersave +License: GPL +Group: System/GUI/KDE +BuildRoot: %{_tmppath}/%{name}-%{version}-build +Summary: KDE Frontend to powersave Package, Battery Monitor and General Power Management Support +Version: 0.6.2 +Release: 1 +ExclusiveArch: %ix86 x86_64 ia64 ppc +Requires: powersave >= 0.12.18 powersave-libs >= 0.12.18 /sbin/pidof /usr/X11R6/bin/xset +Source: %{name}-%{version}.tar.bz2 + +%description +The package provides battery monitoring and suspend/standby triggers. +It is based on the powersave package and therefore supports APM and +ACPI. Together with the powersave package and the YaST Powermanagement +module it is the preferred package that should be used for battery +monitoring and control of power management related tasks. See powersave +package for additional features such as CPU frequency scaling(SpeedStep +and PowerNow) and more. + + + +Authors: +-------- + Thomas Renninger (trenn@suse.de, mail@renninger.de) + Danny Kukawka (dkukawka@suse.de, danny.kukawka@web.de) + +%prep +%setup -n %{name}-%{version} -q + +%build +make -f admin/Makefile.common cvs +./configure --prefix=/usr + +make + +%install +make DESTDIR=$RPM_BUILD_ROOT install + +%post + +%postun + +%clean +rm -rf $RPM_BUILD_ROOT + +%files +%defattr(-,root,root) +%doc README AUTHORS ChangeLog COPYING INSTALL +/usr/bin/kpowersave +/usr/share/config/kpowersaverc +/usr/share/autostart/kpowersave-autostart.desktop +/usr/share/apps/kpowersave +/usr/share/icons/??color +/usr/share/applications/kde/kpowersave.desktop +/usr/share/doc/HTML/*/kpowersave +/usr/lib*/kde3/kpowersave.* +/usr/lib*/libkdeinit_kpowersave.* +/usr/share/locale/* + +%changelog -n kpowersave diff --git a/packaging/FC5.kpowersave.spec b/packaging/FC5.kpowersave.spec new file mode 100644 index 0000000..d7e38df --- /dev/null +++ b/packaging/FC5.kpowersave.spec @@ -0,0 +1,74 @@ +# +# spec file for package kpowersave (Version 0.6.2) +# +# Copyright (c) hmacht@suse.de, danny.kukawka@web.de +# This file and all modifications and additions to the pristine +# package are under the same license as the package itself. +# +# Please submit bugfixes or comments via http://bugs.opensuse.org +# + +# norootforbuild + + +Name: kpowersave +License: GPL +Group: System/GUI/KDE +BuildRoot: %{_tmppath}/%{name}-%{version}-build +Summary: KDE Frontend to powersave Package, Battery Monitor and General Power Management Support +Version: 0.6.2 +Release: 1 +ExclusiveArch: %ix86 x86_64 ia64 ppc +Requires: powersave >= 0.12.18 powersave-libs >= 0.12.18 /sbin/pidof /usr/bin/xset +Source: %{name}-%{version}.tar.bz2 + +%description +The package provides battery monitoring and suspend/standby triggers. +It is based on the powersave package and therefore supports APM and +ACPI. Together with the powersave package and the YaST Powermanagement +module it is the preferred package that should be used for battery +monitoring and control of power management related tasks. See powersave +package for additional features such as CPU frequency scaling(SpeedStep +and PowerNow) and more. + + + +Authors: +-------- + Thomas Renninger (trenn@suse.de, mail@renninger.de) + Danny Kukawka (dkukawka@suse.de, danny.kukawka@web.de) + +%prep +%setup -n %{name}-%{version} -q + +%build +make -f admin/Makefile.common cvs +./configure --prefix=/usr + +make + +%install +make DESTDIR=$RPM_BUILD_ROOT install + +%post + +%postun + +%clean +rm -rf $RPM_BUILD_ROOT + +%files +%defattr(-,root,root) +%doc README AUTHORS ChangeLog COPYING INSTALL +/usr/bin/kpowersave +/usr/share/config/kpowersaverc +/usr/share/autostart/kpowersave-autostart.desktop +/usr/share/apps/kpowersave +/usr/share/icons/??color +/usr/share/applications/kde/kpowersave.desktop +/usr/share/doc/HTML/*/kpowersave +/usr/lib*/kde3/kpowersave.* +/usr/lib*/libkdeinit_kpowersave.* +/usr/share/locale/* + +%changelog -n kpowersave diff --git a/packaging/FC6.kpowersave.spec b/packaging/FC6.kpowersave.spec new file mode 100644 index 0000000..1136d6b --- /dev/null +++ b/packaging/FC6.kpowersave.spec @@ -0,0 +1,100 @@ +# +# spec file for package kpowersave (Version 0.7.2) +# +# Copyright (c) hmacht@suse.de, danny.kukawka@web.de +# This file and all modifications and additions to the pristine +# package are under the same license as the package itself. +# +# Please submit bugfixes or comments via http://bugs.opensuse.org +# + +# norootforbuild + + +Name: kpowersave +License: GPL +Group: System/GUI/KDE +BuildRoot: %{_tmppath}/%{name}-%{version}-build +Summary: KDE Frontend for Power Management, Battery Monitoring and Suspend +Version: 0.7.2 +Release: 2.FC6%{?dist} +ExclusiveArch: %ix86 x86_64 ia64 ppc +Requires: hal >= 0.5.8.1 dbus-qt /sbin/pidof /usr/bin/xset +Source: %{name}-%{version}.tar.bz2 + +BuildRequires: kdelibs-devel +BuildRequires: gettext +BuildRequires: dbus-qt-devel +BuildRequires: automake +BuildRequires: libXext-devel libXScrnSaver-devel libXtst-devel +BuildRequires: hal-devel desktop-file-utils + +%description +KPowersave provides battery monitoring, CPU frequency control and suspend/standby +triggers and more power management features for KDE. It uses HAL (formerly the +powersave daemon) and supports APM and ACPI for several architectures. + + +Authors: +-------- + Danny Kukawka (dkukawka@suse.de, danny.kukawka@web.de) + Thomas Renninger (trenn@suse.de, mail@renninger.de) + +%prep +%setup -n %{name}-%{version} -q +make -f admin/Makefile.common cvs + +%build +unset QTDIR || : ; . /etc/profile.d/qt.sh + +%configure \ + --disable-rpath \ + --enable-new-ldflags \ + --disable-debug --disable-warnings \ + --disable-dependency-tracking + +make %{?_smp_mflags} + +%install +make DESTDIR=$RPM_BUILD_ROOT install + +desktop-file-install \ +--dir $RPM_BUILD_ROOT%{_datadir}/applications/kde \ +--vendor="" \ +$RPM_BUILD_ROOT%{_datadir}/applications/kde/kpowersave.desktop + +## File lists +# locale's +%find_lang %{name} || touch %{name}.lang +# HTML +HTML_DIR=$(kde-config --expandvars --install html) +if [ -d $RPM_BUILD_ROOT$HTML_DIR ]; then +for lang_dir in $RPM_BUILD_ROOT$HTML_DIR/* ; do + lang=$(basename $lang_dir) + echo "%lang($lang) %doc $HTML_DIR/$lang/*" >> %{name}.lang +done +fi + + +%post +touch --no-create %{_datadir}/icons/hicolor || : + +%postun +touch --no-create %{_datadir}/icons/hicolor || : + +%clean +rm -rf $RPM_BUILD_ROOT + +%files -f %{name}.lang +%defattr(-,root,root,-) +%doc README AUTHORS ChangeLog COPYING INSTALL +%{_bindir}/kpowersave +%{_libdir}/kde3/kpowersave.* +%{_libdir}/libkdeinit_kpowersave.* +%{_datadir}/applications/kde/*kpowersave.desktop +%{_datadir}/apps/kpowersave/ +%{_datadir}/autostart/kpowersave-autostart.desktop +%{_datadir}/config/kpowersaverc +%{_datadir}/icons/hicolor/*/*/* + +%changelog -n kpowersave diff --git a/packaging/SUSE10.0.kpowersave.spec b/packaging/SUSE10.0.kpowersave.spec new file mode 100644 index 0000000..e171f9e --- /dev/null +++ b/packaging/SUSE10.0.kpowersave.spec @@ -0,0 +1,82 @@ +# +# spec file for package kpowersave (Version 0.6.2) +# +# Copyright (c) 2006 SUSE LINUX Products GmbH, Nuernberg, Germany. +# This file and all modifications and additions to the pristine +# package are under the same license as the package itself. +# +# Please submit bugfixes or comments via http://bugs.opensuse.org +# + +# norootforbuild +# neededforbuild dbus-1 dbus-1-devel dbus-1-qt3 hal hal-devel kde3-devel-packages kdelibs3 lsb pkgconfig powersave powersave-devel powersave-libs suse-release + +Name: kpowersave +BuildRequires: dbus-1-qt3-devel hal-devel kdelibs3-devel powersave-devel lsb suse-release +License: GPL +Group: System/GUI/KDE +BuildRoot: %{_tmppath}/%{name}-%{version}-build +Summary: KDE Front-End to powersave Package, Battery Monitor, and General Power Management Support +Version: 0.6.2 +Release: 1 +ExclusiveArch: %ix86 x86_64 ia64 ppc +Requires: powersave >= 0.12.18 powersave-libs >= 0.12.18 yast2-power-management /sbin/pidof /usr/X11R6/bin/xset +Source: %{name}-%{version}.tar.bz2 + +%description +The package provides battery monitoring and suspend and standby +triggers. It is based on the powersave package and therefore supports +APM and ACPI. Together with the powersave package and the YaST power +management module, it is the preferred package that should be used for +battery monitoring and control of power management related tasks. See +the powersave package for additional features, such as CPU frequency +scaling (SpeedStep and PowerNow). + + + +Authors: +-------- + Thomas Renninger (trenn@suse.de, mail@renninger.de) + Danny Kukawka (dkukawka@suse.de, danny.kukawka@web.de) + +%prep +%setup -n %{name}-%{version} -q +. /etc/opt/kde3/common_options +update_admin + +%build +. /etc/opt/kde3/common_options +./configure --enable-yast-entry + +make + +%install +. /etc/opt/kde3/common_options +make DESTDIR=$RPM_BUILD_ROOT $INSTALL_TARGET +%suse_update_desktop_file %name Utility TrayIcon +%find_lang %name + +%post +%{run_ldconfig} + +%postun +%{run_ldconfig} + +%clean +rm -rf $RPM_BUILD_ROOT + +%files -f %name.lang +%defattr(-,root,root) +%doc README AUTHORS ChangeLog COPYING INSTALL NEWS +/opt/kde3/share/doc/* +/opt/kde3/bin/* +/opt/kde3/share/config/kpowersaverc +/opt/kde3/share/autostart/kpowersave-autostart.desktop +/opt/kde3/share/apps/kpowersave +/opt/kde3/share/icons/??color +/opt/kde3/share/applications/kde/kpowersave.desktop +/opt/kde3/lib*/kde3/kpowersave.* +/opt/kde3/lib*/libkdeinit_kpowersave.* + +%changelog -n kpowersave + diff --git a/packaging/SUSE10.1.kpowersave.spec b/packaging/SUSE10.1.kpowersave.spec new file mode 100644 index 0000000..29014dd --- /dev/null +++ b/packaging/SUSE10.1.kpowersave.spec @@ -0,0 +1,81 @@ +# +# spec file for package kpowersave (Version 0.6.2) +# +# Copyright (c) 2006 SUSE LINUX Products GmbH, Nuernberg, Germany. +# This file and all modifications and additions to the pristine +# package are under the same license as the package itself. +# +# Please submit bugfixes or comments via http://bugs.opensuse.org/ +# + +# norootforbuild + +Name: kpowersave +BuildRequires: dbus-1-qt3-devel hal-devel kdelibs3-devel powersave-devel lsb suse-release +License: GPL +Group: System/GUI/KDE +BuildRoot: %{_tmppath}/%{name}-%{version}-build +Summary: KDE Front-End to powersave Package, Battery Monitor, and General Power Management Support +Version: 0.6.2 +Release: 1 +ExclusiveArch: %ix86 x86_64 ia64 ppc +Requires: powersave >= 0.12.18 powersave-libs >= 0.12.18 yast2-power-management /sbin/pidof /usr/X11R6/bin/xset +Source: %{name}-%{version}.tar.bz2 + +%description +The package provides battery monitoring and suspend and standby +triggers. It is based on the powersave package and therefore supports +APM and ACPI. Together with the powersave package and the YaST power +management module, it is the preferred package that should be used for +battery monitoring and control of power management related tasks. See +the powersave package for additional features, such as CPU frequency +scaling (SpeedStep and PowerNow). + + + +Authors: +-------- + Thomas Renninger (trenn@suse.de, mail@renninger.de) + Danny Kukawka (dkukawka@suse.de, danny.kukawka@web.de) + +%prep +%setup -n %{name}-%{version} -q +. /etc/opt/kde3/common_options +update_admin + +%build +. /etc/opt/kde3/common_options +./configure --enable-yast-entry + +make + +%install +. /etc/opt/kde3/common_options +make DESTDIR=$RPM_BUILD_ROOT $INSTALL_TARGET +%suse_update_desktop_file %name Utility TrayIcon +%find_lang %name + +%post +%{run_ldconfig} + +%postun +%{run_ldconfig} + +%clean +rm -rf $RPM_BUILD_ROOT + +%files -f %name.lang +%defattr(-,root,root) +%doc README AUTHORS ChangeLog COPYING INSTALL NEWS +/opt/kde3/share/doc/* +/opt/kde3/bin/* +/opt/kde3/share/config/kpowersaverc +/opt/kde3/share/autostart/kpowersave-autostart.desktop +/opt/kde3/share/apps/kpowersave +/opt/kde3/share/icons/??color +/opt/kde3/share/applications/kde/kpowersave.desktop +/opt/kde3/lib*/kde3/kpowersave.* +/opt/kde3/lib*/libkdeinit_kpowersave.* + +%changelog -n kpowersave + diff --git a/packaging/SUSE9.2.kpowersave.spec b/packaging/SUSE9.2.kpowersave.spec new file mode 100644 index 0000000..d252d12 --- /dev/null +++ b/packaging/SUSE9.2.kpowersave.spec @@ -0,0 +1,78 @@ +# +# spec file for package kpowersave (Version 0.3.9) +# +# Copyright (c) 2004 SUSE LINUX AG, Nuernberg, Germany. +# This file and all modifications and additions to the pristine +# package are under the same license as the package itself. +# +# Please submit bugfixes or comments via http://www.suse.de/feedback/ +# + +# norootforbuild +# neededforbuild kde3-devel-packages kdelibs3 powersave + +BuildRequires: aaa_base acl attr bash bind-utils bison bzip2 coreutils cpio cpp cracklib cvs cyrus-sasl db devs diffutils e2fsprogs file filesystem fillup findutils flex gawk gdbm-devel glibc glibc-devel glibc-locale gpm grep groff gzip info insserv less libacl libattr libgcc libnscd libselinux libstdc++ libxcrypt libzio m4 make man mktemp module-init-tools ncurses ncurses-devel net-tools netcfg openldap2-client openssl pam pam-modules patch permissions popt procinfo procps psmisc pwdutils rcs readline sed strace syslogd sysvinit tar tcpd texinfo timezone unzip util-linux vim zlib zlib-devel arts arts-devel autoconf automake binutils expat fam fam-devel fontconfig fontconfig-devel freeglut freeglut-devel freetype2 freetype2-devel gcc gcc-c++ gdbm gettext glib2 glib2-devel gnome-filesystem jack jack-devel kdelibs3 kdelibs3-devel kdelibs3-doc libart_lgpl libart_lgpl-devel libidn libidn-devel libjpeg libjpeg-devel liblcms liblcms-devel libmng libmng-devel libpng libpng-devel libstdc++-devel libtiff libtiff-devel libtool libxml2 libxml2-devel libxslt libxslt-devel openssl-devel pcre pcre-devel perl powersave qt3 qt3-devel rpm update-desktop-files xorg-x11-Mesa xorg-x11-Mesa-devel xorg-x11-devel xorg-x11-libs + +Name: kpowersave +License: LGPL +Group: System/GUI/KDE +BuildRoot: %{_tmppath}/%{name}-%{version}-build +Summary: KDE Frontend to powersave Package, Battery Monitor and General Power Management Support +Version: 0.3.8 +Release: 2 +Requires: powersave >= 0.8.14 yast2-power-management +Source: %{name}-%{version}.tar.bz2 + +%description +The package provides battery monitoring and suspend/standby triggers. +It is based on the powersave package and therefore supports APM and +ACPI. Together with the powersave package and the YaST Powermanagement +module it is the preferred package that should be used for battery +monitoring and control of power management related tasks. See powersave +package for additional features such as CPU frequency scaling(SpeedStep +and PowerNow) and more. + + + +Authors: +-------- + Thomas Renninger (trenn@suse.de, mail@renninger.de) + Danny Kukawka (dkukawka@suse.de, danny.kukawka@web.de) + +%prep +%setup -n %{name}-%{version} -q +. /etc/opt/kde3/common_options +update_admin + +%build +. /etc/opt/kde3/common_options +./configure $configkde + +make + +%install +. /etc/opt/kde3/common_options +make DESTDIR=$RPM_BUILD_ROOT $INSTALL_TARGET +%suse_update_desktop_file %name Utility TrayIcon +%find_lang %name + +%post +%{run_ldconfig} + +%postun +%{run_ldconfig} + +%clean +rm -rf $RPM_BUILD_ROOT + +%files -f %name.lang +%defattr(-,root,root) +/opt/kde3/bin/* +/opt/kde3/share/autostart/kpowersave.desktop +/opt/kde3/share/apps/kpowersave +/opt/kde3/share/icons/??color +/opt/kde3/share/applications/kde/kpowersave.desktop +/opt/kde3/lib*/kde3/kpowersave.* +/opt/kde3/lib*/libkdeinit_kpowersave.* + +%changelog -n kpowersave diff --git a/packaging/SUSE9.3.kpowersave.spec b/packaging/SUSE9.3.kpowersave.spec new file mode 100644 index 0000000..ee0727b --- /dev/null +++ b/packaging/SUSE9.3.kpowersave.spec @@ -0,0 +1,82 @@ +# +# spec file for package kpowersave (Version 0.4.6) +# +# Copyright (c) 2005 SUSE LINUX Products GmbH, Nuernberg, Germany. +# This file and all modifications and additions to the pristine +# package are under the same license as the package itself. +# +# Please submit bugfixes or comments via http://www.suse.de/feedback/ +# + +# norootforbuild +# neededforbuild kde3-devel-packages kdelibs3 powersave resmgr suse-release + +BuildRequires: aaa_base acl attr bash bind-utils bison bzip2 coreutils cpio cpp cracklib cvs cyrus-sasl db devs diffutils e2fsprogs file filesystem fillup findutils flex gawk gdbm-devel gettext-devel glibc glibc-devel glibc-locale gpm grep groff gzip info insserv klogd less libacl libattr libcom_err libgcc libnscd libselinux libstdc++ libxcrypt libzio m4 make man mktemp module-init-tools ncurses ncurses-devel net-tools netcfg openldap2-client openssl pam pam-modules patch permissions popt procinfo procps psmisc pwdutils rcs readline sed strace sysvinit tar tcpd texinfo timezone unzip util-linux vim zlib zlib-devel arts arts-devel autoconf automake binutils expat fam fam-devel fontconfig fontconfig-devel freeglut freeglut-devel freetype2 freetype2-devel gcc gcc-c++ gdbm gettext glib2 glib2-devel gnome-filesystem jack jack-devel kdelibs3 kdelibs3-devel kdelibs3-doc libart_lgpl libart_lgpl-devel libgcrypt libgcrypt-devel libgpg-error libgpg-error-devel libidn libidn-devel libjpeg libjpeg-devel liblcms liblcms-devel libmng libmng-devel libpng libpng-devel libstdc++-devel libtiff libtiff-devel libtool libxml2 libxml2-devel libxslt libxslt-devel openssl-devel pcre pcre-devel perl powersave python qt3 qt3-devel resmgr rpm suse-release unsermake update-desktop-files xorg-x11-Mesa xorg-x11-Mesa-devel xorg-x11-devel xorg-x11-libs + +Name: kpowersave +License: LGPL +Group: System/GUI/KDE +BuildRoot: %{_tmppath}/%{name}-%{version}-build +Summary: KDE Frontend to powersave Package, Battery Monitor and General Power Management Support +Version: 0.4.6 +Release: 1 +ExclusiveArch: %ix86 x86_64 ia64 ppc +Requires: powersave >= 0.9.25 yast2-power-management /sbin/pidof +Source: %{name}-%{version}.tar.bz2 + +%description +The package provides battery monitoring and suspend/standby triggers. +It is based on the powersave package and therefore supports APM and +ACPI. Together with the powersave package and the YaST Powermanagement +module it is the preferred package that should be used for battery +monitoring and control of power management related tasks. See powersave +package for additional features such as CPU frequency scaling(SpeedStep +and PowerNow) and more. + + + +Authors: +-------- + Thomas Renninger (trenn@suse.de, mail@renninger.de) + Danny Kukawka (dkukawka@suse.de, danny.kukawka@web.de) + +%prep +%setup -n %{name}-%{version} -q +. /etc/opt/kde3/common_options +update_admin + +%build +. /etc/opt/kde3/common_options +./configure + +make + +%install +. /etc/opt/kde3/common_options +make DESTDIR=$RPM_BUILD_ROOT $INSTALL_TARGET +rm $RPM_BUILD_ROOT/opt/kde3/share/doc/ -r +%suse_update_desktop_file %name Utility TrayIcon +%find_lang %name + +%post +%{run_ldconfig} + +%postun +%{run_ldconfig} + +%clean +rm -rf $RPM_BUILD_ROOT + +%files -f %name.lang +%defattr(-,root,root) +%doc README AUTHORS ChangeLog COPYING INSTALL +/opt/kde3/bin/* +/opt/kde3/share/config/kpowersaverc +/opt/kde3/share/autostart/kpowersave.desktop +/opt/kde3/share/apps/kpowersave +/opt/kde3/share/icons/??color +/opt/kde3/share/applications/kde/kpowersave.desktop +/opt/kde3/lib*/kde3/kpowersave.* +/opt/kde3/lib*/libkdeinit_kpowersave.* + +%changelog -n kpowersave diff --git a/packaging/mandriva.2006.1.kpowersave.spec b/packaging/mandriva.2006.1.kpowersave.spec new file mode 100644 index 0000000..673c20d --- /dev/null +++ b/packaging/mandriva.2006.1.kpowersave.spec @@ -0,0 +1,74 @@ +# +# spec file for package kpowersave (Version 0.6.2) +# +# Copyright (c) hmacht@suse.de, danny.kukawka@web.de +# This file and all modifications and additions to the pristine +# package are under the same license as the package itself. +# +# Please submit bugfixes or comments via http://bugs.opensuse.org +# + +# norootforbuild + +Name: kpowersave +License: GPL +Group: System/GUI/KDE +BuildRequires: powersave-libs powersave-devel libhal1 libhal1-devel libdbus-qt-1_0-devel libdbus-qt-1_0 libkdecore4-devel +BuildRoot: %{_tmppath}/%{name}-%{version}-build +Summary: KDE Frontend to powersave Package, Battery Monitor and General Power Management Support +Version: 0.6.2 +Release: %mkrel 1 +ExclusiveArch: %ix86 x86_64 ia64 ppc +Requires: powersave >= 0.12.18 powersave-libs >= 0.12.18 /sbin/pidof /usr/X11R6/bin/xset +Source: %{name}-%{version}.tar.bz2 + +%description +The package provides battery monitoring and suspend/standby triggers. +It is based on the powersave package and therefore supports APM and +ACPI. Together with the powersave package and the YaST Powermanagement +module it is the preferred package that should be used for battery +monitoring and control of power management related tasks. See powersave +package for additional features such as CPU frequency scaling(SpeedStep +and PowerNow) and more. + + + +Authors: +-------- + Thomas Renninger (trenn@suse.de, mail@renninger.de) + Danny Kukawka (dkukawka@suse.de, danny.kukawka@web.de) + +%prep +%setup -n %{name}-%{version} -q + +%build +make -f admin/Makefile.common cvs +./configure --prefix=/usr + +make + +%install +make DESTDIR=$RPM_BUILD_ROOT install + +%post + +%postun + +%clean +rm -rf $RPM_BUILD_ROOT + +%files +%defattr(-,root,root) +%doc README AUTHORS ChangeLog COPYING INSTALL +/usr/bin/kpowersave +/usr/share/config/kpowersaverc +/usr/share/autostart/kpowersave-autostart.desktop +/usr/share/apps/kpowersave +/usr/share/icons/??color +/usr/share/applications/kde/kpowersave.desktop +/usr/share/doc/HTML/*/kpowersave +/usr/lib*/kde3/kpowersave.* +/usr/lib*/libkdeinit_kpowersave.* +/usr/share/locale/* + +%changelog -n kpowersave diff --git a/packaging/mandriva.2007.1.kpowersave.spec b/packaging/mandriva.2007.1.kpowersave.spec new file mode 100644 index 0000000..a8930d0 --- /dev/null +++ b/packaging/mandriva.2007.1.kpowersave.spec @@ -0,0 +1,98 @@ +%define name kpowersave +%define version 0.7.2 +%define release %mkrel 1 + +Summary: KDE power management applet +Name: %{name} +Version: %{version} +Release: %{release} +Source0: http://prdownloads.sourceforge.net/powersave/%{name}-%{version}.tar.bz2 + +License: GPL +Group: Graphical desktop/KDE +Url: http://powersave.sourceforge.net/ +BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-buildroot +BuildRequires: hal-devel, libdbus-qt-1-devel, kdelibs-devel +%ifarch x86_64 +BuildRequires: lib64qt3-devel, lib64qt3-static-devel lib64gamin-1_0-devel lib64art_lgpl2-devel lib64kdecore4-devel +%else +BuildRequires: libqt3-devel libqt3-static-devel libgamin-1_0-devel libart_lgpl2-devel libkdecore4-devel +%endif +BuildRequires: autoconf2.5 automake1.8 +%if %mdkversion > 200600 +BuildRequires: libxscrnsaver-devel libxtst-devel +%endif +Requires: hal >= 0.5.8.1 /sbin/pidof /usr/bin/xset +%ifarch x86_64 +Requires: lib64dbus-qt-1_1 +%else +Requires: libdbus-qt-1_1 +%endif +%description +KPowersave provides battery monitoring, CPU frequency control and suspend/standby +triggers and more power management features for KDE. It uses HAL (formerly the +powersave daemon) and supports APM and ACPI for several architectures. + +Authors: +-------- + Danny Kukawka (dkukawka@suse.de, danny.kukawka@web.de) + Thomas Renninger (trenn@suse.de, mail@renninger.de) + + +#-------------------------------------------------------------------- + +%prep +%setup -q -n %{name}-%{version} + +%build +%make -f admin/Makefile.common cvs +%configure --disable-rpath +%make + +%install +rm -rf %{buildroot} +%makeinstall_std + +%find_lang %{name} + +mkdir -p $RPM_BUILD_ROOT%{_menudir} +kdedesktop2mdkmenu.pl %{name} "System/Monitoring" $RPM_BUILD_ROOT%{_datadir}/applications/kde/kpowersave.desktop $RPM_BUILD_ROOT%{_menudir}/%{name} +install -D -m 644 %{buildroot}%{_iconsdir}/hicolor/32x32/apps/%{name}.png %{buildroot}%{_iconsdir}/%{name}.png +install -D -m 644 %{buildroot}%{_iconsdir}/hicolor/48x48/apps/%{name}.png %{buildroot}%{_liconsdir}/%{name}.png +install -D -m 644 %{buildroot}%{_iconsdir}/hicolor/16x16/apps/%{name}.png %{buildroot}%{_miconsdir}/%{name}.png + +%post +%{update_menus} +%if %mdkversion > 200600 +%update_icon_cache hicolor +%endif + +%postun +%{clean_menus} +%if %mdkversion > 200600 +%clean_icon_cache hicolor +%endif + +%clean +rm -rf %{buildroot} + +%files -f %{name}.lang +%defattr(-,root,root) +%doc README AUTHORS ChangeLog COPYING INSTALL +%{_bindir}/%{name} +%{_datadir}/config/kpowersaverc +%{_datadir}/autostart/kpowersave-autostart.desktop +%{_datadir}/apps/%{name} +%{_iconsdir}/hicolor/*/apps/*.png +%{_datadir}/icons/*.png +%{_datadir}/applications/kde/kpowersave.desktop +%doc %{_docdir}/HTML/*/kpowersave +%{_libdir}/kde3/* +%{_libdir}/*.so +%{_libdir}/*.la +%{_miconsdir}/%{name}.png +%{_iconsdir}/%{name}.png +%{_liconsdir}/%{name}.png +%{_menudir}/%{name} + +%changelog diff --git a/packaging/openSUSE10.2.kpowersave.spec b/packaging/openSUSE10.2.kpowersave.spec new file mode 100644 index 0000000..d757695 --- /dev/null +++ b/packaging/openSUSE10.2.kpowersave.spec @@ -0,0 +1,88 @@ +# +# spec file for package kpowersave (Version 0.7.1) +# +# Copyright (c) 2006 SUSE LINUX Products GmbH, Nuernberg, Germany. +# This file and all modifications and additions to the pristine +# package are under the same license as the package itself. +# +# Please submit bugfixes or comments via http://bugs.opensuse.org/ +# + +# norootforbuild + +Name: kpowersave +%if 0%{?sles_version} > 0 +# needed to detect in configure if this is a Enterprise product and set the correct bugzilla website +BuildRequires: dbus-1-qt3-devel hal-devel kdelibs3-devel lsb sles-release +%else +BuildRequires: dbus-1-qt3-devel hal-devel kdelibs3-devel lsb openSUSE-release +%endif +License: GNU General Public License (GPL) +Group: System/GUI/KDE +BuildRoot: %{_tmppath}/%{name}-%{version}-build +Summary: KDE Front-End to powersave Package, Battery Monitor, and General Power Management Support +Version: 0.7.1 +Release: 5 +ExclusiveArch: %ix86 x86_64 ia64 ppc +Requires: yast2-power-management /sbin/pidof xorg-x11 +Source: %{name}-%{version}.tar.bz2 + +%description +The package provides battery monitoring and suspend and standby +triggers. It is based on the powersave package and therefore supports +APM and ACPI. Together with the powersave package and the YaST power +management module, it is the preferred package that should be used for +battery monitoring and control of power management related tasks. See +the powersave package for additional features, such as CPU frequency +scaling (SpeedStep and PowerNow). + + + +Authors: +-------- + Thomas Renninger (trenn@suse.de, mail@renninger.de) + Danny Kukawka (dkukawka@suse.de, danny.kukawka@web.de) + +%prep +%setup -n %{name}-%{version} -q +. /etc/opt/kde3/common_options +update_admin + +%build +. /etc/opt/kde3/common_options +%if 0%{?sles_version} > 0 +./configure --enable-yast-entry --enable-suse-sles +%else +./configure --enable-yast-entry +%endif +make %{?jobs:-j %jobs} + +%install +. /etc/opt/kde3/common_options +make DESTDIR=$RPM_BUILD_ROOT $INSTALL_TARGET +%suse_update_desktop_file %name Utility TrayIcon +%find_lang %name + +%post +%{run_ldconfig} + +%postun +%{run_ldconfig} + +%clean +rm -rf $RPM_BUILD_ROOT + +%files -f %name.lang +%defattr(-,root,root) +%doc README AUTHORS ChangeLog COPYING INSTALL NEWS +/opt/kde3/share/doc/* +/opt/kde3/bin/* +/opt/kde3/share/config/kpowersaverc +/opt/kde3/share/autostart/kpowersave-autostart.desktop +/opt/kde3/share/apps/kpowersave +/opt/kde3/share/icons/??color +/opt/kde3/share/applications/kde/kpowersave.desktop +/opt/kde3/lib*/kde3/kpowersave.* +/opt/kde3/lib*/libkdeinit_kpowersave.* + +%changelog -n kpowersave diff --git a/packaging/openSUSE10.3.kpowersave.spec b/packaging/openSUSE10.3.kpowersave.spec new file mode 100644 index 0000000..3cd3891 --- /dev/null +++ b/packaging/openSUSE10.3.kpowersave.spec @@ -0,0 +1,101 @@ +# +# spec file for package kpowersave (Version 0.7.2_SVN20070830) +# +# Copyright (c) 2007 SUSE LINUX Products GmbH, Nuernberg, Germany. +# This file and all modifications and additions to the pristine +# package are under the same license as the package itself. +# +# Please submit bugfixes or comments via http://bugs.opensuse.org/ +# + +# norootforbuild + +Name: kpowersave +URL: http://sourceforge.net/projects/powersave/ +%if 0%{?sles_version} > 0 +# needed to detect in configure if this is a Enterprise product and set the correct bugzilla website +BuildRequires: dbus-1-qt3-devel hal-devel kdelibs3-devel lsb sles-release +%else +BuildRequires: dbus-1-qt3-devel hal-devel kdelibs3-devel lsb openSUSE-release +%endif +License: GPL v2 only +Group: System/GUI/KDE +BuildRoot: %{_tmppath}/%{name}-%{version}-build +Summary: KDE Frontend for Battery Monitoring, Suspend, CPU Freq and General Power Management Support +Version: 0.7.3 +Release: 1 +ExclusiveArch: %ix86 x86_64 ia64 ppc ppc64 +Requires: /sbin/pidof xorg-x11 +Source: %{name}-%{version}.tar.bz2 +%if %suse_version > 1020 +Requires: %{name}-lang = %{version} +%endif + +%description +KPowersave provides battery monitoring, CPU frequency control and +suspend/standby triggers, and more power management features for KDE. +It uses HAL (formerly the powersave daemon) and supports APM and ACPI +for several architectures. Together with the powersave package and the +YaST power management module, it is the preferred package that should +be used for battery monitoring and control of power management related +tasks. + + + +Authors: +-------- + Thomas Renninger (trenn@suse.de, mail@renninger.de) + Danny Kukawka (dkukawka@suse.de, danny.kukawka@web.de) + +%if %suse_version > 1020 +%lang_package +%endif +%prep +%setup -n %{name}-%{version} -q +. /etc/opt/kde3/common_options +update_admin + +%build +. /etc/opt/kde3/common_options +%if 0%{?sles_version} > 0 +./configure --enable-yast-entry --enable-suse-sles +%else +./configure +%endif +make %{?jobs:-j %jobs} + +%install +. /etc/opt/kde3/common_options +make DESTDIR=$RPM_BUILD_ROOT $INSTALL_TARGET +%suse_update_desktop_file %name Utility TrayIcon +%find_lang %name + +%post +%{run_ldconfig} + +%postun +%{run_ldconfig} + +%clean +rm -rf $RPM_BUILD_ROOT +%if %suse_version > 1020 + +%files lang -f %name.lang + +%files +%else + +%files -f %name.lang +%endif +%defattr(-,root,root) +%doc README AUTHORS ChangeLog COPYING INSTALL NEWS +/opt/kde3/bin/* +/opt/kde3/share/config/kpowersaverc +/opt/kde3/share/autostart/kpowersave-autostart.desktop +/opt/kde3/share/apps/kpowersave +/opt/kde3/share/icons/??color +/opt/kde3/share/applications/kde/kpowersave.desktop +/opt/kde3/lib*/kde3/kpowersave.* +/opt/kde3/lib*/libkdeinit_kpowersave.* + +%changelog diff --git a/po/Makefile.am b/po/Makefile.am new file mode 100644 index 0000000..9ee3894 --- /dev/null +++ b/po/Makefile.am @@ -0,0 +1,18 @@ +POFILES = AUTO + +EXTRA_DIST = kpowersave.pot + +messages_stat: + for f in *.po; do echo -n $f :; msgfmt --stat $f ; done + +messages_merge: + for f in *.po; do echo -n $f :; msgmerge -U $f kpowersave.pot; done + +messages_diff: + for f in *.po; \ + do \ + msgmerge $f kpowersave.pot > $f.tmp; \ + echo -n "diff $f to $f.diff"; \ + msgcomm --force-po -o $f.diff --less-than 2 $f $f.tmp; \ + rm $f.tmp; \ + done diff --git a/po/ar.po b/po/ar.po new file mode 100644 index 0000000..228f0f1 --- /dev/null +++ b/po/ar.po @@ -0,0 +1,1516 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# FIRST AUTHOR , YEAR. +# +msgid "" +msgstr "" +"Project-Id-Version: kpowersave\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2007-08-10 03:16+0200\n" +"PO-Revision-Date: 2007-04-30 20:49+0300\n" +"Last-Translator: عبدالعزيز الشري٠\n" +"Language-Team: Arabeyes \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Poedit-Language: Arabic\n" +"X-Poedit-SourceCharset: utf-8\n" + +#: detailed_Dialog.cpp:228 +msgid "kpowersave" +msgstr "kpowersave" + +#: detailed_Dialog.cpp:229 +msgid "General Information" +msgstr "معلومات عامة" + +#: detailed_Dialog.cpp:232 +msgid "Battery Status" +msgstr "حالة البطارية" + +#: detailed_Dialog.cpp:233 +msgid "AC Adapter" +msgstr "محول التيار المتردد" + +#: detailed_Dialog.cpp:234 detaileddialog.cpp:391 +msgid "plugged in" +msgstr "موصول" + +#: detailed_Dialog.cpp:235 +msgid "Power Consumtion: " +msgstr "إستهلاك الطاقة:" + +#: detailed_Dialog.cpp:237 +msgid "Processor Status" +msgstr "حالة المعالج" + +#: detailed_Dialog.cpp:238 blacklistedit_Dialog.cpp:130 info_Dialog.cpp:198 +#: configure_Dialog.cpp:838 +msgid "OK" +msgstr "مواÙÙ‚" + +#: blacklisteditdialog.cpp:60 +msgid "General Blacklist" +msgstr "القائمة السوداء العامة" + +#: blacklisteditdialog.cpp:63 +msgid "Scheme: " +msgstr "نظام:" + +#: blacklisteditdialog.cpp:114 +msgid "Selected entry removed." +msgstr "المدخل المختار تم إزالته." + +#: blacklisteditdialog.cpp:117 +msgid "Could not remove the selected entry." +msgstr "لايمكن إزالة المدخل المختار." + +#: blacklisteditdialog.cpp:137 +msgid "Inserted new entry." +msgstr "إدخال مدخل جديد." + +#: blacklisteditdialog.cpp:141 +msgid "Entry exists already. Did not insert new entry." +msgstr "المدخل موجود مسبقاً. لا تدخل مدخل جديد." + +#: blacklisteditdialog.cpp:144 +msgid "Empty entry was not inserted." +msgstr "المدخل الÙارغ لم يدخل." + +#: inactivity.cpp:298 +msgid "" +"Could not start 'pidof'. Could not autosuspend the machine.\n" +"Please check your installation." +msgstr "" +"لايمكن بدء 'pidof'. لايمكن التعليق التلقائي للجهاز.\n" +"الرجاء التأكد من تركيبك." + +#: blacklistedit_Dialog.cpp:129 +msgid "Autosuspend Blacklist Edit" +msgstr "تحرير القائمة السوداء للتعليق التلقائي" + +#: blacklistedit_Dialog.cpp:132 configuredialog.cpp:1079 +#: configure_Dialog.cpp:836 +msgid "Cancel" +msgstr "إلغاء" + +#: blacklistedit_Dialog.cpp:135 +msgid "Add" +msgstr "إضاÙØ©" + +#: blacklistedit_Dialog.cpp:136 +msgid "Remove" +msgstr "إزالة" + +#: infodialog.cpp:76 infodialog.cpp:78 main.cpp:55 +msgid "KPowersave" +msgstr "KPowersave" + +#: configuredialog.cpp:116 configuredialog.cpp:121 configuredialog.cpp:721 +msgid " - not supported" +msgstr " - غير مدعوم" + +#: configuredialog.cpp:150 configuredialog.cpp:317 detaileddialog.cpp:432 +#: kpowersave.cpp:192 settings.cpp:66 configure_Dialog.cpp:876 +msgid "Performance" +msgstr "مشغل دائماً" + +#: configuredialog.cpp:154 configuredialog.cpp:319 detaileddialog.cpp:438 +#: kpowersave.cpp:194 settings.cpp:68 configure_Dialog.cpp:878 +msgid "Powersave" +msgstr "موÙر الطاقة" + +#: configuredialog.cpp:159 configuredialog.cpp:321 kpowersave.cpp:1478 +#: settings.cpp:70 +msgid "Presentation" +msgstr "عرض تقديمي" + +#: configuredialog.cpp:164 configuredialog.cpp:323 kpowersave.cpp:1473 +#: settings.cpp:72 +msgid "Acoustic" +msgstr "سمعي" + +#: configuredialog.cpp:169 configuredialog.cpp:171 configuredialog.cpp:172 +#: configuredialog.cpp:173 kpowersave.cpp:1484 +msgid "Advanced Powersave" +msgstr "موÙر الطاقة المتقدم" + +#: configuredialog.cpp:271 +msgid "" +"This enables specific screen saver settings. \n" +"Note: If selected, the global screen saver settings are \n" +"overwritten while kpowersave runs." +msgstr "" +"هذا يمكن خصائص موÙر الشاشة الخاصة. \n" +"ملاحظة: إذا تم اختياره, خصائص موÙر الشاشة العالمية \n" +"ستعاد كتابتها بينما kpowersave يعمل." + +#: configuredialog.cpp:274 +msgid "" +"This disables the screen saver. \n" +"Note: If selected, the global screen saver settings are \n" +"overwritten while kpowersave runs." +msgstr "" +"هذا يعطل موÙر الشاشة. \n" +"ملاحظة: إذا تم اختياره, خصائص موÙر الشاشة العالمية \n" +"ستعاد كتابتها بينما kpowersave يعمل." + +#: configuredialog.cpp:277 +msgid "" +"This blanks the screen instead of using a specific screen saver. \n" +"Note: This may work only with KScreensaver." +msgstr "" +"هذه Ùراغات الشاشة عوضاً عن استخدام موÙر الشاشة الخاص. \n" +"ملاحظة: هذا يمكن أن يعمل Ùقط مع KScreensaver." + +#: configuredialog.cpp:279 +msgid "" +"This enables specific DPMS settings. \n" +"Note: If selected, the global DPMS settings are \n" +"overwritten while kpowersave runs." +msgstr "" +"هذا يمكن خصائص DPMS الخاصة. \n" +"ملاحظة: إذا تم اختياره, خصائص DPMS العالمية \n" +"ستعاد كتابتها بينما kpowersave يعمل." + +#: configuredialog.cpp:282 +msgid "This disables DPMS support." +msgstr "هذا يعطل دعم DPMS." + +#: configuredialog.cpp:283 +msgid "If selected, the screen is locked on suspend or standby." +msgstr "إذا تم اختياره, الشاشة ستغلق على التعليق أو الإسبات." + +#: configuredialog.cpp:284 +msgid "If selected, the screen is locked if the lid close event is triggered." +msgstr "إذا تم اختياره, الشاشة ستقÙÙ„ بسبب إغلاق الغطاء." + +#: configuredialog.cpp:286 +msgid "" +"Check this box to enable or disable automatic suspension of the computer." +msgstr "ضع علامة أمام المربع لتمكين أو تعطيل التعليق التلقائي للحاسوب." + +#: configuredialog.cpp:288 +msgid "" +"Activate this action if the user was inactive for the defined time \n" +"(greater than 0 minutes). If empty, nothing happens." +msgstr "" +"تنشيط هذا الإجراء إذا كان المستخدم غير نشط لمدة زمنية \n" +"(أكثر من 0 دقائق). إذا كان Ùارغاً, لاتÙعل شيئاً." + +#: configuredialog.cpp:291 +msgid "All scheme-related screen saver and DPMS settings." +msgstr "جميع الأنظمة المتصلة بخصائص موÙر الشاشة ÙˆDPMS." + +#: configuredialog.cpp:292 +msgid "All scheme-related display brightness settings." +msgstr "جميع الأنظمة المتصلة تعرض خصائص السطوع." + +#: configuredialog.cpp:293 +msgid "All scheme-related automatic suspend settings." +msgstr "جميع الأنظمة المتصلة لها خصائص التعليق التلقائي." + +#: configuredialog.cpp:295 +msgid "" +"Here you can change the brightness of your display. \n" +"Use the slider to change the brightness directly for \n" +"testing. To reset back to previous level, please press \n" +"the 'Reset' button. " +msgstr "" +"هنا يمكن تغيير سطوع الشاشة. \n" +"استخدم المزلاج لتغيير السطوع مباشرة \n" +"للإختبار. للعودة إلى المستوى السابقl, الرجاء ضغط \n" +"'زر' إعادة. " + +#: configuredialog.cpp:299 +msgid "Use this button to set back the slider and the display brightness." +msgstr "استخدم هذا الزر للرجوع للخل٠للمزلاج وسطوع الشاشة ." + +#: configuredialog.cpp:352 +msgid "Press this button to delete the selected scheme." +msgstr "اضغط هذا الزر لحذ٠النظام المختار." + +#: configuredialog.cpp:357 +msgid "You can't delete the current AC or battery scheme." +msgstr "لايمكنك حذ٠نظام التيار المتردد أو البطارية." + +#: configuredialog.cpp:363 +msgid "You can't delete this default scheme." +msgstr "لايمكنك حذ٠النظام الاÙتراضي." + +#: configuredialog.cpp:546 +msgid "" +"Your hardware supports to change the brightness. The values of the slider " +"are in percent and mapped to the available brightness levels of your " +"hardware." +msgstr "" +"عتادك يدعم تغيير السطوع. قيم المزلاج بالنسبة المئوية تم وضعها لتوÙير مستويات " +"السطوع لعتادك." + +#: configuredialog.cpp:553 +msgid "" +"Your Hardware currently not support changing the brightness of your display." +msgstr "عتادك حالياً لايدعم تغيير سطوع العرض." + +#: configuredialog.cpp:664 +msgid "Select Automatically" +msgstr "أختر تلقائياً" + +#: configuredialog.cpp:665 +msgid "KScreensaver" +msgstr "KScreensaver" + +#: configuredialog.cpp:666 +msgid "XScreensaver" +msgstr "XScreensaver" + +#: configuredialog.cpp:667 +msgid "xlock" +msgstr "xlock" + +#: configuredialog.cpp:668 +msgid "GNOME Screensaver" +msgstr "GNOME موÙر الشاشة" + +#: configuredialog.cpp:930 +msgid "" +"There are unsaved changes in the active scheme.\n" +"Apply the changes before jumping to the next scheme or discard the changes?" +msgstr "" +"هناك تغييرات غير محÙوظة ÙÙŠ النظام النشط.\n" +"قم بتطبيق التغييرات قبل القÙز إلى النظام التالي أو اهمل التغييرات?" + +#: configuredialog.cpp:933 configuredialog.cpp:983 +msgid "Unsaved Changes" +msgstr "تغييرات غير محÙوظة" + +#: configuredialog.cpp:981 +msgid "" +"There are unsaved changes.\n" +"Apply the changes before cancel or discard the changes?" +msgstr "" +"هناك تغييرات غير محÙوظة.\n" +"قم بتطبيق هذه التغييرات قبل الإلغاء أو اهمل التغييرات?" + +#: configuredialog.cpp:1032 +msgid "Please insert a name for the new scheme:" +msgstr "الرجاء إدخال اسم النظام الجديد:" + +#: configuredialog.cpp:1038 +msgid "KPowersave Configuration" +msgstr "KPowersave إعدادات" + +#: configuredialog.cpp:1046 +msgid "Error: A scheme with this name already exist.\n" +msgstr "خطأ: اسم النظام هذا موجود مسبقاً.\n" + +#: configuredialog.cpp:1076 +msgid "Do you really want to delete the %1 scheme?" +msgstr "هل تريد حذ٠%1 نظام?" + +#: configuredialog.cpp:1078 +msgid "Confirm delete scheme" +msgstr "تأكيد حذ٠النظام" + +#: configuredialog.cpp:1079 configure_Dialog.cpp:883 +msgid "Delete" +msgstr "حذÙ" + +#: configuredialog.cpp:1095 +msgid "Could not delete the selected scheme." +msgstr "لايمكن حذ٠النظام المختار." + +#: configuredialog.cpp:1324 +msgid "" +"Note: If you select this option, the computer will suspend or standby " +"if the current user is inactive for the defined time even if somebody is " +"logged in remotely to the X server.

    This feature can also produce " +"problems with some programs, such as video players or cd burner. These " +"programs can be blacklisted by checking Enable scheme-specific blacklist and click Edit Blacklist.... If this does not help, report the " +"problem or deactivate autosuspend.

    Really use this option?" +msgstr "" +"ملاحظة: اذا اخترت هذا الخيار, حاسوبك سيتم تعليقه أو إسباته إذا كان " +"المستخدم الحالي غير نشط لمدة زمنية محددة أيضاً إذا قام شخص ما بالدخول عن بعد " +"إلى خادم X .

    هذه الميزة يمكن أن تحدث أيضاً مشاكل مع بعض البرامج, مثل " +"حال مشغلات الÙيديو أو حارق الاسطوانة . تلك البرامج قد تكون محظورة بواسطة " +"الÙحص تمكين القائمة السوداء للنظام-المختار واضغط تحرير القائمة " +"السوداء.... اذا لم تساعدك, بلغ عن الخطأ أو لاتنشط التعليق التلقائي." +"

    حقاً استخدم هذا الخيار?" + +#: configuredialog.cpp:1402 configuredialog.cpp:1532 +msgid "" +"The blacklist of the selected scheme is empty. Import the general blacklist?" +msgstr "القائمة السوداء للنظام المختار Ùارغة. استيراد القائمة السوداء العامة؟" + +#: configuredialog.cpp:1404 configuredialog.cpp:1534 +msgid "Import" +msgstr "استيراد" + +#: configuredialog.cpp:1404 configuredialog.cpp:1534 +msgid "Do Not Import" +msgstr "لاتستورد" + +#: configuredialog.cpp:1416 +#, fuzzy +msgid "General Autosuspend Blacklist" +msgstr "تحرير القائمة السوداء للتعليق التلقائي" + +#: configuredialog.cpp:1546 +#, fuzzy +msgid "General Autodimm Blacklist" +msgstr "القائمة السوداء العامة" + +#: configuredialog.cpp:1779 configuredialog.cpp:1816 +msgid "Shutdown" +msgstr "إطÙاء" + +#: configuredialog.cpp:1781 configuredialog.cpp:1819 +msgid "Logout Dialog" +msgstr "مربع حوار الخروج" + +#: configuredialog.cpp:1784 configuredialog.cpp:1822 kpowersave.cpp:182 +#: kpowersave.cpp:2096 kpowersave.cpp:2156 kpowersave.cpp:2247 +msgid "Suspend to Disk" +msgstr "التعليق إلى القرص" + +#: configuredialog.cpp:1787 configuredialog.cpp:1825 kpowersave.cpp:186 +#: kpowersave.cpp:2101 kpowersave.cpp:2161 kpowersave.cpp:2250 +msgid "Suspend to RAM" +msgstr "التعليق إلى الرام" + +#: configuredialog.cpp:1790 configuredialog.cpp:1828 +msgid "CPU Powersave policy" +msgstr "سياسة موÙر الطاقة للمعالج" + +#: configuredialog.cpp:1793 configuredialog.cpp:1831 +msgid "CPU Dynamic policy" +msgstr "سياسة ديناميكية المعالج" + +#: configuredialog.cpp:1796 configuredialog.cpp:1834 +msgid "CPU Performance policy" +msgstr "سياسة التشغيل الدائم للمعالج" + +#: configuredialog.cpp:1799 configuredialog.cpp:1837 +msgid "Set Brightness to" +msgstr "ضبط السطوع إلى" + +#: main.cpp:43 +msgid "KDE Frontend for Power Management, Battery Monitoring and Suspend" +msgstr "KDE Frontend for Power Management, Battery Monitoring and Suspend" + +#: main.cpp:45 +#, fuzzy +msgid "Force a new check for ACPI support" +msgstr "Ùرض Ùحص جديد لدعم واجهة إعداد الطاقة المتقدمة\n" + +#: main.cpp:46 +msgid "Trace function entry and leave points for debug\n" +msgstr "" + +#: main.cpp:59 +msgid "Current maintainer" +msgstr "المتعهد الحالي" + +#: main.cpp:62 +msgid "Powersave developer and for D-Bus integration" +msgstr "مطور موÙر الشاشة وتوحيد D-Bus" + +#: main.cpp:64 +msgid "Powersave developer and tester" +msgstr "مطور موÙر الطاقة والÙاحص" + +#: main.cpp:66 +msgid "Added basic detailed dialog" +msgstr "أض٠ناÙذة التÙصيل الأساسية" + +#: main.cpp:67 +msgid "Packaging Debian and Ubuntu" +msgstr "حزم Debian Ùˆ Ubuntu" + +#: detaileddialog.cpp:61 +msgid "KPowersave Information Dialog" +msgstr "ناÙذة معلومات KPowersave" + +#: detaileddialog.cpp:65 configure_Dialog.cpp:882 configure_Dialog.cpp:922 +msgid "Miscellaneous" +msgstr "متنوع" + +#: detaileddialog.cpp:66 +msgid "CPUs" +msgstr "المعالجات" + +#: detaileddialog.cpp:73 detaileddialog.cpp:453 +msgid "Battery state:" +msgstr "حالة البطارية:" + +#: detaileddialog.cpp:79 +msgid "Total:" +msgstr "المجموع:" + +#: detaileddialog.cpp:81 detaileddialog.cpp:83 +msgid "Battery %1" +msgstr "بطارية %1" + +#: detaileddialog.cpp:114 +msgid "Processor %1" +msgstr "معالج %1" + +#: detaileddialog.cpp:230 +msgid "not present" +msgstr "غير موجود" + +#: detaileddialog.cpp:243 +msgid "charged" +msgstr "الشحن" + +#: detaileddialog.cpp:245 +msgid "%1:%2 h until charged" +msgstr "%1:%2 h حتى الشحن" + +#: detaileddialog.cpp:248 +msgid "%1:%2 h remaining" +msgstr "%1:%2 متبقي س" + +#: detaileddialog.cpp:253 detaileddialog.cpp:441 detaileddialog.cpp:468 +msgid "unknown" +msgstr "مجهول" + +#: detaileddialog.cpp:325 detaileddialog.cpp:368 +msgid "%v MHz" +msgstr "%v ميغا هرتز" + +#: detaileddialog.cpp:330 detaileddialog.cpp:363 dummy.cpp:58 +msgid "deactivated" +msgstr "غير نشط" + +#: detaileddialog.cpp:395 +msgid "unplugged" +msgstr "غير موصول" + +#: detaileddialog.cpp:412 +msgid "Current Scheme: " +msgstr "النظام الحالي:" + +#: detaileddialog.cpp:429 +msgid "Current CPU Frequency Policy:" +msgstr "سياسة تردد المعالج الحالية:" + +#: detaileddialog.cpp:435 kpowersave.cpp:193 configure_Dialog.cpp:877 +msgid "Dynamic" +msgstr "ديناميكي" + +#: detaileddialog.cpp:456 +msgid "Critical" +msgstr "حرج" + +#: detaileddialog.cpp:459 +msgid "Low" +msgstr "منخÙض" + +#: detaileddialog.cpp:462 kpowersave.cpp:277 kpowersave.cpp:652 +#: kpowersave.cpp:659 kpowersave.cpp:705 kpowersave.cpp:713 kpowersave.cpp:761 +#: kpowersave.cpp:769 kpowersave.cpp:817 kpowersave.cpp:824 +#: kpowersave.cpp:1131 kpowersave.cpp:1243 kpowersave.cpp:1272 +#: kpowersave.cpp:1610 kpowersave.cpp:1670 kpowersave.cpp:2186 +msgid "Warning" +msgstr "تحذير" + +#: detaileddialog.cpp:465 +msgid "ok" +msgstr "حسنا" + +#: detaileddialog.cpp:474 detaileddialog.cpp:477 +msgid "Set brightness supported:" +msgstr "ضبط دعم السطوع:" + +#: detaileddialog.cpp:475 +msgid "yes" +msgstr "نعم" + +#: detaileddialog.cpp:478 +msgid "no" +msgstr "لا" + +#: detaileddialog.cpp:481 detaileddialog.cpp:485 +msgid "HAL Daemon:" +msgstr "HAL Daemon:" + +#: detaileddialog.cpp:482 +msgid "running" +msgstr "تشغيل" + +#: detaileddialog.cpp:486 +msgid "not running" +msgstr "غير مشغل" + +#: info_Dialog.cpp:197 +msgid "Information" +msgstr "معلومات" + +#: dummy.cpp:36 +msgid "If the current desktop user is inactive, dim the display to:" +msgstr "إذا كان سطح المكتب للمستخدم غير نشط, قم بتعتيم الشاشة إلى:" + +#: dummy.cpp:37 +msgid "Enable dim display on inactivity" +msgstr "تمكين العرض المعتم أثناء الخمول" + +#: dummy.cpp:38 +msgid "Blacklist" +msgstr "القائمة السوداء" + +#: dummy.cpp:39 +msgid "" +"Here you can add programs which should, if running, prevent the dimming of " +"the display." +msgstr "هنا يمكنك إضاÙØ© البرامج اللازمة, اذا كانت تعمل, امنع تعتيم العرض." + +#: dummy.cpp:41 +msgid "Would you like to import a predefined blacklist?" +msgstr "هل تود استيراد القائمة السوداء الغير محددة؟" + +#: dummy.cpp:42 +msgid "Disable CPUs/Cores" +msgstr "تعطيل CPUs/Cores" + +#: dummy.cpp:43 +msgid "Max. running CPUs:" +msgstr "Max. running CPUs:" + +#: dummy.cpp:44 +msgid "Max. running CPUs/Cores:" +msgstr "Max. running CPUs/Cores:" + +#: dummy.cpp:45 +msgid "Min. running CPUs:" +msgstr "Min. running CPUs:" + +#: dummy.cpp:46 +msgid "Min. running CPUs/Cores:" +msgstr "Min. running CPUs/Cores:" + +#: dummy.cpp:47 +msgid "Enable to switch off CPUs/cores" +msgstr "Enable to switch off CPUs/cores" + +#: dummy.cpp:48 +msgid "You have a multiprocessor/multicore machine." +msgstr "You have a multiprocessor/multicore machine." + +#: dummy.cpp:49 +msgid "" +"You can disable CPUs/cores to reduce power consumption and save battery " +"power." +msgstr "يمكنك تعطيل CPUs/cores لخÙض استهلاك الطاقة وحÙظ طاقة البطارية." + +#: dummy.cpp:50 +msgid "Device" +msgstr "جهاز" + +#: dummy.cpp:51 +msgid "Devices" +msgstr "إجهزة" + +#: dummy.cpp:52 +msgid "Device class" +msgstr "صن٠الجهاز" + +#: dummy.cpp:53 +msgid "activate" +msgstr "نشط" + +#: dummy.cpp:54 +msgid "Activate" +msgstr "نشط" + +#: dummy.cpp:55 +msgid "deactivate" +msgstr "غير نشط" + +#: dummy.cpp:56 +msgid "Deactivate" +msgstr "غير نشط" + +#: dummy.cpp:57 +msgid "activated" +msgstr "منشط" + +#: dummy.cpp:59 +msgid "do nothing" +msgstr "لاشيء" + +#: dummy.cpp:60 +msgid "Deactivate following devices:" +msgstr "لاتنشط الأجهزة التالية:" + +#: dummy.cpp:61 +msgid "Activate following devices" +msgstr "تنشيط الأجهزة التالية" + +#: dummy.cpp:62 +msgid "Reactivate following devices" +msgstr "تنشيط الأجهزة التالية" + +#: dummy.cpp:63 +msgid "Deactivate following device classes:" +msgstr "تعطيل أصنا٠الأجهزة التالية:" + +#: dummy.cpp:64 +msgid "Activate following devices classes" +msgstr "تنشيط أصنا٠الأجهزة التالية" + +#: dummy.cpp:65 +msgid "Reactivate following device classes" +msgstr "إعادة تنشيط أصنا٠الأجهزة التالية" + +#: dummy.cpp:66 +msgid "If the scheme switched all devices are again activated." +msgstr "اذا تبدل النظام جميع الأجهزة ستنشط مجدداً." + +#: dummy.cpp:67 +msgid "This is a experimental feature." +msgstr "هذه ميزة تجريبية." + +#: dummy.cpp:68 +msgid "If you have problems with this feature, please report them." +msgstr "اذا كان لديك مشاكل مع هذه الميزة, الرجاء إبلاغنا." + +#: dummy.cpp:69 +msgid "Select one of the available devices and click on " +msgstr "اختر احدى الأجهزة المتوÙرة واضغط عليه" + +#: dummy.cpp:70 +msgid "Select one of the available device classes and click on " +msgstr "اختر احدى أصنا٠الأجهزة المتوÙرة واضغط عليه" + +#: dummy.cpp:71 +msgid "Select one or more of the available devices and click on " +msgstr "اختر واحد أو أكثر من الأجهزة المتوÙرة واضغط عليه" + +#: dummy.cpp:72 +msgid "Select one or more of the available device classes and click on " +msgstr "ختر واحد أو أكثر من أصنا٠الجهاز المتوÙرة واضغط عليه" + +#: dummy.cpp:73 +msgid "" +"Please note: If you e.g. deactivate a network device you may lose your " +"internet connection." +msgstr "" +"الرجاء ملاحظة:اذا كنت على سبيل المثال عطلت جهاز الشبكة يمكن أن تخسر اتصالك " +"بالإنترنت." + +#: dummy.cpp:75 +msgid "" +"Note: If you select this option, the computer will suspend or standby " +"if the current user is inactive for the defined time.

    This feature " +"can also produce problems with some programs, such as video players or cd " +"burner. These programs can be blacklisted by checking Enable scheme-" +"specific blacklist and click Edit Blacklist.... If this does not " +"help, report the problem or deactivate autosuspend.

    Really use this " +"option?" +msgstr "" +"ملاحظة:اذا اخترت هذا الخيار, الحاسوب سيتم تعليقه أو إسباته اذا كان " +"سطح المكتب للمستخدم غير نشط لمدة زمنية محددة.

    هذه الميزة قد تحدث " +"أيضاً مشاكل مع بعض البرامج, مثل مشغلات الÙيديو أو حارق الاسطوانة. تلك البرامج " +"قد محظورة بواسطة الÙحص تمكين نظام القائمة السوداء المخصصة واضغط " +"تحرير القائمة السوداء.... اذا لم تساعدك, بلغ عن المشكلة أو لاتنشط " +"التعليق التلقائي.

    حقاً استخدم هذا الخيار?" + +#: dummy.cpp:82 +msgid "Try to use only one CPU/Core." +msgstr "" + +#: dummy.cpp:83 +msgid "" +"Reduce power consumption by try to use only one CPU/Core instead of " +"spreading the work over all/multiple CPUs." +msgstr "" + +#: dummy.cpp:87 +msgid "Could not load the global configuration." +msgstr "لايمكن تحميل الإعدادات العالمية." + +#: dummy.cpp:88 +msgid "Could not load the requested scheme configuration." +msgstr "لايمكن تحميل إعدادات النظام المطلوب." + +#: dummy.cpp:89 +msgid "Configure the current scheme." +msgstr "إعداد النظام الحالي:" + +#: dummy.cpp:90 +msgid "Try loading the default configuration." +msgstr "محاولة تحميل الإعدادات الاÙتراضية." + +#: dummy.cpp:91 +msgid "Maybe the global configuration file is empty or missing." +msgstr "ربما يكون مل٠الإعدادات العالمية Ùارغ أو Ù…Ùقود ." + +#: dummy.cpp:94 +msgid "Cannot connect to D-Bus. The D-Bus daemon may not be running." +msgstr "Cannot connect to D-Bus. The D-Bus daemon may not be running." + +#: dummy.cpp:95 +msgid "" +"Scheme switched to %1. \n" +" Deactivate following devices: %2" +msgstr "" +"النظام يتبدل إلى %1. \n" +" لاتنشط الأجهزة التالية: %2" + +#: dummy.cpp:96 +msgid "" +"Scheme switched to %1. \n" +" Activate following devices: %2" +msgstr "" +"النظام يتبدل إلى %1. \n" +" نشط الأجهزة التالية: %2" + +#: dummy.cpp:97 +msgid "Report ..." +msgstr "بلغ..." + +#: dummy.cpp:98 +msgid "Suspend to RAM is not supported on your machine." +msgstr "التعليق إلى الرام غير مدعوم على جهازك." + +#: dummy.cpp:99 +msgid "Additionally, please mail the output of %1 to %2 . Thanks!" +msgstr "إضاÙياً, الرجاء إرسال نتيجة %1 to %2 . شكراً!" + +#: dummy.cpp:100 +msgid "Power consumption" +msgstr "استهلاك الطاقة" + +#: dummy.cpp:103 +msgid "KScreensaver not found." +msgstr "KScreensaver غير موجود." + +#: dummy.cpp:104 +msgid "Try locking with XScreensaver or xlock." +msgstr "محاولة الإقÙال بواسطة XScreensaver أو xlock." + +#: dummy.cpp:105 +msgid "XScreensaver not found." +msgstr "XScreensaver غير موجود." + +#: dummy.cpp:106 +msgid "Try locking the screen with xlock." +msgstr "محاولة إقÙال الشاشة مع xlock." + +#: dummy.cpp:107 +msgid "" +"XScreensaver and xlock not found. It is not possible to lock the screen. " +"Check your installation." +msgstr "" +"XScreensaver Ùˆ xlock غير موجودان. من غير المستحيل إقÙال الشاشة. اÙحص تركيبك." + +#: dummy.cpp:111 +msgid "HAL daemon:" +msgstr "HAL daemon:" + +#: dummy.cpp:112 +msgid "D-Bus daemon:" +msgstr "D-Bus daemon:" + +#: dummy.cpp:113 +msgid "ConsoleKit daemon:" +msgstr "" + +#: dummy.cpp:114 +msgid "Autosuspend activated:" +msgstr "تنشيط التعليق التلقائي:" + +#: dummy.cpp:115 +#, fuzzy +msgid "Autodimm activated:" +msgstr "تنشيط التعليق التلقائي:" + +#: dummy.cpp:116 +msgid "enabled" +msgstr "تمكين" + +#: dummy.cpp:117 +msgid "Session active:" +msgstr "" + +#: dummy.cpp:120 +msgid "Inactivity detected." +msgstr "" + +#: dummy.cpp:121 +msgid "To stop the %1 press the 'Cancel' button before the countdown expire." +msgstr "" + +#: dummy.cpp:122 +msgid "The computer autosuspend in: " +msgstr "" + +#: dummy.cpp:123 +#, c-format +msgid "The display get dimmed down to %1% in: " +msgstr "" + +#: dummy.cpp:124 +msgid "%1 seconds" +msgstr "" + +#: dummy.cpp:127 +msgid "Could not call %1. The current desktop session is not active." +msgstr "" + +#: dummy.cpp:128 +msgid "Could not set %1. The current desktop session is not active." +msgstr "" + +#: dummy.cpp:129 +msgid "Stopped %1. The current desktop session is now inactive." +msgstr "" + +#: dummy.cpp:130 +msgid "Restarted %1. The current desktop session is now active again." +msgstr "" + +#: log_viewer.cpp:78 +msgid "Form1" +msgstr "" + +#: log_viewer.cpp:79 +msgid "Save As ..." +msgstr "" + +#: log_viewer.cpp:80 +msgid "Close" +msgstr "" + +#: logviewer.cpp:44 +#, fuzzy +msgid "KPowersave Logfile Viewer: %1" +msgstr "موÙر الطاقة يتبدل إلى نظام:%1" + +#: logviewer.cpp:89 +msgid "File already exist. Overwrite the file?" +msgstr "" + +#: logviewer.cpp:90 logviewer.cpp:97 +#, fuzzy +msgid "Error while save logfile" +msgstr "خطأ بينما يهيئ %1" + +#: logviewer.cpp:95 +msgid "File already exist." +msgstr "" + +#: logviewer.cpp:98 +msgid "Try other filename ..." +msgstr "" + +#: suspenddialog.cpp:70 +msgid "Preparing Suspend..." +msgstr "الاستعداد للتعليق..." + +#: kpowersave.cpp:168 +msgid "Configure KPowersave..." +msgstr "إعداد KPowersave..." + +#: kpowersave.cpp:171 configure_Dialog.cpp:915 +msgid "Configure Notifications..." +msgstr "إعداد التنبيهات..." + +#: kpowersave.cpp:175 +msgid "Start YaST2 Power Management Module..." +msgstr "ابدأ بوحدة إدارة الطاقة YaST2..." + +#: kpowersave.cpp:189 kpowersave.cpp:2106 kpowersave.cpp:2166 +#: kpowersave.cpp:2253 +msgid "Standby" +msgstr "استعداد" + +#: kpowersave.cpp:191 kpowersave.cpp:198 +msgid "Set CPU Frequency Policy" +msgstr "ضبط سياسة تردد المعالج" + +#: kpowersave.cpp:205 kpowersave.cpp:206 +msgid "Set Active Scheme" +msgstr "ضبط النظام النشط" + +#: kpowersave.cpp:212 +msgid "Disable Actions on Inactivity" +msgstr "تعطيل الإجراءات أثناء الخمول " + +#: kpowersave.cpp:219 kpowersave.cpp:229 +msgid "&Help" +msgstr "&مساعدة" + +#: kpowersave.cpp:221 +msgid "&KPowersave Handbook" +msgstr "&KPowersave كتيب" + +#: kpowersave.cpp:224 +msgid "&Report a bug ..." +msgstr "&بلغ عن خطأ ..." + +#: kpowersave.cpp:226 +msgid "&About KPowersave" +msgstr "&حول KPowersave" + +#: kpowersave.cpp:275 kpowersave.cpp:648 kpowersave.cpp:656 kpowersave.cpp:703 +#: kpowersave.cpp:710 kpowersave.cpp:759 kpowersave.cpp:766 kpowersave.cpp:815 +#: kpowersave.cpp:822 kpowersave.cpp:1126 kpowersave.cpp:1241 +#: kpowersave.cpp:1270 kpowersave.cpp:2183 +msgid "WARNING" +msgstr "تحذير" + +#: kpowersave.cpp:275 +msgid "Cannot find any schemes." +msgstr "لايمكن إيجاد أي أنظمة." + +#: kpowersave.cpp:453 +msgid "No information about battery and AC status available" +msgstr "لا معلومات متوÙرة عن حالة التيار المتردد والبطارية" + +#: kpowersave.cpp:456 +msgid "Plugged in -- fully charged" +msgstr "موصول -- مشحون بالكامل" + +#: kpowersave.cpp:460 +msgid "Plugged in" +msgstr "موصول" + +#: kpowersave.cpp:464 +msgid "Plugged in -- %1% charged (%2:%3 h until full charged)" +msgstr "موصول -- %1%يشحن (%2:%3 h حتى الشحن الكامل)" + +#: kpowersave.cpp:467 +msgid "Plugged in -- %1% charged (%2:%3 remaining hours)" +msgstr "موصول -- %1% يشحن (%2:%3 الساعات المتبقية)" + +#: kpowersave.cpp:471 kpowersave.cpp:475 +#, c-format +msgid "Plugged in -- %1% charged" +msgstr "موصول -- %1% يشحن" + +#: kpowersave.cpp:474 +msgid "Plugged in -- no battery" +msgstr "موصول -- لا بطارية" + +#: kpowersave.cpp:480 +msgid "Running on batteries -- %1% charged (%2:%3 hours remaining)" +msgstr "يعمل على البطاريات -- %1% يشحن (%2:%3 ساعات متبقية)" + +#: kpowersave.cpp:484 +#, c-format +msgid "Running on batteries -- %1% charged" +msgstr "يعمل على البطاريات -- %1% يشحن" + +#: kpowersave.cpp:491 +msgid " -- battery is charging" +msgstr " -- البطارية مشحونة" + +#: kpowersave.cpp:649 kpowersave.cpp:657 +msgid "Could not start YaST Power Management Module. Check if it is installed." +msgstr "لايمكن البدء بوحدة إدارة الطاقة Yast. تأكد من تركيبها" + +#: kpowersave.cpp:703 +msgid "Suspend to disk failed" +msgstr "التعليق إلى القرص Ùشل" + +#: kpowersave.cpp:711 +msgid "Suspend to disk disabled by administrator." +msgstr "التعليق إلى القرص معطل بواسطة المدير." + +#: kpowersave.cpp:759 +msgid "Suspend to RAM failed" +msgstr "التعليق إلى الرام Ùشل." + +#: kpowersave.cpp:767 +msgid "Suspend to RAM disabled by administrator." +msgstr "التعليق إلى الرام معطل بواسطة المدير." + +#: kpowersave.cpp:815 +msgid "Standby failed" +msgstr "وضع الاستعداد Ùشل" + +#: kpowersave.cpp:822 +msgid "Standby disabled by administrator." +msgstr "وضع الاستعداد معطل بواسطة المدير." + +#: kpowersave.cpp:853 +msgid "System is going into suspend mode now" +msgstr "النظام يتجه إلى نمط التعليق الآن" + +#: kpowersave.cpp:1039 +msgid "Could not call DCOP interface to umount external media." +msgstr "Could not call DCOP interface to umount external media." + +#: kpowersave.cpp:1044 +msgid "" +"Could not umount external media before suspend/standby. \n" +" (Reason: %1)\n" +" \n" +" Would you like to continue suspend/standby anyway? \n" +"(Warning: Continue suspend can cause data loss!)" +msgstr "" +"Could not umount external media before suspend/standby. \n" +" (Reason: %1)\n" +" \n" +" Would you like to continue suspend/standby anyway? \n" +"(Warning: Continue suspend can cause data loss!)" + +#: kpowersave.cpp:1052 +msgid "Error while prepare %1" +msgstr "خطأ بينما يهيئ %1" + +#: kpowersave.cpp:1053 +msgid "Suspend anyway" +msgstr "التعليق بأية حال" + +#: kpowersave.cpp:1053 +msgid "Cancel suspend" +msgstr "إلغي التعليق" + +#: kpowersave.cpp:1127 +msgid "" +"Could not lock the screen. There may be a problem with the selected \n" +"lock method or something else." +msgstr "" +"لايمكن إقÙال الشاشة. يمكن أن تكون هناك مشكلة مع المختار \n" +"طريقة القÙÙ„ أو شي آخر." + +#: kpowersave.cpp:1144 +msgid "The Lid was closed." +msgstr "الغطاء تم إغلاقه." + +#: kpowersave.cpp:1156 +msgid "The Lid was opened." +msgstr "الغطاء تم Ùتحه." + +#: kpowersave.cpp:1223 +msgid "Start KPowersave automatically when you log in?" +msgstr "بدء KPowersave تلقائياً عند الدخول؟" + +#: kpowersave.cpp:1224 +msgid "Question" +msgstr "سؤال" + +#: kpowersave.cpp:1225 +msgid "Start Automatically" +msgstr "إبدأ تلقائياً" + +#: kpowersave.cpp:1225 +msgid "Do Not Start" +msgstr "لا تبدأ" + +#: kpowersave.cpp:1242 +msgid "CPU Freq Policy %1 could not be set." +msgstr "سياسة تردد المعالج %1 لايمكن أن توضع." + +#: kpowersave.cpp:1271 +msgid "Scheme %1 could not be activated." +msgstr "نظام %1 لايمكن أن ينشط." + +#: kpowersave.cpp:1600 +msgid "" +"The D-Bus daemon is not running.\n" +"Starting it will provide full functionality: /etc/init.d/dbus start" +msgstr "" +"The D-Bus daemon is not running.\n" +"Starting it will provide full functionality: /etc/init.d/dbus start" + +#: kpowersave.cpp:1611 +msgid "Don't show this message again." +msgstr "لاتظهر هذه الرسالة مجدداً." + +#: kpowersave.cpp:1637 +msgid "ERROR" +msgstr "خطأ" + +#: kpowersave.cpp:1638 +msgid "Could not get information from HAL. The haldaemon is maybe not running." +msgstr "لايمكن الحصول على معلومات من HAL. The haldaemon ربما يكون لايعمل." + +#: kpowersave.cpp:1641 +msgid "Error" +msgstr "خطأ" + +#: kpowersave.cpp:1912 +msgid "" +"Battery state changed to WARNING -- remaining time: %1 hours and %2 minutes." +msgstr "حالة البطارية تتغير إلى الإنذار -- الوقت المتبقي: %1 ساعات Ùˆ %2 دقائق." + +#: kpowersave.cpp:1921 +msgid "" +"Battery state changed to LOW -- remaining time: %1 hours and %2 minutes." +msgstr "حالة البطارية تتغير إلى منخÙض -- الوقت المتبقي: %1 ساعات Ùˆ %2 دقائق." + +#: kpowersave.cpp:1932 +msgid "" +"Battery state changed to CRITICAL -- remaining time: %1 hours and %2 " +"minutes.\n" +"Shut down your system or plug in the power cable immediately. Otherwise the " +"machine\n" +"will go shutdown in 30 seconds" +msgstr "" +"حالة البطارية تتغير إلى حرج -- الوقت المتبقي: %1 ساعات Ùˆ %2 دقائق.\n" +"إطÙئ نظامك أو أوصله بكيبل الطاقة Ùوراً . والإ جهازك\n" +"سيتم إطÙائه خلال 30 ثانية" + +#: kpowersave.cpp:1943 +msgid "" +"Battery state changed to CRITICAL -- remaining time: %1 hours and %2 " +"minutes.\n" +"Shut down your system or plug in the power cable immediately." +msgstr "" +"حالة البطارية تتغير إلى حرج -- الوقت المتبقي: %1 ساعات Ùˆ %2 دقائق.\n" +"إطÙئ نظامك أو أوصله بكيبل الطاقة Ùوراً." + +#: kpowersave.cpp:2041 +msgid "AC adapter plugged in" +msgstr "محول التيار المتردد موصول" + +#: kpowersave.cpp:2043 +msgid "AC adapter unplugged" +msgstr "محول التيار المتردد غير موصول" + +#: kpowersave.cpp:2078 +#, fuzzy +msgid "Switched to scheme: %1" +msgstr "موÙر الطاقة يتبدل إلى نظام:%1" + +#: kpowersave.cpp:2095 kpowersave.cpp:2100 kpowersave.cpp:2105 +msgid "System is going into %1 now." +msgstr "النظام يتجه إلى %1 الآن." + +#: kpowersave.cpp:2155 kpowersave.cpp:2160 kpowersave.cpp:2165 +msgid "System is resumed from %1." +msgstr "النظام يستعاد من %1." + +#: kpowersave.cpp:2184 +msgid "Could not remount (all) external storage media." +msgstr "Could not remount (all) external storage media." + +#: kpowersave.cpp:2192 +msgid "An unknown error occurred while %1. The errorcode is: '%2'" +msgstr "" + +#: kpowersave.cpp:2197 +#, fuzzy +msgid "Do you want to have a look at the log file?" +msgstr "هل تريد حذ٠%1 نظام?" + +#: kpowersave.cpp:2198 kpowersave.cpp:2224 +#, fuzzy +msgid "Error while %1" +msgstr "خطأ بينما يهيئ %1" + +#: configure_Dialog.cpp:831 +msgid "KPowersave Settings" +msgstr "KPowersave خصائص" + +#: configure_Dialog.cpp:832 +msgid "Apply" +msgstr "تطبيق" + +#: configure_Dialog.cpp:834 +msgid "Help" +msgstr "مساعدة" + +#: configure_Dialog.cpp:840 +msgid "Enable specific display power management" +msgstr "تمكين إدارة طاقة العرض المخصصة" + +#: configure_Dialog.cpp:841 +msgid "Standby after:" +msgstr "وضع الاستعداد بعد:" + +#: configure_Dialog.cpp:842 +msgid "Only blank the screen" +msgstr "Ùقط شاشة Ùارغة" + +#: configure_Dialog.cpp:843 +msgid "Disable screen saver" +msgstr "تعطيل موÙر الطاقة" + +#: configure_Dialog.cpp:844 +msgid "Enable specific screensaver settings" +msgstr "تمكين خصائص موÙر الشاشة المخصصة" + +#: configure_Dialog.cpp:845 +msgid "Suspend after:" +msgstr "التعليق بعد:" + +#: configure_Dialog.cpp:846 +msgid "Power off after:" +msgstr "الطاقة معطلة بعد:" + +#: configure_Dialog.cpp:847 +msgid "Disable display power management" +msgstr "تعطيل إدارة طاقة الشاشة" + +#: configure_Dialog.cpp:848 configure_Dialog.cpp:849 configure_Dialog.cpp:850 +#: configure_Dialog.cpp:862 configure_Dialog.cpp:873 +msgid " min" +msgstr "min" + +#: configure_Dialog.cpp:851 +msgid "Screen Saver and DPMS" +msgstr "موÙر الشاشة Ùˆ DPMS" + +#: configure_Dialog.cpp:852 +msgid "Settings" +msgstr "خصائص" + +#: configure_Dialog.cpp:853 +msgid "Reset" +msgstr "إعادة" + +#: configure_Dialog.cpp:855 +msgid "Enable scheme specific Brightness settings" +msgstr "تمكين خصائص السطوع للنظام المختار" + +#: configure_Dialog.cpp:858 +msgid "Brightness" +msgstr "السطوع" + +#: configure_Dialog.cpp:859 +msgid "Enable autosuspend" +msgstr "تمكين التعليق التلقائي" + +#: configure_Dialog.cpp:860 configure_Dialog.cpp:867 +msgid "Enable scheme-specific blacklist" +msgstr "تمكين القائمة السوداء للنظام المختار" + +#: configure_Dialog.cpp:861 configure_Dialog.cpp:870 +msgid "after:" +msgstr "بعد:" + +#: configure_Dialog.cpp:863 configure_Dialog.cpp:868 +msgid "Edit Blacklist..." +msgstr "تحرير القائمة السوداء..." + +#: configure_Dialog.cpp:864 configure_Dialog.cpp:869 +msgid "If the current desktop user is inactive the computer will:" +msgstr "اذا كان سطح المكتب للمستخدم غير نشط الحاسوب سيقوم:" + +#: configure_Dialog.cpp:865 +msgid "Autosuspend" +msgstr "التعليق التلقائي" + +#: configure_Dialog.cpp:866 +#, fuzzy +msgid "Enable autodimm the display" +msgstr "تمكين العرض المعتم أثناء الخمول" + +#: configure_Dialog.cpp:871 configure_Dialog.cpp:893 configure_Dialog.cpp:894 +#: configure_Dialog.cpp:895 configure_Dialog.cpp:896 configure_Dialog.cpp:897 +#: configure_Dialog.cpp:898 +msgid " %" +msgstr "%" + +#: configure_Dialog.cpp:872 +msgid "dimm to:" +msgstr "" + +#: configure_Dialog.cpp:874 +msgid "Autodimm" +msgstr "" + +#: configure_Dialog.cpp:879 +msgid "Set CPU Frequency Policy:" +msgstr "ضبط سياسة تردد المعالج:" + +#: configure_Dialog.cpp:880 +msgid "CPU Frequency Policy" +msgstr "سياسة تردد المعالج" + +#: configure_Dialog.cpp:881 +msgid "Disable Notifications" +msgstr "تعطيل التنبيهات" + +#: configure_Dialog.cpp:884 +msgid "New" +msgstr "جديد" + +#: configure_Dialog.cpp:885 +msgid "Scheme Settings" +msgstr "خصائص النظام" + +#: configure_Dialog.cpp:886 +msgid "" +"Define the battery warning levels (in percentage) and the releated action if " +"the level get reached:" +msgstr "" +"عر٠مستويات التحذير للبطارية (ÙÙŠ النسبة المئوية) والإجراء المتبع اذا وصل " +"المستوى لـ::" + +#: configure_Dialog.cpp:887 +msgid "Warning level:" +msgstr "مستوى التحذير:" + +#: configure_Dialog.cpp:888 +msgid "Low level:" +msgstr "المستوى المنخÙض:" + +#: configure_Dialog.cpp:889 +msgid "Critical level:" +msgstr "المستوى التحذيري:" + +#: configure_Dialog.cpp:890 configure_Dialog.cpp:891 configure_Dialog.cpp:892 +msgid "if reached call:" +msgstr "if reached call:" + +#: configure_Dialog.cpp:899 +msgid "Battery" +msgstr "بطارية" + +#: configure_Dialog.cpp:900 +msgid "" +"Define the action which should be executed if the related button get pressed:" +msgstr "حدد الإجراء الذي يجب أن ينÙØ° اذا تم ضغط زر العلاقة:" + +#: configure_Dialog.cpp:901 +msgid "Suspend-to-disk Button:" +msgstr "زر التعليق إلى القرص:" + +#: configure_Dialog.cpp:902 +msgid "Sleep button:" +msgstr "زر السبات:" + +#: configure_Dialog.cpp:903 +msgid "Lid close Button:" +msgstr "زر إغلاق الغطاء:" + +#: configure_Dialog.cpp:904 +msgid "Power Button:" +msgstr "زر الطاقة:" + +#: configure_Dialog.cpp:905 +msgid "Button Events" +msgstr "زر الأحداث" + +#: configure_Dialog.cpp:906 +msgid "" +"Select the following schemes as default if the system is running on AC or on " +"batteries." +msgstr "" +"اختر من الأنظمة التالية كأÙتراضي اذا كان النظام يعمل على التيار المتردد أو " +"على البطاريات." + +#: configure_Dialog.cpp:907 +msgid "Battery scheme:" +msgstr "نظام البطارية:" + +#: configure_Dialog.cpp:908 +msgid "AC scheme:" +msgstr "نظام التيار المتردد:" + +#: configure_Dialog.cpp:909 +msgid "Default Schemes" +msgstr "الأنظمة الأÙتراضية" + +#: configure_Dialog.cpp:910 +msgid "Lock screen before suspend or standby" +msgstr "أقÙÙ„ الشاشة قبل التعليق أو الاسبات" + +#: configure_Dialog.cpp:911 +msgid "Lock screen with:" +msgstr "Ù‚ÙÙ„ الشاشة مع:" + +#: configure_Dialog.cpp:912 +msgid "Lock screen on lid close" +msgstr "Ù‚ÙÙ„ الشاشة عند إغلاق الغطاء" + +#: configure_Dialog.cpp:913 +msgid "Lock Screen" +msgstr "Ù‚ÙÙ„ الشاشة" + +#: configure_Dialog.cpp:914 +msgid "Notifications" +msgstr "التنبيهات" + +#: configure_Dialog.cpp:916 +msgid "Autostart" +msgstr "تشغيل تلقائي" + +#: configure_Dialog.cpp:917 +msgid "Never ask me again on exit" +msgstr "لاتسألني مجدداً عند الخروج" + +#: configure_Dialog.cpp:918 +msgid "KPowersave starts automatically on login" +msgstr "KPowersave يبدأ تلقائياً مع تسجيل الدخول" + +#: configure_Dialog.cpp:919 +#, fuzzy +msgid "General Blacklists" +msgstr "القائمة السوداء العامة" + +#: configure_Dialog.cpp:920 +#, fuzzy +msgid "Edit Autosuspend Blacklist..." +msgstr "تحرير القائمة السوداء للتعليق التلقائي" + +#: configure_Dialog.cpp:921 +#, fuzzy +msgid "Edit Autodimm Blacklist..." +msgstr "تحرير القائمة السوداء..." + +#: configure_Dialog.cpp:923 +msgid "General Settings" +msgstr "خصائص عامة" + +#~ msgid "" +#~ "Inactivity detected.\n" +#~ " Machine autosuspend in %1 seconds." +#~ msgstr "" +#~ "اكتشا٠غير نشط.\n" +#~ " التعليق التلقائي للجهاز ÙÙŠ %1 ثوان." + +#~ msgid "" +#~ "Inactivity detected.\n" +#~ " Dim display in %1 seconds to %2%." +#~ msgstr "" +#~ "اكتشا٠غير نشط.\n" +#~ "عتم العرض إلى %1 ثوان إلى %2%." + +#~ msgid "" +#~ "If you know that it should work, you might override this detection with " +#~ "setting SUSPEND2RAM_FORCE=\"yes\" in /etc/powersave/sleep." +#~ msgstr "" +#~ "اذا كنت تعر٠مايجب عمله, يجب أن تجتاز هذا الÙحص مع وضع SUSPEND2RAM_FORCE=" +#~ "\"yes\" in /etc/powersave/sleep." + +#~ msgid "Modules unloaded:" +#~ msgstr "وحدات لم تحمل:" + +#~ msgid "checking resume kernel" +#~ msgstr "تأكد من إستعادة النواة" + +#~ msgid "checking for swap partition" +#~ msgstr "Ùحص لقسم swap" + +#~ msgid "unmounting FAT/NTFS partitions" +#~ msgstr "unmounting FAT/NTFS partitions" + +#~ msgid "stopping services" +#~ msgstr "إيقا٠الخدمات" + +#~ msgid "stopping service:" +#~ msgstr "إيقا٠الخدمة:" + +#~ msgid "unloading modules" +#~ msgstr "وحدات غير محملة" + +#~ msgid "unloading module:" +#~ msgstr "وحدة غير محملة:" + +#~ msgid "syncing file systems" +#~ msgstr "أنظمة تزامن الملÙ" + +#~ msgid "preparing bootloader" +#~ msgstr "استعداد محمل الإقلاع" + +#~ msgid "Edit General Blacklist..." +#~ msgstr "تحرير القائمة السوداء العامة..." diff --git a/po/bg.po b/po/bg.po new file mode 100644 index 0000000..a1f9202 --- /dev/null +++ b/po/bg.po @@ -0,0 +1,1601 @@ +# translation of bg.po to +# translation of bg.po to Bulgarian +# This file is distributed under the same license as the PACKAGE package. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER. +# Borislav Mitev , 2004, 2005, 2006. +# +msgid "" +msgstr "" +"Project-Id-Version: bg\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2007-08-10 03:16+0200\n" +"PO-Revision-Date: 2006-02-13 09:51+0200\n" +"Last-Translator: Borislav Mitev \n" +"Language-Team: Bulgarian \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: KBabel 1.10.2\n" + +#: detailed_Dialog.cpp:228 +#, fuzzy +msgid "kpowersave" +msgstr "ЕнергоÑпеÑÑ‚Ñване" + +#: detailed_Dialog.cpp:229 +#, fuzzy +msgid "General Information" +msgstr "ИнформациÑ" + +#: detailed_Dialog.cpp:232 +msgid "Battery Status" +msgstr "СтатуÑи на батериÑта" + +#: detailed_Dialog.cpp:233 +msgid "AC Adapter" +msgstr "AC транÑформатор" + +#: detailed_Dialog.cpp:234 detaileddialog.cpp:391 +#, fuzzy +msgid "plugged in" +msgstr "Включено" + +#: detailed_Dialog.cpp:235 +msgid "Power Consumtion: " +msgstr "" + +#: detailed_Dialog.cpp:237 +msgid "Processor Status" +msgstr "" + +#: detailed_Dialog.cpp:238 blacklistedit_Dialog.cpp:130 info_Dialog.cpp:198 +#: configure_Dialog.cpp:838 +#, fuzzy +msgid "OK" +msgstr "O&K" + +#: blacklisteditdialog.cpp:60 +msgid "General Blacklist" +msgstr "Общ черен ÑпиÑък" + +#: blacklisteditdialog.cpp:63 +msgid "Scheme: " +msgstr "Схема: " + +#: blacklisteditdialog.cpp:114 +msgid "Selected entry removed." +msgstr "ИзбраниÑÑ‚ ред бе премахнат." + +#: blacklisteditdialog.cpp:117 +msgid "Could not remove the selected entry." +msgstr "ИзбраниÑÑ‚ ред не може да бъде премахнат." + +#: blacklisteditdialog.cpp:137 +msgid "Inserted new entry." +msgstr "ÐовиÑÑ‚ ред бе вкаран." + +#: blacklisteditdialog.cpp:141 +msgid "Entry exists already. Did not insert new entry." +msgstr "Редът вече ÑъщеÑтвува. Без вкарване на нов ред." + +#: blacklisteditdialog.cpp:144 +msgid "Empty entry was not inserted." +msgstr "ПразниÑÑ‚ ред не бе вкаран." + +#: inactivity.cpp:298 +msgid "" +"Could not start 'pidof'. Could not autosuspend the machine.\n" +"Please check your installation." +msgstr "" + +#: blacklistedit_Dialog.cpp:129 +msgid "Autosuspend Blacklist Edit" +msgstr "Редактиране на Ñ‡ÐµÑ€Ð½Ð¸Ñ ÑпиÑък за авто-Ñпирането" + +#: blacklistedit_Dialog.cpp:132 configuredialog.cpp:1079 +#: configure_Dialog.cpp:836 +#, fuzzy +msgid "Cancel" +msgstr "&Отказ" + +#: blacklistedit_Dialog.cpp:135 +msgid "Add" +msgstr "ДобавÑне" + +#: blacklistedit_Dialog.cpp:136 +#, fuzzy +msgid "Remove" +msgstr "&Премахване" + +#: infodialog.cpp:76 infodialog.cpp:78 main.cpp:55 +#, fuzzy +msgid "KPowersave" +msgstr "ЕнергоÑпеÑÑ‚Ñване" + +#: configuredialog.cpp:116 configuredialog.cpp:121 configuredialog.cpp:721 +msgid " - not supported" +msgstr "" + +#: configuredialog.cpp:150 configuredialog.cpp:317 detaileddialog.cpp:432 +#: kpowersave.cpp:192 settings.cpp:66 configure_Dialog.cpp:876 +msgid "Performance" +msgstr "БързодейÑтвие" + +#: configuredialog.cpp:154 configuredialog.cpp:319 detaileddialog.cpp:438 +#: kpowersave.cpp:194 settings.cpp:68 configure_Dialog.cpp:878 +msgid "Powersave" +msgstr "ЕнергоÑпеÑÑ‚Ñване" + +#: configuredialog.cpp:159 configuredialog.cpp:321 kpowersave.cpp:1478 +#: settings.cpp:70 +msgid "Presentation" +msgstr "ПредÑтавÑне" + +#: configuredialog.cpp:164 configuredialog.cpp:323 kpowersave.cpp:1473 +#: settings.cpp:72 +msgid "Acoustic" +msgstr "ÐкуÑтика" + +#: configuredialog.cpp:169 configuredialog.cpp:171 configuredialog.cpp:172 +#: configuredialog.cpp:173 kpowersave.cpp:1484 +msgid "Advanced Powersave" +msgstr "Разширено за Powersave" + +#: configuredialog.cpp:271 +msgid "" +"This enables specific screen saver settings. \n" +"Note: If selected, the global screen saver settings are \n" +"overwritten while kpowersave runs." +msgstr "" +"Това разрешава определени наÑтройки на ÐµÐºÑ€Ð°Ð½Ð½Ð¸Ñ Ð¿Ñ€ÐµÐ´Ð¿Ð°Ð·Ð¸Ñ‚ÐµÐ».\n" +"Забележка: Ðко Ñе избере глобалните наÑтройки на предпазителÑ\n" +"ще бъдат препокрити докато kpowersave работи." + +#: configuredialog.cpp:274 +msgid "" +"This disables the screen saver. \n" +"Note: If selected, the global screen saver settings are \n" +"overwritten while kpowersave runs." +msgstr "" +"Това забранÑва ÐµÐºÑ€Ð°Ð½Ð½Ð¸Ñ Ð¿Ñ€ÐµÐ´Ð¿Ð°Ð·Ð¸Ñ‚ÐµÐ».\n" +"Забележка: Ðко Ñе избере глобалните наÑтройки на предпазителÑ\n" +"ще бъдат препокрити докато kpowersave работи." + +#: configuredialog.cpp:277 +msgid "" +"This blanks the screen instead of using a specific screen saver. \n" +"Note: This may work only with KScreensaver." +msgstr "" +"Това Ñамо изчиÑтва екрана, вмеÑто да Ñе използва даден предпазител.\n" +"Забележка: Това може би ще работи Ñамо Ñ KScreensaver." + +#: configuredialog.cpp:279 +msgid "" +"This enables specific DPMS settings. \n" +"Note: If selected, the global DPMS settings are \n" +"overwritten while kpowersave runs." +msgstr "" +"Това разрешава определени наÑтройки на DPMS.\n" +"Забележка: Ðко Ñе избере глобалните наÑтройки на DPMS\n" +"ще бъдат препокрити докато kpowersave работи." + +#: configuredialog.cpp:282 +msgid "This disables DPMS support." +msgstr "Това забранÑва DPMS поддръжката." + +#: configuredialog.cpp:283 +msgid "If selected, the screen is locked on suspend or standby." +msgstr "Ðко е избрано екранът ще бъде заключен при Ñпиране или в-готовноÑÑ‚." + +#: configuredialog.cpp:284 +msgid "If selected, the screen is locked if the lid close event is triggered." +msgstr "Ðко е избрано екранът ще бъде заключен при затварÑне на капака." + +#: configuredialog.cpp:286 +msgid "" +"Check this box to enable or disable automatic suspension of the computer." +msgstr "" +"Тази отметка Ñлужи за разрешаване или забранÑване на автоматичното Ñпиране " +"на компютъра." + +#: configuredialog.cpp:288 +msgid "" +"Activate this action if the user was inactive for the defined time \n" +"(greater than 0 minutes). If empty, nothing happens." +msgstr "" +"Ðктивиране на това дейÑтвие, ако потребителÑÑ‚ е бил\n" +"неактивен определено време (> 0 минути). Ðко е празно\n" +"нищо нÑма да Ñе Ñлучи." + +#: configuredialog.cpp:291 +msgid "All scheme-related screen saver and DPMS settings." +msgstr "ÐаÑтройки за вÑички Ñхемо-отноÑни предпазители на екрана и DPMS." + +#: configuredialog.cpp:292 +msgid "All scheme-related display brightness settings." +msgstr "ÐаÑтройки за вÑÑка Ñхемо-отноÑна ÑркоÑÑ‚ на екрана." + +#: configuredialog.cpp:293 +msgid "All scheme-related automatic suspend settings." +msgstr "ÐаÑтройки за вÑÑко Ñхемо-отноÑно автоматично Ñпиране." + +#: configuredialog.cpp:295 +msgid "" +"Here you can change the brightness of your display. \n" +"Use the slider to change the brightness directly for \n" +"testing. To reset back to previous level, please press \n" +"the 'Reset' button. " +msgstr "" + +#: configuredialog.cpp:299 +msgid "Use this button to set back the slider and the display brightness." +msgstr "Използвайте този бутон за да върнете плъзгача и ÑркоÑтта на екрана." + +#: configuredialog.cpp:352 +msgid "Press this button to delete the selected scheme." +msgstr "" + +#: configuredialog.cpp:357 +msgid "You can't delete the current AC or battery scheme." +msgstr "" + +#: configuredialog.cpp:363 +msgid "You can't delete this default scheme." +msgstr "" + +#: configuredialog.cpp:546 +#, fuzzy +msgid "" +"Your hardware supports to change the brightness. The values of the slider " +"are in percent and mapped to the available brightness levels of your " +"hardware." +msgstr "" +"ВашиÑÑ‚ хардуер поддържа промÑна на ÑркоÑтта. СтойноÑтите на плъзгача Ñа в " +"проценти и Ñа Ñъобразени Ñ Ð¿Ð¾Ð´Ð´ÑŠÑ€Ð¶Ð°Ð½Ð¸Ñ‚Ðµ нива на ÑркоÑÑ‚." + +#: configuredialog.cpp:553 +msgid "" +"Your Hardware currently not support changing the brightness of your display." +msgstr "ВашиÑÑ‚ хардуер в момента не поддържа промÑната на ÑркоÑтта на екрана." + +#: configuredialog.cpp:664 +msgid "Select Automatically" +msgstr "Избор автоматично" + +#: configuredialog.cpp:665 +msgid "KScreensaver" +msgstr "KScreensaver" + +#: configuredialog.cpp:666 +msgid "XScreensaver" +msgstr "XScreensaver" + +#: configuredialog.cpp:667 +msgid "xlock" +msgstr "xlock" + +#: configuredialog.cpp:668 +#, fuzzy +msgid "GNOME Screensaver" +msgstr "XScreensaver" + +#: configuredialog.cpp:930 +msgid "" +"There are unsaved changes in the active scheme.\n" +"Apply the changes before jumping to the next scheme or discard the changes?" +msgstr "" +"Има незапазени промени в активната Ñхема.\n" +"Желаете ли да ги приложите преди да преминете на \n" +"Ñледващата Ñхема или да отхвърлите промените?" + +#: configuredialog.cpp:933 configuredialog.cpp:983 +msgid "Unsaved Changes" +msgstr "Ðезапазени промени" + +#: configuredialog.cpp:981 +msgid "" +"There are unsaved changes.\n" +"Apply the changes before cancel or discard the changes?" +msgstr "" +"Има незапазени промени.\n" +"Желаете ли да приложите промените преди \n" +"да ги прекъÑнете или отхвърлите?" + +#: configuredialog.cpp:1032 +msgid "Please insert a name for the new scheme:" +msgstr "" + +#: configuredialog.cpp:1038 +#, fuzzy +msgid "KPowersave Configuration" +msgstr "Информационен екран на KPowersave" + +#: configuredialog.cpp:1046 +msgid "Error: A scheme with this name already exist.\n" +msgstr "" + +#: configuredialog.cpp:1076 +msgid "Do you really want to delete the %1 scheme?" +msgstr "" + +#: configuredialog.cpp:1078 +#, fuzzy +msgid "Confirm delete scheme" +msgstr "ÐаÑтройте текущата Ñхема." + +#: configuredialog.cpp:1079 configure_Dialog.cpp:883 +msgid "Delete" +msgstr "" + +#: configuredialog.cpp:1095 +#, fuzzy +msgid "Could not delete the selected scheme." +msgstr "ИзбраниÑÑ‚ ред не може да бъде премахнат." + +#: configuredialog.cpp:1324 +msgid "" +"Note: If you select this option, the computer will suspend or standby " +"if the current user is inactive for the defined time even if somebody is " +"logged in remotely to the X server.

    This feature can also produce " +"problems with some programs, such as video players or cd burner. These " +"programs can be blacklisted by checking Enable scheme-specific blacklist and click Edit Blacklist.... If this does not help, report the " +"problem or deactivate autosuspend.

    Really use this option?" +msgstr "" +"Забележка: Ðко изберете тази възможноÑÑ‚, компютърът ще бъде ÑпрÑн или " +"преведен в-готовноÑÑ‚ ако потребителÑÑ‚ е неактивен повече, от определеното " +"време и дори ако нÑкой е влÑзъл отдалечено в Ð¥ Ñървъра.

    Тази Ñ„ÑƒÐ½ÐºÑ†Ð¸Ñ " +"Ñъщо може да породи проблеми Ñ Ð½Ñкои програми, като видео плейъри и CD " +"запиÑвачки. Тези Ð¿Ñ€Ð¸Ð»Ð¾Ð¶ÐµÐ½Ð¸Ñ Ð¼Ð¾Ð³Ð°Ñ‚ да бъдат добавени в черен ÑпиÑък, като " +"изберете Разрешаване на Ñхемо-завиÑим черен ÑпиÑък и щракнете върху " +"Редактиране на Ñ‡ÐµÑ€Ð½Ð¸Ñ ÑпиÑък. Ðко това не помогне, извеÑтете за " +"проблема или деактивирайте автоматичното Ñпиране.

    ÐаиÑтина ли желаете " +"да използвате тази възможноÑÑ‚?" + +#: configuredialog.cpp:1402 configuredialog.cpp:1532 +msgid "" +"The blacklist of the selected scheme is empty. Import the general blacklist?" +msgstr "" +"ЧерниÑÑ‚ ÑпиÑък на избраната Ñхема е празен. Желаете ли да импортирате Ð¾Ð±Ñ‰Ð¸Ñ " +"ÑпиÑък?" + +#: configuredialog.cpp:1404 configuredialog.cpp:1534 +msgid "Import" +msgstr "Импортиране" + +#: configuredialog.cpp:1404 configuredialog.cpp:1534 +msgid "Do Not Import" +msgstr "Без импортиране" + +#: configuredialog.cpp:1416 +#, fuzzy +msgid "General Autosuspend Blacklist" +msgstr "Редактиране на Ñ‡ÐµÑ€Ð½Ð¸Ñ ÑпиÑък за авто-Ñпирането" + +#: configuredialog.cpp:1546 +#, fuzzy +msgid "General Autodimm Blacklist" +msgstr "Общ черен ÑпиÑък" + +#: configuredialog.cpp:1779 configuredialog.cpp:1816 +msgid "Shutdown" +msgstr "" + +#: configuredialog.cpp:1781 configuredialog.cpp:1819 +msgid "Logout Dialog" +msgstr "" + +#: configuredialog.cpp:1784 configuredialog.cpp:1822 kpowersave.cpp:182 +#: kpowersave.cpp:2096 kpowersave.cpp:2156 kpowersave.cpp:2247 +msgid "Suspend to Disk" +msgstr "Спиране върху диÑка" + +#: configuredialog.cpp:1787 configuredialog.cpp:1825 kpowersave.cpp:186 +#: kpowersave.cpp:2101 kpowersave.cpp:2161 kpowersave.cpp:2250 +msgid "Suspend to RAM" +msgstr "Спиране върху паметта" + +#: configuredialog.cpp:1790 configuredialog.cpp:1828 +#, fuzzy +msgid "CPU Powersave policy" +msgstr "ЕнергоÑпеÑÑ‚Ñване" + +#: configuredialog.cpp:1793 configuredialog.cpp:1831 +msgid "CPU Dynamic policy" +msgstr "" + +#: configuredialog.cpp:1796 configuredialog.cpp:1834 +#, fuzzy +msgid "CPU Performance policy" +msgstr "БързодейÑтвие" + +#: configuredialog.cpp:1799 configuredialog.cpp:1837 +#, fuzzy +msgid "Set Brightness to" +msgstr "ЯркоÑÑ‚" + +#: main.cpp:43 +#, fuzzy +msgid "KDE Frontend for Power Management, Battery Monitoring and Suspend" +msgstr "" +"Фронтенд на KDE към пакета powersave, монитор за батериÑта и общата " +"поддръжка на управлението на енергиÑта" + +#: main.cpp:45 +#, fuzzy +msgid "Force a new check for ACPI support" +msgstr "Принудителна нова проверка за ACPI поддръжка\n" + +#: main.cpp:46 +msgid "Trace function entry and leave points for debug\n" +msgstr "" + +#: main.cpp:59 +msgid "Current maintainer" +msgstr "ÐаÑтоÑщ човек за поддръжка" + +#: main.cpp:62 +#, fuzzy +msgid "Powersave developer and for D-Bus integration" +msgstr "Разработване на Powersave и интегриране за D-BUS " + +#: main.cpp:64 +msgid "Powersave developer and tester" +msgstr "Разработване на Powersave и правене на теÑтове" + +#: main.cpp:66 +msgid "Added basic detailed dialog" +msgstr "Добавен подробен екран" + +#: main.cpp:67 +msgid "Packaging Debian and Ubuntu" +msgstr "Пакетиране за Debian и Ubuntu" + +#: detaileddialog.cpp:61 +msgid "KPowersave Information Dialog" +msgstr "Информационен екран на KPowersave" + +#: detaileddialog.cpp:65 configure_Dialog.cpp:882 configure_Dialog.cpp:922 +msgid "Miscellaneous" +msgstr "Разни" + +#: detaileddialog.cpp:66 +msgid "CPUs" +msgstr "" + +#: detaileddialog.cpp:73 detaileddialog.cpp:453 +msgid "Battery state:" +msgstr "Ð¡Ñ‚Ð°Ñ‚ÑƒÑ Ð½Ð° батериÑта:" + +#: detaileddialog.cpp:79 +msgid "Total:" +msgstr "" + +#: detaileddialog.cpp:81 detaileddialog.cpp:83 +msgid "Battery %1" +msgstr "Ð‘Ð°Ñ‚ÐµÑ€Ð¸Ñ %1" + +#: detaileddialog.cpp:114 +msgid "Processor %1" +msgstr "ПроцеÑор %1" + +#: detaileddialog.cpp:230 +#, fuzzy +msgid "not present" +msgstr "не е налично." + +#: detaileddialog.cpp:243 +msgid "charged" +msgstr "" + +#: detaileddialog.cpp:245 +msgid "%1:%2 h until charged" +msgstr "%1:%2 h до пълно зареждане" + +#: detaileddialog.cpp:248 +msgid "%1:%2 h remaining" +msgstr "оÑтават %1:%2 h" + +#: detaileddialog.cpp:253 detaileddialog.cpp:441 detaileddialog.cpp:468 +msgid "unknown" +msgstr "" + +#: detaileddialog.cpp:325 detaileddialog.cpp:368 +msgid "%v MHz" +msgstr "%v MHz" + +#: detaileddialog.cpp:330 detaileddialog.cpp:363 dummy.cpp:58 +msgid "deactivated" +msgstr "деактивирано" + +#: detaileddialog.cpp:395 +#, fuzzy +msgid "unplugged" +msgstr "Включено" + +#: detaileddialog.cpp:412 +msgid "Current Scheme: " +msgstr "Текуща Ñхема: " + +#: detaileddialog.cpp:429 +msgid "Current CPU Frequency Policy:" +msgstr "Текуща полица за чеÑтотата на процеÑора:" + +#: detaileddialog.cpp:435 kpowersave.cpp:193 configure_Dialog.cpp:877 +msgid "Dynamic" +msgstr "Динамика" + +#: detaileddialog.cpp:456 +msgid "Critical" +msgstr "Критично" + +#: detaileddialog.cpp:459 +msgid "Low" +msgstr "ÐиÑко" + +#: detaileddialog.cpp:462 kpowersave.cpp:277 kpowersave.cpp:652 +#: kpowersave.cpp:659 kpowersave.cpp:705 kpowersave.cpp:713 kpowersave.cpp:761 +#: kpowersave.cpp:769 kpowersave.cpp:817 kpowersave.cpp:824 +#: kpowersave.cpp:1131 kpowersave.cpp:1243 kpowersave.cpp:1272 +#: kpowersave.cpp:1610 kpowersave.cpp:1670 kpowersave.cpp:2186 +msgid "Warning" +msgstr "Предупреждение" + +#: detaileddialog.cpp:465 +msgid "ok" +msgstr "добре" + +#: detaileddialog.cpp:474 detaileddialog.cpp:477 +msgid "Set brightness supported:" +msgstr "Поддръжка промÑна на ÑркоÑтта:" + +#: detaileddialog.cpp:475 +msgid "yes" +msgstr "да" + +#: detaileddialog.cpp:478 +msgid "no" +msgstr "не" + +#: detaileddialog.cpp:481 detaileddialog.cpp:485 +#, fuzzy +msgid "HAL Daemon:" +msgstr "Демонът HAL:" + +#: detaileddialog.cpp:482 +msgid "running" +msgstr "работи" + +#: detaileddialog.cpp:486 +msgid "not running" +msgstr "не работи" + +#: info_Dialog.cpp:197 +msgid "Information" +msgstr "ИнформациÑ" + +#: dummy.cpp:36 +msgid "If the current desktop user is inactive, dim the display to:" +msgstr "Ðко Ñ‚ÐµÐºÑƒÑ‰Ð¸Ñ Ð¿Ð¾Ñ‚Ñ€ÐµÐ±Ð¸Ñ‚ÐµÐ» е неактивен екранът ще Ñе затъмни Ñ:" + +#: dummy.cpp:37 +msgid "Enable dim display on inactivity" +msgstr "Разрешаване затъмнÑване на екрана при неактивноÑÑ‚" + +#: dummy.cpp:38 +#, fuzzy +msgid "Blacklist" +msgstr "Редактиране на Ñ‡ÐµÑ€Ð½Ð¸Ñ ÑпиÑък" + +#: dummy.cpp:39 +msgid "" +"Here you can add programs which should, if running, prevent the dimming of " +"the display." +msgstr "" + +#: dummy.cpp:41 +msgid "Would you like to import a predefined blacklist?" +msgstr "" + +#: dummy.cpp:42 +#, fuzzy +msgid "Disable CPUs/Cores" +msgstr "ЗабранÑване на ÐµÐºÑ€Ð°Ð½Ð½Ð¸Ñ Ð¿Ñ€ÐµÐ´Ð¿Ð°Ð·Ð¸Ñ‚ÐµÐ»" + +#: dummy.cpp:43 +msgid "Max. running CPUs:" +msgstr "" + +#: dummy.cpp:44 +msgid "Max. running CPUs/Cores:" +msgstr "" + +#: dummy.cpp:45 +#, fuzzy +msgid "Min. running CPUs:" +msgstr "не работи" + +#: dummy.cpp:46 +msgid "Min. running CPUs/Cores:" +msgstr "" + +#: dummy.cpp:47 +msgid "Enable to switch off CPUs/cores" +msgstr "" + +#: dummy.cpp:48 +msgid "You have a multiprocessor/multicore machine." +msgstr "" + +#: dummy.cpp:49 +msgid "" +"You can disable CPUs/cores to reduce power consumption and save battery " +"power." +msgstr "" + +#: dummy.cpp:50 +msgid "Device" +msgstr "УÑтройÑтво" + +#: dummy.cpp:51 +msgid "Devices" +msgstr "УÑтройÑтва" + +#: dummy.cpp:52 +msgid "Device class" +msgstr "ÐšÐ»Ð°Ñ Ð½Ð° уÑтройÑтвото" + +#: dummy.cpp:53 +msgid "activate" +msgstr "активиране" + +#: dummy.cpp:54 +msgid "Activate" +msgstr "Ðктивиране" + +#: dummy.cpp:55 +msgid "deactivate" +msgstr "деактивиране" + +#: dummy.cpp:56 +msgid "Deactivate" +msgstr "Деактивиране" + +#: dummy.cpp:57 +msgid "activated" +msgstr "активирано" + +#: dummy.cpp:59 +msgid "do nothing" +msgstr "без дейÑтвие" + +#: dummy.cpp:60 +msgid "Deactivate following devices:" +msgstr "Деактивиране на Ñледните уÑтройÑтва:" + +#: dummy.cpp:61 +msgid "Activate following devices" +msgstr "Ðктивиране на Ñледните уÑтройÑтва:" + +#: dummy.cpp:62 +msgid "Reactivate following devices" +msgstr "Реактивиране на Ñледните уÑтройÑтва:" + +#: dummy.cpp:63 +msgid "Deactivate following device classes:" +msgstr "Деактивиране на Ñледните клаÑове на уÑтройÑтва:" + +#: dummy.cpp:64 +msgid "Activate following devices classes" +msgstr "Ðктивиране на Ñледните клаÑове на уÑтройÑтва:" + +#: dummy.cpp:65 +msgid "Reactivate following device classes" +msgstr "Реактивиране на Ñледните клаÑове на уÑтройÑтва:" + +#: dummy.cpp:66 +msgid "If the scheme switched all devices are again activated." +msgstr "" +"Ðко Ñхемата бъде включена вÑички уÑтройÑтва ще бъдат активирани отново." + +#: dummy.cpp:67 +msgid "This is a experimental feature." +msgstr "Това е екÑпериментална функционалноÑÑ‚." + +#: dummy.cpp:68 +msgid "If you have problems with this feature, please report them." +msgstr "Ðко имате проблеми Ñ Ñ‚Ð°Ð·Ð¸ функциÑ, Ð¼Ð¾Ð»Ñ Ð¸Ð·Ð¿Ñ€Ð°Ñ‚ÐµÑ‚Ðµ ни отчет." + +#: dummy.cpp:69 +msgid "Select one of the available devices and click on " +msgstr "Изберете едно от наличните уÑтройÑтва и щракнете" + +#: dummy.cpp:70 +msgid "Select one of the available device classes and click on " +msgstr "Изберете едно от наличните клаÑове на уÑтройÑтва и щракнете" + +#: dummy.cpp:71 +msgid "Select one or more of the available devices and click on " +msgstr "Изберете едно или повече от наличните уÑтройÑтва и щракнете" + +#: dummy.cpp:72 +msgid "Select one or more of the available device classes and click on " +msgstr "Изберете едно или повече от наличните клаÑове на уÑтройÑтва и щракнете" + +#: dummy.cpp:73 +msgid "" +"Please note: If you e.g. deactivate a network device you may lose your " +"internet connection." +msgstr "" +"МолÑ, отбележете: Ðко, например, деактивирате мрежово уÑтройÑтво ще загубите " +"и Вашата Интернет връзка." + +#: dummy.cpp:75 +msgid "" +"Note: If you select this option, the computer will suspend or standby " +"if the current user is inactive for the defined time.

    This feature " +"can also produce problems with some programs, such as video players or cd " +"burner. These programs can be blacklisted by checking Enable scheme-" +"specific blacklist and click Edit Blacklist.... If this does not " +"help, report the problem or deactivate autosuspend.

    Really use this " +"option?" +msgstr "" +"Забележка: Ðко изберете тази възможноÑÑ‚, компютърът ще бъде ÑпрÑн или " +"преведен в-готовноÑÑ‚ ако потребителÑÑ‚ е неактивен повече, от определеното " +"време.

    Тази Ñ„ÑƒÐ½ÐºÑ†Ð¸Ñ Ñъщо може да породи проблеми Ñ Ð½Ñкои програми, " +"като видео плейъри и CD запиÑвачки. Тези Ð¿Ñ€Ð¸Ð»Ð¾Ð¶ÐµÐ½Ð¸Ñ Ð¼Ð¾Ð³Ð°Ñ‚ да бъдат добавени " +"в черен ÑпиÑък, като изберете Разрешаване на Ñхемо-завиÑим черен ÑпиÑък и щракнете върху Редактиране на Ñ‡ÐµÑ€Ð½Ð¸Ñ ÑпиÑък. Ðко това не " +"помогне, извеÑтете за проблема или деактивирайте автоматичното Ñпиране." +"

    ÐаиÑтина ли желаете да използвате тази възможноÑÑ‚?" + +#: dummy.cpp:82 +msgid "Try to use only one CPU/Core." +msgstr "" + +#: dummy.cpp:83 +msgid "" +"Reduce power consumption by try to use only one CPU/Core instead of " +"spreading the work over all/multiple CPUs." +msgstr "" + +#: dummy.cpp:87 +msgid "Could not load the global configuration." +msgstr "Ðе могат да Ñе заредÑÑ‚ глобалните наÑтройки." + +#: dummy.cpp:88 +msgid "Could not load the requested scheme configuration." +msgstr "Ðе могат да Ñе заредÑÑ‚ наÑтройките на желаната Ñхемата." + +#: dummy.cpp:89 +msgid "Configure the current scheme." +msgstr "ÐаÑтройте текущата Ñхема." + +#: dummy.cpp:90 +msgid "Try loading the default configuration." +msgstr "Опитайте да заредите Ñтандартните наÑтройки." + +#: dummy.cpp:91 +msgid "Maybe the global configuration file is empty or missing." +msgstr "Може би файлът Ñ Ð³Ð»Ð¾Ð±Ð°Ð»Ð½Ð¸Ñ‚Ðµ наÑтройки е празен или липÑва." + +#: dummy.cpp:94 +#, fuzzy +msgid "Cannot connect to D-Bus. The D-Bus daemon may not be running." +msgstr "Връзката Ñ D-BUS е неуÑпешна. ВероÑтно D-BUS демонът не е Ñтартиран." + +#: dummy.cpp:95 +msgid "" +"Scheme switched to %1. \n" +" Deactivate following devices: %2" +msgstr "" +"Схемата е превключена на %1.\n" +" Деактивиране на Ñледните уÑтройÑтва: %2" + +#: dummy.cpp:96 +msgid "" +"Scheme switched to %1. \n" +" Activate following devices: %2" +msgstr "" +"Схемата е превключена на %1.\n" +" Ðктивиране на Ñледните уÑтройÑтва: %2" + +#: dummy.cpp:97 +#, fuzzy +msgid "Report ..." +msgstr "Докладване на &грешка" + +#: dummy.cpp:98 +msgid "Suspend to RAM is not supported on your machine." +msgstr "" + +#: dummy.cpp:99 +msgid "Additionally, please mail the output of %1 to %2 . Thanks!" +msgstr "" + +#: dummy.cpp:100 +msgid "Power consumption" +msgstr "" + +#: dummy.cpp:103 +msgid "KScreensaver not found." +msgstr "KScreensaver не е открит." + +#: dummy.cpp:104 +msgid "Try locking with XScreensaver or xlock." +msgstr "Опитайте да заключите Ñ XScreensaver или xlock." + +#: dummy.cpp:105 +msgid "XScreensaver not found." +msgstr "XScreensaver не е открит." + +#: dummy.cpp:106 +msgid "Try locking the screen with xlock." +msgstr "Опитайте да заключите Ñ xlock." + +#: dummy.cpp:107 +msgid "" +"XScreensaver and xlock not found. It is not possible to lock the screen. " +"Check your installation." +msgstr "" +"XScreensaver или xlock не Ñа открити. \n" +"Ðе е възможно да Ñе заключи екрана.\n" +"МолÑ, проверете инÑталациÑта Ñи." + +#: dummy.cpp:111 +msgid "HAL daemon:" +msgstr "Демонът HAL:" + +#: dummy.cpp:112 +#, fuzzy +msgid "D-Bus daemon:" +msgstr "Демонът D-BUS:" + +#: dummy.cpp:113 +msgid "ConsoleKit daemon:" +msgstr "" + +#: dummy.cpp:114 +msgid "Autosuspend activated:" +msgstr "Ðктивиране на авто-Ñпиране:" + +#: dummy.cpp:115 +#, fuzzy +msgid "Autodimm activated:" +msgstr "Ðктивиране на авто-Ñпиране:" + +#: dummy.cpp:116 +msgid "enabled" +msgstr "разрешено" + +#: dummy.cpp:117 +msgid "Session active:" +msgstr "" + +#: dummy.cpp:120 +msgid "Inactivity detected." +msgstr "" + +#: dummy.cpp:121 +msgid "To stop the %1 press the 'Cancel' button before the countdown expire." +msgstr "" + +#: dummy.cpp:122 +msgid "The computer autosuspend in: " +msgstr "" + +#: dummy.cpp:123 +#, c-format +msgid "The display get dimmed down to %1% in: " +msgstr "" + +#: dummy.cpp:124 +msgid "%1 seconds" +msgstr "" + +#: dummy.cpp:127 +msgid "Could not call %1. The current desktop session is not active." +msgstr "" + +#: dummy.cpp:128 +msgid "Could not set %1. The current desktop session is not active." +msgstr "" + +#: dummy.cpp:129 +msgid "Stopped %1. The current desktop session is now inactive." +msgstr "" + +#: dummy.cpp:130 +msgid "Restarted %1. The current desktop session is now active again." +msgstr "" + +#: log_viewer.cpp:78 +msgid "Form1" +msgstr "" + +#: log_viewer.cpp:79 +msgid "Save As ..." +msgstr "" + +#: log_viewer.cpp:80 +msgid "Close" +msgstr "" + +#: logviewer.cpp:44 +msgid "KPowersave Logfile Viewer: %1" +msgstr "" + +#: logviewer.cpp:89 +msgid "File already exist. Overwrite the file?" +msgstr "" + +#: logviewer.cpp:90 logviewer.cpp:97 +msgid "Error while save logfile" +msgstr "" + +#: logviewer.cpp:95 +msgid "File already exist." +msgstr "" + +#: logviewer.cpp:98 +msgid "Try other filename ..." +msgstr "" + +#: suspenddialog.cpp:70 +msgid "Preparing Suspend..." +msgstr "ПодготвÑне на Ñпирането...." + +#: kpowersave.cpp:168 +msgid "Configure KPowersave..." +msgstr "ÐаÑтройка на KPowersave" + +#: kpowersave.cpp:171 configure_Dialog.cpp:915 +msgid "Configure Notifications..." +msgstr "" + +#: kpowersave.cpp:175 +msgid "Start YaST2 Power Management Module..." +msgstr "Стартиране на YaST2 модула за управление на енергиÑта..." + +#: kpowersave.cpp:189 kpowersave.cpp:2106 kpowersave.cpp:2166 +#: kpowersave.cpp:2253 +msgid "Standby" +msgstr "Ð’-готовноÑÑ‚" + +#: kpowersave.cpp:191 kpowersave.cpp:198 +msgid "Set CPU Frequency Policy" +msgstr "Задаване на полицата за чеÑтотата на процеÑора" + +#: kpowersave.cpp:205 kpowersave.cpp:206 +msgid "Set Active Scheme" +msgstr "Задаване на активната Ñхема" + +#: kpowersave.cpp:212 +msgid "Disable Actions on Inactivity" +msgstr "ЗабранÑване на дейÑÑ‚Ð²Ð¸Ñ Ð¿Ñ€Ð¸ неактивноÑÑ‚" + +#: kpowersave.cpp:219 kpowersave.cpp:229 +msgid "&Help" +msgstr "Помо&щ" + +#: kpowersave.cpp:221 +msgid "&KPowersave Handbook" +msgstr "Ðаръчник на &KPowersave" + +#: kpowersave.cpp:224 +msgid "&Report a bug ..." +msgstr "Докладване на &грешка" + +#: kpowersave.cpp:226 +msgid "&About KPowersave" +msgstr "&ОтноÑно KPowersave" + +#: kpowersave.cpp:275 kpowersave.cpp:648 kpowersave.cpp:656 kpowersave.cpp:703 +#: kpowersave.cpp:710 kpowersave.cpp:759 kpowersave.cpp:766 kpowersave.cpp:815 +#: kpowersave.cpp:822 kpowersave.cpp:1126 kpowersave.cpp:1241 +#: kpowersave.cpp:1270 kpowersave.cpp:2183 +msgid "WARNING" +msgstr "Ð’ÐИМÐÐИЕ" + +#: kpowersave.cpp:275 +msgid "Cannot find any schemes." +msgstr "" + +#: kpowersave.cpp:453 +msgid "No information about battery and AC status available" +msgstr "" +"ÐÑма налична Ð¸Ð½Ñ„Ð¾Ñ€Ð¼Ð°Ñ†Ð¸Ñ Ð¾Ñ‚Ð½Ð¾Ñно ÑтатуÑа на батериÑта и токозахранването" + +#: kpowersave.cpp:456 +msgid "Plugged in -- fully charged" +msgstr "Включено — напълно зареден" + +#: kpowersave.cpp:460 +msgid "Plugged in" +msgstr "Включено" + +#: kpowersave.cpp:464 +#, fuzzy +msgid "Plugged in -- %1% charged (%2:%3 h until full charged)" +msgstr "Включено — %1% зареден (оÑтават %2:%3 чаÑа)" + +#: kpowersave.cpp:467 +msgid "Plugged in -- %1% charged (%2:%3 remaining hours)" +msgstr "Включено — %1% зареден (оÑтават %2:%3 чаÑа)" + +#: kpowersave.cpp:471 kpowersave.cpp:475 +#, c-format +msgid "Plugged in -- %1% charged" +msgstr "Включено — %1% зареден" + +#: kpowersave.cpp:474 +msgid "Plugged in -- no battery" +msgstr "Включено — нÑма батериÑ" + +#: kpowersave.cpp:480 +msgid "Running on batteries -- %1% charged (%2:%3 hours remaining)" +msgstr "Ðа батерии — %1% зареден (оÑтават %2:%3 чаÑа)" + +#: kpowersave.cpp:484 +#, c-format +msgid "Running on batteries -- %1% charged" +msgstr "Ðа батерии — %1% зареден" + +#: kpowersave.cpp:491 +msgid " -- battery is charging" +msgstr " — батериÑта Ñе зарежда" + +#: kpowersave.cpp:649 kpowersave.cpp:657 +msgid "Could not start YaST Power Management Module. Check if it is installed." +msgstr "" +"Ðе може да Ñе Ñтартира YaST модула за управление на енергиÑта. \n" +"МолÑ, проверете дали е инÑталиран." + +#: kpowersave.cpp:703 +#, fuzzy +msgid "Suspend to disk failed" +msgstr "Спиране върху диÑка" + +#: kpowersave.cpp:711 +msgid "Suspend to disk disabled by administrator." +msgstr "Спирането върху диÑка е забранено от админиÑтратора." + +#: kpowersave.cpp:759 +#, fuzzy +msgid "Suspend to RAM failed" +msgstr "Спиране върху паметта" + +#: kpowersave.cpp:767 +msgid "Suspend to RAM disabled by administrator." +msgstr "Спирането върху паметта е забранено от админиÑтратора." + +#: kpowersave.cpp:815 +#, fuzzy +msgid "Standby failed" +msgstr "Ð’-готовноÑÑ‚ Ñлед:" + +#: kpowersave.cpp:822 +msgid "Standby disabled by administrator." +msgstr "Режимът \"Ð’ готовноÑÑ‚\" е забранен от админиÑтратора." + +#: kpowersave.cpp:853 +msgid "System is going into suspend mode now" +msgstr "" + +#: kpowersave.cpp:1039 +msgid "Could not call DCOP interface to umount external media." +msgstr "" + +#: kpowersave.cpp:1044 +msgid "" +"Could not umount external media before suspend/standby. \n" +" (Reason: %1)\n" +" \n" +" Would you like to continue suspend/standby anyway? \n" +"(Warning: Continue suspend can cause data loss!)" +msgstr "" + +#: kpowersave.cpp:1052 +msgid "Error while prepare %1" +msgstr "" + +#: kpowersave.cpp:1053 +#, fuzzy +msgid "Suspend anyway" +msgstr "Спиране Ñлед:" + +#: kpowersave.cpp:1053 +#, fuzzy +msgid "Cancel suspend" +msgstr "Разрешаване на авто-Ñпирането" + +#: kpowersave.cpp:1127 +msgid "" +"Could not lock the screen. There may be a problem with the selected \n" +"lock method or something else." +msgstr "" +"Екранът не може да бъде заключен. ВероÑтно има проблем Ñ Ð¸Ð·Ð±Ñ€Ð°Ð½Ð¸Ñ Ð¼ÐµÑ‚Ð¾Ð´ за " +"заключване или е нещо друго." + +#: kpowersave.cpp:1144 +msgid "The Lid was closed." +msgstr "" + +#: kpowersave.cpp:1156 +msgid "The Lid was opened." +msgstr "" + +#: kpowersave.cpp:1223 +msgid "Start KPowersave automatically when you log in?" +msgstr "Желаете ли KPowersave да Ñе Ñтартира автоматично при влизане?" + +#: kpowersave.cpp:1224 +msgid "Question" +msgstr "ВъпроÑ" + +#: kpowersave.cpp:1225 +msgid "Start Automatically" +msgstr "Ðвтоматично Ñтартиране" + +#: kpowersave.cpp:1225 +msgid "Do Not Start" +msgstr "Без Ñтартиране" + +#: kpowersave.cpp:1242 +msgid "CPU Freq Policy %1 could not be set." +msgstr "Политиката за чеÑтотата на процеÑора %1 не може да бъде зададена." + +#: kpowersave.cpp:1271 +msgid "Scheme %1 could not be activated." +msgstr "Схемата %1 не може да бъде активирана." + +#: kpowersave.cpp:1600 +#, fuzzy +msgid "" +"The D-Bus daemon is not running.\n" +"Starting it will provide full functionality: /etc/init.d/dbus start" +msgstr "" +"Демонът powersave не е Ñтартиран.\n" +"Стартирането му може да подобри бързодейÑтвието: /etc/init.d/powersaved start" + +#: kpowersave.cpp:1611 +msgid "Don't show this message again." +msgstr "Без повторно показване на това Ñъобщение." + +#: kpowersave.cpp:1637 +msgid "ERROR" +msgstr "ГРЕШКÐ" + +#: kpowersave.cpp:1638 +msgid "Could not get information from HAL. The haldaemon is maybe not running." +msgstr "" +"Ðе може да Ñе получи Ð¸Ð½Ñ„Ð¾Ñ€Ð¼Ð°Ñ†Ð¸Ñ Ð¾Ñ‚ HAL. ВероÑтно демонът HAL не е Ñтартиран." + +#: kpowersave.cpp:1641 +msgid "Error" +msgstr "Грешка" + +#: kpowersave.cpp:1912 +msgid "" +"Battery state changed to WARNING -- remaining time: %1 hours and %2 minutes." +msgstr "" +"СтатуÑÑŠÑ‚ на батериÑта е Ð’ÐИМÐÐИЕ — оÑтаващо време: %1 чаÑа и %2 минути." + +#: kpowersave.cpp:1921 +msgid "" +"Battery state changed to LOW -- remaining time: %1 hours and %2 minutes." +msgstr "" +"СтатуÑÑŠÑ‚ на батериÑта Ñе промени на ÐИСКО — оÑтаващо време: %1 чаÑа и %2 " +"минути." + +#: kpowersave.cpp:1932 +#, fuzzy +msgid "" +"Battery state changed to CRITICAL -- remaining time: %1 hours and %2 " +"minutes.\n" +"Shut down your system or plug in the power cable immediately. Otherwise the " +"machine\n" +"will go shutdown in 30 seconds" +msgstr "" +"СтатуÑÑŠÑ‚ на батериÑта е КРИТИЧÐО — оÑтаващо време: %1 чаÑа и %2 минути. " +"Изключете компютъра или включете незабавно захранване!" + +#: kpowersave.cpp:1943 +#, fuzzy +msgid "" +"Battery state changed to CRITICAL -- remaining time: %1 hours and %2 " +"minutes.\n" +"Shut down your system or plug in the power cable immediately." +msgstr "" +"СтатуÑÑŠÑ‚ на батериÑта е КРИТИЧÐО — оÑтаващо време: %1 чаÑа и %2 минути. " +"Изключете компютъра или включете незабавно захранване!" + +#: kpowersave.cpp:2041 +msgid "AC adapter plugged in" +msgstr "" + +#: kpowersave.cpp:2043 +#, fuzzy +msgid "AC adapter unplugged" +msgstr "AC транÑформатор" + +#: kpowersave.cpp:2078 +msgid "Switched to scheme: %1" +msgstr "" + +#: kpowersave.cpp:2095 kpowersave.cpp:2100 kpowersave.cpp:2105 +msgid "System is going into %1 now." +msgstr "" + +#: kpowersave.cpp:2155 kpowersave.cpp:2160 kpowersave.cpp:2165 +msgid "System is resumed from %1." +msgstr "" + +#: kpowersave.cpp:2184 +msgid "Could not remount (all) external storage media." +msgstr "" + +#: kpowersave.cpp:2192 +msgid "An unknown error occurred while %1. The errorcode is: '%2'" +msgstr "" + +#: kpowersave.cpp:2197 +msgid "Do you want to have a look at the log file?" +msgstr "" + +#: kpowersave.cpp:2198 kpowersave.cpp:2224 +msgid "Error while %1" +msgstr "" + +#: configure_Dialog.cpp:831 +msgid "KPowersave Settings" +msgstr "ÐаÑтройки на KPowersave" + +#: configure_Dialog.cpp:832 +#, fuzzy +msgid "Apply" +msgstr "&Прилагане" + +#: configure_Dialog.cpp:834 +#, fuzzy +msgid "Help" +msgstr "Помо&щ" + +#: configure_Dialog.cpp:840 +msgid "Enable specific display power management" +msgstr "Разрешаване на определено управление на енергиÑта за монитора" + +#: configure_Dialog.cpp:841 +msgid "Standby after:" +msgstr "Ð’-готовноÑÑ‚ Ñлед:" + +#: configure_Dialog.cpp:842 +msgid "Only blank the screen" +msgstr "Само изчиÑтване на екрана" + +#: configure_Dialog.cpp:843 +msgid "Disable screen saver" +msgstr "ЗабранÑване на ÐµÐºÑ€Ð°Ð½Ð½Ð¸Ñ Ð¿Ñ€ÐµÐ´Ð¿Ð°Ð·Ð¸Ñ‚ÐµÐ»" + +#: configure_Dialog.cpp:844 +msgid "Enable specific screensaver settings" +msgstr "Разрешаване на определени наÑтройки за ÐµÐºÑ€Ð°Ð½Ð½Ð¸Ñ Ð¿Ñ€ÐµÐ´Ð¿Ð°Ð·Ð¸Ñ‚ÐµÐ»" + +#: configure_Dialog.cpp:845 +msgid "Suspend after:" +msgstr "Спиране Ñлед:" + +#: configure_Dialog.cpp:846 +msgid "Power off after:" +msgstr "Изключване на захранването Ñлед:" + +#: configure_Dialog.cpp:847 +msgid "Disable display power management" +msgstr "ЗабранÑване на управлението на енергиÑта за монитора" + +#: configure_Dialog.cpp:848 configure_Dialog.cpp:849 configure_Dialog.cpp:850 +#: configure_Dialog.cpp:862 configure_Dialog.cpp:873 +msgid " min" +msgstr " min" + +#: configure_Dialog.cpp:851 +msgid "Screen Saver and DPMS" +msgstr "Екранен предпазител и DPMS" + +#: configure_Dialog.cpp:852 +msgid "Settings" +msgstr "ÐаÑтройки" + +#: configure_Dialog.cpp:853 +msgid "Reset" +msgstr "Ðулиране" + +#: configure_Dialog.cpp:855 +#, fuzzy +msgid "Enable scheme specific Brightness settings" +msgstr "Разрешаване на Ñхемо-отноÑни наÑтройки за &ÑркоÑтта" + +#: configure_Dialog.cpp:858 +msgid "Brightness" +msgstr "ЯркоÑÑ‚" + +#: configure_Dialog.cpp:859 +msgid "Enable autosuspend" +msgstr "Разрешаване на авто-Ñпирането" + +#: configure_Dialog.cpp:860 configure_Dialog.cpp:867 +msgid "Enable scheme-specific blacklist" +msgstr "Разрешаване на Ñхемо-завиÑим черен ÑпиÑък" + +#: configure_Dialog.cpp:861 configure_Dialog.cpp:870 +msgid "after:" +msgstr "Ñлед:" + +#: configure_Dialog.cpp:863 configure_Dialog.cpp:868 +msgid "Edit Blacklist..." +msgstr "Редактиране на Ñ‡ÐµÑ€Ð½Ð¸Ñ ÑпиÑък" + +#: configure_Dialog.cpp:864 configure_Dialog.cpp:869 +msgid "If the current desktop user is inactive the computer will:" +msgstr "Ðко Ñ‚ÐµÐºÑƒÑ‰Ð¸Ñ Ð¿Ð¾Ñ‚Ñ€ÐµÐ±Ð¸Ñ‚ÐµÐ» е неактивен компютърът ще: " + +#: configure_Dialog.cpp:865 +msgid "Autosuspend" +msgstr "Ðвто-Ñпиране" + +#: configure_Dialog.cpp:866 +#, fuzzy +msgid "Enable autodimm the display" +msgstr "Разрешаване затъмнÑване на екрана при неактивноÑÑ‚" + +#: configure_Dialog.cpp:871 configure_Dialog.cpp:893 configure_Dialog.cpp:894 +#: configure_Dialog.cpp:895 configure_Dialog.cpp:896 configure_Dialog.cpp:897 +#: configure_Dialog.cpp:898 +msgid " %" +msgstr "" + +#: configure_Dialog.cpp:872 +msgid "dimm to:" +msgstr "" + +#: configure_Dialog.cpp:874 +msgid "Autodimm" +msgstr "" + +#: configure_Dialog.cpp:879 +#, fuzzy +msgid "Set CPU Frequency Policy:" +msgstr "Задаване на полицата за чеÑтотата на процеÑора" + +#: configure_Dialog.cpp:880 +#, fuzzy +msgid "CPU Frequency Policy" +msgstr "Задаване на полицата за чеÑтотата на процеÑора" + +#: configure_Dialog.cpp:881 +msgid "Disable Notifications" +msgstr "" + +#: configure_Dialog.cpp:884 +msgid "New" +msgstr "" + +#: configure_Dialog.cpp:885 +msgid "Scheme Settings" +msgstr "ÐаÑтройки на Ñхемата" + +#: configure_Dialog.cpp:886 +msgid "" +"Define the battery warning levels (in percentage) and the releated action if " +"the level get reached:" +msgstr "" + +#: configure_Dialog.cpp:887 +#, fuzzy +msgid "Warning level:" +msgstr "Предупреждение" + +#: configure_Dialog.cpp:888 +msgid "Low level:" +msgstr "" + +#: configure_Dialog.cpp:889 +#, fuzzy +msgid "Critical level:" +msgstr "Критично" + +#: configure_Dialog.cpp:890 configure_Dialog.cpp:891 configure_Dialog.cpp:892 +msgid "if reached call:" +msgstr "" + +#: configure_Dialog.cpp:899 +#, fuzzy +msgid "Battery" +msgstr "Ð‘Ð°Ñ‚ÐµÑ€Ð¸Ñ %1" + +#: configure_Dialog.cpp:900 +msgid "" +"Define the action which should be executed if the related button get pressed:" +msgstr "" + +#: configure_Dialog.cpp:901 +#, fuzzy +msgid "Suspend-to-disk Button:" +msgstr "Спиране върху диÑка" + +#: configure_Dialog.cpp:902 +msgid "Sleep button:" +msgstr "" + +#: configure_Dialog.cpp:903 +msgid "Lid close Button:" +msgstr "" + +#: configure_Dialog.cpp:904 +#, fuzzy +msgid "Power Button:" +msgstr "Демонът Powersave:" + +#: configure_Dialog.cpp:905 +msgid "Button Events" +msgstr "" + +#: configure_Dialog.cpp:906 +msgid "" +"Select the following schemes as default if the system is running on AC or on " +"batteries." +msgstr "" + +#: configure_Dialog.cpp:907 +#, fuzzy +msgid "Battery scheme:" +msgstr "Ð¡Ñ‚Ð°Ñ‚ÑƒÑ Ð½Ð° батериÑта:" + +#: configure_Dialog.cpp:908 +#, fuzzy +msgid "AC scheme:" +msgstr "Схема: " + +#: configure_Dialog.cpp:909 +msgid "Default Schemes" +msgstr "" + +#: configure_Dialog.cpp:910 +msgid "Lock screen before suspend or standby" +msgstr "Заключване на екрана преди Ñпиране или в-готовноÑÑ‚." + +#: configure_Dialog.cpp:911 +msgid "Lock screen with:" +msgstr "Заключване на екрана Ñ:" + +#: configure_Dialog.cpp:912 +msgid "Lock screen on lid close" +msgstr "Заключване на екрана при затварÑне на капака." + +#: configure_Dialog.cpp:913 +msgid "Lock Screen" +msgstr "Заключване на екрана" + +#: configure_Dialog.cpp:914 +msgid "Notifications" +msgstr "" + +#: configure_Dialog.cpp:916 +msgid "Autostart" +msgstr "Ðвтоматично Ñтартиране" + +#: configure_Dialog.cpp:917 +msgid "Never ask me again on exit" +msgstr "Без повторно запитване при изход" + +#: configure_Dialog.cpp:918 +msgid "KPowersave starts automatically on login" +msgstr "KPowersave ще Ñе Ñтартира автоматично при влизане" + +#: configure_Dialog.cpp:919 +#, fuzzy +msgid "General Blacklists" +msgstr "Общ черен ÑпиÑък" + +#: configure_Dialog.cpp:920 +#, fuzzy +msgid "Edit Autosuspend Blacklist..." +msgstr "Редактиране на Ñ‡ÐµÑ€Ð½Ð¸Ñ ÑпиÑък за авто-Ñпирането" + +#: configure_Dialog.cpp:921 +#, fuzzy +msgid "Edit Autodimm Blacklist..." +msgstr "Редактиране на Ñ‡ÐµÑ€Ð½Ð¸Ñ ÑпиÑък" + +#: configure_Dialog.cpp:923 +msgid "General Settings" +msgstr "Общи наÑтройки" + +#~ msgid "" +#~ "Inactivity detected.\n" +#~ " Machine autosuspend in %1 seconds." +#~ msgstr "" +#~ "Открита е неактивноÑÑ‚.\n" +#~ " Машината ще Ñпре автоматично Ñлед %1 Ñекунди." + +#~ msgid "" +#~ "Inactivity detected.\n" +#~ " Dim display in %1 seconds to %2%." +#~ msgstr "" +#~ "Открита е неактивноÑÑ‚.\n" +#~ " Екранът ще Ñе затъмни Ñлед %1 Ñекунди на %2%." + +#~ msgid "Modules unloaded:" +#~ msgstr "Разтоварени модули:" + +#~ msgid "checking resume kernel" +#~ msgstr "проверка на Ñдрото за възÑтановÑване" + +#~ msgid "checking for swap partition" +#~ msgstr "проверка за swap дÑл" + +#~ msgid "unmounting FAT/NTFS partitions" +#~ msgstr "размонтиране на FAT/NTFS дÑлове" + +#~ msgid "stopping services" +#~ msgstr "Ñпиране на уÑлуги" + +#~ msgid "stopping service:" +#~ msgstr "Ñпиране на уÑлугата:" + +#~ msgid "unloading modules" +#~ msgstr "разтоварване на модулите" + +#~ msgid "unloading module:" +#~ msgstr "разтоварване на модула:" + +#~ msgid "syncing file systems" +#~ msgstr "Ñинхронизиране на файловите ÑиÑтеми" + +#~ msgid "preparing bootloader" +#~ msgstr "подготовка на мениджъра на зареждането" + +#~ msgid "Edit General Blacklist..." +#~ msgstr "Редактиране на Ð¾Ð±Ñ‰Ð¸Ñ Ñ‡ÐµÑ€ÐµÐ½ ÑпиÑък" + +#~ msgid "&OK" +#~ msgstr "&Добре" + +#~ msgid "&Cancel" +#~ msgstr "&Отказ" + +#~ msgid "" +#~ "This scheme support suspend and disable devices. This is a EXPERIMENTAL " +#~ "feature of powersave to save more power on laptops. If you select this " +#~ "scheme you can get in trouble (e.g. kernel oops). You can configure this " +#~ "feature currently in the powersave config files. Please report all " +#~ "problems via http://www.opensuse.org/Submit_a_bug \n" +#~ "\n" +#~ "Would you switch the scheme (on your own risk)?" +#~ msgstr "" +#~ "Тази Ñхема поддържа Ñпиране и забранÑване на уÑтройÑтва. Това е " +#~ "ЕКСПЕРИМЕÐТÐЛÐÐ Ñ„ÑƒÐ½ÐºÑ†Ð¸Ñ Ð½Ð° powersave за ÑъхранÑване на повече ÐµÐ½ÐµÑ€Ð³Ð¸Ñ Ð½Ð° " +#~ "лаптопите. Ðко изберете тази Ñхема можете да Ñе ÑблъÑкате Ñ Ð¿Ñ€Ð¾Ð±Ð»ÐµÐ¼Ð¸, " +#~ "като зациклÑне на Ñдрото. Ð’ момента можете да наÑтроите тази Ñ„ÑƒÐ½ÐºÑ†Ð¸Ñ Ð²ÑŠÐ² " +#~ "файловете Ñ Ð½Ð°Ñтройки на powersave. МолÑ, докладвайте откритите грешки " +#~ "чрез http://www.opensuse.org/Submit_a_bug \n" +#~ "\n" +#~ "ÐаиÑтина ли желаете да превключите тази Ñхема (на ваша отговорноÑÑ‚)?" + +#~ msgid "Continue" +#~ msgstr "Продължаване" + +#~ msgid " -- %1 MHz" +#~ msgstr " -- %1 MHz" + +#~ msgid "Enabled" +#~ msgstr "Разрешено" + +#~ msgid "In" +#~ msgstr "в" + +#~ msgid "Out" +#~ msgstr "извън" + +#~ msgid "You are not permitted to connect to the daemon" +#~ msgstr "ÐÑмате права за връзка Ñ Ð´ÐµÐ¼Ð¾Ð½Ð°" diff --git a/po/cs.po b/po/cs.po new file mode 100644 index 0000000..aa7c21d --- /dev/null +++ b/po/cs.po @@ -0,0 +1,1478 @@ +# translation of kpowersave.po to +# This file is distributed under the same license as the PACKAGE package. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER. +# +# Antje Faber , 2004. +# Klara Cihlarova , 2004, 2005, 2006. +# Klára Cihlářová , 2004. +# Jakub Friedl , 2005. +# Marek Stopka (m4r3k) , 2007. +# Klára Cihlářová , 2007. +msgid "" +msgstr "" +"Project-Id-Version: kpowersave\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2007-08-10 03:16+0200\n" +"PO-Revision-Date: 2007-08-31 01:05+0200\n" +"Last-Translator: Marek Stopka (m4r3k) \n" +"Language-Team: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: KBabel 1.11.4\n" +"Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n" +"10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" +"10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" + +#: detailed_Dialog.cpp:228 +msgid "kpowersave" +msgstr "kpowersave" + +#: detailed_Dialog.cpp:229 +msgid "General Information" +msgstr "Základní informace" + +#: detailed_Dialog.cpp:232 +msgid "Battery Status" +msgstr "Stav baterií" + +#: detailed_Dialog.cpp:233 +msgid "AC Adapter" +msgstr "AC adaptér" + +#: detailed_Dialog.cpp:234 detaileddialog.cpp:391 +msgid "plugged in" +msgstr "pÅ™ipojen" + +#: detailed_Dialog.cpp:235 +msgid "Power Consumtion: " +msgstr "SpotÅ™eba energie. " + +#: detailed_Dialog.cpp:237 +msgid "Processor Status" +msgstr "Stav procesoru" + +#: detailed_Dialog.cpp:238 blacklistedit_Dialog.cpp:130 info_Dialog.cpp:198 +#: configure_Dialog.cpp:838 +msgid "OK" +msgstr "OK" + +#: blacklisteditdialog.cpp:60 +msgid "General Blacklist" +msgstr "Obecná Äerná listina" + +#: blacklisteditdialog.cpp:63 +msgid "Scheme: " +msgstr "Schéma: " + +#: blacklisteditdialog.cpp:114 +msgid "Selected entry removed." +msgstr "Zvolená položka byla odstranÄ›na." + +#: blacklisteditdialog.cpp:117 +msgid "Could not remove the selected entry." +msgstr "Nelze odstranit zvolenou položku." + +#: blacklisteditdialog.cpp:137 +msgid "Inserted new entry." +msgstr "Vložena nová položka." + +#: blacklisteditdialog.cpp:141 +msgid "Entry exists already. Did not insert new entry." +msgstr "Položka již existuje. Nová nebyla vložena." + +#: blacklisteditdialog.cpp:144 +msgid "Empty entry was not inserted." +msgstr "Prázdná položka nebyla vložena." + +#: inactivity.cpp:298 +msgid "" +"Could not start 'pidof'. Could not autosuspend the machine.\n" +"Please check your installation." +msgstr "" +"Nelze spustit 'pidof'. Systém nepůjde automaticky\n" +"uspat. PÅ™ekontrolujte svou instalaci." + +#: blacklistedit_Dialog.cpp:129 +msgid "Autosuspend Blacklist Edit" +msgstr "Úprava Äerné listiny automatického uspání" + +# cancel button label +#: blacklistedit_Dialog.cpp:132 configuredialog.cpp:1079 +#: configure_Dialog.cpp:836 +msgid "Cancel" +msgstr "ZruÅ¡it" + +#: blacklistedit_Dialog.cpp:135 +msgid "Add" +msgstr "PÅ™idat" + +#: blacklistedit_Dialog.cpp:136 +msgid "Remove" +msgstr "Odstranit" + +#: infodialog.cpp:76 infodialog.cpp:78 main.cpp:55 +msgid "KPowersave" +msgstr "KPowersave" + +#: configuredialog.cpp:116 configuredialog.cpp:121 configuredialog.cpp:721 +msgid " - not supported" +msgstr " - není podporováno" + +#: configuredialog.cpp:150 configuredialog.cpp:317 detaileddialog.cpp:432 +#: kpowersave.cpp:192 settings.cpp:66 configure_Dialog.cpp:876 +msgid "Performance" +msgstr "Výkon" + +#: configuredialog.cpp:154 configuredialog.cpp:319 detaileddialog.cpp:438 +#: kpowersave.cpp:194 settings.cpp:68 configure_Dialog.cpp:878 +msgid "Powersave" +msgstr "Powersave" + +#: configuredialog.cpp:159 configuredialog.cpp:321 kpowersave.cpp:1478 +#: settings.cpp:70 +msgid "Presentation" +msgstr "Prezentace" + +#: configuredialog.cpp:164 configuredialog.cpp:323 kpowersave.cpp:1473 +#: settings.cpp:72 +msgid "Acoustic" +msgstr "Tichý" + +#: configuredialog.cpp:169 configuredialog.cpp:171 configuredialog.cpp:172 +#: configuredialog.cpp:173 kpowersave.cpp:1484 +msgid "Advanced Powersave" +msgstr "PokroÄilá správa napájení" + +#: configuredialog.cpp:271 +msgid "" +"This enables specific screen saver settings. \n" +"Note: If selected, the global screen saver settings are \n" +"overwritten while kpowersave runs." +msgstr "" +"Zde lze povolit zvláštní nastavení spoÅ™iÄe.\n" +"Poznámka: Pokud je zvoleno, jsou pÅ™i bÄ›hu kpowersave\n" +"pÅ™epsána obecná nastavení spoÅ™iÄe." + +#: configuredialog.cpp:274 +msgid "" +"This disables the screen saver. \n" +"Note: If selected, the global screen saver settings are \n" +"overwritten while kpowersave runs." +msgstr "" +"Zde lze zakázat spoÅ™iÄ obrazovky.\n" +"Poznámka: Pokud je zvoleno, jsou pÅ™i bÄ›hu kpowersave\n" +"pÅ™epsána obecná nastavení spoÅ™iÄe." + +#: configuredialog.cpp:277 +msgid "" +"This blanks the screen instead of using a specific screen saver. \n" +"Note: This may work only with KScreensaver." +msgstr "" +"Místo spoÅ™iÄe se bude zobrazovat jen prázdná obrazovka.\n" +"Poznámka: Tato volba funguje pouze pÅ™i použití KScreensaver." + +#: configuredialog.cpp:279 +msgid "" +"This enables specific DPMS settings. \n" +"Note: If selected, the global DPMS settings are \n" +"overwritten while kpowersave runs." +msgstr "" +"Zde povolíte zvláštní nastavení DPMS.\n" +"Poznámka: Pokud je zvoleno, jsou pÅ™i bÄ›hu kpowersave\n" +"pÅ™epsána obecná nastavení DPMS." + +#: configuredialog.cpp:282 +msgid "This disables DPMS support." +msgstr "Tímto zakážete DPMS podporu." + +#: configuredialog.cpp:283 +msgid "If selected, the screen is locked on suspend or standby." +msgstr "" +"Pokud je zvoleno, uzamkne se obrazovka\n" +"pÅ™i uspání nebo v pohotovostním režimu." + +#: configuredialog.cpp:284 +msgid "If selected, the screen is locked if the lid close event is triggered." +msgstr "" +"Pokud je zvoleno, uzamkne se obrazovka pÅ™i zachycení události 'ZavÅ™ení víka'." + +#: configuredialog.cpp:286 +msgid "" +"Check this box to enable or disable automatic suspension of the computer." +msgstr "Zde lze povolit Äi zakázat automatické uspání poÄítaÄe." + +#: configuredialog.cpp:288 +msgid "" +"Activate this action if the user was inactive for the defined time \n" +"(greater than 0 minutes). If empty, nothing happens." +msgstr "" +"Aktivuje akce, pokud bude uživatel po urÄitou dobu (> 0 min) neaktivní. " +"Pokud nic nezvolíte, nic se neprovede." + +#: configuredialog.cpp:291 +msgid "All scheme-related screen saver and DPMS settings." +msgstr "VÅ¡echna nastavení Å¡etÅ™iÄe obrazovky a DPMS vázaná na schéma." + +#: configuredialog.cpp:292 +msgid "All scheme-related display brightness settings." +msgstr "VÅ¡echna nastavení jasu obrazovky vázaná na schéma." + +#: configuredialog.cpp:293 +msgid "All scheme-related automatic suspend settings." +msgstr "VÅ¡echna nastavení automatického uspání vázaná na schéma." + +#: configuredialog.cpp:295 +msgid "" +"Here you can change the brightness of your display. \n" +"Use the slider to change the brightness directly for \n" +"testing. To reset back to previous level, please press \n" +"the 'Reset' button. " +msgstr "" +"Zde můžete zmÄ›nit jas monitoru.\n" +"Jas se bude mÄ›nit přímo pÅ™i zmÄ›nÄ›\n" +"hodnoty na posuvníku. ZmÄ›nu\n" +"na původní hodnotu provedete kliknutím\n" +"na tlaÄítko 'Obnovit'." + +#: configuredialog.cpp:299 +msgid "Use this button to set back the slider and the display brightness." +msgstr "Toto tlaÄítko použijte pro obnovení polohy posuvníku a jasu obrazovky." + +#: configuredialog.cpp:352 +msgid "Press this button to delete the selected scheme." +msgstr "Použijte toto tlaÄítko ke smazání vybraného schématu." + +#: configuredialog.cpp:357 +msgid "You can't delete the current AC or battery scheme." +msgstr "Nemůžete smazat souÄasné schéma pro zdroj, nebo baterii." + +#: configuredialog.cpp:363 +msgid "You can't delete this default scheme." +msgstr "Nemůžete smazat toto výchozí schéma." + +#: configuredialog.cpp:546 +msgid "" +"Your hardware supports to change the brightness. The values of the slider " +"are in percent and mapped to the available brightness levels of your " +"hardware." +msgstr "" +"Váš hardware podporuje zmÄ›nu jasu obrazovky. Hodnoty posuvníku jsou v " +"procentech a jsou namapovány na úrovnÄ› jasu podporované vaším zařízením." + +#: configuredialog.cpp:553 +msgid "" +"Your Hardware currently not support changing the brightness of your display." +msgstr "Váš hardware nyní nepodporuje zmÄ›nu jasu obrazovky." + +#: configuredialog.cpp:664 +msgid "Select Automatically" +msgstr "vybrat automaticky" + +#: configuredialog.cpp:665 +msgid "KScreensaver" +msgstr "KScreensaver" + +#: configuredialog.cpp:666 +msgid "XScreensaver" +msgstr "XScreensaver" + +#: configuredialog.cpp:667 +msgid "xlock" +msgstr "xlock" + +#: configuredialog.cpp:668 +msgid "GNOME Screensaver" +msgstr "GNOME Å¡etÅ™iÄ obrazovky" + +#: configuredialog.cpp:930 +msgid "" +"There are unsaved changes in the active scheme.\n" +"Apply the changes before jumping to the next scheme or discard the changes?" +msgstr "" +"V aktivním schématu jsou neuložené zmÄ›ny.\n" +"Chcete tyto zmÄ›ny pÅ™ed pÅ™echodem na jiné schéma uložit nebo zruÅ¡it?" + +#: configuredialog.cpp:933 configuredialog.cpp:983 +msgid "Unsaved Changes" +msgstr "Neuložené zmÄ›ny" + +#: configuredialog.cpp:981 +msgid "" +"There are unsaved changes.\n" +"Apply the changes before cancel or discard the changes?" +msgstr "" +"ZjiÅ¡tÄ›ny neuložené zmÄ›ny.\n" +"Chcete tyto zmÄ›ny použít nebo zahodit?" + +#: configuredialog.cpp:1032 +msgid "Please insert a name for the new scheme:" +msgstr "Prosím zadejte jméno nového schématu:" + +#: configuredialog.cpp:1038 +msgid "KPowersave Configuration" +msgstr "Nastavení KPowersave" + +#: configuredialog.cpp:1046 +msgid "Error: A scheme with this name already exist.\n" +msgstr "Chyba: Schéma s tímto jménem již existuje.\n" + +#: configuredialog.cpp:1076 +msgid "Do you really want to delete the %1 scheme?" +msgstr "Opravdu chcete vymazat schéma %1?" + +#: configuredialog.cpp:1078 +msgid "Confirm delete scheme" +msgstr "PotvrÄte vymazání schématu" + +#: configuredialog.cpp:1079 configure_Dialog.cpp:883 +msgid "Delete" +msgstr "Smazat" + +#: configuredialog.cpp:1095 +msgid "Could not delete the selected scheme." +msgstr "Nelze odstranit zvolené schéma." + +#: configuredialog.cpp:1324 +msgid "" +"Note: If you select this option, the computer will suspend or standby " +"if the current user is inactive for the defined time even if somebody is " +"logged in remotely to the X server.

    This feature can also produce " +"problems with some programs, such as video players or cd burner. These " +"programs can be blacklisted by checking Enable scheme-specific blacklist and click Edit Blacklist.... If this does not help, report the " +"problem or deactivate autosuspend.

    Really use this option?" +msgstr "" +"Poznámka: Pokud zvolíte tuto volbu, poÄítaÄ se uspí nebo pÅ™ejde do " +"pohotovostního režimu, pokud je aktuální uživatel po nastavený Äas " +"neaktivní, a to i v případÄ›, že je nÄ›kdo vzdálenÄ› pÅ™ihlášen k X serveru." +"

    Tato funkce může též způsobit problémy pÅ™i používání programů jako " +"jsou pÅ™ehrávaÄe videa nebo vypalovací programy. Takové programy je možno " +"uvést na Äerné listinÄ› zaÅ¡krtnutím Povolit Äernou listinu specifickou pro " +"schéma a kliknutím na Upravit Äernou listinu.... Pokud to " +"nepomůže, nahlaste problém nebo vypnÄ›te automatické uspávání. " +"

    Opravdu použít tuto volbu?" + +#: configuredialog.cpp:1402 configuredialog.cpp:1532 +msgid "" +"The blacklist of the selected scheme is empty. Import the general blacklist?" +msgstr "" +"ÄŒerná listina zvoleného schématu je prázdná. Importovat obecnou listinu?" + +#: configuredialog.cpp:1404 configuredialog.cpp:1534 +msgid "Import" +msgstr "Importovat" + +#: configuredialog.cpp:1404 configuredialog.cpp:1534 +msgid "Do Not Import" +msgstr "Neimportovat" + +#: configuredialog.cpp:1416 +msgid "General Autosuspend Blacklist" +msgstr "Úprava Äerné listiny automatického uspání" + +#: configuredialog.cpp:1546 +msgid "General Autodimm Blacklist" +msgstr "Obecná Äerná listina" + +#: configuredialog.cpp:1779 configuredialog.cpp:1816 +msgid "Shutdown" +msgstr "Vypnout" + +#: configuredialog.cpp:1781 configuredialog.cpp:1819 +msgid "Logout Dialog" +msgstr "OdhlaÅ¡ovací obrazovka" + +#: configuredialog.cpp:1784 configuredialog.cpp:1822 kpowersave.cpp:182 +#: kpowersave.cpp:2096 kpowersave.cpp:2156 kpowersave.cpp:2247 +msgid "Suspend to Disk" +msgstr "Uspání na disk" + +#: configuredialog.cpp:1787 configuredialog.cpp:1825 kpowersave.cpp:186 +#: kpowersave.cpp:2101 kpowersave.cpp:2161 kpowersave.cpp:2250 +msgid "Suspend to RAM" +msgstr "Uspání do RAM" + +#: configuredialog.cpp:1790 configuredialog.cpp:1828 +msgid "CPU Powersave policy" +msgstr "Úsporný režim CPU" + +#: configuredialog.cpp:1793 configuredialog.cpp:1831 +msgid "CPU Dynamic policy" +msgstr "Dynamický režim CPU" + +#: configuredialog.cpp:1796 configuredialog.cpp:1834 +msgid "CPU Performance policy" +msgstr "Výkonnostní režim CPU" + +#: configuredialog.cpp:1799 configuredialog.cpp:1837 +msgid "Set Brightness to" +msgstr "Nastav jas na" + +#: main.cpp:43 +msgid "KDE Frontend for Power Management, Battery Monitoring and Suspend" +msgstr "KDE rozhraní pro správu napájení, sledování baterie a uspávání" + +#: main.cpp:45 +msgid "Force a new check for ACPI support" +msgstr "Vynutit novou kontrolu podpory ACPI" + +#: main.cpp:46 +msgid "Trace function entry and leave points for debug\n" +msgstr "" + +#: main.cpp:59 +msgid "Current maintainer" +msgstr "SouÄasný správce" + +#: main.cpp:62 +msgid "Powersave developer and for D-Bus integration" +msgstr "Za vývoj Powersave a integraci D-Bus" + +#: main.cpp:64 +msgid "Powersave developer and tester" +msgstr "Powersave vývoj a testování" + +#: main.cpp:66 +msgid "Added basic detailed dialog" +msgstr "Vložen základní podrobný dialog" + +#: main.cpp:67 +msgid "Packaging Debian and Ubuntu" +msgstr "BalíÄky pro Debian a Ubuntu" + +#: detaileddialog.cpp:61 +msgid "KPowersave Information Dialog" +msgstr "InformaÄní dialog KPowersave" + +#: detaileddialog.cpp:65 configure_Dialog.cpp:882 configure_Dialog.cpp:922 +msgid "Miscellaneous" +msgstr "Různé" + +#: detaileddialog.cpp:66 +msgid "CPUs" +msgstr "Procesory" + +#: detaileddialog.cpp:73 detaileddialog.cpp:453 +msgid "Battery state:" +msgstr "Stav baterie:" + +#: detaileddialog.cpp:79 +msgid "Total:" +msgstr "Celkem:" + +#: detaileddialog.cpp:81 detaileddialog.cpp:83 +msgid "Battery %1" +msgstr "Baterie %1" + +#: detaileddialog.cpp:114 +msgid "Processor %1" +msgstr "Procesor %1" + +#: detaileddialog.cpp:230 +msgid "not present" +msgstr "není přítomna" + +#: detaileddialog.cpp:243 +msgid "charged" +msgstr "nabitý" + +#: detaileddialog.cpp:245 +msgid "%1:%2 h until charged" +msgstr "%1:%2 h do nabití" + +#: detaileddialog.cpp:248 +msgid "%1:%2 h remaining" +msgstr "%1:%2 h zbývá" + +#: detaileddialog.cpp:253 detaileddialog.cpp:441 detaileddialog.cpp:468 +msgid "unknown" +msgstr "neznámé" + +#: detaileddialog.cpp:325 detaileddialog.cpp:368 +msgid "%v MHz" +msgstr "%v MHz" + +#: detaileddialog.cpp:330 detaileddialog.cpp:363 dummy.cpp:58 +msgid "deactivated" +msgstr "deaktivovaný" + +#: detaileddialog.cpp:395 +msgid "unplugged" +msgstr "odpojen" + +#: detaileddialog.cpp:412 +msgid "Current Scheme: " +msgstr "Aktuální schéma: " + +#: detaileddialog.cpp:429 +msgid "Current CPU Frequency Policy:" +msgstr "Aktuální politika frekvence CPU:" + +#: detaileddialog.cpp:435 kpowersave.cpp:193 configure_Dialog.cpp:877 +msgid "Dynamic" +msgstr "Dynamické" + +#: detaileddialog.cpp:456 +msgid "Critical" +msgstr "Kritický" + +#: detaileddialog.cpp:459 +msgid "Low" +msgstr "Nízký" + +#: detaileddialog.cpp:462 kpowersave.cpp:277 kpowersave.cpp:652 +#: kpowersave.cpp:659 kpowersave.cpp:705 kpowersave.cpp:713 kpowersave.cpp:761 +#: kpowersave.cpp:769 kpowersave.cpp:817 kpowersave.cpp:824 +#: kpowersave.cpp:1131 kpowersave.cpp:1243 kpowersave.cpp:1272 +#: kpowersave.cpp:1610 kpowersave.cpp:1670 kpowersave.cpp:2186 +msgid "Warning" +msgstr "UpozornÄ›ní" + +#: detaileddialog.cpp:465 +msgid "ok" +msgstr "ok" + +#: detaileddialog.cpp:474 detaileddialog.cpp:477 +msgid "Set brightness supported:" +msgstr "Nastavení jasu podporováno:" + +#: detaileddialog.cpp:475 +msgid "yes" +msgstr "ano" + +#: detaileddialog.cpp:478 +msgid "no" +msgstr "ne" + +#: detaileddialog.cpp:481 detaileddialog.cpp:485 +msgid "HAL Daemon:" +msgstr "HAL démon:" + +#: detaileddialog.cpp:482 +msgid "running" +msgstr "běží" + +#: detaileddialog.cpp:486 +msgid "not running" +msgstr "neběží" + +#: info_Dialog.cpp:197 +msgid "Information" +msgstr "Informace" + +#: dummy.cpp:36 +msgid "If the current desktop user is inactive, dim the display to:" +msgstr "" +"Pokud je aktuální uživatel grafického prostÅ™edí neaktivní, ztlumit obrazovku " +"na:" + +#: dummy.cpp:37 +msgid "Enable dim display on inactivity" +msgstr "Povolit ztlumení obrazovky pÅ™i neaktivitÄ›" + +#: dummy.cpp:38 +msgid "Blacklist" +msgstr "ÄŒerná listina" + +#: dummy.cpp:39 +msgid "" +"Here you can add programs which should, if running, prevent the dimming of " +"the display." +msgstr "" +"Zde můžete zadat programy, pÅ™i jejichž bÄ›hu nemá docházet k ztlumení " +"obrazovky." + +#: dummy.cpp:41 +msgid "Would you like to import a predefined blacklist?" +msgstr "Chcete importovat pÅ™eddefinovanou Äernou listinu?" + +#: dummy.cpp:42 +msgid "Disable CPUs/Cores" +msgstr "Zakázat CPU/jádra" + +#: dummy.cpp:43 +msgid "Max. running CPUs:" +msgstr "Max. poÄet běžících CPU:" + +#: dummy.cpp:44 +msgid "Max. running CPUs/Cores:" +msgstr "Max. poÄet běžících CPU/jader:" + +#: dummy.cpp:45 +msgid "Min. running CPUs:" +msgstr "Min. poÄet běžících CPU:" + +#: dummy.cpp:46 +msgid "Min. running CPUs/Cores:" +msgstr "Min. poÄet běžících CPU/jader:" + +#: dummy.cpp:47 +msgid "Enable to switch off CPUs/cores" +msgstr "Povolit vypínání CPU/jader" + +#: dummy.cpp:48 +msgid "You have a multiprocessor/multicore machine." +msgstr "Máte víceprocesorový/vícejaderný systém." + +#: dummy.cpp:49 +msgid "" +"You can disable CPUs/cores to reduce power consumption and save battery " +"power." +msgstr "" +"K omezení spotÅ™eby a prodloužení délky životnosti baterie můžete zakázat CPU/" +"jádra." + +#: dummy.cpp:50 +msgid "Device" +msgstr "Zařízení" + +#: dummy.cpp:51 +msgid "Devices" +msgstr "Zařízení" + +#: dummy.cpp:52 +msgid "Device class" +msgstr "Třída zařízení" + +#: dummy.cpp:53 +msgid "activate" +msgstr "aktivovat" + +#: dummy.cpp:54 +msgid "Activate" +msgstr "Aktivovat" + +#: dummy.cpp:55 +msgid "deactivate" +msgstr "deaktivovat" + +#: dummy.cpp:56 +msgid "Deactivate" +msgstr "Deaktivovat" + +#: dummy.cpp:57 +msgid "activated" +msgstr "aktivovaný" + +#: dummy.cpp:59 +msgid "do nothing" +msgstr "nedÄ›lat nic" + +#: dummy.cpp:60 +msgid "Deactivate following devices:" +msgstr "Deaktivovat tato zařízení:" + +#: dummy.cpp:61 +msgid "Activate following devices" +msgstr "Aktivovat tato zařízení" + +#: dummy.cpp:62 +msgid "Reactivate following devices" +msgstr "Reaktivovat tato zařízení" + +#: dummy.cpp:63 +msgid "Deactivate following device classes:" +msgstr "Deaktivovat tyto třídy zařízení:" + +#: dummy.cpp:64 +msgid "Activate following devices classes" +msgstr "Aktivovat tyto třídy zařízení" + +#: dummy.cpp:65 +msgid "Reactivate following device classes" +msgstr "Reaktivovat tyto třídy zařízení" + +#: dummy.cpp:66 +msgid "If the scheme switched all devices are again activated." +msgstr "PÅ™i pÅ™epnutí schématu jsou vÅ¡echna zařízení opÄ›t aktivována." + +#: dummy.cpp:67 +msgid "This is a experimental feature." +msgstr "Toto je experimentální funkce." + +#: dummy.cpp:68 +msgid "If you have problems with this feature, please report them." +msgstr "Pokud máte s touto funkcí problémy, nahlaste je prosím." + +#: dummy.cpp:69 +msgid "Select one of the available devices and click on " +msgstr "Vyberte jedno z dostupných zařízení a kliknÄ›te na " + +#: dummy.cpp:70 +msgid "Select one of the available device classes and click on " +msgstr "Vyberte jednu z dostupných tříd zařízení a kliknÄ›te na " + +#: dummy.cpp:71 +msgid "Select one or more of the available devices and click on " +msgstr "Vyberte jedno nebo více dostupných zařízení a kliknÄ›te na " + +#: dummy.cpp:72 +msgid "Select one or more of the available device classes and click on " +msgstr "Vyberte jednu nebo více dostupných tříd zařízení a kliknÄ›te na " + +#: dummy.cpp:73 +msgid "" +"Please note: If you e.g. deactivate a network device you may lose your " +"internet connection." +msgstr "" +"Prosím uvÄ›domte si, že pokud napÅ™. deaktivujete-li síťové zařízení, ztratíte " +"pÅ™ipojení k Internetu." + +#: dummy.cpp:75 +msgid "" +"Note: If you select this option, the computer will suspend or standby " +"if the current user is inactive for the defined time.

    This feature " +"can also produce problems with some programs, such as video players or cd " +"burner. These programs can be blacklisted by checking Enable scheme-" +"specific blacklist and click Edit Blacklist.... If this does not " +"help, report the problem or deactivate autosuspend.

    Really use this " +"option?" +msgstr "" +"Poznámka: Pokud zvolíte tuto volbu, poÄítaÄ se uspí nebo pÅ™ejde do " +"pohotovostního režimu, pokud je aktuální uživatel po nastavený Äas neaktivní." +"

    Tato funkce může způsobit problémy pÅ™i používání programů jako jsou " +"pÅ™ehrávaÄe videa nebo vypalovací programy. Takové programy je možno uvést na " +"Äerné listinÄ› zaÅ¡krtnutím Povolit Äernou listinu specifickou pro schéma a kliknutím na Upravit Äernou listinu.... Pokud to nepomůže, " +"nahlaste problém nebo vypnÄ›te automatické uspávání.

    Opravdu použít " +"tuto volbu?" + +#: dummy.cpp:82 +msgid "Try to use only one CPU/Core." +msgstr "Zkus použít pouze jedno CPU/jádro." + +#: dummy.cpp:83 +msgid "" +"Reduce power consumption by try to use only one CPU/Core instead of " +"spreading the work over all/multiple CPUs." +msgstr "" +"Snížit spotÅ™ebu tím, že zkusí použít jen jedno CPU/jádro místo práce vÅ¡ech/" +"více CPU." + +#: dummy.cpp:87 +msgid "Could not load the global configuration." +msgstr "Nelze nahrát obecné nastavení." + +#: dummy.cpp:88 +msgid "Could not load the requested scheme configuration." +msgstr "Nelze nahrát požadované nastavení schéma." + +#: dummy.cpp:89 +msgid "Configure the current scheme." +msgstr "Nastavte aktuální schéma." + +#: dummy.cpp:90 +msgid "Try loading the default configuration." +msgstr "Pokuste se nahrát výchozí nastavení." + +#: dummy.cpp:91 +msgid "Maybe the global configuration file is empty or missing." +msgstr "Soubor s obecným nastavením je možná prázdný nebo neexistuje." + +#: dummy.cpp:94 +msgid "Cannot connect to D-Bus. The D-Bus daemon may not be running." +msgstr "Nelze se pÅ™ipojit k systému D-BUS. D-BUS démon možná neběží." + +#: dummy.cpp:95 +msgid "" +"Scheme switched to %1. \n" +" Deactivate following devices: %2" +msgstr "" +"Schéma pÅ™epnuto na %1. \n" +" Deaktivovat tato zařízení: %2" + +#: dummy.cpp:96 +msgid "" +"Scheme switched to %1. \n" +" Activate following devices: %2" +msgstr "" +"Schéma pÅ™epnuto na %1. \n" +" Aktivovat tato zařízení: %2" + +#: dummy.cpp:97 +msgid "Report ..." +msgstr "Nahlásit chybu..." + +#: dummy.cpp:98 +msgid "Suspend to RAM is not supported on your machine." +msgstr "Uspání do RAM není vaším poÄítaÄem podporováno." + +#: dummy.cpp:99 +msgid "Additionally, please mail the output of %1 to %2 . Thanks!" +msgstr "ZaÅ¡lete prosím výstup %1 na %2. DÄ›kujeme!" + +#: dummy.cpp:100 +msgid "Power consumption" +msgstr "SpotÅ™eba energie" + +#: dummy.cpp:103 +msgid "KScreensaver not found." +msgstr "Nebyl nalezen KScreensaver." + +#: dummy.cpp:104 +msgid "Try locking with XScreensaver or xlock." +msgstr "Pokuste se o uzamÄení pomocí XScreensaver nebo xlock." + +#: dummy.cpp:105 +msgid "XScreensaver not found." +msgstr "Nebyl nalezen XScreensaver." + +#: dummy.cpp:106 +msgid "Try locking the screen with xlock." +msgstr "Pokuste se obrazovku uzamknout pomocí xlock." + +#: dummy.cpp:107 +msgid "" +"XScreensaver and xlock not found. It is not possible to lock the screen. " +"Check your installation." +msgstr "" +"Nebyl nalezen XScreensaver ani xlock. Není možné uzamknout obrazovku. Prosím " +"pÅ™ekontrolujte instalaci." + +#: dummy.cpp:111 +msgid "HAL daemon:" +msgstr "HAL démon:" + +#: dummy.cpp:112 +msgid "D-Bus daemon:" +msgstr "D-BUS démon:" + +#: dummy.cpp:113 +msgid "ConsoleKit daemon:" +msgstr "ConsoleKit démon:" + +#: dummy.cpp:114 +msgid "Autosuspend activated:" +msgstr "Automatické uspání aktivováno:" + +#: dummy.cpp:115 +msgid "Autodimm activated:" +msgstr "Automatické uspání aktivováno:" + +#: dummy.cpp:116 +msgid "enabled" +msgstr "povoleno" + +#: dummy.cpp:117 +msgid "Session active:" +msgstr "Aktivní sezení:" + +#: dummy.cpp:120 +msgid "Inactivity detected." +msgstr "detekována neaktivita." + +#: dummy.cpp:121 +msgid "To stop the %1 press the 'Cancel' button before the countdown expire." +msgstr "" +"Pokud chcete zastavit %1 stisknÄ›te tlaÄítko \"ZruÅ¡it\" dokud odpoÄítávadlo " +"nevyprší." + +#: dummy.cpp:122 +msgid "The computer autosuspend in: " +msgstr "PoÄítaÄ se automaticky uspí za:" + +#: dummy.cpp:123 +#, c-format +msgid "The display get dimmed down to %1% in: " +msgstr "Obrazovka ztmavne o %1% za: " + +#: dummy.cpp:124 +msgid "%1 seconds" +msgstr " %1 s" + +#: dummy.cpp:127 +msgid "Could not call %1. The current desktop session is not active." +msgstr "Nemohu zavolat %1. SouÄasné sezení není aktivní." + +#: dummy.cpp:128 +msgid "Could not set %1. The current desktop session is not active." +msgstr "Nemohu nastavit %1. SouÄasné sezení není aktivní." + +#: dummy.cpp:129 +msgid "Stopped %1. The current desktop session is now inactive." +msgstr "Bylo zastaveno %1. SouÄasné sezení nyní aktivní." + +#: dummy.cpp:130 +msgid "Restarted %1. The current desktop session is now active again." +msgstr "Bylo znovuspuÅ¡tÄ›no %1. SouÄasné sezení je nyní aktivní." + +#: log_viewer.cpp:78 +msgid "Form1" +msgstr "Form1" + +#: log_viewer.cpp:79 +msgid "Save As ..." +msgstr "Uložit jako ..." + +#: log_viewer.cpp:80 +msgid "Close" +msgstr "Zavřít" + +#: logviewer.cpp:44 +msgid "KPowersave Logfile Viewer: %1" +msgstr "ProhlížeÄ logovacího souboru KPowersave: %1" + +#: logviewer.cpp:89 +msgid "File already exist. Overwrite the file?" +msgstr "Soubor již existuje. PÅ™epsat jej?" + +#: logviewer.cpp:90 logviewer.cpp:97 +msgid "Error while save logfile" +msgstr "Chyba pÅ™i ukládání logovacího souboru" + +#: logviewer.cpp:95 +msgid "File already exist." +msgstr "Soubor již existuje." + +#: logviewer.cpp:98 +msgid "Try other filename ..." +msgstr "Zkuste jiný název souboru ..." + +#: suspenddialog.cpp:70 +msgid "Preparing Suspend..." +msgstr "Příprava uspání..." + +#: kpowersave.cpp:168 +msgid "Configure KPowersave..." +msgstr "Nastavit KPowersave..." + +#: kpowersave.cpp:171 configure_Dialog.cpp:915 +msgid "Configure Notifications..." +msgstr "Nastavit upozornÄ›ní..." + +#: kpowersave.cpp:175 +msgid "Start YaST2 Power Management Module..." +msgstr "Spustit modul správy napájení programu YaST2..." + +#: kpowersave.cpp:189 kpowersave.cpp:2106 kpowersave.cpp:2166 +#: kpowersave.cpp:2253 +msgid "Standby" +msgstr "Pohotovostní režim" + +#: kpowersave.cpp:191 kpowersave.cpp:198 +msgid "Set CPU Frequency Policy" +msgstr "Nastavit politiku frekvence CPU" + +#: kpowersave.cpp:205 kpowersave.cpp:206 +msgid "Set Active Scheme" +msgstr "Nastavit aktivní schéma" + +#: kpowersave.cpp:212 +msgid "Disable Actions on Inactivity" +msgstr "Zakázat akce pÅ™i neaktivitÄ›" + +#: kpowersave.cpp:219 kpowersave.cpp:229 +msgid "&Help" +msgstr "&NápovÄ›da" + +#: kpowersave.cpp:221 +msgid "&KPowersave Handbook" +msgstr "&PříruÄka aplikace KPowersave" + +#: kpowersave.cpp:224 +msgid "&Report a bug ..." +msgstr "&Nahlásit chybu..." + +#: kpowersave.cpp:226 +msgid "&About KPowersave" +msgstr "&O aplikaci KPowersave" + +#: kpowersave.cpp:275 kpowersave.cpp:648 kpowersave.cpp:656 kpowersave.cpp:703 +#: kpowersave.cpp:710 kpowersave.cpp:759 kpowersave.cpp:766 kpowersave.cpp:815 +#: kpowersave.cpp:822 kpowersave.cpp:1126 kpowersave.cpp:1241 +#: kpowersave.cpp:1270 kpowersave.cpp:2183 +msgid "WARNING" +msgstr "POPLACH" + +#: kpowersave.cpp:275 +msgid "Cannot find any schemes." +msgstr "Nemohu najít žádné schéma." + +#: kpowersave.cpp:453 +msgid "No information about battery and AC status available" +msgstr "Nejsou dostupné informace o baterii a stavu napájení" + +#: kpowersave.cpp:456 +msgid "Plugged in -- fully charged" +msgstr "PÅ™ipojen -- nabitý" + +#: kpowersave.cpp:460 +msgid "Plugged in" +msgstr "PÅ™ipojen" + +#: kpowersave.cpp:464 +msgid "Plugged in -- %1% charged (%2:%3 h until full charged)" +msgstr "PÅ™ipojen -- %1% nabito (zbývá %2:%3)" + +#: kpowersave.cpp:467 +msgid "Plugged in -- %1% charged (%2:%3 remaining hours)" +msgstr "PÅ™ipojen -- %1% nabito (zbývá %2:%3)" + +#: kpowersave.cpp:471 kpowersave.cpp:475 +#, c-format +msgid "Plugged in -- %1% charged" +msgstr "PÅ™ipojen -- nabito %1%" + +#: kpowersave.cpp:474 +msgid "Plugged in -- no battery" +msgstr "PÅ™ipojen -- bez baterie" + +#: kpowersave.cpp:480 +msgid "Running on batteries -- %1% charged (%2:%3 hours remaining)" +msgstr "BÄ›h na baterii -- nabito %1% (zbývá %2:%3)" + +#: kpowersave.cpp:484 +#, c-format +msgid "Running on batteries -- %1% charged" +msgstr "BÄ›h na baterii -- nabito %1%" + +#: kpowersave.cpp:491 +msgid " -- battery is charging" +msgstr " -- baterie se nabíjí" + +#: kpowersave.cpp:649 kpowersave.cpp:657 +msgid "Could not start YaST Power Management Module. Check if it is installed." +msgstr "Nelze spustit modul správy napájení programu YaST2. Je nainstalován?" + +#: kpowersave.cpp:703 +msgid "Suspend to disk failed" +msgstr "Uspání na disk selhalo" + +#: kpowersave.cpp:711 +msgid "Suspend to disk disabled by administrator." +msgstr "Uspání na disk zakázáno administrátorem." + +#: kpowersave.cpp:759 +msgid "Suspend to RAM failed" +msgstr "Uspání do RAM selhalo" + +#: kpowersave.cpp:767 +msgid "Suspend to RAM disabled by administrator." +msgstr "Uspání do RAM zakázáno administrátorem." + +#: kpowersave.cpp:815 +msgid "Standby failed" +msgstr "Pohotovostní režim selhal" + +#: kpowersave.cpp:822 +msgid "Standby disabled by administrator." +msgstr "Pohotovostní režim byl zakázán administrátorem." + +#: kpowersave.cpp:853 +msgid "System is going into suspend mode now" +msgstr "Systém bude nyní uspán" + +#: kpowersave.cpp:1039 +msgid "Could not call DCOP interface to umount external media." +msgstr "Nemohu zavolat DCOP rozhraní pro odpojení externích médií." + +#: kpowersave.cpp:1044 +msgid "" +"Could not umount external media before suspend/standby. \n" +" (Reason: %1)\n" +" \n" +" Would you like to continue suspend/standby anyway? \n" +"(Warning: Continue suspend can cause data loss!)" +msgstr "" +"Nemohu odpojít externí média pÅ™ed uspáním/pohotovostí. \n" +" (Důvod: %1)\n" +" \n" +" PÅ™ejete si pokraÄovat v uspávání/pÅ™echodu do pohotovosti? \n" +"(Varování: PokraÄování v uspávání může způsobit ztrátu dat!)" + +#: kpowersave.cpp:1052 +msgid "Error while prepare %1" +msgstr "Chyba pÅ™i přípravÄ› %1" + +#: kpowersave.cpp:1053 +msgid "Suspend anyway" +msgstr "I tak uspat" + +#: kpowersave.cpp:1053 +msgid "Cancel suspend" +msgstr "PÅ™eruÅ¡it uspávání" + +#: kpowersave.cpp:1127 +msgid "" +"Could not lock the screen. There may be a problem with the selected \n" +"lock method or something else." +msgstr "" +"Nelze uzamknout obrazovku. Možná nastal problém se zvolenou\n" +"metodou uzamykání, případnÄ› jiný problém." + +#: kpowersave.cpp:1144 +msgid "The Lid was closed." +msgstr "Víko bylo zavÅ™eno." + +#: kpowersave.cpp:1156 +msgid "The Lid was opened." +msgstr "Víko bylo otevÅ™eno." + +#: kpowersave.cpp:1223 +msgid "Start KPowersave automatically when you log in?" +msgstr "Má se KPowersave spouÅ¡tÄ›t automaticky po pÅ™ihlášení?" + +#: kpowersave.cpp:1224 +msgid "Question" +msgstr "Dotaz" + +#: kpowersave.cpp:1225 +msgid "Start Automatically" +msgstr "Spustit automaticky" + +#: kpowersave.cpp:1225 +msgid "Do Not Start" +msgstr "NespouÅ¡tÄ›t" + +#: kpowersave.cpp:1242 +msgid "CPU Freq Policy %1 could not be set." +msgstr "Nelze nastavit politiku frekvence CPU %1." + +#: kpowersave.cpp:1271 +msgid "Scheme %1 could not be activated." +msgstr "Schéma %1 nelze aktivovat." + +#: kpowersave.cpp:1600 +msgid "" +"The D-Bus daemon is not running.\n" +"Starting it will provide full functionality: /etc/init.d/dbus start" +msgstr "" +"DBUS démon neběží.\n" +"Plnou funkÄnost získáte jeho spuÅ¡tÄ›ním příkazem: /etc/init.d/dbus start" + +#: kpowersave.cpp:1611 +msgid "Don't show this message again." +msgstr "Nezobrazovat tuto zprávu znovu." + +#: kpowersave.cpp:1637 +msgid "ERROR" +msgstr "CHYBA" + +#: kpowersave.cpp:1638 +msgid "Could not get information from HAL. The haldaemon is maybe not running." +msgstr "Nelze získat informace z HAL. PotÅ™ebný hal démon možná neběží." + +#: kpowersave.cpp:1641 +msgid "Error" +msgstr "Chyba" + +#: kpowersave.cpp:1912 +msgid "" +"Battery state changed to WARNING -- remaining time: %1 hours and %2 minutes." +msgstr "Stav baterií vyvolal POPLACH -- zbývající Äas: %1 hod a %2 min." + +#: kpowersave.cpp:1921 +msgid "" +"Battery state changed to LOW -- remaining time: %1 hours and %2 minutes." +msgstr "Stav baterií je NÃZKà -- zbývající Äas: %1 hod. a %2 min." + +#: kpowersave.cpp:1932 +msgid "" +"Battery state changed to CRITICAL -- remaining time: %1 hours and %2 " +"minutes.\n" +"Shut down your system or plug in the power cable immediately. Otherwise the " +"machine\n" +"will go shutdown in 30 seconds" +msgstr "" +"Stav baterií je KRITICKà -- zbývající Äas: %1 hod. a %2 min. VypnÄ›te " +"okamžitÄ› systém nebo jej pÅ™ipojte do sítÄ›! Nebo se poÄítaÄ vypne \n" +"za bÄ›hem 30 sekund" + +#: kpowersave.cpp:1943 +msgid "" +"Battery state changed to CRITICAL -- remaining time: %1 hours and %2 " +"minutes.\n" +"Shut down your system or plug in the power cable immediately." +msgstr "" +"Stav baterií je KRITICKà -- zbývající Äas: %1 hod. a %2 min. \n" +"VypnÄ›te okamžitÄ› systém nebo jej pÅ™ipojte do sítÄ›!" + +#: kpowersave.cpp:2041 +msgid "AC adapter plugged in" +msgstr "Zapojen do sítÄ›" + +#: kpowersave.cpp:2043 +msgid "AC adapter unplugged" +msgstr "Odpojen od sítÄ›" + +#: kpowersave.cpp:2078 +msgid "Switched to scheme: %1" +msgstr "PÅ™epnuto na schéma: %1" + +#: kpowersave.cpp:2095 kpowersave.cpp:2100 kpowersave.cpp:2105 +msgid "System is going into %1 now." +msgstr "Systém pÅ™echází do stavu: %1" + +#: kpowersave.cpp:2155 kpowersave.cpp:2160 kpowersave.cpp:2165 +msgid "System is resumed from %1." +msgstr "%1: systém probuzen." + +#: kpowersave.cpp:2184 +msgid "Could not remount (all) external storage media." +msgstr "Nemohu pÅ™epÅ™ipojit (vÅ¡echna) externí média." + +#: kpowersave.cpp:2192 +msgid "An unknown error occurred while %1. The errorcode is: '%2'" +msgstr "DoÅ¡lo k neznámé chybÄ› bÄ›hem %1. Kód chyby je: '%2'" + +# power-off message +#: kpowersave.cpp:2197 +msgid "Do you want to have a look at the log file?" +msgstr "Chcete se podívat na logovací soubor?" + +#: kpowersave.cpp:2198 kpowersave.cpp:2224 +msgid "Error while %1" +msgstr "Chyba pÅ™i %1" + +#: configure_Dialog.cpp:831 +msgid "KPowersave Settings" +msgstr "Nastavení KPowersave" + +#: configure_Dialog.cpp:832 +msgid "Apply" +msgstr "Použít" + +#: configure_Dialog.cpp:834 +msgid "Help" +msgstr "NápovÄ›da" + +#: configure_Dialog.cpp:840 +msgid "Enable specific display power management" +msgstr "Povolit zvláštní správu napájení obrazovky" + +#: configure_Dialog.cpp:841 +msgid "Standby after:" +msgstr "Pohotovostní režim po:" + +#: configure_Dialog.cpp:842 +msgid "Only blank the screen" +msgstr "Pouze smazat obrazovku" + +#: configure_Dialog.cpp:843 +msgid "Disable screen saver" +msgstr "Zakázat Å¡etÅ™iÄ obrazovky" + +#: configure_Dialog.cpp:844 +msgid "Enable specific screensaver settings" +msgstr "Povolit zvláštní nastavení Å¡etÅ™iÄe obrazovky" + +#: configure_Dialog.cpp:845 +msgid "Suspend after:" +msgstr "Uspání po:" + +#: configure_Dialog.cpp:846 +msgid "Power off after:" +msgstr "Vypnutí po:" + +#: configure_Dialog.cpp:847 +msgid "Disable display power management" +msgstr "Zakázat správu napájení obrazovky" + +#: configure_Dialog.cpp:848 configure_Dialog.cpp:849 configure_Dialog.cpp:850 +#: configure_Dialog.cpp:862 configure_Dialog.cpp:873 +msgid " min" +msgstr " min" + +#: configure_Dialog.cpp:851 +msgid "Screen Saver and DPMS" +msgstr "SpoÅ™iÄ obrazovky a DPMS" + +#: configure_Dialog.cpp:852 +msgid "Settings" +msgstr "Nastavení" + +#: configure_Dialog.cpp:853 +msgid "Reset" +msgstr "Obnovit" + +#: configure_Dialog.cpp:855 +msgid "Enable scheme specific Brightness settings" +msgstr "Povolit pro schémata specifická nastavení jasu" + +#: configure_Dialog.cpp:858 +msgid "Brightness" +msgstr "Jas" + +#: configure_Dialog.cpp:859 +msgid "Enable autosuspend" +msgstr "Povolit automatické uspání" + +#: configure_Dialog.cpp:860 configure_Dialog.cpp:867 +msgid "Enable scheme-specific blacklist" +msgstr "Povolit Äernou listinu specifickou pro schéma" + +#: configure_Dialog.cpp:861 configure_Dialog.cpp:870 +msgid "after:" +msgstr "po:" + +#: configure_Dialog.cpp:863 configure_Dialog.cpp:868 +msgid "Edit Blacklist..." +msgstr "Upravit Äernou listinu..." + +#: configure_Dialog.cpp:864 configure_Dialog.cpp:869 +msgid "If the current desktop user is inactive the computer will:" +msgstr "Pokud je uživatel grafického prostÅ™edí neaktivní poÄítaÄ:" + +#: configure_Dialog.cpp:865 +msgid "Autosuspend" +msgstr "Automatické uspání" + +#: configure_Dialog.cpp:866 +msgid "Enable autodimm the display" +msgstr "Povolit ztlumení obrazovky pÅ™i neaktivitÄ›" + +#: configure_Dialog.cpp:871 configure_Dialog.cpp:893 configure_Dialog.cpp:894 +#: configure_Dialog.cpp:895 configure_Dialog.cpp:896 configure_Dialog.cpp:897 +#: configure_Dialog.cpp:898 +msgid " %" +msgstr " %" + +#: configure_Dialog.cpp:872 +msgid "dimm to:" +msgstr "ztlumit na:" + +#: configure_Dialog.cpp:874 +msgid "Autodimm" +msgstr "Automatické ztlumení" + +#: configure_Dialog.cpp:879 +msgid "Set CPU Frequency Policy:" +msgstr "Nastavit politiku frekvence CPU:" + +#: configure_Dialog.cpp:880 +msgid "CPU Frequency Policy" +msgstr "Politika frekvence CPU" + +#: configure_Dialog.cpp:881 +msgid "Disable Notifications" +msgstr "Zakázat upozornÄ›ní" + +#: configure_Dialog.cpp:884 +msgid "New" +msgstr "Nový" + +#: configure_Dialog.cpp:885 +msgid "Scheme Settings" +msgstr "Nastavení schémat" + +#: configure_Dialog.cpp:886 +msgid "" +"Define the battery warning levels (in percentage) and the releated action if " +"the level get reached:" +msgstr "" +"Nastavte úrovnÄ› baterie pro varování (v procentech) a nastavte akci, která " +"se provede, pokud jí bude dosaženo:" + +#: configure_Dialog.cpp:887 +msgid "Warning level:" +msgstr "Úroveň varování:" + +#: configure_Dialog.cpp:888 +msgid "Low level:" +msgstr "Nízká úroveň:" + +#: configure_Dialog.cpp:889 +msgid "Critical level:" +msgstr "Kritická úroveň:" + +#: configure_Dialog.cpp:890 configure_Dialog.cpp:891 configure_Dialog.cpp:892 +msgid "if reached call:" +msgstr "pokud je dosaženo zavolej:" + +#: configure_Dialog.cpp:899 +msgid "Battery" +msgstr "Baterie" + +#: configure_Dialog.cpp:900 +msgid "" +"Define the action which should be executed if the related button get pressed:" +msgstr "Nastavte akci, která se provede, pokud bude stisknuto daná tlaÄítko:" + +#: configure_Dialog.cpp:901 +msgid "Suspend-to-disk Button:" +msgstr "Klávesa uspání na disk:" + +#: configure_Dialog.cpp:902 +msgid "Sleep button:" +msgstr "TlaÄítko uspání:" + +#: configure_Dialog.cpp:903 +msgid "Lid close Button:" +msgstr "TlaÄítko pÅ™iklopení displaye:" + +#: configure_Dialog.cpp:904 +msgid "Power Button:" +msgstr "TlaÄítko napájení:" + +#: configure_Dialog.cpp:905 +msgid "Button Events" +msgstr "Události tlaÄítek" + +#: configure_Dialog.cpp:906 +msgid "" +"Select the following schemes as default if the system is running on AC or on " +"batteries." +msgstr "" +"Vyberte z následujících schémat takové, které bude aktivní pokud bude systém " +"v síti, nebo na baterii." + +#: configure_Dialog.cpp:907 +msgid "Battery scheme:" +msgstr "Schéma baterie:" + +#: configure_Dialog.cpp:908 +msgid "AC scheme:" +msgstr "Schéma zdroje:" + +#: configure_Dialog.cpp:909 +msgid "Default Schemes" +msgstr "Výchozí schéma" + +#: configure_Dialog.cpp:910 +msgid "Lock screen before suspend or standby" +msgstr "Zamknout obrazovku pÅ™ed uspáním Äi pÅ™echodem do pohotovostního režimu" + +#: configure_Dialog.cpp:911 +msgid "Lock screen with:" +msgstr "Uzamknout obrazovku pomocí:" + +#: configure_Dialog.cpp:912 +msgid "Lock screen on lid close" +msgstr "Uzamknout obrazovku pÅ™i zavÅ™ení víka" + +#: configure_Dialog.cpp:913 +msgid "Lock Screen" +msgstr "Uzamknout obrazovku" + +#: configure_Dialog.cpp:914 +msgid "Notifications" +msgstr "UpozornÄ›ní" + +#: configure_Dialog.cpp:916 +msgid "Autostart" +msgstr "Automatické spuÅ¡tÄ›ní" + +#: configure_Dialog.cpp:917 +msgid "Never ask me again on exit" +msgstr "PÅ™i ukonÄení se již neptat" + +#: configure_Dialog.cpp:918 +msgid "KPowersave starts automatically on login" +msgstr "KPowersave se po pÅ™ihlášení automaticky spouÅ¡tí" + +#: configure_Dialog.cpp:919 +msgid "General Blacklists" +msgstr "Obecná Äerná listina" + +#: configure_Dialog.cpp:920 +msgid "Edit Autosuspend Blacklist..." +msgstr "Upravit Äernou listinu automatického uspání..." + +#: configure_Dialog.cpp:921 +msgid "Edit Autodimm Blacklist..." +msgstr "Upravit Äernou listinu automatického ztlumení..." + +#: configure_Dialog.cpp:923 +msgid "General Settings" +msgstr "Obecná nastavení" diff --git a/po/da.po b/po/da.po new file mode 100644 index 0000000..63ecc1b --- /dev/null +++ b/po/da.po @@ -0,0 +1,1477 @@ +# translation of kpowersave.po to +# This file is distributed under the same license as the PACKAGE package. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER. +# +# Antje Faber , 2004. +# Jens Nielsen , 2004. +# Jens Heinrich Nielsen , 2004. +# Keld Simonsen , 2004. +# Martin Møller , 2005. +# Ib Larsen , 2007. +# Martin Schlander , 2007. +msgid "" +msgstr "" +"Project-Id-Version: kpowersave\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2007-08-10 03:16+0200\n" +"PO-Revision-Date: 2007-08-14 10:36+0200\n" +"Last-Translator: Martin Schlander \n" +"Language-Team: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: KBabel 1.11.4\n" + +#: detailed_Dialog.cpp:228 +msgid "kpowersave" +msgstr "kpowersave" + +#: detailed_Dialog.cpp:229 +msgid "General Information" +msgstr "Generelle oplysninger" + +#: detailed_Dialog.cpp:232 +msgid "Battery Status" +msgstr "Batteristatus" + +#: detailed_Dialog.cpp:233 +msgid "AC Adapter" +msgstr "Strømforsyning" + +#: detailed_Dialog.cpp:234 detaileddialog.cpp:391 +msgid "plugged in" +msgstr "i stikkontakten" + +#: detailed_Dialog.cpp:235 +msgid "Power Consumtion: " +msgstr "Strømforbrug: " + +#: detailed_Dialog.cpp:237 +msgid "Processor Status" +msgstr "Processorstatus" + +#: detailed_Dialog.cpp:238 blacklistedit_Dialog.cpp:130 info_Dialog.cpp:198 +#: configure_Dialog.cpp:838 +msgid "OK" +msgstr "OK" + +#: blacklisteditdialog.cpp:60 +msgid "General Blacklist" +msgstr "Generelle sortliste" + +#: blacklisteditdialog.cpp:63 +msgid "Scheme: " +msgstr "Profil: " + +#: blacklisteditdialog.cpp:114 +msgid "Selected entry removed." +msgstr "Det valgte punkt er blevet fjernet." + +#: blacklisteditdialog.cpp:117 +msgid "Could not remove the selected entry." +msgstr "Kunne ikke fjerne det valgte punkt." + +#: blacklisteditdialog.cpp:137 +msgid "Inserted new entry." +msgstr "Indsat nyt punkt." + +#: blacklisteditdialog.cpp:141 +msgid "Entry exists already. Did not insert new entry." +msgstr "Punkt findes allerede. Indsatte ikke et nyt." + +#: blacklisteditdialog.cpp:144 +msgid "Empty entry was not inserted." +msgstr "Tomt punkt blev ikke indsat." + +#: inactivity.cpp:298 +msgid "" +"Could not start 'pidof'. Could not autosuspend the machine.\n" +"Please check your installation." +msgstr "" +"Kunne ikke starte 'pidof'. Kunne ikke suspendere maskinen automatisk.\n" +"Kontrollér venligst din installation." + +#: blacklistedit_Dialog.cpp:129 +msgid "Autosuspend Blacklist Edit" +msgstr "Redigér sortliste for autosuspendér" + +#: blacklistedit_Dialog.cpp:132 configuredialog.cpp:1079 +#: configure_Dialog.cpp:836 +msgid "Cancel" +msgstr "Annullér" + +#: blacklistedit_Dialog.cpp:135 +msgid "Add" +msgstr "Tilføj" + +#: blacklistedit_Dialog.cpp:136 +msgid "Remove" +msgstr "Fjern" + +#: infodialog.cpp:76 infodialog.cpp:78 main.cpp:55 +msgid "KPowersave" +msgstr "KPowersave" + +#: configuredialog.cpp:116 configuredialog.cpp:121 configuredialog.cpp:721 +msgid " - not supported" +msgstr " - ikke understøttet" + +#: configuredialog.cpp:150 configuredialog.cpp:317 detaileddialog.cpp:432 +#: kpowersave.cpp:192 settings.cpp:66 configure_Dialog.cpp:876 +msgid "Performance" +msgstr "Ydelse" + +#: configuredialog.cpp:154 configuredialog.cpp:319 detaileddialog.cpp:438 +#: kpowersave.cpp:194 settings.cpp:68 configure_Dialog.cpp:878 +msgid "Powersave" +msgstr "Strømbesparelse" + +#: configuredialog.cpp:159 configuredialog.cpp:321 kpowersave.cpp:1478 +#: settings.cpp:70 +msgid "Presentation" +msgstr "Præsentation" + +#: configuredialog.cpp:164 configuredialog.cpp:323 kpowersave.cpp:1473 +#: settings.cpp:72 +msgid "Acoustic" +msgstr "Akustisk" + +#: configuredialog.cpp:169 configuredialog.cpp:171 configuredialog.cpp:172 +#: configuredialog.cpp:173 kpowersave.cpp:1484 +msgid "Advanced Powersave" +msgstr "Avanceret strømbesparelse" + +#: configuredialog.cpp:271 +msgid "" +"This enables specific screen saver settings. \n" +"Note: If selected, the global screen saver settings are \n" +"overwritten while kpowersave runs." +msgstr "" +"Dette aktiverer pauseskærmsindstillinger. \n" +"Bemærk: Hvis dette vælges sættes de globale pauseskærmsindstillinger \n" +"ud af kraft mens kpowersave kører." + +#: configuredialog.cpp:274 +msgid "" +"This disables the screen saver. \n" +"Note: If selected, the global screen saver settings are \n" +"overwritten while kpowersave runs." +msgstr "" +"Dette deaktiverer pauseskærmen. \n" +"Bemærk: Hvis dette vælges vil de globale pauseskærmsindstillinger \n" +"blive sat ud af kraft mens kpowersave kører." + +#: configuredialog.cpp:277 +msgid "" +"This blanks the screen instead of using a specific screen saver. \n" +"Note: This may work only with KScreensaver." +msgstr "" +"Med denne indstilling bliver skærmen sort i stedet for at køre nogen " +"specifik pauseskærm. \n" +"Bemærk: Dette vil muligvis kun virke i samspil med KScreensaver." + +#: configuredialog.cpp:279 +msgid "" +"This enables specific DPMS settings. \n" +"Note: If selected, the global DPMS settings are \n" +"overwritten while kpowersave runs." +msgstr "" +"Dette aktiverer specifikke DPMS indstillinger. \n" +"Bemærk: Hvis dette vælges vil de globale DPMS indstillinger blive \n" +"sat ud af kraft mens kpowersave kører." + +#: configuredialog.cpp:282 +msgid "This disables DPMS support." +msgstr "Dette deaktiverer DPMS understøttelse." + +#: configuredialog.cpp:283 +msgid "If selected, the screen is locked on suspend or standby." +msgstr "Hvis dette vælges bliver særmen lÃ¥st ved suspendér eller standby." + +#: configuredialog.cpp:284 +msgid "If selected, the screen is locked if the lid close event is triggered." +msgstr "Hvis dette vælges bliver særmen lÃ¥st nÃ¥r lÃ¥get lukkes." + +#: configuredialog.cpp:286 +msgid "" +"Check this box to enable or disable automatic suspension of the computer." +msgstr "" +"Afkryds denne boks for at aktivere eller deaktivere automatisk suspendering " +"af computeren." + +#: configuredialog.cpp:288 +msgid "" +"Activate this action if the user was inactive for the defined time \n" +"(greater than 0 minutes). If empty, nothing happens." +msgstr "" +"Udfør denne handling hvis brugeren har været inaktiv i den definerede " +"tidsperiode \n" +"(værdien skal være mere end 0 minutter). Hvis denne er tom sker der intet." + +#: configuredialog.cpp:291 +msgid "All scheme-related screen saver and DPMS settings." +msgstr "Alle profilrelaterede pauseskærm- og DPMS-indstillinger." + +#: configuredialog.cpp:292 +msgid "All scheme-related display brightness settings." +msgstr "Alle profilrelaterede lysstyrkeindstillinger." + +#: configuredialog.cpp:293 +msgid "All scheme-related automatic suspend settings." +msgstr "Alle profilrelaterede automatiske suspenderingsindstillinger." + +#: configuredialog.cpp:295 +msgid "" +"Here you can change the brightness of your display. \n" +"Use the slider to change the brightness directly for \n" +"testing. To reset back to previous level, please press \n" +"the 'Reset' button. " +msgstr "" +"Her kan du ændre lysstyrken pÃ¥ din skærm.\n" +"Anvend skydeknappen til at ændre klarhed direkte til \n" +"testformÃ¥l. For at nulstille tilbage til forudgÃ¥ende niveau tryk \n" +"pÃ¥ 'Nulstil'-knappen. " + +#: configuredialog.cpp:299 +msgid "Use this button to set back the slider and the display brightness." +msgstr "Anvend denne knap til at sætte skydeknappen og skærmklarheden tilbage." + +#: configuredialog.cpp:352 +msgid "Press this button to delete the selected scheme." +msgstr "Tryk pÃ¥ denne knap for at slette den valgte profil." + +#: configuredialog.cpp:357 +msgid "You can't delete the current AC or battery scheme." +msgstr "Du kan ikke slette den nuværende strømforsynings- eller batteriprofil." + +#: configuredialog.cpp:363 +msgid "You can't delete this default scheme." +msgstr "Du kan ikke slette denne standardprofil." + +#: configuredialog.cpp:546 +msgid "" +"Your hardware supports to change the brightness. The values of the slider " +"are in percent and mapped to the available brightness levels of your " +"hardware." +msgstr "" +"Din hardware understøtter at ændre lysstyrke. Skydeknappens værdier er " +"angivet i procent og tilpasset til din hardwares mulige niveauer af " +"lysstyrke." + +#: configuredialog.cpp:553 +msgid "" +"Your Hardware currently not support changing the brightness of your display." +msgstr "" +"Din hardware understøtter i øjeblikket ikke ændring af skærmens lysstyrke." + +#: configuredialog.cpp:664 +msgid "Select Automatically" +msgstr "Vælg automatisk" + +#: configuredialog.cpp:665 +msgid "KScreensaver" +msgstr "KScreensaver" + +#: configuredialog.cpp:666 +msgid "XScreensaver" +msgstr "XScreensaver" + +#: configuredialog.cpp:667 +msgid "xlock" +msgstr "xlock" + +#: configuredialog.cpp:668 +msgid "GNOME Screensaver" +msgstr "GNOME-pauseskærm" + +#: configuredialog.cpp:930 +msgid "" +"There are unsaved changes in the active scheme.\n" +"Apply the changes before jumping to the next scheme or discard the changes?" +msgstr "" +"Der er ikke-gemte ændringer i den aktive profil.\n" +"Anvend ændringerne inden vi gÃ¥r videre til næste profil eller skal " +"ændringerne kasseres?" + +#: configuredialog.cpp:933 configuredialog.cpp:983 +msgid "Unsaved Changes" +msgstr "Ikke-gemte ændringer" + +#: configuredialog.cpp:981 +msgid "" +"There are unsaved changes.\n" +"Apply the changes before cancel or discard the changes?" +msgstr "" +"Der er ikke-gemte ændringer.\n" +"Skal de anvendes eller smides væk?" + +#: configuredialog.cpp:1032 +msgid "Please insert a name for the new scheme:" +msgstr "Indsæt venligst et navn til den ny profil:" + +#: configuredialog.cpp:1038 +msgid "KPowersave Configuration" +msgstr "Konfiguration af KPowersave" + +#: configuredialog.cpp:1046 +msgid "Error: A scheme with this name already exist.\n" +msgstr "Fejl: En profil med dette navn eksisterer allerede.\n" + +#: configuredialog.cpp:1076 +msgid "Do you really want to delete the %1 scheme?" +msgstr "Ønsker du virkelig at slette profilen %1?" + +#: configuredialog.cpp:1078 +msgid "Confirm delete scheme" +msgstr "Bekræft sletning af profil" + +#: configuredialog.cpp:1079 configure_Dialog.cpp:883 +msgid "Delete" +msgstr "Slet" + +#: configuredialog.cpp:1095 +msgid "Could not delete the selected scheme." +msgstr "Kunne ikke slette den valgte profil." + +#: configuredialog.cpp:1324 +msgid "" +"Note: If you select this option, the computer will suspend or standby " +"if the current user is inactive for the defined time even if somebody is " +"logged in remotely to the X server.

    This feature can also produce " +"problems with some programs, such as video players or cd burner. These " +"programs can be blacklisted by checking Enable scheme-specific blacklist and click Edit Blacklist.... If this does not help, report the " +"problem or deactivate autosuspend.

    Really use this option?" +msgstr "" +"Bemærk: Hvis du vælger dette vil computeren suspendere eller gå på " +"standby hvis den nuværende bruger er inaktiv i det valgte stykke tid, også " +"hvis nogen er logget på X-serveren fra en anden maskine.

    Denne " +"funktion kan også give problemer med visse programmer såsom videoafspillere " +"og brænderprogrammer. Disse programmer kan udelukkes fra nedlukningen ved at " +"vælge Aktivér profilspecifik sortliste og vælge Redigér " +"sortliste.... Hvis dette ikke hjælper så rapportér problemet eller " +"deaktivér autosuspendering.

    Vil du stadig bruge denne mulighed?" + +#: configuredialog.cpp:1402 configuredialog.cpp:1532 +msgid "" +"The blacklist of the selected scheme is empty. Import the general blacklist?" +msgstr "" +"Sortlisten i denne profil er tom. Vil du importere den generelle sortliste?" + +#: configuredialog.cpp:1404 configuredialog.cpp:1534 +msgid "Import" +msgstr "Importér" + +#: configuredialog.cpp:1404 configuredialog.cpp:1534 +msgid "Do Not Import" +msgstr "Importér ikke" + +#: configuredialog.cpp:1416 +msgid "General Autosuspend Blacklist" +msgstr "Generel sortliste for autosuspendér" + +#: configuredialog.cpp:1546 +msgid "General Autodimm Blacklist" +msgstr "Generel sortliste for autodæmpning" + +#: configuredialog.cpp:1779 configuredialog.cpp:1816 +msgid "Shutdown" +msgstr "Luk ned" + +#: configuredialog.cpp:1781 configuredialog.cpp:1819 +msgid "Logout Dialog" +msgstr "Log ud-dialog" + +#: configuredialog.cpp:1784 configuredialog.cpp:1822 kpowersave.cpp:182 +#: kpowersave.cpp:2096 kpowersave.cpp:2156 kpowersave.cpp:2247 +msgid "Suspend to Disk" +msgstr "Suspendér til disk" + +#: configuredialog.cpp:1787 configuredialog.cpp:1825 kpowersave.cpp:186 +#: kpowersave.cpp:2101 kpowersave.cpp:2161 kpowersave.cpp:2250 +msgid "Suspend to RAM" +msgstr "Suspendér til RAM" + +#: configuredialog.cpp:1790 configuredialog.cpp:1828 +msgid "CPU Powersave policy" +msgstr "Strømbesparelsespolitik for CPU" + +#: configuredialog.cpp:1793 configuredialog.cpp:1831 +msgid "CPU Dynamic policy" +msgstr "Dynamisk politik for CPU" + +#: configuredialog.cpp:1796 configuredialog.cpp:1834 +msgid "CPU Performance policy" +msgstr "Ydelsespolitik for CPU" + +#: configuredialog.cpp:1799 configuredialog.cpp:1837 +msgid "Set Brightness to" +msgstr "Sæt lysstyrke til" + +#: main.cpp:43 +msgid "KDE Frontend for Power Management, Battery Monitoring and Suspend" +msgstr "KDE-brugerflade til strømstyring, batteriovervågning og suspend" + +#: main.cpp:45 +msgid "Force a new check for ACPI support" +msgstr "Gennemtving nyt tjek af ACPI-understøttelse" + +#: main.cpp:46 +msgid "Trace function entry and leave points for debug\n" +msgstr "Spor funktionselement og efterlad punkter til fejlsøgning\n" + +#: main.cpp:59 +msgid "Current maintainer" +msgstr "Nuværende ansvarlig" + +#: main.cpp:62 +msgid "Powersave developer and for D-Bus integration" +msgstr "Udvikler af powersave og DBUS-integration" + +#: main.cpp:64 +msgid "Powersave developer and tester" +msgstr "Powersave-udvikler og -tester" + +#: main.cpp:66 +msgid "Added basic detailed dialog" +msgstr "Tilføjede detaljeret dialog" + +#: main.cpp:67 +msgid "Packaging Debian and Ubuntu" +msgstr "Pakker til Debian og Ubuntu" + +#: detaileddialog.cpp:61 +msgid "KPowersave Information Dialog" +msgstr "KPowersave informationsdialog" + +#: detaileddialog.cpp:65 configure_Dialog.cpp:882 configure_Dialog.cpp:922 +msgid "Miscellaneous" +msgstr "Diverse" + +#: detaileddialog.cpp:66 +msgid "CPUs" +msgstr "CPU'er" + +#: detaileddialog.cpp:73 detaileddialog.cpp:453 +msgid "Battery state:" +msgstr "Batteristatus:" + +#: detaileddialog.cpp:79 +msgid "Total:" +msgstr "Total:" + +#: detaileddialog.cpp:81 detaileddialog.cpp:83 +msgid "Battery %1" +msgstr "Batteri %1" + +#: detaileddialog.cpp:114 +msgid "Processor %1" +msgstr "Processor %1" + +#: detaileddialog.cpp:230 +msgid "not present" +msgstr "ikke til stede" + +#: detaileddialog.cpp:243 +msgid "charged" +msgstr "opladt" + +#: detaileddialog.cpp:245 +msgid "%1:%2 h until charged" +msgstr "%1:%2 t indtil opladt" + +#: detaileddialog.cpp:248 +msgid "%1:%2 h remaining" +msgstr "%1:%2 t tilbage" + +#: detaileddialog.cpp:253 detaileddialog.cpp:441 detaileddialog.cpp:468 +msgid "unknown" +msgstr "ukendt" + +#: detaileddialog.cpp:325 detaileddialog.cpp:368 +msgid "%v MHz" +msgstr "%v MHz" + +#: detaileddialog.cpp:330 detaileddialog.cpp:363 dummy.cpp:58 +msgid "deactivated" +msgstr "deaktiveret" + +#: detaileddialog.cpp:395 +msgid "unplugged" +msgstr "ikke i stikkontakten" + +#: detaileddialog.cpp:412 +msgid "Current Scheme: " +msgstr "Nuværende profil: " + +#: detaileddialog.cpp:429 +msgid "Current CPU Frequency Policy:" +msgstr "Aktuel politik for CPU-frekvens:" + +#: detaileddialog.cpp:435 kpowersave.cpp:193 configure_Dialog.cpp:877 +msgid "Dynamic" +msgstr "Dynamisk" + +#: detaileddialog.cpp:456 +msgid "Critical" +msgstr "Kritisk" + +#: detaileddialog.cpp:459 +msgid "Low" +msgstr "Lav" + +#: detaileddialog.cpp:462 kpowersave.cpp:277 kpowersave.cpp:652 +#: kpowersave.cpp:659 kpowersave.cpp:705 kpowersave.cpp:713 kpowersave.cpp:761 +#: kpowersave.cpp:769 kpowersave.cpp:817 kpowersave.cpp:824 +#: kpowersave.cpp:1131 kpowersave.cpp:1243 kpowersave.cpp:1272 +#: kpowersave.cpp:1610 kpowersave.cpp:1670 kpowersave.cpp:2186 +msgid "Warning" +msgstr "Advarsel" + +#: detaileddialog.cpp:465 +msgid "ok" +msgstr "OK" + +#: detaileddialog.cpp:474 detaileddialog.cpp:477 +msgid "Set brightness supported:" +msgstr "Indstil lysstyrke understøttet:" + +#: detaileddialog.cpp:475 +msgid "yes" +msgstr "ja" + +#: detaileddialog.cpp:478 +msgid "no" +msgstr "nej" + +#: detaileddialog.cpp:481 detaileddialog.cpp:485 +msgid "HAL Daemon:" +msgstr "HAL-dæmon:" + +#: detaileddialog.cpp:482 +msgid "running" +msgstr "kører" + +#: detaileddialog.cpp:486 +msgid "not running" +msgstr "kører ikke" + +#: info_Dialog.cpp:197 +msgid "Information" +msgstr "Information" + +#: dummy.cpp:36 +msgid "If the current desktop user is inactive, dim the display to:" +msgstr "Hvis den nuværende desktopbruger er inaktiv, skal skærmen dæmpes til:" + +#: dummy.cpp:37 +msgid "Enable dim display on inactivity" +msgstr "Aktivér dæmpning af skærm ved inaktivitet" + +#: dummy.cpp:38 +msgid "Blacklist" +msgstr "Sæt på sortlisten" + +#: dummy.cpp:39 +msgid "" +"Here you can add programs which should, if running, prevent the dimming of " +"the display." +msgstr "" +"Her kan du tilføje programmer som, hvis de kører, skal forhindre dæmpning af " +"skærmen." + +#: dummy.cpp:41 +msgid "Would you like to import a predefined blacklist?" +msgstr "Vil du gerne importere en prædefineret sortliste?" + +#: dummy.cpp:42 +msgid "Disable CPUs/Cores" +msgstr "Deaktivér CPU'er/kerner" + +#: dummy.cpp:43 +msgid "Max. running CPUs:" +msgstr "Højest antal kørende CPU'er:" + +#: dummy.cpp:44 +msgid "Max. running CPUs/Cores:" +msgstr "Højest antal kørende CPU'er/kerner:" + +#: dummy.cpp:45 +msgid "Min. running CPUs:" +msgstr "Mindste antal kørende CPU'er:" + +#: dummy.cpp:46 +msgid "Min. running CPUs/Cores:" +msgstr "Mindste antal kørende CPU'er/kerner:" + +#: dummy.cpp:47 +msgid "Enable to switch off CPUs/cores" +msgstr "Aktivér for at slå CPU'er/kerner fra" + +#: dummy.cpp:48 +msgid "You have a multiprocessor/multicore machine." +msgstr "Du har en multiprocessor-/multicore-maskine." + +#: dummy.cpp:49 +msgid "" +"You can disable CPUs/cores to reduce power consumption and save battery " +"power." +msgstr "" +"Du kan deaktivere CPU'er/kerner for at reducere strømforbrug og spare " +"batteri." + +#: dummy.cpp:50 +msgid "Device" +msgstr "Enhed" + +#: dummy.cpp:51 +msgid "Devices" +msgstr "Enheder" + +#: dummy.cpp:52 +msgid "Device class" +msgstr "Enhedsklasse" + +#: dummy.cpp:53 +msgid "activate" +msgstr "aktivér" + +#: dummy.cpp:54 +msgid "Activate" +msgstr "Aktivér" + +#: dummy.cpp:55 +msgid "deactivate" +msgstr "deaktivér" + +#: dummy.cpp:56 +msgid "Deactivate" +msgstr "Deaktivér" + +#: dummy.cpp:57 +msgid "activated" +msgstr "aktiveret" + +#: dummy.cpp:59 +msgid "do nothing" +msgstr "foretag intet" + +#: dummy.cpp:60 +msgid "Deactivate following devices:" +msgstr "Deaktivér følgende enheder:" + +#: dummy.cpp:61 +msgid "Activate following devices" +msgstr "Aktivér følgende enheder" + +#: dummy.cpp:62 +msgid "Reactivate following devices" +msgstr "Genaktivér følgende enheder" + +#: dummy.cpp:63 +msgid "Deactivate following device classes:" +msgstr "Deaktivér følgende enhedsklasser:" + +#: dummy.cpp:64 +msgid "Activate following devices classes" +msgstr "Aktivér følgende enhedsklasser" + +#: dummy.cpp:65 +msgid "Reactivate following device classes" +msgstr "Genaktiver følgende enhedsklasser" + +#: dummy.cpp:66 +msgid "If the scheme switched all devices are again activated." +msgstr "Hvis profilen ændredes vil alle enheder igen være aktiveret." + +#: dummy.cpp:67 +msgid "This is a experimental feature." +msgstr "Dette er en eksperimentel funktion." + +#: dummy.cpp:68 +msgid "If you have problems with this feature, please report them." +msgstr "Hvis du har problemer med denne funktion så rapportér dem venligst." + +#: dummy.cpp:69 +msgid "Select one of the available devices and click on " +msgstr "Vælg en de mulige enheder og klik på " + +#: dummy.cpp:70 +msgid "Select one of the available device classes and click on " +msgstr "Vælg en af de tilgængelige enhedsklasser og klik på " + +#: dummy.cpp:71 +msgid "Select one or more of the available devices and click on " +msgstr "Vælg en eller flere af de tilgængelige enheder og klik på " + +#: dummy.cpp:72 +msgid "Select one or more of the available device classes and click on " +msgstr "Vælg en eller flere af de tilgængelige enhedsklasser og klik på " + +#: dummy.cpp:73 +msgid "" +"Please note: If you e.g. deactivate a network device you may lose your " +"internet connection." +msgstr "" +"Bemærk venligst: Hvis du f.eks. deaktiverer en netværksenhed vil du måske " +"miste internetadgang." + +#: dummy.cpp:75 +msgid "" +"Note: If you select this option, the computer will suspend or standby " +"if the current user is inactive for the defined time.

    This feature " +"can also produce problems with some programs, such as video players or cd " +"burner. These programs can be blacklisted by checking Enable scheme-" +"specific blacklist and click Edit Blacklist.... If this does not " +"help, report the problem or deactivate autosuspend.

    Really use this " +"option?" +msgstr "" +"Bemærk: Hvis du vælger dette vil computeren suspendere eller gå på " +"standby hvis den nuværende bruger er inaktiv i det valgte stykke tid." +"

    Denne funktion kan også give problemer med visse programmer såsom " +"videoafspillere og brænderprogrammer. Disse programmer kan udelukkes fra " +"nedlukningen ved at vælge Aktivér profilspecifik sortliste og vælge " +"Redigér sortliste.... Hvis dette ikke hjælper så rapportér problemet " +"eller deaktivér autosuspendering.

    Vil du stadig bruge denne mulighed?" + +#: dummy.cpp:82 +msgid "Try to use only one CPU/Core." +msgstr "Forsøg kun at bruge en CPU/kerne." + +#: dummy.cpp:83 +msgid "" +"Reduce power consumption by try to use only one CPU/Core instead of " +"spreading the work over all/multiple CPUs." +msgstr "" +"Reducér strømforbrug ved at forsøge kun at bruge en CPU/kerne i stedet for " +"at sprede arbejder over alle/flere CPUer." + +#: dummy.cpp:87 +msgid "Could not load the global configuration." +msgstr "Kunne ikke indlæse den globale konfiguration." + +#: dummy.cpp:88 +msgid "Could not load the requested scheme configuration." +msgstr "Kunne ikke indlæse den ønskede profilkonfiguration." + +#: dummy.cpp:89 +msgid "Configure the current scheme." +msgstr "Indstil den nuværende profil." + +#: dummy.cpp:90 +msgid "Try loading the default configuration." +msgstr "Forsøg at indlæse standardkonfigurationen." + +#: dummy.cpp:91 +msgid "Maybe the global configuration file is empty or missing." +msgstr "Det lader til at den globale opsætningsfil er tom eller mangler." + +#: dummy.cpp:94 +msgid "Cannot connect to D-Bus. The D-Bus daemon may not be running." +msgstr "Kan ikke forbinde til D-BUS. D-BUS-dæmonen kører muligvis ikke." + +#: dummy.cpp:95 +msgid "" +"Scheme switched to %1. \n" +" Deactivate following devices: %2" +msgstr "" +"Profil ændret til %1.\n" +" Deaktivér følgende enheder: %2" + +#: dummy.cpp:96 +msgid "" +"Scheme switched to %1. \n" +" Activate following devices: %2" +msgstr "" +"Profil ændret til %1.\n" +" Aktivér følgende enheder: %2" + +#: dummy.cpp:97 +msgid "Report ..." +msgstr "Rapportér..." + +#: dummy.cpp:98 +msgid "Suspend to RAM is not supported on your machine." +msgstr "Suspendér til RAM er ikke understøttet på din maskine." + +#: dummy.cpp:99 +msgid "Additionally, please mail the output of %1 to %2 . Thanks!" +msgstr "Derudover, mail venligst outputtet af %1 to %2 . Tak!" + +#: dummy.cpp:100 +msgid "Power consumption" +msgstr "Strømforbrug" + +#: dummy.cpp:103 +msgid "KScreensaver not found." +msgstr "KScreensaver blev ikke fundet." + +#: dummy.cpp:104 +msgid "Try locking with XScreensaver or xlock." +msgstr "Prøv at låse skærmen med XScreensaver eller xlock." + +#: dummy.cpp:105 +msgid "XScreensaver not found." +msgstr "XScreensaver blev ikke fundet." + +#: dummy.cpp:106 +msgid "Try locking the screen with xlock." +msgstr "Prøv at låse skærmen med xlock." + +#: dummy.cpp:107 +msgid "" +"XScreensaver and xlock not found. It is not possible to lock the screen. " +"Check your installation." +msgstr "" +"Hverken XScreensaver eller xlock blev fundet. Det er ikke muligt at låse " +"skærmen. Tjek din installation." + +#: dummy.cpp:111 +msgid "HAL daemon:" +msgstr "HAL-dæmon:" + +#: dummy.cpp:112 +msgid "D-Bus daemon:" +msgstr "D-BUS-dæmon:" + +#: dummy.cpp:113 +msgid "ConsoleKit daemon:" +msgstr "ConsoleKit-dæmon:" + +#: dummy.cpp:114 +msgid "Autosuspend activated:" +msgstr "Autosuspendér er aktiveret:" + +#: dummy.cpp:115 +msgid "Autodimm activated:" +msgstr "Autodæmpning aktiveret:" + +#: dummy.cpp:116 +msgid "enabled" +msgstr "aktiveret" + +#: dummy.cpp:117 +msgid "Session active:" +msgstr "Session aktiv:" + +#: dummy.cpp:120 +msgid "Inactivity detected." +msgstr "Inaktivitet konstateret." + +#: dummy.cpp:121 +msgid "To stop the %1 press the 'Cancel' button before the countdown expire." +msgstr "Tryk på 'Annullér'-knappen for at stoppe %1 før nedtællingen slutter." + +#: dummy.cpp:122 +msgid "The computer autosuspend in: " +msgstr "Computeren autosuspenderer om: " + +#: dummy.cpp:123 +#, c-format +msgid "The display get dimmed down to %1% in: " +msgstr "Skærmen dæmpes ned til %1% om: " + +#: dummy.cpp:124 +msgid "%1 seconds" +msgstr "%1 sekunder" + +#: dummy.cpp:127 +msgid "Could not call %1. The current desktop session is not active." +msgstr "Kunne ikke kalde %1. Den nuværende desktop-session er ikke aktiv." + +#: dummy.cpp:128 +msgid "Could not set %1. The current desktop session is not active." +msgstr "Kunne ikke sætte %1. Den nuværende desktop-session er ikke aktiv." + +#: dummy.cpp:129 +msgid "Stopped %1. The current desktop session is now inactive." +msgstr "Stoppede %1. Den nuværende desktop-session er nu inaktiv." + +#: dummy.cpp:130 +msgid "Restarted %1. The current desktop session is now active again." +msgstr "Genstartede %1. Den nuværende desktop-session er nu aktiv igen." + +#: log_viewer.cpp:78 +msgid "Form1" +msgstr "Form1" + +#: log_viewer.cpp:79 +msgid "Save As ..." +msgstr "Gem som..." + +#: log_viewer.cpp:80 +msgid "Close" +msgstr "Luk" + +#: logviewer.cpp:44 +msgid "KPowersave Logfile Viewer: %1" +msgstr "Powersave logfilsfremviser: %1" + +#: logviewer.cpp:89 +msgid "File already exist. Overwrite the file?" +msgstr "Filen eksisterer allerede. Overskriv filen?" + +#: logviewer.cpp:90 logviewer.cpp:97 +msgid "Error while save logfile" +msgstr "Fejl under gemning af logfil" + +#: logviewer.cpp:95 +msgid "File already exist." +msgstr "Filen eksisterer allerede." + +#: logviewer.cpp:98 +msgid "Try other filename ..." +msgstr "Forsøg andet filnavn..." + +#: suspenddialog.cpp:70 +msgid "Preparing Suspend..." +msgstr "Forbereder suspendering..." + +#: kpowersave.cpp:168 +msgid "Configure KPowersave..." +msgstr "Indstil Kpowersave..." + +#: kpowersave.cpp:171 configure_Dialog.cpp:915 +msgid "Configure Notifications..." +msgstr "Konfigurér meddelelser..." + +#: kpowersave.cpp:175 +msgid "Start YaST2 Power Management Module..." +msgstr "Start YaST2 strømstyringsmodul..." + +#: kpowersave.cpp:189 kpowersave.cpp:2106 kpowersave.cpp:2166 +#: kpowersave.cpp:2253 +msgid "Standby" +msgstr "Standby" + +#: kpowersave.cpp:191 kpowersave.cpp:198 +msgid "Set CPU Frequency Policy" +msgstr "Indstil politik for CPU-frekvens" + +#: kpowersave.cpp:205 kpowersave.cpp:206 +msgid "Set Active Scheme" +msgstr "Indstil aktiv profil" + +#: kpowersave.cpp:212 +msgid "Disable Actions on Inactivity" +msgstr "Slå handlinger ved inaktivitet fra" + +#: kpowersave.cpp:219 kpowersave.cpp:229 +msgid "&Help" +msgstr "&Hjælp" + +#: kpowersave.cpp:221 +msgid "&KPowersave Handbook" +msgstr "&KPowersave håndbog" + +#: kpowersave.cpp:224 +msgid "&Report a bug ..." +msgstr "&Rapporter en bug..." + +#: kpowersave.cpp:226 +msgid "&About KPowersave" +msgstr "&Om Kpowersave" + +#: kpowersave.cpp:275 kpowersave.cpp:648 kpowersave.cpp:656 kpowersave.cpp:703 +#: kpowersave.cpp:710 kpowersave.cpp:759 kpowersave.cpp:766 kpowersave.cpp:815 +#: kpowersave.cpp:822 kpowersave.cpp:1126 kpowersave.cpp:1241 +#: kpowersave.cpp:1270 kpowersave.cpp:2183 +msgid "WARNING" +msgstr "ADVARSEL" + +#: kpowersave.cpp:275 +msgid "Cannot find any schemes." +msgstr "Kan ikke finde nogen profiler." + +#: kpowersave.cpp:453 +msgid "No information about battery and AC status available" +msgstr "Ingen information om batteri og strømforsyning tilgængelig" + +#: kpowersave.cpp:456 +msgid "Plugged in -- fully charged" +msgstr "I stikkontakten -- fuldt opladet" + +#: kpowersave.cpp:460 +msgid "Plugged in" +msgstr "I stikkontakten" + +#: kpowersave.cpp:464 +msgid "Plugged in -- %1% charged (%2:%3 h until full charged)" +msgstr "I stikkontakten -- %1% opladet (%2.%3 timer indtil fuldt opladet)" + +#: kpowersave.cpp:467 +msgid "Plugged in -- %1% charged (%2:%3 remaining hours)" +msgstr "I stikkontakten -- %1% opladet (%2:%3 timer tilbage)" + +#: kpowersave.cpp:471 kpowersave.cpp:475 +#, c-format +msgid "Plugged in -- %1% charged" +msgstr "I stikkontakten -- %1% opladet" + +#: kpowersave.cpp:474 +msgid "Plugged in -- no battery" +msgstr "I stikkontakten -- intet batteri" + +#: kpowersave.cpp:480 +msgid "Running on batteries -- %1% charged (%2:%3 hours remaining)" +msgstr "Køerer på batterier -- %1% opladet (%2:%3 timer tilbage)" + +#: kpowersave.cpp:484 +#, c-format +msgid "Running on batteries -- %1% charged" +msgstr "Kører på batterier -- %1% opladet" + +#: kpowersave.cpp:491 +msgid " -- battery is charging" +msgstr " -- batteri er i gang med at lade op" + +#: kpowersave.cpp:649 kpowersave.cpp:657 +msgid "Could not start YaST Power Management Module. Check if it is installed." +msgstr "" +"Kunne ikke starte YaST strømstyringsmodulet. Tjek om det er installeret." + +#: kpowersave.cpp:703 +msgid "Suspend to disk failed" +msgstr "Suspendér til disk fejlede" + +#: kpowersave.cpp:711 +msgid "Suspend to disk disabled by administrator." +msgstr "Suspendér til disk er deaktiveret af administrator." + +#: kpowersave.cpp:759 +msgid "Suspend to RAM failed" +msgstr "Suspendér til RAM fejlede" + +#: kpowersave.cpp:767 +msgid "Suspend to RAM disabled by administrator." +msgstr "Suspendér til RAM er deaktiveret af administrator." + +#: kpowersave.cpp:815 +msgid "Standby failed" +msgstr "Standby fejlede" + +#: kpowersave.cpp:822 +msgid "Standby disabled by administrator." +msgstr "Standby er deaktiveret af administrator." + +#: kpowersave.cpp:853 +msgid "System is going into suspend mode now" +msgstr "Systemet går nu i suspendér-tilstand" + +#: kpowersave.cpp:1039 +msgid "Could not call DCOP interface to umount external media." +msgstr "Kunne ikke kalde DCOP-grænseflade for at afmontere eksternt medie." + +#: kpowersave.cpp:1044 +msgid "" +"Could not umount external media before suspend/standby. \n" +" (Reason: %1)\n" +" \n" +" Would you like to continue suspend/standby anyway? \n" +"(Warning: Continue suspend can cause data loss!)" +msgstr "" +"Kunne ikke afmontere eksterne medier før suspendér/standby. \n" +" (Årsag: %1)\n" +" \n" +" Vil du gerne fortsætte suspendér/standby alligevel? \n" +"(Advarsel: Fortsæt af suspendér kan forårsage datatab!)" + +#: kpowersave.cpp:1052 +msgid "Error while prepare %1" +msgstr "Fejl under forberedelse %1" + +#: kpowersave.cpp:1053 +msgid "Suspend anyway" +msgstr "Suspendér alligevel" + +#: kpowersave.cpp:1053 +msgid "Cancel suspend" +msgstr "Annullér suspendér" + +#: kpowersave.cpp:1127 +msgid "" +"Could not lock the screen. There may be a problem with the selected \n" +"lock method or something else." +msgstr "" +"Kunne ikke låse skærmen. Der er muligvis et problem med den valgte \n" +"låsemetode eller noget andet." + +#: kpowersave.cpp:1144 +msgid "The Lid was closed." +msgstr "Låget blev lukket." + +#: kpowersave.cpp:1156 +msgid "The Lid was opened." +msgstr "Låget blev åbnet." + +#: kpowersave.cpp:1223 +msgid "Start KPowersave automatically when you log in?" +msgstr "Skal KPowersave starte automatisk når du logger på?" + +#: kpowersave.cpp:1224 +msgid "Question" +msgstr "Spørgsmål" + +#: kpowersave.cpp:1225 +msgid "Start Automatically" +msgstr "Start automatisk" + +#: kpowersave.cpp:1225 +msgid "Do Not Start" +msgstr "Start ikke" + +#: kpowersave.cpp:1242 +msgid "CPU Freq Policy %1 could not be set." +msgstr "Politik for CPU-frekvens %1 kunne ikke indstilles." + +#: kpowersave.cpp:1271 +msgid "Scheme %1 could not be activated." +msgstr "Profil %1 kunne ikke aktiveres." + +#: kpowersave.cpp:1600 +msgid "" +"The D-Bus daemon is not running.\n" +"Starting it will provide full functionality: /etc/init.d/dbus start" +msgstr "" +"D-BUS-dæmonen (messagebus) kører ikke.\n" +"At starte den vil give fuld funktionalitet: /etc/init.d/dbus start" + +#: kpowersave.cpp:1611 +msgid "Don't show this message again." +msgstr "Vis ikke denne meddelelse igen." + +#: kpowersave.cpp:1637 +msgid "ERROR" +msgstr "FEJL" + +#: kpowersave.cpp:1638 +msgid "Could not get information from HAL. The haldaemon is maybe not running." +msgstr "Information fra HAL kunne ikke hentes. Haldæmonen kører muligvis ikke." + +#: kpowersave.cpp:1641 +msgid "Error" +msgstr "Fejl" + +#: kpowersave.cpp:1912 +msgid "" +"Battery state changed to WARNING -- remaining time: %1 hours and %2 minutes." +msgstr "" +"Batteritilstand ændret til ADVARSEL -- resterende tid: %1 timer og %2 " +"minutter." + +#: kpowersave.cpp:1921 +msgid "" +"Battery state changed to LOW -- remaining time: %1 hours and %2 minutes." +msgstr "" +"Batteritilstand ændret til LAV -- resterende tid: %1 timer og %2 minutter." + +#: kpowersave.cpp:1932 +msgid "" +"Battery state changed to CRITICAL -- remaining time: %1 hours and %2 " +"minutes.\n" +"Shut down your system or plug in the power cable immediately. Otherwise the " +"machine\n" +"will go shutdown in 30 seconds" +msgstr "" +"Batteritilstand ændret til KRITISK -- resterende tid: %1 timer og %2 " +"minutter.\n" +"Luk din computer ned eller sæt strømstikket i straks. Ellers vil maskinen\n" +"lukke ned om 30 sekunder" + +#: kpowersave.cpp:1943 +msgid "" +"Battery state changed to CRITICAL -- remaining time: %1 hours and %2 " +"minutes.\n" +"Shut down your system or plug in the power cable immediately." +msgstr "" +"Batteritilstand ændret til KRITISK -- resterende tid: %1 timer og %2 " +"minutter.\n" +"Luk din computer ned eller sæt strømstikket i straks." + +#: kpowersave.cpp:2041 +msgid "AC adapter plugged in" +msgstr "Strømforsyning tilsluttet" + +#: kpowersave.cpp:2043 +msgid "AC adapter unplugged" +msgstr "Strømforsyning afbrudt" + +#: kpowersave.cpp:2078 +msgid "Switched to scheme: %1" +msgstr "Skiftede til profil: %1" + +#: kpowersave.cpp:2095 kpowersave.cpp:2100 kpowersave.cpp:2105 +msgid "System is going into %1 now." +msgstr "Systemet går nu i %1." + +#: kpowersave.cpp:2155 kpowersave.cpp:2160 kpowersave.cpp:2165 +msgid "System is resumed from %1." +msgstr "Systemet er vendt tilbage fra %1." + +#: kpowersave.cpp:2184 +msgid "Could not remount (all) external storage media." +msgstr "Kunne ikke genmontere (alle) eksterne lagringsmedier." + +#: kpowersave.cpp:2192 +msgid "An unknown error occurred while %1. The errorcode is: '%2'" +msgstr "En ukendt fejl opstod under %1. Fejlkoden er: '%2'" + +#: kpowersave.cpp:2197 +msgid "Do you want to have a look at the log file?" +msgstr "Vil du gerne kaste et blik på logfilen?" + +#: kpowersave.cpp:2198 kpowersave.cpp:2224 +msgid "Error while %1" +msgstr "Fejl under %1" + +#: configure_Dialog.cpp:831 +msgid "KPowersave Settings" +msgstr "KPowersave indstillinger" + +#: configure_Dialog.cpp:832 +msgid "Apply" +msgstr "Anvend" + +#: configure_Dialog.cpp:834 +msgid "Help" +msgstr "Hjælp" + +#: configure_Dialog.cpp:840 +msgid "Enable specific display power management" +msgstr "Aktivér strømstyringsregler for specifik skærm" + +#: configure_Dialog.cpp:841 +msgid "Standby after:" +msgstr "Standby efter:" + +#: configure_Dialog.cpp:842 +msgid "Only blank the screen" +msgstr "Nøjes med at gøre skærmen sort" + +#: configure_Dialog.cpp:843 +msgid "Disable screen saver" +msgstr "Deaktivér pauseskærm" + +#: configure_Dialog.cpp:844 +msgid "Enable specific screensaver settings" +msgstr "Aktivér specifikke pauseskærmsindstillinger" + +#: configure_Dialog.cpp:845 +msgid "Suspend after:" +msgstr "Suspendér efter:" + +#: configure_Dialog.cpp:846 +msgid "Power off after:" +msgstr "Sluk maskinen efter:" + +#: configure_Dialog.cpp:847 +msgid "Disable display power management" +msgstr "Slå strømstyring for skærmen fra" + +#: configure_Dialog.cpp:848 configure_Dialog.cpp:849 configure_Dialog.cpp:850 +#: configure_Dialog.cpp:862 configure_Dialog.cpp:873 +msgid " min" +msgstr " min" + +#: configure_Dialog.cpp:851 +msgid "Screen Saver and DPMS" +msgstr "Pauseskærm og DPMS" + +#: configure_Dialog.cpp:852 +msgid "Settings" +msgstr "Indstillinger" + +#: configure_Dialog.cpp:853 +msgid "Reset" +msgstr "Nulstil" + +#: configure_Dialog.cpp:855 +msgid "Enable scheme specific Brightness settings" +msgstr "Aktivér profilspecifikke indstillinger for lysstyrke" + +#: configure_Dialog.cpp:858 +msgid "Brightness" +msgstr "Lysstyrke" + +#: configure_Dialog.cpp:859 +msgid "Enable autosuspend" +msgstr "Aktivér autosuspendér" + +#: configure_Dialog.cpp:860 configure_Dialog.cpp:867 +msgid "Enable scheme-specific blacklist" +msgstr "Aktivér profilspecifik sortliste" + +#: configure_Dialog.cpp:861 configure_Dialog.cpp:870 +msgid "after:" +msgstr "efter:" + +#: configure_Dialog.cpp:863 configure_Dialog.cpp:868 +msgid "Edit Blacklist..." +msgstr "Redigér sortliste..." + +#: configure_Dialog.cpp:864 configure_Dialog.cpp:869 +msgid "If the current desktop user is inactive the computer will:" +msgstr "Hvis den nuværende desktopbruger er inaktiv vil computeren:" + +#: configure_Dialog.cpp:865 +msgid "Autosuspend" +msgstr "Autosuspendér" + +#: configure_Dialog.cpp:866 +msgid "Enable autodimm the display" +msgstr "Aktivér autodæmpning af skærm" + +#: configure_Dialog.cpp:871 configure_Dialog.cpp:893 configure_Dialog.cpp:894 +#: configure_Dialog.cpp:895 configure_Dialog.cpp:896 configure_Dialog.cpp:897 +#: configure_Dialog.cpp:898 +msgid " %" +msgstr " %" + +#: configure_Dialog.cpp:872 +msgid "dimm to:" +msgstr "dæmp til:" + +#: configure_Dialog.cpp:874 +msgid "Autodimm" +msgstr "Autodæmpning" + +#: configure_Dialog.cpp:879 +msgid "Set CPU Frequency Policy:" +msgstr "Indstil politik for CPU-frekvens:" + +#: configure_Dialog.cpp:880 +msgid "CPU Frequency Policy" +msgstr "Politik for CPU-frekvens" + +#: configure_Dialog.cpp:881 +msgid "Disable Notifications" +msgstr "Deaktivér bekendtgørelser" + +#: configure_Dialog.cpp:884 +msgid "New" +msgstr "Ny" + +#: configure_Dialog.cpp:885 +msgid "Scheme Settings" +msgstr "Profilindstillinger" + +#: configure_Dialog.cpp:886 +msgid "" +"Define the battery warning levels (in percentage) and the releated action if " +"the level get reached:" +msgstr "" +"Definér advarselsniveauer for batteri (i procent) og den relaterede handling " +"hvis niveauet nås:" + +#: configure_Dialog.cpp:887 +msgid "Warning level:" +msgstr "Advarselsniveau:" + +#: configure_Dialog.cpp:888 +msgid "Low level:" +msgstr "Lavt niveau:" + +#: configure_Dialog.cpp:889 +msgid "Critical level:" +msgstr "Kritisk niveau:" + +#: configure_Dialog.cpp:890 configure_Dialog.cpp:891 configure_Dialog.cpp:892 +msgid "if reached call:" +msgstr "hvis nået kald:" + +#: configure_Dialog.cpp:899 +msgid "Battery" +msgstr "Batteri" + +#: configure_Dialog.cpp:900 +msgid "" +"Define the action which should be executed if the related button get pressed:" +msgstr "Definér handling som skal udføres hvis den relaterede knap trykkes på:" + +#: configure_Dialog.cpp:901 +msgid "Suspend-to-disk Button:" +msgstr "Suspendér til disk-knap:" + +#: configure_Dialog.cpp:902 +msgid "Sleep button:" +msgstr "Sove-knap:" + +#: configure_Dialog.cpp:903 +msgid "Lid close Button:" +msgstr "Låget lukkes-knap:" + +#: configure_Dialog.cpp:904 +msgid "Power Button:" +msgstr "Strøm-knap:" + +#: configure_Dialog.cpp:905 +msgid "Button Events" +msgstr "Knap-begivenheder" + +#: configure_Dialog.cpp:906 +msgid "" +"Select the following schemes as default if the system is running on AC or on " +"batteries." +msgstr "" +"Vælg følgende profiler som standard hvis systemet kører på strømforsyning " +"eller på batteri." + +#: configure_Dialog.cpp:907 +msgid "Battery scheme:" +msgstr "Batteriprofil:" + +#: configure_Dialog.cpp:908 +msgid "AC scheme:" +msgstr "Strømforsyningsprofil:" + +#: configure_Dialog.cpp:909 +msgid "Default Schemes" +msgstr "Standardprofiler" + +#: configure_Dialog.cpp:910 +msgid "Lock screen before suspend or standby" +msgstr "Lås skærmen før suspendering eller standby" + +#: configure_Dialog.cpp:911 +msgid "Lock screen with:" +msgstr "Lås skærmen med:" + +#: configure_Dialog.cpp:912 +msgid "Lock screen on lid close" +msgstr "Lås skærmen når låget lukkes" + +#: configure_Dialog.cpp:913 +msgid "Lock Screen" +msgstr "Lås skærm" + +#: configure_Dialog.cpp:914 +msgid "Notifications" +msgstr "Bekendtgørelser" + +#: configure_Dialog.cpp:916 +msgid "Autostart" +msgstr "Autostart" + +#: configure_Dialog.cpp:917 +msgid "Never ask me again on exit" +msgstr "Spørg mig aldrig mere ved afslutning" + +#: configure_Dialog.cpp:918 +msgid "KPowersave starts automatically on login" +msgstr "KPowersave starter automatisk når du logger på" + +#: configure_Dialog.cpp:919 +msgid "General Blacklists" +msgstr "Generelle sortlister" + +#: configure_Dialog.cpp:920 +msgid "Edit Autosuspend Blacklist..." +msgstr "Redigér sortliste for autosuspendér..." + +#: configure_Dialog.cpp:921 +msgid "Edit Autodimm Blacklist..." +msgstr "Redigér sortliste for autodæmpning..." + +#: configure_Dialog.cpp:923 +msgid "General Settings" +msgstr "Generelle indstillinger" diff --git a/po/de.po b/po/de.po new file mode 100644 index 0000000..fb3ef5a --- /dev/null +++ b/po/de.po @@ -0,0 +1,1622 @@ +# translation of kpowersave.po to German +# This file is distributed under the same license as the PACKAGE package. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER. +# Antje Faber , 2004, 2005. +# Danny Kukawka 2005, 2006 +# +msgid "" +msgstr "" +"Project-Id-Version: de\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2007-08-10 03:16+0200\n" +"PO-Revision-Date: 2005-03-14 14:27+0100\n" +"Last-Translator: Danny Kukawka\n" +"Language-Team: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: KBabel 1.9\n" + +#: detailed_Dialog.cpp:228 +msgid "kpowersave" +msgstr "KPowersave" + +#: detailed_Dialog.cpp:229 +msgid "General Information" +msgstr "Allgemeine Informationen" + +#: detailed_Dialog.cpp:232 +msgid "Battery Status" +msgstr "Batteriestatus" + +#: detailed_Dialog.cpp:233 +msgid "AC Adapter" +msgstr "Stromversorgung" + +#: detailed_Dialog.cpp:234 detaileddialog.cpp:391 +msgid "plugged in" +msgstr "angeschlossen" + +#: detailed_Dialog.cpp:235 +msgid "Power Consumtion: " +msgstr "Energieverbrauch: " + +#: detailed_Dialog.cpp:237 +msgid "Processor Status" +msgstr "Prozessorstatus" + +#: detailed_Dialog.cpp:238 blacklistedit_Dialog.cpp:130 info_Dialog.cpp:198 +#: configure_Dialog.cpp:838 +msgid "OK" +msgstr "OK" + +#: blacklisteditdialog.cpp:60 +msgid "General Blacklist" +msgstr "Allgemeine Blacklist" + +#: blacklisteditdialog.cpp:63 +msgid "Scheme: " +msgstr "Schema: " + +#: blacklisteditdialog.cpp:114 +msgid "Selected entry removed." +msgstr "Der ausgewählte Eintrag wurde entfernt." + +#: blacklisteditdialog.cpp:117 +msgid "Could not remove the selected entry." +msgstr "Der ausgewählte Eintrag konnte nicht entfernt werden." + +#: blacklisteditdialog.cpp:137 +msgid "Inserted new entry." +msgstr "Neuer Eintrag wurde eingefügt." + +#: blacklisteditdialog.cpp:141 +msgid "Entry exists already. Did not insert new entry." +msgstr "Eintrag ist bereits vorhanden. Neuer Eintrag wurde nicht eingefügt." + +#: blacklisteditdialog.cpp:144 +msgid "Empty entry was not inserted." +msgstr "Der leere Eintrag wurde nicht eingefügt." + +#: inactivity.cpp:298 +msgid "" +"Could not start 'pidof'. Could not autosuspend the machine.\n" +"Please check your installation." +msgstr "" +"Konnte 'pidof' nicht starten. Daher konnte kein Autosuspend ausgeführt " +"werden.\n" +"Bitte übeprüfen Sie Ihre installation." + +#: blacklistedit_Dialog.cpp:129 +msgid "Autosuspend Blacklist Edit" +msgstr "Austosuspend Blacklist editieren" + +#: blacklistedit_Dialog.cpp:132 configuredialog.cpp:1079 +#: configure_Dialog.cpp:836 +msgid "Cancel" +msgstr "Abbrechen" + +#: blacklistedit_Dialog.cpp:135 +msgid "Add" +msgstr "Hinzufügen" + +#: blacklistedit_Dialog.cpp:136 +msgid "Remove" +msgstr "Entfernen" + +#: infodialog.cpp:76 infodialog.cpp:78 main.cpp:55 +msgid "KPowersave" +msgstr "KPowersave" + +#: configuredialog.cpp:116 configuredialog.cpp:121 configuredialog.cpp:721 +msgid " - not supported" +msgstr " - nicht unterstützt" + +#: configuredialog.cpp:150 configuredialog.cpp:317 detaileddialog.cpp:432 +#: kpowersave.cpp:192 settings.cpp:66 configure_Dialog.cpp:876 +msgid "Performance" +msgstr "Leistung" + +#: configuredialog.cpp:154 configuredialog.cpp:319 detaileddialog.cpp:438 +#: kpowersave.cpp:194 settings.cpp:68 configure_Dialog.cpp:878 +msgid "Powersave" +msgstr "Energiesparen" + +#: configuredialog.cpp:159 configuredialog.cpp:321 kpowersave.cpp:1478 +#: settings.cpp:70 +msgid "Presentation" +msgstr "Präsentation" + +#: configuredialog.cpp:164 configuredialog.cpp:323 kpowersave.cpp:1473 +#: settings.cpp:72 +msgid "Acoustic" +msgstr "Akustik" + +#: configuredialog.cpp:169 configuredialog.cpp:171 configuredialog.cpp:172 +#: configuredialog.cpp:173 kpowersave.cpp:1484 +msgid "Advanced Powersave" +msgstr "Erweitertes Energiesparen" + +#: configuredialog.cpp:271 +msgid "" +"This enables specific screen saver settings. \n" +"Note: If selected, the global screen saver settings are \n" +"overwritten while kpowersave runs." +msgstr "" +"Dies aktiviert spezielle Bildschirmschonereinstellungen.\n" +"Hinweis: Bei Auswahl dieser Option werden die globalen " +"Bildschirmschonereinstellungen \n" +"während der Ausführung von KPowersave überschrieben." + +#: configuredialog.cpp:274 +msgid "" +"This disables the screen saver. \n" +"Note: If selected, the global screen saver settings are \n" +"overwritten while kpowersave runs." +msgstr "" +"Dadurch wird der Bildschirmschoner deaktiviert. \n" +"Hinweis: Bei Auswahl dieser Option werden die globalen " +"Bildschirmschonereinstellungen \n" +"während der Ausführung von KPowersave überschrieben." + +#: configuredialog.cpp:277 +msgid "" +"This blanks the screen instead of using a specific screen saver. \n" +"Note: This may work only with KScreensaver." +msgstr "" +"Dies führt zu einem leeren Bildschirm, anstelle der Aktivierung eines " +"Bildschirmschoners.\n" +"Hinweis: Dies funktioniert eventuell nur mit KScreensaver." + +#: configuredialog.cpp:279 +msgid "" +"This enables specific DPMS settings. \n" +"Note: If selected, the global DPMS settings are \n" +"overwritten while kpowersave runs." +msgstr "" +"Dadurch werden spezielle DPMS-Einstellungen aktiviert.\n" +"Hinweis: Bei Auswahl dieser Option werden die globalen DPMS-Einstellungen \n" +"während der Ausführung von KPowersave überschrieben." + +#: configuredialog.cpp:282 +msgid "This disables DPMS support." +msgstr "Dies deaktiviert die DPMS-Unterstützung." + +#: configuredialog.cpp:283 +msgid "If selected, the screen is locked on suspend or standby." +msgstr "" +"Wird diese Auswahl getroffen, wird der Bildschirm beim Suspend oder Stand-by " +"gesperrt." + +#: configuredialog.cpp:284 +msgid "If selected, the screen is locked if the lid close event is triggered." +msgstr "" +"Wird diese Auswahl getroffen, wird der Bildschirm beim Schließen des Laptops " +"gesperrt." + +#: configuredialog.cpp:286 +msgid "" +"Check this box to enable or disable automatic suspension of the computer." +msgstr "" +"Aktivieren Sie diese Checkbox um Autosuspend zu Aktivieren/Deaktivieren." + +#: configuredialog.cpp:288 +msgid "" +"Activate this action if the user was inactive for the defined time \n" +"(greater than 0 minutes). If empty, nothing happens." +msgstr "" +"Diese unterstützte Aktion aktivieren, wenn der Benutzer die angegebene " +"Zeit \n" +"(> 0 Minuten) inaktiv war. Übernehmen Sie den leeren Eintrag, dann geschieht " +"nichts." + +#: configuredialog.cpp:291 +msgid "All scheme-related screen saver and DPMS settings." +msgstr "Alle Schemabezogenen Bildschirmschoner- und DPMS-Einstellungen." + +#: configuredialog.cpp:292 +msgid "All scheme-related display brightness settings." +msgstr "Alle Schemabezogenen Bildschirmhelligkeits Einstellungen." + +#: configuredialog.cpp:293 +msgid "All scheme-related automatic suspend settings." +msgstr "Alle Schemabezogenen Autosuspend Einstellungen." + +#: configuredialog.cpp:295 +msgid "" +"Here you can change the brightness of your display. \n" +"Use the slider to change the brightness directly for \n" +"testing. To reset back to previous level, please press \n" +"the 'Reset' button. " +msgstr "" +"Hier können Sie die Helligkeit Ihres Bildschirms einstellen. \n" +"Benutzen Sie diesen Schieber um die Helligkeit direkt zu ändern. \n" +"Benutzen Sie den Knopf 'Zurücksetzen' und zum vorherigen Wert zurückzukehren." + +#: configuredialog.cpp:299 +msgid "Use this button to set back the slider and the display brightness." +msgstr "" +"Benutzen Sie diesen Knopf, um den Schieber und die Helligkeit des " +"Bildschirms zurückzusetzen." + +#: configuredialog.cpp:352 +msgid "Press this button to delete the selected scheme." +msgstr "Benutzen Sie diesen Knopf um das gewählte Schema zu löschen." + +#: configuredialog.cpp:357 +msgid "You can't delete the current AC or battery scheme." +msgstr "Das aktuelle AC oder Batterieschema kann nicht gelöscht werden." + +#: configuredialog.cpp:363 +msgid "You can't delete this default scheme." +msgstr "Diese vorgegeben Schema kann nicht gelöscht werden." + +#: configuredialog.cpp:546 +msgid "" +"Your hardware supports to change the brightness. The values of the slider " +"are in percent and mapped to the available brightness levels of your " +"hardware." +msgstr "" +"Ihre Hardware unterstützt die Änderung der Bilschirmhelligkeit. Die Werte " +"des Schiebers sind in Prozent dargestellt und werden auf die von der " +"Hardware unterstützen Helligkeitsstufen übertragen." + +#: configuredialog.cpp:553 +msgid "" +"Your Hardware currently not support changing the brightness of your display." +msgstr "" +"Ihre Hardware unterstützt momentan nicht die Änderung der " +"Bildschirmhelligkeit." + +#: configuredialog.cpp:664 +msgid "Select Automatically" +msgstr "automatisch auswählen" + +#: configuredialog.cpp:665 +msgid "KScreensaver" +msgstr "KScreensaver" + +#: configuredialog.cpp:666 +msgid "XScreensaver" +msgstr "XScreensaver" + +#: configuredialog.cpp:667 +msgid "xlock" +msgstr "xlock" + +#: configuredialog.cpp:668 +msgid "GNOME Screensaver" +msgstr "GNOME Bildschirmschoner" + +#: configuredialog.cpp:930 +msgid "" +"There are unsaved changes in the active scheme.\n" +"Apply the changes before jumping to the next scheme or discard the changes?" +msgstr "" +"Einige Änderungen im aktiven Schema wurden nicht gespeichert.\n" +"Wollen Sie die Änderungen anwenden oder verwerfen, bevor Sie zum nächsten " +"Schema wechseln? " + +#: configuredialog.cpp:933 configuredialog.cpp:983 +msgid "Unsaved Changes" +msgstr "Nicht gespeicherte Änderungen" + +#: configuredialog.cpp:981 +msgid "" +"There are unsaved changes.\n" +"Apply the changes before cancel or discard the changes?" +msgstr "" +"Einige Änderungen wurden nicht gespeichert.\n" +"Wollen Sie die Änderungen speichern oder verwerfen, bevor sie abbrechen?" + +#: configuredialog.cpp:1032 +msgid "Please insert a name for the new scheme:" +msgstr "Bitte fügen Sie einen Namen für das neue Schema ein:" + +#: configuredialog.cpp:1038 +msgid "KPowersave Configuration" +msgstr "KPowersave Informations Dialog" + +#: configuredialog.cpp:1046 +msgid "Error: A scheme with this name already exist.\n" +msgstr "Fehler: Es existiert bereits ein Schema mit diesen Namen.\n" + +#: configuredialog.cpp:1076 +msgid "Do you really want to delete the %1 scheme?" +msgstr "Wollen Sie das Scheme %1 wirklich löschen?" + +#: configuredialog.cpp:1078 +msgid "Confirm delete scheme" +msgstr "Schemalöschung Bestätigen" + +#: configuredialog.cpp:1079 configure_Dialog.cpp:883 +msgid "Delete" +msgstr "Löschen" + +#: configuredialog.cpp:1095 +msgid "Could not delete the selected scheme." +msgstr "Das ausgewählte Scheme konnte nicht entfernt werden." + +#: configuredialog.cpp:1324 +msgid "" +"Note: If you select this option, the computer will suspend or standby " +"if the current user is inactive for the defined time even if somebody is " +"logged in remotely to the X server.

    This feature can also produce " +"problems with some programs, such as video players or cd burner. These " +"programs can be blacklisted by checking Enable scheme-specific blacklist and click Edit Blacklist.... If this does not help, report the " +"problem or deactivate autosuspend.

    Really use this option?" +msgstr "" +"Achtung: Wenn Sie diese Option auswählen, wird Ihr Computer " +"Suspendiert oder in den Standby versetzt, wenn der aktuelle Benutzer die " +"definierte Zeit inaktiv war. Dies geschieht auch dann, wenn ein anderer " +"Benutzter remote angemeldet ist.

    Durch diese Funktion kann es zu " +"Problemen mit einigen Programmen, wie z.B. Videoplayern oder CD-" +"Brennprogrammen kommen. Diese Programme können durch aktivieren von " +"\"Schemaspezifische Blacklist aktivieren\" und Klicken auf " +"\"Blacklist bearbeiten ...\" in eine Liste von Programmen, welche den " +"Suspend/Standby verhindern, eingetragen werden. Wenn dies nicht hilft, " +"melden Sie das Problem oder schalten Sie Autosuspend ab.

    Möchten Sie " +"diese Option wirklich verwenden?" + +#: configuredialog.cpp:1402 configuredialog.cpp:1532 +msgid "" +"The blacklist of the selected scheme is empty. Import the general blacklist?" +msgstr "" +"Die Blacklist des ausgewählten Schemas ist leer. Allgemeine Blacklist " +"importieren?" + +#: configuredialog.cpp:1404 configuredialog.cpp:1534 +msgid "Import" +msgstr "Importieren" + +#: configuredialog.cpp:1404 configuredialog.cpp:1534 +msgid "Do Not Import" +msgstr "Nicht Importieren" + +#: configuredialog.cpp:1416 +msgid "General Autosuspend Blacklist" +msgstr "Allgemeine Autosuspend Blacklist" + +#: configuredialog.cpp:1546 +msgid "General Autodimm Blacklist" +msgstr "Allgemeine Autodimm Blacklist" + +#: configuredialog.cpp:1779 configuredialog.cpp:1816 +msgid "Shutdown" +msgstr "Herunterfahren" + +#: configuredialog.cpp:1781 configuredialog.cpp:1819 +msgid "Logout Dialog" +msgstr "Abmeldedialog" + +#: configuredialog.cpp:1784 configuredialog.cpp:1822 kpowersave.cpp:182 +#: kpowersave.cpp:2096 kpowersave.cpp:2156 kpowersave.cpp:2247 +msgid "Suspend to Disk" +msgstr "Suspend to Disk" + +#: configuredialog.cpp:1787 configuredialog.cpp:1825 kpowersave.cpp:186 +#: kpowersave.cpp:2101 kpowersave.cpp:2161 kpowersave.cpp:2250 +msgid "Suspend to RAM" +msgstr "Suspend to RAM" + +#: configuredialog.cpp:1790 configuredialog.cpp:1828 +msgid "CPU Powersave policy" +msgstr "CPU Policy Energiesparen" + +#: configuredialog.cpp:1793 configuredialog.cpp:1831 +msgid "CPU Dynamic policy" +msgstr "CPU Policy Dynamisch" + +#: configuredialog.cpp:1796 configuredialog.cpp:1834 +msgid "CPU Performance policy" +msgstr "CPU Policy Leistung" + +#: configuredialog.cpp:1799 configuredialog.cpp:1837 +msgid "Set Brightness to" +msgstr "Helligkeit setzen auf" + +#: main.cpp:43 +msgid "KDE Frontend for Power Management, Battery Monitoring and Suspend" +msgstr "KDE Frontend für Energiemanagement, Batterieüberwachung und Suspend" + +#: main.cpp:45 +msgid "Force a new check for ACPI support" +msgstr "Erzwingt die Überprüfung der ACPI Unterstützung" + +#: main.cpp:46 +msgid "Trace function entry and leave points for debug\n" +msgstr "" +"Erweiterte Debug Funktion, verfolgt u.a. das Eintreten und Verlassen von " +"Funktionen\n" + +#: main.cpp:59 +msgid "Current maintainer" +msgstr "Aktueller Maintainer" + +#: main.cpp:62 +msgid "Powersave developer and for D-Bus integration" +msgstr "Powersave Entwickler und D-Bus Integration" + +#: main.cpp:64 +msgid "Powersave developer and tester" +msgstr "Powersave Entwickler und Tester" + +#: main.cpp:66 +msgid "Added basic detailed dialog" +msgstr "Basisentwicklung des detailierten Informations Dialoges" + +#: main.cpp:67 +msgid "Packaging Debian and Ubuntu" +msgstr "Erstellung von Debian und Ubuntu Paketen" + +#: detaileddialog.cpp:61 +msgid "KPowersave Information Dialog" +msgstr "KPowersave Informations Dialog" + +#: detaileddialog.cpp:65 configure_Dialog.cpp:882 configure_Dialog.cpp:922 +msgid "Miscellaneous" +msgstr "Verschiedenes" + +#: detaileddialog.cpp:66 +msgid "CPUs" +msgstr "CPUs" + +#: detaileddialog.cpp:73 detaileddialog.cpp:453 +msgid "Battery state:" +msgstr "Batteriezustand:" + +#: detaileddialog.cpp:79 +msgid "Total:" +msgstr "Total:" + +#: detaileddialog.cpp:81 detaileddialog.cpp:83 +msgid "Battery %1" +msgstr "Batterie %1" + +#: detaileddialog.cpp:114 +msgid "Processor %1" +msgstr "Prozessor %1" + +#: detaileddialog.cpp:230 +msgid "not present" +msgstr "nicht vorhanden" + +#: detaileddialog.cpp:243 +msgid "charged" +msgstr "geladen" + +#: detaileddialog.cpp:245 +msgid "%1:%2 h until charged" +msgstr "%1:%2 h bis geladen" + +#: detaileddialog.cpp:248 +msgid "%1:%2 h remaining" +msgstr "%1:%2 h verbleibend" + +#: detaileddialog.cpp:253 detaileddialog.cpp:441 detaileddialog.cpp:468 +msgid "unknown" +msgstr "unbekannt" + +#: detaileddialog.cpp:325 detaileddialog.cpp:368 +msgid "%v MHz" +msgstr "%v MHz" + +#: detaileddialog.cpp:330 detaileddialog.cpp:363 dummy.cpp:58 +msgid "deactivated" +msgstr "ausgeschaltet" + +#: detaileddialog.cpp:395 +msgid "unplugged" +msgstr "nicht angeschlossen" + +#: detaileddialog.cpp:412 +msgid "Current Scheme: " +msgstr "Aktuelles Schema: " + +#: detaileddialog.cpp:429 +msgid "Current CPU Frequency Policy:" +msgstr "Aktuelles CPU-Frequenzverhalten:" + +#: detaileddialog.cpp:435 kpowersave.cpp:193 configure_Dialog.cpp:877 +msgid "Dynamic" +msgstr "Dynamisch" + +#: detaileddialog.cpp:456 +msgid "Critical" +msgstr "Kritisch" + +#: detaileddialog.cpp:459 +msgid "Low" +msgstr "Niedrig" + +#: detaileddialog.cpp:462 kpowersave.cpp:277 kpowersave.cpp:652 +#: kpowersave.cpp:659 kpowersave.cpp:705 kpowersave.cpp:713 kpowersave.cpp:761 +#: kpowersave.cpp:769 kpowersave.cpp:817 kpowersave.cpp:824 +#: kpowersave.cpp:1131 kpowersave.cpp:1243 kpowersave.cpp:1272 +#: kpowersave.cpp:1610 kpowersave.cpp:1670 kpowersave.cpp:2186 +msgid "Warning" +msgstr "Warnung" + +#: detaileddialog.cpp:465 +msgid "ok" +msgstr "ok" + +#: detaileddialog.cpp:474 detaileddialog.cpp:477 +msgid "Set brightness supported:" +msgstr "Helligkeitsänderung unterstützt:" + +#: detaileddialog.cpp:475 +msgid "yes" +msgstr "ja" + +#: detaileddialog.cpp:478 +msgid "no" +msgstr "nein" + +#: detaileddialog.cpp:481 detaileddialog.cpp:485 +msgid "HAL Daemon:" +msgstr "HAL Daemon:" + +#: detaileddialog.cpp:482 +msgid "running" +msgstr "läuft" + +#: detaileddialog.cpp:486 +msgid "not running" +msgstr "läuft nicht" + +#: info_Dialog.cpp:197 +msgid "Information" +msgstr "Information" + +#: dummy.cpp:36 +msgid "If the current desktop user is inactive, dim the display to:" +msgstr "Wenn der aktuelle Benutzer inaktiv ist, dimme das Display auf:" + +#: dummy.cpp:37 +msgid "Enable dim display on inactivity" +msgstr "Aktiviere Dimmen bei Inaktivität" + +#: dummy.cpp:38 +msgid "Blacklist" +msgstr "Blacklist" + +#: dummy.cpp:39 +msgid "" +"Here you can add programs which should, if running, prevent the dimming of " +"the display." +msgstr "" +"Hier können Sie Programme hinzufügen, die wenn sie laufen, das dimmen des " +"Displays bei Inaktivität des Benutzers verhindern." + +#: dummy.cpp:41 +msgid "Would you like to import a predefined blacklist?" +msgstr "Wollen Sie die vordefinierte Blacklist importieren?" + +#: dummy.cpp:42 +msgid "Disable CPUs/Cores" +msgstr "Schalte CPUs/Kerne ab" + +#: dummy.cpp:43 +msgid "Max. running CPUs:" +msgstr "Max. aktive CPUs:" + +#: dummy.cpp:44 +msgid "Max. running CPUs/Cores:" +msgstr "Max. aktive CPUs/Kerne:" + +#: dummy.cpp:45 +msgid "Min. running CPUs:" +msgstr "Min. aktive CPUs:" + +#: dummy.cpp:46 +msgid "Min. running CPUs/Cores:" +msgstr "Min. aktive CPUs/Kerne:" + +#: dummy.cpp:47 +msgid "Enable to switch off CPUs/cores" +msgstr "Aktiviere abschalten von CPUs/Kernen" + +#: dummy.cpp:48 +msgid "You have a multiprocessor/multicore machine." +msgstr "Sie haben ein Multipozessor/Multikern Gerät." + +#: dummy.cpp:49 +msgid "" +"You can disable CPUs/cores to reduce power consumption and save battery " +"power." +msgstr "" +"Sie können einzelne CPUs/Kerne abschalten um den Stromverbrauch zu senken " +"und die Laufzeit der Batterie verlängern." + +#: dummy.cpp:50 +msgid "Device" +msgstr "Gerät" + +#: dummy.cpp:51 +msgid "Devices" +msgstr "Geräte" + +#: dummy.cpp:52 +msgid "Device class" +msgstr "Geräteklasse" + +#: dummy.cpp:53 +msgid "activate" +msgstr "aktiviere" + +#: dummy.cpp:54 +msgid "Activate" +msgstr "Aktiviere" + +#: dummy.cpp:55 +msgid "deactivate" +msgstr "ausschalten" + +#: dummy.cpp:56 +msgid "Deactivate" +msgstr "Ausschalten" + +#: dummy.cpp:57 +msgid "activated" +msgstr "aktiviert" + +#: dummy.cpp:59 +msgid "do nothing" +msgstr "nichts machen" + +#: dummy.cpp:60 +msgid "Deactivate following devices:" +msgstr "Schalte folgende Geräte aus:" + +#: dummy.cpp:61 +msgid "Activate following devices" +msgstr "Schalte folgende Geräte aus:" + +#: dummy.cpp:62 +msgid "Reactivate following devices" +msgstr "Schalte folgende Geräte wieder ein:" + +#: dummy.cpp:63 +msgid "Deactivate following device classes:" +msgstr "Schalte folgende Geräteklassen aus:" + +#: dummy.cpp:64 +msgid "Activate following devices classes" +msgstr "Schalte folgende Geräteklassen ein:" + +#: dummy.cpp:65 +msgid "Reactivate following device classes" +msgstr "Schalte folgende Geräteklassen wieder ein:" + +#: dummy.cpp:66 +msgid "If the scheme switched all devices are again activated." +msgstr "" +"Wenn das Schema gewechselt wird, werden alle Geräte wieder eingeschaltet." + +#: dummy.cpp:67 +msgid "This is a experimental feature." +msgstr "Das ist eine experimentelle Eigenschaft." + +#: dummy.cpp:68 +msgid "If you have problems with this feature, please report them." +msgstr "" +"Sollten Sie mit dieser Eigenschaft Probleme haben, so melden Sie diese bitte " +"an die Entwickler." + +#: dummy.cpp:69 +msgid "Select one of the available devices and click on " +msgstr "Wähle eines der angezeigten Geräte und klicken Sie auf " + +#: dummy.cpp:70 +msgid "Select one of the available device classes and click on " +msgstr "Wähle eine der angezeigten Geräteklassen und klicken Sie auf " + +#: dummy.cpp:71 +msgid "Select one or more of the available devices and click on " +msgstr "Wähle ein oder mehrere der angezeigten Geräte und klicken Sie auf " + +#: dummy.cpp:72 +msgid "Select one or more of the available device classes and click on " +msgstr "" +"Wähle eine oder mehrere der angezeigten Geräteklassen und klicken Sie auf " + +#: dummy.cpp:73 +msgid "" +"Please note: If you e.g. deactivate a network device you may lose your " +"internet connection." +msgstr "" +"Hinweis: Wenn Sie beispielsweise ein Netzwerkgerät ausschalten, verlieren " +"Sie ihre Netzwerkverbindung ins Internet." + +#: dummy.cpp:75 +msgid "" +"Note: If you select this option, the computer will suspend or standby " +"if the current user is inactive for the defined time.

    This feature " +"can also produce problems with some programs, such as video players or cd " +"burner. These programs can be blacklisted by checking Enable scheme-" +"specific blacklist and click Edit Blacklist.... If this does not " +"help, report the problem or deactivate autosuspend.

    Really use this " +"option?" +msgstr "" +"Achtung: Wenn Sie diese Option auswählen, wird Ihr Computer " +"Suspendiert oder in den Standby versetzt, wenn der aktuelle Benutzer die " +"definierte Zeit inaktiv war.

    Durch diese Funktion kann es zu " +"Problemen mit einigen Programmen, wie z.B. Videoplayern oder CD-" +"Brennprogrammen kommen. Diese Programme können durch aktivieren von " +"\"Schemaspezifische Blacklist aktivieren\" und Klicken auf " +"\"Blacklist bearbeiten ...\" in eine Liste von Programmen, welche den " +"Suspend/Standby verhindern, eingetragen werden. Wenn dies nicht hilft, " +"melden Sie das Problem oder schalten Sie Autosuspend ab.

    Möchten Sie " +"diese Option wirklich verwenden?" + +#: dummy.cpp:82 +msgid "Try to use only one CPU/Core." +msgstr "Versuche nur eine CPU bzw. einen CPU-Kern zu benutzen." + +#: dummy.cpp:83 +msgid "" +"Reduce power consumption by try to use only one CPU/Core instead of " +"spreading the work over all/multiple CPUs." +msgstr "" +"Reduziere den Stromverbrauch indem versucht wird nur eine CPU bzw. einen CPU-" +"Kern zu benutzen statt die Arbeit über alle/mehrere CPUs zu verteilen." + +#: dummy.cpp:87 +msgid "Could not load the global configuration." +msgstr "Die globale Konfiguration konnte nicht geladen werden." + +#: dummy.cpp:88 +msgid "Could not load the requested scheme configuration." +msgstr "Die geforderte Scheme-Konfiguration konnte nicht geladen werden." + +#: dummy.cpp:89 +msgid "Configure the current scheme." +msgstr "Konfigurieren Sie das aktuelle Scheme." + +#: dummy.cpp:90 +msgid "Try loading the default configuration." +msgstr "Versuche, die Standardkonfiguration zu laden." + +#: dummy.cpp:91 +msgid "Maybe the global configuration file is empty or missing." +msgstr "" +"Möglicherweise ist die globale Konfigurationsdatei leer oder nicht mehr " +"vorhanden." + +#: dummy.cpp:94 +msgid "Cannot connect to D-Bus. The D-Bus daemon may not be running." +msgstr "" +"KPowersave kann sich nicht zum D-Bus verbinden. Möglicherweise läuft der D-" +"Bus Daemon nicht." + +#: dummy.cpp:95 +msgid "" +"Scheme switched to %1. \n" +" Deactivate following devices: %2" +msgstr "" +"Scheme gewechselt zu %1 \n" +" Deaktiviere folgende Geräte: %2" + +#: dummy.cpp:96 +msgid "" +"Scheme switched to %1. \n" +" Activate following devices: %2" +msgstr "" +"Scheme gewechselt zu %1 \n" +" Aktiviere folgende Geräte: %2" + +#: dummy.cpp:97 +msgid "Report ..." +msgstr "Berichten ..." + +#: dummy.cpp:98 +msgid "Suspend to RAM is not supported on your machine." +msgstr "Suspend to RAM wird von diesem Computer nicht unterstützt" + +#: dummy.cpp:99 +msgid "Additionally, please mail the output of %1 to %2 . Thanks!" +msgstr "Zusätzlich senden Sie bitte die Ausgabe von %1 an %2 . Danke!" + +#: dummy.cpp:100 +msgid "Power consumption" +msgstr "Stromverbrauch" + +#: dummy.cpp:103 +msgid "KScreensaver not found." +msgstr "Kein KScreensaver gefunden." + +#: dummy.cpp:104 +msgid "Try locking with XScreensaver or xlock." +msgstr "Versuche, den Bildschirm mit XScreensaver oder xlock zu sperren." + +#: dummy.cpp:105 +msgid "XScreensaver not found." +msgstr "Kein XScreensaver gefunden." + +#: dummy.cpp:106 +msgid "Try locking the screen with xlock." +msgstr "Versuche, den Bildschirm mit xlock zu sperren." + +#: dummy.cpp:107 +msgid "" +"XScreensaver and xlock not found. It is not possible to lock the screen. " +"Check your installation." +msgstr "" +"Es wurde kein XScreensaver und kein xlock gefunden. Der Bildschirm kann " +"nicht gesperrt werden. Prüfen Sie Ihre Installation." + +#: dummy.cpp:111 +msgid "HAL daemon:" +msgstr "HAL Daemon:" + +#: dummy.cpp:112 +msgid "D-Bus daemon:" +msgstr "D-Bus Daemon:" + +#: dummy.cpp:113 +msgid "ConsoleKit daemon:" +msgstr "ConsoleKit Daemon:" + +#: dummy.cpp:114 +msgid "Autosuspend activated:" +msgstr "Autosuspend aktiviert:" + +#: dummy.cpp:115 +msgid "Autodimm activated:" +msgstr "Autodimm aktiviert:" + +#: dummy.cpp:116 +msgid "enabled" +msgstr "aktiviert" + +#: dummy.cpp:117 +msgid "Session active:" +msgstr "Ist die Session aktiv:" + +#: dummy.cpp:120 +msgid "Inactivity detected." +msgstr "Inaktivität festgestellt." + +#: dummy.cpp:121 +msgid "To stop the %1 press the 'Cancel' button before the countdown expire." +msgstr "" +"Um den %1 zu stoppen drücken sie den 'Abbrechen' Schalter bevor der " +"Countdown abgelaufen ist." + +#: dummy.cpp:122 +msgid "The computer autosuspend in: " +msgstr "Der Computer suspendiert automatisch in: " + +#: dummy.cpp:123 +#, c-format +msgid "The display get dimmed down to %1% in: " +msgstr "Der Bildschirm wird automatisch abgedunkelt auf %1% in: " + +#: dummy.cpp:124 +msgid "%1 seconds" +msgstr "%1 Sekunden" + +#: dummy.cpp:127 +msgid "Could not call %1. The current desktop session is not active." +msgstr "" +"Konnte %1 nicht ausführen. Die aktuelle Desktop Session ist nicht aktiv." + +#: dummy.cpp:128 +msgid "Could not set %1. The current desktop session is not active." +msgstr "Konnte %1 nicht setzen. Die aktuelle Desktop Session ist nicht aktiv." + +#: dummy.cpp:129 +msgid "Stopped %1. The current desktop session is now inactive." +msgstr "%1 wurde gestoppt. Die aktuelle Desktop Session ist nun inaktiv." + +#: dummy.cpp:130 +msgid "Restarted %1. The current desktop session is now active again." +msgstr "" +"%1 wurde neu gestartet. Die aktuelle Desktop Session ist nun wieder aktiv." + +#: log_viewer.cpp:78 +msgid "Form1" +msgstr "" + +#: log_viewer.cpp:79 +msgid "Save As ..." +msgstr "Speichern als ..." + +#: log_viewer.cpp:80 +msgid "Close" +msgstr "Schließen" + +#: logviewer.cpp:44 +msgid "KPowersave Logfile Viewer: %1" +msgstr "KPowersave Logdatei Betrachter: %1 " + +#: logviewer.cpp:89 +msgid "File already exist. Overwrite the file?" +msgstr "" +"Es existiert bereits eine Datei mit diesem Namen. Soll diese Datei " +"überschrieben werden?" + +#: logviewer.cpp:90 logviewer.cpp:97 +msgid "Error while save logfile" +msgstr "Fehler beim Speichern der Logdatei" + +#: logviewer.cpp:95 +msgid "File already exist." +msgstr "Es existiert bereits eine Datei mit diesem Namen." + +#: logviewer.cpp:98 +msgid "Try other filename ..." +msgstr "Versuche anderen Dateinamen ..." + +#: suspenddialog.cpp:70 +msgid "Preparing Suspend..." +msgstr "Bereite Suspend vor ..." + +#: kpowersave.cpp:168 +msgid "Configure KPowersave..." +msgstr "KPowersave konfigurieren ..." + +#: kpowersave.cpp:171 configure_Dialog.cpp:915 +msgid "Configure Notifications..." +msgstr "Benachrichtigungen konfigurieren ..." + +#: kpowersave.cpp:175 +msgid "Start YaST2 Power Management Module..." +msgstr "YaST2 Power-Management-Modul starten ..." + +#: kpowersave.cpp:189 kpowersave.cpp:2106 kpowersave.cpp:2166 +#: kpowersave.cpp:2253 +msgid "Standby" +msgstr "Stand-by" + +#: kpowersave.cpp:191 kpowersave.cpp:198 +msgid "Set CPU Frequency Policy" +msgstr "Setze CPU-Frequenzverhalten" + +#: kpowersave.cpp:205 kpowersave.cpp:206 +msgid "Set Active Scheme" +msgstr "Setze aktives Schema" + +#: kpowersave.cpp:212 +msgid "Disable Actions on Inactivity" +msgstr "Aktionen bei Inaktivität deaktivieren" + +#: kpowersave.cpp:219 kpowersave.cpp:229 +msgid "&Help" +msgstr "&Hilfe" + +#: kpowersave.cpp:221 +msgid "&KPowersave Handbook" +msgstr "&KPowersave Handbuch" + +#: kpowersave.cpp:224 +msgid "&Report a bug ..." +msgstr "&Melde einen Fehler ..." + +#: kpowersave.cpp:226 +msgid "&About KPowersave" +msgstr "&Ãœber KPowersave" + +#: kpowersave.cpp:275 kpowersave.cpp:648 kpowersave.cpp:656 kpowersave.cpp:703 +#: kpowersave.cpp:710 kpowersave.cpp:759 kpowersave.cpp:766 kpowersave.cpp:815 +#: kpowersave.cpp:822 kpowersave.cpp:1126 kpowersave.cpp:1241 +#: kpowersave.cpp:1270 kpowersave.cpp:2183 +msgid "WARNING" +msgstr "WARNUNG" + +#: kpowersave.cpp:275 +msgid "Cannot find any schemes." +msgstr "Konnte keine Schemata finden." + +#: kpowersave.cpp:453 +msgid "No information about battery and AC status available" +msgstr "" +"Keine Informationen über den Batteriezustand und Stromversorgung verfügbar." + +#: kpowersave.cpp:456 +msgid "Plugged in -- fully charged" +msgstr "Angeschlossen -- komplett geladen" + +#: kpowersave.cpp:460 +msgid "Plugged in" +msgstr "Angeschlossen" + +#: kpowersave.cpp:464 +msgid "Plugged in -- %1% charged (%2:%3 h until full charged)" +msgstr "Angeschlossen -- %1% geladen (%2:%3 Stunden bis voll geladen)" + +#: kpowersave.cpp:467 +msgid "Plugged in -- %1% charged (%2:%3 remaining hours)" +msgstr "Angeschlossen -- %1% geladen (%2:%3 Stunden verbleiben)" + +#: kpowersave.cpp:471 kpowersave.cpp:475 +#, c-format +msgid "Plugged in -- %1% charged" +msgstr "Angeschlossen -- %1% geladen" + +#: kpowersave.cpp:474 +msgid "Plugged in -- no battery" +msgstr "Angeschlossen -- keine Batterie" + +#: kpowersave.cpp:480 +msgid "Running on batteries -- %1% charged (%2:%3 hours remaining)" +msgstr "Batteriebetrieb -- %1% geladen (%2:%3 Stunden verbleiben)" + +#: kpowersave.cpp:484 +#, c-format +msgid "Running on batteries -- %1% charged" +msgstr "Batteriebetrieb -- %1% geladen" + +#: kpowersave.cpp:491 +msgid " -- battery is charging" +msgstr " -- Batterie wird geladen" + +#: kpowersave.cpp:649 kpowersave.cpp:657 +msgid "Could not start YaST Power Management Module. Check if it is installed." +msgstr "" +"Das YaST Power-Management-Modul konnte nicht gestartet werden. Ãœberprüfen " +"Sie ob es installiert ist." + +#: kpowersave.cpp:703 +msgid "Suspend to disk failed" +msgstr "Suspend to Disk fehlgeschlagen" + +#: kpowersave.cpp:711 +msgid "Suspend to disk disabled by administrator." +msgstr "Suspend to Disk durch Administrator deaktiviert" + +#: kpowersave.cpp:759 +msgid "Suspend to RAM failed" +msgstr "Suspend to RAM fehlgeschlagen" + +#: kpowersave.cpp:767 +msgid "Suspend to RAM disabled by administrator." +msgstr "Suspend to RAM durch Administrator deaktiviert." + +#: kpowersave.cpp:815 +msgid "Standby failed" +msgstr "Standby fehlgeschlagen" + +#: kpowersave.cpp:822 +msgid "Standby disabled by administrator." +msgstr "Standby durch Administrator deaktiviert" + +#: kpowersave.cpp:853 +msgid "System is going into suspend mode now" +msgstr "Das System wird nun suspendiert" + +#: kpowersave.cpp:1039 +msgid "Could not call DCOP interface to umount external media." +msgstr "" +"Das DCOP Interface um externe Speichermedien auszuhängen konnte nicht " +"aufgerufen werden." + +#: kpowersave.cpp:1044 +msgid "" +"Could not umount external media before suspend/standby. \n" +" (Reason: %1)\n" +" \n" +" Would you like to continue suspend/standby anyway? \n" +"(Warning: Continue suspend can cause data loss!)" +msgstr "" +"Die externen Speichermedien (USB/Firewire) konnten nicht ausgehangen " +"werden. \n" +" (Grund: %1)\n" +" \n" +" Wollen Sie den Suspend/Standby-Prozess trotz forstsetzen? \n" +"(Warnung: Ein Fortsetzen des Suspendierens kann Datenverlust zur Folge " +"haben!)" + +#: kpowersave.cpp:1052 +msgid "Error while prepare %1" +msgstr "Fehler bei der Vorbereitung von %1" + +#: kpowersave.cpp:1053 +msgid "Suspend anyway" +msgstr "Trotzdem Suspendieren" + +#: kpowersave.cpp:1053 +msgid "Cancel suspend" +msgstr "Suspend abbrechen" + +#: kpowersave.cpp:1127 +msgid "" +"Could not lock the screen. There may be a problem with the selected \n" +"lock method or something else." +msgstr "" +"Der Bildschirm konnte nicht gesperrt werden. Es gibt möglicherweise ein " +"Problem \n" +"mit der ausgewählte Sperrmethode. Bitte überprüfen Sie die Einstellungen." + +#: kpowersave.cpp:1144 +msgid "The Lid was closed." +msgstr "Der Laptop wurde geschlossen." + +#: kpowersave.cpp:1156 +msgid "The Lid was opened." +msgstr "Der Laptop wurde geöffnet." + +#: kpowersave.cpp:1223 +msgid "Start KPowersave automatically when you log in?" +msgstr "Soll KPowersave beim Anmelden automatisch gestartet werden?" + +#: kpowersave.cpp:1224 +msgid "Question" +msgstr "Frage" + +#: kpowersave.cpp:1225 +msgid "Start Automatically" +msgstr "Automatisch Starten" + +#: kpowersave.cpp:1225 +msgid "Do Not Start" +msgstr "Nicht Starten" + +#: kpowersave.cpp:1242 +msgid "CPU Freq Policy %1 could not be set." +msgstr "Die CPU Frequenz Einstellung %1 konnte nicht gesetzt werden." + +#: kpowersave.cpp:1271 +msgid "Scheme %1 could not be activated." +msgstr "Schema %1 konnte nicht aktiviert werden." + +#: kpowersave.cpp:1600 +msgid "" +"The D-Bus daemon is not running.\n" +"Starting it will provide full functionality: /etc/init.d/dbus start" +msgstr "" +"Der D-Bus Daemon ist nicht aktiv.\n" +"Der Aufruf von /etc/init.d/dbus start sollte helfen." + +#: kpowersave.cpp:1611 +msgid "Don't show this message again." +msgstr "Diese Meldung nicht wieder anzeigen." + +#: kpowersave.cpp:1637 +msgid "ERROR" +msgstr "FEHLER" + +#: kpowersave.cpp:1638 +msgid "Could not get information from HAL. The haldaemon is maybe not running." +msgstr "" +"Kann keine Informationen von HAL erhalten. Möglicherweise läuft der HAL " +"Daemon nicht." + +#: kpowersave.cpp:1641 +msgid "Error" +msgstr "Fehler" + +#: kpowersave.cpp:1912 +msgid "" +"Battery state changed to WARNING -- remaining time: %1 hours and %2 minutes." +msgstr "" +"Der Batteriestatus steht auf WARNUNG. Verbleibende Zeit: %1 Stunde(n) und %2 " +"Minute(n)." + +#: kpowersave.cpp:1921 +msgid "" +"Battery state changed to LOW -- remaining time: %1 hours and %2 minutes." +msgstr "" +"Der Batteriestatus steht auf NIEDRIG. Verbleibende Zeit: %1 Stunde(n) und %2 " +"Minute(n)." + +#: kpowersave.cpp:1932 +msgid "" +"Battery state changed to CRITICAL -- remaining time: %1 hours and %2 " +"minutes.\n" +"Shut down your system or plug in the power cable immediately. Otherwise the " +"machine\n" +"will go shutdown in 30 seconds" +msgstr "" +"Der Batteriestatus steht auf KRITISCH. Verbleibende Zeit: %1 Stunde(n) und %" +"2 Minute(n).\n" +"Fahren Sie Ihr System herunter oder schließen Sie Ihren Rechner an die " +"Steckdose an\n" +" ansonsten wird der Computer in 30 Sekunden heruntergefahren" + +#: kpowersave.cpp:1943 +msgid "" +"Battery state changed to CRITICAL -- remaining time: %1 hours and %2 " +"minutes.\n" +"Shut down your system or plug in the power cable immediately." +msgstr "" +"Der Batteriestatus steht auf KRITISCH. Verbleibende Zeit: %1 Stunde(n) und %" +"2 Minute(n). Fahren Sie Ihr System herunter oder schließen Sie Ihren Rechner " +"an die Steckdose an." + +#: kpowersave.cpp:2041 +msgid "AC adapter plugged in" +msgstr "Netzstecker eingesteckt" + +#: kpowersave.cpp:2043 +msgid "AC adapter unplugged" +msgstr "Netzstecker entfernt" + +#: kpowersave.cpp:2078 +msgid "Switched to scheme: %1" +msgstr "Gewechselt zu Schema: %1" + +#: kpowersave.cpp:2095 kpowersave.cpp:2100 kpowersave.cpp:2105 +msgid "System is going into %1 now." +msgstr "Das System wird nun in %1 versetzt." + +#: kpowersave.cpp:2155 kpowersave.cpp:2160 kpowersave.cpp:2165 +msgid "System is resumed from %1." +msgstr "Das System wurde aus %1 wiederhergestellt." + +#: kpowersave.cpp:2184 +msgid "Could not remount (all) external storage media." +msgstr "Es konnten nicht alle externen Speichermedien neu gemountet werden." + +#: kpowersave.cpp:2192 +msgid "An unknown error occurred while %1. The errorcode is: '%2'" +msgstr "" +"Ein unbekannter Fehler ist aufgetreten während %1. Der Fehlercode ist: '%2'" + +#: kpowersave.cpp:2197 +msgid "Do you want to have a look at the log file?" +msgstr "Wollen Sie die Log Datei anschauen?" + +#: kpowersave.cpp:2198 kpowersave.cpp:2224 +msgid "Error while %1" +msgstr "Fehler während %1" + +#: configure_Dialog.cpp:831 +msgid "KPowersave Settings" +msgstr "KPowersave Einstellungen" + +#: configure_Dialog.cpp:832 +msgid "Apply" +msgstr "Anwenden" + +#: configure_Dialog.cpp:834 +msgid "Help" +msgstr "Hilfe" + +#: configure_Dialog.cpp:840 +msgid "Enable specific display power management" +msgstr "Aktiviere spezielle DPMS Einstellungen" + +#: configure_Dialog.cpp:841 +msgid "Standby after:" +msgstr "Aussetzen nach:" + +#: configure_Dialog.cpp:842 +msgid "Only blank the screen" +msgstr "Nur auf leeren Bildschirm schalten" + +#: configure_Dialog.cpp:843 +msgid "Disable screen saver" +msgstr "Bildschirmschoner deaktivieren" + +#: configure_Dialog.cpp:844 +msgid "Enable specific screensaver settings" +msgstr "Aktiviere spezielle Bildschirmschoner Einstellungen" + +#: configure_Dialog.cpp:845 +msgid "Suspend after:" +msgstr "Auf Bereitschaft gehen nach:" + +#: configure_Dialog.cpp:846 +msgid "Power off after:" +msgstr "Ausschalten nach:" + +#: configure_Dialog.cpp:847 +msgid "Disable display power management" +msgstr "Deaktiviere Energiesparfunktion des Bildschirms" + +#: configure_Dialog.cpp:848 configure_Dialog.cpp:849 configure_Dialog.cpp:850 +#: configure_Dialog.cpp:862 configure_Dialog.cpp:873 +msgid " min" +msgstr " min" + +#: configure_Dialog.cpp:851 +msgid "Screen Saver and DPMS" +msgstr "Bildschirmschoner und DPMS" + +#: configure_Dialog.cpp:852 +msgid "Settings" +msgstr "Einstellungen" + +#: configure_Dialog.cpp:853 +msgid "Reset" +msgstr "Zurücksetzen" + +#: configure_Dialog.cpp:855 +msgid "Enable scheme specific Brightness settings" +msgstr "Aktiviere spezielle Helligkeitseinstellungen" + +#: configure_Dialog.cpp:858 +msgid "Brightness" +msgstr "Helligkeit" + +#: configure_Dialog.cpp:859 +msgid "Enable autosuspend" +msgstr "Aktiviere Autosuspend" + +#: configure_Dialog.cpp:860 configure_Dialog.cpp:867 +msgid "Enable scheme-specific blacklist" +msgstr "Schemaspezifische Blacklist aktivieren" + +#: configure_Dialog.cpp:861 configure_Dialog.cpp:870 +msgid "after:" +msgstr "nach:" + +#: configure_Dialog.cpp:863 configure_Dialog.cpp:868 +msgid "Edit Blacklist..." +msgstr "Blacklist bearbeiten ..." + +#: configure_Dialog.cpp:864 configure_Dialog.cpp:869 +msgid "If the current desktop user is inactive the computer will:" +msgstr "Wenn der aktuelle Benutzer inaktiv ist, wird der Computer:" + +#: configure_Dialog.cpp:865 +msgid "Autosuspend" +msgstr "Autosuspend" + +#: configure_Dialog.cpp:866 +msgid "Enable autodimm the display" +msgstr "Aktiviere automatisches Dimmen des Bildschirms" + +#: configure_Dialog.cpp:871 configure_Dialog.cpp:893 configure_Dialog.cpp:894 +#: configure_Dialog.cpp:895 configure_Dialog.cpp:896 configure_Dialog.cpp:897 +#: configure_Dialog.cpp:898 +msgid " %" +msgstr " %" + +#: configure_Dialog.cpp:872 +msgid "dimm to:" +msgstr "abdunkeln auf:" + +#: configure_Dialog.cpp:874 +msgid "Autodimm" +msgstr "Autodimm" + +#: configure_Dialog.cpp:879 +msgid "Set CPU Frequency Policy:" +msgstr "Setze CPU-Frequenzverhalten:" + +#: configure_Dialog.cpp:880 +msgid "CPU Frequency Policy" +msgstr "CPU-Frequenzverhalten" + +#: configure_Dialog.cpp:881 +msgid "Disable Notifications" +msgstr "Benachrichtigungen abschalten" + +#: configure_Dialog.cpp:884 +msgid "New" +msgstr "Neu" + +#: configure_Dialog.cpp:885 +msgid "Scheme Settings" +msgstr "Schema Einstellungen" + +#: configure_Dialog.cpp:886 +msgid "" +"Define the battery warning levels (in percentage) and the releated action if " +"the level get reached:" +msgstr "" +"Legen Sie die drei Stufen der Batteriekapazität (in Prozent) fest und welche " +"Aktionen beim Erreichen der jeweiligen Stufe ausgeführt werden sollen:" + +#: configure_Dialog.cpp:887 +msgid "Warning level:" +msgstr "Kapazitätswarnung:" + +#: configure_Dialog.cpp:888 +msgid "Low level:" +msgstr "Niedrige Kapazität:" + +#: configure_Dialog.cpp:889 +msgid "Critical level:" +msgstr "Kritische Kapazität:" + +#: configure_Dialog.cpp:890 configure_Dialog.cpp:891 configure_Dialog.cpp:892 +msgid "if reached call:" +msgstr "wenn erreicht:" + +#: configure_Dialog.cpp:899 +msgid "Battery" +msgstr "Batterie" + +#: configure_Dialog.cpp:900 +msgid "" +"Define the action which should be executed if the related button get pressed:" +msgstr "" +"Legen Sie fest, welche Aktion ausgeführt werden soll, wenn die betreffende " +"Taste gedrückt wurde:" + +#: configure_Dialog.cpp:901 +msgid "Suspend-to-disk Button:" +msgstr "Suspend to Disk Taste:" + +#: configure_Dialog.cpp:902 +msgid "Sleep button:" +msgstr "Schlafmodus Taste:" + +#: configure_Dialog.cpp:903 +msgid "Lid close Button:" +msgstr "Schließen des Notebook-Deckels:" + +#: configure_Dialog.cpp:904 +msgid "Power Button:" +msgstr "Ausschaltknopf:" + +#: configure_Dialog.cpp:905 +msgid "Button Events" +msgstr "Tasten Ereignisse" + +#: configure_Dialog.cpp:906 +msgid "" +"Select the following schemes as default if the system is running on AC or on " +"batteries." +msgstr "" +"Legen Sie fest, welches Schema geladen werden soll, wenn sich der Computer " +"am Stromnetz befindet oder auf Batterie läuft." + +#: configure_Dialog.cpp:907 +msgid "Battery scheme:" +msgstr "Batteriebetrieb:" + +#: configure_Dialog.cpp:908 +msgid "AC scheme:" +msgstr "Netzbetrieb:" + +#: configure_Dialog.cpp:909 +msgid "Default Schemes" +msgstr "Standardschemata" + +#: configure_Dialog.cpp:910 +msgid "Lock screen before suspend or standby" +msgstr "Bildschirm vor Suspend/Stand-by sperren" + +#: configure_Dialog.cpp:911 +msgid "Lock screen with:" +msgstr "Sperre Bildschirm mit:" + +#: configure_Dialog.cpp:912 +msgid "Lock screen on lid close" +msgstr "Sperre Bildschirm beim Schließen des Laptops" + +#: configure_Dialog.cpp:913 +msgid "Lock Screen" +msgstr "Bildschirmsperre" + +#: configure_Dialog.cpp:914 +msgid "Notifications" +msgstr "Benachrichtigungen" + +#: configure_Dialog.cpp:916 +msgid "Autostart" +msgstr "Automatischer Start" + +#: configure_Dialog.cpp:917 +msgid "Never ask me again on exit" +msgstr "Beim Beenden niemals nachfragen" + +#: configure_Dialog.cpp:918 +msgid "KPowersave starts automatically on login" +msgstr "KPowersave automatisch beim Anmelden starten" + +#: configure_Dialog.cpp:919 +msgid "General Blacklists" +msgstr "Allgemeine Blacklisten" + +#: configure_Dialog.cpp:920 +msgid "Edit Autosuspend Blacklist..." +msgstr "Autosuspend Blacklist bearbeiten ..." + +#: configure_Dialog.cpp:921 +msgid "Edit Autodimm Blacklist..." +msgstr "Autodimm Blacklist bearbeiten ..." + +#: configure_Dialog.cpp:923 +msgid "General Settings" +msgstr "Allgemeine Einstellungen" + +#~ msgid "" +#~ "Inactivity detected.\n" +#~ " Machine autosuspend in %1 seconds." +#~ msgstr "" +#~ "Inaktivität festgestellt.\n" +#~ " Der Computer wird in %1 Sekunden automatisch suspendiert." + +#~ msgid "" +#~ "Inactivity detected.\n" +#~ " Dim display in %1 seconds to %2%." +#~ msgstr "" +#~ "Inaktivität festgestellt.\n" +#~ "Dimme die Helligkeit des Bildschirms in %1 Sekunden auf %2%." + +#~ msgid "" +#~ "If you know that it should work, you might override this detection with " +#~ "setting SUSPEND2RAM_FORCE=\"yes\" in /etc/powersave/sleep." +#~ msgstr "" +#~ "Wenn sie wissen das ihr Geräte Suspend to RAM trotzdem unterstützt, dann " +#~ "können Sie die automatische Erkennung in /etc/powersave/sleep mit " +#~ "SUSPEND2RAM_FORCE=\"yes\" abschalten" + +#~ msgid "Modules unloaded:" +#~ msgstr "Enladene Module:" + +#~ msgid "checking resume kernel" +#~ msgstr "Ãœberprüfe Kernel" + +#~ msgid "checking for swap partition" +#~ msgstr "Ãœberprüfe Swap Partition" + +#~ msgid "unmounting FAT/NTFS partitions" +#~ msgstr "Unmounte FAT/NTFS Partitionen" + +#~ msgid "stopping services" +#~ msgstr "Stoppe Dienste" + +#~ msgid "stopping service:" +#~ msgstr "Stoppe Dienst:" + +#~ msgid "unloading modules" +#~ msgstr "Entlade Module" + +#~ msgid "unloading module:" +#~ msgstr "Entlade Modul:" + +#~ msgid "syncing file systems" +#~ msgstr "Synchronisiere Dateisysteme" + +#~ msgid "preparing bootloader" +#~ msgstr "Bereite Bootloader vor" + +#~ msgid "Edit General Blacklist..." +#~ msgstr "Allgemeine Blacklist bearbeiten ..." + +#~ msgid "&OK" +#~ msgstr "&OK" + +#~ msgid "&Cancel" +#~ msgstr "&Abbrechen" + +#~ msgid "" +#~ "This scheme support suspend and disable devices. This is a EXPERIMENTAL " +#~ "feature of powersave to save more power on laptops. If you select this " +#~ "scheme you can get in trouble (e.g. kernel oops). You can configure this " +#~ "feature currently in the powersave config files. Please report all " +#~ "problems via http://www.opensuse.org/Submit_a_bug \n" +#~ "\n" +#~ "Would you switch the scheme (on your own risk)?" +#~ msgstr "" +#~ "Dieses Schema unterstützt das Suspendieren bzw. deaktivieren von Geräten " +#~ "Dies ist eine EXPERIMENTELLE Eigenschaft von Powersave und verlängert die " +#~ "Batterielaufzeit. Wenn sie dieses Schema auswählen, kann es zu Problemen " +#~ "kommen (bspw. Kernel Ooops). Sie können dieses Schema zur Zeit in den " +#~ "Powersave Konfigurationsdateien einstellen. Bitte melden sie alle " +#~ "Probleme über: \n" +#~ "\n" +#~ "http://www.opensuse.org/Submit_a_bug \n" +#~ "\n" +#~ "Wollen Sie das Schema wechseln (auf ihre eigenes Risiko)?" + +#~ msgid " -- %1 MHz" +#~ msgstr " -- %1 MHz" + +#~ msgid "Enabled" +#~ msgstr "aktiviert" + +#~ msgid "In" +#~ msgstr "Einstecken" + +#~ msgid "Out" +#~ msgstr "Entfernen" + +#~ msgid "Schemename" +#~ msgstr "Schemaname" + +#~ msgid "You are not permitted to connect to the daemon" +#~ msgstr "" +#~ "Sie haben nicht die nötigen Rechte, eine Verbindung zum Daemon " +#~ "herzustellen." + +#~ msgid "Turn Off Computer" +#~ msgstr "Rechner abschalten" diff --git a/po/el.po b/po/el.po new file mode 100644 index 0000000..8421711 --- /dev/null +++ b/po/el.po @@ -0,0 +1,1678 @@ +# translation of kpowersave.el.po to Greek +# translation of el.po to +# translation of el.po to +# translation of el.po to +# translation of el.po to +# translation of el.po to +# This file is distributed under the same license as the PACKAGE package. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER. +# +# Antje Faber , 2004. +# Klara Cihlarova , 2004. +# Filippos Papadopoulos , 2004, 2005. +# Hellenic SuSE Translators Group , 2005. +# Kostas Boukouvalas , 2005, 2007. +# Hellenic SuSE Translation Team , 2005. +# Hellenic SuSE Translation Group , 2005. +# Vasileios Giannakopoulos , 2007. +msgid "" +msgstr "" +"Project-Id-Version: kpowersave.el\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2007-08-10 03:16+0200\n" +"PO-Revision-Date: 2007-04-01 23:17+0300\n" +"Last-Translator: Kostas Boukouvalas \n" +"Language-Team: Greek \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: KBabel 1.11.4\n" +"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%" +"10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" +"10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" + +#: detailed_Dialog.cpp:228 +#, fuzzy +msgid "kpowersave" +msgstr "Powersave" + +#: detailed_Dialog.cpp:229 +msgid "General Information" +msgstr "Γενικές ΠληÏοφοÏίες" + +#: detailed_Dialog.cpp:232 +msgid "Battery Status" +msgstr "Κατάσταση ΜπαταÏίας" + +#: detailed_Dialog.cpp:233 +msgid "AC Adapter" +msgstr "Μετασχηματιστής AC" + +#: detailed_Dialog.cpp:234 detaileddialog.cpp:391 +msgid "plugged in" +msgstr "στο ÏεÏμα" + +#: detailed_Dialog.cpp:235 +#, fuzzy +msgid "Power Consumtion: " +msgstr "Κατανάλωση ενέÏγειας" + +#: detailed_Dialog.cpp:237 +msgid "Processor Status" +msgstr "Κατάσταση ΕπεξεÏγαστή" + +#: detailed_Dialog.cpp:238 blacklistedit_Dialog.cpp:130 info_Dialog.cpp:198 +#: configure_Dialog.cpp:838 +#, fuzzy +msgid "OK" +msgstr "Εντά&ξει" + +#: blacklisteditdialog.cpp:60 +msgid "General Blacklist" +msgstr "Γενική ΜαÏÏη Λίστα" + +#: blacklisteditdialog.cpp:63 +msgid "Scheme: " +msgstr "Σχήμα: " + +#: blacklisteditdialog.cpp:114 +msgid "Selected entry removed." +msgstr "Η επιλεγμένη εγγÏαφή αφαιÏέθηκε." + +#: blacklisteditdialog.cpp:117 +msgid "Could not remove the selected entry." +msgstr "Δεν ήταν δυνατή η αφαίÏεση της συγκεκÏιμένης εγγÏαφής." + +#: blacklisteditdialog.cpp:137 +msgid "Inserted new entry." +msgstr "Εισαγωγή νέας εγγÏαφής." + +#: blacklisteditdialog.cpp:141 +msgid "Entry exists already. Did not insert new entry." +msgstr "Η εγγÏαφή υπάÏχει ήδη. Μην εισάγετε νέα." + +#: blacklisteditdialog.cpp:144 +msgid "Empty entry was not inserted." +msgstr "Η άδεια εγγÏαφή δεν εισήχθηκε." + +#: inactivity.cpp:298 +msgid "" +"Could not start 'pidof'. Could not autosuspend the machine.\n" +"Please check your installation." +msgstr "" +"Αδυναμία εκκίνησης 'pidof'. Αδυναμία αυτόματης ανάκλησης του μηχανήματος.\n" +"ΠαÏακαλώ ελέγξτε την εγκατάσταση σας." + +#: blacklistedit_Dialog.cpp:129 +msgid "Autosuspend Blacklist Edit" +msgstr "ΕπεξεÏγασία ΜαÏÏης Λίστας Αυτόματου Κλεισίματος" + +#: blacklistedit_Dialog.cpp:132 configuredialog.cpp:1079 +#: configure_Dialog.cpp:836 +#, fuzzy +msgid "Cancel" +msgstr "&ΑκÏÏωση" + +#: blacklistedit_Dialog.cpp:135 +msgid "Add" +msgstr "ΠÏοσθήκη" + +#: blacklistedit_Dialog.cpp:136 +#, fuzzy +msgid "Remove" +msgstr "ΑφαίÏεσ&η" + +#: infodialog.cpp:76 infodialog.cpp:78 main.cpp:55 +#, fuzzy +msgid "KPowersave" +msgstr "Powersave" + +#: configuredialog.cpp:116 configuredialog.cpp:121 configuredialog.cpp:721 +msgid " - not supported" +msgstr "" + +#: configuredialog.cpp:150 configuredialog.cpp:317 detaileddialog.cpp:432 +#: kpowersave.cpp:192 settings.cpp:66 configure_Dialog.cpp:876 +msgid "Performance" +msgstr "Απόδοση" + +#: configuredialog.cpp:154 configuredialog.cpp:319 detaileddialog.cpp:438 +#: kpowersave.cpp:194 settings.cpp:68 configure_Dialog.cpp:878 +msgid "Powersave" +msgstr "Powersave" + +#: configuredialog.cpp:159 configuredialog.cpp:321 kpowersave.cpp:1478 +#: settings.cpp:70 +msgid "Presentation" +msgstr "ΠαÏουσίαση" + +#: configuredialog.cpp:164 configuredialog.cpp:323 kpowersave.cpp:1473 +#: settings.cpp:72 +msgid "Acoustic" +msgstr "Ακουστικό" + +#: configuredialog.cpp:169 configuredialog.cpp:171 configuredialog.cpp:172 +#: configuredialog.cpp:173 kpowersave.cpp:1484 +msgid "Advanced Powersave" +msgstr "Για ΠÏοχωÏημένους Powersave" + +#: configuredialog.cpp:271 +msgid "" +"This enables specific screen saver settings. \n" +"Note: If selected, the global screen saver settings are \n" +"overwritten while kpowersave runs." +msgstr "" +"Αυτό ενεÏγοποιεί συγκεκÏιμένες Ïυθμίσεις Ï€Ïοστασίας οθόνης. \n" +"Σημείωση: Εάν επιλεγεί, οι καθολικές Ïυθμίσεις Ï€Ïοστασίας οθόνης θα \n" +"επανεγγÏαφοÏν ενώ Ï„Ïέχει ο kpowersave." + +#: configuredialog.cpp:274 +msgid "" +"This disables the screen saver. \n" +"Note: If selected, the global screen saver settings are \n" +"overwritten while kpowersave runs." +msgstr "" +"Αυτό απενεÏγοποιεί την Ï€Ïοστασία οθόνης. \n" +"Σημείωση: Εάν επιλεγεί, οι καθολικές Ïυθμίσεις Ï€Ïοστασίας οθόνης θα \n" +"επανεγγÏαφοÏν ενώ Ï„Ïέχει ο kpowersave." + +#: configuredialog.cpp:277 +msgid "" +"This blanks the screen instead of using a specific screen saver. \n" +"Note: This may work only with KScreensaver." +msgstr "" +"Αυτό σβήνει μόνο την οθόνη αντί να χÏησιμοποιεί μία συγκεκÏιμένη Ï€Ïοστασία " +"οθόνης. \n" +"Σημείωση: Αυτό μποÏεί να δουλέψει μόνο με το KScreensaver." + +#: configuredialog.cpp:279 +msgid "" +"This enables specific DPMS settings. \n" +"Note: If selected, the global DPMS settings are \n" +"overwritten while kpowersave runs." +msgstr "" +"Αυτό ενεÏγοποιεί συγκεκÏιμένες Ïυθμίσεις DPMS. \n" +"Σημείωση:Εάν επιλεγεί, οι καθολικές Ïυθμίσεις DPMS θα επανεγγÏαφοÏν ενώ \n" +"Ï„Ïέχει ο kpowersave." + +#: configuredialog.cpp:282 +msgid "This disables DPMS support." +msgstr "Αυτό απενεÏγοποιεί την υποστήÏιξη DPMS." + +#: configuredialog.cpp:283 +msgid "If selected, the screen is locked on suspend or standby." +msgstr "Εάν επιλεχθεί, η οθόνη κλειδώνεται σε αναστολή ή αναμονή." + +#: configuredialog.cpp:284 +msgid "If selected, the screen is locked if the lid close event is triggered." +msgstr "" +"Εάν επιλεχθεί, η οθόνη κλειδώνεται εάν το γεγονός 'lid close' ενεÏγοποιηθεί." + +#: configuredialog.cpp:286 +msgid "" +"Check this box to enable or disable automatic suspension of the computer." +msgstr "" +"Επιλέξτε αυτό το κουτί για να ενεÏγοποιήσετε ή να απενεÏγοποιήσετε το " +"αυτόματο κλείσιμο του υπολογιστή." + +#: configuredialog.cpp:288 +msgid "" +"Activate this action if the user was inactive for the defined time \n" +"(greater than 0 minutes). If empty, nothing happens." +msgstr "" +"ΕνεÏγοποιήστε αυτήν την ενέÏγεια, εάν ο χÏήστης ήταν τον οÏισμένο χÏόνο \n" +"(>0 λεπτά) ανενεÏγός. Εάν επιλέξετε την άδεια καταχώÏηση τίποτα δε συμβαίνει." + +#: configuredialog.cpp:291 +msgid "All scheme-related screen saver and DPMS settings." +msgstr "" +"Όλες οι Ïυθμίσεις που έχουν σχέση με τα σχήματα του screen saver και του " +"DPMS." + +#: configuredialog.cpp:292 +msgid "All scheme-related display brightness settings." +msgstr "Όλες οι Ïυθμίσεις του σχήματος που σχετίζονται με τη φωτεινότητα." + +#: configuredialog.cpp:293 +msgid "All scheme-related automatic suspend settings." +msgstr "Όλες οι Ïυθμίσεις που έχουν σχέση με τα σχήματα του κλεισίματος." + +#: configuredialog.cpp:295 +msgid "" +"Here you can change the brightness of your display. \n" +"Use the slider to change the brightness directly for \n" +"testing. To reset back to previous level, please press \n" +"the 'Reset' button. " +msgstr "" +"Εδώ μποÏείτε να αλλάξετε τη φωτεινότητα της οθόνης σας. \n" +"ΧÏησιμοποιήστε τον κανόνα για να αλλάξετε την φωτεινότητα απευθείας ή \n" +"δοκιμαστικά. Για να επαναφέÏετε το Ï€ÏοηγοÏμενο επίπεδο, παÏακαλώ πατήστε \n" +"το κουμπί 'ΕπαναφοÏά'." + +#: configuredialog.cpp:299 +msgid "Use this button to set back the slider and the display brightness." +msgstr "" +"ΧÏησιμοποιήστε αυτό το κουμπί για να πάτε πίσω τον κανόνα και την " +"φωτεινότητα της οθόνης." + +#: configuredialog.cpp:352 +msgid "Press this button to delete the selected scheme." +msgstr "" + +#: configuredialog.cpp:357 +msgid "You can't delete the current AC or battery scheme." +msgstr "" + +#: configuredialog.cpp:363 +msgid "You can't delete this default scheme." +msgstr "" + +#: configuredialog.cpp:546 +msgid "" +"Your hardware supports to change the brightness. The values of the slider " +"are in percent and mapped to the available brightness levels of your " +"hardware." +msgstr "" +"Το υλικό σας υποστηÏίζει την αλλαγή της φωτεινότητας. Οι τιμές του κανόνα " +"είναι σε επι τοις εκατό και αντιστοιχοÏν στα διαθέσιμα επίπεδα φωτεινότητας " +"του υλικοÏ." + +#: configuredialog.cpp:553 +msgid "" +"Your Hardware currently not support changing the brightness of your display." +msgstr "" +"Το υλικό σας αυτή τη στιγμή δεν υποστηÏίζει αλλαγή της φωτεινότητας της " +"οθόνης." + +#: configuredialog.cpp:664 +msgid "Select Automatically" +msgstr "αυτόματη επιλογή" + +#: configuredialog.cpp:665 +msgid "KScreensaver" +msgstr "KScreensaver" + +#: configuredialog.cpp:666 +msgid "XScreensaver" +msgstr "XScreensaver" + +#: configuredialog.cpp:667 +msgid "xlock" +msgstr "xlock" + +#: configuredialog.cpp:668 +msgid "GNOME Screensaver" +msgstr "ΠÏοστασία Οθόνης GNOME" + +#: configuredialog.cpp:930 +msgid "" +"There are unsaved changes in the active scheme.\n" +"Apply the changes before jumping to the next scheme or discard the changes?" +msgstr "" +"ΥπάÏχουν μη αποθηκευμένες αλλαγές στο ενεÏγό σχήμα.\n" +"Θέλετε να εφαÏμοστοÏν οι αλλαγές Ï€Ïιν την αλλαγή στο επόμενο σχήμα ή να " +"παÏαβλεφθοÏν;" + +#: configuredialog.cpp:933 configuredialog.cpp:983 +msgid "Unsaved Changes" +msgstr "Μη αποθηκευμένες αλλαγές" + +#: configuredialog.cpp:981 +msgid "" +"There are unsaved changes.\n" +"Apply the changes before cancel or discard the changes?" +msgstr "" +"ΥπάÏχουν αλλαγές που δεν έχουν σωθεί.\n" +"Θέλετε να εφαÏμόσετε τις αλλαγές Ï€Ïιν την ακÏÏωση ή να παÏαλειφθοÏν;" + +#: configuredialog.cpp:1032 +msgid "Please insert a name for the new scheme:" +msgstr "" + +#: configuredialog.cpp:1038 +#, fuzzy +msgid "KPowersave Configuration" +msgstr "Διάλογος ΠληÏοφοÏιών KPowersave" + +#: configuredialog.cpp:1046 +msgid "Error: A scheme with this name already exist.\n" +msgstr "" + +#: configuredialog.cpp:1076 +msgid "Do you really want to delete the %1 scheme?" +msgstr "" + +#: configuredialog.cpp:1078 +#, fuzzy +msgid "Confirm delete scheme" +msgstr "Ρυθμίστε το Ï„Ïέχον σχήμα." + +#: configuredialog.cpp:1079 configure_Dialog.cpp:883 +msgid "Delete" +msgstr "" + +#: configuredialog.cpp:1095 +#, fuzzy +msgid "Could not delete the selected scheme." +msgstr "Δεν ήταν δυνατή η αφαίÏεση της συγκεκÏιμένης εγγÏαφής." + +#: configuredialog.cpp:1324 +msgid "" +"Note: If you select this option, the computer will suspend or standby " +"if the current user is inactive for the defined time even if somebody is " +"logged in remotely to the X server.

    This feature can also produce " +"problems with some programs, such as video players or cd burner. These " +"programs can be blacklisted by checking Enable scheme-specific blacklist and click Edit Blacklist.... If this does not help, report the " +"problem or deactivate autosuspend.

    Really use this option?" +msgstr "" +"Σημείωση Εαν επιλέξετε αυτή τη ÏÏθμιση ο υπολογιστής σας θα μπει σε " +"αναστολή η αναμονή εαν ο Ï„Ïέχων χÏήστης είναι ανενεÏγός για τον καθοÏισμένο " +"χÏόνο ακόμα και αν κάποιος είναι συνδεμένος απομακÏυσμένα στον X server." +"

    Αυτό το χαÏακτηÏιστικό μποÏεί επίσης να Ï€Ïοκαλέσει Ï€Ïοβλήματα σε " +"οÏισμένα Ï€ÏογÏάμματα όπως αναπαÏαγωγείς βίντεο και εγγÏαφείς cd. Αυτά τα " +"Ï€ÏογÏάμματα μποÏοÏν να καταλογιστοÏν στην μαÏÏη λίστα με επιλογή " +"ΕνεÏγοποίησης μαÏÏης λίστας συγκεκÏιμένου σχήματος και πάτημα " +"ΕπεξεÏγασία ΜαÏÏης Λίστας.... Εαν αυτό δε βοηθήσει, αναφέÏετε το " +"Ï€Ïόβλημα η απενεÏγοποιήστε την αυτόματη ανάκληση.

    ΠÏάγματι χÏήση " +"αυτής της επιλογής;" + +#: configuredialog.cpp:1402 configuredialog.cpp:1532 +msgid "" +"The blacklist of the selected scheme is empty. Import the general blacklist?" +msgstr "" +"Η μαÏÏη λίστα των επιλεγμένων σχημάτων είναι άδεια. Εισαγωγή της γενικής " +"μαÏÏης λίστας;" + +#: configuredialog.cpp:1404 configuredialog.cpp:1534 +msgid "Import" +msgstr "Εισαγωγή" + +#: configuredialog.cpp:1404 configuredialog.cpp:1534 +msgid "Do Not Import" +msgstr "Îα Μην Εισαχθεί" + +#: configuredialog.cpp:1416 +#, fuzzy +msgid "General Autosuspend Blacklist" +msgstr "ΕπεξεÏγασία ΜαÏÏης Λίστας Αυτόματου Κλεισίματος" + +#: configuredialog.cpp:1546 +#, fuzzy +msgid "General Autodimm Blacklist" +msgstr "Γενική ΜαÏÏη Λίστα" + +#: configuredialog.cpp:1779 configuredialog.cpp:1816 +msgid "Shutdown" +msgstr "" + +#: configuredialog.cpp:1781 configuredialog.cpp:1819 +msgid "Logout Dialog" +msgstr "" + +#: configuredialog.cpp:1784 configuredialog.cpp:1822 kpowersave.cpp:182 +#: kpowersave.cpp:2096 kpowersave.cpp:2156 kpowersave.cpp:2247 +msgid "Suspend to Disk" +msgstr "Suspend to Disk" + +#: configuredialog.cpp:1787 configuredialog.cpp:1825 kpowersave.cpp:186 +#: kpowersave.cpp:2101 kpowersave.cpp:2161 kpowersave.cpp:2250 +msgid "Suspend to RAM" +msgstr "Suspend to RAM" + +#: configuredialog.cpp:1790 configuredialog.cpp:1828 +#, fuzzy +msgid "CPU Powersave policy" +msgstr "Powersave" + +#: configuredialog.cpp:1793 configuredialog.cpp:1831 +msgid "CPU Dynamic policy" +msgstr "" + +#: configuredialog.cpp:1796 configuredialog.cpp:1834 +#, fuzzy +msgid "CPU Performance policy" +msgstr "Απόδοση" + +#: configuredialog.cpp:1799 configuredialog.cpp:1837 +#, fuzzy +msgid "Set Brightness to" +msgstr "Φωτεινότητα" + +#: main.cpp:43 +#, fuzzy +msgid "KDE Frontend for Power Management, Battery Monitoring and Suspend" +msgstr "" +"ΠεÏιβάλλον εÏγασίας KDE για το powersave Πακέτο, ΠαÏακολοÏθηση ΜπαταÏίας και " +"Γενική ΥποστήÏιξη ΔιαχείÏισης ΕνέÏγειας" + +#: main.cpp:45 +#, fuzzy +msgid "Force a new check for ACPI support" +msgstr "Εξαναγκασμός νέου ελέγχου για υποστήÏιξη ACPI\n" + +#: main.cpp:46 +msgid "Trace function entry and leave points for debug\n" +msgstr "" + +#: main.cpp:59 +msgid "Current maintainer" +msgstr "ΤÏέχων συντηÏητής" + +#: main.cpp:62 +#, fuzzy +msgid "Powersave developer and for D-Bus integration" +msgstr "ΠÏογÏαμματιστής του powersave και για ενσωμάτωση DBUS" + +#: main.cpp:64 +msgid "Powersave developer and tester" +msgstr "ΠÏογÏαμματιστής του powersave και δοκιμαστής" + +#: main.cpp:66 +msgid "Added basic detailed dialog" +msgstr "ΠÏοσθήκη Î²Î±ÏƒÎ¹ÎºÎ¿Ï Î»ÎµÏ€Ï„Î¿Î¼ÎµÏοÏÏ‚ διαλόγου" + +#: main.cpp:67 +msgid "Packaging Debian and Ubuntu" +msgstr "ΠακετάÏισμα Debian και Ubuntu" + +#: detaileddialog.cpp:61 +msgid "KPowersave Information Dialog" +msgstr "Διάλογος ΠληÏοφοÏιών KPowersave" + +#: detaileddialog.cpp:65 configure_Dialog.cpp:882 configure_Dialog.cpp:922 +msgid "Miscellaneous" +msgstr "ΔιάφοÏα" + +#: detaileddialog.cpp:66 +msgid "CPUs" +msgstr "CPUs" + +#: detaileddialog.cpp:73 detaileddialog.cpp:453 +msgid "Battery state:" +msgstr "Κατάσταση μπαταÏίας:" + +#: detaileddialog.cpp:79 +msgid "Total:" +msgstr "Συνολικά:" + +#: detaileddialog.cpp:81 detaileddialog.cpp:83 +msgid "Battery %1" +msgstr "ΜπαταÏία %1" + +#: detaileddialog.cpp:114 +msgid "Processor %1" +msgstr "ΕπεξεÏγαστής %1" + +#: detaileddialog.cpp:230 +#, fuzzy +msgid "not present" +msgstr "μη παÏόν." + +#: detaileddialog.cpp:243 +msgid "charged" +msgstr "φοÏτισμένη" + +#: detaileddialog.cpp:245 +msgid "%1:%2 h until charged" +msgstr "%1:%2 h μέχÏι τη φόÏτιση" + +#: detaileddialog.cpp:248 +msgid "%1:%2 h remaining" +msgstr "%1:%2 h απομένουν" + +#: detaileddialog.cpp:253 detaileddialog.cpp:441 detaileddialog.cpp:468 +msgid "unknown" +msgstr "άγνωστη" + +#: detaileddialog.cpp:325 detaileddialog.cpp:368 +msgid "%v MHz" +msgstr "%v MHz" + +#: detaileddialog.cpp:330 detaileddialog.cpp:363 dummy.cpp:58 +msgid "deactivated" +msgstr "απενεÏγοποιημένο" + +#: detaileddialog.cpp:395 +msgid "unplugged" +msgstr "μη συνδεμένο" + +#: detaileddialog.cpp:412 +msgid "Current Scheme: " +msgstr "ΤÏέχον Σχήμα: " + +#: detaileddialog.cpp:429 +msgid "Current CPU Frequency Policy:" +msgstr "ΤÏέχουσα Πολιτική Συχνότητας CPU:" + +#: detaileddialog.cpp:435 kpowersave.cpp:193 configure_Dialog.cpp:877 +msgid "Dynamic" +msgstr "Δυναμική" + +#: detaileddialog.cpp:456 +msgid "Critical" +msgstr "ΚÏίσιμο" + +#: detaileddialog.cpp:459 +msgid "Low" +msgstr "Χαμηλή" + +#: detaileddialog.cpp:462 kpowersave.cpp:277 kpowersave.cpp:652 +#: kpowersave.cpp:659 kpowersave.cpp:705 kpowersave.cpp:713 kpowersave.cpp:761 +#: kpowersave.cpp:769 kpowersave.cpp:817 kpowersave.cpp:824 +#: kpowersave.cpp:1131 kpowersave.cpp:1243 kpowersave.cpp:1272 +#: kpowersave.cpp:1610 kpowersave.cpp:1670 kpowersave.cpp:2186 +msgid "Warning" +msgstr "ΠÏοσοχή" + +#: detaileddialog.cpp:465 +msgid "ok" +msgstr "ΟΚ" + +#: detaileddialog.cpp:474 detaileddialog.cpp:477 +msgid "Set brightness supported:" +msgstr "ΥποστηÏίζεται ÏÏθμιση της φωτεινότητας:" + +#: detaileddialog.cpp:475 +msgid "yes" +msgstr "ναι" + +#: detaileddialog.cpp:478 +msgid "no" +msgstr "όχι" + +#: detaileddialog.cpp:481 detaileddialog.cpp:485 +#, fuzzy +msgid "HAL Daemon:" +msgstr "Δαίμονας HAL:" + +#: detaileddialog.cpp:482 +msgid "running" +msgstr "εκτελείται" + +#: detaileddialog.cpp:486 +msgid "not running" +msgstr "δεν εκτελείται" + +#: info_Dialog.cpp:197 +msgid "Information" +msgstr "ΠληÏοφοÏίες" + +#: dummy.cpp:36 +msgid "If the current desktop user is inactive, dim the display to:" +msgstr "" +"Εαν ο Ï„Ïέχων χÏήστης επιφάνειας εÏγασίας είναι ανενεÏγός, μείωσε τη " +"φωτεινότητα σε:" + +#: dummy.cpp:37 +msgid "Enable dim display on inactivity" +msgstr "ΕνεÏγοποίηση φωτεινότητας οθόνης σε ανενεÏγεία" + +#: dummy.cpp:38 +msgid "Blacklist" +msgstr "ΜαÏÏη Λίστα" + +#: dummy.cpp:39 +msgid "" +"Here you can add programs which should, if running, prevent the dimming of " +"the display." +msgstr "" +"Εδώ μποÏείτε να Ï€Ïοσθέσετε Ï€ÏογÏάμματα τα οποία θα μποÏοÏσαν, εαν " +"εκτελεστοÏν, να βοηθήσουν στο μη σβήσιμο της οθόνης." + +#: dummy.cpp:41 +msgid "Would you like to import a predefined blacklist?" +msgstr "Θέλετε να εισάγετε μια Ï€ÏοκαθοÏισμένη μαÏÏη λίστα;" + +#: dummy.cpp:42 +msgid "Disable CPUs/Cores" +msgstr "ΑπενεÏγοποίηση CPUs/ΠυÏήνων" + +#: dummy.cpp:43 +msgid "Max. running CPUs:" +msgstr "Μέγιστος αÏιθμός CPUs που εκτελοÏνται:" + +#: dummy.cpp:44 +msgid "Max. running CPUs/Cores:" +msgstr "Μέγιστος αÏιθμός CPUs/ΠυÏήνων που εκτελοÏνται:" + +#: dummy.cpp:45 +msgid "Min. running CPUs:" +msgstr "Ελάχιστος αÏιθμός CPUs που εκτελοÏνται:" + +#: dummy.cpp:46 +msgid "Min. running CPUs/Cores:" +msgstr "Ελάχιστος αÏιθμός CPUs/ΠυÏήνων που εκτελοÏνται:" + +#: dummy.cpp:47 +#, fuzzy +msgid "Enable to switch off CPUs/cores" +msgstr "ΕνεÏγοποίηση του διακόπτη για CPUs/ΠυÏήνες" + +#: dummy.cpp:48 +msgid "You have a multiprocessor/multicore machine." +msgstr "Έχετε ένα μηχάνημα με πολλοÏÏ‚ επεξεÏγαστές/πυÏήνες." + +#: dummy.cpp:49 +msgid "" +"You can disable CPUs/cores to reduce power consumption and save battery " +"power." +msgstr "" +"ΜποÏείτε να απενεÏγοποιήσετε CPUs/πυÏήνες για να μειώσετε την κατανάλωση " +"ÏεÏματος και να σώσετε αποθέματα μπαταÏίας." + +#: dummy.cpp:50 +msgid "Device" +msgstr "Συσκευή" + +#: dummy.cpp:51 +msgid "Devices" +msgstr "Συσκευές" + +#: dummy.cpp:52 +msgid "Device class" +msgstr "Τάξη συσκευής" + +#: dummy.cpp:53 +msgid "activate" +msgstr "ενεÏγοποίηση" + +#: dummy.cpp:54 +msgid "Activate" +msgstr "ΕνεÏγοποίηση" + +#: dummy.cpp:55 +msgid "deactivate" +msgstr "απενεÏγοποίηση" + +#: dummy.cpp:56 +msgid "Deactivate" +msgstr "ΑπενεÏγοποίηση" + +#: dummy.cpp:57 +msgid "activated" +msgstr "ενεÏγοποιημένο" + +#: dummy.cpp:59 +msgid "do nothing" +msgstr "μη κάνεις τίποτα" + +#: dummy.cpp:60 +msgid "Deactivate following devices:" +msgstr "ΑπενεÏγοποίηση των ακόλουθων συσκευών:" + +#: dummy.cpp:61 +msgid "Activate following devices" +msgstr "ΕνεÏγοποίηση των ακόλουθων συσκευών" + +#: dummy.cpp:62 +msgid "Reactivate following devices" +msgstr "ΕπανενεÏγοποίηση των ακόλουθων συσκευών" + +#: dummy.cpp:63 +msgid "Deactivate following device classes:" +msgstr "ΑπενεÏγοποίηση των ακόλουθων τάξεων συσκευών:" + +#: dummy.cpp:64 +msgid "Activate following devices classes" +msgstr "ΕνεÏγοποίηση των ακόλουθων τάξεων συσκευών" + +#: dummy.cpp:65 +msgid "Reactivate following device classes" +msgstr "ΕπανενεÏγοποίηση των ακόλουθων τάξεων συσκευών" + +#: dummy.cpp:66 +msgid "If the scheme switched all devices are again activated." +msgstr "Εαν αυτό το σχήμα άλλαξε όλες οι συσκευές είναι ξανά ενεÏγοποιημένες." + +#: dummy.cpp:67 +msgid "This is a experimental feature." +msgstr "Αυτό είναι ένα πειÏαματικό χαÏακτηÏιστικό." + +#: dummy.cpp:68 +msgid "If you have problems with this feature, please report them." +msgstr "" +"Εαν έχετε Ï€Ïοβλήματα με αυτό το χαÏακτηÏιστικό, παÏακαλοÏμε να τα αναφέÏετε." + +#: dummy.cpp:69 +msgid "Select one of the available devices and click on " +msgstr "Επιλέξτε μια από τις διαθέσιμες συσκευές και πατήστε on " + +#: dummy.cpp:70 +msgid "Select one of the available device classes and click on " +msgstr "Επιλέξτε μια από τις διαθέσιμες τάξεις συσκευών και πατήστε on " + +#: dummy.cpp:71 +msgid "Select one or more of the available devices and click on " +msgstr "" +"Επιλέξτε μια ή πεÏισσότεÏες από τις διαθέσιμες συσκευές και πατήστε on " + +#: dummy.cpp:72 +msgid "Select one or more of the available device classes and click on " +msgstr "" +"Επιλέξτε μια ή πεÏισσότεÏες από τις διαθέσιμες τάξεις συσκευών και πατήστε " +"on " + +#: dummy.cpp:73 +msgid "" +"Please note: If you e.g. deactivate a network device you may lose your " +"internet connection." +msgstr "" +"ΠαÏακαλώ σημειώστε: Εαν έχετε Ï€.χ. απενεÏγοποιήσει μια δικτυακή συσκευή " +"μποÏεί να χάσετε την διασÏνδεση δικτÏου σας." + +#: dummy.cpp:75 +msgid "" +"Note: If you select this option, the computer will suspend or standby " +"if the current user is inactive for the defined time.

    This feature " +"can also produce problems with some programs, such as video players or cd " +"burner. These programs can be blacklisted by checking Enable scheme-" +"specific blacklist and click Edit Blacklist.... If this does not " +"help, report the problem or deactivate autosuspend.

    Really use this " +"option?" +msgstr "" +"Σημείωση: Εαν επιλέξετε αυτή τη ÏÏθμιση, ο υπολογιστής θα μπει σε " +"ανάκληση ή αναμονή αν ο Ï„Ïέχων χÏήστης είναι αδÏανής για τον καθοÏισμένο " +"χÏόνο.

    Αυτό το χαÏακτηÏιστικό μποÏεί επίσης να δημιουÏγήσει " +"Ï€Ïοβλήματα με κάποια Ï€ÏογÏάμματα όπως αναπαÏαγωγείς βίντεο ή εγγÏαφείς cd. " +"Αυτά τα Ï€ÏογÏάμματα μποÏοÏν να καταλογιστοÏν σε μαÏÏη λίστα με επιλογή του " +"ΕνεÏγοποίηση συγκεκÏιμένου σχήματος ΜαÏÏης Λίστας και πάτημα " +"ΕπεξεÏγασία ΜαÏÏης Λίστας.... Εαν αυτό δε βοηθήσει παÏακαλοÏμε " +"αναφέÏετε το Ï€Ïόβλημα ή απενεÏγοποιήστε την αυτόματη ανάκληση.

    " +"ΠÏάγματι χÏήση αυτής της ÏÏθμισης;" + +#: dummy.cpp:82 +msgid "Try to use only one CPU/Core." +msgstr "" + +#: dummy.cpp:83 +msgid "" +"Reduce power consumption by try to use only one CPU/Core instead of " +"spreading the work over all/multiple CPUs." +msgstr "" + +#: dummy.cpp:87 +msgid "Could not load the global configuration." +msgstr "Δεν ήταν δυνατή η φόÏτωση των γενικών Ïυθμίσεων." + +#: dummy.cpp:88 +msgid "Could not load the requested scheme configuration." +msgstr "Δεν ήταν δυνατή η φόÏτωση της ÏÏθμισης του ÎµÏ€Î¹Î¸Ï…Î¼Î·Ï„Î¿Ï ÏƒÏ‡Î®Î¼Î±Ï„Î¿Ï‚." + +#: dummy.cpp:89 +msgid "Configure the current scheme." +msgstr "Ρυθμίστε το Ï„Ïέχον σχήμα." + +#: dummy.cpp:90 +msgid "Try loading the default configuration." +msgstr "ΠÏοσπάθεια για φόÏτωση της Ï€Ïοεπιλεγμένης ÏÏθμισης." + +#: dummy.cpp:91 +msgid "Maybe the global configuration file is empty or missing." +msgstr "Ίσως το αÏχείο καθολικών Ïυθμίσεων είναι άδειο ή χαμένο." + +#: dummy.cpp:94 +#, fuzzy +msgid "Cannot connect to D-Bus. The D-Bus daemon may not be running." +msgstr "Αδυναμία σÏνδεσης στο D-BUS. Ο δαίμων D-BUS μποÏεί να μην Ï„Ïέχει." + +#: dummy.cpp:95 +msgid "" +"Scheme switched to %1. \n" +" Deactivate following devices: %2" +msgstr "" +"Το σχήμα άλλαξε σε %1. \n" +" ΑπενεÏγοποίηση των ακόλουθων συσκευών: %2" + +#: dummy.cpp:96 +msgid "" +"Scheme switched to %1. \n" +" Activate following devices: %2" +msgstr "" +"Το σχήμα άλλαξε σε %1. \n" +" ΕνεÏγοποίηση ακόλουθων συσκευών: %2" + +#: dummy.cpp:97 +msgid "Report ..." +msgstr "ΑναφοÏά ..." + +#: dummy.cpp:98 +msgid "Suspend to RAM is not supported on your machine." +msgstr "Ανάκληση στη RAM δεν υποστηÏίζεται από το μηχάνημα σας." + +#: dummy.cpp:99 +msgid "Additionally, please mail the output of %1 to %2 . Thanks!" +msgstr "" +"ΕπιπÏόσθετα, παÏακαλώ αλληλογÏαφήστε τα μηνÏματα εξόδου του %1 στο %2 . " +"ΕυχαÏιστώ!" + +#: dummy.cpp:100 +msgid "Power consumption" +msgstr "Κατανάλωση ενέÏγειας" + +#: dummy.cpp:103 +msgid "KScreensaver not found." +msgstr "Δεν βÏέθηκε το KScreensaver." + +#: dummy.cpp:104 +msgid "Try locking with XScreensaver or xlock." +msgstr "ΠÏοσπαθήστε να κλειδώσετε με το XScreensaver ή το xlock." + +#: dummy.cpp:105 +msgid "XScreensaver not found." +msgstr "Το XScreensaver δεν βÏέθηκε." + +#: dummy.cpp:106 +msgid "Try locking the screen with xlock." +msgstr "ΠÏοσπαθήστε να κλειδώσετε την οθόνη με το xlock." + +#: dummy.cpp:107 +msgid "" +"XScreensaver and xlock not found. It is not possible to lock the screen. " +"Check your installation." +msgstr "" +"Το XScreensaver και το xlock δεν βÏέθηκαν. Δεν είναι δυνατό το κλείδωμα της " +"οθόνης. Ελέγξτε την εγκατάσταση σας." + +#: dummy.cpp:111 +msgid "HAL daemon:" +msgstr "Δαίμονας HAL:" + +#: dummy.cpp:112 +#, fuzzy +msgid "D-Bus daemon:" +msgstr "Δαίμονας D-BUS:" + +#: dummy.cpp:113 +msgid "ConsoleKit daemon:" +msgstr "" + +#: dummy.cpp:114 +msgid "Autosuspend activated:" +msgstr "Αυτόματη ανάκληση ενεÏγοποιήθηκε:" + +#: dummy.cpp:115 +#, fuzzy +msgid "Autodimm activated:" +msgstr "Αυτόματη ανάκληση ενεÏγοποιήθηκε:" + +#: dummy.cpp:116 +msgid "enabled" +msgstr "ενεÏγοποιημένο" + +#: dummy.cpp:117 +msgid "Session active:" +msgstr "" + +#: dummy.cpp:120 +msgid "Inactivity detected." +msgstr "" + +#: dummy.cpp:121 +msgid "To stop the %1 press the 'Cancel' button before the countdown expire." +msgstr "" + +#: dummy.cpp:122 +msgid "The computer autosuspend in: " +msgstr "" + +#: dummy.cpp:123 +#, c-format +msgid "The display get dimmed down to %1% in: " +msgstr "" + +#: dummy.cpp:124 +msgid "%1 seconds" +msgstr "" + +#: dummy.cpp:127 +msgid "Could not call %1. The current desktop session is not active." +msgstr "" + +#: dummy.cpp:128 +msgid "Could not set %1. The current desktop session is not active." +msgstr "" + +#: dummy.cpp:129 +msgid "Stopped %1. The current desktop session is now inactive." +msgstr "" + +#: dummy.cpp:130 +msgid "Restarted %1. The current desktop session is now active again." +msgstr "" + +#: log_viewer.cpp:78 +msgid "Form1" +msgstr "" + +#: log_viewer.cpp:79 +msgid "Save As ..." +msgstr "" + +#: log_viewer.cpp:80 +msgid "Close" +msgstr "" + +#: logviewer.cpp:44 +#, fuzzy +msgid "KPowersave Logfile Viewer: %1" +msgstr "Το powersave άλλαξε στο σχήμα: %1" + +#: logviewer.cpp:89 +msgid "File already exist. Overwrite the file?" +msgstr "" + +#: logviewer.cpp:90 logviewer.cpp:97 +msgid "Error while save logfile" +msgstr "" + +#: logviewer.cpp:95 +msgid "File already exist." +msgstr "" + +#: logviewer.cpp:98 +msgid "Try other filename ..." +msgstr "" + +#: suspenddialog.cpp:70 +msgid "Preparing Suspend..." +msgstr "Ετοιμάζοντας το κλείσιμο..." + +#: kpowersave.cpp:168 +msgid "Configure KPowersave..." +msgstr "ΡÏθμιση KPowersave..." + +#: kpowersave.cpp:171 configure_Dialog.cpp:915 +msgid "Configure Notifications..." +msgstr "ΡÏθμιση Ειδοποιήσεων" + +#: kpowersave.cpp:175 +msgid "Start YaST2 Power Management Module..." +msgstr "Εκκίνηση της Μονάδας ΔιαχείÏισης ΕνέÏγειας του YaST2..." + +#: kpowersave.cpp:189 kpowersave.cpp:2106 kpowersave.cpp:2166 +#: kpowersave.cpp:2253 +msgid "Standby" +msgstr "Αναμονή" + +#: kpowersave.cpp:191 kpowersave.cpp:198 +msgid "Set CPU Frequency Policy" +msgstr "ΟÏίστε την Πολιτική Συχνότητας της KME" + +#: kpowersave.cpp:205 kpowersave.cpp:206 +msgid "Set Active Scheme" +msgstr "ΟÏίστε ΕνεÏγό Σχήμα" + +#: kpowersave.cpp:212 +msgid "Disable Actions on Inactivity" +msgstr "ΑπενεÏγοποίηση ΕνεÏγειών σε ΑδÏάνεια" + +#: kpowersave.cpp:219 kpowersave.cpp:229 +msgid "&Help" +msgstr "&Βοήθεια" + +#: kpowersave.cpp:221 +msgid "&KPowersave Handbook" +msgstr "&ΕγχειÏίδιο KPowersave" + +#: kpowersave.cpp:224 +msgid "&Report a bug ..." +msgstr "&ΑναφοÏά ενός σφάλματος ..." + +#: kpowersave.cpp:226 +msgid "&About KPowersave" +msgstr "&Σχετικά με το KPowersave" + +#: kpowersave.cpp:275 kpowersave.cpp:648 kpowersave.cpp:656 kpowersave.cpp:703 +#: kpowersave.cpp:710 kpowersave.cpp:759 kpowersave.cpp:766 kpowersave.cpp:815 +#: kpowersave.cpp:822 kpowersave.cpp:1126 kpowersave.cpp:1241 +#: kpowersave.cpp:1270 kpowersave.cpp:2183 +msgid "WARNING" +msgstr "ΠΡΟΕΙΔΟΠΟΙΗΣΗ" + +#: kpowersave.cpp:275 +msgid "Cannot find any schemes." +msgstr "" + +#: kpowersave.cpp:453 +msgid "No information about battery and AC status available" +msgstr "" +"Δεν υπάÏχουν πληÏοφοÏίες σχετικά με την μπαταÏία και την κατάσταση του AC" + +#: kpowersave.cpp:456 +msgid "Plugged in -- fully charged" +msgstr "Συνδεδεμένο -- πλήÏως φοÏτισμένο" + +#: kpowersave.cpp:460 +msgid "Plugged in" +msgstr "Συνδεδεμένο" + +#: kpowersave.cpp:464 +msgid "Plugged in -- %1% charged (%2:%3 h until full charged)" +msgstr "Συνδεμένο σε -- %1% φοÏτισμένη (%2:%3 h μέχÏι την πλήÏη φόÏτιση)" + +#: kpowersave.cpp:467 +msgid "Plugged in -- %1% charged (%2:%3 remaining hours)" +msgstr "Συνδεδεμένο -- %1% φοÏτισμένο (%2:%3 απομένουσες ÏŽÏες)" + +#: kpowersave.cpp:471 kpowersave.cpp:475 +#, c-format +msgid "Plugged in -- %1% charged" +msgstr "Συνδεδεμένο -- %1% φοÏτισμένο" + +#: kpowersave.cpp:474 +msgid "Plugged in -- no battery" +msgstr "Συνδεδεμένο -- χωÏίς μπαταÏία" + +#: kpowersave.cpp:480 +msgid "Running on batteries -- %1% charged (%2:%3 hours remaining)" +msgstr "ΛειτουÏγία με μπαταÏίες -- %1% φοÏτισμένο(%2:%3 απομένουσες ÏŽÏες)" + +#: kpowersave.cpp:484 +#, c-format +msgid "Running on batteries -- %1% charged" +msgstr "ΛειτουÏγία με μπαταÏίες -- %1% φοÏτισμένο" + +#: kpowersave.cpp:491 +msgid " -- battery is charging" +msgstr " -- η μπαταÏία φοÏτίζει" + +#: kpowersave.cpp:649 kpowersave.cpp:657 +msgid "Could not start YaST Power Management Module. Check if it is installed." +msgstr "" +"Αδυναμία εκκίνησης της Μονάδας ΔιαχείÏισης ΕνέÏγειας του YaST2. Ελέγξτε αν " +"είναι εγκατεστημένη." + +#: kpowersave.cpp:703 +#, fuzzy +msgid "Suspend to disk failed" +msgstr "Suspend to Disk" + +#: kpowersave.cpp:711 +msgid "Suspend to disk disabled by administrator." +msgstr "" +"Η λειτουÏγία suspend to disk είναι απενεÏγοποιημένη από τον διαχειÏιστή." + +#: kpowersave.cpp:759 +#, fuzzy +msgid "Suspend to RAM failed" +msgstr "Suspend to RAM" + +#: kpowersave.cpp:767 +msgid "Suspend to RAM disabled by administrator." +msgstr "" +"Η λειτουÏγία suspend to RAM είναι απενεÏγοποιημένη από τον διαχειÏιστή." + +#: kpowersave.cpp:815 +#, fuzzy +msgid "Standby failed" +msgstr "Αναμονή μετά από:" + +#: kpowersave.cpp:822 +msgid "Standby disabled by administrator." +msgstr "Η λειτουÏγία αναμονής είναι απενεÏγοποιημένη από τον διαχειÏιστή." + +#: kpowersave.cpp:853 +msgid "System is going into suspend mode now" +msgstr "Το σÏστημα αυτή τη στιγμή οδεÏει Ï€Ïος ανάκληση" + +#: kpowersave.cpp:1039 +msgid "Could not call DCOP interface to umount external media." +msgstr "" + +#: kpowersave.cpp:1044 +msgid "" +"Could not umount external media before suspend/standby. \n" +" (Reason: %1)\n" +" \n" +" Would you like to continue suspend/standby anyway? \n" +"(Warning: Continue suspend can cause data loss!)" +msgstr "" + +#: kpowersave.cpp:1052 +msgid "Error while prepare %1" +msgstr "" + +#: kpowersave.cpp:1053 +#, fuzzy +msgid "Suspend anyway" +msgstr "Ανάκληση μετά από:" + +#: kpowersave.cpp:1053 +#, fuzzy +msgid "Cancel suspend" +msgstr "ΕνεÏγοποίηση αυτόματης ανάκλησης" + +#: kpowersave.cpp:1127 +msgid "" +"Could not lock the screen. There may be a problem with the selected \n" +"lock method or something else." +msgstr "" +"Αδυναμία κλειδώματος της οθόνης. ΜποÏεί να υπάÏχει Ï€Ïόβλημα με την " +"επιλεγμένη μέθοδο κλειδώματος ή κάτι άλλο." + +#: kpowersave.cpp:1144 +msgid "The Lid was closed." +msgstr "Το Lid έκλεισε." + +#: kpowersave.cpp:1156 +msgid "The Lid was opened." +msgstr "Το Lid άνοιξε." + +#: kpowersave.cpp:1223 +msgid "Start KPowersave automatically when you log in?" +msgstr "Îα ξεκινά αυτόματα το KPowersave με την σÏνδεση σας;" + +#: kpowersave.cpp:1224 +msgid "Question" +msgstr "ΕÏώτηση" + +#: kpowersave.cpp:1225 +msgid "Start Automatically" +msgstr "Αυτόματη Εκκίνηση" + +#: kpowersave.cpp:1225 +msgid "Do Not Start" +msgstr "Îα Μην Ξεκινήσει" + +#: kpowersave.cpp:1242 +msgid "CPU Freq Policy %1 could not be set." +msgstr "Η πολιτική Συχνότητας CPU %1 δεν ήταν δυνατό να οÏιστεί." + +#: kpowersave.cpp:1271 +msgid "Scheme %1 could not be activated." +msgstr "To σχήμα %1 δεν ήταν δυνατό να ενεÏγοποιηθεί." + +#: kpowersave.cpp:1600 +#, fuzzy +msgid "" +"The D-Bus daemon is not running.\n" +"Starting it will provide full functionality: /etc/init.d/dbus start" +msgstr "" +"Ο δαίμονας DBUS (messagebus) δεν εκτελείται\n" +"Η εκκίνηση του θα σας παÏέχει πλήÏη λειτουÏγικότητα: /etc/init.d/messagebus " +"start" + +#: kpowersave.cpp:1611 +msgid "Don't show this message again." +msgstr "Îα μη ξαναεμφανιστεί αυτό το μήνυμα πάλι." + +#: kpowersave.cpp:1637 +msgid "ERROR" +msgstr "ΣΦΑΛΜΑ" + +#: kpowersave.cpp:1638 +msgid "Could not get information from HAL. The haldaemon is maybe not running." +msgstr "" +"Αδυναμία λήψης πληÏοφοÏιών από HAL. Ο haldaemon μποÏεί να μην εκτελείται." + +#: kpowersave.cpp:1641 +msgid "Error" +msgstr "Σφάλμα" + +#: kpowersave.cpp:1912 +msgid "" +"Battery state changed to WARNING -- remaining time: %1 hours and %2 minutes." +msgstr "" +"Η κατάσταση μπαταÏίας άλλαξε σε ΠΡΟΕΙΔΟΠΟΙΗΣΗ -- απομένων χÏόνος: %1 ÏŽÏες " +"και %2 λεπτά." + +#: kpowersave.cpp:1921 +msgid "" +"Battery state changed to LOW -- remaining time: %1 hours and %2 minutes." +msgstr "" +"Η κατάσταση μπαταÏίας άλλαξε σε ΧΑΜΗΛΗ -- απομένων χÏόνος:%1 ÏŽÏες και %2 " +"λεπτά." + +#: kpowersave.cpp:1932 +#, fuzzy +msgid "" +"Battery state changed to CRITICAL -- remaining time: %1 hours and %2 " +"minutes.\n" +"Shut down your system or plug in the power cable immediately. Otherwise the " +"machine\n" +"will go shutdown in 30 seconds" +msgstr "" +"Η κατάσταση μπαταÏίας άλλαξε σε ΚΡΙΣΙΜΗ -- απομένων χÏόνος:%1 ÏŽÏες και %2 " +"λεπτά. ΤεÏματίστε το σÏστημα σας ή συνδέστε αμέσως το καλώδιο ÏεÏματος." + +#: kpowersave.cpp:1943 +#, fuzzy +msgid "" +"Battery state changed to CRITICAL -- remaining time: %1 hours and %2 " +"minutes.\n" +"Shut down your system or plug in the power cable immediately." +msgstr "" +"Η κατάσταση μπαταÏίας άλλαξε σε ΚΡΙΣΙΜΗ -- απομένων χÏόνος:%1 ÏŽÏες και %2 " +"λεπτά. ΤεÏματίστε το σÏστημα σας ή συνδέστε αμέσως το καλώδιο ÏεÏματος." + +#: kpowersave.cpp:2041 +msgid "AC adapter plugged in" +msgstr "Ο μετασχηματιστής AC είναι συνδεμένος" + +#: kpowersave.cpp:2043 +msgid "AC adapter unplugged" +msgstr "Ο μετασχηματιστής AC δεν είναι συνδεμένος" + +#: kpowersave.cpp:2078 +#, fuzzy +msgid "Switched to scheme: %1" +msgstr "Το powersave άλλαξε στο σχήμα: %1" + +#: kpowersave.cpp:2095 kpowersave.cpp:2100 kpowersave.cpp:2105 +msgid "System is going into %1 now." +msgstr "Το σÏστημα οδεÏει Ï€Ïος %1 Ï„ÏŽÏα." + +#: kpowersave.cpp:2155 kpowersave.cpp:2160 kpowersave.cpp:2165 +msgid "System is resumed from %1." +msgstr "Το σÏστημα επανέÏχεται από %1." + +#: kpowersave.cpp:2184 +msgid "Could not remount (all) external storage media." +msgstr "" + +#: kpowersave.cpp:2192 +msgid "An unknown error occurred while %1. The errorcode is: '%2'" +msgstr "" + +#: kpowersave.cpp:2197 +msgid "Do you want to have a look at the log file?" +msgstr "" + +#: kpowersave.cpp:2198 kpowersave.cpp:2224 +msgid "Error while %1" +msgstr "" + +#: configure_Dialog.cpp:831 +msgid "KPowersave Settings" +msgstr "Ρυθμίσεις KPowersave" + +#: configure_Dialog.cpp:832 +#, fuzzy +msgid "Apply" +msgstr "&ΕφαÏμογή" + +#: configure_Dialog.cpp:834 +#, fuzzy +msgid "Help" +msgstr "&Βοήθεια" + +#: configure_Dialog.cpp:840 +msgid "Enable specific display power management" +msgstr "ΕνεÏγοποίηση καθοÏισμένης εμφάνισης διαχείÏισης ενέÏγειας" + +#: configure_Dialog.cpp:841 +msgid "Standby after:" +msgstr "Αναμονή μετά από:" + +#: configure_Dialog.cpp:842 +msgid "Only blank the screen" +msgstr "Μόνο καθαÏισμός οθόνης" + +#: configure_Dialog.cpp:843 +msgid "Disable screen saver" +msgstr "ΑπενεÏγοποίηση Ï€ÏοφÏλαξης οθόνης" + +#: configure_Dialog.cpp:844 +msgid "Enable specific screensaver settings" +msgstr "ΕνεÏγοποίηση βασικών Ïυθμίσεων Ï€Ïοστασίας οθόνης" + +#: configure_Dialog.cpp:845 +msgid "Suspend after:" +msgstr "Ανάκληση μετά από:" + +#: configure_Dialog.cpp:846 +msgid "Power off after:" +msgstr "ΤεÏματισμός μετά από:" + +#: configure_Dialog.cpp:847 +msgid "Disable display power management" +msgstr "ΑπενεÏγοποίηση διαχείÏισης ενέÏγειας οθόνης" + +#: configure_Dialog.cpp:848 configure_Dialog.cpp:849 configure_Dialog.cpp:850 +#: configure_Dialog.cpp:862 configure_Dialog.cpp:873 +msgid " min" +msgstr " λεπ" + +#: configure_Dialog.cpp:851 +msgid "Screen Saver and DPMS" +msgstr "ΠÏοστασία Οθόνης και DPMS" + +#: configure_Dialog.cpp:852 +msgid "Settings" +msgstr "Ρυθμίσεις" + +#: configure_Dialog.cpp:853 +msgid "Reset" +msgstr "Επανεκκίνηση" + +#: configure_Dialog.cpp:855 +#, fuzzy +msgid "Enable scheme specific Brightness settings" +msgstr "ΕνεÏγοποίηση σχήματος συγκεκÏιμένων Ïυθμίσεων &Φωτεινότητας" + +#: configure_Dialog.cpp:858 +msgid "Brightness" +msgstr "Φωτεινότητα" + +#: configure_Dialog.cpp:859 +msgid "Enable autosuspend" +msgstr "ΕνεÏγοποίηση αυτόματης ανάκλησης" + +#: configure_Dialog.cpp:860 configure_Dialog.cpp:867 +msgid "Enable scheme-specific blacklist" +msgstr "ΕνεÏγοποίηση μαÏÏης λίστας συγκεκÏιμένου σχήματος" + +#: configure_Dialog.cpp:861 configure_Dialog.cpp:870 +msgid "after:" +msgstr "μετά από:" + +#: configure_Dialog.cpp:863 configure_Dialog.cpp:868 +msgid "Edit Blacklist..." +msgstr "ΕπεξεÏγασία ΜαÏÏης Λίστας..." + +#: configure_Dialog.cpp:864 configure_Dialog.cpp:869 +msgid "If the current desktop user is inactive the computer will:" +msgstr "Εαν η Ï„Ïέχουσα επιφάνεια εÏγασίας είναι αδÏανής ο υπολογιστής θα:" + +#: configure_Dialog.cpp:865 +msgid "Autosuspend" +msgstr "Αυτόματη ανάκληση" + +#: configure_Dialog.cpp:866 +#, fuzzy +msgid "Enable autodimm the display" +msgstr "ΕνεÏγοποίηση φωτεινότητας οθόνης σε ανενεÏγεία" + +#: configure_Dialog.cpp:871 configure_Dialog.cpp:893 configure_Dialog.cpp:894 +#: configure_Dialog.cpp:895 configure_Dialog.cpp:896 configure_Dialog.cpp:897 +#: configure_Dialog.cpp:898 +msgid " %" +msgstr "" + +#: configure_Dialog.cpp:872 +msgid "dimm to:" +msgstr "" + +#: configure_Dialog.cpp:874 +msgid "Autodimm" +msgstr "" + +#: configure_Dialog.cpp:879 +#, fuzzy +msgid "Set CPU Frequency Policy:" +msgstr "ΟÏίστε την Πολιτική Συχνότητας της KME" + +#: configure_Dialog.cpp:880 +#, fuzzy +msgid "CPU Frequency Policy" +msgstr "ΟÏίστε την Πολιτική Συχνότητας της KME" + +#: configure_Dialog.cpp:881 +msgid "Disable Notifications" +msgstr "ΑπενεÏγοποίηση Ειδοποιήσεων" + +#: configure_Dialog.cpp:884 +msgid "New" +msgstr "" + +#: configure_Dialog.cpp:885 +msgid "Scheme Settings" +msgstr "Ρυθμίσεις Σχήματος" + +#: configure_Dialog.cpp:886 +msgid "" +"Define the battery warning levels (in percentage) and the releated action if " +"the level get reached:" +msgstr "" + +#: configure_Dialog.cpp:887 +#, fuzzy +msgid "Warning level:" +msgstr "ΠÏοσοχή" + +#: configure_Dialog.cpp:888 +msgid "Low level:" +msgstr "" + +#: configure_Dialog.cpp:889 +#, fuzzy +msgid "Critical level:" +msgstr "ΚÏίσιμο" + +#: configure_Dialog.cpp:890 configure_Dialog.cpp:891 configure_Dialog.cpp:892 +msgid "if reached call:" +msgstr "" + +#: configure_Dialog.cpp:899 +#, fuzzy +msgid "Battery" +msgstr "ΜπαταÏία %1" + +#: configure_Dialog.cpp:900 +msgid "" +"Define the action which should be executed if the related button get pressed:" +msgstr "" + +#: configure_Dialog.cpp:901 +#, fuzzy +msgid "Suspend-to-disk Button:" +msgstr "Suspend to Disk" + +#: configure_Dialog.cpp:902 +msgid "Sleep button:" +msgstr "" + +#: configure_Dialog.cpp:903 +msgid "Lid close Button:" +msgstr "" + +#: configure_Dialog.cpp:904 +#, fuzzy +msgid "Power Button:" +msgstr "Κατανάλωση ενέÏγειας" + +#: configure_Dialog.cpp:905 +msgid "Button Events" +msgstr "" + +#: configure_Dialog.cpp:906 +msgid "" +"Select the following schemes as default if the system is running on AC or on " +"batteries." +msgstr "" + +#: configure_Dialog.cpp:907 +#, fuzzy +msgid "Battery scheme:" +msgstr "Κατάσταση μπαταÏίας:" + +#: configure_Dialog.cpp:908 +#, fuzzy +msgid "AC scheme:" +msgstr "Σχήμα: " + +#: configure_Dialog.cpp:909 +msgid "Default Schemes" +msgstr "" + +#: configure_Dialog.cpp:910 +msgid "Lock screen before suspend or standby" +msgstr "Κλείδωμα οθόνης Ï€Ïιν την ανάκληση ή την αναμονή" + +#: configure_Dialog.cpp:911 +msgid "Lock screen with:" +msgstr "Κλείδωμα οθόνης με:" + +#: configure_Dialog.cpp:912 +msgid "Lock screen on lid close" +msgstr "Κλείδωμα οθόνης στο κλείσιμο του lid" + +#: configure_Dialog.cpp:913 +msgid "Lock Screen" +msgstr "Κλείδωμα Οθόνης" + +#: configure_Dialog.cpp:914 +msgid "Notifications" +msgstr "Ειδοποιήσεις" + +#: configure_Dialog.cpp:916 +msgid "Autostart" +msgstr "Αυτόματη εκκίνηση" + +#: configure_Dialog.cpp:917 +msgid "Never ask me again on exit" +msgstr "Îα μη ξαναεÏωτηθώ στην έξοδο" + +#: configure_Dialog.cpp:918 +msgid "KPowersave starts automatically on login" +msgstr "Το KPowersave ξεκινά αυτόματα με την είσοδο" + +#: configure_Dialog.cpp:919 +#, fuzzy +msgid "General Blacklists" +msgstr "Γενική ΜαÏÏη Λίστα" + +#: configure_Dialog.cpp:920 +#, fuzzy +msgid "Edit Autosuspend Blacklist..." +msgstr "ΕπεξεÏγασία ΜαÏÏης Λίστας Αυτόματου Κλεισίματος" + +#: configure_Dialog.cpp:921 +#, fuzzy +msgid "Edit Autodimm Blacklist..." +msgstr "ΕπεξεÏγασία ΜαÏÏης Λίστας..." + +#: configure_Dialog.cpp:923 +msgid "General Settings" +msgstr "Γενικές Ρυθμίσεις" + +#~ msgid "Modules unloaded:" +#~ msgstr "Οι μονάδες αποφοÏτώθηκαν:" + +#~ msgid "Powersave Daemon:" +#~ msgstr "Δαίμονας powersave:" + +#~ msgid "" +#~ "Inactivity detected.\n" +#~ " Machine autosuspend in %1 seconds." +#~ msgstr "" +#~ "ΑνιχνεÏθηκε αδÏάνεια.\n" +#~ " Αυτόματο κλείσιμο μηχανής σε %1 δευτεÏόλεπτα." + +#~ msgid "" +#~ "Inactivity detected.\n" +#~ " Dim display in %1 seconds to %2%." +#~ msgstr "" +#~ "ΑνιχνεÏθηκε αδÏάνεια.\n" +#~ " Η φωτεινότητα θα μειωθεί σε %1 δευτεÏόλεπτα στο %2%." + +#~ msgid "" +#~ "If you know that it should work, you might override this detection with " +#~ "setting SUSPEND2RAM_FORCE=\"yes\" in /etc/powersave/sleep." +#~ msgstr "" +#~ "Εαν ξέÏετε οτι θα δουλέψει σωστά, μποÏείτε να παÏαβλέψετε αυτή την " +#~ "ανίχνευση με τον οÏισμό SUSPEND2RAM_FORCE=\"yes\" στο /etc/powersave/" +#~ "sleep." + +#~ msgid "" +#~ "Cannot find any schemes. Maybe the powersave daemon is not running.\n" +#~ "Starting it with '/etc/init.d/powersaved start' should help." +#~ msgstr "" +#~ "Δεν μποÏοÏν να βÏεθοÏν σχήματα. Ίσως ο δαίμονας powersave δεν " +#~ "εκτελείται.\n" +#~ "Η εκκίνηση του θα αυξήσει την απόδοση: /etc/init.d/powersaved start" + +#~ msgid "" +#~ "The powersave daemon must be running in the background for a suspend to " +#~ "disk." +#~ msgstr "" +#~ "Η αναμονή απαιτεί ο δαίμονας powersave να εκτελείται στο παÏασκήνιο." + +#~ msgid "" +#~ "The powersave daemon must be running in the background for a suspend to " +#~ "RAM." +#~ msgstr "" +#~ "Η λειτουÏγία 'suspend to RAM' απαιτεί τον powersave δαίμονα να εκτελείται " +#~ "στο παÏασκήνιο." + +#~ msgid "The powersave daemon must be running in the background for standby." +#~ msgstr "" +#~ "Η αναμονή απαιτεί τον powersave δαίμονα να εκτελείται στο παÏασκήνιο." + +#~ msgid "" +#~ "This scheme support suspend and disable devices. This is a EXPERIMENTAL " +#~ "feature of powersave to save more power on laptops. If you select this " +#~ "scheme you can get in trouble (e.g. kernel oops). You can configure this " +#~ "feature currently in the powersave config files. Please report all " +#~ "problems via http://www.opensuse.org/Submit_a_bug \n" +#~ "\n" +#~ "Would you switch the scheme (on your own risk)?" +#~ msgstr "" +#~ "Αυτό το σχήμα υποστηÏίζει την ανάκληση ή την απενεÏγοποίηση συσκευών. " +#~ "Αυτό είναι ΠΕΙΡΑΜΑΤΙΚΟ χαÏακτηÏιστικό του powersave για να σωθεί " +#~ "πεÏισσότεÏη ενέÏγεια στα laptops. Εαν επιλέξετε αυτό το σχήμα μποÏεί να " +#~ "βÏεθείτε σε μπελάδες (Ï€.χ. kernel oops). ΜποÏείτε να Ïυθμίσετε αυτό το " +#~ "χαÏακτηÏιστικό στα αÏχεία Ïυθμίσεων του powersave. ΠαÏακαλοÏμε αναφέÏετε " +#~ "όλα τα σφάλματα δια μέσου τουhttp://www.opensuse.org/Submit_a_bug \n" +#~ "\n" +#~ "Θέλετε να αλλάξετε σε αυτό το σχήμα (με δικό σας Ïίσκο);" + +#~ msgid "Continue" +#~ msgstr "Συνέχεια" + +#~ msgid "" +#~ "The powersave daemon is not running.\n" +#~ "Starting it will improve performance: /etc/init.d/powersaved start" +#~ msgstr "" +#~ "Ο powersave δαίμονας δεν εκτελείται.\n" +#~ "Η εκκίνηση του θα αυξήσει την απόδοση: /etc/init.d/powersaved start" + +#~ msgid "checking resume kernel" +#~ msgstr "γενικός έλεγχος πυÏήνα" + +#~ msgid "checking for swap partition" +#~ msgstr "έλεγχος για κατάτμηση swap" + +#~ msgid "unmounting FAT/NTFS partitions" +#~ msgstr "αποπÏοσάÏτηση κατατμήσεων FAT/NTFS" + +#~ msgid "stopping services" +#~ msgstr "τεÏματισμός υπηÏεσιών" + +#~ msgid "stopping service:" +#~ msgstr "τεÏματισμός υπηÏεσίας:" + +#~ msgid "unloading modules" +#~ msgstr "αποφόÏτωση μονάδων" + +#~ msgid "unloading module:" +#~ msgstr "αποφόÏτωση μονάδας:" + +#~ msgid "syncing file systems" +#~ msgstr "συγχÏονισμός συστημάτων αÏχείων" + +#~ msgid "preparing bootloader" +#~ msgstr "Ï€Ïοετοιμασία διαχειÏιστή εκκίνησης" + +#~ msgid "Edit General Blacklist..." +#~ msgstr "ΕπεξεÏγασίας Γενικής ΜαÏÏης Λίστας..." + +#~ msgid " -- %1 MHz" +#~ msgstr " -- %1 MHz" + +#~ msgid "Enabled" +#~ msgstr "ΕνεÏγοποιημένο" + +#~ msgid "In" +#~ msgstr "Μέσα" + +#~ msgid "Out" +#~ msgstr "Έξω" + +#~ msgid "" +#~ "You are not permitted to connect to the powersave daemon via DBUS. Please " +#~ "check your DBUS configuration and installation. " +#~ msgstr "" +#~ "Δεν σας επιτÏέπεται να συνδεθείτε στον δαίμονα powersave δια μέσου DBUS. " +#~ "ΠαÏακαλώ ελέγξτε τις Ïυθμίσεις DBUS και την εγκατάσταση του." diff --git a/po/es.po b/po/es.po new file mode 100644 index 0000000..b1a08ed --- /dev/null +++ b/po/es.po @@ -0,0 +1,1644 @@ +# translation of es.po to +# translation of kpowersave.po to +# This file is distributed under the same license as the PACKAGE package. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER. +# Antje Faber , 2004. +# Ines Pozo , 2005. +# +msgid "" +msgstr "" +"Project-Id-Version: es\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2007-08-10 03:16+0200\n" +"PO-Revision-Date: 2006-06-01 09:22\n" +"Last-Translator: Novell Language \n" +"Language-Team: Novell Language \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: KBabel 1.3.1\n" + +#: detailed_Dialog.cpp:228 +#, fuzzy +msgid "kpowersave" +msgstr "Powersave" + +#: detailed_Dialog.cpp:229 +msgid "General Information" +msgstr "Información general" + +#: detailed_Dialog.cpp:232 +msgid "Battery Status" +msgstr "Estado de la batería" + +#: detailed_Dialog.cpp:233 +msgid "AC Adapter" +msgstr "Adaptador de CA" + +#: detailed_Dialog.cpp:234 detaileddialog.cpp:391 +msgid "plugged in" +msgstr "conectado" + +#: detailed_Dialog.cpp:235 +#, fuzzy +msgid "Power Consumtion: " +msgstr "Consumo de energía" + +#: detailed_Dialog.cpp:237 +msgid "Processor Status" +msgstr "Estado del procesador" + +#: detailed_Dialog.cpp:238 blacklistedit_Dialog.cpp:130 info_Dialog.cpp:198 +#: configure_Dialog.cpp:838 +#, fuzzy +msgid "OK" +msgstr "&Aceptar" + +#: blacklisteditdialog.cpp:60 +msgid "General Blacklist" +msgstr "Lista negra general" + +#: blacklisteditdialog.cpp:63 +msgid "Scheme: " +msgstr "Esquema:" + +#: blacklisteditdialog.cpp:114 +msgid "Selected entry removed." +msgstr "Entrada seleccionada eliminada." + +#: blacklisteditdialog.cpp:117 +msgid "Could not remove the selected entry." +msgstr "No es posible eliminar la entrada seleccionada." + +#: blacklisteditdialog.cpp:137 +msgid "Inserted new entry." +msgstr "Nueva entrada insertada." + +#: blacklisteditdialog.cpp:141 +msgid "Entry exists already. Did not insert new entry." +msgstr "La entrada ya existe. No se ha insertado la nueva entrada." + +#: blacklisteditdialog.cpp:144 +msgid "Empty entry was not inserted." +msgstr "No se ha insertado la entrada vacía." + +#: inactivity.cpp:298 +msgid "" +"Could not start 'pidof'. Could not autosuspend the machine.\n" +"Please check your installation." +msgstr "" +"No es posible iniciar \"pidof\". No es posible suspender automáticamente el " +"equipo.\n" +"Compruebe la instalación." + +#: blacklistedit_Dialog.cpp:129 +msgid "Autosuspend Blacklist Edit" +msgstr "Edición de lista negra de suspensión automática" + +#: blacklistedit_Dialog.cpp:132 configuredialog.cpp:1079 +#: configure_Dialog.cpp:836 +#, fuzzy +msgid "Cancel" +msgstr "&Cancelar" + +#: blacklistedit_Dialog.cpp:135 +msgid "Add" +msgstr "Añadir" + +#: blacklistedit_Dialog.cpp:136 +#, fuzzy +msgid "Remove" +msgstr "&Eliminar" + +#: infodialog.cpp:76 infodialog.cpp:78 main.cpp:55 +#, fuzzy +msgid "KPowersave" +msgstr "Powersave" + +#: configuredialog.cpp:116 configuredialog.cpp:121 configuredialog.cpp:721 +msgid " - not supported" +msgstr "" + +#: configuredialog.cpp:150 configuredialog.cpp:317 detaileddialog.cpp:432 +#: kpowersave.cpp:192 settings.cpp:66 configure_Dialog.cpp:876 +msgid "Performance" +msgstr "Rendimiento" + +#: configuredialog.cpp:154 configuredialog.cpp:319 detaileddialog.cpp:438 +#: kpowersave.cpp:194 settings.cpp:68 configure_Dialog.cpp:878 +msgid "Powersave" +msgstr "Powersave" + +#: configuredialog.cpp:159 configuredialog.cpp:321 kpowersave.cpp:1478 +#: settings.cpp:70 +msgid "Presentation" +msgstr "Presentación" + +#: configuredialog.cpp:164 configuredialog.cpp:323 kpowersave.cpp:1473 +#: settings.cpp:72 +msgid "Acoustic" +msgstr "Acústico" + +#: configuredialog.cpp:169 configuredialog.cpp:171 configuredialog.cpp:172 +#: configuredialog.cpp:173 kpowersave.cpp:1484 +msgid "Advanced Powersave" +msgstr "Ahorro de energía avanzado" + +#: configuredialog.cpp:271 +msgid "" +"This enables specific screen saver settings. \n" +"Note: If selected, the global screen saver settings are \n" +"overwritten while kpowersave runs." +msgstr "" +"Habilita ajustes específicos del salvapantallas. \n" +"Nota: si está seleccionado, los ajustes globales del salvapantallas se\n" +"sobrescribirán cuando se ejecute kpowersave." + +#: configuredialog.cpp:274 +msgid "" +"This disables the screen saver. \n" +"Note: If selected, the global screen saver settings are \n" +"overwritten while kpowersave runs." +msgstr "" +"Inhabilita el salvapantallas. \n" +"Nota: si está seleccionado, los ajustes globales del salvapantallas se\n" +"sobrescribirán cuando se ejecute kpowersave." + +#: configuredialog.cpp:277 +msgid "" +"This blanks the screen instead of using a specific screen saver. \n" +"Note: This may work only with KScreensaver." +msgstr "" +"Pone en blanco la pantalla en lugar de utilizar un salvapantallas " +"específico. \n" +"Nota: puede que sólo funcione con KScreensaver." + +#: configuredialog.cpp:279 +msgid "" +"This enables specific DPMS settings. \n" +"Note: If selected, the global DPMS settings are \n" +"overwritten while kpowersave runs." +msgstr "" +"Habilita ajustes DPMS específicos. \n" +"Nota: si está seleccionado, los ajustes DPMS globales se\n" +"sobrescribirán cuando se ejecute kpowersave." + +#: configuredialog.cpp:282 +msgid "This disables DPMS support." +msgstr "Esto inhabilita el soporte DPMS." + +#: configuredialog.cpp:283 +msgid "If selected, the screen is locked on suspend or standby." +msgstr "Si se selecciona, la pantalla se bloquea en suspensión o en stand-by." + +#: configuredialog.cpp:284 +msgid "If selected, the screen is locked if the lid close event is triggered." +msgstr "" +"Si se selecciona, la pantalla se bloquea en caso de que se desencadene la " +"acción de cerrar la cubierta." + +#: configuredialog.cpp:286 +msgid "" +"Check this box to enable or disable automatic suspension of the computer." +msgstr "" +"Marque esta casilla de verificación para habilitar o inhabilitar la " +"suspensión automática del equipo." + +#: configuredialog.cpp:288 +msgid "" +"Activate this action if the user was inactive for the defined time \n" +"(greater than 0 minutes). If empty, nothing happens." +msgstr "" +"Active esta acción si el usuario ha estado inactivo durante el tiempo " +"definido \n" +"(más de 0 minutos). Si está vacío, no ocurre nada." + +#: configuredialog.cpp:291 +msgid "All scheme-related screen saver and DPMS settings." +msgstr "" +"Todos los ajustes DPMS y de salvapantallas relacionados con el esquema." + +#: configuredialog.cpp:292 +msgid "All scheme-related display brightness settings." +msgstr "Todos los ajustes de brillo de pantalla relacionados con el esquema." + +#: configuredialog.cpp:293 +msgid "All scheme-related automatic suspend settings." +msgstr "" +"Todos los ajustes de suspensión automática relacionados con el esquema." + +#: configuredialog.cpp:295 +msgid "" +"Here you can change the brightness of your display. \n" +"Use the slider to change the brightness directly for \n" +"testing. To reset back to previous level, please press \n" +"the 'Reset' button. " +msgstr "" +"Aquí puede modificar el brillo de la pantalla. \n" +"Utilice el control deslizante para cambiar el brillo directamente y " +"realizar\n" +" pruebas. Para volver a un nivel anterior, haga clic en el botón\n" +" \"Reiniciar\". " + +#: configuredialog.cpp:299 +msgid "Use this button to set back the slider and the display brightness." +msgstr "" +"Utilice este botón para volver a definir el control deslizante y el brillo " +"de la pantalla." + +#: configuredialog.cpp:352 +msgid "Press this button to delete the selected scheme." +msgstr "" + +#: configuredialog.cpp:357 +msgid "You can't delete the current AC or battery scheme." +msgstr "" + +#: configuredialog.cpp:363 +msgid "You can't delete this default scheme." +msgstr "" + +#: configuredialog.cpp:546 +msgid "" +"Your hardware supports to change the brightness. The values of the slider " +"are in percent and mapped to the available brightness levels of your " +"hardware." +msgstr "" +"El hardware es compatible con el cambio de brillo. Los valores del control " +"deslizante aparecen en forma de porcentaje y se asignan a los niveles de " +"brillo disponibles en el hardware." + +#: configuredialog.cpp:553 +msgid "" +"Your Hardware currently not support changing the brightness of your display." +msgstr "El hardware no es compatible con el cambio del brillo de la pantalla." + +#: configuredialog.cpp:664 +msgid "Select Automatically" +msgstr "seleccionar automáticamente" + +#: configuredialog.cpp:665 +msgid "KScreensaver" +msgstr "KScreensaver" + +#: configuredialog.cpp:666 +msgid "XScreensaver" +msgstr "XScreensaver" + +#: configuredialog.cpp:667 +msgid "xlock" +msgstr "xlock" + +#: configuredialog.cpp:668 +#, fuzzy +msgid "GNOME Screensaver" +msgstr "XScreensaver" + +#: configuredialog.cpp:930 +msgid "" +"There are unsaved changes in the active scheme.\n" +"Apply the changes before jumping to the next scheme or discard the changes?" +msgstr "" +"Existen cambios sin guardar en el esquema activo.\n" +"¿Desea aplicar los cambios antes de pasar al próximo esquema o prefiere " +"desechar los cambios?" + +#: configuredialog.cpp:933 configuredialog.cpp:983 +msgid "Unsaved Changes" +msgstr "Cambios sin guardar" + +#: configuredialog.cpp:981 +msgid "" +"There are unsaved changes.\n" +"Apply the changes before cancel or discard the changes?" +msgstr "" +"Existen cambios sin guardar.\n" +"¿Desea aplicar los cambios antes de cancelar o prefiere desecharlos?" + +#: configuredialog.cpp:1032 +msgid "Please insert a name for the new scheme:" +msgstr "" + +#: configuredialog.cpp:1038 +#, fuzzy +msgid "KPowersave Configuration" +msgstr "Cuadro de diálogo de información de KPowersave" + +#: configuredialog.cpp:1046 +msgid "Error: A scheme with this name already exist.\n" +msgstr "" + +#: configuredialog.cpp:1076 +msgid "Do you really want to delete the %1 scheme?" +msgstr "" + +#: configuredialog.cpp:1078 +#, fuzzy +msgid "Confirm delete scheme" +msgstr "Configure el esquema actual." + +#: configuredialog.cpp:1079 configure_Dialog.cpp:883 +msgid "Delete" +msgstr "" + +#: configuredialog.cpp:1095 +#, fuzzy +msgid "Could not delete the selected scheme." +msgstr "No es posible eliminar la entrada seleccionada." + +#: configuredialog.cpp:1324 +msgid "" +"Note: If you select this option, the computer will suspend or standby " +"if the current user is inactive for the defined time even if somebody is " +"logged in remotely to the X server.

    This feature can also produce " +"problems with some programs, such as video players or cd burner. These " +"programs can be blacklisted by checking Enable scheme-specific blacklist and click Edit Blacklist.... If this does not help, report the " +"problem or deactivate autosuspend.

    Really use this option?" +msgstr "" +"Nota: si selecciona esta opción, el equipo pasará al estado de " +"suspensión o stand-by si el usuario actual permanecerá inactivo durante el " +"período de tiempo definido, aunque alguien inicie una sesión remota en el " +"servidor X.

    Esta función también puede producir problemas con " +"algunos programas, como reproductores de vídeo o programas de grabación de " +"CD. Estos programas pueden incluirse en una lista negra marcando " +"Habilitar lista negra de esquema específico y haciendo clic en " +"Editar lista negra.... Si esto no ayuda, informe del problema o " +"desactive la suspensión automática.

    ¿Está seguro de que desea " +"utilizar esta opción?" + +#: configuredialog.cpp:1402 configuredialog.cpp:1532 +msgid "" +"The blacklist of the selected scheme is empty. Import the general blacklist?" +msgstr "" +"La lista negra del esquema seleccionado está vacía. ¿Desea importar la lista " +"negra general?" + +#: configuredialog.cpp:1404 configuredialog.cpp:1534 +msgid "Import" +msgstr "Importar" + +#: configuredialog.cpp:1404 configuredialog.cpp:1534 +msgid "Do Not Import" +msgstr "No importar" + +#: configuredialog.cpp:1416 +#, fuzzy +msgid "General Autosuspend Blacklist" +msgstr "Edición de lista negra de suspensión automática" + +#: configuredialog.cpp:1546 +#, fuzzy +msgid "General Autodimm Blacklist" +msgstr "Lista negra general" + +#: configuredialog.cpp:1779 configuredialog.cpp:1816 +msgid "Shutdown" +msgstr "" + +#: configuredialog.cpp:1781 configuredialog.cpp:1819 +msgid "Logout Dialog" +msgstr "" + +#: configuredialog.cpp:1784 configuredialog.cpp:1822 kpowersave.cpp:182 +#: kpowersave.cpp:2096 kpowersave.cpp:2156 kpowersave.cpp:2247 +msgid "Suspend to Disk" +msgstr "Suspender en disco" + +#: configuredialog.cpp:1787 configuredialog.cpp:1825 kpowersave.cpp:186 +#: kpowersave.cpp:2101 kpowersave.cpp:2161 kpowersave.cpp:2250 +msgid "Suspend to RAM" +msgstr "Suspender en RAM" + +#: configuredialog.cpp:1790 configuredialog.cpp:1828 +#, fuzzy +msgid "CPU Powersave policy" +msgstr "Powersave" + +#: configuredialog.cpp:1793 configuredialog.cpp:1831 +msgid "CPU Dynamic policy" +msgstr "" + +#: configuredialog.cpp:1796 configuredialog.cpp:1834 +#, fuzzy +msgid "CPU Performance policy" +msgstr "Rendimiento" + +#: configuredialog.cpp:1799 configuredialog.cpp:1837 +#, fuzzy +msgid "Set Brightness to" +msgstr "Brillo" + +#: main.cpp:43 +#, fuzzy +msgid "KDE Frontend for Power Management, Battery Monitoring and Suspend" +msgstr "" +"Interfaz de KDE para el paquete, el monitor de batería y la compatibilidad " +"con la gestión de energía general de powersave" + +#: main.cpp:45 +#, fuzzy +msgid "Force a new check for ACPI support" +msgstr "Forzar una nueva comprobación de compatibilidad ACPI\n" + +#: main.cpp:46 +msgid "Trace function entry and leave points for debug\n" +msgstr "" + +#: main.cpp:59 +msgid "Current maintainer" +msgstr "Encargado de mantenimiento actual" + +#: main.cpp:62 +#, fuzzy +msgid "Powersave developer and for D-Bus integration" +msgstr "Desarrollador de powersave e integración DBUS" + +#: main.cpp:64 +msgid "Powersave developer and tester" +msgstr "Desarrollo y pruebas de powersave" + +#: main.cpp:66 +msgid "Added basic detailed dialog" +msgstr "Cuadro de diálogo detallado básico añadido" + +#: main.cpp:67 +msgid "Packaging Debian and Ubuntu" +msgstr "Empaquetando Debian y Ubuntu" + +#: detaileddialog.cpp:61 +msgid "KPowersave Information Dialog" +msgstr "Cuadro de diálogo de información de KPowersave" + +#: detaileddialog.cpp:65 configure_Dialog.cpp:882 configure_Dialog.cpp:922 +msgid "Miscellaneous" +msgstr "Miscelánea" + +#: detaileddialog.cpp:66 +msgid "CPUs" +msgstr "CPU" + +#: detaileddialog.cpp:73 detaileddialog.cpp:453 +msgid "Battery state:" +msgstr "Estado de la batería:" + +#: detaileddialog.cpp:79 +msgid "Total:" +msgstr "Total:" + +#: detaileddialog.cpp:81 detaileddialog.cpp:83 +msgid "Battery %1" +msgstr "Batería %1" + +#: detaileddialog.cpp:114 +msgid "Processor %1" +msgstr "Procesador %1" + +#: detaileddialog.cpp:230 +#, fuzzy +msgid "not present" +msgstr "ausente." + +#: detaileddialog.cpp:243 +msgid "charged" +msgstr "cargado" + +#: detaileddialog.cpp:245 +msgid "%1:%2 h until charged" +msgstr "%1:%2 h hasta carga completa" + +#: detaileddialog.cpp:248 +msgid "%1:%2 h remaining" +msgstr "%1:%2 h restantes" + +#: detaileddialog.cpp:253 detaileddialog.cpp:441 detaileddialog.cpp:468 +msgid "unknown" +msgstr "desconocido" + +#: detaileddialog.cpp:325 detaileddialog.cpp:368 +msgid "%v MHz" +msgstr "%v MHz" + +#: detaileddialog.cpp:330 detaileddialog.cpp:363 dummy.cpp:58 +msgid "deactivated" +msgstr "desactivado" + +#: detaileddialog.cpp:395 +msgid "unplugged" +msgstr "desconectado" + +#: detaileddialog.cpp:412 +msgid "Current Scheme: " +msgstr "Esquema actual:" + +#: detaileddialog.cpp:429 +msgid "Current CPU Frequency Policy:" +msgstr "Directiva actual de frecuencia de CPU:" + +#: detaileddialog.cpp:435 kpowersave.cpp:193 configure_Dialog.cpp:877 +msgid "Dynamic" +msgstr "Dinámica" + +#: detaileddialog.cpp:456 +msgid "Critical" +msgstr "Crítico" + +#: detaileddialog.cpp:459 +msgid "Low" +msgstr "Bajo" + +#: detaileddialog.cpp:462 kpowersave.cpp:277 kpowersave.cpp:652 +#: kpowersave.cpp:659 kpowersave.cpp:705 kpowersave.cpp:713 kpowersave.cpp:761 +#: kpowersave.cpp:769 kpowersave.cpp:817 kpowersave.cpp:824 +#: kpowersave.cpp:1131 kpowersave.cpp:1243 kpowersave.cpp:1272 +#: kpowersave.cpp:1610 kpowersave.cpp:1670 kpowersave.cpp:2186 +msgid "Warning" +msgstr "Advertencia" + +#: detaileddialog.cpp:465 +msgid "ok" +msgstr "aceptar" + +#: detaileddialog.cpp:474 detaileddialog.cpp:477 +msgid "Set brightness supported:" +msgstr "Definición del brillo admitido:" + +#: detaileddialog.cpp:475 +msgid "yes" +msgstr "sí" + +#: detaileddialog.cpp:478 +msgid "no" +msgstr "no" + +#: detaileddialog.cpp:481 detaileddialog.cpp:485 +#, fuzzy +msgid "HAL Daemon:" +msgstr "Daemon HAL:" + +#: detaileddialog.cpp:482 +msgid "running" +msgstr "en ejecución" + +#: detaileddialog.cpp:486 +msgid "not running" +msgstr "no se está ejecutando" + +#: info_Dialog.cpp:197 +msgid "Information" +msgstr "Información" + +#: dummy.cpp:36 +msgid "If the current desktop user is inactive, dim the display to:" +msgstr "" +"Si el usuario actual del escritorio está inactivo, oscurecer la pantalla:" + +#: dummy.cpp:37 +msgid "Enable dim display on inactivity" +msgstr "Activar el oscurecimiento de pantalla cuando el usuario está inactivo" + +#: dummy.cpp:38 +msgid "Blacklist" +msgstr "Lista negra" + +#: dummy.cpp:39 +msgid "" +"Here you can add programs which should, if running, prevent the dimming of " +"the display." +msgstr "" +"Aquí puede añadir los programas que, si se ejecutan, impiden que se " +"oscurezca la pantalla." + +#: dummy.cpp:41 +msgid "Would you like to import a predefined blacklist?" +msgstr "¿Desea importar una lista negra predefinida?" + +#: dummy.cpp:42 +msgid "Disable CPUs/Cores" +msgstr "Inhabilitar CPU/núcleos" + +#: dummy.cpp:43 +msgid "Max. running CPUs:" +msgstr "Máx. de CPU en ejecución:" + +#: dummy.cpp:44 +msgid "Max. running CPUs/Cores:" +msgstr "Máx. de CPU/núcleos en ejecución:" + +#: dummy.cpp:45 +msgid "Min. running CPUs:" +msgstr "Mín. de CPU en ejecución:" + +#: dummy.cpp:46 +msgid "Min. running CPUs/Cores:" +msgstr "Mín. de CPU/núcleos en ejecución:" + +#: dummy.cpp:47 +#, fuzzy +msgid "Enable to switch off CPUs/cores" +msgstr "Habilitar apagado de CPU/núcleos" + +#: dummy.cpp:48 +msgid "You have a multiprocessor/multicore machine." +msgstr "Dispone de un equipo multiprocesador/multinúcleo." + +#: dummy.cpp:49 +msgid "" +"You can disable CPUs/cores to reduce power consumption and save battery " +"power." +msgstr "" +"Puede inhabilitar los CPU/núcleos para reducir el consumo de energía y " +"ahorrar batería." + +#: dummy.cpp:50 +msgid "Device" +msgstr "Dispositivo" + +#: dummy.cpp:51 +msgid "Devices" +msgstr "Dispositivos" + +#: dummy.cpp:52 +msgid "Device class" +msgstr "Clase de dispositivo" + +#: dummy.cpp:53 +msgid "activate" +msgstr "activar" + +#: dummy.cpp:54 +msgid "Activate" +msgstr "Activar" + +#: dummy.cpp:55 +msgid "deactivate" +msgstr "desactivar" + +#: dummy.cpp:56 +msgid "Deactivate" +msgstr "Desactivar" + +#: dummy.cpp:57 +msgid "activated" +msgstr "activado" + +#: dummy.cpp:59 +msgid "do nothing" +msgstr "no hacer nada" + +#: dummy.cpp:60 +msgid "Deactivate following devices:" +msgstr "Desactivar los siguientes dispositivos:" + +#: dummy.cpp:61 +msgid "Activate following devices" +msgstr "Activar los siguientes dispositivos" + +#: dummy.cpp:62 +msgid "Reactivate following devices" +msgstr "Reactivar los siguientes dispositivos" + +#: dummy.cpp:63 +msgid "Deactivate following device classes:" +msgstr "Desactivar las siguientes clases de dispositivos:" + +#: dummy.cpp:64 +msgid "Activate following devices classes" +msgstr "Activar las siguientes clases de dispositivos" + +#: dummy.cpp:65 +msgid "Reactivate following device classes" +msgstr "Reactivar las siguientes clases de dispositivos" + +#: dummy.cpp:66 +msgid "If the scheme switched all devices are again activated." +msgstr "Si cambia el esquema se vuelven a activar todos los dispositivos." + +#: dummy.cpp:67 +msgid "This is a experimental feature." +msgstr "Esta función está en fase experimental." + +#: dummy.cpp:68 +msgid "If you have problems with this feature, please report them." +msgstr "" +"Si detecta problemas al utilizar esta función, le rogamos que nos los " +"comunique." + +#: dummy.cpp:69 +msgid "Select one of the available devices and click on " +msgstr "Seleccione uno de los dispositivos disponibles y haga clic en" + +#: dummy.cpp:70 +msgid "Select one of the available device classes and click on " +msgstr "" +"Seleccione una de las clases de dispositivos disponibles y haga clic en" + +#: dummy.cpp:71 +msgid "Select one or more of the available devices and click on " +msgstr "Seleccione uno o varios de los dispositivos disponibles y haga clic en" + +#: dummy.cpp:72 +msgid "Select one or more of the available device classes and click on " +msgstr "" +"Seleccione una o varias de las clases de dispositivos disponibles y haga " +"clic en" + +#: dummy.cpp:73 +msgid "" +"Please note: If you e.g. deactivate a network device you may lose your " +"internet connection." +msgstr "" +"Tenga en cuenta lo siguiente: si desactiva un dispositivo de red, perderá la " +"conexión a Internet." + +#: dummy.cpp:75 +msgid "" +"Note: If you select this option, the computer will suspend or standby " +"if the current user is inactive for the defined time.

    This feature " +"can also produce problems with some programs, such as video players or cd " +"burner. These programs can be blacklisted by checking Enable scheme-" +"specific blacklist and click Edit Blacklist.... If this does not " +"help, report the problem or deactivate autosuspend.

    Really use this " +"option?" +msgstr "" +"Nota: si selecciona esta opción, el equipo pasará al estado de " +"suspensión o stand-by si el usuario actual permanece inactivo durante el " +"período de tiempo definido.

    Esta función también puede producir " +"problemas con algunos programas, como reproductores de vídeo o programas de " +"grabación de CD. Estos programas pueden incluirse en una lista negra " +"marcando Habilitar lista negra de esquema específico y haciendo clic " +"en Editar lista negra.... Si esto no ayuda, informe del problema o " +"desactive la suspensión automática.

    ¿Está seguro de que desea " +"utilizar esta opción?" + +#: dummy.cpp:82 +msgid "Try to use only one CPU/Core." +msgstr "" + +#: dummy.cpp:83 +msgid "" +"Reduce power consumption by try to use only one CPU/Core instead of " +"spreading the work over all/multiple CPUs." +msgstr "" + +#: dummy.cpp:87 +msgid "Could not load the global configuration." +msgstr "No ha sido posible cargar la configuración global." + +#: dummy.cpp:88 +msgid "Could not load the requested scheme configuration." +msgstr "No ha sido posible cargar la configuración del perfil solicitado." + +#: dummy.cpp:89 +msgid "Configure the current scheme." +msgstr "Configure el esquema actual." + +#: dummy.cpp:90 +msgid "Try loading the default configuration." +msgstr "Intente cargar la configuración predeterminada." + +#: dummy.cpp:91 +msgid "Maybe the global configuration file is empty or missing." +msgstr "" +"Puede que el archivo de configuración global esté vacío o no se encuentre " +"disponible." + +#: dummy.cpp:94 +#, fuzzy +msgid "Cannot connect to D-Bus. The D-Bus daemon may not be running." +msgstr "" +"No es posible establecer la conexión con el D-BUS. Puede que el daemon D-BUS " +"no se esté ejecutando." + +#: dummy.cpp:95 +msgid "" +"Scheme switched to %1. \n" +" Deactivate following devices: %2" +msgstr "" +"Cambio de esquema a %1. \n" +" Desactivar los siguientes dispositivos: %2" + +#: dummy.cpp:96 +msgid "" +"Scheme switched to %1. \n" +" Activate following devices: %2" +msgstr "" +"Cambio de esquema a %1. \n" +" Activar los siguientes dispositivos: %2" + +#: dummy.cpp:97 +msgid "Report ..." +msgstr "Informe..." + +#: dummy.cpp:98 +msgid "Suspend to RAM is not supported on your machine." +msgstr "Su equipo no admite la suspensión a RAM." + +#: dummy.cpp:99 +msgid "Additionally, please mail the output of %1 to %2 . Thanks!" +msgstr "Asimismo, envíe por correo el resultado de %1 a %2 . Gracias." + +#: dummy.cpp:100 +msgid "Power consumption" +msgstr "Consumo de energía" + +#: dummy.cpp:103 +msgid "KScreensaver not found." +msgstr "No se ha encontrado KScreensaver." + +#: dummy.cpp:104 +msgid "Try locking with XScreensaver or xlock." +msgstr "Intente bloquear con XScreensaver o xlock." + +#: dummy.cpp:105 +msgid "XScreensaver not found." +msgstr "No se ha encontrado XScreensaver." + +#: dummy.cpp:106 +msgid "Try locking the screen with xlock." +msgstr "Intente bloquear la pantalla con xlock." + +#: dummy.cpp:107 +msgid "" +"XScreensaver and xlock not found. It is not possible to lock the screen. " +"Check your installation." +msgstr "" +"No se han encontrado XScreensaver ni xlock. No es posible bloquear la " +"pantalla. Compruebe la instalación." + +#: dummy.cpp:111 +msgid "HAL daemon:" +msgstr "Daemon HAL:" + +#: dummy.cpp:112 +#, fuzzy +msgid "D-Bus daemon:" +msgstr "Daemon D-BUS:" + +#: dummy.cpp:113 +msgid "ConsoleKit daemon:" +msgstr "" + +#: dummy.cpp:114 +msgid "Autosuspend activated:" +msgstr "Suspensión automática activada:" + +#: dummy.cpp:115 +#, fuzzy +msgid "Autodimm activated:" +msgstr "Suspensión automática activada:" + +#: dummy.cpp:116 +msgid "enabled" +msgstr "habilitado" + +#: dummy.cpp:117 +msgid "Session active:" +msgstr "" + +#: dummy.cpp:120 +msgid "Inactivity detected." +msgstr "" + +#: dummy.cpp:121 +msgid "To stop the %1 press the 'Cancel' button before the countdown expire." +msgstr "" + +#: dummy.cpp:122 +msgid "The computer autosuspend in: " +msgstr "" + +#: dummy.cpp:123 +#, c-format +msgid "The display get dimmed down to %1% in: " +msgstr "" + +#: dummy.cpp:124 +msgid "%1 seconds" +msgstr "" + +#: dummy.cpp:127 +msgid "Could not call %1. The current desktop session is not active." +msgstr "" + +#: dummy.cpp:128 +msgid "Could not set %1. The current desktop session is not active." +msgstr "" + +#: dummy.cpp:129 +msgid "Stopped %1. The current desktop session is now inactive." +msgstr "" + +#: dummy.cpp:130 +msgid "Restarted %1. The current desktop session is now active again." +msgstr "" + +#: log_viewer.cpp:78 +msgid "Form1" +msgstr "" + +#: log_viewer.cpp:79 +msgid "Save As ..." +msgstr "" + +#: log_viewer.cpp:80 +msgid "Close" +msgstr "" + +#: logviewer.cpp:44 +#, fuzzy +msgid "KPowersave Logfile Viewer: %1" +msgstr "Powersave ha pasado al modo de esquema: %1" + +#: logviewer.cpp:89 +msgid "File already exist. Overwrite the file?" +msgstr "" + +#: logviewer.cpp:90 logviewer.cpp:97 +msgid "Error while save logfile" +msgstr "" + +#: logviewer.cpp:95 +msgid "File already exist." +msgstr "" + +#: logviewer.cpp:98 +msgid "Try other filename ..." +msgstr "" + +#: suspenddialog.cpp:70 +msgid "Preparing Suspend..." +msgstr "Preparando la suspensión..." + +#: kpowersave.cpp:168 +msgid "Configure KPowersave..." +msgstr "Configurar KPowersave..." + +#: kpowersave.cpp:171 configure_Dialog.cpp:915 +msgid "Configure Notifications..." +msgstr "Configurar notificaciones..." + +#: kpowersave.cpp:175 +msgid "Start YaST2 Power Management Module..." +msgstr "Iniciar módulo de gestión de energía de YaST2..." + +#: kpowersave.cpp:189 kpowersave.cpp:2106 kpowersave.cpp:2166 +#: kpowersave.cpp:2253 +msgid "Standby" +msgstr "Stand-by" + +#: kpowersave.cpp:191 kpowersave.cpp:198 +msgid "Set CPU Frequency Policy" +msgstr "Definir regulación de frecuencia de la CPU" + +#: kpowersave.cpp:205 kpowersave.cpp:206 +msgid "Set Active Scheme" +msgstr "Definir perfil activo" + +#: kpowersave.cpp:212 +msgid "Disable Actions on Inactivity" +msgstr "Desactivar acciones en periodo de inactividad" + +#: kpowersave.cpp:219 kpowersave.cpp:229 +msgid "&Help" +msgstr "&Ayuda" + +#: kpowersave.cpp:221 +msgid "&KPowersave Handbook" +msgstr "Manual de &KPowersave" + +#: kpowersave.cpp:224 +msgid "&Report a bug ..." +msgstr "&Informar de un error..." + +#: kpowersave.cpp:226 +msgid "&About KPowersave" +msgstr "&Acerca de KPowersave" + +#: kpowersave.cpp:275 kpowersave.cpp:648 kpowersave.cpp:656 kpowersave.cpp:703 +#: kpowersave.cpp:710 kpowersave.cpp:759 kpowersave.cpp:766 kpowersave.cpp:815 +#: kpowersave.cpp:822 kpowersave.cpp:1126 kpowersave.cpp:1241 +#: kpowersave.cpp:1270 kpowersave.cpp:2183 +msgid "WARNING" +msgstr "ADVERTENCIA" + +#: kpowersave.cpp:275 +msgid "Cannot find any schemes." +msgstr "" + +#: kpowersave.cpp:453 +msgid "No information about battery and AC status available" +msgstr "La información sobre la batería y el estado de CA no está disponible" + +#: kpowersave.cpp:456 +msgid "Plugged in -- fully charged" +msgstr "Enchufado - totalmente cargado" + +#: kpowersave.cpp:460 +msgid "Plugged in" +msgstr "Enchufado" + +#: kpowersave.cpp:464 +msgid "Plugged in -- %1% charged (%2:%3 h until full charged)" +msgstr "Conectado en: %1% de carga (%2:%3 h hasta carga completa)" + +#: kpowersave.cpp:467 +msgid "Plugged in -- %1% charged (%2:%3 remaining hours)" +msgstr "Enchufado -- %1% cargado (quedan %2:%3 horas)" + +#: kpowersave.cpp:471 kpowersave.cpp:475 +#, c-format +msgid "Plugged in -- %1% charged" +msgstr "Enchufado -- %1% cargado" + +#: kpowersave.cpp:474 +msgid "Plugged in -- no battery" +msgstr "Enchufado - sin batería" + +#: kpowersave.cpp:480 +msgid "Running on batteries -- %1% charged (%2:%3 hours remaining)" +msgstr "Funcionamiento con baterías-- %1% cargado (quedan %2:%3 horas)" + +#: kpowersave.cpp:484 +#, c-format +msgid "Running on batteries -- %1% charged" +msgstr "Funcionamiento con baterías-- %1% cargado" + +#: kpowersave.cpp:491 +msgid " -- battery is charging" +msgstr " -- la batería se está cargando" + +#: kpowersave.cpp:649 kpowersave.cpp:657 +msgid "Could not start YaST Power Management Module. Check if it is installed." +msgstr "" +"No es posible iniciar el módulo de gestión de alimentación de YaST. " +"Compruebe si está instalado." + +#: kpowersave.cpp:703 +#, fuzzy +msgid "Suspend to disk failed" +msgstr "Suspender en disco" + +#: kpowersave.cpp:711 +msgid "Suspend to disk disabled by administrator." +msgstr "Modo suspend to disk desactivado por el administrador." + +#: kpowersave.cpp:759 +#, fuzzy +msgid "Suspend to RAM failed" +msgstr "Suspender en RAM" + +#: kpowersave.cpp:767 +msgid "Suspend to RAM disabled by administrator." +msgstr "Modo de suspensión en RAM inhabilitado por el administrador." + +#: kpowersave.cpp:815 +#, fuzzy +msgid "Standby failed" +msgstr "Stand-by tras:" + +#: kpowersave.cpp:822 +msgid "Standby disabled by administrator." +msgstr "Modo stand-by desactivado por el administrador" + +#: kpowersave.cpp:853 +msgid "System is going into suspend mode now" +msgstr "El sistema entrará en el modo de suspensión" + +#: kpowersave.cpp:1039 +msgid "Could not call DCOP interface to umount external media." +msgstr "" + +#: kpowersave.cpp:1044 +msgid "" +"Could not umount external media before suspend/standby. \n" +" (Reason: %1)\n" +" \n" +" Would you like to continue suspend/standby anyway? \n" +"(Warning: Continue suspend can cause data loss!)" +msgstr "" + +#: kpowersave.cpp:1052 +msgid "Error while prepare %1" +msgstr "" + +#: kpowersave.cpp:1053 +#, fuzzy +msgid "Suspend anyway" +msgstr "Suspender tras:" + +#: kpowersave.cpp:1053 +#, fuzzy +msgid "Cancel suspend" +msgstr "Activar suspensión automática" + +#: kpowersave.cpp:1127 +msgid "" +"Could not lock the screen. There may be a problem with the selected \n" +"lock method or something else." +msgstr "" +"No se ha podido bloquear la pantalla. Puede que haya algún problema con el " +"método de bloqueo \n" +"seleccionado o algún elemento similar." + +#: kpowersave.cpp:1144 +msgid "The Lid was closed." +msgstr "Tapa cerrada." + +#: kpowersave.cpp:1156 +msgid "The Lid was opened." +msgstr "Tapa abierta." + +#: kpowersave.cpp:1223 +msgid "Start KPowersave automatically when you log in?" +msgstr "" +"¿Desea que KPowersave se inicie automáticamente cuando inicie una sesión en " +"el sistema?" + +#: kpowersave.cpp:1224 +msgid "Question" +msgstr "Pregunta" + +#: kpowersave.cpp:1225 +msgid "Start Automatically" +msgstr "Iniciar automáticamente" + +#: kpowersave.cpp:1225 +msgid "Do Not Start" +msgstr "No iniciar" + +#: kpowersave.cpp:1242 +msgid "CPU Freq Policy %1 could not be set." +msgstr "No es posible establecer la directiva de frecuencia de CPU %1." + +#: kpowersave.cpp:1271 +msgid "Scheme %1 could not be activated." +msgstr "No ha sido posible activar el perfil %1." + +#: kpowersave.cpp:1600 +#, fuzzy +msgid "" +"The D-Bus daemon is not running.\n" +"Starting it will provide full functionality: /etc/init.d/dbus start" +msgstr "" +"El daemon DBUS no se está ejecutando.\n" +"Iniciarlo ofrecerá la funcionalidad completa: /etc/init.d/dbus start" + +#: kpowersave.cpp:1611 +msgid "Don't show this message again." +msgstr "No volver a mostrar este mensaje." + +#: kpowersave.cpp:1637 +msgid "ERROR" +msgstr "ERROR" + +#: kpowersave.cpp:1638 +msgid "Could not get information from HAL. The haldaemon is maybe not running." +msgstr "" +"No se ha podido obtener información de HAL. Es posible que el daemon hal no " +"se esté ejecutando." + +#: kpowersave.cpp:1641 +msgid "Error" +msgstr "Error" + +#: kpowersave.cpp:1912 +msgid "" +"Battery state changed to WARNING -- remaining time: %1 hours and %2 minutes." +msgstr "" +"El estado de carga de la batería ha pasado a nivel de ADVERTENCIA -- tiempo " +"restante: %1 horas y %2 minutos" + +#: kpowersave.cpp:1921 +msgid "" +"Battery state changed to LOW -- remaining time: %1 hours and %2 minutes." +msgstr "" +"El estado de la batería ha cambiado a BAJO -- tiempo restante: %1 horas y %2 " +"minutos." + +#: kpowersave.cpp:1932 +#, fuzzy +msgid "" +"Battery state changed to CRITICAL -- remaining time: %1 hours and %2 " +"minutes.\n" +"Shut down your system or plug in the power cable immediately. Otherwise the " +"machine\n" +"will go shutdown in 30 seconds" +msgstr "" +"El estado de la batería ha cambiado a CRÃTICO -- tiempo restante: %1 horas y " +"%2 minutos. Apague el sistema o conecte el cable de alimentación de " +"inmediato." + +#: kpowersave.cpp:1943 +#, fuzzy +msgid "" +"Battery state changed to CRITICAL -- remaining time: %1 hours and %2 " +"minutes.\n" +"Shut down your system or plug in the power cable immediately." +msgstr "" +"El estado de la batería ha cambiado a CRÃTICO -- tiempo restante: %1 horas y " +"%2 minutos. Apague el sistema o conecte el cable de alimentación de " +"inmediato." + +#: kpowersave.cpp:2041 +msgid "AC adapter plugged in" +msgstr "Adaptador de CA conectado" + +#: kpowersave.cpp:2043 +msgid "AC adapter unplugged" +msgstr "Adaptador de CA desconectado" + +#: kpowersave.cpp:2078 +#, fuzzy +msgid "Switched to scheme: %1" +msgstr "Powersave ha pasado al modo de esquema: %1" + +#: kpowersave.cpp:2095 kpowersave.cpp:2100 kpowersave.cpp:2105 +msgid "System is going into %1 now." +msgstr "El sistema pasará al estado %1 ahora." + +#: kpowersave.cpp:2155 kpowersave.cpp:2160 kpowersave.cpp:2165 +msgid "System is resumed from %1." +msgstr "Se reanudará el sistema desde el estado %1." + +#: kpowersave.cpp:2184 +msgid "Could not remount (all) external storage media." +msgstr "" + +#: kpowersave.cpp:2192 +msgid "An unknown error occurred while %1. The errorcode is: '%2'" +msgstr "" + +#: kpowersave.cpp:2197 +msgid "Do you want to have a look at the log file?" +msgstr "" + +#: kpowersave.cpp:2198 kpowersave.cpp:2224 +msgid "Error while %1" +msgstr "" + +#: configure_Dialog.cpp:831 +msgid "KPowersave Settings" +msgstr "Ajustes de KPowersave" + +#: configure_Dialog.cpp:832 +#, fuzzy +msgid "Apply" +msgstr "&Aplicar" + +#: configure_Dialog.cpp:834 +#, fuzzy +msgid "Help" +msgstr "&Ayuda" + +#: configure_Dialog.cpp:840 +msgid "Enable specific display power management" +msgstr "Habilitar gestión de alimentación de pantalla específica" + +#: configure_Dialog.cpp:841 +msgid "Standby after:" +msgstr "Stand-by tras:" + +#: configure_Dialog.cpp:842 +msgid "Only blank the screen" +msgstr "Sólo poner en blanco la pantalla" + +#: configure_Dialog.cpp:843 +msgid "Disable screen saver" +msgstr "Inhabilitar el salvapantallas" + +#: configure_Dialog.cpp:844 +msgid "Enable specific screensaver settings" +msgstr "Habilitar ajustes específicos del salvapantallas" + +#: configure_Dialog.cpp:845 +msgid "Suspend after:" +msgstr "Suspender tras:" + +#: configure_Dialog.cpp:846 +msgid "Power off after:" +msgstr "Apagar tras:" + +#: configure_Dialog.cpp:847 +msgid "Disable display power management" +msgstr "Inhabilitar gestión de alimentación de pantalla" + +#: configure_Dialog.cpp:848 configure_Dialog.cpp:849 configure_Dialog.cpp:850 +#: configure_Dialog.cpp:862 configure_Dialog.cpp:873 +msgid " min" +msgstr "min." + +#: configure_Dialog.cpp:851 +msgid "Screen Saver and DPMS" +msgstr "Salvapantallas y DPMS" + +#: configure_Dialog.cpp:852 +msgid "Settings" +msgstr "Ajustes" + +#: configure_Dialog.cpp:853 +msgid "Reset" +msgstr "Reiniciar" + +#: configure_Dialog.cpp:855 +#, fuzzy +msgid "Enable scheme specific Brightness settings" +msgstr "Habilitar ajustes de &brillo específicos para el perfil" + +#: configure_Dialog.cpp:858 +msgid "Brightness" +msgstr "Brillo" + +#: configure_Dialog.cpp:859 +msgid "Enable autosuspend" +msgstr "Activar suspensión automática" + +#: configure_Dialog.cpp:860 configure_Dialog.cpp:867 +msgid "Enable scheme-specific blacklist" +msgstr "Habilitar lista negra de esquema específico" + +#: configure_Dialog.cpp:861 configure_Dialog.cpp:870 +msgid "after:" +msgstr "tras:" + +#: configure_Dialog.cpp:863 configure_Dialog.cpp:868 +msgid "Edit Blacklist..." +msgstr "Editar lista negra..." + +#: configure_Dialog.cpp:864 configure_Dialog.cpp:869 +msgid "If the current desktop user is inactive the computer will:" +msgstr "Si el usuario actual del escritorio está inactivo, el equipo deberá:" + +#: configure_Dialog.cpp:865 +msgid "Autosuspend" +msgstr "Suspensión automática" + +#: configure_Dialog.cpp:866 +#, fuzzy +msgid "Enable autodimm the display" +msgstr "Activar el oscurecimiento de pantalla cuando el usuario está inactivo" + +#: configure_Dialog.cpp:871 configure_Dialog.cpp:893 configure_Dialog.cpp:894 +#: configure_Dialog.cpp:895 configure_Dialog.cpp:896 configure_Dialog.cpp:897 +#: configure_Dialog.cpp:898 +msgid " %" +msgstr "" + +#: configure_Dialog.cpp:872 +msgid "dimm to:" +msgstr "" + +#: configure_Dialog.cpp:874 +msgid "Autodimm" +msgstr "" + +#: configure_Dialog.cpp:879 +#, fuzzy +msgid "Set CPU Frequency Policy:" +msgstr "Definir regulación de frecuencia de la CPU" + +#: configure_Dialog.cpp:880 +#, fuzzy +msgid "CPU Frequency Policy" +msgstr "Definir regulación de frecuencia de la CPU" + +#: configure_Dialog.cpp:881 +msgid "Disable Notifications" +msgstr "Inhabilitar notificaciones" + +#: configure_Dialog.cpp:884 +msgid "New" +msgstr "" + +#: configure_Dialog.cpp:885 +msgid "Scheme Settings" +msgstr "Ajustes de esquema" + +#: configure_Dialog.cpp:886 +msgid "" +"Define the battery warning levels (in percentage) and the releated action if " +"the level get reached:" +msgstr "" + +#: configure_Dialog.cpp:887 +#, fuzzy +msgid "Warning level:" +msgstr "Advertencia" + +#: configure_Dialog.cpp:888 +msgid "Low level:" +msgstr "" + +#: configure_Dialog.cpp:889 +#, fuzzy +msgid "Critical level:" +msgstr "Crítico" + +#: configure_Dialog.cpp:890 configure_Dialog.cpp:891 configure_Dialog.cpp:892 +msgid "if reached call:" +msgstr "" + +#: configure_Dialog.cpp:899 +#, fuzzy +msgid "Battery" +msgstr "Batería %1" + +#: configure_Dialog.cpp:900 +msgid "" +"Define the action which should be executed if the related button get pressed:" +msgstr "" + +#: configure_Dialog.cpp:901 +#, fuzzy +msgid "Suspend-to-disk Button:" +msgstr "Suspender en disco" + +#: configure_Dialog.cpp:902 +msgid "Sleep button:" +msgstr "" + +#: configure_Dialog.cpp:903 +msgid "Lid close Button:" +msgstr "" + +#: configure_Dialog.cpp:904 +#, fuzzy +msgid "Power Button:" +msgstr "Consumo de energía" + +#: configure_Dialog.cpp:905 +msgid "Button Events" +msgstr "" + +#: configure_Dialog.cpp:906 +msgid "" +"Select the following schemes as default if the system is running on AC or on " +"batteries." +msgstr "" + +#: configure_Dialog.cpp:907 +#, fuzzy +msgid "Battery scheme:" +msgstr "Estado de la batería:" + +#: configure_Dialog.cpp:908 +#, fuzzy +msgid "AC scheme:" +msgstr "Esquema:" + +#: configure_Dialog.cpp:909 +msgid "Default Schemes" +msgstr "" + +#: configure_Dialog.cpp:910 +msgid "Lock screen before suspend or standby" +msgstr "Bloquear pantalla antes de suspender o poner en stand-by." + +#: configure_Dialog.cpp:911 +msgid "Lock screen with:" +msgstr "Bloquear pantalla con:" + +#: configure_Dialog.cpp:912 +msgid "Lock screen on lid close" +msgstr "Bloquear pantalla al cerrar la tapa" + +#: configure_Dialog.cpp:913 +msgid "Lock Screen" +msgstr "Bloquear pantalla" + +#: configure_Dialog.cpp:914 +msgid "Notifications" +msgstr "Notificaciones" + +#: configure_Dialog.cpp:916 +msgid "Autostart" +msgstr "Inicio automático" + +#: configure_Dialog.cpp:917 +msgid "Never ask me again on exit" +msgstr "No volver a preguntar al salir." + +#: configure_Dialog.cpp:918 +msgid "KPowersave starts automatically on login" +msgstr "KPowersave se inicia automáticamente al iniciar la sesión." + +#: configure_Dialog.cpp:919 +#, fuzzy +msgid "General Blacklists" +msgstr "Lista negra general" + +#: configure_Dialog.cpp:920 +#, fuzzy +msgid "Edit Autosuspend Blacklist..." +msgstr "Edición de lista negra de suspensión automática" + +#: configure_Dialog.cpp:921 +#, fuzzy +msgid "Edit Autodimm Blacklist..." +msgstr "Editar lista negra..." + +#: configure_Dialog.cpp:923 +msgid "General Settings" +msgstr "Ajustes generales" + +#~ msgid "" +#~ "Inactivity detected.\n" +#~ " Machine autosuspend in %1 seconds." +#~ msgstr "" +#~ "Detectada inactividad.\n" +#~ " El equipo entrará en suspensión automática dentro de %1 segundos." + +#~ msgid "" +#~ "Inactivity detected.\n" +#~ " Dim display in %1 seconds to %2%." +#~ msgstr "" +#~ "Detectada inactividad.\n" +#~ " Oscurecer pantalla en %1 segundos hasta el %2%." + +#~ msgid "" +#~ "If you know that it should work, you might override this detection with " +#~ "setting SUSPEND2RAM_FORCE=\"yes\" in /etc/powersave/sleep." +#~ msgstr "" +#~ "Si sabe que debe funcionar, debería anular esta detección estableciendo " +#~ "SUSPEND2RAM_FORCE=\"yes\" en /etc/powersave/sleep." + +#~ msgid "Modules unloaded:" +#~ msgstr "Módulos descargados:" + +#~ msgid "checking resume kernel" +#~ msgstr "comprobando la puesta en marcha del núcleo" + +#~ msgid "checking for swap partition" +#~ msgstr "comprobando la partición de intercambio" + +#~ msgid "unmounting FAT/NTFS partitions" +#~ msgstr "desmontando las particiones FAT/NTFS" + +#~ msgid "stopping services" +#~ msgstr "deteniendo servicios" + +#~ msgid "stopping service:" +#~ msgstr "deteniendo servicio:" + +#~ msgid "unloading modules" +#~ msgstr "descargando módulos" + +#~ msgid "unloading module:" +#~ msgstr "descargando módulo:" + +#~ msgid "syncing file systems" +#~ msgstr "sincronizando sistemas de archivos" + +#~ msgid "preparing bootloader" +#~ msgstr "preparando gestor de arranque" + +#~ msgid "Edit General Blacklist..." +#~ msgstr "Editar lista negra general..." + +#~ msgid "&OK" +#~ msgstr "&Aceptar" + +#~ msgid "&Cancel" +#~ msgstr "&Cancelar" + +#~ msgid "" +#~ "This scheme support suspend and disable devices. This is a EXPERIMENTAL " +#~ "feature of powersave to save more power on laptops. If you select this " +#~ "scheme you can get in trouble (e.g. kernel oops). You can configure this " +#~ "feature currently in the powersave config files. Please report all " +#~ "problems via http://www.opensuse.org/Submit_a_bug \n" +#~ "\n" +#~ "Would you switch the scheme (on your own risk)?" +#~ msgstr "" +#~ "Este esquema es compatible con la suspensión y desactivación de " +#~ "dispositivos. Esta es una función EXPERIMENTAL de powersave para ahorrar " +#~ "más energía en equipos portátiles. Si selecciona este esquema, pueden " +#~ "producirse problemas (por ejemplo, errores del núcleo). Puede configurar " +#~ "esta función mediante los archivos de configuración de powersave. Informe " +#~ "de cualquier problema en http://www.opensuse.org/Submit_a_bug \n" +#~ " \n" +#~ " ¿Desea cambiar de esquema (bajo su propia responsabilidad)?" + +#~ msgid "Continue" +#~ msgstr "Continuar" + +#~ msgid " -- %1 MHz" +#~ msgstr " -- %1 MHz" + +#~ msgid "Enabled" +#~ msgstr "habilitado" + +#~ msgid "In" +#~ msgstr "dentro" + +#~ msgid "Out" +#~ msgstr "fuera" + +#~ msgid "You are not permitted to connect to the daemon" +#~ msgstr "No se le permite conectarse al daemon." + +#~ msgid "Turn Off Computer" +#~ msgstr "Apagar el equipo" + +#~ msgid "Disable DPMS (no Screensaver detected)" +#~ msgstr "Desactivar DPMS (ningún salvapantallas detectado)" diff --git a/po/fi.po b/po/fi.po new file mode 100644 index 0000000..7085938 --- /dev/null +++ b/po/fi.po @@ -0,0 +1,1487 @@ +# translation of kpowersave.fi.po to Suomi +# translation of kpowersave-fi.po to +# translation of fi.po to +# This file is distributed under the same license as the PACKAGE package. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER. +# +# Ilkka Pirskanen , 2005, 2006. +# Jyri Palokangas , 2006. +# Janne Ahlskog , 2006. +# Joonas Niilola , 2006. +# Jyri Palokangas , 2007. +# Erkka Hakkarainen , 2007. +msgid "" +msgstr "" +"Project-Id-Version: kpowersave.fi\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2007-08-10 03:16+0200\n" +"PO-Revision-Date: 2007-09-12 21:23+0300\n" +"Last-Translator: Jyri Palokangas \n" +"Language-Team: Suomi \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: KBabel 1.11.4\n" + +#: detailed_Dialog.cpp:228 +msgid "kpowersave" +msgstr "kpowersave" + +#: detailed_Dialog.cpp:229 +msgid "General Information" +msgstr "Yleiset tiedot" + +#: detailed_Dialog.cpp:232 +msgid "Battery Status" +msgstr "Akun varaustila" + +#: detailed_Dialog.cpp:233 +msgid "AC Adapter" +msgstr "Verkkovirta" + +#: detailed_Dialog.cpp:234 detaileddialog.cpp:391 +msgid "plugged in" +msgstr "kytketty" + +#: detailed_Dialog.cpp:235 +msgid "Power Consumtion: " +msgstr "Virrankulutus: " + +#: detailed_Dialog.cpp:237 +msgid "Processor Status" +msgstr "Prosessorin tila" + +#: detailed_Dialog.cpp:238 blacklistedit_Dialog.cpp:130 info_Dialog.cpp:198 +#: configure_Dialog.cpp:838 +msgid "OK" +msgstr "OK" + +#: blacklisteditdialog.cpp:60 +msgid "General Blacklist" +msgstr "Yleinen kieltoluettelo" + +#: blacklisteditdialog.cpp:63 +msgid "Scheme: " +msgstr "Malliasetukset: " + +#: blacklisteditdialog.cpp:114 +msgid "Selected entry removed." +msgstr "Valittu merkintä poistettiin." + +#: blacklisteditdialog.cpp:117 +msgid "Could not remove the selected entry." +msgstr "Valittua merkintää ei voitu poistaa." + +#: blacklisteditdialog.cpp:137 +msgid "Inserted new entry." +msgstr "Uusi merkintä lisättiin." + +#: blacklisteditdialog.cpp:141 +msgid "Entry exists already. Did not insert new entry." +msgstr "Merkintä on jo olemassa. Uutta merkintää ei lisätty." + +#: blacklisteditdialog.cpp:144 +msgid "Empty entry was not inserted." +msgstr "Tyhjää merkintää ei lisätty." + +#: inactivity.cpp:298 +msgid "" +"Could not start 'pidof'. Could not autosuspend the machine.\n" +"Please check your installation." +msgstr "" +"'pidof' suorittaminen ei onnistu. Tietokonetta ei voi asettaa automaattiseen " +"lepotilaan.\n" +"Tarkista asennuksesi." + +#: blacklistedit_Dialog.cpp:129 +msgid "Autosuspend Blacklist Edit" +msgstr "Automaattisen lepotilan kieltoluettelon muokkaus" + +# cancel button label +#: blacklistedit_Dialog.cpp:132 configuredialog.cpp:1079 +#: configure_Dialog.cpp:836 +msgid "Cancel" +msgstr "Peruuta" + +#: blacklistedit_Dialog.cpp:135 +msgid "Add" +msgstr "Lisää" + +#: blacklistedit_Dialog.cpp:136 +msgid "Remove" +msgstr "Poista" + +#: infodialog.cpp:76 infodialog.cpp:78 main.cpp:55 +msgid "KPowersave" +msgstr "KPowersave" + +#: configuredialog.cpp:116 configuredialog.cpp:121 configuredialog.cpp:721 +msgid " - not supported" +msgstr " - ei tuettu" + +#: configuredialog.cpp:150 configuredialog.cpp:317 detaileddialog.cpp:432 +#: kpowersave.cpp:192 settings.cpp:66 configure_Dialog.cpp:876 +msgid "Performance" +msgstr "Suorituskyky" + +#: configuredialog.cpp:154 configuredialog.cpp:319 detaileddialog.cpp:438 +#: kpowersave.cpp:194 settings.cpp:68 configure_Dialog.cpp:878 +msgid "Powersave" +msgstr "Virransäästö" + +#: configuredialog.cpp:159 configuredialog.cpp:321 kpowersave.cpp:1478 +#: settings.cpp:70 +msgid "Presentation" +msgstr "Esitys" + +#: configuredialog.cpp:164 configuredialog.cpp:323 kpowersave.cpp:1473 +#: settings.cpp:72 +msgid "Acoustic" +msgstr "Hiljainen" + +#: configuredialog.cpp:169 configuredialog.cpp:171 configuredialog.cpp:172 +#: configuredialog.cpp:173 kpowersave.cpp:1484 +msgid "Advanced Powersave" +msgstr "Edistynyt virransäästö" + +#: configuredialog.cpp:271 +msgid "" +"This enables specific screen saver settings. \n" +"Note: If selected, the global screen saver settings are \n" +"overwritten while kpowersave runs." +msgstr "" +"Tämä ottaa käyttöön valitut näytönsäästäjäasetukset. \n" +"Huomaa: Mikäli valittu, yleiset näytönsäästäjäasetukset \n" +"jätetään huomiotta kpowersaven ollessa käynnissä." + +#: configuredialog.cpp:274 +msgid "" +"This disables the screen saver. \n" +"Note: If selected, the global screen saver settings are \n" +"overwritten while kpowersave runs." +msgstr "" +"Tämä ottaa näytönsäästäjän pois käytöstä. \n" +"Huomaa: Mikäli valittu, yleiset näytönsäästäjäasetukset \n" +"jätetään huomiotta kpowersaven ollessa käynnissä." + +#: configuredialog.cpp:277 +msgid "" +"This blanks the screen instead of using a specific screen saver. \n" +"Note: This may work only with KScreensaver." +msgstr "" +"Tämä tyhjentää ruudun näytönsäästäjän käyttämisen sijaan. \n" +"Huomaa: Tämä saattaa toimia vain K-näytönsäästäjän kanssa." + +#: configuredialog.cpp:279 +msgid "" +"This enables specific DPMS settings. \n" +"Note: If selected, the global DPMS settings are \n" +"overwritten while kpowersave runs." +msgstr "" +"Tämä ottaa käyttöön valitut DPMS-asetukset. \n" +"Huomaa: Mikäli valittu, yleiset DPMS-asetukset \n" +"jätetään huomiotta kpowersaven ollessa käynnissä." + +#: configuredialog.cpp:282 +msgid "This disables DPMS support." +msgstr "Tämä ottaa DPMS-tuen pois käytöstä." + +#: configuredialog.cpp:283 +msgid "If selected, the screen is locked on suspend or standby." +msgstr "Mikäli valittu, ruutu lukitaan lepo- tai valmiustilaan siirryttäessä." + +#: configuredialog.cpp:284 +msgid "If selected, the screen is locked if the lid close event is triggered." +msgstr "Mikäli valittu, ruutu lukitaan suljettaessa kannettavan kansi." + +#: configuredialog.cpp:286 +msgid "" +"Check this box to enable or disable automatic suspension of the computer." +msgstr "" +"Valitse tämä valintaruutu ottaaksesi käyttöön tai poistaaksesi käytöstä " +"tietokoneen automaattisen lepotilan." + +#: configuredialog.cpp:288 +msgid "" +"Activate this action if the user was inactive for the defined time \n" +"(greater than 0 minutes). If empty, nothing happens." +msgstr "" +"Ota tämä toiminto käyttöön, mikäli käyttäjä ei käytä tietokonetta " +"määriteltyyn aikaan \n" +"(enemmän kuin 0 minuuttia). Mikäli tyhjä, mitään ei tapahdu." + +#: configuredialog.cpp:291 +msgid "All scheme-related screen saver and DPMS settings." +msgstr "Kaikki malleihin liittyvät näytönsäästäjä- ja DPMS-asetukset." + +#: configuredialog.cpp:292 +msgid "All scheme-related display brightness settings." +msgstr "Kaikki malleihin liittyvät näytön kirkkauden asetukset." + +#: configuredialog.cpp:293 +msgid "All scheme-related automatic suspend settings." +msgstr "Kaikki malleihin liittyvät automaattisen lepotilan asetukset." + +#: configuredialog.cpp:295 +msgid "" +"Here you can change the brightness of your display. \n" +"Use the slider to change the brightness directly for \n" +"testing. To reset back to previous level, please press \n" +"the 'Reset' button. " +msgstr "" +"Tässä voit muuttaa näytön kirkkautta. \n" +"Käytä liukusäädintä muuttamaan kirkkautta\n" +"kokeillaksesi. Palataksesi aikaisemmalle tasolle paina\n" +"'Palauta'-painiketta. " + +#: configuredialog.cpp:299 +msgid "Use this button to set back the slider and the display brightness." +msgstr "Käytä tätä painiketta asettaaksesi näytön kirkkauden." + +#: configuredialog.cpp:352 +msgid "Press this button to delete the selected scheme." +msgstr "Painikkeella poistetaan valittu malli (scheme)." + +#: configuredialog.cpp:357 +msgid "You can't delete the current AC or battery scheme." +msgstr "Et voi poistaa käytössä olevaa AC- tai akkukäyttö -mallia." + +#: configuredialog.cpp:363 +msgid "You can't delete this default scheme." +msgstr "Et voi poistaa oletusmallia" + +#: configuredialog.cpp:546 +msgid "" +"Your hardware supports to change the brightness. The values of the slider " +"are in percent and mapped to the available brightness levels of your " +"hardware." +msgstr "" +"Laitteistosi tukee kirkkauden säätämistä. Liukusäätimen arvot ovat " +"prosentteja, ja ne on asetettu vastaamaan laitteiston tukemia kirkkaustasoja." + +#: configuredialog.cpp:553 +msgid "" +"Your Hardware currently not support changing the brightness of your display." +msgstr "Laitteisto ei tue näytön kirkkauden säätämistä." + +#: configuredialog.cpp:664 +msgid "Select Automatically" +msgstr "Valitse automaattisesti" + +#: configuredialog.cpp:665 +msgid "KScreensaver" +msgstr "K-näytönsäästäjä" + +#: configuredialog.cpp:666 +msgid "XScreensaver" +msgstr "X-näytönsäästäjä" + +#: configuredialog.cpp:667 +msgid "xlock" +msgstr "xlock" + +#: configuredialog.cpp:668 +msgid "GNOME Screensaver" +msgstr "GNOME-näytönsäästäjä" + +#: configuredialog.cpp:930 +msgid "" +"There are unsaved changes in the active scheme.\n" +"Apply the changes before jumping to the next scheme or discard the changes?" +msgstr "" +"Käytössä olevassa mallissa on tallentamattomia muutoksia.\n" +"Otetaanko muutokset käyttöön ennen siirtymistä seuraavaan malliin vai " +"hylätäänkö muutokset?" + +#: configuredialog.cpp:933 configuredialog.cpp:983 +msgid "Unsaved Changes" +msgstr "Tallentamattomat muutokset" + +#: configuredialog.cpp:981 +msgid "" +"There are unsaved changes.\n" +"Apply the changes before cancel or discard the changes?" +msgstr "" +"Tallentamattomia muutoksia.\n" +"Otetaanko muutokset käyttöön ennen peruuttamista vai hylätäänkö muutokset?" + +#: configuredialog.cpp:1032 +msgid "Please insert a name for the new scheme:" +msgstr "Anna nimi uudelle mallille:" + +#: configuredialog.cpp:1038 +msgid "KPowersave Configuration" +msgstr "Kpowersave määritykset" + +#: configuredialog.cpp:1046 +msgid "Error: A scheme with this name already exist.\n" +msgstr "Virhe: tämänniminen malli on jo olemassa.\n" + +#: configuredialog.cpp:1076 +msgid "Do you really want to delete the %1 scheme?" +msgstr "Haluatko varmasti poistaa mallin %1 ?" + +#: configuredialog.cpp:1078 +msgid "Confirm delete scheme" +msgstr "Vahvista mallin poisto" + +#: configuredialog.cpp:1079 configure_Dialog.cpp:883 +msgid "Delete" +msgstr "Poista" + +#: configuredialog.cpp:1095 +msgid "Could not delete the selected scheme." +msgstr "Valittua mallia ei voitu poistaa." + +#: configuredialog.cpp:1324 +msgid "" +"Note: If you select this option, the computer will suspend or standby " +"if the current user is inactive for the defined time even if somebody is " +"logged in remotely to the X server.

    This feature can also produce " +"problems with some programs, such as video players or cd burner. These " +"programs can be blacklisted by checking Enable scheme-specific blacklist and click Edit Blacklist.... If this does not help, report the " +"problem or deactivate autosuspend.

    Really use this option?" +msgstr "" +"Huomaa: Jos tämä valinta valitaan, tietokone siirtyy lepo- tai " +"valmiustilaan, mikäli työpöydän käyttäjä on ollut toimettomana määritellyn " +"ajan, vaikka joku toinen olisi etäkirjautuneena X-palvelimella.

    Tämä " +"ominaisuus voi myös aiheuttaa ongelmia joillekin ohjelmilla, kuten " +"videosoittimille tai CD-polttajille. Nämä ohjelmat voidaan luetteloida " +"valitsemalla Ota käyttöön mallikohtainen kieltoluettelo ja " +"napsauttamalla Muokkaa kieltoluetteloa.... Mikäli tämä ei auta, " +"ilmoita virheestä, tai ota automaattinen lepotila pois käytöstä.

    " +"Käytetäänkö varmasti tätä valintaa?" + +#: configuredialog.cpp:1402 configuredialog.cpp:1532 +msgid "" +"The blacklist of the selected scheme is empty. Import the general blacklist?" +msgstr "" +"Valitun mallin kieltoluettelo on tyhjä. Tuodaanko yleinen kieltoluettelo?" + +#: configuredialog.cpp:1404 configuredialog.cpp:1534 +msgid "Import" +msgstr "Tuo" + +#: configuredialog.cpp:1404 configuredialog.cpp:1534 +msgid "Do Not Import" +msgstr "Älä tuo" + +#: configuredialog.cpp:1416 +msgid "General Autosuspend Blacklist" +msgstr "Yleinen autosuspend kieltoluettelo" + +#: configuredialog.cpp:1546 +msgid "General Autodimm Blacklist" +msgstr "Yleinen himmennyksen kieltoluettelo" + +#: configuredialog.cpp:1779 configuredialog.cpp:1816 +msgid "Shutdown" +msgstr "Sammuta" + +#: configuredialog.cpp:1781 configuredialog.cpp:1819 +msgid "Logout Dialog" +msgstr "Uloskirjautumisikkuna" + +#: configuredialog.cpp:1784 configuredialog.cpp:1822 kpowersave.cpp:182 +#: kpowersave.cpp:2096 kpowersave.cpp:2156 kpowersave.cpp:2247 +msgid "Suspend to Disk" +msgstr "Lepotila levylle" + +#: configuredialog.cpp:1787 configuredialog.cpp:1825 kpowersave.cpp:186 +#: kpowersave.cpp:2101 kpowersave.cpp:2161 kpowersave.cpp:2250 +msgid "Suspend to RAM" +msgstr "Lepotila keskusmuistiin" + +#: configuredialog.cpp:1790 configuredialog.cpp:1828 +msgid "CPU Powersave policy" +msgstr "CPU:n virransäästökäytäntö" + +#: configuredialog.cpp:1793 configuredialog.cpp:1831 +msgid "CPU Dynamic policy" +msgstr "CPU:n dynaaminen käytäntö" + +#: configuredialog.cpp:1796 configuredialog.cpp:1834 +msgid "CPU Performance policy" +msgstr "CPU:n suorituskyky käytäntö" + +#: configuredialog.cpp:1799 configuredialog.cpp:1837 +msgid "Set Brightness to" +msgstr "Aseta kirkkaus arvoon" + +#: main.cpp:43 +msgid "KDE Frontend for Power Management, Battery Monitoring and Suspend" +msgstr "" +"KDE-käyttöliittymä virransäästön hallinnalle, akunvaraustilan seurannalle ja " +"sammutusasetuksille" + +#: main.cpp:45 +msgid "Force a new check for ACPI support" +msgstr "Pakota uusi ACPI-tuen tarkistus" + +#: main.cpp:46 +msgid "Trace function entry and leave points for debug\n" +msgstr "Jäljitä funktion merkinnät ja jätä debug pisteitä\n" + +#: main.cpp:59 +msgid "Current maintainer" +msgstr "Tämän hetkinen ylläpitäjä" + +#: main.cpp:62 +msgid "Powersave developer and for D-Bus integration" +msgstr "Virransäästön kehittäjä ja D-Bus-integrointi" + +#: main.cpp:64 +msgid "Powersave developer and tester" +msgstr "Virransäästön kehittäjä ja testaaja" + +#: main.cpp:66 +msgid "Added basic detailed dialog" +msgstr "Kehitti käyttöliittymää" + +#: main.cpp:67 +msgid "Packaging Debian and Ubuntu" +msgstr "Debian ja Ubuntu paketit" + +#: detaileddialog.cpp:61 +msgid "KPowersave Information Dialog" +msgstr "K-virransäästö tietoikkuna" + +#: detaileddialog.cpp:65 configure_Dialog.cpp:882 configure_Dialog.cpp:922 +msgid "Miscellaneous" +msgstr "Sekalaiset" + +#: detaileddialog.cpp:66 +msgid "CPUs" +msgstr "CPU:t" + +#: detaileddialog.cpp:73 detaileddialog.cpp:453 +msgid "Battery state:" +msgstr "Akun varaustila:" + +#: detaileddialog.cpp:79 +msgid "Total:" +msgstr "Yhteensä:" + +#: detaileddialog.cpp:81 detaileddialog.cpp:83 +msgid "Battery %1" +msgstr "Akku %1" + +#: detaileddialog.cpp:114 +msgid "Processor %1" +msgstr "Prosessori %1" + +#: detaileddialog.cpp:230 +msgid "not present" +msgstr "ei saatavilla" + +#: detaileddialog.cpp:243 +msgid "charged" +msgstr "latautunut" + +#: detaileddialog.cpp:245 +msgid "%1:%2 h until charged" +msgstr "%1:%2 h täyteen lataukseen" + +#: detaileddialog.cpp:248 +msgid "%1:%2 h remaining" +msgstr "%1:%2 h jäljellä" + +#: detaileddialog.cpp:253 detaileddialog.cpp:441 detaileddialog.cpp:468 +msgid "unknown" +msgstr "tuntematon" + +#: detaileddialog.cpp:325 detaileddialog.cpp:368 +msgid "%v MHz" +msgstr "%v Mhz" + +#: detaileddialog.cpp:330 detaileddialog.cpp:363 dummy.cpp:58 +msgid "deactivated" +msgstr "poistettu käytöstä" + +#: detaileddialog.cpp:395 +msgid "unplugged" +msgstr "ei käytössä" + +#: detaileddialog.cpp:412 +msgid "Current Scheme: " +msgstr "Nykyinen malli: " + +#: detaileddialog.cpp:429 +msgid "Current CPU Frequency Policy:" +msgstr "Nykyinen CPU-taajuuskäytäntö:" + +#: detaileddialog.cpp:435 kpowersave.cpp:193 configure_Dialog.cpp:877 +msgid "Dynamic" +msgstr "Dynaaminen" + +#: detaileddialog.cpp:456 +msgid "Critical" +msgstr "Kriittinen" + +#: detaileddialog.cpp:459 +msgid "Low" +msgstr "Matala" + +#: detaileddialog.cpp:462 kpowersave.cpp:277 kpowersave.cpp:652 +#: kpowersave.cpp:659 kpowersave.cpp:705 kpowersave.cpp:713 kpowersave.cpp:761 +#: kpowersave.cpp:769 kpowersave.cpp:817 kpowersave.cpp:824 +#: kpowersave.cpp:1131 kpowersave.cpp:1243 kpowersave.cpp:1272 +#: kpowersave.cpp:1610 kpowersave.cpp:1670 kpowersave.cpp:2186 +msgid "Warning" +msgstr "Varoitus" + +#: detaileddialog.cpp:465 +msgid "ok" +msgstr "ok" + +#: detaileddialog.cpp:474 detaileddialog.cpp:477 +msgid "Set brightness supported:" +msgstr "Näytön kirkkauden säätö tuettu:" + +#: detaileddialog.cpp:475 +msgid "yes" +msgstr "kyllä" + +#: detaileddialog.cpp:478 +msgid "no" +msgstr "ei" + +#: detaileddialog.cpp:481 detaileddialog.cpp:485 +msgid "HAL Daemon:" +msgstr "Hal-demoni:" + +#: detaileddialog.cpp:482 +msgid "running" +msgstr "käytössä" + +#: detaileddialog.cpp:486 +msgid "not running" +msgstr "ei käytössä" + +#: info_Dialog.cpp:197 +msgid "Information" +msgstr "Tietoja" + +#: dummy.cpp:36 +msgid "If the current desktop user is inactive, dim the display to:" +msgstr "Mikäli työpöydän käyttäjä on toimettomana, himmennä näyttö:" + +#: dummy.cpp:37 +msgid "Enable dim display on inactivity" +msgstr "Ota himmennys käyttöön, jos toimettomana" + +#: dummy.cpp:38 +msgid "Blacklist" +msgstr "Kieltoluettelo" + +#: dummy.cpp:39 +msgid "" +"Here you can add programs which should, if running, prevent the dimming of " +"the display." +msgstr "" +"Tässä voit lisätä ohjelmia joiden tulisi, jos ovat käytössä, estää näytön " +"himmennys." + +#: dummy.cpp:41 +msgid "Would you like to import a predefined blacklist?" +msgstr "Haluatko tuoda esimääritetyn kieltoluettelon?" + +#: dummy.cpp:42 +msgid "Disable CPUs/Cores" +msgstr "Poista prosessorit/ytimet käytöstä" + +#: dummy.cpp:43 +msgid "Max. running CPUs:" +msgstr "Käytössä olevien prosessorien enimmäismäärä:" + +#: dummy.cpp:44 +msgid "Max. running CPUs/Cores:" +msgstr "Käytössä olevien prosessorien/ytimien enimmäismäärä:" + +#: dummy.cpp:45 +msgid "Min. running CPUs:" +msgstr "Käytössä olevien prosessorien vähimmäismäärä:" + +#: dummy.cpp:46 +msgid "Min. running CPUs/Cores:" +msgstr "Suorituksessa olevien prosessoreiden/ytimien vähimmäismäärä:" + +#: dummy.cpp:47 +msgid "Enable to switch off CPUs/cores" +msgstr "Ota käyttöön, halutessasi poistaa käytöstä suorittimia/ytimiä" + +#: dummy.cpp:48 +msgid "You have a multiprocessor/multicore machine." +msgstr "Tietokoneesi on moniprosessorinen/moniytiminen." + +#: dummy.cpp:49 +msgid "" +"You can disable CPUs/cores to reduce power consumption and save battery " +"power." +msgstr "" +"Voit poistaa prosessoreita/ytimiä käytöstä vähentääksesi virrankulutusta ja " +"säästää akkua." + +#: dummy.cpp:50 +msgid "Device" +msgstr "Laite" + +#: dummy.cpp:51 +msgid "Devices" +msgstr "Laitteet" + +#: dummy.cpp:52 +msgid "Device class" +msgstr "Laiteluokka" + +#: dummy.cpp:53 +msgid "activate" +msgstr "ota käyttöön" + +#: dummy.cpp:54 +msgid "Activate" +msgstr "Ota käyttöön" + +#: dummy.cpp:55 +msgid "deactivate" +msgstr "poista käytöstä" + +#: dummy.cpp:56 +msgid "Deactivate" +msgstr "Poista käytöstä" + +#: dummy.cpp:57 +msgid "activated" +msgstr "otettu käyttöön" + +#: dummy.cpp:59 +msgid "do nothing" +msgstr "älä tee mitään" + +#: dummy.cpp:60 +msgid "Deactivate following devices:" +msgstr "Poista seuraavat laitteet käytöstä:" + +#: dummy.cpp:61 +msgid "Activate following devices" +msgstr "Ota seuraavat laitteet käyttöön" + +#: dummy.cpp:62 +msgid "Reactivate following devices" +msgstr "Ota seuraavat laitteet uudelleen käyttöön" + +#: dummy.cpp:63 +msgid "Deactivate following device classes:" +msgstr "Poista seuraavat laiteluokat käytöstä:" + +#: dummy.cpp:64 +msgid "Activate following devices classes" +msgstr "Ota seuraavat laiteluokat käyttöön" + +#: dummy.cpp:65 +msgid "Reactivate following device classes" +msgstr "Ota seuraavat laiteluokat uudelleen käyttöön" + +#: dummy.cpp:66 +msgid "If the scheme switched all devices are again activated." +msgstr "Jos mallia vaihdetaan, kaikki laitteet otetaan uudelleen käyttöön." + +#: dummy.cpp:67 +msgid "This is a experimental feature." +msgstr "Tämä on kokeellinen ominaisuus." + +#: dummy.cpp:68 +msgid "If you have problems with this feature, please report them." +msgstr "Mikäli kohtaat ongelmia, ilmoita niistä." + +#: dummy.cpp:69 +msgid "Select one of the available devices and click on " +msgstr "Valitse yksi laitteista ja napsauta " + +#: dummy.cpp:70 +msgid "Select one of the available device classes and click on " +msgstr "Valitse yksi laiteluokka ja napsauta " + +#: dummy.cpp:71 +msgid "Select one or more of the available devices and click on " +msgstr "Valitse yksi tai useampi laite ja napsauta " + +#: dummy.cpp:72 +msgid "Select one or more of the available device classes and click on " +msgstr "Valitse yksi tai useampi laiteluokka ja napsauta " + +#: dummy.cpp:73 +msgid "" +"Please note: If you e.g. deactivate a network device you may lose your " +"internet connection." +msgstr "" +"Huomaa: Jos otat pois käytöstä esim. verkkolaitteen, menetät verkkoyhteyden." + +#: dummy.cpp:75 +msgid "" +"Note: If you select this option, the computer will suspend or standby " +"if the current user is inactive for the defined time.

    This feature " +"can also produce problems with some programs, such as video players or cd " +"burner. These programs can be blacklisted by checking Enable scheme-" +"specific blacklist and click Edit Blacklist.... If this does not " +"help, report the problem or deactivate autosuspend.

    Really use this " +"option?" +msgstr "" +"Huomaa: Jos tämä valinta valitaan, tietokone siirtyy lepo- tai " +"valmiustilaan, mikäli työpöydän käyttäjä on toimettomana määritellyn ajan." +"

    Tämä ominaisuus voi myös aiheuttaa ongelmia joillekin ohjelmilla, " +"kuten videosoittimille tai CD-polttajille. Nämä ohjelmat voidaan luetteloida " +"valitsemalla Ota käyttöön mallikohtainen kieltoluettelo ja " +"napsauttamalla Muokkaa kieltoluetteloa.... Mikäli tämä ei auta, " +"ilmoita virheestä tai ota automaattinen lepotila pois käytöstä.

    " +"Käytetäänkö varmasti tätä valintaa?" + +#: dummy.cpp:82 +msgid "Try to use only one CPU/Core." +msgstr "Yritä käyttää vain yhtä prosessoria/ydintä." + +#: dummy.cpp:83 +msgid "" +"Reduce power consumption by try to use only one CPU/Core instead of " +"spreading the work over all/multiple CPUs." +msgstr "" +"Vähennä virrankulutusta yrittämällä käyttää vain yhtä prosessoria/ydintä, " +"sen sijaan että käytettäisiin kaikkia/useita ytimiä." + +#: dummy.cpp:87 +msgid "Could not load the global configuration." +msgstr "Yleisten asetusten lataus ei onnistunut." + +#: dummy.cpp:88 +msgid "Could not load the requested scheme configuration." +msgstr "Pyydetyn mallimäärityksen lataus ei onnistunut." + +#: dummy.cpp:89 +msgid "Configure the current scheme." +msgstr "Määritä nykyinen malli." + +#: dummy.cpp:90 +msgid "Try loading the default configuration." +msgstr "Yritä ladata oletusmalli." + +#: dummy.cpp:91 +msgid "Maybe the global configuration file is empty or missing." +msgstr "Ehkä yleinen määritystiedosto on tyhjä tai puuttuu." + +#: dummy.cpp:94 +msgid "Cannot connect to D-Bus. The D-Bus daemon may not be running." +msgstr "" +"D-BUS:siin kytkeytyminen ei onnistu. D-BUS-demoni ei ehkä ole käynnissä." + +#: dummy.cpp:95 +msgid "" +"Scheme switched to %1. \n" +" Deactivate following devices: %2" +msgstr "" +"Malliksi vaihdettiin %1. \n" +" Otetaan seuraavat laitteet pois käytöstä: %2" + +#: dummy.cpp:96 +msgid "" +"Scheme switched to %1. \n" +" Activate following devices: %2" +msgstr "" +"Malliksi vaihdettiin %1. \n" +" Otetaan seuraavat laitteet käyttöön: %2" + +#: dummy.cpp:97 +msgid "Report ..." +msgstr "Ilmoita ..." + +#: dummy.cpp:98 +msgid "Suspend to RAM is not supported on your machine." +msgstr "Tietokoneesi ei tue lepotila muistiin toimintoa." + +#: dummy.cpp:99 +msgid "Additionally, please mail the output of %1 to %2 . Thanks!" +msgstr "Lisäksi, lähetä %1 tuloste sähköpostilla %2 . Kiitos!" + +#: dummy.cpp:100 +msgid "Power consumption" +msgstr "Virrankulutus" + +#: dummy.cpp:103 +msgid "KScreensaver not found." +msgstr "K-näytönsäästäjää ei löydetty." + +#: dummy.cpp:104 +msgid "Try locking with XScreensaver or xlock." +msgstr "Kokeile lukitusta X-näytönsäästäjällä tai xlock:illa." + +#: dummy.cpp:105 +msgid "XScreensaver not found." +msgstr "X-näytönsäästäjää ei löydetty." + +#: dummy.cpp:106 +msgid "Try locking the screen with xlock." +msgstr "Kokeile näytön lukitusta xlock:illa." + +#: dummy.cpp:107 +msgid "" +"XScreensaver and xlock not found. It is not possible to lock the screen. " +"Check your installation." +msgstr "" +"X-näytönsäästäjää eikä xlock:ia löydetty. Ruudun lukitus ei ole mahdollista. " +"Tarkista asennuksesi." + +#: dummy.cpp:111 +msgid "HAL daemon:" +msgstr "HAL-demoni:" + +#: dummy.cpp:112 +msgid "D-Bus daemon:" +msgstr "D-BUS-demoni:" + +#: dummy.cpp:113 +msgid "ConsoleKit daemon:" +msgstr "ConsoleKit demoni:" + +#: dummy.cpp:114 +msgid "Autosuspend activated:" +msgstr "Automaattinen lepotila otettu käyttöön:" + +#: dummy.cpp:115 +msgid "Autodimm activated:" +msgstr "Himmennys aktivoitu:" + +#: dummy.cpp:116 +msgid "enabled" +msgstr "otettu käyttöön" + +#: dummy.cpp:117 +msgid "Session active:" +msgstr "Istunto aktiivinen:" + +#: dummy.cpp:120 +msgid "Inactivity detected." +msgstr "Aktiviteettia ei ole havaittu." + +#: dummy.cpp:121 +msgid "To stop the %1 press the 'Cancel' button before the countdown expire." +msgstr "Pysäyttääksesi %1 paina 'Peruuta' ennen kuin laskuri menee nollaan." + +#: dummy.cpp:122 +msgid "The computer autosuspend in: " +msgstr "Suorita autosuspend ajassa: " + +#: dummy.cpp:123 +#, c-format +msgid "The display get dimmed down to %1% in: " +msgstr "Tummenna näyttö arvoon %1% ajassa: " + +#: dummy.cpp:124 +msgid "%1 seconds" +msgstr "%1 sekuntia" + +#: dummy.cpp:127 +msgid "Could not call %1. The current desktop session is not active." +msgstr "Ei voitu kutsua %1. Nykyinen työpöytäistunto ei ole aktiivinen." + +#: dummy.cpp:128 +msgid "Could not set %1. The current desktop session is not active." +msgstr "Ei voitu asettaa %1. Nykyinen työpöytäistunto ei ole aktiivinen." + +#: dummy.cpp:129 +msgid "Stopped %1. The current desktop session is now inactive." +msgstr "Pysäytetty %1. Nykyinen työpöytäistunto ei enää ole aktiivinen." + +#: dummy.cpp:130 +msgid "Restarted %1. The current desktop session is now active again." +msgstr "Uudelleenkäynnistetty %1. Nykyinen työpöytäistunto on taas aktiivinen." + +#: log_viewer.cpp:78 +msgid "Form1" +msgstr "Form1" + +#: log_viewer.cpp:79 +msgid "Save As ..." +msgstr "Tallenna nimellä..." + +#: log_viewer.cpp:80 +msgid "Close" +msgstr "Sulje" + +#: logviewer.cpp:44 +msgid "KPowersave Logfile Viewer: %1" +msgstr "KPowersave lokitiedoston katseluohjelma: %1" + +#: logviewer.cpp:89 +msgid "File already exist. Overwrite the file?" +msgstr "Tiedosto on jo olemassa. Ylikirjoita se?" + +#: logviewer.cpp:90 logviewer.cpp:97 +msgid "Error while save logfile" +msgstr "Virhe kirjoitettaessa lokitiedostoon" + +#: logviewer.cpp:95 +msgid "File already exist." +msgstr "Tiedosto on jo olemassa." + +#: logviewer.cpp:98 +msgid "Try other filename ..." +msgstr "Kokeile toista tiedostonimeä ..." + +#: suspenddialog.cpp:70 +msgid "Preparing Suspend..." +msgstr "Valmistellaan lepotilaa..." + +#: kpowersave.cpp:168 +msgid "Configure KPowersave..." +msgstr "Määritä K-virransäästö..." + +#: kpowersave.cpp:171 configure_Dialog.cpp:915 +msgid "Configure Notifications..." +msgstr "Määritä ilmoitukset..." + +#: kpowersave.cpp:175 +msgid "Start YaST2 Power Management Module..." +msgstr "Käynnistä YaST2 Virranhallintamoduuli..." + +#: kpowersave.cpp:189 kpowersave.cpp:2106 kpowersave.cpp:2166 +#: kpowersave.cpp:2253 +msgid "Standby" +msgstr "Valmiustila" + +#: kpowersave.cpp:191 kpowersave.cpp:198 +msgid "Set CPU Frequency Policy" +msgstr "Aseta CPU-taajuuskäytäntö" + +#: kpowersave.cpp:205 kpowersave.cpp:206 +msgid "Set Active Scheme" +msgstr "Aseta käytössä oleva malli" + +#: kpowersave.cpp:212 +msgid "Disable Actions on Inactivity" +msgstr "Ota pois toimettomuuden tapahtumat" + +#: kpowersave.cpp:219 kpowersave.cpp:229 +msgid "&Help" +msgstr "O&hje" + +#: kpowersave.cpp:221 +msgid "&KPowersave Handbook" +msgstr "&K-virranhallinnan ohjekirja" + +#: kpowersave.cpp:224 +msgid "&Report a bug ..." +msgstr "Ilmoita vi&rheestä..." + +#: kpowersave.cpp:226 +msgid "&About KPowersave" +msgstr "Tietoj&a K-virransäästöstä" + +#: kpowersave.cpp:275 kpowersave.cpp:648 kpowersave.cpp:656 kpowersave.cpp:703 +#: kpowersave.cpp:710 kpowersave.cpp:759 kpowersave.cpp:766 kpowersave.cpp:815 +#: kpowersave.cpp:822 kpowersave.cpp:1126 kpowersave.cpp:1241 +#: kpowersave.cpp:1270 kpowersave.cpp:2183 +msgid "WARNING" +msgstr "ALHAINEN" + +#: kpowersave.cpp:275 +msgid "Cannot find any schemes." +msgstr "Profiileja ei löydetty." + +#: kpowersave.cpp:453 +msgid "No information about battery and AC status available" +msgstr "Akku- tai verkkovirran tilasta ei tietoja saatavilla" + +#: kpowersave.cpp:456 +msgid "Plugged in -- fully charged" +msgstr "Verkkovirta -- täysi varaustila" + +#: kpowersave.cpp:460 +msgid "Plugged in" +msgstr "Verkkovirta" + +#: kpowersave.cpp:464 +msgid "Plugged in -- %1% charged (%2:%3 h until full charged)" +msgstr "" +"Verkkovirta -- %1% varaustila (%2:%3 tuntia jäljellä täyteen varaustilaan)" + +#: kpowersave.cpp:467 +msgid "Plugged in -- %1% charged (%2:%3 remaining hours)" +msgstr "Verkkovirta -- %1% varaustila (%2:%3 tuntia jäljellä)" + +#: kpowersave.cpp:471 kpowersave.cpp:475 +#, c-format +msgid "Plugged in -- %1% charged" +msgstr "Verkkovirta -- %1% varaustila" + +#: kpowersave.cpp:474 +msgid "Plugged in -- no battery" +msgstr "Verkkovirta -- ei akkua" + +#: kpowersave.cpp:480 +msgid "Running on batteries -- %1% charged (%2:%3 hours remaining)" +msgstr "Akkuvirta -- %1% varaustila (%2:%3 tuntia jäljellä)" + +#: kpowersave.cpp:484 +#, c-format +msgid "Running on batteries -- %1% charged" +msgstr "Akkuvirta -- %1% varaustila" + +#: kpowersave.cpp:491 +msgid " -- battery is charging" +msgstr " -- akku on latauksessa" + +#: kpowersave.cpp:649 kpowersave.cpp:657 +msgid "Could not start YaST Power Management Module. Check if it is installed." +msgstr "" +"YaST Virransäästömoduulin käynnistys ei onnistunut. Tarkista, onko se " +"asennettu." + +#: kpowersave.cpp:703 +msgid "Suspend to disk failed" +msgstr "Lepotila levylle epäonnistui" + +#: kpowersave.cpp:711 +msgid "Suspend to disk disabled by administrator." +msgstr "Ylläpitäjä on ottanut \"lepotilan levylle\" pois käytöstä." + +#: kpowersave.cpp:759 +msgid "Suspend to RAM failed" +msgstr "Lepotila keskusmuistiin epäonnistui" + +#: kpowersave.cpp:767 +msgid "Suspend to RAM disabled by administrator." +msgstr "Ylläpitäjä on ottanut \"lepotilan keskusmuistiin\" pois käytöstä." + +#: kpowersave.cpp:815 +msgid "Standby failed" +msgstr "Valmiustila epäonnistui" + +#: kpowersave.cpp:822 +msgid "Standby disabled by administrator." +msgstr "Ylläpitäjä on ottanut valmiustilan pois käytöstä." + +#: kpowersave.cpp:853 +msgid "System is going into suspend mode now" +msgstr "Järjestelmä on nyt menossa lepotilaan" + +#: kpowersave.cpp:1039 +msgid "Could not call DCOP interface to umount external media." +msgstr "Ei voitu kutsua DCOP-liittymää ulkoisen media irrottamiseen." + +#: kpowersave.cpp:1044 +msgid "" +"Could not umount external media before suspend/standby. \n" +" (Reason: %1)\n" +" \n" +" Would you like to continue suspend/standby anyway? \n" +"(Warning: Continue suspend can cause data loss!)" +msgstr "" +"Ei voitu irrottaa ulkoista mediaa ennen lepotilaa. \n" +" (Syy: %1)\n" +" \n" +" Haluaisitko silti että mennään lepotilaan? \n" +"(Varoitus: lepotilaan siirtyminen voi aiheuttaa tietojen menetyksen!)" + +#: kpowersave.cpp:1052 +msgid "Error while prepare %1" +msgstr "Virhe valmisteltaessa %1" + +#: kpowersave.cpp:1053 +msgid "Suspend anyway" +msgstr "Siirry lepotilaan joka tapauksessa" + +#: kpowersave.cpp:1053 +msgid "Cancel suspend" +msgstr "Peruuta lepotila" + +#: kpowersave.cpp:1127 +msgid "" +"Could not lock the screen. There may be a problem with the selected \n" +"lock method or something else." +msgstr "" +"Ruudun lukitus ei onnistunut. Valitussa lukitusmenetelmässä tai jossakin " +"muualla saattaa olla ongelma." + +#: kpowersave.cpp:1144 +msgid "The Lid was closed." +msgstr "Kansi suljettiin." + +#: kpowersave.cpp:1156 +msgid "The Lid was opened." +msgstr "Kansi avattiin." + +#: kpowersave.cpp:1223 +msgid "Start KPowersave automatically when you log in?" +msgstr "Käynnistetäänkö K-virransäästö automaattisesti sisäänkirjautuessa?" + +#: kpowersave.cpp:1224 +msgid "Question" +msgstr "Kysymys" + +#: kpowersave.cpp:1225 +msgid "Start Automatically" +msgstr "Käynnistä automaattisesti" + +#: kpowersave.cpp:1225 +msgid "Do Not Start" +msgstr "Älä käynnistä" + +#: kpowersave.cpp:1242 +msgid "CPU Freq Policy %1 could not be set." +msgstr "CPU-taajuuskäytäntöä %1 ei voitu asettaa." + +#: kpowersave.cpp:1271 +msgid "Scheme %1 could not be activated." +msgstr "Mallia %1 ei voitu ottaa käyttöön." + +#: kpowersave.cpp:1600 +msgid "" +"The D-Bus daemon is not running.\n" +"Starting it will provide full functionality: /etc/init.d/dbus start" +msgstr "" +"DBUS-demoni ei ole käynnissä.\n" +"Sen käynnistäminen tarjoaa täyden toiminnallisuuden: /etc/init.d/messagebus " +"start" + +#: kpowersave.cpp:1611 +msgid "Don't show this message again." +msgstr "Älä näytä tätä ilmoitusta uudestaan." + +#: kpowersave.cpp:1637 +msgid "ERROR" +msgstr "VIRHE" + +#: kpowersave.cpp:1638 +msgid "Could not get information from HAL. The haldaemon is maybe not running." +msgstr "Tietoja HAL-demonilta ei saatu. Ehkä HAL-demoni ei ole käynnissä." + +#: kpowersave.cpp:1641 +msgid "Error" +msgstr "Virhe" + +#: kpowersave.cpp:1912 +msgid "" +"Battery state changed to WARNING -- remaining time: %1 hours and %2 minutes." +msgstr "" +"Akun varaustila laski ALHAISEKSI -- jäljellä oleva aika: %1 tuntia %2 " +"minuuttia." + +#: kpowersave.cpp:1921 +msgid "" +"Battery state changed to LOW -- remaining time: %1 hours and %2 minutes." +msgstr "" +"Akun varaustila laski LÄHES KRIITTISEN ALHAISEKSI -- jäljellä oleva aika: %1 " +"tuntia %2 minuuttia." + +#: kpowersave.cpp:1932 +msgid "" +"Battery state changed to CRITICAL -- remaining time: %1 hours and %2 " +"minutes.\n" +"Shut down your system or plug in the power cable immediately. Otherwise the " +"machine\n" +"will go shutdown in 30 seconds" +msgstr "" +"Akun varaustila laski KRIITTISEN ALHAISEKSI. -- jäljellä: %1 tuntia %2 " +"minuuttia.\n" +"Sammuta järjestelmä tai kytke verkkovirta välittömästi. Muuten kone " +"sulkeutuu\n" +"30:n sekunnin kuluttua" + +#: kpowersave.cpp:1943 +msgid "" +"Battery state changed to CRITICAL -- remaining time: %1 hours and %2 " +"minutes.\n" +"Shut down your system or plug in the power cable immediately." +msgstr "" +"Akun varaustila laski KRIITTISEN ALHAISEKSI. -- jäljellä: %1 tuntia %2 " +"minuuttia.\n" +"Sammuta järjestelmä tai kytke verkkovirta välittömästi." + +#: kpowersave.cpp:2041 +msgid "AC adapter plugged in" +msgstr "Verkkovirta kytkettynä" + +#: kpowersave.cpp:2043 +msgid "AC adapter unplugged" +msgstr "Verkkovirta ei kytkettynä" + +#: kpowersave.cpp:2078 +msgid "Switched to scheme: %1" +msgstr "Virranhallinta vaihdettu malliin: %1" + +#: kpowersave.cpp:2095 kpowersave.cpp:2100 kpowersave.cpp:2105 +msgid "System is going into %1 now." +msgstr "Järjestelmä on nyt menossa %1." + +#: kpowersave.cpp:2155 kpowersave.cpp:2160 kpowersave.cpp:2165 +msgid "System is resumed from %1." +msgstr "Järjestelmä on palautunut %1." + +#: kpowersave.cpp:2184 +msgid "Could not remount (all) external storage media." +msgstr "Ei voitu liittää (kaikkia) ulkoisia medioita uudelleen." + +#: kpowersave.cpp:2192 +msgid "An unknown error occurred while %1. The errorcode is: '%2'" +msgstr "Tuntematon virhe toiminnossa %1. Virhekoodi: '%2'" + +# power-off message +#: kpowersave.cpp:2197 +msgid "Do you want to have a look at the log file?" +msgstr "Haluatko katsella lokitiedostoa?" + +#: kpowersave.cpp:2198 kpowersave.cpp:2224 +msgid "Error while %1" +msgstr "Virhe toiminnossa %1" + +#: configure_Dialog.cpp:831 +msgid "KPowersave Settings" +msgstr "K-virransäästön asetukset" + +#: configure_Dialog.cpp:832 +msgid "Apply" +msgstr "Käytä" + +#: configure_Dialog.cpp:834 +msgid "Help" +msgstr "Ohje" + +#: configure_Dialog.cpp:840 +msgid "Enable specific display power management" +msgstr "Ota käyttöön valittu virranhallinta" + +#: configure_Dialog.cpp:841 +msgid "Standby after:" +msgstr "Valmiustila ajan kuluttua:" + +#: configure_Dialog.cpp:842 +msgid "Only blank the screen" +msgstr "Vain ruudun tyhjennys" + +#: configure_Dialog.cpp:843 +msgid "Disable screen saver" +msgstr "Ota näytönsäästäjä pois käytöstä" + +#: configure_Dialog.cpp:844 +msgid "Enable specific screensaver settings" +msgstr "Ota käyttöön valitut näytönsäästäjän asetukset" + +#: configure_Dialog.cpp:845 +msgid "Suspend after:" +msgstr "Lepotila ajan kuluttua:" + +#: configure_Dialog.cpp:846 +msgid "Power off after:" +msgstr "Sammutus ajan kuluttua:" + +#: configure_Dialog.cpp:847 +msgid "Disable display power management" +msgstr "Ota pois näytön virranhallinta" + +#: configure_Dialog.cpp:848 configure_Dialog.cpp:849 configure_Dialog.cpp:850 +#: configure_Dialog.cpp:862 configure_Dialog.cpp:873 +msgid " min" +msgstr " minuuttia" + +#: configure_Dialog.cpp:851 +msgid "Screen Saver and DPMS" +msgstr "Näytönsäästäjä ja DPMS" + +#: configure_Dialog.cpp:852 +msgid "Settings" +msgstr "Asetukset" + +#: configure_Dialog.cpp:853 +msgid "Reset" +msgstr "Palauta" + +#: configure_Dialog.cpp:855 +msgid "Enable scheme specific Brightness settings" +msgstr "Ota käyttöön mallikohtaiset kirkkaudensäädöt" + +#: configure_Dialog.cpp:858 +msgid "Brightness" +msgstr "Kirkkaus" + +#: configure_Dialog.cpp:859 +msgid "Enable autosuspend" +msgstr "Ota käyttöön automaattinen lepotila" + +#: configure_Dialog.cpp:860 configure_Dialog.cpp:867 +msgid "Enable scheme-specific blacklist" +msgstr "Ota käyttöön mallikohtainen kieltoluettelo" + +#: configure_Dialog.cpp:861 configure_Dialog.cpp:870 +msgid "after:" +msgstr "ajan kuluttua:" + +#: configure_Dialog.cpp:863 configure_Dialog.cpp:868 +msgid "Edit Blacklist..." +msgstr "Muokkaa kieltoluetteloa..." + +#: configure_Dialog.cpp:864 configure_Dialog.cpp:869 +msgid "If the current desktop user is inactive the computer will:" +msgstr "Mikäli työpöydän käyttäjä on toimettomana, tietokone:" + +#: configure_Dialog.cpp:865 +msgid "Autosuspend" +msgstr "Automaattinen lepotila" + +#: configure_Dialog.cpp:866 +msgid "Enable autodimm the display" +msgstr "Ota näytön himmennys käyttöön" + +#: configure_Dialog.cpp:871 configure_Dialog.cpp:893 configure_Dialog.cpp:894 +#: configure_Dialog.cpp:895 configure_Dialog.cpp:896 configure_Dialog.cpp:897 +#: configure_Dialog.cpp:898 +msgid " %" +msgstr " %" + +#: configure_Dialog.cpp:872 +msgid "dimm to:" +msgstr "himmennä arvoon:" + +#: configure_Dialog.cpp:874 +msgid "Autodimm" +msgstr "Himmennys" + +#: configure_Dialog.cpp:879 +msgid "Set CPU Frequency Policy:" +msgstr "Aseta CPU-kellotaajuuskäytäntö:" + +#: configure_Dialog.cpp:880 +msgid "CPU Frequency Policy" +msgstr "Aseta CPU-taajuuskäytäntö" + +#: configure_Dialog.cpp:881 +msgid "Disable Notifications" +msgstr "Poista ilmoitukset" + +#: configure_Dialog.cpp:884 +msgid "New" +msgstr "Uusi" + +#: configure_Dialog.cpp:885 +msgid "Scheme Settings" +msgstr "Malliasetukset" + +#: configure_Dialog.cpp:886 +msgid "" +"Define the battery warning levels (in percentage) and the releated action if " +"the level get reached:" +msgstr "" +"Määritän akun kapasiteetin varoitustasot [%] ja niihin liitettävät toiminnot:" + +#: configure_Dialog.cpp:887 +msgid "Warning level:" +msgstr "Varoitustaso:" + +#: configure_Dialog.cpp:888 +msgid "Low level:" +msgstr "Matala taso:" + +#: configure_Dialog.cpp:889 +msgid "Critical level:" +msgstr "Kriittinen taso:" + +#: configure_Dialog.cpp:890 configure_Dialog.cpp:891 configure_Dialog.cpp:892 +msgid "if reached call:" +msgstr "jos saavutettu, suorita:" + +#: configure_Dialog.cpp:899 +msgid "Battery" +msgstr "Akku" + +#: configure_Dialog.cpp:900 +msgid "" +"Define the action which should be executed if the related button get pressed:" +msgstr "" +"Määritä toiminto, joka suoritetaan, jos siihen liitettyä painiketta " +"painetaan:" + +#: configure_Dialog.cpp:901 +msgid "Suspend-to-disk Button:" +msgstr "Lepotila levylle -painike:" + +#: configure_Dialog.cpp:902 +msgid "Sleep button:" +msgstr "Nukahda -painike:" + +#: configure_Dialog.cpp:903 +msgid "Lid close Button:" +msgstr "Sulje kansi -painike:" + +#: configure_Dialog.cpp:904 +msgid "Power Button:" +msgstr "Virtapainike:" + +#: configure_Dialog.cpp:905 +msgid "Button Events" +msgstr "Painikkeisiin liitetyt toiminnot" + +#: configure_Dialog.cpp:906 +msgid "" +"Select the following schemes as default if the system is running on AC or on " +"batteries." +msgstr "" +"Valitse seuraava malli järjestelmän oletusmalliksi joko AC- tai akkukäyttöön." + +#: configure_Dialog.cpp:907 +msgid "Battery scheme:" +msgstr "Akkukäytön malli:" + +#: configure_Dialog.cpp:908 +msgid "AC scheme:" +msgstr "AC-käytön malli: " + +#: configure_Dialog.cpp:909 +msgid "Default Schemes" +msgstr "Oletusmallit" + +#: configure_Dialog.cpp:910 +msgid "Lock screen before suspend or standby" +msgstr "Lukitse näyttö ennen lepo- tai valmiustilaa" + +#: configure_Dialog.cpp:911 +msgid "Lock screen with:" +msgstr "Lukitse näyttö ohjelmalla:" + +#: configure_Dialog.cpp:912 +msgid "Lock screen on lid close" +msgstr "Lukitse näyttö, kun kannettavan kansi suljetaan" + +#: configure_Dialog.cpp:913 +msgid "Lock Screen" +msgstr "Lukitse näyttö" + +#: configure_Dialog.cpp:914 +msgid "Notifications" +msgstr "Ilmoitukset" + +#: configure_Dialog.cpp:916 +msgid "Autostart" +msgstr "Automaattinen käynnistys" + +#: configure_Dialog.cpp:917 +msgid "Never ask me again on exit" +msgstr "Älä kysy enää uudelleen poistumisen yhteydessä" + +#: configure_Dialog.cpp:918 +msgid "KPowersave starts automatically on login" +msgstr "K-virransäästö käynnistyy automaattisesti sisäänkirjautuessa" + +#: configure_Dialog.cpp:919 +msgid "General Blacklists" +msgstr "Yleinen kieltoluettelo" + +#: configure_Dialog.cpp:920 +msgid "Edit Autosuspend Blacklist..." +msgstr "Lepotilan kieltoluettelon muokkaus..." + +#: configure_Dialog.cpp:921 +msgid "Edit Autodimm Blacklist..." +msgstr "Muokkaa himmennyksen kieltoluetteloa..." + +#: configure_Dialog.cpp:923 +msgid "General Settings" +msgstr "Yleiset asetukset" diff --git a/po/fr.po b/po/fr.po new file mode 100644 index 0000000..502d146 --- /dev/null +++ b/po/fr.po @@ -0,0 +1,1642 @@ +# translation of fr.po to français +# translation of kpowersave.po to Français +# This file is distributed under the same license as the PACKAGE package. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER. +# Antje Faber , 2004. +# Patricia Vaz , 2004. +# Patricia Vaz , 2004. +# Patricia Vaz , 2005. +# +msgid "" +msgstr "" +"Project-Id-Version: fr\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2007-08-10 03:16+0200\n" +"PO-Revision-Date: 2006-06-01 08:45\n" +"Last-Translator: Novell Language \n" +"Language-Team: Novell Language \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: KBabel 1.9\n" + +#: detailed_Dialog.cpp:228 +#, fuzzy +msgid "kpowersave" +msgstr "Powersave" + +#: detailed_Dialog.cpp:229 +msgid "General Information" +msgstr "Informations générales" + +#: detailed_Dialog.cpp:232 +msgid "Battery Status" +msgstr "État de la batterie" + +#: detailed_Dialog.cpp:233 +msgid "AC Adapter" +msgstr "Adaptateur CA" + +#: detailed_Dialog.cpp:234 detaileddialog.cpp:391 +msgid "plugged in" +msgstr "branché" + +#: detailed_Dialog.cpp:235 +#, fuzzy +msgid "Power Consumtion: " +msgstr "Consommation électrique" + +#: detailed_Dialog.cpp:237 +msgid "Processor Status" +msgstr "État du processeur" + +#: detailed_Dialog.cpp:238 blacklistedit_Dialog.cpp:130 info_Dialog.cpp:198 +#: configure_Dialog.cpp:838 +msgid "OK" +msgstr "" + +#: blacklisteditdialog.cpp:60 +msgid "General Blacklist" +msgstr "Liste noire générale" + +#: blacklisteditdialog.cpp:63 +msgid "Scheme: " +msgstr "Profil :" + +#: blacklisteditdialog.cpp:114 +msgid "Selected entry removed." +msgstr "Entrée sélectionnée supprimée." + +#: blacklisteditdialog.cpp:117 +msgid "Could not remove the selected entry." +msgstr "Impossible de supprimer l'entrée sélectionnée." + +#: blacklisteditdialog.cpp:137 +msgid "Inserted new entry." +msgstr "Nouvelle entrée insérée." + +#: blacklisteditdialog.cpp:141 +msgid "Entry exists already. Did not insert new entry." +msgstr "Entrée déjà existante. Nouvelle entrée non insérée." + +#: blacklisteditdialog.cpp:144 +msgid "Empty entry was not inserted." +msgstr "L'entrée vide n'a pas été insérée." + +#: inactivity.cpp:298 +msgid "" +"Could not start 'pidof'. Could not autosuspend the machine.\n" +"Please check your installation." +msgstr "" +"Impossible de lancer 'pidof'. Impossible de mettre l'ordinateur " +"automatiquement en veille.\n" +"Vérifiez votre installation." + +#: blacklistedit_Dialog.cpp:129 +msgid "Autosuspend Blacklist Edit" +msgstr "Modification de la liste noire de mise en veille automatique" + +#: blacklistedit_Dialog.cpp:132 configuredialog.cpp:1079 +#: configure_Dialog.cpp:836 +#, fuzzy +msgid "Cancel" +msgstr "&Annuler" + +#: blacklistedit_Dialog.cpp:135 +msgid "Add" +msgstr "Ajouter" + +#: blacklistedit_Dialog.cpp:136 +#, fuzzy +msgid "Remove" +msgstr "&Supprimer" + +#: infodialog.cpp:76 infodialog.cpp:78 main.cpp:55 +#, fuzzy +msgid "KPowersave" +msgstr "Powersave" + +#: configuredialog.cpp:116 configuredialog.cpp:121 configuredialog.cpp:721 +msgid " - not supported" +msgstr "" + +#: configuredialog.cpp:150 configuredialog.cpp:317 detaileddialog.cpp:432 +#: kpowersave.cpp:192 settings.cpp:66 configure_Dialog.cpp:876 +msgid "Performance" +msgstr "Performance" + +#: configuredialog.cpp:154 configuredialog.cpp:319 detaileddialog.cpp:438 +#: kpowersave.cpp:194 settings.cpp:68 configure_Dialog.cpp:878 +msgid "Powersave" +msgstr "Powersave" + +#: configuredialog.cpp:159 configuredialog.cpp:321 kpowersave.cpp:1478 +#: settings.cpp:70 +msgid "Presentation" +msgstr "Présentation" + +#: configuredialog.cpp:164 configuredialog.cpp:323 kpowersave.cpp:1473 +#: settings.cpp:72 +msgid "Acoustic" +msgstr "Sonore" + +#: configuredialog.cpp:169 configuredialog.cpp:171 configuredialog.cpp:172 +#: configuredialog.cpp:173 kpowersave.cpp:1484 +msgid "Advanced Powersave" +msgstr "Fonction Powersave avancée" + +#: configuredialog.cpp:271 +msgid "" +"This enables specific screen saver settings. \n" +"Note: If selected, the global screen saver settings are \n" +"overwritten while kpowersave runs." +msgstr "" +"Cela active des paramètres spécifiques d'écran de veille. \n" +"Remarque : en cas de sélection, les paramètres d'économiseur d'écran globaux " +"sont \n" +"remplacés lors de l'exécution de kpowersave." + +#: configuredialog.cpp:274 +msgid "" +"This disables the screen saver. \n" +"Note: If selected, the global screen saver settings are \n" +"overwritten while kpowersave runs." +msgstr "" +"Cela désactive l'écran de veille. \n" +"Remarque : en cas de sélection, les paramètres d'économiseur d'écran globaux " +"sont \n" +"remplacés lors de l'exécution de kpowersave." + +#: configuredialog.cpp:277 +msgid "" +"This blanks the screen instead of using a specific screen saver. \n" +"Note: This may work only with KScreensaver." +msgstr "" +"Cela utilise un écran vide plutôt qu'un écran de veille particulier. \n" +"Remarque : cela ne peut fonctionner qu'avec KScreensaver." + +#: configuredialog.cpp:279 +msgid "" +"This enables specific DPMS settings. \n" +"Note: If selected, the global DPMS settings are \n" +"overwritten while kpowersave runs." +msgstr "" +"Cela active des paramètres DPMS spécifiques. \n" +"Remarque : en cas de sélection, les paramètres DPMS globaux sont \n" +"remplacés lors de l'exécution de kpowersave." + +#: configuredialog.cpp:282 +msgid "This disables DPMS support." +msgstr "Cela désactive le support DPMS." + +#: configuredialog.cpp:283 +msgid "If selected, the screen is locked on suspend or standby." +msgstr "" +"Si ceci est sélectionné, l'écran est verrouillé lors du passage en veille ou " +"en attente." + +#: configuredialog.cpp:284 +msgid "If selected, the screen is locked if the lid close event is triggered." +msgstr "" +"Si ceci est sélectionné, l'écran est verrouillé lorsque l'événement " +"fermeture de l'ordinateur est déclenché." + +#: configuredialog.cpp:286 +msgid "" +"Check this box to enable or disable automatic suspension of the computer." +msgstr "" +"Cocher cette case pour activer ou désactiver la mise en veille automatique " +"de l'ordinateur." + +#: configuredialog.cpp:288 +msgid "" +"Activate this action if the user was inactive for the defined time \n" +"(greater than 0 minutes). If empty, nothing happens." +msgstr "" +"Déclenchez cette action si l'utilisateur est resté inactif pendant la durée " +"définie\n" +"(supérieure à 0 minute). Si vide, rien ne se passe." + +#: configuredialog.cpp:291 +msgid "All scheme-related screen saver and DPMS settings." +msgstr "Tous les paramètres DPMS et d'écran de veille liés au profil." + +#: configuredialog.cpp:292 +msgid "All scheme-related display brightness settings." +msgstr "Tous les paramètres de luminosité liés au profil." + +#: configuredialog.cpp:293 +msgid "All scheme-related automatic suspend settings." +msgstr "Tous les paramètres de mise en veille automatique liés au profil." + +#: configuredialog.cpp:295 +msgid "" +"Here you can change the brightness of your display. \n" +"Use the slider to change the brightness directly for \n" +"testing. To reset back to previous level, please press \n" +"the 'Reset' button. " +msgstr "" +"Vous pouvez modifier ici la luminosité de l'écran. \n" +"Testez la luminosité directement\n" +"en déplaçant le curseur. Pour restaurer le précédent niveau de luminosité,\n" +"cliquez sur Réinitialiser. " + +#: configuredialog.cpp:299 +msgid "Use this button to set back the slider and the display brightness." +msgstr "Cliquez sur ce bouton pour rétablir le curseur et la luminosité." + +#: configuredialog.cpp:352 +msgid "Press this button to delete the selected scheme." +msgstr "" + +#: configuredialog.cpp:357 +msgid "You can't delete the current AC or battery scheme." +msgstr "" + +#: configuredialog.cpp:363 +msgid "You can't delete this default scheme." +msgstr "" + +#: configuredialog.cpp:546 +msgid "" +"Your hardware supports to change the brightness. The values of the slider " +"are in percent and mapped to the available brightness levels of your " +"hardware." +msgstr "" +"Le changement de luminosité dépend de votre matériel. Exprimées en " +"pourcentage, les valeurs du curseur sont assignées en fonction des niveaux " +"de luminosité disponibles sur votre matériel." + +#: configuredialog.cpp:553 +msgid "" +"Your Hardware currently not support changing the brightness of your display." +msgstr "" +"Actuellement, votre matériel ne prend pas en charge la modification de la " +"luminosité." + +#: configuredialog.cpp:664 +msgid "Select Automatically" +msgstr "sélectionner automatiquement" + +#: configuredialog.cpp:665 +msgid "KScreensaver" +msgstr "KScreensaver" + +#: configuredialog.cpp:666 +msgid "XScreensaver" +msgstr "XScreensaver" + +#: configuredialog.cpp:667 +msgid "xlock" +msgstr "xlock" + +#: configuredialog.cpp:668 +#, fuzzy +msgid "GNOME Screensaver" +msgstr "XScreensaver" + +#: configuredialog.cpp:930 +msgid "" +"There are unsaved changes in the active scheme.\n" +"Apply the changes before jumping to the next scheme or discard the changes?" +msgstr "" +"Il y a des modifications non enregistrées dans le profil actif.\n" +"Appliquer les modifications avant de passer au profil suivant ou les " +"abandonner ?" + +#: configuredialog.cpp:933 configuredialog.cpp:983 +msgid "Unsaved Changes" +msgstr "Changements non enregistrés" + +#: configuredialog.cpp:981 +msgid "" +"There are unsaved changes.\n" +"Apply the changes before cancel or discard the changes?" +msgstr "" +"Il y a des modifications non enregistrées.\n" +"Appliquer les modifications avant d'annuler ou les abandonner ?" + +#: configuredialog.cpp:1032 +msgid "Please insert a name for the new scheme:" +msgstr "" + +#: configuredialog.cpp:1038 +#, fuzzy +msgid "KPowersave Configuration" +msgstr "Boîte de dialogue d'information KPowersave" + +#: configuredialog.cpp:1046 +msgid "Error: A scheme with this name already exist.\n" +msgstr "" + +#: configuredialog.cpp:1076 +msgid "Do you really want to delete the %1 scheme?" +msgstr "" + +#: configuredialog.cpp:1078 +#, fuzzy +msgid "Confirm delete scheme" +msgstr "Configurez le profil en cours." + +#: configuredialog.cpp:1079 configure_Dialog.cpp:883 +msgid "Delete" +msgstr "" + +#: configuredialog.cpp:1095 +#, fuzzy +msgid "Could not delete the selected scheme." +msgstr "Impossible de supprimer l'entrée sélectionnée." + +#: configuredialog.cpp:1324 +msgid "" +"Note: If you select this option, the computer will suspend or standby " +"if the current user is inactive for the defined time even if somebody is " +"logged in remotely to the X server.

    This feature can also produce " +"problems with some programs, such as video players or cd burner. These " +"programs can be blacklisted by checking Enable scheme-specific blacklist and click Edit Blacklist.... If this does not help, report the " +"problem or deactivate autosuspend.

    Really use this option?" +msgstr "" +"Remarque : si vous sélectionnez cette option, l'ordinateur se met en " +"veille ou en attente si l'utilisateur actuel reste inactif pendant la durée " +"définie, même si quelqu'un s'est connecté à distance au serveur X.

    " +"Cette fonction peut également causer des problèmes avec certains programmes, " +"comme les lecteurs vidéo ou les graveurs de CD. Pour mettre ces programmes à " +"l'index, cochez Activer la liste noire spécifique au profil et " +"cliquez sur Modifier la liste noire.... Si le problème n'est pas " +"réglé, transmettez-le ou désactivez la mise en veille automatique.

    " +"Faut-il vraiment utiliser cette option ?" + +#: configuredialog.cpp:1402 configuredialog.cpp:1532 +msgid "" +"The blacklist of the selected scheme is empty. Import the general blacklist?" +msgstr "" +"La liste noire du profil sélectionné est vide. Importer la liste noire " +"générale ?" + +#: configuredialog.cpp:1404 configuredialog.cpp:1534 +msgid "Import" +msgstr "Importer" + +#: configuredialog.cpp:1404 configuredialog.cpp:1534 +msgid "Do Not Import" +msgstr "Ne pas importer" + +#: configuredialog.cpp:1416 +#, fuzzy +msgid "General Autosuspend Blacklist" +msgstr "Modification de la liste noire de mise en veille automatique" + +#: configuredialog.cpp:1546 +#, fuzzy +msgid "General Autodimm Blacklist" +msgstr "Liste noire générale" + +#: configuredialog.cpp:1779 configuredialog.cpp:1816 +msgid "Shutdown" +msgstr "" + +#: configuredialog.cpp:1781 configuredialog.cpp:1819 +msgid "Logout Dialog" +msgstr "" + +#: configuredialog.cpp:1784 configuredialog.cpp:1822 kpowersave.cpp:182 +#: kpowersave.cpp:2096 kpowersave.cpp:2156 kpowersave.cpp:2247 +msgid "Suspend to Disk" +msgstr "Mise en veille sur disque" + +#: configuredialog.cpp:1787 configuredialog.cpp:1825 kpowersave.cpp:186 +#: kpowersave.cpp:2101 kpowersave.cpp:2161 kpowersave.cpp:2250 +msgid "Suspend to RAM" +msgstr "Mise en veille sur RAM" + +#: configuredialog.cpp:1790 configuredialog.cpp:1828 +#, fuzzy +msgid "CPU Powersave policy" +msgstr "Powersave" + +#: configuredialog.cpp:1793 configuredialog.cpp:1831 +msgid "CPU Dynamic policy" +msgstr "" + +#: configuredialog.cpp:1796 configuredialog.cpp:1834 +#, fuzzy +msgid "CPU Performance policy" +msgstr "Performance" + +#: configuredialog.cpp:1799 configuredialog.cpp:1837 +#, fuzzy +msgid "Set Brightness to" +msgstr "Luminosité" + +#: main.cpp:43 +#, fuzzy +msgid "KDE Frontend for Power Management, Battery Monitoring and Suspend" +msgstr "" +"Interface client KDE pour la prise en charge du paquetage de la fonction " +"d'économie d'énergie, du moniteur de batterie et de la gestion de " +"l'alimentation" + +#: main.cpp:45 +#, fuzzy +msgid "Force a new check for ACPI support" +msgstr "Forcer une nouvelle recherche de la prise en charge ACPI\n" + +#: main.cpp:46 +msgid "Trace function entry and leave points for debug\n" +msgstr "" + +#: main.cpp:59 +msgid "Current maintainer" +msgstr "Agent de maintenance actuel" + +#: main.cpp:62 +#, fuzzy +msgid "Powersave developer and for D-Bus integration" +msgstr "" +"Développeur pour la fonction d'économie d'énergie et l'intégration DBUS" + +#: main.cpp:64 +msgid "Powersave developer and tester" +msgstr "Développeur et testeur de la fonction d'économie d'énergie" + +#: main.cpp:66 +msgid "Added basic detailed dialog" +msgstr "Boîte de dialogue détaillée de base ajoutée" + +#: main.cpp:67 +msgid "Packaging Debian and Ubuntu" +msgstr "Mise en paquetage de Debian et d'Ubuntu" + +#: detaileddialog.cpp:61 +msgid "KPowersave Information Dialog" +msgstr "Boîte de dialogue d'information KPowersave" + +#: detaileddialog.cpp:65 configure_Dialog.cpp:882 configure_Dialog.cpp:922 +msgid "Miscellaneous" +msgstr "Divers" + +#: detaileddialog.cpp:66 +msgid "CPUs" +msgstr "CPU" + +#: detaileddialog.cpp:73 detaileddialog.cpp:453 +msgid "Battery state:" +msgstr "État de la batterie :" + +#: detaileddialog.cpp:79 +msgid "Total:" +msgstr "Total :" + +#: detaileddialog.cpp:81 detaileddialog.cpp:83 +msgid "Battery %1" +msgstr "Batterie %1" + +#: detaileddialog.cpp:114 +msgid "Processor %1" +msgstr "Processeur %1" + +#: detaileddialog.cpp:230 +#, fuzzy +msgid "not present" +msgstr "absence." + +#: detaileddialog.cpp:243 +msgid "charged" +msgstr "chargé" + +#: detaileddialog.cpp:245 +msgid "%1:%2 h until charged" +msgstr "%1:%2 h jusqu'au chargement" + +#: detaileddialog.cpp:248 +msgid "%1:%2 h remaining" +msgstr "%1:%2 h à attendre" + +#: detaileddialog.cpp:253 detaileddialog.cpp:441 detaileddialog.cpp:468 +msgid "unknown" +msgstr "inconnu" + +#: detaileddialog.cpp:325 detaileddialog.cpp:368 +msgid "%v MHz" +msgstr "%v MHz" + +#: detaileddialog.cpp:330 detaileddialog.cpp:363 dummy.cpp:58 +msgid "deactivated" +msgstr "désactivation" + +#: detaileddialog.cpp:395 +msgid "unplugged" +msgstr "non branché" + +#: detaileddialog.cpp:412 +msgid "Current Scheme: " +msgstr "Profil actuel :" + +#: detaileddialog.cpp:429 +msgid "Current CPU Frequency Policy:" +msgstr "Règle de cadence processeur actuelle :" + +#: detaileddialog.cpp:435 kpowersave.cpp:193 configure_Dialog.cpp:877 +msgid "Dynamic" +msgstr "Dynamique" + +#: detaileddialog.cpp:456 +msgid "Critical" +msgstr "Critique" + +#: detaileddialog.cpp:459 +msgid "Low" +msgstr "Faible" + +#: detaileddialog.cpp:462 kpowersave.cpp:277 kpowersave.cpp:652 +#: kpowersave.cpp:659 kpowersave.cpp:705 kpowersave.cpp:713 kpowersave.cpp:761 +#: kpowersave.cpp:769 kpowersave.cpp:817 kpowersave.cpp:824 +#: kpowersave.cpp:1131 kpowersave.cpp:1243 kpowersave.cpp:1272 +#: kpowersave.cpp:1610 kpowersave.cpp:1670 kpowersave.cpp:2186 +msgid "Warning" +msgstr "Avertissement" + +#: detaileddialog.cpp:465 +msgid "ok" +msgstr "OK" + +#: detaileddialog.cpp:474 detaileddialog.cpp:477 +msgid "Set brightness supported:" +msgstr "Définition de la luminosité prise en charge :" + +#: detaileddialog.cpp:475 +msgid "yes" +msgstr "oui" + +#: detaileddialog.cpp:478 +msgid "no" +msgstr "non" + +#: detaileddialog.cpp:481 detaileddialog.cpp:485 +#, fuzzy +msgid "HAL Daemon:" +msgstr "Démon HAL :" + +#: detaileddialog.cpp:482 +msgid "running" +msgstr "exécution" + +#: detaileddialog.cpp:486 +msgid "not running" +msgstr "non-exécution" + +#: info_Dialog.cpp:197 +msgid "Information" +msgstr "Informations" + +#: dummy.cpp:36 +msgid "If the current desktop user is inactive, dim the display to:" +msgstr "Si l'utilisateur actuel reste inactif, griser :" + +#: dummy.cpp:37 +msgid "Enable dim display on inactivity" +msgstr "Griser l'affichage pendant l'inactivité" + +#: dummy.cpp:38 +msgid "Blacklist" +msgstr "Liste noire" + +#: dummy.cpp:39 +msgid "" +"Here you can add programs which should, if running, prevent the dimming of " +"the display." +msgstr "" +"Ajoutez ici les programmes qui doivent, s'ils s'exécutent, empêcher un " +"affichage grisé." + +#: dummy.cpp:41 +msgid "Would you like to import a predefined blacklist?" +msgstr "Voulez-vous importer une liste noire prédéfinie ?" + +#: dummy.cpp:42 +msgid "Disable CPUs/Cores" +msgstr "Désactiver UC/coeurs" + +#: dummy.cpp:43 +msgid "Max. running CPUs:" +msgstr "UC en exécution max. :" + +#: dummy.cpp:44 +msgid "Max. running CPUs/Cores:" +msgstr "UC/coeurs en exécution max. :" + +#: dummy.cpp:45 +msgid "Min. running CPUs:" +msgstr "UC en exécution min. :" + +#: dummy.cpp:46 +msgid "Min. running CPUs/Cores:" +msgstr "UC/coeurs en exécution min. :" + +#: dummy.cpp:47 +#, fuzzy +msgid "Enable to switch off CPUs/cores" +msgstr "Activer l'arrêt des UC/coeurs" + +#: dummy.cpp:48 +msgid "You have a multiprocessor/multicore machine." +msgstr "Votre machine est multi-processeurs/multi-coeurs." + +#: dummy.cpp:49 +msgid "" +"You can disable CPUs/cores to reduce power consumption and save battery " +"power." +msgstr "" +"Vous pouvez désactiver les UC/coeurs pour réduire la consommation électrique " +"et économiser les batteries." + +#: dummy.cpp:50 +msgid "Device" +msgstr "Périphérique" + +#: dummy.cpp:51 +msgid "Devices" +msgstr "Périphériques" + +#: dummy.cpp:52 +msgid "Device class" +msgstr "Classe de périphérique" + +#: dummy.cpp:53 +msgid "activate" +msgstr "activation" + +#: dummy.cpp:54 +msgid "Activate" +msgstr "Activer" + +#: dummy.cpp:55 +msgid "deactivate" +msgstr "désactiver" + +#: dummy.cpp:56 +msgid "Deactivate" +msgstr "Désactiver" + +#: dummy.cpp:57 +msgid "activated" +msgstr "activation" + +#: dummy.cpp:59 +msgid "do nothing" +msgstr "aucune action" + +#: dummy.cpp:60 +msgid "Deactivate following devices:" +msgstr "Désactiver les périphériques suivants :" + +#: dummy.cpp:61 +msgid "Activate following devices" +msgstr "Activer les périphériques suivants :" + +#: dummy.cpp:62 +msgid "Reactivate following devices" +msgstr "Réactiver les périphériques suivants :" + +#: dummy.cpp:63 +msgid "Deactivate following device classes:" +msgstr "Désactiver les classes de périphérique suivants :" + +#: dummy.cpp:64 +msgid "Activate following devices classes" +msgstr "Activer les classes de périphérique suivants :" + +#: dummy.cpp:65 +msgid "Reactivate following device classes" +msgstr "Réactiver les classes de périphérique suivants :" + +#: dummy.cpp:66 +msgid "If the scheme switched all devices are again activated." +msgstr "En cas de changement de profil, tous les périphériques sont réactivés." + +#: dummy.cpp:67 +msgid "This is a experimental feature." +msgstr "Cette fonction est expérimentale." + +#: dummy.cpp:68 +msgid "If you have problems with this feature, please report them." +msgstr "" +"Si vous rencontrez des problèmes avec cette fonction, veuillez les signaler." + +#: dummy.cpp:69 +msgid "Select one of the available devices and click on " +msgstr "Sélectionnez l'un des périphériques disponibles, puis cliquez sur" + +#: dummy.cpp:70 +msgid "Select one of the available device classes and click on " +msgstr "" +"Sélectionnez l'une des classes de périphérique disponibles, puis cliquez sur" + +#: dummy.cpp:71 +msgid "Select one or more of the available devices and click on " +msgstr "" +"Sélectionnez un ou plusieurs périphériques disponibles, puis cliquez sur" + +#: dummy.cpp:72 +msgid "Select one or more of the available device classes and click on " +msgstr "" +"Sélectionnez une ou plusieurs classes de périphérique disponibles, puis " +"cliquez sur" + +#: dummy.cpp:73 +msgid "" +"Please note: If you e.g. deactivate a network device you may lose your " +"internet connection." +msgstr "" +"Remarque : si vous désactivez par exemple un périphérique réseau, vous " +"perdez votre connexion Internet." + +#: dummy.cpp:75 +msgid "" +"Note: If you select this option, the computer will suspend or standby " +"if the current user is inactive for the defined time.

    This feature " +"can also produce problems with some programs, such as video players or cd " +"burner. These programs can be blacklisted by checking Enable scheme-" +"specific blacklist and click Edit Blacklist.... If this does not " +"help, report the problem or deactivate autosuspend.

    Really use this " +"option?" +msgstr "" +"Remarque : si vous sélectionnez cette option, l'ordinateur se met en " +"veille ou en attente si l'utilisateur actuel reste inactif pendant la durée " +"définie.

    Cette fonction peut également causer des problèmes avec " +"certains programmes, comme les lecteurs vidéo ou les graveurs de CD. Pour " +"mettre ces programmes à l'index, cochez Activer la liste noire spécifique " +"au profil et cliquez sur Modifier la liste noire.... Si le " +"problème n'est pas réglé, transmettez-le ou désactivez la mise en veille " +"automatique.

    Faut-il vraiment utiliser cette option ?" + +#: dummy.cpp:82 +msgid "Try to use only one CPU/Core." +msgstr "" + +#: dummy.cpp:83 +msgid "" +"Reduce power consumption by try to use only one CPU/Core instead of " +"spreading the work over all/multiple CPUs." +msgstr "" + +#: dummy.cpp:87 +msgid "Could not load the global configuration." +msgstr "Impossible de charger la configuration globale." + +#: dummy.cpp:88 +msgid "Could not load the requested scheme configuration." +msgstr "Impossible de charger la configuration de profils requise." + +#: dummy.cpp:89 +msgid "Configure the current scheme." +msgstr "Configurez le profil en cours." + +#: dummy.cpp:90 +msgid "Try loading the default configuration." +msgstr "Essayer de charger la configuration par défaut." + +#: dummy.cpp:91 +msgid "Maybe the global configuration file is empty or missing." +msgstr "Le fichier de configuration globale est peut-être vide ou manquant." + +#: dummy.cpp:94 +#, fuzzy +msgid "Cannot connect to D-Bus. The D-Bus daemon may not be running." +msgstr "" +"Impossible de se connecter au D-BUS. Le daemon D-BUS ne s'exécute peut-être " +"pas." + +#: dummy.cpp:95 +msgid "" +"Scheme switched to %1. \n" +" Deactivate following devices: %2" +msgstr "" +"Profil remplacé par %1. \n" +" Désactivez les périphériques suivants : %2" + +#: dummy.cpp:96 +msgid "" +"Scheme switched to %1. \n" +" Activate following devices: %2" +msgstr "" +"Profil remplacé par %1. \n" +" Activez les périphériques suivants : %2" + +#: dummy.cpp:97 +msgid "Report ..." +msgstr "Rapport..." + +#: dummy.cpp:98 +msgid "Suspend to RAM is not supported on your machine." +msgstr "La mise en veille sur RAM n'est pas prise en charge par votre machine." + +#: dummy.cpp:99 +msgid "Additionally, please mail the output of %1 to %2 . Thanks!" +msgstr "Envoyez également la sortie de %1 par e-mail à %2. Merci !" + +#: dummy.cpp:100 +msgid "Power consumption" +msgstr "Consommation électrique" + +#: dummy.cpp:103 +msgid "KScreensaver not found." +msgstr "KScreensaver introuvable." + +#: dummy.cpp:104 +msgid "Try locking with XScreensaver or xlock." +msgstr "Essayer de verrouiller avec XScreensaver ou xlock." + +#: dummy.cpp:105 +msgid "XScreensaver not found." +msgstr "XScreensaver introuvable." + +#: dummy.cpp:106 +msgid "Try locking the screen with xlock." +msgstr "Essayez le verrouillage de l'écran avec xlock." + +#: dummy.cpp:107 +msgid "" +"XScreensaver and xlock not found. It is not possible to lock the screen. " +"Check your installation." +msgstr "" +"XScreensaver et xlock introuvables. Impossible de verrouiller l'écran. " +"Vérifiez votre installation." + +#: dummy.cpp:111 +msgid "HAL daemon:" +msgstr "Démon HAL :" + +#: dummy.cpp:112 +#, fuzzy +msgid "D-Bus daemon:" +msgstr "Démon D-BUS :" + +#: dummy.cpp:113 +msgid "ConsoleKit daemon:" +msgstr "" + +#: dummy.cpp:114 +msgid "Autosuspend activated:" +msgstr "Activation de la mise en veille automatique :" + +#: dummy.cpp:115 +#, fuzzy +msgid "Autodimm activated:" +msgstr "Activation de la mise en veille automatique :" + +#: dummy.cpp:116 +msgid "enabled" +msgstr "activation" + +#: dummy.cpp:117 +msgid "Session active:" +msgstr "" + +#: dummy.cpp:120 +msgid "Inactivity detected." +msgstr "" + +#: dummy.cpp:121 +msgid "To stop the %1 press the 'Cancel' button before the countdown expire." +msgstr "" + +#: dummy.cpp:122 +msgid "The computer autosuspend in: " +msgstr "" + +#: dummy.cpp:123 +#, c-format +msgid "The display get dimmed down to %1% in: " +msgstr "" + +#: dummy.cpp:124 +msgid "%1 seconds" +msgstr "" + +#: dummy.cpp:127 +msgid "Could not call %1. The current desktop session is not active." +msgstr "" + +#: dummy.cpp:128 +msgid "Could not set %1. The current desktop session is not active." +msgstr "" + +#: dummy.cpp:129 +msgid "Stopped %1. The current desktop session is now inactive." +msgstr "" + +#: dummy.cpp:130 +msgid "Restarted %1. The current desktop session is now active again." +msgstr "" + +#: log_viewer.cpp:78 +msgid "Form1" +msgstr "" + +#: log_viewer.cpp:79 +msgid "Save As ..." +msgstr "" + +#: log_viewer.cpp:80 +msgid "Close" +msgstr "" + +#: logviewer.cpp:44 +#, fuzzy +msgid "KPowersave Logfile Viewer: %1" +msgstr "La fonction d'économie d'énergie a été basculée sur le profil : %1" + +#: logviewer.cpp:89 +msgid "File already exist. Overwrite the file?" +msgstr "" + +#: logviewer.cpp:90 logviewer.cpp:97 +msgid "Error while save logfile" +msgstr "" + +#: logviewer.cpp:95 +msgid "File already exist." +msgstr "" + +#: logviewer.cpp:98 +msgid "Try other filename ..." +msgstr "" + +#: suspenddialog.cpp:70 +msgid "Preparing Suspend..." +msgstr "Préparation de la mise en veille..." + +#: kpowersave.cpp:168 +msgid "Configure KPowersave..." +msgstr "Configurer KPowersave..." + +#: kpowersave.cpp:171 configure_Dialog.cpp:915 +msgid "Configure Notifications..." +msgstr "Configurer les notifications..." + +#: kpowersave.cpp:175 +msgid "Start YaST2 Power Management Module..." +msgstr "Démarrer le module de gestion d'énergie de YaST2..." + +#: kpowersave.cpp:189 kpowersave.cpp:2106 kpowersave.cpp:2166 +#: kpowersave.cpp:2253 +msgid "Standby" +msgstr "Attente" + +#: kpowersave.cpp:191 kpowersave.cpp:198 +msgid "Set CPU Frequency Policy" +msgstr "Définir les règles de fréquence du processeur" + +#: kpowersave.cpp:205 kpowersave.cpp:206 +msgid "Set Active Scheme" +msgstr "Définir le profil actif" + +#: kpowersave.cpp:212 +msgid "Disable Actions on Inactivity" +msgstr "Désactiver les actions pendant inactivité" + +#: kpowersave.cpp:219 kpowersave.cpp:229 +msgid "&Help" +msgstr "&Aide" + +#: kpowersave.cpp:221 +msgid "&KPowersave Handbook" +msgstr "Guide &KPowersave" + +#: kpowersave.cpp:224 +msgid "&Report a bug ..." +msgstr "Signale&r un bug..." + +#: kpowersave.cpp:226 +msgid "&About KPowersave" +msgstr "À propos de KPowers&ave" + +#: kpowersave.cpp:275 kpowersave.cpp:648 kpowersave.cpp:656 kpowersave.cpp:703 +#: kpowersave.cpp:710 kpowersave.cpp:759 kpowersave.cpp:766 kpowersave.cpp:815 +#: kpowersave.cpp:822 kpowersave.cpp:1126 kpowersave.cpp:1241 +#: kpowersave.cpp:1270 kpowersave.cpp:2183 +msgid "WARNING" +msgstr "AVERTISSEMENT" + +#: kpowersave.cpp:275 +msgid "Cannot find any schemes." +msgstr "" + +#: kpowersave.cpp:453 +msgid "No information about battery and AC status available" +msgstr "Aucune information disponible sur l'état de la batterie et AC" + +#: kpowersave.cpp:456 +msgid "Plugged in -- fully charged" +msgstr "Branché -- complètement chargé" + +#: kpowersave.cpp:460 +msgid "Plugged in" +msgstr "Branché" + +#: kpowersave.cpp:464 +msgid "Plugged in -- %1% charged (%2:%3 h until full charged)" +msgstr "Branché -- %1% chargé (chargement complet dans %2:%3)" + +#: kpowersave.cpp:467 +msgid "Plugged in -- %1% charged (%2:%3 remaining hours)" +msgstr "Branché -- %1% chargé (reste %2:%3 heures)" + +#: kpowersave.cpp:471 kpowersave.cpp:475 +#, c-format +msgid "Plugged in -- %1% charged" +msgstr "Branché -- %1% chargé" + +#: kpowersave.cpp:474 +msgid "Plugged in -- no battery" +msgstr "Branché -- pas de batterie" + +#: kpowersave.cpp:480 +msgid "Running on batteries -- %1% charged (%2:%3 hours remaining)" +msgstr "Sur batteries -- %1% chargé (reste %2:%3 heures)" + +#: kpowersave.cpp:484 +#, c-format +msgid "Running on batteries -- %1% charged" +msgstr "Sur batteries -- %1% chargé" + +#: kpowersave.cpp:491 +msgid " -- battery is charging" +msgstr " -- la batterie est en charge" + +#: kpowersave.cpp:649 kpowersave.cpp:657 +msgid "Could not start YaST Power Management Module. Check if it is installed." +msgstr "" +"Impossible de lancer le module de gestion d'énergie YaST. Vérifiez s'il est " +"installé." + +#: kpowersave.cpp:703 +#, fuzzy +msgid "Suspend to disk failed" +msgstr "Mise en veille sur disque" + +#: kpowersave.cpp:711 +msgid "Suspend to disk disabled by administrator." +msgstr "Mise en veille sur disque désactivée par l'administrateur." + +#: kpowersave.cpp:759 +#, fuzzy +msgid "Suspend to RAM failed" +msgstr "Mise en veille sur RAM" + +#: kpowersave.cpp:767 +msgid "Suspend to RAM disabled by administrator." +msgstr "Mise en veille sur RAM désactivée par l'administrateur." + +#: kpowersave.cpp:815 +#, fuzzy +msgid "Standby failed" +msgstr "Mise en attente après :" + +#: kpowersave.cpp:822 +msgid "Standby disabled by administrator." +msgstr "Mise en attente désactivée par l'administrateur." + +#: kpowersave.cpp:853 +msgid "System is going into suspend mode now" +msgstr "Le système passe maintenant en mode de mise en veille" + +#: kpowersave.cpp:1039 +msgid "Could not call DCOP interface to umount external media." +msgstr "" + +#: kpowersave.cpp:1044 +msgid "" +"Could not umount external media before suspend/standby. \n" +" (Reason: %1)\n" +" \n" +" Would you like to continue suspend/standby anyway? \n" +"(Warning: Continue suspend can cause data loss!)" +msgstr "" + +#: kpowersave.cpp:1052 +msgid "Error while prepare %1" +msgstr "" + +#: kpowersave.cpp:1053 +#, fuzzy +msgid "Suspend anyway" +msgstr "Mise en veille après :" + +#: kpowersave.cpp:1053 +#, fuzzy +msgid "Cancel suspend" +msgstr "Activer la mise en veille automatique" + +#: kpowersave.cpp:1127 +msgid "" +"Could not lock the screen. There may be a problem with the selected \n" +"lock method or something else." +msgstr "" +"Impossible de verrouiller l'écran. Il y a peut-être un problème avec la " +"méthode de\n" +"verrouillage sélectionnée." + +#: kpowersave.cpp:1144 +msgid "The Lid was closed." +msgstr "L'écran était fermé." + +#: kpowersave.cpp:1156 +msgid "The Lid was opened." +msgstr "L'écran était ouvert." + +#: kpowersave.cpp:1223 +msgid "Start KPowersave automatically when you log in?" +msgstr "Démarrer KPowersave automatiquement à la connexion ?" + +#: kpowersave.cpp:1224 +msgid "Question" +msgstr "Question" + +#: kpowersave.cpp:1225 +msgid "Start Automatically" +msgstr "Démarrer automatiquement" + +#: kpowersave.cpp:1225 +msgid "Do Not Start" +msgstr "Ne pas démarrer" + +#: kpowersave.cpp:1242 +msgid "CPU Freq Policy %1 could not be set." +msgstr "La stratégie de fréquence CPU %1 n'a pas pu être définie." + +#: kpowersave.cpp:1271 +msgid "Scheme %1 could not be activated." +msgstr "Le profil %1 n'a pas pu être activé." + +#: kpowersave.cpp:1600 +#, fuzzy +msgid "" +"The D-Bus daemon is not running.\n" +"Starting it will provide full functionality: /etc/init.d/dbus start" +msgstr "" +"Le démon DBUS ne fonctionne pas.\n" +"Si vous le démarrez, vous disposerez de l'ensemble des fonctionnalités : /" +"etc/init.d/dbus start" + +#: kpowersave.cpp:1611 +msgid "Don't show this message again." +msgstr "Ne plus afficher ce message." + +#: kpowersave.cpp:1637 +msgid "ERROR" +msgstr "ERREUR" + +#: kpowersave.cpp:1638 +msgid "Could not get information from HAL. The haldaemon is maybe not running." +msgstr "" +"Impossible d'obtenir des informations du démon HAL. Ce démon peut ne pas " +"être en fonctionnement." + +#: kpowersave.cpp:1641 +msgid "Error" +msgstr "Erreur" + +#: kpowersave.cpp:1912 +msgid "" +"Battery state changed to WARNING -- remaining time: %1 hours and %2 minutes." +msgstr "" +"L'état de la batterie est AVERTISSEMENT -- temps restant : %1 heures et %2 " +"minutes." + +#: kpowersave.cpp:1921 +msgid "" +"Battery state changed to LOW -- remaining time: %1 hours and %2 minutes." +msgstr "" +"État de la batterie devenu FAIBLE -- temps restant : %1 heures et %2 minutes." + +#: kpowersave.cpp:1932 +#, fuzzy +msgid "" +"Battery state changed to CRITICAL -- remaining time: %1 hours and %2 " +"minutes.\n" +"Shut down your system or plug in the power cable immediately. Otherwise the " +"machine\n" +"will go shutdown in 30 seconds" +msgstr "" +"État de la batterie devenu CRITIQUE -- temps restant : %1 heures et %2 " +"minutes. Arrêtez le système ou branchez le câble d'alimentation " +"immédiatement." + +#: kpowersave.cpp:1943 +#, fuzzy +msgid "" +"Battery state changed to CRITICAL -- remaining time: %1 hours and %2 " +"minutes.\n" +"Shut down your system or plug in the power cable immediately." +msgstr "" +"État de la batterie devenu CRITIQUE -- temps restant : %1 heures et %2 " +"minutes. Arrêtez le système ou branchez le câble d'alimentation " +"immédiatement." + +#: kpowersave.cpp:2041 +msgid "AC adapter plugged in" +msgstr "Adaptateur CA branché sur " + +#: kpowersave.cpp:2043 +msgid "AC adapter unplugged" +msgstr "Adaptateur CA non branché" + +#: kpowersave.cpp:2078 +#, fuzzy +msgid "Switched to scheme: %1" +msgstr "La fonction d'économie d'énergie a été basculée sur le profil : %1" + +#: kpowersave.cpp:2095 kpowersave.cpp:2100 kpowersave.cpp:2105 +msgid "System is going into %1 now." +msgstr "Le système passe maintenant en %1." + +#: kpowersave.cpp:2155 kpowersave.cpp:2160 kpowersave.cpp:2165 +msgid "System is resumed from %1." +msgstr "Reprise du système après %1." + +#: kpowersave.cpp:2184 +msgid "Could not remount (all) external storage media." +msgstr "" + +#: kpowersave.cpp:2192 +msgid "An unknown error occurred while %1. The errorcode is: '%2'" +msgstr "" + +#: kpowersave.cpp:2197 +msgid "Do you want to have a look at the log file?" +msgstr "" + +#: kpowersave.cpp:2198 kpowersave.cpp:2224 +msgid "Error while %1" +msgstr "" + +#: configure_Dialog.cpp:831 +msgid "KPowersave Settings" +msgstr "Paramètres KPowersave" + +#: configure_Dialog.cpp:832 +#, fuzzy +msgid "Apply" +msgstr "&Appliquer" + +#: configure_Dialog.cpp:834 +#, fuzzy +msgid "Help" +msgstr "&Aide" + +#: configure_Dialog.cpp:840 +msgid "Enable specific display power management" +msgstr "Activer la gestion spécifique d'énergie de l'écran" + +#: configure_Dialog.cpp:841 +msgid "Standby after:" +msgstr "Mise en attente après :" + +#: configure_Dialog.cpp:842 +msgid "Only blank the screen" +msgstr "Écran vide seulement" + +#: configure_Dialog.cpp:843 +msgid "Disable screen saver" +msgstr "Désactiver l'écran de veille" + +#: configure_Dialog.cpp:844 +msgid "Enable specific screensaver settings" +msgstr "Activer les paramètres d'écran de veille spécifique" + +#: configure_Dialog.cpp:845 +msgid "Suspend after:" +msgstr "Mise en veille après :" + +#: configure_Dialog.cpp:846 +msgid "Power off after:" +msgstr "Arrêt après :" + +#: configure_Dialog.cpp:847 +msgid "Disable display power management" +msgstr "Désactiver la gestion d'énergie de l'écran" + +#: configure_Dialog.cpp:848 configure_Dialog.cpp:849 configure_Dialog.cpp:850 +#: configure_Dialog.cpp:862 configure_Dialog.cpp:873 +msgid " min" +msgstr " min" + +#: configure_Dialog.cpp:851 +msgid "Screen Saver and DPMS" +msgstr "Écran de veille et DPMS" + +#: configure_Dialog.cpp:852 +msgid "Settings" +msgstr "Paramètres" + +#: configure_Dialog.cpp:853 +msgid "Reset" +msgstr "Réinitialiser" + +#: configure_Dialog.cpp:855 +#, fuzzy +msgid "Enable scheme specific Brightness settings" +msgstr "Activer les paramètres de luminosité spécifiques du profil" + +#: configure_Dialog.cpp:858 +msgid "Brightness" +msgstr "Luminosité" + +#: configure_Dialog.cpp:859 +msgid "Enable autosuspend" +msgstr "Activer la mise en veille automatique" + +#: configure_Dialog.cpp:860 configure_Dialog.cpp:867 +msgid "Enable scheme-specific blacklist" +msgstr "Activer la liste noire spécifique au profil" + +#: configure_Dialog.cpp:861 configure_Dialog.cpp:870 +msgid "after:" +msgstr "après :" + +#: configure_Dialog.cpp:863 configure_Dialog.cpp:868 +msgid "Edit Blacklist..." +msgstr "Modifier la liste noire..." + +#: configure_Dialog.cpp:864 configure_Dialog.cpp:869 +msgid "If the current desktop user is inactive the computer will:" +msgstr "Si l'utilisateur actuel reste inactif, l'ordinateur sera en :" + +#: configure_Dialog.cpp:865 +msgid "Autosuspend" +msgstr "Mise en veille automatique" + +#: configure_Dialog.cpp:866 +#, fuzzy +msgid "Enable autodimm the display" +msgstr "Griser l'affichage pendant l'inactivité" + +#: configure_Dialog.cpp:871 configure_Dialog.cpp:893 configure_Dialog.cpp:894 +#: configure_Dialog.cpp:895 configure_Dialog.cpp:896 configure_Dialog.cpp:897 +#: configure_Dialog.cpp:898 +msgid " %" +msgstr "" + +#: configure_Dialog.cpp:872 +msgid "dimm to:" +msgstr "" + +#: configure_Dialog.cpp:874 +msgid "Autodimm" +msgstr "" + +#: configure_Dialog.cpp:879 +#, fuzzy +msgid "Set CPU Frequency Policy:" +msgstr "Définir les règles de fréquence du processeur" + +#: configure_Dialog.cpp:880 +#, fuzzy +msgid "CPU Frequency Policy" +msgstr "Définir les règles de fréquence du processeur" + +#: configure_Dialog.cpp:881 +msgid "Disable Notifications" +msgstr "Désactiver les notifications" + +#: configure_Dialog.cpp:884 +msgid "New" +msgstr "" + +#: configure_Dialog.cpp:885 +msgid "Scheme Settings" +msgstr "Paramètres du profil" + +#: configure_Dialog.cpp:886 +msgid "" +"Define the battery warning levels (in percentage) and the releated action if " +"the level get reached:" +msgstr "" + +#: configure_Dialog.cpp:887 +#, fuzzy +msgid "Warning level:" +msgstr "Avertissement" + +#: configure_Dialog.cpp:888 +msgid "Low level:" +msgstr "" + +#: configure_Dialog.cpp:889 +#, fuzzy +msgid "Critical level:" +msgstr "Critique" + +#: configure_Dialog.cpp:890 configure_Dialog.cpp:891 configure_Dialog.cpp:892 +msgid "if reached call:" +msgstr "" + +#: configure_Dialog.cpp:899 +#, fuzzy +msgid "Battery" +msgstr "Batterie %1" + +#: configure_Dialog.cpp:900 +msgid "" +"Define the action which should be executed if the related button get pressed:" +msgstr "" + +#: configure_Dialog.cpp:901 +#, fuzzy +msgid "Suspend-to-disk Button:" +msgstr "Mise en veille sur disque" + +#: configure_Dialog.cpp:902 +msgid "Sleep button:" +msgstr "" + +#: configure_Dialog.cpp:903 +msgid "Lid close Button:" +msgstr "" + +#: configure_Dialog.cpp:904 +#, fuzzy +msgid "Power Button:" +msgstr "Consommation électrique" + +#: configure_Dialog.cpp:905 +msgid "Button Events" +msgstr "" + +#: configure_Dialog.cpp:906 +msgid "" +"Select the following schemes as default if the system is running on AC or on " +"batteries." +msgstr "" + +#: configure_Dialog.cpp:907 +#, fuzzy +msgid "Battery scheme:" +msgstr "État de la batterie :" + +#: configure_Dialog.cpp:908 +#, fuzzy +msgid "AC scheme:" +msgstr "Profil :" + +#: configure_Dialog.cpp:909 +msgid "Default Schemes" +msgstr "" + +#: configure_Dialog.cpp:910 +msgid "Lock screen before suspend or standby" +msgstr "Verrouiller l'écran avant la mise en attente ou en veille." + +#: configure_Dialog.cpp:911 +msgid "Lock screen with:" +msgstr "Verrouiller l'écran avec :" + +#: configure_Dialog.cpp:912 +msgid "Lock screen on lid close" +msgstr "Verrouiller l'écran à la fermeture de l'ordinateur." + +#: configure_Dialog.cpp:913 +msgid "Lock Screen" +msgstr "Verrouiller l'écran" + +#: configure_Dialog.cpp:914 +msgid "Notifications" +msgstr "Notifications" + +#: configure_Dialog.cpp:916 +msgid "Autostart" +msgstr "Démarrer automatiquement" + +#: configure_Dialog.cpp:917 +msgid "Never ask me again on exit" +msgstr "Ne jamais redemander à la sortie." + +#: configure_Dialog.cpp:918 +msgid "KPowersave starts automatically on login" +msgstr "KPowersave démarre automatiquement à la connexion." + +#: configure_Dialog.cpp:919 +#, fuzzy +msgid "General Blacklists" +msgstr "Liste noire générale" + +#: configure_Dialog.cpp:920 +#, fuzzy +msgid "Edit Autosuspend Blacklist..." +msgstr "Modification de la liste noire de mise en veille automatique" + +#: configure_Dialog.cpp:921 +#, fuzzy +msgid "Edit Autodimm Blacklist..." +msgstr "Modifier la liste noire..." + +#: configure_Dialog.cpp:923 +msgid "General Settings" +msgstr "Paramètres généraux" + +#~ msgid "" +#~ "Inactivity detected.\n" +#~ " Machine autosuspend in %1 seconds." +#~ msgstr "" +#~ "Inactivité détectée.\n" +#~ " Machine en veille automatique dans %1 secondes." + +#~ msgid "" +#~ "Inactivity detected.\n" +#~ " Dim display in %1 seconds to %2%." +#~ msgstr "" +#~ "Inactivité détectée.\n" +#~ " Affichage grisé en %1 secondes (%2 %)." + +#~ msgid "" +#~ "If you know that it should work, you might override this detection with " +#~ "setting SUSPEND2RAM_FORCE=\"yes\" in /etc/powersave/sleep." +#~ msgstr "" +#~ "Si vous savez que cela devrait marcher, vous pouvez passer outre ce " +#~ "paramètre en définissant SUSPEND2RAM_FORCE=yes dans /etc/powersave/sleep." + +#~ msgid "Modules unloaded:" +#~ msgstr "Modules déchargés :" + +#~ msgid "checking resume kernel" +#~ msgstr "reprise du contrôle kernel" + +#~ msgid "checking for swap partition" +#~ msgstr "vérification de la partition de swap" + +#~ msgid "unmounting FAT/NTFS partitions" +#~ msgstr "démontage des partitions FAT/NTFS" + +#~ msgid "stopping services" +#~ msgstr "arrêt des services" + +#~ msgid "stopping service:" +#~ msgstr "arrêt du service :" + +#~ msgid "unloading modules" +#~ msgstr "déchargement des modules" + +#~ msgid "unloading module:" +#~ msgstr "déchargement du module :" + +#~ msgid "syncing file systems" +#~ msgstr "synchronisation des systèmes de fichiers" + +#~ msgid "preparing bootloader" +#~ msgstr "préparation de bootloader" + +#~ msgid "Edit General Blacklist..." +#~ msgstr "Modifier la liste noire générale..." + +#~ msgid "&Cancel" +#~ msgstr "&Annuler" + +#~ msgid "" +#~ "This scheme support suspend and disable devices. This is a EXPERIMENTAL " +#~ "feature of powersave to save more power on laptops. If you select this " +#~ "scheme you can get in trouble (e.g. kernel oops). You can configure this " +#~ "feature currently in the powersave config files. Please report all " +#~ "problems via http://www.opensuse.org/Submit_a_bug \n" +#~ "\n" +#~ "Would you switch the scheme (on your own risk)?" +#~ msgstr "" +#~ "Ce profil pris en charge met en veille et désactive les périphériques. " +#~ "Grâce à la fonction EXPERIMENTALE de mise en veille, vous pouvez " +#~ "économiser davantage d'énergie sur les portables. Si vous sélectionnez ce " +#~ "profil, vous pouvez rencontrer des problèmes (par exemple, des incidents " +#~ "de kernel). Actuellement, vous pouvez définir cette fonction dans les " +#~ "fichiers de configuration de l'économie d'énergie. Pour signaler tous les " +#~ "problèmes, accédez au site Web à l'adresse http://www.opensuse.org/" +#~ "Submit_a_bug \n" +#~ " \n" +#~ " Voulez-vous changer de profil (à vos risques) ?" + +#~ msgid "Continue" +#~ msgstr "Continuer" + +#~ msgid " -- %1 MHz" +#~ msgstr " -- %1 MHz" + +#~ msgid "Enabled" +#~ msgstr "activé" + +#~ msgid "In" +#~ msgstr "entrée" + +#~ msgid "Out" +#~ msgstr "sortie" + +#~ msgid "You are not permitted to connect to the daemon" +#~ msgstr "Vous n'êtes pas autorisé à vous connecter au daemon" + +#~ msgid "" +#~ "Could not start YaST Power Management Module, is it already installed?" +#~ msgstr "" +#~ "Impossible de démarrer le module de gestion d'énergie de YaST, est-il " +#~ "déjà installé ?" + +#~ msgid "Disable DPMS (no Screensaver detected)" +#~ msgstr "Désactiver DPMS (pas d'économiseur d'écran)" diff --git a/po/hi.po b/po/hi.po new file mode 100644 index 0000000..d9b9edc --- /dev/null +++ b/po/hi.po @@ -0,0 +1,1445 @@ +# translation of kpowersave.hi.po to Hindi +# Sangeeta Kumari , 2007. +msgid "" +msgstr "" +"Project-Id-Version: kpowersave.hi\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2007-08-10 03:16+0200\n" +"PO-Revision-Date: 2007-08-24 20:43+0530\n" +"Last-Translator: Sangeeta Kumari \n" +"Language-Team: Hindi \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n!=1);\n" +"\n" +"X-Generator: KBabel 1.11.4\n" + +#: detailed_Dialog.cpp:228 +#, fuzzy +msgid "kpowersave" +msgstr "ऊरà¥à¤œà¤¾à¤¬à¤šà¤¤" + +#: detailed_Dialog.cpp:229 +msgid "General Information" +msgstr "सामानà¥à¤¯ सूचना" + +#: detailed_Dialog.cpp:232 +msgid "Battery Status" +msgstr "सà¥à¤¥à¤¿à¤¤à¥€" + +#: detailed_Dialog.cpp:233 +msgid "AC Adapter" +msgstr "à¤à¤¸à¥€ à¤à¤¡à¥‰à¤ªà¥à¤Ÿà¤°" + +#: detailed_Dialog.cpp:234 detaileddialog.cpp:391 +msgid "plugged in" +msgstr "पà¥à¤²à¤—à¥à¤¡ इन" + +#: detailed_Dialog.cpp:235 +#, fuzzy +msgid "Power Consumtion: " +msgstr "ऊरà¥à¤œà¤¾ खपत" + +#: detailed_Dialog.cpp:237 +msgid "Processor Status" +msgstr "पà¥à¤°à¥‹à¤¸à¥‡à¤¸à¤° सà¥à¤Ÿà¥‡à¤Ÿà¤¸" + +#: detailed_Dialog.cpp:238 blacklistedit_Dialog.cpp:130 info_Dialog.cpp:198 +#: configure_Dialog.cpp:838 +msgid "OK" +msgstr "ओ.के." + +#: blacklisteditdialog.cpp:60 +msgid "General Blacklist" +msgstr "सामानà¥à¤¯ बà¥à¤²à¥ˆà¤•à¤²à¤¿à¤¸à¥à¤Ÿ" + +#: blacklisteditdialog.cpp:63 +msgid "Scheme: " +msgstr "सà¥à¤•à¥€à¤® :" + +#: blacklisteditdialog.cpp:114 +msgid "Selected entry removed." +msgstr "चयनित पà¥à¤°à¤µà¤¿à¤·à¥à¤Ÿà¤¿ हटा दी गई।" + +#: blacklisteditdialog.cpp:117 +msgid "Could not remove the selected entry." +msgstr "चयनित पà¥à¤°à¤µà¤¿à¤·à¥à¤Ÿà¤¿ को नहीं हटा सका।" + +#: blacklisteditdialog.cpp:137 +msgid "Inserted new entry." +msgstr "नई पà¥à¤°à¤µà¤¿à¤·à¥à¤Ÿà¤¿ डाली गई।" + +#: blacklisteditdialog.cpp:141 +msgid "Entry exists already. Did not insert new entry." +msgstr "पà¥à¤°à¤µà¤¿à¤·à¥à¤Ÿà¤¿ पहले से ही मौजूद है। नई पà¥à¤°à¤µà¤¿à¤·à¥à¤Ÿà¤¿ नहीं डाली गई।" + +#: blacklisteditdialog.cpp:144 +msgid "Empty entry was not inserted." +msgstr "रिकà¥à¤¤ पà¥à¤°à¤µà¤¿à¤·à¥à¤Ÿà¤¿ नहीं डाली गई थी।" + +#: inactivity.cpp:298 +msgid "" +"Could not start 'pidof'. Could not autosuspend the machine.\n" +"Please check your installation." +msgstr "" +"'pidof' को आरंभ नहीं कर सका। मशीन को सà¥à¤µà¤¤à¤ƒà¤¸à¥à¤¥à¤—ित नहीं कर सका।\n" +"कृपया अपने संसà¥à¤¥à¤¾à¤ªà¤¨ को जांच लें।" + +#: blacklistedit_Dialog.cpp:129 +msgid "Autosuspend Blacklist Edit" +msgstr "सà¥à¤µà¤¤à¤ƒà¤¸à¥à¤¥à¤—ित बà¥à¤²à¥ˆà¤•à¤²à¤¿à¤¸à¥à¤Ÿ à¤à¤¡à¤¿à¤Ÿ" + +#: blacklistedit_Dialog.cpp:132 configuredialog.cpp:1079 +#: configure_Dialog.cpp:836 +msgid "Cancel" +msgstr "रदà¥à¤¦" + +#: blacklistedit_Dialog.cpp:135 +msgid "Add" +msgstr "जोड़ें" + +#: blacklistedit_Dialog.cpp:136 +msgid "Remove" +msgstr "हटाà¤" + +#: infodialog.cpp:76 infodialog.cpp:78 main.cpp:55 +#, fuzzy +msgid "KPowersave" +msgstr "ऊरà¥à¤œà¤¾à¤¬à¤šà¤¤" + +#: configuredialog.cpp:116 configuredialog.cpp:121 configuredialog.cpp:721 +#, fuzzy +msgid " - not supported" +msgstr "TCP टनलिंग समरà¥à¤¥à¤¿à¤¤ नहीं" + +#: configuredialog.cpp:150 configuredialog.cpp:317 detaileddialog.cpp:432 +#: kpowersave.cpp:192 settings.cpp:66 configure_Dialog.cpp:876 +msgid "Performance" +msgstr "पà¥à¤°à¤¦à¤°à¥à¤¶à¤¨" + +#: configuredialog.cpp:154 configuredialog.cpp:319 detaileddialog.cpp:438 +#: kpowersave.cpp:194 settings.cpp:68 configure_Dialog.cpp:878 +msgid "Powersave" +msgstr "ऊरà¥à¤œà¤¾à¤¬à¤šà¤¤" + +#: configuredialog.cpp:159 configuredialog.cpp:321 kpowersave.cpp:1478 +#: settings.cpp:70 +msgid "Presentation" +msgstr "पà¥à¤°à¤¸à¥à¤¤à¥à¤¤à¤¿" + +#: configuredialog.cpp:164 configuredialog.cpp:323 kpowersave.cpp:1473 +#: settings.cpp:72 +msgid "Acoustic" +msgstr "à¤à¤•à¥‰à¤¸à¥à¤Ÿà¤¿à¤•" + +#: configuredialog.cpp:169 configuredialog.cpp:171 configuredialog.cpp:172 +#: configuredialog.cpp:173 kpowersave.cpp:1484 +msgid "Advanced Powersave" +msgstr "उनà¥à¤¨à¤¤ ऊरà¥à¤œà¤¾à¤¬à¤šà¤¤" + +#: configuredialog.cpp:271 +msgid "" +"This enables specific screen saver settings. \n" +"Note: If selected, the global screen saver settings are \n" +"overwritten while kpowersave runs." +msgstr "" +"यह विशिषà¥à¤Ÿ सà¥à¤•à¥à¤°à¥€à¤¨ सेवर सेटिंगà¥à¤¸ को सकà¥à¤·à¤® करता है। \n" +"धà¥à¤¯à¤¾à¤¨ दें : यदि चयन किया गया हो, तो kpowersave के रन करते समय वैशà¥à¤µà¤¿à¤• सà¥à¤•à¥à¤°à¥€à¤¨ सेवर \n" +"सेटिंगà¥à¤¸ ओवरराइट हो जाती हैं।" + +#: configuredialog.cpp:274 +msgid "" +"This disables the screen saver. \n" +"Note: If selected, the global screen saver settings are \n" +"overwritten while kpowersave runs." +msgstr "" +"यह सà¥à¤•à¥à¤°à¥€à¤¨ सेवर को अकà¥à¤·à¤® करता है। \n" +"धà¥à¤¯à¤¾à¤¨ दें : यदि चयन किया गया हो, तो kpowersave के रन करते समय वैशà¥à¤µà¤¿à¤• सà¥à¤•à¥à¤°à¥€à¤¨ सेवर \n" +"सेटिंगà¥à¤¸ ओवरराइट हो जाती हैं।" + +#: configuredialog.cpp:277 +msgid "" +"This blanks the screen instead of using a specific screen saver. \n" +"Note: This may work only with KScreensaver." +msgstr "" +"यह किसी विशिषà¥à¤Ÿ सà¥à¤•à¥à¤°à¥€à¤¨ सेवर का उपयोग करने के बजाय सà¥à¤•à¥à¤°à¥€à¤¨ को सादा कर देता है। \n" +"धà¥à¤¯à¤¾à¤¨ दें : यह केवल केसà¥à¤•à¥à¤°à¥€à¤¨à¤¸à¥‡à¤µà¤° के साथ ही कारà¥à¤¯ कर सकता है।" + +#: configuredialog.cpp:279 +msgid "" +"This enables specific DPMS settings. \n" +"Note: If selected, the global DPMS settings are \n" +"overwritten while kpowersave runs." +msgstr "" +"यह विशिषà¥à¤Ÿ DPMS सेटिंगà¥à¤¸ को सकà¥à¤·à¤® करता है। \n" +"धà¥à¤¯à¤¾à¤¨ दें : यदि चयन किया गया हो, तो kpowersave के रन करते समय वैशà¥à¤µà¤¿à¤• DPMS \n" +"सेटिंगà¥à¤¸ ओवरराइट हो जाती हैं।" + +#: configuredialog.cpp:282 +msgid "This disables DPMS support." +msgstr "यह DPMS समरà¥à¤¥à¤¨ को अकà¥à¤·à¤® करता है।" + +#: configuredialog.cpp:283 +msgid "If selected, the screen is locked on suspend or standby." +msgstr "यदि चयन किया गया हो तो सà¥à¤•à¥à¤°à¥€à¤¨ निलंबन या सà¥à¤Ÿà¥ˆà¤‚डबाइ पर लॉक हो जाती है।" + +#: configuredialog.cpp:284 +msgid "If selected, the screen is locked if the lid close event is triggered." +msgstr "यदि चयन किया गया हो तो लिड कà¥à¤²à¥‹à¤œ इवेंट को टà¥à¤°à¤¿à¤—र किठजाने की सà¥à¤¥à¤¿à¤¤à¤¿ में सà¥à¤•à¥à¤°à¥€à¤¨ लॉक हो जाती है।" + +#: configuredialog.cpp:286 +msgid "Check this box to enable or disable automatic suspension of the computer." +msgstr "कंपà¥à¤¯à¥‚टर के सà¥à¤µà¤¤: निलंबन को सकà¥à¤·à¤® या अकà¥à¤·à¤® करने के लिठइस बॉकà¥à¤¸ की जांच करें।" + +#: configuredialog.cpp:288 +msgid "" +"Activate this action if the user was inactive for the defined time \n" +"(greater than 0 minutes). If empty, nothing happens." +msgstr "" +"यदि उपयोगकरà¥à¤¤à¤¾ परिभाषित समय (0 मिनट से अधिक) के लिठनिषà¥à¤•à¥à¤°à¤¿à¤¯ रहता है \n" +"तो इस कारà¥à¤°à¤µà¤¾à¤ˆ को सकà¥à¤°à¤¿à¤¯ करें। यदि रिकà¥à¤¤ है, तो कà¥à¤› नहीं होगा।" + +#: configuredialog.cpp:291 +msgid "All scheme-related screen saver and DPMS settings." +msgstr "सभी सà¥à¤•à¥€à¤®-संबंधी सà¥à¤•à¥à¤°à¥€à¤¨ सेवर और DPMS सेटिंगà¥à¤¸à¥¤" + +#: configuredialog.cpp:292 +msgid "All scheme-related display brightness settings." +msgstr "सभी सà¥à¤•à¥€à¤®-संबंधी डिसà¥à¤ªà¥à¤²à¥‡ की चमक की सेटिंगà¥à¤¸à¥¤" + +#: configuredialog.cpp:293 +msgid "All scheme-related automatic suspend settings." +msgstr "सभी सà¥à¤•à¥€à¤®-संबंधी सà¥à¤µà¤¤: निलंबन की सेटिंगà¥à¤¸" + +#: configuredialog.cpp:295 +msgid "" +"Here you can change the brightness of your display. \n" +"Use the slider to change the brightness directly for \n" +"testing. To reset back to previous level, please press \n" +"the 'Reset' button. " +msgstr "" +"यहां आप अपने डिसà¥à¤ªà¥à¤²à¥‡ की चमक को परिवरà¥à¤¤à¤¿à¤¤ कर सकते हैं। \n" +"परीकà¥à¤·à¤£ के लिठसीधे चमक को बदलने के लिठसà¥à¤²à¤¾à¤‡à¤¡à¤° का पà¥à¤°à¤¯à¥‹à¤— \n" +"करें। फिर से पूरà¥à¤µ सà¥à¤¤à¤° पर सेट करने के लिठकृपया 'रीसेट' बटन \n" +"दबाà¤à¤‚। " + +#: configuredialog.cpp:299 +msgid "Use this button to set back the slider and the display brightness." +msgstr "सà¥à¤²à¤¾à¤‡à¤¡à¤° और डिसà¥à¤ªà¥à¤²à¥‡ चमक को वापस सेट करने के लिठइस बटन का पà¥à¤°à¤¯à¥‹à¤— करें।" + +#: configuredialog.cpp:352 +#, fuzzy +msgid "Press this button to delete the selected scheme." +msgstr "उपरोकà¥à¤¤ चयनित पहà¥à¤‚चबिंदॠपर कनेकà¥à¤Ÿ करने के लिठइस बटन का पà¥à¤°à¤¯à¥‹à¤— करें।" + +#: configuredialog.cpp:357 +msgid "You can't delete the current AC or battery scheme." +msgstr "" + +#: configuredialog.cpp:363 +msgid "You can't delete this default scheme." +msgstr "" + +#: configuredialog.cpp:546 +msgid "Your hardware supports to change the brightness. The values of the slider are in percent and mapped to the available brightness levels of your hardware." +msgstr "आपका हारà¥à¤¡à¤µà¥‡à¤¯à¤° चमक को परिवरà¥à¤¤à¤¿à¤¤ करने के लिठसमरà¥à¤¥à¤¨ देता है। सà¥à¤²à¤¾à¤‡à¤¡à¤° के मान पà¥à¤°à¤¤à¤¿à¤¶à¤¤ में होते हैं और आपके हारà¥à¤¡à¤µà¥‡à¤¯à¤° के उपलबà¥à¤§ चमक सà¥à¤¤à¤°à¥‹à¤‚ पर मैपà¥à¤¡ होते हैं।" + +#: configuredialog.cpp:553 +msgid "Your Hardware currently not support changing the brightness of your display." +msgstr "आपका हारà¥à¤¡à¤µà¥‡à¤¯à¤° वरà¥à¤¤à¤®à¤¾à¤¨ में आपके डिसà¥à¤ªà¥à¤²à¥‡ की बà¥à¤°à¤¾à¤‡à¤Ÿà¤¨à¥‡à¤¸ के परिवरà¥à¤¤à¤¨ को समरà¥à¤¥à¤¨ नहीं दे रहा है।" + +#: configuredialog.cpp:664 +msgid "Select Automatically" +msgstr "सà¥à¤µà¤¤: चयन करें" + +#: configuredialog.cpp:665 +msgid "KScreensaver" +msgstr "केसà¥à¤•à¥à¤°à¥€à¤¨à¤¸à¥‡à¤µà¤°" + +#: configuredialog.cpp:666 +msgid "XScreensaver" +msgstr "à¤à¤•à¥à¤¸à¤¸à¥à¤•à¥à¤°à¥€à¤¨à¤¸à¥‡à¤µà¤°" + +#: configuredialog.cpp:667 +msgid "xlock" +msgstr "à¤à¤•à¥à¤¸à¤²à¥‰à¤•" + +#: configuredialog.cpp:668 +msgid "GNOME Screensaver" +msgstr "जीनोम सà¥à¤•à¥à¤°à¥€à¤¨à¤¸à¥‡à¤µà¤°" + +#: configuredialog.cpp:930 +msgid "" +"There are unsaved changes in the active scheme.\n" +"Apply the changes before jumping to the next scheme or discard the changes?" +msgstr "" +"सकà¥à¤°à¤¿à¤¯ सà¥à¤•à¥€à¤® में बिना सहेजे गठपरिवरà¥à¤¤à¤¨ हैं।\n" +"नई सà¥à¤•à¥€à¤® में सीधे जाने से पहले परिवरà¥à¤¤à¤¨à¥‹à¤‚ को लागू करें या परिवरà¥à¤¤à¤¨à¥‹à¤‚ को तà¥à¤¯à¤¾à¤— दें?" + +#: configuredialog.cpp:933 configuredialog.cpp:983 +msgid "Unsaved Changes" +msgstr "बिना सहेजे गठपरिवरà¥à¤¤à¤¨" + +#: configuredialog.cpp:981 +msgid "" +"There are unsaved changes.\n" +"Apply the changes before cancel or discard the changes?" +msgstr "" +"यहां बिना सहेजे गठपरिवरà¥à¤¤à¤¨ हैं।\n" +"परिवरà¥à¤¤à¤¨à¥‹à¤‚ को रदà¥à¤¦ करने या तà¥à¤¯à¤¾à¤—ने से पहले परिवरà¥à¤¤à¤¨à¥‹à¤‚ को लागू करना है?" + +#: configuredialog.cpp:1032 +msgid "Please insert a name for the new scheme:" +msgstr "" + +#: configuredialog.cpp:1038 +#, fuzzy +msgid "KPowersave Configuration" +msgstr "पावर मैनेजमेंट कनà¥à¤«à¤¿à¤•à¤°à¥‡à¤¶à¤¨" + +#: configuredialog.cpp:1046 +#, fuzzy +msgid "Error: A scheme with this name already exist.\n" +msgstr "निरà¥à¤¯à¤¾à¤¤ विकलà¥à¤ª नाम %1 पहले से ही मौजूद है।" + +#: configuredialog.cpp:1076 +#, fuzzy +msgid "Do you really want to delete the %1 scheme?" +msgstr "कà¥â€à¤¯à¤¾ आप सचमà¥à¤š इस पथ का उपयोग करना चाहते हैं?" + +#: configuredialog.cpp:1078 +#, fuzzy +msgid "Confirm delete scheme" +msgstr "वरà¥à¤¤à¤®à¤¾à¤¨ सà¥à¤•à¥€à¤® को कॉनà¥à¤«à¤¿à¤—र करें।" + +#: configuredialog.cpp:1079 configure_Dialog.cpp:883 +msgid "Delete" +msgstr "मिटाà¤à¤‚" + +#: configuredialog.cpp:1095 +#, fuzzy +msgid "Could not delete the selected scheme." +msgstr "चयनित पà¥à¤°à¤µà¤¿à¤·à¥à¤Ÿà¤¿ को नहीं हटा सका।" + +#: configuredialog.cpp:1324 +msgid "Note: If you select this option, the computer will suspend or standby if the current user is inactive for the defined time even if somebody is logged in remotely to the X server.

    This feature can also produce problems with some programs, such as video players or cd burner. These programs can be blacklisted by checking Enable scheme-specific blacklist and click Edit Blacklist.... If this does not help, report the problem or deactivate autosuspend.

    Really use this option?" +msgstr "नोट: यदि आप इस विकलà¥à¤ª को चà¥à¤¨à¥‡à¤‚गे, तो कंपà¥à¤¯à¥‚टर सà¥à¤¥à¤—ित हो जाà¤à¤—ा या सà¥à¤Ÿà¥ˆà¤‚डबाई हो जाà¤à¤—ा यदि वरà¥à¤¤à¤®à¤¾à¤¨ उपयोगकरà¥à¤¤à¤¾ निरà¥à¤§à¤¾à¤°à¤¿à¤¤ समय तक निषà¥à¤•à¥à¤°à¤¿à¤¯ है भले ही कोई à¤à¤•à¥à¤¸ सरà¥à¤µà¤° में दूरसà¥à¤¥ लॉगिन किठहà¥à¤ हो।

    यह विशेषता भी कà¥à¤› पà¥à¤°à¥‹à¤—à¥à¤°à¤¾à¤®à¥‹à¤‚ के साथ समसà¥à¤¯à¤¾ पैदा कर सकती है, जैसे कि वीडियो पà¥à¤²à¥‡à¤¯à¤° या सीडी बरà¥à¤¨à¤°à¥¤ इन पà¥à¤°à¥‹à¤—à¥à¤°à¤¾à¤®à¥‹à¤‚ को सà¥à¤•à¥€à¤® सकà¥à¤·à¤® करें-विशिषà¥à¤Ÿ बà¥à¤²à¥ˆà¤•à¤²à¤¿à¤¸à¥à¤Ÿ पर निशान लगाकरऔर बà¥à¤²à¥ˆà¤•à¤²à¤¿à¤¸à¥à¤Ÿ संपादित करें... पर कà¥à¤²à¤¿à¤• करके बà¥à¤²à¥ˆà¤•à¤²à¤¿à¤¸à¥à¤Ÿ किया जा सकता है। यदि इससे काम न हो, तो समसà¥à¤¯à¤¾ की रिपोरà¥à¤Ÿ करें या सà¥à¤µà¤¤à¤ƒà¤¸à¥à¤¥à¤—ित को निषà¥à¤•à¥à¤°à¤¿à¤¯ करें।

    वासà¥à¤¤à¤µ में इस विकलà¥à¤ª का पà¥à¤°à¤¯à¥‹à¤— करें?" + +#: configuredialog.cpp:1402 configuredialog.cpp:1532 +msgid "The blacklist of the selected scheme is empty. Import the general blacklist?" +msgstr "चयनित सà¥à¤•à¥€à¤® की बà¥à¤²à¥ˆà¤•à¤²à¤¿à¤¸à¥à¤Ÿ खाली है। सामानà¥à¤¯ बà¥à¤²à¥ˆà¤•à¤²à¤¿à¤¸à¥à¤Ÿ को आयात करें?" + +#: configuredialog.cpp:1404 configuredialog.cpp:1534 +msgid "Import" +msgstr "आयात करें" + +#: configuredialog.cpp:1404 configuredialog.cpp:1534 +msgid "Do Not Import" +msgstr "आयात नहीं करें" + +#: configuredialog.cpp:1416 +#, fuzzy +msgid "General Autosuspend Blacklist" +msgstr "सà¥à¤µà¤¤à¤ƒà¤¸à¥à¤¥à¤—ित बà¥à¤²à¥ˆà¤•à¤²à¤¿à¤¸à¥à¤Ÿ à¤à¤¡à¤¿à¤Ÿ" + +#: configuredialog.cpp:1546 +#, fuzzy +msgid "General Autodimm Blacklist" +msgstr "सामानà¥à¤¯ बà¥à¤²à¥ˆà¤•à¤²à¤¿à¤¸à¥à¤Ÿ" + +#: configuredialog.cpp:1779 configuredialog.cpp:1816 +#, fuzzy +msgid "Shutdown" +msgstr "बंद करें" + +#: configuredialog.cpp:1781 configuredialog.cpp:1819 +#, fuzzy +msgid "Logout Dialog" +msgstr "विनà¥à¤¯à¤¾à¤¸ डायलॉग" + +#: configuredialog.cpp:1784 configuredialog.cpp:1822 kpowersave.cpp:182 +#: kpowersave.cpp:2096 kpowersave.cpp:2156 kpowersave.cpp:2247 +msgid "Suspend to Disk" +msgstr "डिसà¥à¤• पर सà¥à¤¥à¤—ित" + +#: configuredialog.cpp:1787 configuredialog.cpp:1825 kpowersave.cpp:186 +#: kpowersave.cpp:2101 kpowersave.cpp:2161 kpowersave.cpp:2250 +msgid "Suspend to RAM" +msgstr "रैम पर सà¥à¤¥à¤—ित" + +#: configuredialog.cpp:1790 configuredialog.cpp:1828 +#, fuzzy +msgid "CPU Powersave policy" +msgstr "ऊरà¥à¤œà¤¾à¤¬à¤šà¤¤" + +#: configuredialog.cpp:1793 configuredialog.cpp:1831 +msgid "CPU Dynamic policy" +msgstr "" + +#: configuredialog.cpp:1796 configuredialog.cpp:1834 +#, fuzzy +msgid "CPU Performance policy" +msgstr "पà¥à¤°à¤¦à¤°à¥à¤¶à¤¨" + +#: configuredialog.cpp:1799 configuredialog.cpp:1837 +#, fuzzy +msgid "Set Brightness to" +msgstr "बà¥à¤°à¤¾à¤‡à¤Ÿà¤¨à¥‡à¤¸" + +#: main.cpp:43 +#, fuzzy +msgid "KDE Frontend for Power Management, Battery Monitoring and Suspend" +msgstr "पॉवरसेव पैकेज, बैटरी मॉनीटर और जनरल पॉवर मैनेजमेंट सपोरà¥à¤Ÿ को KDE फà¥à¤°à¤‚टà¤à¤‚ड " + +#: main.cpp:45 +#, fuzzy +msgid "Force a new check for ACPI support" +msgstr "ACPI समरà¥à¤¥à¤¨ को लिठà¤à¤• नई जांच बाधà¥à¤¯ करें\n" + +#: main.cpp:46 +msgid "Trace function entry and leave points for debug\n" +msgstr "" + +#: main.cpp:59 +msgid "Current maintainer" +msgstr "वरà¥à¤¤à¤®à¤¾à¤¨ रखरखावकरà¥à¤¤à¤¾" + +#: main.cpp:62 +#, fuzzy +msgid "Powersave developer and for D-Bus integration" +msgstr "पॉवरसेव डेवलपर और DBUS à¤à¤•à¥€à¤•à¤°à¤£ के लिà¤" + +#: main.cpp:64 +msgid "Powersave developer and tester" +msgstr "पॉवरसेव डेवलपर और परीकà¥à¤·à¤£à¤•à¤°à¥à¤¤à¤¾" + +#: main.cpp:66 +msgid "Added basic detailed dialog" +msgstr "जोड़ा गया आधारभूत विवरणयà¥à¤•à¥à¤¤ संवाद" + +#: main.cpp:67 +msgid "Packaging Debian and Ubuntu" +msgstr "डेबियन और उबà¥à¤¨à¥à¤Ÿà¥‚ की पैकेजिंग की जा रही है" + +#: detaileddialog.cpp:61 +msgid "KPowersave Information Dialog" +msgstr "के पॉवरसेव सूचना संवाद" + +#: detaileddialog.cpp:65 configure_Dialog.cpp:882 configure_Dialog.cpp:922 +msgid "Miscellaneous" +msgstr "विविध" + +#: detaileddialog.cpp:66 +msgid "CPUs" +msgstr "सीपीयू" + +#: detaileddialog.cpp:73 detaileddialog.cpp:453 +msgid "Battery state:" +msgstr "बैटरी अवसà¥à¤¥à¤¾ :" + +#: detaileddialog.cpp:79 +msgid "Total:" +msgstr "कà¥à¤²" + +#: detaileddialog.cpp:81 detaileddialog.cpp:83 +msgid "Battery %1" +msgstr "बैटरी %1" + +#: detaileddialog.cpp:114 +msgid "Processor %1" +msgstr "पà¥à¤°à¥‹à¤¸à¥‡à¤¸à¤° %1" + +#: detaileddialog.cpp:230 +#, fuzzy +msgid "not present" +msgstr "उपसà¥à¤¥à¤¿à¤¤ नहीं।" + +#: detaileddialog.cpp:243 +msgid "charged" +msgstr "चारà¥à¤œ किया गया" + +#: detaileddialog.cpp:245 +msgid "%1:%2 h until charged" +msgstr "%1:%2 घंटे चारà¥à¤œ होने तक" + +#: detaileddialog.cpp:248 +msgid "%1:%2 h remaining" +msgstr "%1:%2 घंटे शेष" + +#: detaileddialog.cpp:253 detaileddialog.cpp:441 detaileddialog.cpp:468 +msgid "unknown" +msgstr "अनà¥à¤œà¤¾à¤¨" + +#: detaileddialog.cpp:325 detaileddialog.cpp:368 +msgid "%v MHz" +msgstr "%v MHz" + +#: detaileddialog.cpp:330 detaileddialog.cpp:363 dummy.cpp:58 +msgid "deactivated" +msgstr "निषà¥à¤•à¥à¤°à¤¿à¤¯ किया गया" + +#: detaileddialog.cpp:395 +msgid "unplugged" +msgstr "अनपà¥à¤²à¤— किया गया" + +#: detaileddialog.cpp:412 +msgid "Current Scheme: " +msgstr "वरà¥à¤¤à¤®à¤¾à¤¨ सà¥à¤•à¥€à¤® :" + +#: detaileddialog.cpp:429 +msgid "Current CPU Frequency Policy:" +msgstr "वरà¥à¤¤à¤®à¤¾à¤¨ सीपीयू आवृतà¥à¤¤à¤¿ नीति :" + +#: detaileddialog.cpp:435 kpowersave.cpp:193 configure_Dialog.cpp:877 +msgid "Dynamic" +msgstr "गतिशील" + +#: detaileddialog.cpp:456 +msgid "Critical" +msgstr "संकटपूरà¥à¤£" + +#: detaileddialog.cpp:459 +msgid "Low" +msgstr "निमà¥à¤¨" + +#: detaileddialog.cpp:462 kpowersave.cpp:277 kpowersave.cpp:652 +#: kpowersave.cpp:659 kpowersave.cpp:705 kpowersave.cpp:713 kpowersave.cpp:761 +#: kpowersave.cpp:769 kpowersave.cpp:817 kpowersave.cpp:824 +#: kpowersave.cpp:1131 kpowersave.cpp:1243 kpowersave.cpp:1272 +#: kpowersave.cpp:1610 kpowersave.cpp:1670 kpowersave.cpp:2186 +msgid "Warning" +msgstr "चेतावनी" + +#: detaileddialog.cpp:465 +msgid "ok" +msgstr "ठीक है" + +#: detaileddialog.cpp:474 detaileddialog.cpp:477 +msgid "Set brightness supported:" +msgstr "समरà¥à¤¥à¤¿à¤¤ बà¥à¤°à¤¾à¤‡à¤Ÿà¤¨à¥‡à¤¸ सेट करें :" + +#: detaileddialog.cpp:475 +msgid "yes" +msgstr "हाà¤" + +#: detaileddialog.cpp:478 +msgid "no" +msgstr "नहीं" + +#: detaileddialog.cpp:481 detaileddialog.cpp:485 +#, fuzzy +msgid "HAL Daemon:" +msgstr "HAL डेमन :" + +#: detaileddialog.cpp:482 +msgid "running" +msgstr "रन कर रहा है" + +#: detaileddialog.cpp:486 +msgid "not running" +msgstr "रन नहीं कर रहा है" + +#: info_Dialog.cpp:197 +msgid "Information" +msgstr "सूचना" + +#: dummy.cpp:36 +msgid "If the current desktop user is inactive, dim the display to:" +msgstr "यदि वरà¥à¤¤à¤®à¤¾à¤¨ डेसà¥à¤•à¤Ÿà¥‰à¤ª उपयोगकरà¥à¤¤à¤¾ निषà¥à¤•à¥à¤°à¤¿à¤¯ है तो डिसà¥à¤ªà¥à¤²à¥‡ को निमà¥à¤¨ पर मदà¥à¤§à¤¿à¤® करें :" + +#: dummy.cpp:37 +msgid "Enable dim display on inactivity" +msgstr "निषà¥à¤•à¥à¤°à¤¿à¤¯ होने पर डिसà¥à¤ªà¥à¤²à¥‡ के मदà¥à¤§à¤¿à¤® होने को सकà¥à¤·à¤® करें" + +#: dummy.cpp:38 +msgid "Blacklist" +msgstr "बà¥à¤²à¥ˆà¤•à¤²à¤¿à¤¸à¥à¤Ÿ" + +#: dummy.cpp:39 +msgid "Here you can add programs which should, if running, prevent the dimming of the display." +msgstr "यहां आप पà¥à¤°à¥‹à¤—à¥à¤°à¤¾à¤®à¥‹à¤‚ को जोड़ सकते हैं जिनà¥à¤¹à¥‡à¤‚, यदि ये रन हो रहे हों तो, डिसà¥à¤ªà¥à¤²à¥‡ के मदà¥à¤§à¤¿à¤® होने को रोकना चाहिà¤à¥¤" + +#: dummy.cpp:41 +msgid "Would you like to import a predefined blacklist?" +msgstr "कà¥à¤¯à¤¾ आप किसी पूरà¥à¤µà¤ªà¤°à¤¿à¤­à¤¾à¤·à¤¿à¤¤ बà¥à¤²à¥ˆà¤•à¤²à¤¿à¤¸à¥à¤Ÿ को आयात करना चाहेंगे?" + +#: dummy.cpp:42 +msgid "Disable CPUs/Cores" +msgstr "सीपीयू/कोर को अकà¥à¤·à¤® करें" + +#: dummy.cpp:43 +msgid "Max. running CPUs:" +msgstr "अधिकतम रन कर रहे सीपीयू :" + +#: dummy.cpp:44 +msgid "Max. running CPUs/Cores:" +msgstr "अधिकतम रन कर रहे सीपीयू/कोर :" + +#: dummy.cpp:45 +msgid "Min. running CPUs:" +msgstr "नà¥à¤¯à¥‚नतम रन कर रहे सीपीयू :" + +#: dummy.cpp:46 +msgid "Min. running CPUs/Cores:" +msgstr "नà¥à¤¯à¥‚नतम रन कर रहे सीपीयू/कोर :" + +#: dummy.cpp:47 +#, fuzzy +msgid "Enable to switch off CPUs/cores" +msgstr "सीपीयू/कोर को सà¥à¤µà¤¿à¤š ऑफ करने में सकà¥à¤·à¤®" + +#: dummy.cpp:48 +msgid "You have a multiprocessor/multicore machine." +msgstr "आपके पास मलà¥à¤Ÿà¥€à¤ªà¥à¤°à¥‹à¤¸à¥‡à¤¸à¤°/मलà¥à¤Ÿà¥€à¤•à¥‹à¤° मशीन है।" + +#: dummy.cpp:49 +msgid "You can disable CPUs/cores to reduce power consumption and save battery power." +msgstr "आप ऊरà¥à¤œà¤¾ खपत घटाने और बैटरी कà¥à¤·à¤®à¤¤à¤¾ सहेजने के लिठसीपीयू/कोर को अकà¥à¤·à¤®à¤•à¤° सकते हैं।" + +#: dummy.cpp:50 +msgid "Device" +msgstr "डिवइस" + +#: dummy.cpp:51 +msgid "Devices" +msgstr "डिवइस" + +#: dummy.cpp:52 +msgid "Device class" +msgstr "डिवइस" + +#: dummy.cpp:53 +msgid "activate" +msgstr "सकà¥à¤°à¤¿à¤¯ करें" + +#: dummy.cpp:54 +msgid "Activate" +msgstr "सकà¥à¤°à¤¿à¤¯ करें" + +#: dummy.cpp:55 +msgid "deactivate" +msgstr "निषà¥à¤•à¥à¤°à¤¿à¤¯ करें" + +#: dummy.cpp:56 +msgid "Deactivate" +msgstr "निषà¥à¤•à¥à¤°à¤¿à¤¯ करें" + +#: dummy.cpp:57 +msgid "activated" +msgstr "सकà¥à¤°à¤¿à¤¯ किया गया" + +#: dummy.cpp:59 +msgid "do nothing" +msgstr "कà¥à¤› नहीं करें" + +#: dummy.cpp:60 +msgid "Deactivate following devices:" +msgstr "निमà¥à¤¨à¤²à¤¿à¤–ित उपकरणों को निषà¥à¤•à¥à¤°à¤¿à¤¯ करें :" + +#: dummy.cpp:61 +msgid "Activate following devices" +msgstr "निमà¥à¤¨à¤²à¤¿à¤–ित उपकरणों को सकà¥à¤°à¤¿à¤¯ करें :" + +#: dummy.cpp:62 +msgid "Reactivate following devices" +msgstr "निमà¥à¤¨à¤²à¤¿à¤–ित उपकरणों को पà¥à¤¨:सकà¥à¤°à¤¿à¤¯ करें :" + +#: dummy.cpp:63 +msgid "Deactivate following device classes:" +msgstr "निमà¥à¤¨à¤²à¤¿à¤–ित उपकरण वरà¥à¤—ों को निषà¥à¤•à¥à¤°à¤¿à¤¯ करें :" + +#: dummy.cpp:64 +msgid "Activate following devices classes" +msgstr "निमà¥à¤¨à¤²à¤¿à¤–ित उपकरण वरà¥à¤—ों को सकà¥à¤°à¤¿à¤¯ करें :" + +#: dummy.cpp:65 +msgid "Reactivate following device classes" +msgstr "निमà¥à¤¨à¤²à¤¿à¤–ित उपकरण वरà¥à¤—ों को पà¥à¤¨:सकà¥à¤°à¤¿à¤¯ करें :" + +#: dummy.cpp:66 +msgid "If the scheme switched all devices are again activated." +msgstr "यदि सà¥à¤•à¥€à¤® सà¥à¤µà¤¿à¤š की जाती है तो सभी उपकरण फिर से सकà¥à¤°à¤¿à¤¯ हो जाते हैं।" + +#: dummy.cpp:67 +msgid "This is a experimental feature." +msgstr "यह à¤à¤• पà¥à¤°à¤¾à¤¯à¥‹à¤—िक विशेषता है।" + +#: dummy.cpp:68 +msgid "If you have problems with this feature, please report them." +msgstr "यदि आपको इस विशेषता से समसà¥à¤¯à¤¾à¤à¤‚ हैं तो कृपया उनà¥à¤¹à¥‡à¤‚ सूचित करें।" + +#: dummy.cpp:69 +msgid "Select one of the available devices and click on " +msgstr "उपलबà¥à¤§ उपकरणों में से à¤à¤• का चयन करें और उस पर कà¥à¤²à¤¿à¤• करें" + +#: dummy.cpp:70 +msgid "Select one of the available device classes and click on " +msgstr "उपलबà¥à¤§ उपकरण वरà¥à¤—ों में से à¤à¤• का चयन करें और उस पर कà¥à¤²à¤¿à¤• करें" + +#: dummy.cpp:71 +msgid "Select one or more of the available devices and click on " +msgstr "उपलबà¥à¤§ उपकरणों में से à¤à¤• या अधिक का चयन करें और उस पर कà¥à¤²à¤¿à¤• करें" + +#: dummy.cpp:72 +msgid "Select one or more of the available device classes and click on " +msgstr "उपलबà¥à¤§ उपकरण वरà¥à¤—ों में से à¤à¤• या अधिक का चयन करें और उस पर कà¥à¤²à¤¿à¤• करें" + +#: dummy.cpp:73 +msgid "Please note: If you e.g. deactivate a network device you may lose your internet connection." +msgstr "कृपया धà¥à¤¯à¤¾à¤¨ दें : यदि आप उदाहरणारà¥à¤¥ किसी नेटवरà¥à¤• उपकरण को निषà¥à¤•à¥à¤°à¤¿à¤¯ करते हैं तो आपका इंटरनेट कनेकà¥à¤¶à¤¨ खतà¥à¤® हो सकता है।" + +#: dummy.cpp:75 +msgid "Note: If you select this option, the computer will suspend or standby if the current user is inactive for the defined time.

    This feature can also produce problems with some programs, such as video players or cd burner. These programs can be blacklisted by checking Enable scheme-specific blacklist and click Edit Blacklist.... If this does not help, report the problem or deactivate autosuspend.

    Really use this option?" +msgstr "नोट: यदि आप इस विकलà¥à¤ª को चà¥à¤¨à¥‡à¤‚गे, तो कंपà¥à¤¯à¥‚टर सà¥à¤¥à¤—ित हो जाà¤à¤—ा या सà¥à¤Ÿà¥ˆà¤‚डबाई हो जाà¤à¤—ा यदि वरà¥à¤¤à¤®à¤¾à¤¨ उपयोगकरà¥à¤¤à¤¾ निरà¥à¤§à¤¾à¤°à¤¿à¤¤ समय तक निषà¥à¤•à¥à¤°à¤¿à¤¯ है।

    यह विशेषता भी कà¥à¤› पà¥à¤°à¥‹à¤—à¥à¤°à¤¾à¤®à¥‹à¤‚ के साथ समसà¥à¤¯à¤¾ पैदा कर सकती है, जैसे कि वीडियो पà¥à¤²à¥‡à¤¯à¤° या सीडी बरà¥à¤¨à¤°à¥¤ इन पà¥à¤°à¥‹à¤—à¥à¤°à¤¾à¤®à¥‹à¤‚ को सà¥à¤•à¥€à¤® सकà¥à¤·à¤® करें-विशिषà¥à¤Ÿ बà¥à¤²à¥ˆà¤•à¤²à¤¿à¤¸à¥à¤Ÿ पर निशान लगाकर और बà¥à¤²à¥ˆà¤•à¤²à¤¿à¤¸à¥à¤Ÿ संपादित करें... पर कà¥à¤²à¤¿à¤• करके बà¥à¤²à¥ˆà¤•à¤²à¤¿à¤¸à¥à¤Ÿ किया जा सकता है। यदि इससे काम न हो, तो समसà¥à¤¯à¤¾ की रिपोरà¥à¤Ÿ करें या सà¥à¤µà¤¤à¤ƒà¤¸à¥à¤¥à¤—ित को निषà¥à¤•à¥à¤°à¤¿à¤¯ करें।

    वासà¥à¤¤à¤µ में इस विकलà¥à¤ª का पà¥à¤°à¤¯à¥‹à¤— करें?" + +#: dummy.cpp:82 +msgid "Try to use only one CPU/Core." +msgstr "" + +#: dummy.cpp:83 +msgid "Reduce power consumption by try to use only one CPU/Core instead of spreading the work over all/multiple CPUs." +msgstr "" + +#: dummy.cpp:87 +msgid "Could not load the global configuration." +msgstr "वैशà¥à¤µà¤¿à¤• कॉनà¥à¤«à¤¿à¤—रेशन को लोड नहीं कर सकता।" + +#: dummy.cpp:88 +msgid "Could not load the requested scheme configuration." +msgstr "अनà¥à¤°à¥‹à¤§ किठगठसà¥à¤•à¥€à¤® कॉनà¥à¤«à¤¿à¤—रेशन को लोड नहीं कर सकता।" + +#: dummy.cpp:89 +msgid "Configure the current scheme." +msgstr "वरà¥à¤¤à¤®à¤¾à¤¨ सà¥à¤•à¥€à¤® को कॉनà¥à¤«à¤¿à¤—र करें।" + +#: dummy.cpp:90 +msgid "Try loading the default configuration." +msgstr "डिफॉलà¥à¤Ÿ कॉनà¥à¤«à¤¿à¤—रेशन को लोड करने का पà¥à¤°à¤¯à¤¾à¤¸ करें।" + +#: dummy.cpp:91 +msgid "Maybe the global configuration file is empty or missing." +msgstr "वैशà¥à¤µà¤¿à¤• कॉनà¥à¤«à¤¿à¤—रेशन फाइल रिकà¥à¤¤ या छूट गई हो सकती है।" + +#: dummy.cpp:94 +#, fuzzy +msgid "Cannot connect to D-Bus. The D-Bus daemon may not be running." +msgstr "D-BUS पर कनेकà¥à¤Ÿ नहीं कर सकता है। हो सकता है D-BUS डेमन रन नहीं कर रहा हो।" + +#: dummy.cpp:95 +msgid "" +"Scheme switched to %1. \n" +" Deactivate following devices: %2" +msgstr "" +"सà¥à¤•à¥€à¤® %1 पर सà¥à¤µà¤¿à¤š की गई।\n" +" निमà¥à¤¨à¤²à¤¿à¤–ित उपकरणों को निषà¥à¤•à¥à¤°à¤¿à¤¯ करें : %2" + +#: dummy.cpp:96 +msgid "" +"Scheme switched to %1. \n" +" Activate following devices: %2" +msgstr "" +"सà¥à¤•à¥€à¤® %1 पर सà¥à¤µà¤¿à¤š की गई।\n" +" निमà¥à¤¨à¤²à¤¿à¤–ित उपकरणों को सकà¥à¤°à¤¿à¤¯ करें : %2" + +#: dummy.cpp:97 +msgid "Report ..." +msgstr "रिपोरà¥à¤Ÿ..." + +#: dummy.cpp:98 +msgid "Suspend to RAM is not supported on your machine." +msgstr "रैम पर सà¥à¤¥à¤—ित आपकी मशीन पर समरà¥à¤¥à¤¿à¤¤ नहीं है।" + +#: dummy.cpp:99 +msgid "Additionally, please mail the output of %1 to %2 . Thanks!" +msgstr "इसके अतिरिकà¥à¤¤, कृपया %1 का आउटपà¥à¤Ÿ %2 को मेल करें। धनà¥à¤¯à¤µà¤¾à¤¦!" + +#: dummy.cpp:100 +msgid "Power consumption" +msgstr "ऊरà¥à¤œà¤¾ खपत" + +#: dummy.cpp:103 +msgid "KScreensaver not found." +msgstr "केसà¥à¤•à¥à¤°à¥€à¤¨à¤¸à¥‡à¤µà¤° नहीं मिला। " + +#: dummy.cpp:104 +msgid "Try locking with XScreensaver or xlock." +msgstr "à¤à¤•à¥à¤¸à¤¸à¥à¤•à¥à¤°à¥€à¤¨à¤¸à¥‡à¤µà¤° या à¤à¤•à¥à¤¸à¤²à¥‰à¤• से सà¥à¤•à¥à¤°à¥€à¤¨ को लॉक करने का पà¥à¤°à¤¯à¤¾à¤¸ करें" + +#: dummy.cpp:105 +msgid "XScreensaver not found." +msgstr "à¤à¤•à¥à¤¸à¤¸à¥à¤•à¥à¤°à¥€à¤¨à¤¸à¥‡à¤µà¤° नहीं मिला। " + +#: dummy.cpp:106 +msgid "Try locking the screen with xlock." +msgstr "à¤à¤•à¥à¤¸à¤²à¥‰à¤• से सà¥à¤•à¥à¤°à¥€à¤¨ को लॉक करने का पà¥à¤°à¤¯à¤¾à¤¸ करें" + +#: dummy.cpp:107 +msgid "XScreensaver and xlock not found. It is not possible to lock the screen. Check your installation." +msgstr "à¤à¤•à¥à¤¸à¤¸à¥à¤•à¥à¤°à¥€à¤¨à¤¸à¥‡à¤µà¤° और à¤à¤•à¥à¤¸à¤²à¥‰à¤• नहीं मिले। सकà¥à¤°à¥€à¤¨ को लॉक करना संभव नहीं है। अपना संसà¥à¤¥à¤¾à¤ªà¤¨ जांच लें।" + +#: dummy.cpp:111 +msgid "HAL daemon:" +msgstr "HAL डेमन :" + +#: dummy.cpp:112 +#, fuzzy +msgid "D-Bus daemon:" +msgstr "D-BUS डेमन :" + +#: dummy.cpp:113 +msgid "ConsoleKit daemon:" +msgstr "" + +#: dummy.cpp:114 +msgid "Autosuspend activated:" +msgstr "सà¥à¤µà¤¤:सà¥à¤¥à¤—ित सकà¥à¤°à¤¿à¤¯ किया गया :" + +#: dummy.cpp:115 +#, fuzzy +msgid "Autodimm activated:" +msgstr "सà¥à¤µà¤¤:सà¥à¤¥à¤—ित सकà¥à¤°à¤¿à¤¯ किया गया :" + +#: dummy.cpp:116 +msgid "enabled" +msgstr "सकà¥à¤·à¤® किया गया" + +#: dummy.cpp:117 +#, fuzzy +msgid "Session active:" +msgstr "असकà¥à¤°à¤¿à¤¯:" + +#: dummy.cpp:120 +msgid "Inactivity detected." +msgstr "" + +#: dummy.cpp:121 +msgid "To stop the %1 press the 'Cancel' button before the countdown expire." +msgstr "" + +#: dummy.cpp:122 +msgid "The computer autosuspend in: " +msgstr "" + +#: dummy.cpp:123 +#, c-format +msgid "The display get dimmed down to %1% in: " +msgstr "" + +#: dummy.cpp:124 +#, fuzzy +msgid "%1 seconds" +msgstr "सेकणà¥à¤¡à¥à¤¸" + +#: dummy.cpp:127 +msgid "Could not call %1. The current desktop session is not active." +msgstr "" + +#: dummy.cpp:128 +msgid "Could not set %1. The current desktop session is not active." +msgstr "" + +#: dummy.cpp:129 +msgid "Stopped %1. The current desktop session is now inactive." +msgstr "" + +#: dummy.cpp:130 +msgid "Restarted %1. The current desktop session is now active again." +msgstr "" + +#: log_viewer.cpp:78 +#, fuzzy +msgid "Form1" +msgstr "पà¥à¤°à¤¾à¤°à¥‚प :" + +#: log_viewer.cpp:79 +#, fuzzy +msgid "Save As ..." +msgstr "के समान सेव..." + +#: log_viewer.cpp:80 +#, fuzzy +msgid "Close" +msgstr "बनà¥à¤¦ करें" + +#: logviewer.cpp:44 +#, fuzzy +msgid "KPowersave Logfile Viewer: %1" +msgstr "पावरसेव सà¥à¤•à¥€à¤® पर सà¥à¤µà¤¿à¤š किया गया : %1" + +#: logviewer.cpp:89 +#, fuzzy +msgid "File already exist. Overwrite the file?" +msgstr "फाइल पहले से ही मौजूद है। इसे ओवरराइट करना है?" + +#: logviewer.cpp:90 logviewer.cpp:97 +#, fuzzy +msgid "Error while save logfile" +msgstr "पूरानी शैडो फाइल बंद करने में तà¥à¤°à¥à¤Ÿà¤¿: %m " + +#: logviewer.cpp:95 +#, fuzzy +msgid "File already exist." +msgstr "फाइल पहले से ही मौजूद है : %1।" + +#: logviewer.cpp:98 +#, fuzzy +msgid "Try other filename ..." +msgstr "अमानà¥à¤¯ फाइल नाम" + +#: suspenddialog.cpp:70 +msgid "Preparing Suspend..." +msgstr "सà¥à¤¥à¤—ित की तैयारी..." + +#: kpowersave.cpp:168 +msgid "Configure KPowersave..." +msgstr "केपावरसेव कॉनà¥à¤«à¤¿à¤—र करें..." + +#: kpowersave.cpp:171 configure_Dialog.cpp:915 +msgid "Configure Notifications..." +msgstr "अधिसूचनाà¤à¤‚ कॉनà¥à¤«à¤¿à¤—र करें..." + +#: kpowersave.cpp:175 +msgid "Start YaST2 Power Management Module..." +msgstr "YaST2 पावर पà¥à¤°à¤¬à¤‚धन मॉडà¥à¤¯à¥‚ल आरंभ करें..." + +#: kpowersave.cpp:189 kpowersave.cpp:2106 kpowersave.cpp:2166 +#: kpowersave.cpp:2253 +msgid "Standby" +msgstr "सà¥à¤Ÿà¥ˆà¤‚डबाइ" + +#: kpowersave.cpp:191 kpowersave.cpp:198 +msgid "Set CPU Frequency Policy" +msgstr "सीपीयू आवृतà¥à¤¤à¤¿ नीति सेट करें" + +#: kpowersave.cpp:205 kpowersave.cpp:206 +msgid "Set Active Scheme" +msgstr "सकà¥à¤°à¤¿à¤¯ सà¥à¤•à¥€à¤® सेट करें" + +#: kpowersave.cpp:212 +msgid "Disable Actions on Inactivity" +msgstr "निषà¥à¤•à¥à¤°à¤¿à¤¯à¤¤à¤¾ पर कारà¥à¤°à¤µà¤¾à¤‡à¤¯à¤¾à¤‚ अकà¥à¤·à¤® करें" + +#: kpowersave.cpp:219 kpowersave.cpp:229 +msgid "&Help" +msgstr "मदद" + +#: kpowersave.cpp:221 +msgid "&KPowersave Handbook" +msgstr "&केपावरसेव हैंडबà¥à¤•" + +#: kpowersave.cpp:224 +msgid "&Report a bug ..." +msgstr "किसी बग को &सूचित करें..." + +#: kpowersave.cpp:226 +msgid "&About KPowersave" +msgstr "केपावरसेव के &बारे में" + +#: kpowersave.cpp:275 kpowersave.cpp:648 kpowersave.cpp:656 kpowersave.cpp:703 +#: kpowersave.cpp:710 kpowersave.cpp:759 kpowersave.cpp:766 kpowersave.cpp:815 +#: kpowersave.cpp:822 kpowersave.cpp:1126 kpowersave.cpp:1241 +#: kpowersave.cpp:1270 kpowersave.cpp:2183 +msgid "WARNING" +msgstr "चेतावनी" + +#: kpowersave.cpp:275 +#, fuzzy +msgid "Cannot find any schemes." +msgstr "पावर बचत सà¥à¤•à¥€à¤®à¥‹à¤‚ को पढ़ा नहीं जा सकता." + +#: kpowersave.cpp:453 +msgid "No information about battery and AC status available" +msgstr "बैटरी और à¤à¤¸à¥€ अवसà¥à¤¥à¤¾ के बारे में कोई सूचना उपलबà¥à¤§ नहीं है" + +#: kpowersave.cpp:456 +msgid "Plugged in -- fully charged" +msgstr "पà¥à¤²à¤— इन किया गया -- पूरी तरह चारà¥à¤œ" + +#: kpowersave.cpp:460 +msgid "Plugged in" +msgstr "पà¥à¤²à¤— इन किया गया" + +#: kpowersave.cpp:464 +msgid "Plugged in -- %1% charged (%2:%3 h until full charged)" +msgstr "पà¥à¤²à¤— इन किया गया -- %1% चारà¥à¤œ (%2:%3 घंटे पूरी तरह चारà¥à¤œ होने तक)" + +#: kpowersave.cpp:467 +msgid "Plugged in -- %1% charged (%2:%3 remaining hours)" +msgstr "पà¥à¤²à¤— इन किया गया -- %1% चारà¥à¤œ (%2:%3 शेष घंटे)" + +#: kpowersave.cpp:471 kpowersave.cpp:475 +#, c-format +msgid "Plugged in -- %1% charged" +msgstr "पà¥à¤²à¤— इन किया गया -- %1% चारà¥à¤œ" + +#: kpowersave.cpp:474 +msgid "Plugged in -- no battery" +msgstr "पà¥à¤²à¤— इन किया गया -- कोई बैटरी नहीं" + +#: kpowersave.cpp:480 +msgid "Running on batteries -- %1% charged (%2:%3 hours remaining)" +msgstr "बैटरियां चल रही हैं -- %1% चारà¥à¤œ हो गईं (%2:%3 घंटे शेष हैं)" + +#: kpowersave.cpp:484 +#, c-format +msgid "Running on batteries -- %1% charged" +msgstr "बैटरियां चल रही हैं -- %1% चारà¥à¤œ हो गईं " + +#: kpowersave.cpp:491 +msgid " -- battery is charging" +msgstr " -- बैटरी चारà¥à¤œ हो रही है" + +#: kpowersave.cpp:649 kpowersave.cpp:657 +msgid "Could not start YaST Power Management Module. Check if it is installed." +msgstr "YaST पावर पà¥à¤°à¤¬à¤‚धन मॉडà¥à¤¯à¥‚ल को आरंभ नहीं कर सकता। जांच कर लें कि कà¥à¤¯à¤¾ यहसंसà¥à¤¥à¤¾à¤ªà¤¿à¤¤ है।" + +#: kpowersave.cpp:703 +#, fuzzy +msgid "Suspend to disk failed" +msgstr "ससà¥à¤ªà¥ˆà¤‚ड विफल" + +#: kpowersave.cpp:711 +msgid "Suspend to disk disabled by administrator." +msgstr "पà¥à¤°à¤¶à¤¾à¤¸à¤• दà¥à¤µà¤¾à¤°à¤¾ डिसà¥à¤• पर सà¥à¤¥à¤—ित करना अकà¥à¤·à¤® किया गया।" + +#: kpowersave.cpp:759 +#, fuzzy +msgid "Suspend to RAM failed" +msgstr "रैम पर सà¥à¤¥à¤—ित" + +#: kpowersave.cpp:767 +msgid "Suspend to RAM disabled by administrator." +msgstr "पà¥à¤°à¤¶à¤¾à¤¸à¤• दà¥à¤µà¤¾à¤°à¤¾ रैम पर सà¥à¤¥à¤—ित अकà¥à¤·à¤® किया गया।" + +#: kpowersave.cpp:815 +#, fuzzy +msgid "Standby failed" +msgstr "के बाद सà¥à¤Ÿà¥ˆà¤‚डबाइ :" + +#: kpowersave.cpp:822 +msgid "Standby disabled by administrator." +msgstr "सà¥à¤Ÿà¥ˆà¤‚डबाइ को पà¥à¤°à¤¶à¤¾à¤¸à¤• दà¥à¤µà¤¾à¤°à¤¾ अकà¥à¤·à¤® किया गया।" + +#: kpowersave.cpp:853 +msgid "System is going into suspend mode now" +msgstr "सिसà¥à¤Ÿà¤® अब सà¥à¤¥à¤—ित मोड में जा रहा है" + +#: kpowersave.cpp:1039 +msgid "Could not call DCOP interface to umount external media." +msgstr "" + +#: kpowersave.cpp:1044 +msgid "" +"Could not umount external media before suspend/standby. \n" +" (Reason: %1)\n" +" \n" +" Would you like to continue suspend/standby anyway? \n" +"(Warning: Continue suspend can cause data loss!)" +msgstr "" + +#: kpowersave.cpp:1052 +#, fuzzy +msgid "Error while prepare %1" +msgstr "नई पासवरà¥à¤¡ फाइल राइट करने में तà¥à¤°à¥à¤Ÿà¤¿: %m " + +#: kpowersave.cpp:1053 +#, fuzzy +msgid "Suspend anyway" +msgstr "के बाद सà¥à¤¥à¤—ित करें :" + +#: kpowersave.cpp:1053 +#, fuzzy +msgid "Cancel suspend" +msgstr "सà¥à¤µà¤¤:सà¥à¤¥à¤—ित सकà¥à¤·à¤® करें" + +#: kpowersave.cpp:1127 +msgid "" +"Could not lock the screen. There may be a problem with the selected \n" +"lock method or something else." +msgstr "" +"सà¥à¤•à¥à¤°à¥€à¤¨ को लॉक नहीं कर सकता। चयनित लॉक विधि या कà¥à¤› अनà¥à¤¯ में कोईसमसà¥à¤¯à¤¾ \n" +"हो सकती है।" + +#: kpowersave.cpp:1144 +msgid "The Lid was closed." +msgstr "लिड को बंद किया गया था" + +#: kpowersave.cpp:1156 +msgid "The Lid was opened." +msgstr "लिड को खोला गया था" + +#: kpowersave.cpp:1223 +msgid "Start KPowersave automatically when you log in?" +msgstr "आपके लॉग इन करते समय केपावरसेव को सà¥à¤µà¤¤: आरंभ करें?" + +#: kpowersave.cpp:1224 +msgid "Question" +msgstr "विवरण" + +#: kpowersave.cpp:1225 +msgid "Start Automatically" +msgstr "सà¥à¤µà¤¤: आरंभ करें" + +#: kpowersave.cpp:1225 +msgid "Do Not Start" +msgstr "आरंभ नहीं करें" + +#: kpowersave.cpp:1242 +msgid "CPU Freq Policy %1 could not be set." +msgstr "CPU Freq नीति %1 को सेट नहीं किया जा सकता।" + +#: kpowersave.cpp:1271 +msgid "Scheme %1 could not be activated." +msgstr "सà¥à¤•à¥€à¤® %1 को सकà¥à¤°à¤¿à¤¯ नहीं किया जा सकता।" + +#: kpowersave.cpp:1600 +#, fuzzy +msgid "" +"The D-Bus daemon is not running.\n" +"Starting it will provide full functionality: /etc/init.d/dbus start" +msgstr "" +"पावरसेव डेमन रन नहीं कर रहा है।\n" +"इसे आरंभ करने से पà¥à¤°à¤¦à¤°à¥à¤¶à¤¨ सà¥à¤§à¤°à¥‡à¤—ा : /etc/init.d/powersaved start" + +#: kpowersave.cpp:1611 +msgid "Don't show this message again." +msgstr "इस संदेश को फिर से न दिखाà¤à¤‚।" + +#: kpowersave.cpp:1637 +msgid "ERROR" +msgstr "तà¥à¤°à¥à¤Ÿà¤¿" + +#: kpowersave.cpp:1638 +msgid "Could not get information from HAL. The haldaemon is maybe not running." +msgstr "HAL से सूचना नहीं पà¥à¤°à¤¾à¤ªà¥à¤¤ कर सका। हो सकता है कि haldaemon रन नहीं कर रहा हो।" + +#: kpowersave.cpp:1641 +msgid "Error" +msgstr "खराबी" + +#: kpowersave.cpp:1912 +msgid "Battery state changed to WARNING -- remaining time: %1 hours and %2 minutes." +msgstr "बैटरी अवसà¥à¤¥à¤¾ चेतावनी में परिवरà¥à¤¤à¤¿à¤¤ हो गई है -- शेष समय : %1 घंटे और %2 मिनट।" + +#: kpowersave.cpp:1921 +msgid "Battery state changed to LOW -- remaining time: %1 hours and %2 minutes." +msgstr "बैटरी अवसà¥à¤¥à¤¾ निमà¥à¤¨ में परिवरà¥à¤¤à¤¿à¤¤ हो गई है -- शेष समय : %1 घंटे और %2 मिनट।" + +#: kpowersave.cpp:1932 +#, fuzzy +msgid "" +"Battery state changed to CRITICAL -- remaining time: %1 hours and %2 minutes.\n" +"Shut down your system or plug in the power cable immediately. Otherwise the machine\n" +"will go shutdown in 30 seconds" +msgstr "बैटरी अवसà¥à¤¥à¤¾ संकटपूरà¥à¤£ में परिवरà¥à¤¤à¤¿à¤¤ हो गई है -- शेष समय : %1 घंटे और %2 मिनट। अपना सिसà¥à¤Ÿà¤® शट डाउन कर दें या ततà¥à¤•à¤¾à¤² पावर केबल पà¥à¤²à¤— लगा दें।" + +#: kpowersave.cpp:1943 +#, fuzzy +msgid "" +"Battery state changed to CRITICAL -- remaining time: %1 hours and %2 minutes.\n" +"Shut down your system or plug in the power cable immediately." +msgstr "बैटरी अवसà¥à¤¥à¤¾ संकटपूरà¥à¤£ में परिवरà¥à¤¤à¤¿à¤¤ हो गई है -- शेष समय : %1 घंटे और %2 मिनट। अपना सिसà¥à¤Ÿà¤® शट डाउन कर दें या ततà¥à¤•à¤¾à¤² पावर केबल पà¥à¤²à¤— लगा दें।" + +#: kpowersave.cpp:2041 +msgid "AC adapter plugged in" +msgstr "à¤à¤¸à¥€ à¤à¤¡à¤¾à¤ªà¥à¤Ÿà¤° को लगाया गया" + +#: kpowersave.cpp:2043 +msgid "AC adapter unplugged" +msgstr "à¤à¤¸à¥€ à¤à¤¡à¤¾à¤ªà¥à¤Ÿà¤° को हटाया गया" + +#: kpowersave.cpp:2078 +#, fuzzy +msgid "Switched to scheme: %1" +msgstr "पावरसेव सà¥à¤•à¥€à¤® पर सà¥à¤µà¤¿à¤š किया गया : %1" + +#: kpowersave.cpp:2095 kpowersave.cpp:2100 kpowersave.cpp:2105 +msgid "System is going into %1 now." +msgstr "सिसà¥à¤Ÿà¤® अब %1 में जा रहा है।" + +#: kpowersave.cpp:2155 kpowersave.cpp:2160 kpowersave.cpp:2165 +msgid "System is resumed from %1." +msgstr "सिसà¥à¤Ÿà¤® %1 से पà¥à¤¨:आरंभ किया गया है।" + +#: kpowersave.cpp:2184 +msgid "Could not remount (all) external storage media." +msgstr "" + +#: kpowersave.cpp:2192 +msgid "An unknown error occurred while %1. The errorcode is: '%2'" +msgstr "" + +#: kpowersave.cpp:2197 +#, fuzzy +msgid "Do you want to have a look at the log file?" +msgstr "कà¥à¤¯à¤¾ अब आप सिसà¥à¤Ÿà¤® को रोकना चाहते हैं?" + +#: kpowersave.cpp:2198 kpowersave.cpp:2224 +msgid "Error while %1" +msgstr "" + +#: configure_Dialog.cpp:831 +msgid "KPowersave Settings" +msgstr "केपावरसेव सेटिंगà¥à¤¸" + +#: configure_Dialog.cpp:832 +#, fuzzy +msgid "Apply" +msgstr "लागू करें" + +#: configure_Dialog.cpp:834 +msgid "Help" +msgstr "मदद" + +#: configure_Dialog.cpp:840 +msgid "Enable specific display power management" +msgstr "विशिषà¥à¤Ÿ डिसà¥à¤ªà¥à¤²à¥‡ पावर पà¥à¤°à¤¬à¤‚धन को सकà¥à¤·à¤® करें" + +#: configure_Dialog.cpp:841 +msgid "Standby after:" +msgstr "के बाद सà¥à¤Ÿà¥ˆà¤‚डबाइ :" + +#: configure_Dialog.cpp:842 +msgid "Only blank the screen" +msgstr "सà¥à¤•à¥à¤°à¥€à¤¨ को केवल सादा करें" + +#: configure_Dialog.cpp:843 +msgid "Disable screen saver" +msgstr "सà¥à¤•à¥à¤°à¥€à¤¨ सेवर को अकà¥à¤·à¤® करें" + +#: configure_Dialog.cpp:844 +msgid "Enable specific screensaver settings" +msgstr "विशिषà¥à¤Ÿ सà¥à¤•à¥à¤°à¥€à¤¨à¤¸à¥‡à¤µà¤° सेटिंगà¥à¤¸ को सकà¥à¤·à¤® करें" + +#: configure_Dialog.cpp:845 +msgid "Suspend after:" +msgstr "के बाद सà¥à¤¥à¤—ित करें :" + +#: configure_Dialog.cpp:846 +msgid "Power off after:" +msgstr "के बाद पावर ऑफ करें :" + +#: configure_Dialog.cpp:847 +msgid "Disable display power management" +msgstr "डिसà¥à¤ªà¥à¤²à¥‡ पावर पà¥à¤°à¤¬à¤‚धन को अकà¥à¤·à¤® करें" + +#: configure_Dialog.cpp:848 configure_Dialog.cpp:849 configure_Dialog.cpp:850 +#: configure_Dialog.cpp:862 configure_Dialog.cpp:873 +msgid " min" +msgstr " min" + +#: configure_Dialog.cpp:851 +msgid "Screen Saver and DPMS" +msgstr "सà¥à¤•à¥à¤°à¥€à¤¨ सेवर और DPMS" + +#: configure_Dialog.cpp:852 +msgid "Settings" +msgstr "सेटिंगà¥à¤¸" + +#: configure_Dialog.cpp:853 +msgid "Reset" +msgstr "रीसेट" + +#: configure_Dialog.cpp:855 +#, fuzzy +msgid "Enable scheme specific Brightness settings" +msgstr "सà¥à¤•à¥€à¤® विशिषà¥à¤Ÿ &बà¥à¤°à¤¾à¤‡à¤Ÿà¤¨à¥‡à¤¸ सेटिंगà¥à¤¸ सकà¥à¤·à¤® करें" + +#: configure_Dialog.cpp:858 +msgid "Brightness" +msgstr "बà¥à¤°à¤¾à¤‡à¤Ÿà¤¨à¥‡à¤¸" + +#: configure_Dialog.cpp:859 +msgid "Enable autosuspend" +msgstr "सà¥à¤µà¤¤:सà¥à¤¥à¤—ित सकà¥à¤·à¤® करें" + +#: configure_Dialog.cpp:860 configure_Dialog.cpp:867 +msgid "Enable scheme-specific blacklist" +msgstr "सà¥à¤•à¥€à¤®-विशिषà¥à¤Ÿ बà¥à¤²à¥ˆà¤•à¤²à¤¿à¤¸à¥à¤Ÿ सकà¥à¤·à¤® करें" + +#: configure_Dialog.cpp:861 configure_Dialog.cpp:870 +msgid "after:" +msgstr "बाद में :" + +#: configure_Dialog.cpp:863 configure_Dialog.cpp:868 +msgid "Edit Blacklist..." +msgstr "बà¥à¤²à¥ˆà¤•à¤²à¤¿à¤¸à¥à¤Ÿ संपादित करें..." + +#: configure_Dialog.cpp:864 configure_Dialog.cpp:869 +msgid "If the current desktop user is inactive the computer will:" +msgstr "यदि वरà¥à¤¤à¤®à¤¾à¤¨ डेसà¥à¤•à¤Ÿà¥‰à¤ª उपयोगकरà¥à¤¤à¤¾ निषà¥à¤•à¥à¤°à¤¿à¤¯ है तो कंपà¥à¤¯à¥‚टर होगा :" + +#: configure_Dialog.cpp:865 +msgid "Autosuspend" +msgstr "सà¥à¤µà¤¤:सà¥à¤¥à¤—ित" + +#: configure_Dialog.cpp:866 +#, fuzzy +msgid "Enable autodimm the display" +msgstr "निषà¥à¤•à¥à¤°à¤¿à¤¯ होने पर डिसà¥à¤ªà¥à¤²à¥‡ के मदà¥à¤§à¤¿à¤® होने को सकà¥à¤·à¤® करें" + +#: configure_Dialog.cpp:871 configure_Dialog.cpp:893 configure_Dialog.cpp:894 +#: configure_Dialog.cpp:895 configure_Dialog.cpp:896 configure_Dialog.cpp:897 +#: configure_Dialog.cpp:898 +msgid " %" +msgstr "%" + +#: configure_Dialog.cpp:872 +msgid "dimm to:" +msgstr "" + +#: configure_Dialog.cpp:874 +msgid "Autodimm" +msgstr "" + +#: configure_Dialog.cpp:879 +#, fuzzy +msgid "Set CPU Frequency Policy:" +msgstr "सीपीयू आवृतà¥à¤¤à¤¿ नीति सेट करें" + +#: configure_Dialog.cpp:880 +#, fuzzy +msgid "CPU Frequency Policy" +msgstr "सीपीयू आवृतà¥à¤¤à¤¿ नीति सेट करें" + +#: configure_Dialog.cpp:881 +msgid "Disable Notifications" +msgstr "अधिसूचनाà¤à¤‚ अकà¥à¤·à¤® करें" + +#: configure_Dialog.cpp:884 +#, fuzzy +msgid "New" +msgstr "नया" + +#: configure_Dialog.cpp:885 +msgid "Scheme Settings" +msgstr "सà¥à¤•à¥€à¤® सेटिंगà¥à¤¸" + +#: configure_Dialog.cpp:886 +msgid "Define the battery warning levels (in percentage) and the releated action if the level get reached:" +msgstr "" + +#: configure_Dialog.cpp:887 +#, fuzzy +msgid "Warning level:" +msgstr "चेता&वनी सà¥à¤¤à¤° à¤à¤•à¥à¤¶à¤¨" + +#: configure_Dialog.cpp:888 +#, fuzzy +msgid "Low level:" +msgstr "शोरगà¥à¤² सà¥à¤¤à¤°" + +#: configure_Dialog.cpp:889 +#, fuzzy +msgid "Critical level:" +msgstr "कà¥à¤°à¤¿à¤Ÿà¤¿&कल सà¥à¤¤à¤° à¤à¤•à¥à¤¶à¤¨" + +#: configure_Dialog.cpp:890 configure_Dialog.cpp:891 configure_Dialog.cpp:892 +msgid "if reached call:" +msgstr "" + +#: configure_Dialog.cpp:899 +#, fuzzy +msgid "Battery" +msgstr "बैटरी %1" + +#: configure_Dialog.cpp:900 +msgid "Define the action which should be executed if the related button get pressed:" +msgstr "" + +#: configure_Dialog.cpp:901 +#, fuzzy +msgid "Suspend-to-disk Button:" +msgstr "डिसà¥à¤• पर सà¥à¤¥à¤—ित" + +#: configure_Dialog.cpp:902 +#, fuzzy +msgid "Sleep button:" +msgstr "&सà¥à¤²à¥€à¤ª बटन" + +#: configure_Dialog.cpp:903 +#, fuzzy +msgid "Lid close Button:" +msgstr "माउस का बीच वाला बटन :" + +#: configure_Dialog.cpp:904 +#, fuzzy +msgid "Power Button:" +msgstr "&पावर बटन" + +#: configure_Dialog.cpp:905 +#, fuzzy +msgid "Button Events" +msgstr "बटन दबाया " + +#: configure_Dialog.cpp:906 +msgid "Select the following schemes as default if the system is running on AC or on batteries." +msgstr "" + +#: configure_Dialog.cpp:907 +#, fuzzy +msgid "Battery scheme:" +msgstr "बैटरी सà¥à¤•à¥€à¤®: %1" + +#: configure_Dialog.cpp:908 +#, fuzzy +msgid "AC scheme:" +msgstr "AC सà¥à¤•à¥€à¤®: %1" + +#: configure_Dialog.cpp:909 +#, fuzzy +msgid "Default Schemes" +msgstr "à¤à¤¡à¤¿&ट सà¥à¤•à¥€à¤®à¥à¤¸à¥" + +#: configure_Dialog.cpp:910 +msgid "Lock screen before suspend or standby" +msgstr "सà¥à¤¥à¤—ित या सà¥à¤Ÿà¥ˆà¤‚डबाइ से पहले सà¥à¤•à¥à¤°à¥€à¤¨ लॉक करें" + +#: configure_Dialog.cpp:911 +msgid "Lock screen with:" +msgstr "से सà¥à¤•à¥à¤°à¥€à¤¨ को लॉक करें :" + +#: configure_Dialog.cpp:912 +msgid "Lock screen on lid close" +msgstr "लिड कà¥à¤²à¥‹à¤œ पर सà¥à¤•à¥à¤°à¥€à¤¨ लॉक करें" + +#: configure_Dialog.cpp:913 +msgid "Lock Screen" +msgstr "सà¥à¤•à¥à¤°à¥€à¤¨ लॉक करें" + +#: configure_Dialog.cpp:914 +msgid "Notifications" +msgstr "अधिसूचनाà¤à¤‚" + +#: configure_Dialog.cpp:916 +msgid "Autostart" +msgstr "सà¥à¤µà¤¤:आरंभ" + +#: configure_Dialog.cpp:917 +msgid "Never ask me again on exit" +msgstr "बाहर जाने के लिठदà¥à¤¬à¤¾à¤°à¤¾ कभी नहीं पूछें" + +#: configure_Dialog.cpp:918 +msgid "KPowersave starts automatically on login" +msgstr "केपावरसेव लॉगिन पर सà¥à¤µà¤¤: आरंभ होता है" + +#: configure_Dialog.cpp:919 +#, fuzzy +msgid "General Blacklists" +msgstr "सामानà¥à¤¯ बà¥à¤²à¥ˆà¤•à¤²à¤¿à¤¸à¥à¤Ÿ" + +#: configure_Dialog.cpp:920 +#, fuzzy +msgid "Edit Autosuspend Blacklist..." +msgstr "सà¥à¤µà¤¤à¤ƒà¤¸à¥à¤¥à¤—ित बà¥à¤²à¥ˆà¤•à¤²à¤¿à¤¸à¥à¤Ÿ à¤à¤¡à¤¿à¤Ÿ" + +#: configure_Dialog.cpp:921 +#, fuzzy +msgid "Edit Autodimm Blacklist..." +msgstr "बà¥à¤²à¥ˆà¤•à¤²à¤¿à¤¸à¥à¤Ÿ संपादित करें..." + +#: configure_Dialog.cpp:923 +msgid "General Settings" +msgstr "सामानà¥à¤¯ सेटिंगà¥à¤¸" + diff --git a/po/hu.po b/po/hu.po new file mode 100644 index 0000000..b37a4d8 --- /dev/null +++ b/po/hu.po @@ -0,0 +1,1506 @@ +# translation of kpowersave.hu.po to +# translation of kpowersave.po to +# This file is distributed under the same license as the PACKAGE package. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER. +# +# Antje Faber , 2004. +# Marcel Hilzinger , 2004. +# Szabolcs Varga , 2005. +# Kalman Kemenczy , 2006, 2007. +# Gabor Kelemen , 2007. +msgid "" +msgstr "" +"Project-Id-Version: kpowersave\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2007-08-10 03:16+0200\n" +"PO-Revision-Date: 2007-08-15 17:12+0200\n" +"Last-Translator: Kalman Kemenczy \n" +"Language-Team: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: KBabel 1.11.4\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#: detailed_Dialog.cpp:228 +msgid "kpowersave" +msgstr "kpowersave" + +#: detailed_Dialog.cpp:229 +msgid "General Information" +msgstr "Ãltalános információ" + +#: detailed_Dialog.cpp:232 +msgid "Battery Status" +msgstr "Akkumulátor állapota" + +#: detailed_Dialog.cpp:233 +msgid "AC Adapter" +msgstr "Hálózati adapter" + +#: detailed_Dialog.cpp:234 detaileddialog.cpp:391 +msgid "plugged in" +msgstr "csatlakoztatva" + +#: detailed_Dialog.cpp:235 +msgid "Power Consumtion: " +msgstr "Ãramfogyasztás: " + +#: detailed_Dialog.cpp:237 +msgid "Processor Status" +msgstr "Processzor állapota" + +#: detailed_Dialog.cpp:238 blacklistedit_Dialog.cpp:130 info_Dialog.cpp:198 +#: configure_Dialog.cpp:838 +msgid "OK" +msgstr "OK" + +#: blacklisteditdialog.cpp:60 +msgid "General Blacklist" +msgstr "Ãltalános feketelista" + +#: blacklisteditdialog.cpp:63 +msgid "Scheme: " +msgstr "Séma: " + +#: blacklisteditdialog.cpp:114 +msgid "Selected entry removed." +msgstr "A kijelölt bejegyzés eltávolításra került." + +#: blacklisteditdialog.cpp:117 +msgid "Could not remove the selected entry." +msgstr "A kiválasztott bejegyzés eltávolítása nem sikerült." + +#: blacklisteditdialog.cpp:137 +msgid "Inserted new entry." +msgstr "Új bejegyzés beszúrva." + +#: blacklisteditdialog.cpp:141 +msgid "Entry exists already. Did not insert new entry." +msgstr "A bejegyzés már létezik. Új bejegyzés nem lett beszúrva." + +#: blacklisteditdialog.cpp:144 +msgid "Empty entry was not inserted." +msgstr "Ãœres bejegyzés lett beszúrva." + +#: inactivity.cpp:298 +msgid "" +"Could not start 'pidof'. Could not autosuspend the machine.\n" +"Please check your installation." +msgstr "" +"A 'pidof' elindítása nem sikerült. A gép automatikus felfüggesztése " +"meghiúsult.\n" +"EllenÅ‘rizze a telepített rendszert." + +#: blacklistedit_Dialog.cpp:129 +msgid "Autosuspend Blacklist Edit" +msgstr "Automatikus felfüggesztési feketelista módosítása" + +# cancel button label +#: blacklistedit_Dialog.cpp:132 configuredialog.cpp:1079 +#: configure_Dialog.cpp:836 +msgid "Cancel" +msgstr "Mégsem" + +#: blacklistedit_Dialog.cpp:135 +msgid "Add" +msgstr "Hozzáadás" + +#: blacklistedit_Dialog.cpp:136 +msgid "Remove" +msgstr "Eltávolítás" + +#: infodialog.cpp:76 infodialog.cpp:78 main.cpp:55 +msgid "KPowersave" +msgstr "KPowersave" + +#: configuredialog.cpp:116 configuredialog.cpp:121 configuredialog.cpp:721 +msgid " - not supported" +msgstr " - nem támogatott" + +#: configuredialog.cpp:150 configuredialog.cpp:317 detaileddialog.cpp:432 +#: kpowersave.cpp:192 settings.cpp:66 configure_Dialog.cpp:876 +msgid "Performance" +msgstr "Teljesítmény" + +#: configuredialog.cpp:154 configuredialog.cpp:319 detaileddialog.cpp:438 +#: kpowersave.cpp:194 settings.cpp:68 configure_Dialog.cpp:878 +msgid "Powersave" +msgstr "Energiatakarékosság" + +#: configuredialog.cpp:159 configuredialog.cpp:321 kpowersave.cpp:1478 +#: settings.cpp:70 +msgid "Presentation" +msgstr "Bemutató" + +#: configuredialog.cpp:164 configuredialog.cpp:323 kpowersave.cpp:1473 +#: settings.cpp:72 +msgid "Acoustic" +msgstr "Zajszint" + +#: configuredialog.cpp:169 configuredialog.cpp:171 configuredialog.cpp:172 +#: configuredialog.cpp:173 kpowersave.cpp:1484 +msgid "Advanced Powersave" +msgstr "Powersave speciális beállítások" + +#: configuredialog.cpp:271 +msgid "" +"This enables specific screen saver settings. \n" +"Note: If selected, the global screen saver settings are \n" +"overwritten while kpowersave runs." +msgstr "" +"Itt kapcsolhatók be az egyedi képernyÅ‘védÅ‘-beállítások.\n" +"Megjegyzés: Ha kiválasztja, a kpowersave futása alatt\n" +"a globális képernyÅ‘védÅ‘-beállítások felülíródnak." + +#: configuredialog.cpp:274 +msgid "" +"This disables the screen saver. \n" +"Note: If selected, the global screen saver settings are \n" +"overwritten while kpowersave runs." +msgstr "" +"Itt tiltható le a képernyÅ‘védÅ‘.\n" +"Megjegyzés: Ha kiválasztja, a kpowersave futása alatt\n" +"a globális képernyÅ‘védÅ‘-beállítások felülíródnak." + +#: configuredialog.cpp:277 +msgid "" +"This blanks the screen instead of using a specific screen saver. \n" +"Note: This may work only with KScreensaver." +msgstr "" +"Ennek hatására a képernyÅ‘ egyszerűen törlésre kerül, nem fog semmilyen " +"képernyÅ‘védÅ‘ futni.\n" +"Megjegyzés: Lehet, hogy ez csak a KScreensaver esetén történik így." + +#: configuredialog.cpp:279 +msgid "" +"This enables specific DPMS settings. \n" +"Note: If selected, the global DPMS settings are \n" +"overwritten while kpowersave runs." +msgstr "" +"Itt adhatók meg az egyedi DPMS-beállítások.\n" +"Megjegyzés: Ha kiválasztja, a kpowersave futása alatt\n" +"a globális DPMS-beállítások felülíródnak." + +#: configuredialog.cpp:282 +msgid "This disables DPMS support." +msgstr "A DPMS-támogatás letiltása." + +#: configuredialog.cpp:283 +msgid "If selected, the screen is locked on suspend or standby." +msgstr "" +"Ha kiválasztja, Felfüggesztés és Készenlét módban a képernyÅ‘ lezárásra kerül." + +#: configuredialog.cpp:284 +msgid "If selected, the screen is locked if the lid close event is triggered." +msgstr "" +"Ha kiválasztja, a Fedél zárva esemény hatására a képernyÅ‘ lezárásra kerül." + +#: configuredialog.cpp:286 +msgid "" +"Check this box to enable or disable automatic suspension of the computer." +msgstr "" +"A négyzet megjelölésével kapcsolhatja be a számítógép automatikus " +"felfüggesztését." + +#: configuredialog.cpp:288 +msgid "" +"Activate this action if the user was inactive for the defined time \n" +"(greater than 0 minutes). If empty, nothing happens." +msgstr "" +"Akkor kerül ez a művelet aktiválásra, ha a felhasználó a megadott ideig\n" +"(> 0 percig) inaktív. Ha üres, semmi sem történik." + +#: configuredialog.cpp:291 +msgid "All scheme-related screen saver and DPMS settings." +msgstr "Az összes sémákkal kapcsolatos képernyÅ‘védÅ‘- és DPMS-beállítás." + +#: configuredialog.cpp:292 +msgid "All scheme-related display brightness settings." +msgstr "Az összes sémával kapcsolatos képernyÅ‘ fényerejének beállítása." + +#: configuredialog.cpp:293 +msgid "All scheme-related automatic suspend settings." +msgstr "Az összes sémákkal kapcsolatos automatikus felfüggesztési beállítás." + +#: configuredialog.cpp:295 +msgid "" +"Here you can change the brightness of your display. \n" +"Use the slider to change the brightness directly for \n" +"testing. To reset back to previous level, please press \n" +"the 'Reset' button. " +msgstr "" +"Itt módosíthatja a képernyÅ‘ fényerejét. \n" +"A csúszkával próbálja ki a fényerÅ‘t közvetlenül.\n" +"Egy korábbi szintre való visszaállításhoz nyomja meg a \n" +"'Visszaállítás' gombot. " + +#: configuredialog.cpp:299 +msgid "Use this button to set back the slider and the display brightness." +msgstr "" +"Ezzel a gombbal állíthatja a potmétert és a képernyÅ‘ fényerejét lejjebb." + +#: configuredialog.cpp:352 +msgid "Press this button to delete the selected scheme." +msgstr "A kiválasztott séma törléséhez nyomja meg a gombot." + +#: configuredialog.cpp:357 +msgid "You can't delete the current AC or battery scheme." +msgstr "Nem törölheti a jelenlegi hálózati- vagy akkumulátorsémát." + +#: configuredialog.cpp:363 +msgid "You can't delete this default scheme." +msgstr "Nem törölheti le az alapértelmezett sémát." + +#: configuredialog.cpp:546 +msgid "" +"Your hardware supports to change the brightness. The values of the slider " +"are in percent and mapped to the available brightness levels of your " +"hardware." +msgstr "" +"A hardver támogatja a fényerÅ‘ módosítását. A csúszka értékei százalékban " +"vannak megadva és le vannak képezve a hardver által támogatott " +"fényerÅ‘szintekre." + +#: configuredialog.cpp:553 +msgid "" +"Your Hardware currently not support changing the brightness of your display." +msgstr "A hardver jelenleg nem támogatja a képernyÅ‘ fényerejének módosítását." + +#: configuredialog.cpp:664 +msgid "Select Automatically" +msgstr "automatikus kiválasztás" + +#: configuredialog.cpp:665 +msgid "KScreensaver" +msgstr "KScreensaver (KDE képernyÅ‘védÅ‘)" + +#: configuredialog.cpp:666 +msgid "XScreensaver" +msgstr "X-képernyÅ‘védÅ‘" + +#: configuredialog.cpp:667 +msgid "xlock" +msgstr "xlock" + +#: configuredialog.cpp:668 +msgid "GNOME Screensaver" +msgstr "GNOME képernyÅ‘védÅ‘" + +#: configuredialog.cpp:930 +msgid "" +"There are unsaved changes in the active scheme.\n" +"Apply the changes before jumping to the next scheme or discard the changes?" +msgstr "" +"Vannak el nem mentett módosítások az aktív sémában.\n" +"Kívánja a módosításokat alkalmazni a következÅ‘ sémára ugrás elÅ‘tt, vagy " +"elveti a módosításokat?" + +#: configuredialog.cpp:933 configuredialog.cpp:983 +msgid "Unsaved Changes" +msgstr "El nem mentett módosítások" + +#: configuredialog.cpp:981 +msgid "" +"There are unsaved changes.\n" +"Apply the changes before cancel or discard the changes?" +msgstr "" +"Vannak el nem mentett módosítások.\n" +"Kívánja a módosításokat alkalmazni, mielÅ‘tt elvetné a módosításokat?" + +#: configuredialog.cpp:1032 +msgid "Please insert a name for the new scheme:" +msgstr "Adjon nevet az új sémának:" + +#: configuredialog.cpp:1038 +msgid "KPowersave Configuration" +msgstr "KPowersave beállítása" + +#: configuredialog.cpp:1046 +msgid "Error: A scheme with this name already exist.\n" +msgstr "Hiba: Ilyen névvel már létezik séma.\n" + +#: configuredialog.cpp:1076 +msgid "Do you really want to delete the %1 scheme?" +msgstr "Valóban le akarja törölni a(z) %1 sémát?" + +#: configuredialog.cpp:1078 +msgid "Confirm delete scheme" +msgstr "Séma törlésének jóváhagyása" + +#: configuredialog.cpp:1079 configure_Dialog.cpp:883 +msgid "Delete" +msgstr "Törlés" + +#: configuredialog.cpp:1095 +msgid "Could not delete the selected scheme." +msgstr "A kiválasztott séma törlése sikertelen." + +#: configuredialog.cpp:1324 +msgid "" +"Note: If you select this option, the computer will suspend or standby " +"if the current user is inactive for the defined time even if somebody is " +"logged in remotely to the X server.

    This feature can also produce " +"problems with some programs, such as video players or cd burner. These " +"programs can be blacklisted by checking Enable scheme-specific blacklist and click Edit Blacklist.... If this does not help, report the " +"problem or deactivate autosuspend.

    Really use this option?" +msgstr "" +"Megjegyzés: Ezt a lehetőséget kiválasztva a számítógép felfüggesztett " +"vagy készenléti állapotba kerül, ha az aktuális felhasználó tétlen a " +"megadott ideig, még akkor is, ha valaki távolról bejelentkezik az X " +"kiszolgálóra.

    Ez a funkció problémákat okozhat egyes programok, " +"például videólejátszók vagy CD-írók esetében. Az ilyen programok " +"feketelistára tehetők a Sémaspecifikus feketelista bekapcsolása és a " +"Feketelista módosítása... segítségével. Ha ez nem segít, akkor " +"jelentse be a problémát, vagy kapcsolja ki az automatikus felfüggesztést. " +"

    Biztosan használni kívánja a funkciót?" + +#: configuredialog.cpp:1402 configuredialog.cpp:1532 +msgid "" +"The blacklist of the selected scheme is empty. Import the general blacklist?" +msgstr "" +"A kiválasztott séma feketelistája üres. Importálja az általános feketelistát?" + +#: configuredialog.cpp:1404 configuredialog.cpp:1534 +msgid "Import" +msgstr "Importálás" + +#: configuredialog.cpp:1404 configuredialog.cpp:1534 +msgid "Do Not Import" +msgstr "Importálás kihagyása" + +#: configuredialog.cpp:1416 +msgid "General Autosuspend Blacklist" +msgstr "Ãltalános Autosuspend feketelista" + +#: configuredialog.cpp:1546 +msgid "General Autodimm Blacklist" +msgstr "Ãltalános Autodimm feketelista" + +#: configuredialog.cpp:1779 configuredialog.cpp:1816 +msgid "Shutdown" +msgstr "Lekapcsolás" + +#: configuredialog.cpp:1781 configuredialog.cpp:1819 +msgid "Logout Dialog" +msgstr "Kijelentkezési párbeszédablak" + +#: configuredialog.cpp:1784 configuredialog.cpp:1822 kpowersave.cpp:182 +#: kpowersave.cpp:2096 kpowersave.cpp:2156 kpowersave.cpp:2247 +msgid "Suspend to Disk" +msgstr "Felfüggesztés lemezre" + +#: configuredialog.cpp:1787 configuredialog.cpp:1825 kpowersave.cpp:186 +#: kpowersave.cpp:2101 kpowersave.cpp:2161 kpowersave.cpp:2250 +msgid "Suspend to RAM" +msgstr "Felfüggesztés memóriába" + +#: configuredialog.cpp:1790 configuredialog.cpp:1828 +msgid "CPU Powersave policy" +msgstr "CPU energiatakarékossági irányelv" + +#: configuredialog.cpp:1793 configuredialog.cpp:1831 +msgid "CPU Dynamic policy" +msgstr "Dinamikus CPU irányelv" + +#: configuredialog.cpp:1796 configuredialog.cpp:1834 +msgid "CPU Performance policy" +msgstr "CPU teljesítmény irányelv" + +#: configuredialog.cpp:1799 configuredialog.cpp:1837 +msgid "Set Brightness to" +msgstr "Fényesség beállítása" + +#: main.cpp:43 +msgid "KDE Frontend for Power Management, Battery Monitoring and Suspend" +msgstr "" +"KDE elÅ‘tét az energiagazdálkodáshoz, az akkumulátor figyeléséhez és a " +"felfüggesztéshez" + +#: main.cpp:45 +msgid "Force a new check for ACPI support" +msgstr "ACPI-támogatás új ellenÅ‘rzésének kényszerítése" + +#: main.cpp:46 +msgid "Trace function entry and leave points for debug\n" +msgstr "Függvénybelépés követése és hibakeresési nyomok használata\n" + +#: main.cpp:59 +msgid "Current maintainer" +msgstr "Aktuális gondozó" + +#: main.cpp:62 +msgid "Powersave developer and for D-Bus integration" +msgstr "Powersave-fejlesztÅ‘ és DBUS-integráció" + +#: main.cpp:64 +msgid "Powersave developer and tester" +msgstr "Powersave-fejlesztÅ‘ és -tesztelÅ‘" + +#: main.cpp:66 +msgid "Added basic detailed dialog" +msgstr "FÅ‘ részletes párbeszédablak hozzáadása" + +#: main.cpp:67 +msgid "Packaging Debian and Ubuntu" +msgstr "Debian és Ubuntu csomagolás" + +#: detaileddialog.cpp:61 +msgid "KPowersave Information Dialog" +msgstr "KPowersave információs ablak" + +#: detaileddialog.cpp:65 configure_Dialog.cpp:882 configure_Dialog.cpp:922 +msgid "Miscellaneous" +msgstr "Vegyes" + +#: detaileddialog.cpp:66 +msgid "CPUs" +msgstr "CPU-k" + +#: detaileddialog.cpp:73 detaileddialog.cpp:453 +msgid "Battery state:" +msgstr "Akkumulátor állapota:" + +#: detaileddialog.cpp:79 +msgid "Total:" +msgstr "Összesen:" + +#: detaileddialog.cpp:81 detaileddialog.cpp:83 +msgid "Battery %1" +msgstr "%1. akkumulátor" + +#: detaileddialog.cpp:114 +msgid "Processor %1" +msgstr "%1. processzor" + +#: detaileddialog.cpp:230 +msgid "not present" +msgstr "nincs jelen" + +#: detaileddialog.cpp:243 +msgid "charged" +msgstr "feltöltve" + +#: detaileddialog.cpp:245 +msgid "%1:%2 h until charged" +msgstr "%1:%2 h feltöltésig" + +#: detaileddialog.cpp:248 +msgid "%1:%2 h remaining" +msgstr "%1:%2 h van hátra" + +#: detaileddialog.cpp:253 detaileddialog.cpp:441 detaileddialog.cpp:468 +msgid "unknown" +msgstr "ismeretlen" + +#: detaileddialog.cpp:325 detaileddialog.cpp:368 +msgid "%v MHz" +msgstr "%v MHz" + +#: detaileddialog.cpp:330 detaileddialog.cpp:363 dummy.cpp:58 +msgid "deactivated" +msgstr "deaktivált" + +#: detaileddialog.cpp:395 +msgid "unplugged" +msgstr "kihúzva" + +#: detaileddialog.cpp:412 +msgid "Current Scheme: " +msgstr "Aktuális séma: " + +#: detaileddialog.cpp:429 +msgid "Current CPU Frequency Policy:" +msgstr "Aktuális CPU-frekvenciabeállítási irányelv:" + +#: detaileddialog.cpp:435 kpowersave.cpp:193 configure_Dialog.cpp:877 +msgid "Dynamic" +msgstr "Dinamikus" + +#: detaileddialog.cpp:456 +msgid "Critical" +msgstr "Kritikus" + +#: detaileddialog.cpp:459 +msgid "Low" +msgstr "Alacsony" + +#: detaileddialog.cpp:462 kpowersave.cpp:277 kpowersave.cpp:652 +#: kpowersave.cpp:659 kpowersave.cpp:705 kpowersave.cpp:713 kpowersave.cpp:761 +#: kpowersave.cpp:769 kpowersave.cpp:817 kpowersave.cpp:824 +#: kpowersave.cpp:1131 kpowersave.cpp:1243 kpowersave.cpp:1272 +#: kpowersave.cpp:1610 kpowersave.cpp:1670 kpowersave.cpp:2186 +msgid "Warning" +msgstr "Figyelmeztetés" + +#: detaileddialog.cpp:465 +msgid "ok" +msgstr "OK" + +#: detaileddialog.cpp:474 detaileddialog.cpp:477 +msgid "Set brightness supported:" +msgstr "FényerÅ‘ beállítása támogatott:" + +#: detaileddialog.cpp:475 +msgid "yes" +msgstr "igen" + +#: detaileddialog.cpp:478 +msgid "no" +msgstr "nem" + +#: detaileddialog.cpp:481 detaileddialog.cpp:485 +msgid "HAL Daemon:" +msgstr "HAL démon:" + +#: detaileddialog.cpp:482 +msgid "running" +msgstr "fut" + +#: detaileddialog.cpp:486 +msgid "not running" +msgstr "nem fut" + +#: info_Dialog.cpp:197 +msgid "Information" +msgstr "információ" + +#: dummy.cpp:36 +msgid "If the current desktop user is inactive, dim the display to:" +msgstr "" +"Ha a jelenlegi asztali felhasználó tétlen, akkor a képernyÅ‘ halványuljon el " +"erre a szintre:" + +#: dummy.cpp:37 +msgid "Enable dim display on inactivity" +msgstr "Tétlenség esetén sötétebb képernyÅ‘re kapcsolás" + +#: dummy.cpp:38 +msgid "Blacklist" +msgstr "Feketelista" + +#: dummy.cpp:39 +msgid "" +"Here you can add programs which should, if running, prevent the dimming of " +"the display." +msgstr "" +"Itt veheti fel azokat a programokat, amelyek ha futnak, ne halványodjon el a " +"képernyÅ‘." + +#: dummy.cpp:41 +msgid "Would you like to import a predefined blacklist?" +msgstr "Kíván importálni egy elÅ‘re megadott feketelistát?" + +#: dummy.cpp:42 +msgid "Disable CPUs/Cores" +msgstr "CPU-k/magok lekapcsolása" + +#: dummy.cpp:43 +msgid "Max. running CPUs:" +msgstr "Futó CPU-k max. száma:" + +#: dummy.cpp:44 +msgid "Max. running CPUs/Cores:" +msgstr "Futó CPU-k/magok max. száma:" + +#: dummy.cpp:45 +msgid "Min. running CPUs:" +msgstr "Futó CPU-k min. száma:" + +#: dummy.cpp:46 +msgid "Min. running CPUs/Cores:" +msgstr "Futó CPU-k/magok min. száma:" + +#: dummy.cpp:47 +msgid "Enable to switch off CPUs/cores" +msgstr "CPU-k/magok lekapcsolásának engedélyezése" + +#: dummy.cpp:48 +msgid "You have a multiprocessor/multicore machine." +msgstr "Ez egy többprocesszoros/többmagos gép." + +#: dummy.cpp:49 +msgid "" +"You can disable CPUs/cores to reduce power consumption and save battery " +"power." +msgstr "" +"Egyes CPU-k/magok letilthatók az áramfogyasztás csökkentése és az " +"akkumulátorral takarékoskodás érdekében." + +#: dummy.cpp:50 +msgid "Device" +msgstr "Eszköz" + +#: dummy.cpp:51 +msgid "Devices" +msgstr "Eszközök" + +#: dummy.cpp:52 +msgid "Device class" +msgstr "Eszközosztály" + +#: dummy.cpp:53 +msgid "activate" +msgstr "aktiválás" + +#: dummy.cpp:54 +msgid "Activate" +msgstr "Aktiválás" + +#: dummy.cpp:55 +msgid "deactivate" +msgstr "deaktiválás" + +#: dummy.cpp:56 +msgid "Deactivate" +msgstr "Deaktiválás" + +#: dummy.cpp:57 +msgid "activated" +msgstr "aktivált" + +#: dummy.cpp:59 +msgid "do nothing" +msgstr "tétlenség" + +#: dummy.cpp:60 +msgid "Deactivate following devices:" +msgstr "A következÅ‘ eszközök deaktiválása:" + +#: dummy.cpp:61 +msgid "Activate following devices" +msgstr "A következÅ‘ eszközök aktiválása" + +#: dummy.cpp:62 +msgid "Reactivate following devices" +msgstr "A következÅ‘ eszközök újraaktiválása" + +#: dummy.cpp:63 +msgid "Deactivate following device classes:" +msgstr "A következÅ‘ eszközosztályok deaktiválása:" + +#: dummy.cpp:64 +msgid "Activate following devices classes" +msgstr "A következÅ‘ eszközosztályok aktiválása" + +#: dummy.cpp:65 +msgid "Reactivate following device classes" +msgstr "A következÅ‘ eszközosztályok újraaktiválása" + +#: dummy.cpp:66 +msgid "If the scheme switched all devices are again activated." +msgstr "Sémaváltáskor minden eszköz újra aktiválásra kerül." + +#: dummy.cpp:67 +msgid "This is a experimental feature." +msgstr "Ez egy kísérleti funkció." + +#: dummy.cpp:68 +msgid "If you have problems with this feature, please report them." +msgstr "Ha gondjai vannak a funkcióval, kérjük, jelentse be Å‘ket." + +#: dummy.cpp:69 +msgid "Select one of the available devices and click on " +msgstr "Válassza ki a rendelkezésre álló eszközök egyikét és kattintson " + +#: dummy.cpp:70 +msgid "Select one of the available device classes and click on " +msgstr "" +"Válassza ki a rendelkezésre álló eszközosztályok egyikét és kattintson " + +#: dummy.cpp:71 +msgid "Select one or more of the available devices and click on " +msgstr "" +"Válasszon ki néhányat a rendelkezésre álló eszközök közül és kattintson " + +#: dummy.cpp:72 +msgid "Select one or more of the available device classes and click on " +msgstr "" +"Válasszon ki néhányat a rendelkezésre álló eszközosztályok közül és " +"kattintson " + +#: dummy.cpp:73 +msgid "" +"Please note: If you e.g. deactivate a network device you may lose your " +"internet connection." +msgstr "" +"Ne feledje: Ha deaktivál egy hálózati eszközt, akkor elveszíti az " +"internetkapcsolatot." + +#: dummy.cpp:75 +msgid "" +"Note: If you select this option, the computer will suspend or standby " +"if the current user is inactive for the defined time.

    This feature " +"can also produce problems with some programs, such as video players or cd " +"burner. These programs can be blacklisted by checking Enable scheme-" +"specific blacklist and click Edit Blacklist.... If this does not " +"help, report the problem or deactivate autosuspend.

    Really use this " +"option?" +msgstr "" +"Megjegyzés: Ezt a lehetőséget kiválasztva a számítógép felfüggesztett " +"vagy készenléti állapotba kerül, ha az aktuális felhasználó tétlen a " +"megadott ideig.

    Ez a funkció problémákat okozhat egyes programok, " +"például videólejátszók vagy CD-írók esetében. Az ilyen programok " +"feketelistára tehetők a Sémaspecifikus feketelista bekapcsolása és a " +"Feketelista módosítása... segítségével. Ha ez nem segít, akkor " +"jelentse be a problémát, vagy kapcsolja ki az automatikus felfüggesztést. " +"

    Biztosan használni kívánja a funkciót?" + +#: dummy.cpp:82 +msgid "Try to use only one CPU/Core." +msgstr "Próbáljon meg egy CPU-t/magot használni." + +#: dummy.cpp:83 +msgid "" +"Reduce power consumption by try to use only one CPU/Core instead of " +"spreading the work over all/multiple CPUs." +msgstr "" +"Energiafogyasztás csökkentése egyetlen processzor/mag használatával a " +"terhelés elosztása helyett több processzor/mag között." + +#: dummy.cpp:87 +msgid "Could not load the global configuration." +msgstr "A globális beállítások betöltése nem sikerült." + +#: dummy.cpp:88 +msgid "Could not load the requested scheme configuration." +msgstr "A kért sémabeállítások betöltése nem sikerült." + +#: dummy.cpp:89 +msgid "Configure the current scheme." +msgstr "Az aktuális séma beállítása." + +#: dummy.cpp:90 +msgid "Try loading the default configuration." +msgstr "Próbálja meg betölteni az alapértelmezett beállításokat." + +#: dummy.cpp:91 +msgid "Maybe the global configuration file is empty or missing." +msgstr "Lehet, hogy elveszett (vagy üres) a globális konfigurációs fájl." + +#: dummy.cpp:94 +msgid "Cannot connect to D-Bus. The D-Bus daemon may not be running." +msgstr "Nem lehet csatlakozni a D-BUS-hoz. Lehet, hogy a D-BUS démon nem fut." + +#: dummy.cpp:95 +msgid "" +"Scheme switched to %1. \n" +" Deactivate following devices: %2" +msgstr "" +"Séma átváltva - új séma: %1. \n" +" A következÅ‘ eszközök deaktiválásra kerülnek: %2" + +#: dummy.cpp:96 +msgid "" +"Scheme switched to %1. \n" +" Activate following devices: %2" +msgstr "" +"Séma átváltva - új séma: %1. \n" +" A következÅ‘ eszközök aktiválásra kerülnek: %2" + +#: dummy.cpp:97 +msgid "Report ..." +msgstr "Jelentés ..." + +#: dummy.cpp:98 +msgid "Suspend to RAM is not supported on your machine." +msgstr "Ez a gép nem támogatja a memóriába felfüggesztést." + +#: dummy.cpp:99 +msgid "Additionally, please mail the output of %1 to %2 . Thanks!" +msgstr "" +"Legyen szíves továbbá elküldeni %1 kimenetét a következÅ‘ címre: %2. " +"Köszönjük!" + +#: dummy.cpp:100 +msgid "Power consumption" +msgstr "Ãramfogyasztás" + +#: dummy.cpp:103 +msgid "KScreensaver not found." +msgstr "Nem található egy KScreensaver sem." + +#: dummy.cpp:104 +msgid "Try locking with XScreensaver or xlock." +msgstr "Próbálja meg lezárni az XScreensaver vagy az xlock segítségével." + +#: dummy.cpp:105 +msgid "XScreensaver not found." +msgstr "Nem található egy XScreensaver sem." + +#: dummy.cpp:106 +msgid "Try locking the screen with xlock." +msgstr "Próbálja meg lezárni a képernyÅ‘t az xlock segítségével." + +#: dummy.cpp:107 +msgid "" +"XScreensaver and xlock not found. It is not possible to lock the screen. " +"Check your installation." +msgstr "" +"Sem XScreensaver képernyÅ‘védÅ‘, sem az xlock nem található. A képernyÅ‘ nem " +"zárható le. Vizsgálja át a telepített rendszert." + +#: dummy.cpp:111 +msgid "HAL daemon:" +msgstr "HAL démon:" + +#: dummy.cpp:112 +msgid "D-Bus daemon:" +msgstr "DBUS démon:" + +#: dummy.cpp:113 +msgid "ConsoleKit daemon:" +msgstr "ConsoleKit démon:" + +#: dummy.cpp:114 +msgid "Autosuspend activated:" +msgstr "Automatikus felfüggesztés aktiválva:" + +#: dummy.cpp:115 +msgid "Autodimm activated:" +msgstr "Autodimm aktiválva:" + +#: dummy.cpp:116 +msgid "enabled" +msgstr "bekapcsolva" + +#: dummy.cpp:117 +msgid "Session active:" +msgstr "Munkamenet aktív:" + +#: dummy.cpp:120 +msgid "Inactivity detected." +msgstr "Inaktivitás észlelve." + +#: dummy.cpp:121 +msgid "To stop the %1 press the 'Cancel' button before the countdown expire." +msgstr "" +"A(z) %1 leállításához nyomja meg a \"Mégsem\" gombot a visszaszámlálás vége " +"elÅ‘tt." + +#: dummy.cpp:122 +msgid "The computer autosuspend in: " +msgstr "A számítógép automatikus felfüggesztése: " + +#: dummy.cpp:123 +#, c-format +msgid "The display get dimmed down to %1% in: " +msgstr "A képernyÅ‘ sötétítése %1%-ra: " + +#: dummy.cpp:124 +msgid "%1 seconds" +msgstr "%1 másodperc múlva" + +#: dummy.cpp:127 +msgid "Could not call %1. The current desktop session is not active." +msgstr "%1 nem hívható. A jelenlegi asztali munkamenet nem aktív." + +#: dummy.cpp:128 +msgid "Could not set %1. The current desktop session is not active." +msgstr "%1 nem állítható be. A jelenlegi asztali munkamenet nem aktív." + +#: dummy.cpp:129 +msgid "Stopped %1. The current desktop session is now inactive." +msgstr "%1 leállítva. A jelenlegi asztali munkamenet már nem aktív." + +#: dummy.cpp:130 +msgid "Restarted %1. The current desktop session is now active again." +msgstr "%1 újraindítva. A jelenlegi asztali munkamenet újra aktív." + +#: log_viewer.cpp:78 +msgid "Form1" +msgstr "Form1" + +#: log_viewer.cpp:79 +msgid "Save As ..." +msgstr "Mentés másként..." + +#: log_viewer.cpp:80 +msgid "Close" +msgstr "Bezárás" + +#: logviewer.cpp:44 +msgid "KPowersave Logfile Viewer: %1" +msgstr "KPowersave naplófájl-nézegetÅ‘: %1" + +#: logviewer.cpp:89 +msgid "File already exist. Overwrite the file?" +msgstr "A fájl már létezik. Felül akarja írni?" + +#: logviewer.cpp:90 logviewer.cpp:97 +msgid "Error while save logfile" +msgstr "Hiba a naplófájl mentése közben" + +#: logviewer.cpp:95 +msgid "File already exist." +msgstr "A fájl már létezik." + +#: logviewer.cpp:98 +msgid "Try other filename ..." +msgstr "Próbáljon meg egy másik fájlnevet..." + +#: suspenddialog.cpp:70 +msgid "Preparing Suspend..." +msgstr "Felfüggesztés elÅ‘készítése..." + +#: kpowersave.cpp:168 +msgid "Configure KPowersave..." +msgstr "A KPowersave beállítása..." + +#: kpowersave.cpp:171 configure_Dialog.cpp:915 +msgid "Configure Notifications..." +msgstr "Értesítések beállítása..." + +#: kpowersave.cpp:175 +msgid "Start YaST2 Power Management Module..." +msgstr "A YaST2 EnergiakezelÅ‘ moduljának indítása..." + +#: kpowersave.cpp:189 kpowersave.cpp:2106 kpowersave.cpp:2166 +#: kpowersave.cpp:2253 +msgid "Standby" +msgstr "Készenlét" + +#: kpowersave.cpp:191 kpowersave.cpp:198 +msgid "Set CPU Frequency Policy" +msgstr "CPU-frekvenciabeállítási irányelv megadása" + +#: kpowersave.cpp:205 kpowersave.cpp:206 +msgid "Set Active Scheme" +msgstr "Aktív séma beállítása" + +#: kpowersave.cpp:212 +msgid "Disable Actions on Inactivity" +msgstr "Tétlenség esetén a műveletek kikapcsolása" + +#: kpowersave.cpp:219 kpowersave.cpp:229 +msgid "&Help" +msgstr "&Súgó" + +#: kpowersave.cpp:221 +msgid "&KPowersave Handbook" +msgstr "&KPowersave kézikönyv" + +#: kpowersave.cpp:224 +msgid "&Report a bug ..." +msgstr "&Hiba bejelentése ..." + +#: kpowersave.cpp:226 +msgid "&About KPowersave" +msgstr "KPowersave &névjegy" + +#: kpowersave.cpp:275 kpowersave.cpp:648 kpowersave.cpp:656 kpowersave.cpp:703 +#: kpowersave.cpp:710 kpowersave.cpp:759 kpowersave.cpp:766 kpowersave.cpp:815 +#: kpowersave.cpp:822 kpowersave.cpp:1126 kpowersave.cpp:1241 +#: kpowersave.cpp:1270 kpowersave.cpp:2183 +msgid "WARNING" +msgstr "FIGYELEM" + +#: kpowersave.cpp:275 +msgid "Cannot find any schemes." +msgstr "Egyetlen séma sem található." + +#: kpowersave.cpp:453 +msgid "No information about battery and AC status available" +msgstr "" +"Nem áll rendelkezésre információ az akkumulátor és a hálózat állapotáról" + +#: kpowersave.cpp:456 +msgid "Plugged in -- fully charged" +msgstr "Csatlakoztatva -- teljesen feltöltve" + +#: kpowersave.cpp:460 +msgid "Plugged in" +msgstr "Csatlakoztatva" + +#: kpowersave.cpp:464 +msgid "Plugged in -- %1% charged (%2:%3 h until full charged)" +msgstr "" +"Töltés alatt -- %1%-os töltöttség (még %2 óra és %3 perc a teljes " +"feltöltésig)" + +#: kpowersave.cpp:467 +msgid "Plugged in -- %1% charged (%2:%3 remaining hours)" +msgstr "Töltés alatt -- %1%-os töltöttség (még %2 óra és %3 perc)" + +#: kpowersave.cpp:471 kpowersave.cpp:475 +#, c-format +msgid "Plugged in -- %1% charged" +msgstr "Töltés alatt -- %1%-os töltöttség" + +#: kpowersave.cpp:474 +msgid "Plugged in -- no battery" +msgstr "Csatlakoztatva -- nincs akkumulátor" + +#: kpowersave.cpp:480 +msgid "Running on batteries -- %1% charged (%2:%3 hours remaining)" +msgstr "Akkumulátoros működés -- %1%-os töltöttség (még %2 óra és %3 perc)" + +#: kpowersave.cpp:484 +#, c-format +msgid "Running on batteries -- %1% charged" +msgstr "Akkumulátoros működés -- %1%-os töltöttség" + +#: kpowersave.cpp:491 +msgid " -- battery is charging" +msgstr " -- az akkumulátor töltÅ‘dik" + +#: kpowersave.cpp:649 kpowersave.cpp:657 +msgid "Could not start YaST Power Management Module. Check if it is installed." +msgstr "" +"A YaST energiakezelÅ‘ moduljának indítása nem sikerült. EllenÅ‘rizze, hogy " +"telepítve van-e." + +#: kpowersave.cpp:703 +msgid "Suspend to disk failed" +msgstr "A felfüggesztés lemezre sikertelen" + +#: kpowersave.cpp:711 +msgid "Suspend to disk disabled by administrator." +msgstr "A felfüggesztést lemezre letiltotta a rendszergazda." + +#: kpowersave.cpp:759 +msgid "Suspend to RAM failed" +msgstr "A felfüggesztés memóriába sikertelen" + +#: kpowersave.cpp:767 +msgid "Suspend to RAM disabled by administrator." +msgstr "A memóriába felfüggesztést letiltotta a rendszergazda." + +#: kpowersave.cpp:815 +msgid "Standby failed" +msgstr "Készenlét sikertelen" + +#: kpowersave.cpp:822 +msgid "Standby disabled by administrator." +msgstr "A készenlétet letiltotta a rendszergazda." + +#: kpowersave.cpp:853 +msgid "System is going into suspend mode now" +msgstr "A rendszer felfüggesztett módba kapcsol" + +#: kpowersave.cpp:1039 +msgid "Could not call DCOP interface to umount external media." +msgstr "" +"Nem sikerült meghívni a DCOP csatolót a külsÅ‘ adathordozó leválasztásához." + +#: kpowersave.cpp:1044 +msgid "" +"Could not umount external media before suspend/standby. \n" +" (Reason: %1)\n" +" \n" +" Would you like to continue suspend/standby anyway? \n" +"(Warning: Continue suspend can cause data loss!)" +msgstr "" +"A külsÅ‘ adathordozó nem választható le a felfüggesztés/készenlét elÅ‘tt. \n" +" (Ok: %1)\n" +" \n" +" Mindenképp folytatni kívánja a felfüggesztést/készenlétet?\n" +"(Figyelmeztetés: a felfüggesztés folytatása adatvesztést okozhat!)" + +#: kpowersave.cpp:1052 +msgid "Error while prepare %1" +msgstr "Hiba történt a(z) %1 elÅ‘készítése közben" + +#: kpowersave.cpp:1053 +msgid "Suspend anyway" +msgstr "Felfüggesztés mindenképp" + +#: kpowersave.cpp:1053 +msgid "Cancel suspend" +msgstr "Felfüggesztés megszakítása" + +#: kpowersave.cpp:1127 +msgid "" +"Could not lock the screen. There may be a problem with the selected \n" +"lock method or something else." +msgstr "" +"A képernyÅ‘ nem zárható le. Ezt okozhatja a kiválasztott lezárási mód \n" +"problémája, vagy valami más." + +#: kpowersave.cpp:1144 +msgid "The Lid was closed." +msgstr "A fedél le lett csukva." + +#: kpowersave.cpp:1156 +msgid "The Lid was opened." +msgstr "A fedél fel lett nyitva." + +#: kpowersave.cpp:1223 +msgid "Start KPowersave automatically when you log in?" +msgstr "Elinduljon a KPowersave automatikusan a bejelentkezéskor?" + +#: kpowersave.cpp:1224 +msgid "Question" +msgstr "Kérdés" + +#: kpowersave.cpp:1225 +msgid "Start Automatically" +msgstr "Automatikus indítás" + +#: kpowersave.cpp:1225 +msgid "Do Not Start" +msgstr "Ne kerüljön elindításra" + +#: kpowersave.cpp:1242 +msgid "CPU Freq Policy %1 could not be set." +msgstr "A(z) %1 CPU frekv. irányelv nem állítható be." + +#: kpowersave.cpp:1271 +msgid "Scheme %1 could not be activated." +msgstr "A(z) %1 séma aktiválása nem sikerült." + +#: kpowersave.cpp:1600 +msgid "" +"The D-Bus daemon is not running.\n" +"Starting it will provide full functionality: /etc/init.d/dbus start" +msgstr "" +"A D-BUS démon nem fut.\n" +"Elindítva teljes funkcionalitást biztosít: /etc/init.d/messagebus start" + +#: kpowersave.cpp:1611 +msgid "Don't show this message again." +msgstr "Többet ne jelenjen meg ez az üzenet." + +#: kpowersave.cpp:1637 +msgid "ERROR" +msgstr "HIBA" + +#: kpowersave.cpp:1638 +msgid "Could not get information from HAL. The haldaemon is maybe not running." +msgstr "" +"Nem sikerült lekérni az adatokat a HAL-tól. Lehet, hogy a HAL démon nem fut." + +#: kpowersave.cpp:1641 +msgid "Error" +msgstr "Hiba" + +#: kpowersave.cpp:1912 +msgid "" +"Battery state changed to WARNING -- remaining time: %1 hours and %2 minutes." +msgstr "" +"A akkumulátor kapacitása NAGYON ALACSONY -- fennmaradó idÅ‘: %1 óra és %2 " +"perc." + +#: kpowersave.cpp:1921 +msgid "" +"Battery state changed to LOW -- remaining time: %1 hours and %2 minutes." +msgstr "" +"A akkumulátor kapacitása ALACSONY -- fennmaradó idÅ‘: %1 óra és %2 perc." + +#: kpowersave.cpp:1932 +msgid "" +"Battery state changed to CRITICAL -- remaining time: %1 hours and %2 " +"minutes.\n" +"Shut down your system or plug in the power cable immediately. Otherwise the " +"machine\n" +"will go shutdown in 30 seconds" +msgstr "" +"Az akkumulátor állapota KRITIKUSSà vált -- fennmaradó idÅ‘: %1 óra és %2 " +"perc.\n" +"Ãllítsa le a rendszert minél hamarabb, vagy csatlakoztassa a töltÅ‘t most " +"azonnal.\n" +"EllenkezÅ‘ esetben a számítógép 30 másodpercen belül leáll." + +#: kpowersave.cpp:1943 +msgid "" +"Battery state changed to CRITICAL -- remaining time: %1 hours and %2 " +"minutes.\n" +"Shut down your system or plug in the power cable immediately." +msgstr "" +"Az akkumulátor állapota KRITIKUSSà vált -- fennmaradó idÅ‘: %1 óra és %2 " +"perc. Ãllítsa le a rendszert minél hamarabb, vagy csatlakoztassa a töltÅ‘t " +"most azonnal." + +#: kpowersave.cpp:2041 +msgid "AC adapter plugged in" +msgstr "AC adapter csatlakoztatva" + +#: kpowersave.cpp:2043 +msgid "AC adapter unplugged" +msgstr "Hálózati adapter kihúzva" + +#: kpowersave.cpp:2078 +msgid "Switched to scheme: %1" +msgstr "Ãtkapcsolva a következÅ‘ sémára: %1" + +#: kpowersave.cpp:2095 kpowersave.cpp:2100 kpowersave.cpp:2105 +msgid "System is going into %1 now." +msgstr "A rendszer %1 állapotba lép most." + +#: kpowersave.cpp:2155 kpowersave.cpp:2160 kpowersave.cpp:2165 +msgid "System is resumed from %1." +msgstr "A rendszer visszaáll %1 állapotból." + +#: kpowersave.cpp:2184 +msgid "Could not remount (all) external storage media." +msgstr "Nem csatolható újra minden külsÅ‘ tárolóeszköz." + +#: kpowersave.cpp:2192 +msgid "An unknown error occurred while %1. The errorcode is: '%2'" +msgstr "Ismeretlen hiba történt a következÅ‘ közben: %1. A hibakód: \"%2\"" + +# power-off message +#: kpowersave.cpp:2197 +msgid "Do you want to have a look at the log file?" +msgstr "Meg kívánja tekinteni a naplófájlt?" + +#: kpowersave.cpp:2198 kpowersave.cpp:2224 +msgid "Error while %1" +msgstr "Hiba a(z) %1 közben" + +#: configure_Dialog.cpp:831 +msgid "KPowersave Settings" +msgstr "KPowersave beállítások" + +#: configure_Dialog.cpp:832 +msgid "Apply" +msgstr "Alkalmazás" + +#: configure_Dialog.cpp:834 +msgid "Help" +msgstr "Segítség" + +#: configure_Dialog.cpp:840 +msgid "Enable specific display power management" +msgstr "KépernyÅ‘ egyedi tápellátás-vezérlésének bekapcsolása" + +#: configure_Dialog.cpp:841 +msgid "Standby after:" +msgstr "Készenlét ennyi idÅ‘ után:" + +#: configure_Dialog.cpp:842 +msgid "Only blank the screen" +msgstr "Csak a képernyÅ‘ elsötétítése" + +#: configure_Dialog.cpp:843 +msgid "Disable screen saver" +msgstr "KépernyÅ‘védÅ‘ kikapcsolása" + +#: configure_Dialog.cpp:844 +msgid "Enable specific screensaver settings" +msgstr "Egyedi képernyÅ‘védÅ‘-beállítások bekapcsolása" + +#: configure_Dialog.cpp:845 +msgid "Suspend after:" +msgstr "Felfüggesztés ennyi idÅ‘ után:" + +#: configure_Dialog.cpp:846 +msgid "Power off after:" +msgstr "Kikapcsolás ennyi idÅ‘ után:" + +#: configure_Dialog.cpp:847 +msgid "Disable display power management" +msgstr "KépernyÅ‘ tápellátás-vezérlésének kikapcsolása" + +#: configure_Dialog.cpp:848 configure_Dialog.cpp:849 configure_Dialog.cpp:850 +#: configure_Dialog.cpp:862 configure_Dialog.cpp:873 +msgid " min" +msgstr " perc" + +#: configure_Dialog.cpp:851 +msgid "Screen Saver and DPMS" +msgstr "KépernyÅ‘védÅ‘ és DPMS" + +#: configure_Dialog.cpp:852 +msgid "Settings" +msgstr "Beállítások" + +#: configure_Dialog.cpp:853 +msgid "Reset" +msgstr "Visszaállítás" + +#: configure_Dialog.cpp:855 +msgid "Enable scheme specific Brightness settings" +msgstr "Sémaspecifikus fényerÅ‘-beállítások bekapcsolása" + +#: configure_Dialog.cpp:858 +msgid "Brightness" +msgstr "FényerÅ‘" + +#: configure_Dialog.cpp:859 +msgid "Enable autosuspend" +msgstr "Automatikus felfüggesztés bekapcsolása" + +#: configure_Dialog.cpp:860 configure_Dialog.cpp:867 +msgid "Enable scheme-specific blacklist" +msgstr "Sémaspecifikus feketelista bekapcsolása" + +#: configure_Dialog.cpp:861 configure_Dialog.cpp:870 +msgid "after:" +msgstr "ennyi idÅ‘ után:" + +#: configure_Dialog.cpp:863 configure_Dialog.cpp:868 +msgid "Edit Blacklist..." +msgstr "Feketelista módosítása..." + +#: configure_Dialog.cpp:864 configure_Dialog.cpp:869 +msgid "If the current desktop user is inactive the computer will:" +msgstr "Ha a jelenlegi asztali felhasználó tétlen, akkor a számítógép:" + +#: configure_Dialog.cpp:865 +msgid "Autosuspend" +msgstr "Automatikus felfüggesztés" + +#: configure_Dialog.cpp:866 +msgid "Enable autodimm the display" +msgstr "A sötétebb képernyÅ‘re kapcsolás engedélyezése" + +#: configure_Dialog.cpp:871 configure_Dialog.cpp:893 configure_Dialog.cpp:894 +#: configure_Dialog.cpp:895 configure_Dialog.cpp:896 configure_Dialog.cpp:897 +#: configure_Dialog.cpp:898 +msgid " %" +msgstr " %" + +#: configure_Dialog.cpp:872 +msgid "dimm to:" +msgstr "Sötétítés:" + +#: configure_Dialog.cpp:874 +msgid "Autodimm" +msgstr "Autodimm" + +#: configure_Dialog.cpp:879 +msgid "Set CPU Frequency Policy:" +msgstr "CPU-frekvenciairányelv beállítása:" + +#: configure_Dialog.cpp:880 +msgid "CPU Frequency Policy" +msgstr "CPU-frekvenciairányelv" + +#: configure_Dialog.cpp:881 +msgid "Disable Notifications" +msgstr "Értesítések letiltása" + +#: configure_Dialog.cpp:884 +msgid "New" +msgstr "Új" + +#: configure_Dialog.cpp:885 +msgid "Scheme Settings" +msgstr "Sémabeállítások" + +#: configure_Dialog.cpp:886 +msgid "" +"Define the battery warning levels (in percentage) and the releated action if " +"the level get reached:" +msgstr "" +"Az akkumulátor figyelmeztetési szintjeinek (százalékban) és a kapcsolódó " +"művelet megadása az adott szint elérésekor:" + +#: configure_Dialog.cpp:887 +msgid "Warning level:" +msgstr "Figyelmeztetési szint:" + +#: configure_Dialog.cpp:888 +msgid "Low level:" +msgstr "Alacsony szint:" + +# modules/inst_sw_select.ycp:159 +# /usr/lib/YaST2/clients/inst_sw_select.ycp:262 +# clients/inst_sw_single.ycp:1402 +#: configure_Dialog.cpp:889 +msgid "Critical level:" +msgstr "Kritikus szint:" + +#: configure_Dialog.cpp:890 configure_Dialog.cpp:891 configure_Dialog.cpp:892 +msgid "if reached call:" +msgstr "elérésekor hívandó:" + +#: configure_Dialog.cpp:899 +msgid "Battery" +msgstr "Akkumulátor" + +#: configure_Dialog.cpp:900 +msgid "" +"Define the action which should be executed if the related button get pressed:" +msgstr "A kapcsolódó gomb megnyomásakor végrehajtandó művelet megadása:" + +#: configure_Dialog.cpp:901 +msgid "Suspend-to-disk Button:" +msgstr "Felfüggesztés lemezre gomb:" + +#: configure_Dialog.cpp:902 +msgid "Sleep button:" +msgstr "Alvás gomb:" + +#: configure_Dialog.cpp:903 +msgid "Lid close Button:" +msgstr "Fedél lezárása gomb:" + +#: configure_Dialog.cpp:904 +msgid "Power Button:" +msgstr "FÅ‘kapcsoló:" + +#: configure_Dialog.cpp:905 +msgid "Button Events" +msgstr "Gombesemények" + +#: configure_Dialog.cpp:906 +msgid "" +"Select the following schemes as default if the system is running on AC or on " +"batteries." +msgstr "" +"Válassza ki alább az alapértelmezett sémákat, ha a rendszer hálózati " +"ellátásról vagy akkumulátorról működik." + +#: configure_Dialog.cpp:907 +msgid "Battery scheme:" +msgstr "Akkumulátor séma:" + +#: configure_Dialog.cpp:908 +msgid "AC scheme:" +msgstr "Hálózati séma:" + +# src/create_utf8.c:50 +#: configure_Dialog.cpp:909 +msgid "Default Schemes" +msgstr "Alapértelmezett sémák" + +#: configure_Dialog.cpp:910 +msgid "Lock screen before suspend or standby" +msgstr "Felfüggesztés vagy készenlét elÅ‘tt a képernyÅ‘ lezárása" + +#: configure_Dialog.cpp:911 +msgid "Lock screen with:" +msgstr "KépernyÅ‘ lezárása ezzel: " + +#: configure_Dialog.cpp:912 +msgid "Lock screen on lid close" +msgstr "KépernyÅ‘ lezárása a fedél lecsukásakor" + +#: configure_Dialog.cpp:913 +msgid "Lock Screen" +msgstr "KépernyÅ‘ lezárása" + +#: configure_Dialog.cpp:914 +msgid "Notifications" +msgstr "Értesítések" + +#: configure_Dialog.cpp:916 +msgid "Autostart" +msgstr "Automatikus indítás" + +#: configure_Dialog.cpp:917 +msgid "Never ask me again on exit" +msgstr "Kilépésnél ne kérdezzen vissza többet" + +#: configure_Dialog.cpp:918 +msgid "KPowersave starts automatically on login" +msgstr "A KPowersave automatikusan elindul bejelentkezéskor" + +#: configure_Dialog.cpp:919 +msgid "General Blacklists" +msgstr "Ãltalános feketelisták" + +#: configure_Dialog.cpp:920 +msgid "Edit Autosuspend Blacklist..." +msgstr "Autosuspend feketelista módosítása..." + +#: configure_Dialog.cpp:921 +msgid "Edit Autodimm Blacklist..." +msgstr "Autodimm feketelista módosítása..." + +#: configure_Dialog.cpp:923 +msgid "General Settings" +msgstr "Ãltalános beállítások" diff --git a/po/it.po b/po/it.po new file mode 100644 index 0000000..1ce7e14 --- /dev/null +++ b/po/it.po @@ -0,0 +1,1647 @@ +# translation of it.po to +# translation of it.po to +# translation of kpowersave.pots.po to German +# This file is distributed under the same license as the PACKAGE package. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER. +# Antje Faber , 2004, 2005. +# +msgid "" +msgstr "" +"Project-Id-Version: it\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2007-08-10 03:16+0200\n" +"PO-Revision-Date: 2007-08-10 16:51+0100\n" +"Last-Translator: Alberto Passalacqua \n" +"Language-Team: Novell Language \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: KBabel 1.3.1\n" + +#: detailed_Dialog.cpp:228 +msgid "kpowersave" +msgstr "kpowersave" + +#: detailed_Dialog.cpp:229 +msgid "General Information" +msgstr "Informazioni generali" + +#: detailed_Dialog.cpp:232 +msgid "Battery Status" +msgstr "Stato batteria" + +#: detailed_Dialog.cpp:233 +msgid "AC Adapter" +msgstr "Adattatore CA" + +#: detailed_Dialog.cpp:234 detaileddialog.cpp:391 +msgid "plugged in" +msgstr "collegato" + +#: detailed_Dialog.cpp:235 +msgid "Power Consumtion: " +msgstr "Consumo energetico:" + +#: detailed_Dialog.cpp:237 +msgid "Processor Status" +msgstr "Stato processore" + +#: detailed_Dialog.cpp:238 blacklistedit_Dialog.cpp:130 info_Dialog.cpp:198 +#: configure_Dialog.cpp:838 +msgid "OK" +msgstr "OK" + +#: blacklisteditdialog.cpp:60 +msgid "General Blacklist" +msgstr "Elenco indirizzo disabilitati generale" + +#: blacklisteditdialog.cpp:63 +msgid "Scheme: " +msgstr "Schema:" + +#: blacklisteditdialog.cpp:114 +msgid "Selected entry removed." +msgstr "Voce selezionata rimossa." + +#: blacklisteditdialog.cpp:117 +msgid "Could not remove the selected entry." +msgstr "Impossibile rimuovere la voce selezionata." + +#: blacklisteditdialog.cpp:137 +msgid "Inserted new entry." +msgstr "Inserita nuova voce." + +#: blacklisteditdialog.cpp:141 +msgid "Entry exists already. Did not insert new entry." +msgstr "Voce già esistente. Nuova voce non inserita." + +#: blacklisteditdialog.cpp:144 +msgid "Empty entry was not inserted." +msgstr "Voce vuota non inserita." + +#: inactivity.cpp:298 +msgid "" +"Could not start 'pidof'. Could not autosuspend the machine.\n" +"Please check your installation." +msgstr "" +"Impossibile avviare 'pidof'. Impossibile sospendere automaticamente il " +"computer.\n" +"Controllare l'installazione in uso." + +#: blacklistedit_Dialog.cpp:129 +msgid "Autosuspend Blacklist Edit" +msgstr "Modifica elenco blocco sospensione automatica" + +# cancel button label +#: blacklistedit_Dialog.cpp:132 configuredialog.cpp:1079 +#: configure_Dialog.cpp:836 +msgid "Cancel" +msgstr "Cancella" + +#: blacklistedit_Dialog.cpp:135 +msgid "Add" +msgstr "Aggiungi" + +#: blacklistedit_Dialog.cpp:136 +msgid "Remove" +msgstr "Rimuovi" + +#: infodialog.cpp:76 infodialog.cpp:78 main.cpp:55 +msgid "KPowersave" +msgstr "KPowersave" + +#: configuredialog.cpp:116 configuredialog.cpp:121 configuredialog.cpp:721 +msgid " - not supported" +msgstr " - non supportato" + +#: configuredialog.cpp:150 configuredialog.cpp:317 detaileddialog.cpp:432 +#: kpowersave.cpp:192 settings.cpp:66 configure_Dialog.cpp:876 +msgid "Performance" +msgstr "Prestazioni" + +#: configuredialog.cpp:154 configuredialog.cpp:319 detaileddialog.cpp:438 +#: kpowersave.cpp:194 settings.cpp:68 configure_Dialog.cpp:878 +msgid "Powersave" +msgstr "Powersave" + +#: configuredialog.cpp:159 configuredialog.cpp:321 kpowersave.cpp:1478 +#: settings.cpp:70 +msgid "Presentation" +msgstr "Presentazioni" + +#: configuredialog.cpp:164 configuredialog.cpp:323 kpowersave.cpp:1473 +#: settings.cpp:72 +msgid "Acoustic" +msgstr "Acustica" + +#: configuredialog.cpp:169 configuredialog.cpp:171 configuredialog.cpp:172 +#: configuredialog.cpp:173 kpowersave.cpp:1484 +msgid "Advanced Powersave" +msgstr "Impostazioni avanzate di Powersave" + +#: configuredialog.cpp:271 +msgid "" +"This enables specific screen saver settings. \n" +"Note: If selected, the global screen saver settings are \n" +"overwritten while kpowersave runs." +msgstr "" +"Abilita impostazioni specifiche di screen saver. \n" +"Nota: se selezionate, le impostazioni globali di screen saver vengono \n" +"sovrascritte durante l'esecuzione di kpowersave." + +#: configuredialog.cpp:274 +msgid "" +"This disables the screen saver. \n" +"Note: If selected, the global screen saver settings are \n" +"overwritten while kpowersave runs." +msgstr "" +"Disabilita lo screen saver. \n" +"Nota: se selezionate, le impostazioni globali di screen saver vengono \n" +"sovrascritte durante l'esecuzione di kpowersave." + +#: configuredialog.cpp:277 +msgid "" +"This blanks the screen instead of using a specific screen saver. \n" +"Note: This may work only with KScreensaver." +msgstr "" +"Visualizza lo schermo vuoto invece di utilizzare uno screen saver " +"specifico. \n" +"Nota: potrebbe funzionare solo con KScreensaver." + +#: configuredialog.cpp:279 +msgid "" +"This enables specific DPMS settings. \n" +"Note: If selected, the global DPMS settings are \n" +"overwritten while kpowersave runs." +msgstr "" +"Abilita impostazioni DPMS specifiche. \n" +"Nota: se selezionate, le impostazioni globali DPMS vengono \n" +"sovrascritte durante l'esecuzione di kpowersave." + +#: configuredialog.cpp:282 +msgid "This disables DPMS support." +msgstr "Disabilita il supporto a DPMS." + +#: configuredialog.cpp:283 +msgid "If selected, the screen is locked on suspend or standby." +msgstr "" +"Se selezionato, lo schermo viene bloccato nel caso di un evento di " +"sospensione o stand-by" + +#: configuredialog.cpp:284 +msgid "If selected, the screen is locked if the lid close event is triggered." +msgstr "" +"Se selezionato, lo schermo viene bloccato nel caso di un evento Abbassa " +"display." + +#: configuredialog.cpp:286 +msgid "" +"Check this box to enable or disable automatic suspension of the computer." +msgstr "" +"Selezionare questa casella per abilitare o disabilitare la sospensione " +"automatica del computer." + +#: configuredialog.cpp:288 +msgid "" +"Activate this action if the user was inactive for the defined time \n" +"(greater than 0 minutes). If empty, nothing happens." +msgstr "" +"Attivare questa azione se l'utente è stato inattivo per il tempo definito \n" +"(superiore a 0 minuti). Se vuoto, non viene eseguita alcuna azione." + +#: configuredialog.cpp:291 +msgid "All scheme-related screen saver and DPMS settings." +msgstr "" +"Tutte le impostazioni DPMS e tutti gli screen saver correlati allo schema." + +#: configuredialog.cpp:292 +msgid "All scheme-related display brightness settings." +msgstr "" +"Tutte le impostazioni di luminosità dello schermo correlate allo schema." + +#: configuredialog.cpp:293 +msgid "All scheme-related automatic suspend settings." +msgstr "Tutte le impostazioni di sospensione automatica correlate allo schema." + +#: configuredialog.cpp:295 +msgid "" +"Here you can change the brightness of your display. \n" +"Use the slider to change the brightness directly for \n" +"testing. To reset back to previous level, please press \n" +"the 'Reset' button. " +msgstr "" +"Qui è possibile modificare la luminosità dello schermo. \n" +"Utilizzare lo slider per modificare direttamente la luminosità per \n" +" verifica. Per ripristinare il livello precedente, selezionare \n" +" 'Reimposta'. " + +#: configuredialog.cpp:299 +msgid "Use this button to set back the slider and the display brightness." +msgstr "" +"Utilizzare questo pulsante per reimpostare il dispositivo di scorrimento e " +"il valore della luminosità dello schermo." + +#: configuredialog.cpp:352 +msgid "Press this button to delete the selected scheme." +msgstr "Premere questo pulsante per cancellare lo schema selezionato." + +#: configuredialog.cpp:357 +msgid "You can't delete the current AC or battery scheme." +msgstr "E' impossibile rimuovere lo schema AC o della batteria corrente." + +#: configuredialog.cpp:363 +msgid "You can't delete this default scheme." +msgstr "E' impossibile rimuovere questo schema predefinito." + +#: configuredialog.cpp:546 +msgid "" +"Your hardware supports to change the brightness. The values of the slider " +"are in percent and mapped to the available brightness levels of your " +"hardware." +msgstr "" +"Supporto hardware per la modifica della luminosità. I valori del dispositivo " +"di scorrimento sono espressi in percentuale e mappati in base ai livelli di " +"luminosità disponibili per l'hardware in uso." + +#: configuredialog.cpp:553 +msgid "" +"Your Hardware currently not support changing the brightness of your display." +msgstr "" +"L'hardware in uso non supporta correntemente la modifica della luminosità " +"dello schermo." + +#: configuredialog.cpp:664 +msgid "Select Automatically" +msgstr "seleziona automaticamente" + +#: configuredialog.cpp:665 +msgid "KScreensaver" +msgstr "KScreensaver" + +#: configuredialog.cpp:666 +msgid "XScreensaver" +msgstr "XScreensaver" + +#: configuredialog.cpp:667 +msgid "xlock" +msgstr "xlock" + +#: configuredialog.cpp:668 +msgid "GNOME Screensaver" +msgstr "GNOME Screensaver" + +#: configuredialog.cpp:930 +msgid "" +"There are unsaved changes in the active scheme.\n" +"Apply the changes before jumping to the next scheme or discard the changes?" +msgstr "" +"Sono presenti modifiche non salvate nello schema attivo.\n" +"Applicare le modifiche prima di passare al prossimo schema o scartarle?" + +#: configuredialog.cpp:933 configuredialog.cpp:983 +msgid "Unsaved Changes" +msgstr "Modifiche non salvate" + +#: configuredialog.cpp:981 +msgid "" +"There are unsaved changes.\n" +"Apply the changes before cancel or discard the changes?" +msgstr "" +"Sono presenti modifiche non salvate.\n" +"Applicare le modifiche prima di annullarle o eliminarle?" + +#: configuredialog.cpp:1032 +msgid "Please insert a name for the new scheme:" +msgstr "Per favore, inserire un nome per il nuovo schema:" + +#: configuredialog.cpp:1038 +msgid "KPowersave Configuration" +msgstr "Configurazione di KPowersave" + +#: configuredialog.cpp:1046 +msgid "Error: A scheme with this name already exist.\n" +msgstr "Errore: Esiste già uno schema con questo nome.\n" + +#: configuredialog.cpp:1076 +msgid "Do you really want to delete the %1 scheme?" +msgstr "Si desidera veramente rimuovere lo schema %1?" + +#: configuredialog.cpp:1078 +msgid "Confirm delete scheme" +msgstr "Conferma rimozione schema" + +#: configuredialog.cpp:1079 configure_Dialog.cpp:883 +msgid "Delete" +msgstr "Elimina" + +#: configuredialog.cpp:1095 +msgid "Could not delete the selected scheme." +msgstr "Impossibile rimuovere lo schema selezionato." + +#: configuredialog.cpp:1324 +msgid "" +"Note: If you select this option, the computer will suspend or standby " +"if the current user is inactive for the defined time even if somebody is " +"logged in remotely to the X server.

    This feature can also produce " +"problems with some programs, such as video players or cd burner. These " +"programs can be blacklisted by checking Enable scheme-specific blacklist and click Edit Blacklist.... If this does not help, report the " +"problem or deactivate autosuspend.

    Really use this option?" +msgstr "" +"Nota: se si seleziona questa opzione, il computer entra in stato di " +"sospensione o stand-by se l'utente corrente è inattivo per il tempo " +"definito, anche se un altro utente si collega al server X da postazione " +"remota.

    Questa funzione può anche provocare problemi con alcuni " +"programmi, ad esempio riproduttori video o masterizzatori di CD. Questi " +"programmi possono essere inseriti in un elenco di blocco selezionando " +"Abilita elenco indirizzo disabilitati specifico dello schema e " +"facendo clic su Modifica elenco indirizzo disabilitati.... Se il " +"problema non viene risolto, comunicarlo o disattivare la sospensione " +"automatica.

    Utilizzare questa opzione?" + +#: configuredialog.cpp:1402 configuredialog.cpp:1532 +msgid "" +"The blacklist of the selected scheme is empty. Import the general blacklist?" +msgstr "" +"L'elenco indirizzo disabilitati dello schema selezionato è vuoto. Importare " +"l'elenco indirizzo disabilitati generale?" + +#: configuredialog.cpp:1404 configuredialog.cpp:1534 +msgid "Import" +msgstr "Importa" + +#: configuredialog.cpp:1404 configuredialog.cpp:1534 +msgid "Do Not Import" +msgstr "Non importare" + +#: configuredialog.cpp:1416 +msgid "General Autosuspend Blacklist" +msgstr "Blacklist generale per la sospensione automatica" + +#: configuredialog.cpp:1546 +msgid "General Autodimm Blacklist" +msgstr "Blacklist generale di riduzione automatica della luminosità" + +#: configuredialog.cpp:1779 configuredialog.cpp:1816 +msgid "Shutdown" +msgstr "Arresta" + +#: configuredialog.cpp:1781 configuredialog.cpp:1819 +msgid "Logout Dialog" +msgstr "Finestra di logout" + +#: configuredialog.cpp:1784 configuredialog.cpp:1822 kpowersave.cpp:182 +#: kpowersave.cpp:2096 kpowersave.cpp:2156 kpowersave.cpp:2247 +msgid "Suspend to Disk" +msgstr "Sospensione su disco" + +#: configuredialog.cpp:1787 configuredialog.cpp:1825 kpowersave.cpp:186 +#: kpowersave.cpp:2101 kpowersave.cpp:2161 kpowersave.cpp:2250 +msgid "Suspend to RAM" +msgstr "Sospensione su RAM" + +#: configuredialog.cpp:1790 configuredialog.cpp:1828 +msgid "CPU Powersave policy" +msgstr "Politica di risparmio energetico della CPU" + +#: configuredialog.cpp:1793 configuredialog.cpp:1831 +msgid "CPU Dynamic policy" +msgstr "Politica di gestione dinamica della CPU" + +#: configuredialog.cpp:1796 configuredialog.cpp:1834 +msgid "CPU Performance policy" +msgstr "Politica delle prestazioni della CPU" + +#: configuredialog.cpp:1799 configuredialog.cpp:1837 +msgid "Set Brightness to" +msgstr "Imposta la luminosità a" + +#: main.cpp:43 +msgid "KDE Frontend for Power Management, Battery Monitoring and Suspend" +msgstr "" +"Frontend KDE per la gestione dell'alimentazione, il controllo della batteria " +"e la sospensione" + +#: main.cpp:45 +msgid "Force a new check for ACPI support" +msgstr "Imponi una nuova verifica per il supporto ACPI" + +#: main.cpp:46 +msgid "Trace function entry and leave points for debug\n" +msgstr "Voce della funzione trace e lascia punti per il debug\n" + +#: main.cpp:59 +msgid "Current maintainer" +msgstr "Programma di manutenzione corrente" + +#: main.cpp:62 +msgid "Powersave developer and for D-Bus integration" +msgstr "Programma di sviluppo Powersave e per integrazione D-Bus" + +#: main.cpp:64 +msgid "Powersave developer and tester" +msgstr "Programma di sviluppo e di verifica di Powersave " + +#: main.cpp:66 +msgid "Added basic detailed dialog" +msgstr "Finestra di dialogo con informazioni dettagliate di base aggiunta" + +#: main.cpp:67 +msgid "Packaging Debian and Ubuntu" +msgstr "Pacchetti Debian e Ubuntu" + +#: detaileddialog.cpp:61 +msgid "KPowersave Information Dialog" +msgstr "Finestra di dialogo Informazioni su KPowersave" + +#: detaileddialog.cpp:65 configure_Dialog.cpp:882 configure_Dialog.cpp:922 +msgid "Miscellaneous" +msgstr "Varie" + +#: detaileddialog.cpp:66 +msgid "CPUs" +msgstr "CPU" + +#: detaileddialog.cpp:73 detaileddialog.cpp:453 +msgid "Battery state:" +msgstr "Stato batteria:" + +#: detaileddialog.cpp:79 +msgid "Total:" +msgstr "Totale:" + +#: detaileddialog.cpp:81 detaileddialog.cpp:83 +msgid "Battery %1" +msgstr "Batteria %1" + +#: detaileddialog.cpp:114 +msgid "Processor %1" +msgstr "Processore %1" + +#: detaileddialog.cpp:230 +msgid "not present" +msgstr "non presente" + +#: detaileddialog.cpp:243 +msgid "charged" +msgstr "caricato" + +#: detaileddialog.cpp:245 +msgid "%1:%2 h until charged" +msgstr "%1:%2 ore di caricamento" + +#: detaileddialog.cpp:248 +msgid "%1:%2 h remaining" +msgstr "%1:%2 ore rimanenti" + +#: detaileddialog.cpp:253 detaileddialog.cpp:441 detaileddialog.cpp:468 +msgid "unknown" +msgstr "sconosciuto" + +#: detaileddialog.cpp:325 detaileddialog.cpp:368 +msgid "%v MHz" +msgstr "%v MHz" + +#: detaileddialog.cpp:330 detaileddialog.cpp:363 dummy.cpp:58 +msgid "deactivated" +msgstr "disattivato" + +#: detaileddialog.cpp:395 +msgid "unplugged" +msgstr "scollegato" + +#: detaileddialog.cpp:412 +msgid "Current Scheme: " +msgstr "Schema corrente:" + +#: detaileddialog.cpp:429 +msgid "Current CPU Frequency Policy:" +msgstr "Norme frequenza CPU correnti:" + +#: detaileddialog.cpp:435 kpowersave.cpp:193 configure_Dialog.cpp:877 +msgid "Dynamic" +msgstr "Dinamico" + +#: detaileddialog.cpp:456 +msgid "Critical" +msgstr "Critico" + +#: detaileddialog.cpp:459 +msgid "Low" +msgstr "Scarica" + +#: detaileddialog.cpp:462 kpowersave.cpp:277 kpowersave.cpp:652 +#: kpowersave.cpp:659 kpowersave.cpp:705 kpowersave.cpp:713 kpowersave.cpp:761 +#: kpowersave.cpp:769 kpowersave.cpp:817 kpowersave.cpp:824 +#: kpowersave.cpp:1131 kpowersave.cpp:1243 kpowersave.cpp:1272 +#: kpowersave.cpp:1610 kpowersave.cpp:1670 kpowersave.cpp:2186 +msgid "Warning" +msgstr "Attenzione" + +#: detaileddialog.cpp:465 +msgid "ok" +msgstr "ok" + +#: detaileddialog.cpp:474 detaileddialog.cpp:477 +msgid "Set brightness supported:" +msgstr "Impostazione luminosità supportata:" + +#: detaileddialog.cpp:475 +msgid "yes" +msgstr "sì" + +#: detaileddialog.cpp:478 +msgid "no" +msgstr "no" + +#: detaileddialog.cpp:481 detaileddialog.cpp:485 +msgid "HAL Daemon:" +msgstr "Demone HAL:" + +#: detaileddialog.cpp:482 +msgid "running" +msgstr "in esecuzione" + +#: detaileddialog.cpp:486 +msgid "not running" +msgstr "non in esecuzione" + +#: info_Dialog.cpp:197 +msgid "Information" +msgstr "Informazione" + +#: dummy.cpp:36 +msgid "If the current desktop user is inactive, dim the display to:" +msgstr "" +"Se l'utente desktop corrente è inattivo, riduci la luminosità dello schermo " +"a:" + +#: dummy.cpp:37 +msgid "Enable dim display on inactivity" +msgstr "Abilita la riduzione della luminosità quando inattivo" + +#: dummy.cpp:38 +msgid "Blacklist" +msgstr "Elenco indirizzi disabilitati" + +#: dummy.cpp:39 +msgid "" +"Here you can add programs which should, if running, prevent the dimming of " +"the display." +msgstr "" +"Qui è possibile aggiungere programmi che, quando eseguiti, evitano la " +"riduzione della luminosità del display." + +#: dummy.cpp:41 +msgid "Would you like to import a predefined blacklist?" +msgstr "Si desidera importare un elenco di indirizzi disabilitati predefinito?" + +#: dummy.cpp:42 +msgid "Disable CPUs/Cores" +msgstr "Disabilita CPU/Core" + +#: dummy.cpp:43 +msgid "Max. running CPUs:" +msgstr "Numero max di CPU in esecuzione:" + +#: dummy.cpp:44 +msgid "Max. running CPUs/Cores:" +msgstr "Numero max di CPU/Core in esecuzione:" + +#: dummy.cpp:45 +msgid "Min. running CPUs:" +msgstr "Numero min di CPU in esecuzione:" + +#: dummy.cpp:46 +msgid "Min. running CPUs/Cores:" +msgstr "Numero min di CPU/Core in esecuzione:" + +#: dummy.cpp:47 +msgid "Enable to switch off CPUs/cores" +msgstr "Abilita per disattivare CPU/core" + +#: dummy.cpp:48 +msgid "You have a multiprocessor/multicore machine." +msgstr "Si dispone di un computer multiprocessore/multicore." + +#: dummy.cpp:49 +msgid "" +"You can disable CPUs/cores to reduce power consumption and save battery " +"power." +msgstr "" +"È possibile disabilitare le CPU e/o i core per risparmiare energia e non " +"consumare le batterie." + +#: dummy.cpp:50 +msgid "Device" +msgstr "Dispositivo" + +#: dummy.cpp:51 +msgid "Devices" +msgstr "Dispositivi" + +#: dummy.cpp:52 +msgid "Device class" +msgstr "Classe dispositivo" + +#: dummy.cpp:53 +msgid "activate" +msgstr "attiva" + +#: dummy.cpp:54 +msgid "Activate" +msgstr "Attiva" + +#: dummy.cpp:55 +msgid "deactivate" +msgstr "disattiva" + +#: dummy.cpp:56 +msgid "Deactivate" +msgstr "Disattiva" + +#: dummy.cpp:57 +msgid "activated" +msgstr "attivato" + +#: dummy.cpp:59 +msgid "do nothing" +msgstr "non eseguire alcuna operazione" + +#: dummy.cpp:60 +msgid "Deactivate following devices:" +msgstr "Disattiva i seguenti dispositivi:" + +#: dummy.cpp:61 +msgid "Activate following devices" +msgstr "Attiva i seguenti dispositivi" + +#: dummy.cpp:62 +msgid "Reactivate following devices" +msgstr "Riattiva i seguenti dispositivi" + +#: dummy.cpp:63 +msgid "Deactivate following device classes:" +msgstr "Disattiva le seguenti classi di dispositivi:" + +#: dummy.cpp:64 +msgid "Activate following devices classes" +msgstr "Attiva le seguenti classi di dispositivi" + +#: dummy.cpp:65 +msgid "Reactivate following device classes" +msgstr "Riattiva le seguenti classi di dispositivi" + +#: dummy.cpp:66 +msgid "If the scheme switched all devices are again activated." +msgstr "Se lo schema è attivo, tutti i dispositivi vengono di nuovo attivati." + +#: dummy.cpp:67 +msgid "This is a experimental feature." +msgstr "Questa è una funzione sperimentale." + +#: dummy.cpp:68 +msgid "If you have problems with this feature, please report them." +msgstr "Segnalateci gli eventuali problemi riscontrati con questa funzione." + +#: dummy.cpp:69 +msgid "Select one of the available devices and click on " +msgstr "Selezionare uno dei dispositivi disponibili, quindi fare clic su" + +#: dummy.cpp:70 +msgid "Select one of the available device classes and click on " +msgstr "" +"Selezionare una delle classi di dispositivi disponibili, quindi fare clic su" + +#: dummy.cpp:71 +msgid "Select one or more of the available devices and click on " +msgstr "Selezionare uno o più dispositivi disponibili, quindi fare clic su" + +#: dummy.cpp:72 +msgid "Select one or more of the available device classes and click on " +msgstr "" +"Selezionare uno o più classi di dispositivi disponibili, quindi fare clic su" + +#: dummy.cpp:73 +msgid "" +"Please note: If you e.g. deactivate a network device you may lose your " +"internet connection." +msgstr "" +"Nota: se ad esempio si disattiva un dispositivo di rete, è possibile che " +"venga interrotta la connessione a Internet." + +#: dummy.cpp:75 +msgid "" +"Note: If you select this option, the computer will suspend or standby " +"if the current user is inactive for the defined time.

    This feature " +"can also produce problems with some programs, such as video players or cd " +"burner. These programs can be blacklisted by checking Enable scheme-" +"specific blacklist and click Edit Blacklist.... If this does not " +"help, report the problem or deactivate autosuspend.

    Really use this " +"option?" +msgstr "" +"Nota: se si seleziona questa opzione, il computer entra in stato di " +"sospensione o Stand-by se l'utente corrente resta inattivo per il tempo " +"definito.

    Questa funzione può anche produrre problemi con alcuni " +"programmi, ad esempio riproduttori video o masterizzatori di CD. Questi " +"programmi possono essere inseriti in un elenco di blocco selezionando " +"Abilita elenco indirizzo disabilitati specifico dello schema e " +"facendo clic su Modifica elenco indirizzo disabilitati.... Se il " +"problema non viene risolto, comunicarlo o disattivare la sospensione " +"automatica.

    Utilizzare questa opzione?" + +#: dummy.cpp:82 +msgid "Try to use only one CPU/Core." +msgstr "Provare ad utilizzare una sola CPU o core." + +#: dummy.cpp:83 +msgid "" +"Reduce power consumption by try to use only one CPU/Core instead of " +"spreading the work over all/multiple CPUs." +msgstr "" +"Riduce il consumo energetico provando ad utilizzare una sola CPU o core " +"anziché distribuire il lavoro su tutte le CPU o sulle CPU multiple." + +#: dummy.cpp:87 +msgid "Could not load the global configuration." +msgstr "Impossibile caricare la configurazione globale." + +#: dummy.cpp:88 +msgid "Could not load the requested scheme configuration." +msgstr "Impossibile caricare la configurazione dello schema richiesta." + +#: dummy.cpp:89 +msgid "Configure the current scheme." +msgstr "Configurare lo schema corrente." + +#: dummy.cpp:90 +msgid "Try loading the default configuration." +msgstr "Provare a caricare la configurazione di default." + +#: dummy.cpp:91 +msgid "Maybe the global configuration file is empty or missing." +msgstr "Il file di configurazione globale potrebbe essere vuoto o mancante." + +#: dummy.cpp:94 +msgid "Cannot connect to D-Bus. The D-Bus daemon may not be running." +msgstr "" +"Impossibile collegarsi a D-Bus. Il daemon D-Bus potrebbe non essere in " +"esecuzione." + +#: dummy.cpp:95 +msgid "" +"Scheme switched to %1. \n" +" Deactivate following devices: %2" +msgstr "" +"Schema attivato in %1. \n" +" Disattiva i seguenti dispositivi: %2" + +#: dummy.cpp:96 +msgid "" +"Scheme switched to %1. \n" +" Activate following devices: %2" +msgstr "" +"Schema attivato in %1. \n" +" Attiva i seguenti dispositivi: %2" + +#: dummy.cpp:97 +msgid "Report ..." +msgstr "Rapporto..." + +#: dummy.cpp:98 +msgid "Suspend to RAM is not supported on your machine." +msgstr "La modalità Sospendi su RAM non è supportata dal computer in uso." + +#: dummy.cpp:99 +msgid "Additionally, please mail the output of %1 to %2 . Thanks!" +msgstr "Inoltre, inviare il risultato di %1 a %2 ." + +#: dummy.cpp:100 +msgid "Power consumption" +msgstr "Risparmio energetico" + +#: dummy.cpp:103 +msgid "KScreensaver not found." +msgstr "KScreensaver non trovato." + +#: dummy.cpp:104 +msgid "Try locking with XScreensaver or xlock." +msgstr "Provare a bloccare con XScreensaver o xlock." + +#: dummy.cpp:105 +msgid "XScreensaver not found." +msgstr "XScreensaver non trovato." + +#: dummy.cpp:106 +msgid "Try locking the screen with xlock." +msgstr "Provare a bloccare lo schermo con xlock." + +#: dummy.cpp:107 +msgid "" +"XScreensaver and xlock not found. It is not possible to lock the screen. " +"Check your installation." +msgstr "" +"XScreensaver e xlock non trovati. Impossibile bloccare lo schermo. " +"Verificare l'installazione." + +#: dummy.cpp:111 +msgid "HAL daemon:" +msgstr "Daemon HAL:" + +#: dummy.cpp:112 +msgid "D-Bus daemon:" +msgstr "Demone D-BUS:" + +#: dummy.cpp:113 +msgid "ConsoleKit daemon:" +msgstr "Demone ConsoleKit:" + +#: dummy.cpp:114 +msgid "Autosuspend activated:" +msgstr "Sospensione automatica attivata:" + +#: dummy.cpp:115 +msgid "Autodimm activated:" +msgstr "Riduzione automatica della luminosità attivata:" + +#: dummy.cpp:116 +msgid "enabled" +msgstr "abilitato" + +#: dummy.cpp:117 +msgid "Session active:" +msgstr "Sessione attiva:" + +#: dummy.cpp:120 +msgid "Inactivity detected." +msgstr "Rilevata inattività." + +#: dummy.cpp:121 +msgid "To stop the %1 press the 'Cancel' button before the countdown expire." +msgstr "" +"Per interrompere %1 premere 'Annulla' prima che termini il conto alla " +"rovescia." + +#: dummy.cpp:122 +msgid "The computer autosuspend in: " +msgstr "Il computer sarà sospeso automaticamente in:" + +#: dummy.cpp:123 +#, c-format +msgid "The display get dimmed down to %1% in: " +msgstr "La luminosità dello schermo sarà ridotta a %1% in:" + +#: dummy.cpp:124 +msgid "%1 seconds" +msgstr "%1 secondi" + +#: dummy.cpp:127 +msgid "Could not call %1. The current desktop session is not active." +msgstr "" +"Impossibile chiamare %1. La sessione del desktop corrente non è attiva." + +#: dummy.cpp:128 +msgid "Could not set %1. The current desktop session is not active." +msgstr "" +"Impossibile chiamare %1. La sessione del desktop corrente non è attiva." + +#: dummy.cpp:129 +msgid "Stopped %1. The current desktop session is now inactive." +msgstr "%1 interrotto. La sessione desktop corrente non è al momento inattiva." + +#: dummy.cpp:130 +msgid "Restarted %1. The current desktop session is now active again." +msgstr "%1 riavviato. La sessione del desktop corrente è nuovamente attiva." + +#: log_viewer.cpp:78 +msgid "Form1" +msgstr "Modulo1" + +#: log_viewer.cpp:79 +msgid "Save As ..." +msgstr "Salva come..." + +#: log_viewer.cpp:80 +msgid "Close" +msgstr "Chiudi" + +#: logviewer.cpp:44 +msgid "KPowersave Logfile Viewer: %1" +msgstr "Visualizzatore del file di log di KPowersave: %1" + +#: logviewer.cpp:89 +msgid "File already exist. Overwrite the file?" +msgstr "Il file esiste già. Sovrascriverlo?" + +#: logviewer.cpp:90 logviewer.cpp:97 +msgid "Error while save logfile" +msgstr "Errore durante la chiusura del file di log" + +#: logviewer.cpp:95 +msgid "File already exist." +msgstr "Il file esiste già." + +#: logviewer.cpp:98 +msgid "Try other filename ..." +msgstr "Provare un altro nome del file..." + +#: suspenddialog.cpp:70 +msgid "Preparing Suspend..." +msgstr "Preparazione sospensione in corso..." + +#: kpowersave.cpp:168 +msgid "Configure KPowersave..." +msgstr "Configura KPowersave..." + +#: kpowersave.cpp:171 configure_Dialog.cpp:915 +msgid "Configure Notifications..." +msgstr "Configura notifiche..." + +#: kpowersave.cpp:175 +msgid "Start YaST2 Power Management Module..." +msgstr "Avvia il modulo di power management di YaST2..." + +#: kpowersave.cpp:189 kpowersave.cpp:2106 kpowersave.cpp:2166 +#: kpowersave.cpp:2253 +msgid "Standby" +msgstr "Standby" + +#: kpowersave.cpp:191 kpowersave.cpp:198 +msgid "Set CPU Frequency Policy" +msgstr "Imposta politica della frequenza della CPU" + +#: kpowersave.cpp:205 kpowersave.cpp:206 +msgid "Set Active Scheme" +msgstr "Imposta schema attivo" + +#: kpowersave.cpp:212 +msgid "Disable Actions on Inactivity" +msgstr "In caso di inattività disabilita azioni" + +#: kpowersave.cpp:219 kpowersave.cpp:229 +msgid "&Help" +msgstr "&?" + +#: kpowersave.cpp:221 +msgid "&KPowersave Handbook" +msgstr "Manuale di &KPowersave" + +#: kpowersave.cpp:224 +msgid "&Report a bug ..." +msgstr "&Segnala un bug ..." + +#: kpowersave.cpp:226 +msgid "&About KPowersave" +msgstr "&Informazioni su KPowersave" + +#: kpowersave.cpp:275 kpowersave.cpp:648 kpowersave.cpp:656 kpowersave.cpp:703 +#: kpowersave.cpp:710 kpowersave.cpp:759 kpowersave.cpp:766 kpowersave.cpp:815 +#: kpowersave.cpp:822 kpowersave.cpp:1126 kpowersave.cpp:1241 +#: kpowersave.cpp:1270 kpowersave.cpp:2183 +msgid "WARNING" +msgstr "AVVERTIMENTO" + +#: kpowersave.cpp:275 +msgid "Cannot find any schemes." +msgstr "Impossibile trovare gli schemi." + +#: kpowersave.cpp:453 +msgid "No information about battery and AC status available" +msgstr "Non sono disponibili informazioni sulla batteria e lo stato CA" + +#: kpowersave.cpp:456 +msgid "Plugged in -- fully charged" +msgstr "Plugged in -- completamente carica" + +#: kpowersave.cpp:460 +msgid "Plugged in" +msgstr "Plugged in" + +#: kpowersave.cpp:464 +msgid "Plugged in -- %1% charged (%2:%3 h until full charged)" +msgstr "Collegato -- %1% ricaricato (%2:%3 h per la ricarica completa)" + +#: kpowersave.cpp:467 +msgid "Plugged in -- %1% charged (%2:%3 remaining hours)" +msgstr "Plugged in -- carica al %1% (%2:%3 ore rimanenti)" + +#: kpowersave.cpp:471 kpowersave.cpp:475 +#, c-format +msgid "Plugged in -- %1% charged" +msgstr "Plugged in -- carica al %1% " + +#: kpowersave.cpp:474 +msgid "Plugged in -- no battery" +msgstr "Plugged in -- nessuna batteria" + +#: kpowersave.cpp:480 +msgid "Running on batteries -- %1% charged (%2:%3 hours remaining)" +msgstr "Alimentazione a batteria -- carica al %1% (%2:%3 ore rimanenti)" + +#: kpowersave.cpp:484 +#, c-format +msgid "Running on batteries -- %1% charged" +msgstr "Alimentazione a batteria -- carica a %1%" + +#: kpowersave.cpp:491 +msgid " -- battery is charging" +msgstr " -- batteria si sta caricando" + +#: kpowersave.cpp:649 kpowersave.cpp:657 +msgid "Could not start YaST Power Management Module. Check if it is installed." +msgstr "" +"Impossibile avviare il modulo Power Management di YaST. Verificare che sia " +"installato." + +#: kpowersave.cpp:703 +msgid "Suspend to disk failed" +msgstr "Sospensione su disco fallita" + +#: kpowersave.cpp:711 +msgid "Suspend to disk disabled by administrator." +msgstr "Suspend to disk disabilitato dall'amministratore." + +#: kpowersave.cpp:759 +msgid "Suspend to RAM failed" +msgstr "Sospensione su RAM fallita" + +#: kpowersave.cpp:767 +msgid "Suspend to RAM disabled by administrator." +msgstr "Sospensione su RAM disabilitata dall'amministratore." + +#: kpowersave.cpp:815 +msgid "Standby failed" +msgstr "Standby fallito" + +#: kpowersave.cpp:822 +msgid "Standby disabled by administrator." +msgstr "Standby disabilitato dall'amministratore" + +#: kpowersave.cpp:853 +msgid "System is going into suspend mode now" +msgstr "Attivazione in corso della modalità sospensione per il sistema" + +#: kpowersave.cpp:1039 +msgid "Could not call DCOP interface to umount external media." +msgstr "" +"Impossibile contattare l'interfaccia DCOP per smontare i supporti esterni." + +#: kpowersave.cpp:1044 +msgid "" +"Could not umount external media before suspend/standby. \n" +" (Reason: %1)\n" +" \n" +" Would you like to continue suspend/standby anyway? \n" +"(Warning: Continue suspend can cause data loss!)" +msgstr "" +"Impossibile smontare i supporti esterni prima della sospensione o dello " +"standby. \n" +" (Motivo: %1)\n" +" \n" +" Si desidera procedere alla sospensione o allo standby comunque? \n" +"(Attenzione: Procedere alla sospensione può causare la perdita di dati!)" + +#: kpowersave.cpp:1052 +msgid "Error while prepare %1" +msgstr "Errore durante la preparazione di %1" + +#: kpowersave.cpp:1053 +msgid "Suspend anyway" +msgstr "Sospendi comunque" + +#: kpowersave.cpp:1053 +msgid "Cancel suspend" +msgstr "Annulla sospensione" + +#: kpowersave.cpp:1127 +msgid "" +"Could not lock the screen. There may be a problem with the selected \n" +"lock method or something else." +msgstr "" +"Impossibile bloccare lo schermo. Potrebbe essersi verificato un problema con " +"il metodo di \n" +"blocco selezionato o un altro problema." + +#: kpowersave.cpp:1144 +msgid "The Lid was closed." +msgstr "Lo schermo è stato chiuso." + +#: kpowersave.cpp:1156 +msgid "The Lid was opened." +msgstr "Lo schermo è stato aperto." + +#: kpowersave.cpp:1223 +msgid "Start KPowersave automatically when you log in?" +msgstr "Avviare KPowersave automaticamente al login?" + +#: kpowersave.cpp:1224 +msgid "Question" +msgstr "Domanda" + +#: kpowersave.cpp:1225 +msgid "Start Automatically" +msgstr "Avvia automaticamente" + +#: kpowersave.cpp:1225 +msgid "Do Not Start" +msgstr "Non avviare" + +#: kpowersave.cpp:1242 +msgid "CPU Freq Policy %1 could not be set." +msgstr "Impossibile impostare politica frequenza CPU %1." + +#: kpowersave.cpp:1271 +msgid "Scheme %1 could not be activated." +msgstr "Impossibile attivare lo schema%1." + +#: kpowersave.cpp:1600 +msgid "" +"The D-Bus daemon is not running.\n" +"Starting it will provide full functionality: /etc/init.d/dbus start" +msgstr "" +"Il demone D-Bus non è in esecuzione.\n" +"Avviarlo consentirà di avere funzionalità complete: /etc/init.d/dbus start" + +#: kpowersave.cpp:1611 +msgid "Don't show this message again." +msgstr "Non visualizzare più questo messaggio." + +#: kpowersave.cpp:1637 +msgid "ERROR" +msgstr "ERRORE" + +#: kpowersave.cpp:1638 +msgid "Could not get information from HAL. The haldaemon is maybe not running." +msgstr "" +"Impossibile ottenere le informazioni da HAL. È possibile che haldaemon non " +"sia in esecuzione." + +#: kpowersave.cpp:1641 +msgid "Error" +msgstr "Errore" + +#: kpowersave.cpp:1912 +msgid "" +"Battery state changed to WARNING -- remaining time: %1 hours and %2 minutes." +msgstr "" +"Lo stato della batteria ha innescato un evento di AVVERTIMENTO -- tempo " +"rimanente %1 ore e %2 minuti" + +#: kpowersave.cpp:1921 +msgid "" +"Battery state changed to LOW -- remaining time: %1 hours and %2 minutes." +msgstr "" +"Stato batteria modificato in SCARICA - tempo rimanente: %1 ore e %2 minuti." + +#: kpowersave.cpp:1932 +msgid "" +"Battery state changed to CRITICAL -- remaining time: %1 hours and %2 " +"minutes.\n" +"Shut down your system or plug in the power cable immediately. Otherwise the " +"machine\n" +"will go shutdown in 30 seconds" +msgstr "" +"Stato batteria modificato in CRITICO - tempo rimanente: %1 ore e %2 minuti.\n" +"Spegnere il sistema o collegare il cavo di alimentazione immediatamente. " +"Altrimenti la macchina\n" +"sarà spenta in 30 secondi." + +#: kpowersave.cpp:1943 +msgid "" +"Battery state changed to CRITICAL -- remaining time: %1 hours and %2 " +"minutes.\n" +"Shut down your system or plug in the power cable immediately." +msgstr "" +"Stato batteria modificato in CRITICO - tempo rimanente: %1 ore e %2 minuti. " +"Spegnere il sistema o collegare il cavo di alimentazione immediatamente." + +#: kpowersave.cpp:2041 +msgid "AC adapter plugged in" +msgstr "Adattatore CA collegato" + +#: kpowersave.cpp:2043 +msgid "AC adapter unplugged" +msgstr "Adattatore CA scollegato" + +#: kpowersave.cpp:2078 +msgid "Switched to scheme: %1" +msgstr "Passaggio allo schema: %1" + +#: kpowersave.cpp:2095 kpowersave.cpp:2100 kpowersave.cpp:2105 +msgid "System is going into %1 now." +msgstr "Attivazione in corso di %1 per il sistema." + +#: kpowersave.cpp:2155 kpowersave.cpp:2160 kpowersave.cpp:2165 +msgid "System is resumed from %1." +msgstr "Il sistema è stato ripristinato da %1." + +#: kpowersave.cpp:2184 +msgid "Could not remount (all) external storage media." +msgstr "" +"Impossibile montare nuovamente (tutti) i supporti di memorizzazione esterni." + +#: kpowersave.cpp:2192 +msgid "An unknown error occurred while %1. The errorcode is: '%2'" +msgstr "Errore sconosciuto durante %1. Il codice di errore è: '%2'" + +# power-off message +#: kpowersave.cpp:2197 +msgid "Do you want to have a look at the log file?" +msgstr "Si desidera visualizzare il file di log?" + +#: kpowersave.cpp:2198 kpowersave.cpp:2224 +msgid "Error while %1" +msgstr "Errore durante %1" + +#: configure_Dialog.cpp:831 +msgid "KPowersave Settings" +msgstr "Impostazioni KPowersave" + +#: configure_Dialog.cpp:832 +msgid "Apply" +msgstr "Applica" + +#: configure_Dialog.cpp:834 +msgid "Help" +msgstr "Aiuto" + +#: configure_Dialog.cpp:840 +msgid "Enable specific display power management" +msgstr "Abilita gestione alimentazione schermo specifica" + +#: configure_Dialog.cpp:841 +msgid "Standby after:" +msgstr "Stand-by dopo:" + +#: configure_Dialog.cpp:842 +msgid "Only blank the screen" +msgstr "Solo schermo vuoto" + +#: configure_Dialog.cpp:843 +msgid "Disable screen saver" +msgstr "Disabilita screen saver" + +#: configure_Dialog.cpp:844 +msgid "Enable specific screensaver settings" +msgstr "Abilita impostazioni screen saver specifiche" + +#: configure_Dialog.cpp:845 +msgid "Suspend after:" +msgstr "Sospensione dopo:" + +#: configure_Dialog.cpp:846 +msgid "Power off after:" +msgstr "Spegnimento dopo:" + +#: configure_Dialog.cpp:847 +msgid "Disable display power management" +msgstr "Disabilita gestione alimentazione display" + +#: configure_Dialog.cpp:848 configure_Dialog.cpp:849 configure_Dialog.cpp:850 +#: configure_Dialog.cpp:862 configure_Dialog.cpp:873 +msgid " min" +msgstr " min" + +#: configure_Dialog.cpp:851 +msgid "Screen Saver and DPMS" +msgstr "Screen saver e DPMS" + +#: configure_Dialog.cpp:852 +msgid "Settings" +msgstr "Impostazioni" + +#: configure_Dialog.cpp:853 +msgid "Reset" +msgstr "Reimposta" + +#: configure_Dialog.cpp:855 +msgid "Enable scheme specific Brightness settings" +msgstr "Abilita schema specifico per le impostazioni di luminosità" + +#: configure_Dialog.cpp:858 +msgid "Brightness" +msgstr "Luminosità" + +#: configure_Dialog.cpp:859 +msgid "Enable autosuspend" +msgstr "Abilita sospensione automatica" + +#: configure_Dialog.cpp:860 configure_Dialog.cpp:867 +msgid "Enable scheme-specific blacklist" +msgstr "Abilita elenco indirizzo disabilitati specifico dello schema" + +#: configure_Dialog.cpp:861 configure_Dialog.cpp:870 +msgid "after:" +msgstr "dopo:" + +#: configure_Dialog.cpp:863 configure_Dialog.cpp:868 +msgid "Edit Blacklist..." +msgstr "Modifica elenco indirizzo disabilitati..." + +#: configure_Dialog.cpp:864 configure_Dialog.cpp:869 +msgid "If the current desktop user is inactive the computer will:" +msgstr "Se l'utente desktop corrente è inattivo il computer:" + +#: configure_Dialog.cpp:865 +msgid "Autosuspend" +msgstr "Sospensione automatica" + +#: configure_Dialog.cpp:866 +msgid "Enable autodimm the display" +msgstr "Abilita riduzione automatica della luminosità dello schermo" + +#: configure_Dialog.cpp:871 configure_Dialog.cpp:893 configure_Dialog.cpp:894 +#: configure_Dialog.cpp:895 configure_Dialog.cpp:896 configure_Dialog.cpp:897 +#: configure_Dialog.cpp:898 +msgid " %" +msgstr "%" + +#: configure_Dialog.cpp:872 +msgid "dimm to:" +msgstr "riduci la luminosità a:" + +#: configure_Dialog.cpp:874 +msgid "Autodimm" +msgstr "Riduci automaticamente la luminosità" + +#: configure_Dialog.cpp:879 +msgid "Set CPU Frequency Policy:" +msgstr "Imposta politica della frequenza della CPU:" + +#: configure_Dialog.cpp:880 +msgid "CPU Frequency Policy" +msgstr "Politica della frequenza della CPU" + +#: configure_Dialog.cpp:881 +msgid "Disable Notifications" +msgstr "Disabilita notifiche" + +#: configure_Dialog.cpp:884 +msgid "New" +msgstr "Nuovo" + +#: configure_Dialog.cpp:885 +msgid "Scheme Settings" +msgstr "Impostazioni schema" + +#: configure_Dialog.cpp:886 +msgid "" +"Define the battery warning levels (in percentage) and the releated action if " +"the level get reached:" +msgstr "" +"Definisce i livelli di attenzione per la batteria (in percentuale) e le " +"azioni corrispondenti, se il livello è raggiunto:" + +#: configure_Dialog.cpp:887 +msgid "Warning level:" +msgstr "Livello di avviso:" + +#: configure_Dialog.cpp:888 +msgid "Low level:" +msgstr "Livello basso:" + +# TLABEL modules/inst_sw_select.ycp:266 +#: configure_Dialog.cpp:889 +msgid "Critical level:" +msgstr "Livello critico:" + +#: configure_Dialog.cpp:890 configure_Dialog.cpp:891 configure_Dialog.cpp:892 +msgid "if reached call:" +msgstr "se raggiunto esegui:" + +#: configure_Dialog.cpp:899 +msgid "Battery" +msgstr "Batteria" + +#: configure_Dialog.cpp:900 +msgid "" +"Define the action which should be executed if the related button get pressed:" +msgstr "" +"Definisce l'azione da eseguire qualora il pulsante corrispondente sia " +"premuto:" + +#: configure_Dialog.cpp:901 +msgid "Suspend-to-disk Button:" +msgstr "Pulsante sospensione su disco:" + +# TLABEL modules/printconf/printconf_ask_device.ycp:134 +#: configure_Dialog.cpp:902 +msgid "Sleep button:" +msgstr "Pulsante sleep" + +#: configure_Dialog.cpp:903 +msgid "Lid close Button:" +msgstr "Chiusura coperchio:" + +#: configure_Dialog.cpp:904 +msgid "Power Button:" +msgstr "Pulsante dell'alimentazione:" + +#: configure_Dialog.cpp:905 +msgid "Button Events" +msgstr "Eventi pulsanti" + +#: configure_Dialog.cpp:906 +msgid "" +"Select the following schemes as default if the system is running on AC or on " +"batteries." +msgstr "" +"Seleziona gli schemi seguenti come impostazione predefinita se il sistema è " +"collegato alla presa di corrente o funziona a batteria." + +#: configure_Dialog.cpp:907 +msgid "Battery scheme:" +msgstr "Schema batteria:" + +#: configure_Dialog.cpp:908 +msgid "AC scheme:" +msgstr "Schema alimentazione esterna:" + +#: configure_Dialog.cpp:909 +msgid "Default Schemes" +msgstr "Sistemi predefiniti" + +#: configure_Dialog.cpp:910 +msgid "Lock screen before suspend or standby" +msgstr "Blocca schermo prima di sospensione o stand-by." + +#: configure_Dialog.cpp:911 +msgid "Lock screen with:" +msgstr "Blocca schermo con:" + +#: configure_Dialog.cpp:912 +msgid "Lock screen on lid close" +msgstr "Blocca schermo in caso di abbassamento display." + +#: configure_Dialog.cpp:913 +msgid "Lock Screen" +msgstr "Blocca schermo" + +#: configure_Dialog.cpp:914 +msgid "Notifications" +msgstr "Notifiche" + +#: configure_Dialog.cpp:916 +msgid "Autostart" +msgstr "Avvio automatico" + +#: configure_Dialog.cpp:917 +msgid "Never ask me again on exit" +msgstr "Non chiedere più all'uscita." + +#: configure_Dialog.cpp:918 +msgid "KPowersave starts automatically on login" +msgstr "Avvio automatico di KPowersave al login." + +#: configure_Dialog.cpp:919 +msgid "General Blacklists" +msgstr "Blacklist generale" + +#: configure_Dialog.cpp:920 +msgid "Edit Autosuspend Blacklist..." +msgstr "Modifica blacklist per la sospensione automatica..." + +#: configure_Dialog.cpp:921 +msgid "Edit Autodimm Blacklist..." +msgstr "Modifica blacklist per la riduzione automatica della luminosità..." + +#: configure_Dialog.cpp:923 +msgid "General Settings" +msgstr "Impostazioni generali" + +#~ msgid "&Cancel" +#~ msgstr "&Annulla" + +#~ msgid "Remo&ve" +#~ msgstr "Rimuo&vi" + +#~ msgid "Modules unloaded:" +#~ msgstr "Moduli scaricati:" + +#~ msgid "Powersave Daemon:" +#~ msgstr "Daemon Powersave:" + +#~ msgid "" +#~ "Inactivity detected.\n" +#~ " Machine autosuspend in %1 seconds." +#~ msgstr "" +#~ "Individuata inattività.\n" +#~ " Sospensione automatica del computer tra %1 secondi." + +#~ msgid "" +#~ "Inactivity detected.\n" +#~ " Dim display in %1 seconds to %2%." +#~ msgstr "" +#~ "Individuata inattività.\n" +#~ " Mostra in grigio la visualizzazione tra %1 secondi in %2%." + +#~ msgid "" +#~ "If you know that it should work, you might override this detection with " +#~ "setting SUSPEND2RAM_FORCE=\"yes\" in /etc/powersave/sleep." +#~ msgstr "" +#~ "Se la modalità è supportata, è possibile ignorare questo rilevamento con " +#~ "l'impostazione SUSPEND2RAM_FORCE=yes in /etc/powersave/sleep." + +#~ msgid "" +#~ "Cannot find any schemes. Maybe the powersave daemon is not running.\n" +#~ "Starting it with '/etc/init.d/powersaved start' should help." +#~ msgstr "" +#~ "Impossibile individuare schemi. Il daemon powersave potrebbe non essere " +#~ "in esecuzione.\n" +#~ "Per risolvere il problema, avviarlo con '/etc/init.d/powersaved start'." + +#~ msgid "" +#~ "The powersave daemon must be running in the background for a suspend to " +#~ "disk." +#~ msgstr "" +#~ "Il daemon powersave deve essere in esecuzione in background per la " +#~ "sospensione su disco." + +#~ msgid "" +#~ "The powersave daemon must be running in the background for a suspend to " +#~ "RAM." +#~ msgstr "" +#~ "Il daemon powersave deve essere in esecuzione in background per la " +#~ "sospensione su RAM." + +#~ msgid "The powersave daemon must be running in the background for standby." +#~ msgstr "" +#~ "Il daemon powersave deve essere in esecuzione in background per lo Stand-" +#~ "by." + +#~ msgid "" +#~ "This scheme support suspend and disable devices. This is a EXPERIMENTAL " +#~ "feature of powersave to save more power on laptops. If you select this " +#~ "scheme you can get in trouble (e.g. kernel oops). You can configure this " +#~ "feature currently in the powersave config files. Please report all " +#~ "problems via http://www.opensuse.org/Submit_a_bug \n" +#~ "\n" +#~ "Would you switch the scheme (on your own risk)?" +#~ msgstr "" +#~ "Questo schema supporta la sospensione e la disattivazione dei " +#~ "dispositivi. Questa è una funzione SPERIMENTALE di powersave che consente " +#~ "di risparmiare energia sui laptop. La selezione di questo schema potrebbe " +#~ "provocare alcuni problemi, ad esempio oop del kernel. Questa funzione può " +#~ "ora essere configurata nei file di configurazione di powersave. Segnalare " +#~ "tutti i problemi via http://www.opensuse.org/Submit_a_bug \n" +#~ " \n" +#~ " Attivare lo scema (a proprio rischio)?" + +#~ msgid "Continue" +#~ msgstr "Continua" + +#~ msgid "" +#~ "The powersave daemon is not running.\n" +#~ "Starting it will improve performance: /etc/init.d/powersaved start" +#~ msgstr "" +#~ "Il daemon powersave non è in esecuzione.\n" +#~ "Inizializzarlo, migliorerà le prestazioni: /etc/init.d/powersaved start" + +#~ msgid "checking resume kernel" +#~ msgstr "verifica recupero kernel" + +#~ msgid "checking for swap partition" +#~ msgstr "verifica partizione swap" + +#~ msgid "unmounting FAT/NTFS partitions" +#~ msgstr "smontaggio partizioni FAT/NTFS" + +#~ msgid "stopping services" +#~ msgstr "arresto servizi" + +#~ msgid "stopping service:" +#~ msgstr "arresto servizio:" + +#~ msgid "unloading modules" +#~ msgstr "scaricamento moduli" + +#~ msgid "unloading module:" +#~ msgstr "scaricamento modulo:" + +#~ msgid "syncing file systems" +#~ msgstr "sincronizzazione file system" + +#~ msgid "preparing bootloader" +#~ msgstr "preparazione bootloader" + +#~ msgid "Edit General Blacklist..." +#~ msgstr "Modifica elenco di blocco generale..." + +#~ msgid " -- %1 MHz" +#~ msgstr " -- %1 MHz" + +#~ msgid "Enabled" +#~ msgstr "abilitato" + +#~ msgid "In" +#~ msgstr "In" + +#~ msgid "Out" +#~ msgstr "Out" + +#~ msgid "" +#~ "You are not permitted to connect to the powersave daemon via DBUS. Please " +#~ "check your DBUS configuration and installation. " +#~ msgstr "" +#~ "Non si dispone dell'autorizzazione per la connessione al daemon powersave " +#~ "via DBUS. Verificare la configurazione e l'installazione DBUS." diff --git a/po/ja.po b/po/ja.po new file mode 100644 index 0000000..5d239b2 --- /dev/null +++ b/po/ja.po @@ -0,0 +1,1618 @@ +# translation of kpowersave.po to Japanese +# This file is distributed under the same license as the PACKAGE package. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER. +# Antje Faber , 2004. +# Takashi Iwai , 2004. +# +msgid "" +msgstr "" +"Project-Id-Version: kpowersave\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2007-08-10 03:16+0200\n" +"PO-Revision-Date: 2005-08-18 11:52-0000\n" +"Last-Translator: Novell Language \n" +"Language-Team: Novell Language \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: KBabel 1.3.1\n" + +#: detailed_Dialog.cpp:228 +#, fuzzy +msgid "kpowersave" +msgstr "çœé›»åŠ›" + +#: detailed_Dialog.cpp:229 +msgid "General Information" +msgstr "一般情報" + +#: detailed_Dialog.cpp:232 +msgid "Battery Status" +msgstr "ãƒãƒƒãƒ†ãƒªæ®‹é‡" + +#: detailed_Dialog.cpp:233 +msgid "AC Adapter" +msgstr "ACアダプタ" + +#: detailed_Dialog.cpp:234 detaileddialog.cpp:391 +msgid "plugged in" +msgstr "プラグ接続" + +#: detailed_Dialog.cpp:235 +#, fuzzy +msgid "Power Consumtion: " +msgstr "消費電力" + +#: detailed_Dialog.cpp:237 +msgid "Processor Status" +msgstr "プロセッサステータス" + +#: detailed_Dialog.cpp:238 blacklistedit_Dialog.cpp:130 info_Dialog.cpp:198 +#: configure_Dialog.cpp:838 +msgid "OK" +msgstr "" + +#: blacklisteditdialog.cpp:60 +msgid "General Blacklist" +msgstr "一般的ãªãƒ–ラックリスト" + +#: blacklisteditdialog.cpp:63 +msgid "Scheme: " +msgstr "スキーム:" + +#: blacklisteditdialog.cpp:114 +msgid "Selected entry removed." +msgstr "é¸æŠžã—ãŸã‚¨ãƒ³ãƒˆãƒªãŒå‰Šé™¤ã•ã‚Œã¾ã—ãŸã€‚" + +#: blacklisteditdialog.cpp:117 +msgid "Could not remove the selected entry." +msgstr "é¸æŠžã—ãŸã‚¨ãƒ³ãƒˆãƒªã‚’削除ã§ãã¾ã›ã‚“ã§ã—ãŸã€‚" + +#: blacklisteditdialog.cpp:137 +msgid "Inserted new entry." +msgstr "挿入ã•ã‚ŒãŸæ–°ã—ã„エントリ。" + +#: blacklisteditdialog.cpp:141 +msgid "Entry exists already. Did not insert new entry." +msgstr "エントリã¯ã™ã§ã«å­˜åœ¨ã—ã¾ã™ã€‚ æ–°ã—ã„エントリãŒæŒ¿å…¥ã•ã‚Œã¾ã›ã‚“ã§ã—ãŸã€‚" + +#: blacklisteditdialog.cpp:144 +msgid "Empty entry was not inserted." +msgstr "空ã®ã‚¨ãƒ³ãƒˆãƒªãŒæŒ¿å…¥ã•ã‚Œã¾ã›ã‚“ã§ã—ãŸã€‚" + +#: inactivity.cpp:298 +msgid "" +"Could not start 'pidof'. Could not autosuspend the machine.\n" +"Please check your installation." +msgstr "" +"「pidofã€ã‚’èµ·å‹•ã§ãã¾ã›ã‚“ã§ã—ãŸã€‚ マシンを自動åœæ­¢ã«ã§ãã¾ã›ã‚“ã§ã—ãŸã€‚\n" +"インストールを確èªã—ã¦ãã ã•ã„。" + +#: blacklistedit_Dialog.cpp:129 +msgid "Autosuspend Blacklist Edit" +msgstr "ブラックリスト編集ã®è‡ªå‹•ã‚µã‚¹ãƒšãƒ³ãƒ‰" + +#: blacklistedit_Dialog.cpp:132 configuredialog.cpp:1079 +#: configure_Dialog.cpp:836 +#, fuzzy +msgid "Cancel" +msgstr "キャンセル(&C)" + +#: blacklistedit_Dialog.cpp:135 +msgid "Add" +msgstr "追加(A)" + +#: blacklistedit_Dialog.cpp:136 +#, fuzzy +msgid "Remove" +msgstr "削除(&v)" + +#: infodialog.cpp:76 infodialog.cpp:78 main.cpp:55 +#, fuzzy +msgid "KPowersave" +msgstr "çœé›»åŠ›" + +#: configuredialog.cpp:116 configuredialog.cpp:121 configuredialog.cpp:721 +msgid " - not supported" +msgstr "" + +#: configuredialog.cpp:150 configuredialog.cpp:317 detaileddialog.cpp:432 +#: kpowersave.cpp:192 settings.cpp:66 configure_Dialog.cpp:876 +msgid "Performance" +msgstr "パフォーマンス" + +#: configuredialog.cpp:154 configuredialog.cpp:319 detaileddialog.cpp:438 +#: kpowersave.cpp:194 settings.cpp:68 configure_Dialog.cpp:878 +msgid "Powersave" +msgstr "çœé›»åŠ›" + +#: configuredialog.cpp:159 configuredialog.cpp:321 kpowersave.cpp:1478 +#: settings.cpp:70 +msgid "Presentation" +msgstr "プレゼンテーション" + +#: configuredialog.cpp:164 configuredialog.cpp:323 kpowersave.cpp:1473 +#: settings.cpp:72 +msgid "Acoustic" +msgstr "é™éŸ³" + +#: configuredialog.cpp:169 configuredialog.cpp:171 configuredialog.cpp:172 +#: configuredialog.cpp:173 kpowersave.cpp:1484 +msgid "Advanced Powersave" +msgstr "高度ãªçœé›»åŠ›" + +#: configuredialog.cpp:271 +msgid "" +"This enables specific screen saver settings. \n" +"Note: If selected, the global screen saver settings are \n" +"overwritten while kpowersave runs." +msgstr "" +"ã“ã‚Œã«ã‚ˆã‚Šã€ç‰¹å®šã®ã‚¹ã‚¯ãƒªãƒ¼ãƒ³ã‚»ãƒ¼ãƒãƒ¼è¨­å®šãŒæœ‰åŠ¹ã«ãªã‚Šã¾ã™ã€‚\n" +"注:  ã“ã®ã‚ªãƒ—ションをé¸æŠžã—ãŸå ´åˆã€kpowersaveを実行ã—ã¦ã„ã‚‹é–“ã€ã‚°ãƒ­ãƒ¼ãƒ" +"ルスクリーンセーãƒãƒ¼è¨­å®šãŒ\n" +"上書ãã•ã‚Œã¾ã™ã€‚" + +#: configuredialog.cpp:274 +msgid "" +"This disables the screen saver. \n" +"Note: If selected, the global screen saver settings are \n" +"overwritten while kpowersave runs." +msgstr "" +"ã“ã‚Œã«ã‚ˆã‚Šã€ã‚¹ã‚¯ãƒªãƒ¼ãƒ³ã‚»ãƒ¼ãƒãƒ¼ãŒç„¡åŠ¹ã«ãªã‚Šã¾ã™ã€‚\n" +"注:  ã“ã®ã‚ªãƒ—ションをé¸æŠžã—ãŸå ´åˆã€kpowersaveを実行ã—ã¦ã„ã‚‹é–“ã€ã‚°ãƒ­ãƒ¼ãƒ" +"ルスクリーンセーãƒãƒ¼è¨­å®šãŒ\n" +"上書ãã•ã‚Œã¾ã™ã€‚" + +#: configuredialog.cpp:277 +msgid "" +"This blanks the screen instead of using a specific screen saver. \n" +"Note: This may work only with KScreensaver." +msgstr "" +"ã“ã‚Œã«ã‚ˆã‚Šã€ç‰¹å®šã®ã‚¹ã‚¯ãƒªãƒ¼ãƒ³ã‚»ãƒ¼ãƒãƒ¼ã‚’使用ã™ã‚‹ä»£ã‚ã‚Šã«ç”»é¢ãŒãƒ–ランクã«ãªã‚Šã¾" +"ã™ã€‚\n" +"注:  ã“ã®æ©Ÿèƒ½ã¯ã€KScreensaverã§ã®ã¿æœ‰åŠ¹ã«ãªã‚Šã¾ã™ã€‚" + +#: configuredialog.cpp:279 +msgid "" +"This enables specific DPMS settings. \n" +"Note: If selected, the global DPMS settings are \n" +"overwritten while kpowersave runs." +msgstr "" +"ã“ã‚Œã«ã‚ˆã‚Šã€ç‰¹å®šã®DPMS設定ãŒæœ‰åŠ¹ã«ãªã‚Šã¾ã™ã€‚\n" +"注:  ã“ã®ã‚ªãƒ—ションをé¸æŠžã—ãŸå ´åˆã€kpowersaveを実行ã—ã¦ã„ã‚‹é–“ã€ã‚°ãƒ­ãƒ¼ãƒ" +"ルDPMS設定ãŒ\n" +"上書ãã•ã‚Œã¾ã™ã€‚" + +#: configuredialog.cpp:282 +msgid "This disables DPMS support." +msgstr "ã“ã‚Œã«ã‚ˆã‚Šã€DPMSサãƒãƒ¼ãƒˆãŒç„¡åŠ¹ã«ãªã‚Šã¾ã™ã€‚" + +#: configuredialog.cpp:283 +msgid "If selected, the screen is locked on suspend or standby." +msgstr "" +"ã“ã®ã‚ªãƒ—ションをé¸æŠžã—ãŸå ´åˆã€ã‚µã‚¹ãƒšãƒ³ãƒ‰ä¸­ãŠã‚ˆã³ã‚¹ã‚¿ãƒ³ãƒã‚¤ä¸­ã€ç”»é¢ãŒãƒ­ãƒƒã‚¯ã•" +"ã‚Œã¾ã™ã€‚" + +#: configuredialog.cpp:284 +msgid "If selected, the screen is locked if the lid close event is triggered." +msgstr "" +"ã“ã®ã‚ªãƒ—ションをé¸æŠžã—ãŸå ´åˆã€ã€ŒLid closeã€ã‚¤ãƒ™ãƒ³ãƒˆã‚’トリガã™ã‚‹ã¨ã€ç”»é¢ãŒãƒ­ãƒƒ" +"クã•ã‚Œã¾ã™ã€‚" + +#: configuredialog.cpp:286 +msgid "" +"Check this box to enable or disable automatic suspension of the computer." +msgstr "" +"ã“ã®ãƒœãƒƒã‚¯ã‚¹ã‚’ãƒã‚§ãƒƒã‚¯ã™ã‚‹ã¨ã€ã‚³ãƒ³ãƒ”ュータã®è‡ªå‹•ã‚µã‚¹ãƒšãƒ³ã‚·ãƒ§ãƒ³ã®æœ‰åŠ¹/無効ãŒåˆ‡" +"り替ã‚ã‚Šã¾ã™ã€‚" + +#: configuredialog.cpp:288 +msgid "" +"Activate this action if the user was inactive for the defined time \n" +"(greater than 0 minutes). If empty, nothing happens." +msgstr "" +"定義ã•ã‚ŒãŸæ™‚é–“\n" +"(0分以上)ユーザãŒæ´»å‹•ã‚’åœæ­¢ã—ã¦ã„ã‚‹å ´åˆã€ã“ã®ã‚¢ã‚¯ã‚·ãƒ§ãƒ³ã‚’有効ã«ã—ã¾ã™ ボック" +"スãŒç©ºç™½ã«ãªã£ã¦ã„ã‚‹å ´åˆã€ä½•ã‚‚èµ·ã“ã‚Šã¾ã›ã‚“。" + +#: configuredialog.cpp:291 +msgid "All scheme-related screen saver and DPMS settings." +msgstr "スキーム関連ã®ã™ã¹ã¦ã®ã‚¹ã‚¯ãƒªãƒ¼ãƒ³ã‚»ãƒ¼ãƒãƒ¼ã¨DPMS設定。" + +#: configuredialog.cpp:292 +msgid "All scheme-related display brightness settings." +msgstr "スキーム関連ã®ã™ã¹ã¦ã®ãƒ‡ã‚£ã‚¹ãƒ—レイã®æ˜Žã‚‹ã•è¨­å®šã€‚" + +#: configuredialog.cpp:293 +msgid "All scheme-related automatic suspend settings." +msgstr "スキーム関連ã®ã™ã¹ã¦ã®è‡ªå‹•ã‚µã‚¹ãƒšãƒ³ãƒ‰è¨­å®šã€‚" + +#: configuredialog.cpp:295 +msgid "" +"Here you can change the brightness of your display. \n" +"Use the slider to change the brightness directly for \n" +"testing. To reset back to previous level, please press \n" +"the 'Reset' button. " +msgstr "" +"ã“ã“ã§ã¯ãƒ‡ã‚£ã‚¹ãƒ—レイã®æ˜Žã‚‹ã•ã‚’変更ã§ãã¾ã™ã€‚ \n" +"スライダを使用ã—ã¦ã€æ˜Žã‚‹ã•ã‚’直接変更ã—ã¦è©¦é¨“ã—ã¦\n" +"ãã ã•ã„。 å…ƒã®ãƒ¬ãƒ™ãƒ«ã«æˆ»ã™ã«ã¯ã€\n" +"「リセットã€ãƒœã‚¿ãƒ³ã‚’押ã—ã¦ãã ã•ã„. " + +#: configuredialog.cpp:299 +msgid "Use this button to set back the slider and the display brightness." +msgstr "" +"ã“ã®ãƒœã‚¿ãƒ³ã‚’使用ã—ã¦ã€ã‚¹ãƒ©ã‚¤ãƒ€ãŠã‚ˆã³ãƒ‡ã‚£ã‚¹ãƒ—レイã®æ˜Žã‚‹ã•ã‚’å…ƒã«æˆ»ã—ã¾ã™ã€‚" + +#: configuredialog.cpp:352 +msgid "Press this button to delete the selected scheme." +msgstr "" + +#: configuredialog.cpp:357 +msgid "You can't delete the current AC or battery scheme." +msgstr "" + +#: configuredialog.cpp:363 +msgid "You can't delete this default scheme." +msgstr "" + +#: configuredialog.cpp:546 +msgid "" +"Your hardware supports to change the brightness. The values of the slider " +"are in percent and mapped to the available brightness levels of your " +"hardware." +msgstr "" +"ãƒãƒ¼ãƒ‰ã‚¦ã‚§ã‚¢ã¯æ˜Žã‚‹ã•ã®å¤‰æ›´ã‚’サãƒãƒ¼ãƒˆã—ã¦ã„ã¾ã™ã€‚ スライダã®å€¤ã¯ãƒ‘ーセントã§ç¤º" +"ã•ã‚Œã¦ãŠã‚Šã€ãƒãƒ¼ãƒ‰ã‚¦ã‚§ã‚¢ã®å¯èƒ½ãªæ˜Žã‚‹ã•ãƒ¬ãƒ™ãƒ«ã«å¯¾å¿œä»˜ã‘られã¦ã„ã¾ã™ã€‚" + +#: configuredialog.cpp:553 +msgid "" +"Your Hardware currently not support changing the brightness of your display." +msgstr "" +"ã”使用ã®ãƒãƒ¼ãƒ‰ã‚¦ã‚§ã‚¢ã§ã¯ã€ç¾åœ¨ãƒ‡ã‚£ã‚¹ãƒ—レイã®æ˜Žã‚‹ã•ã®å¤‰æ›´ã‚’サãƒãƒ¼ãƒˆã—ã¦ã„ã¾ã›" +"ん。" + +#: configuredialog.cpp:664 +msgid "Select Automatically" +msgstr "自動的ã«é¸æŠžã™ã‚‹" + +#: configuredialog.cpp:665 +msgid "KScreensaver" +msgstr "KScreensaver" + +#: configuredialog.cpp:666 +msgid "XScreensaver" +msgstr "XScreensaver" + +#: configuredialog.cpp:667 +msgid "xlock" +msgstr "xlock" + +#: configuredialog.cpp:668 +#, fuzzy +msgid "GNOME Screensaver" +msgstr "XScreensaver" + +#: configuredialog.cpp:930 +msgid "" +"There are unsaved changes in the active scheme.\n" +"Apply the changes before jumping to the next scheme or discard the changes?" +msgstr "" +"作業中ã®ã‚¹ã‚­ãƒ¼ãƒ å†…ã®å¤‰æ›´çµæžœãŒä¿å­˜ã•ã‚Œã¦ã„ã¾ã›ã‚“。\n" +"次ã®ã‚¹ã‚­ãƒ¼ãƒ ã«é€²ã‚€ã‹ã¾ãŸã¯å¤‰æ›´çµæžœã‚’破棄ã™ã‚‹å‰ã«ã€å¤‰æ›´çµæžœã‚’é©ç”¨ã—ã¾ã™ã‹?" + +#: configuredialog.cpp:933 configuredialog.cpp:983 +msgid "Unsaved Changes" +msgstr "変更çµæžœãŒä¿å­˜ã•ã‚Œã¦ã„ã¾ã›ã‚“" + +#: configuredialog.cpp:981 +msgid "" +"There are unsaved changes.\n" +"Apply the changes before cancel or discard the changes?" +msgstr "" +"変更çµæžœãŒä¿å­˜ã•ã‚Œã¦ã„ã¾ã›ã‚“。\n" +"変更çµæžœã‚’キャンセルã¾ãŸã¯ç ´æ£„ã™ã‚‹å‰ã«ã€å¤‰æ›´çµæžœã‚’é©ç”¨ã—ã¾ã™ã‹?" + +#: configuredialog.cpp:1032 +msgid "Please insert a name for the new scheme:" +msgstr "" + +#: configuredialog.cpp:1038 +#, fuzzy +msgid "KPowersave Configuration" +msgstr "KPowersave情報ダイアログ" + +#: configuredialog.cpp:1046 +msgid "Error: A scheme with this name already exist.\n" +msgstr "" + +#: configuredialog.cpp:1076 +msgid "Do you really want to delete the %1 scheme?" +msgstr "" + +#: configuredialog.cpp:1078 +#, fuzzy +msgid "Confirm delete scheme" +msgstr "ç¾åœ¨ã®ã‚¹ã‚­ãƒ¼ãƒ ã‚’設定ã—ã¦ãã ã•ã„。" + +#: configuredialog.cpp:1079 configure_Dialog.cpp:883 +msgid "Delete" +msgstr "" + +#: configuredialog.cpp:1095 +#, fuzzy +msgid "Could not delete the selected scheme." +msgstr "é¸æŠžã—ãŸã‚¨ãƒ³ãƒˆãƒªã‚’削除ã§ãã¾ã›ã‚“ã§ã—ãŸã€‚" + +#: configuredialog.cpp:1324 +msgid "" +"Note: If you select this option, the computer will suspend or standby " +"if the current user is inactive for the defined time even if somebody is " +"logged in remotely to the X server.

    This feature can also produce " +"problems with some programs, such as video players or cd burner. These " +"programs can be blacklisted by checking Enable scheme-specific blacklist and click Edit Blacklist.... If this does not help, report the " +"problem or deactivate autosuspend.

    Really use this option?" +msgstr "" +"注æ„: ã“ã®ã‚ªãƒ—ションをé¸æŠžã™ã‚‹å ´åˆã€ç¾åœ¨ã®ãƒ¦ãƒ¼ã‚¶ãŒå®šç¾©ã•ã‚ŒãŸæ™‚間活動を" +"åœæ­¢ã—ã¦ã„ã‚‹ã¨ã€èª°ã‹ãŒXサーãƒã«ãƒªãƒ¢ãƒ¼ãƒˆã§ãƒ­ã‚°ã‚¤ãƒ³ã—ã¦ã‚‚ã€ã‚³ãƒ³ãƒ”ュータã¯ã‚µã‚¹ãƒš" +"ンドã¾ãŸã¯ã‚¹ã‚¿ãƒ³ãƒã‚¤çŠ¶æ…‹ã«ãªã‚Šã¾ã™ã€‚

    ã“ã®æ©Ÿèƒ½ã¯ã€ãƒ“デオプレーヤやCD" +"ãƒãƒ¼ãƒŠãªã©ã€ä¸€éƒ¨ã®ãƒ—ログラムã§å•é¡Œã‚’生ã˜ã‚‹ã“ã¨ã‚‚ã‚ã‚Šã¾ã™ã€‚ ã“れらã®ãƒ—ログラム" +"ã¯ï¼»ã‚¹ã‚­ãƒ¼ãƒ å›ºæœ‰ã®ãƒ–ラックリストを有効ã«ã™ã‚‹ï¼½ã‚’ãƒã‚§ãƒƒã‚¯ã—ã€ï¼»ãƒ–ラックリスト" +"ã®ç·¨é›†ï¼½ã‚’クリックã™ã‚‹ã“ã¨ã«ã‚ˆã£ã¦ã€ãƒ–ラックリストã«è¼‰ã›ã‚‹ã“ã¨ãŒã§ãã¾ã™ã€‚ ã“" +"ã®æ“作ãŒå½¹ã«ç«‹ãŸãªã„å ´åˆã€å•é¡Œã‚’報告ã™ã‚‹ã‹è‡ªå‹•ã‚µã‚¹ãƒšãƒ³ãƒ‰ã‚’無効ã«ã—ã¦ãã ã•" +"ã„。

    ã“ã®ã‚ªãƒ—ションを使用ã—ã¾ã™ã‹?" + +#: configuredialog.cpp:1402 configuredialog.cpp:1532 +msgid "" +"The blacklist of the selected scheme is empty. Import the general blacklist?" +msgstr "" +"é¸æŠžã—ãŸã‚¹ã‚­ãƒ¼ãƒ ã®ãƒ–ラックリストãŒç©ºç™½ã§ã™ã€‚ 一般的ãªãƒ–ラックリストをインãƒãƒ¼" +"トã—ã¾ã™ã‹?" + +#: configuredialog.cpp:1404 configuredialog.cpp:1534 +msgid "Import" +msgstr "インãƒãƒ¼ãƒˆã™ã‚‹" + +#: configuredialog.cpp:1404 configuredialog.cpp:1534 +msgid "Do Not Import" +msgstr "インãƒãƒ¼ãƒˆã—ãªã„" + +#: configuredialog.cpp:1416 +#, fuzzy +msgid "General Autosuspend Blacklist" +msgstr "ブラックリスト編集ã®è‡ªå‹•ã‚µã‚¹ãƒšãƒ³ãƒ‰" + +#: configuredialog.cpp:1546 +#, fuzzy +msgid "General Autodimm Blacklist" +msgstr "一般的ãªãƒ–ラックリスト" + +#: configuredialog.cpp:1779 configuredialog.cpp:1816 +msgid "Shutdown" +msgstr "" + +#: configuredialog.cpp:1781 configuredialog.cpp:1819 +msgid "Logout Dialog" +msgstr "" + +#: configuredialog.cpp:1784 configuredialog.cpp:1822 kpowersave.cpp:182 +#: kpowersave.cpp:2096 kpowersave.cpp:2156 kpowersave.cpp:2247 +msgid "Suspend to Disk" +msgstr "ディスクã«ã‚µã‚¹ãƒšãƒ³ãƒ‰" + +#: configuredialog.cpp:1787 configuredialog.cpp:1825 kpowersave.cpp:186 +#: kpowersave.cpp:2101 kpowersave.cpp:2161 kpowersave.cpp:2250 +msgid "Suspend to RAM" +msgstr "サスペンド(RAM)" + +#: configuredialog.cpp:1790 configuredialog.cpp:1828 +#, fuzzy +msgid "CPU Powersave policy" +msgstr "çœé›»åŠ›" + +#: configuredialog.cpp:1793 configuredialog.cpp:1831 +msgid "CPU Dynamic policy" +msgstr "" + +#: configuredialog.cpp:1796 configuredialog.cpp:1834 +#, fuzzy +msgid "CPU Performance policy" +msgstr "パフォーマンス" + +#: configuredialog.cpp:1799 configuredialog.cpp:1837 +#, fuzzy +msgid "Set Brightness to" +msgstr "明るã•" + +#: main.cpp:43 +#, fuzzy +msgid "KDE Frontend for Power Management, Battery Monitoring and Suspend" +msgstr "" +"パッケージã€ãƒãƒƒãƒ†ãƒªãƒ¢ãƒ‹ã‚¿ãŠã‚ˆã³ä¸€èˆ¬é›»æºç®¡ç†ã‚µãƒãƒ¼ãƒˆã‚’çœé›»åŠ›ã™ã‚‹KDEフロントエ" +"ンド" + +#: main.cpp:45 +#, fuzzy +msgid "Force a new check for ACPI support" +msgstr "ACPIサãƒãƒ¼ãƒˆã®æ–°è¦ãƒã‚§ãƒƒã‚¯ã‚’強制ã—ã¾ã™\n" + +#: main.cpp:46 +msgid "Trace function entry and leave points for debug\n" +msgstr "" + +#: main.cpp:59 +msgid "Current maintainer" +msgstr "ç¾åœ¨ã®ä¿å®ˆç®¡ç†è€…" + +#: main.cpp:62 +#, fuzzy +msgid "Powersave developer and for D-Bus integration" +msgstr "çœé›»åŠ›é–‹ç™ºè€…ãŠã‚ˆã³DBUSçµ±åˆç”¨" + +#: main.cpp:64 +msgid "Powersave developer and tester" +msgstr "çœé›»åŠ›é–‹ç™ºè€…ãŠã‚ˆã³è©¦é¨“者" + +#: main.cpp:66 +msgid "Added basic detailed dialog" +msgstr "基本詳細ダイアログを追加ã—ã¾ã—ãŸ" + +#: main.cpp:67 +msgid "Packaging Debian and Ubuntu" +msgstr "DebianãŠã‚ˆã³Ubuntuをパッケージ中" + +#: detaileddialog.cpp:61 +msgid "KPowersave Information Dialog" +msgstr "KPowersave情報ダイアログ" + +#: detaileddialog.cpp:65 configure_Dialog.cpp:882 configure_Dialog.cpp:922 +msgid "Miscellaneous" +msgstr "ãã®ä»–" + +#: detaileddialog.cpp:66 +msgid "CPUs" +msgstr "CPU" + +#: detaileddialog.cpp:73 detaileddialog.cpp:453 +msgid "Battery state:" +msgstr "ãƒãƒƒãƒ†ãƒªæ®‹é‡:" + +#: detaileddialog.cpp:79 +msgid "Total:" +msgstr "åˆè¨ˆ:" + +#: detaileddialog.cpp:81 detaileddialog.cpp:83 +msgid "Battery %1" +msgstr "ãƒãƒƒãƒ†ãƒª %1" + +#: detaileddialog.cpp:114 +msgid "Processor %1" +msgstr "プロセッサ %1" + +#: detaileddialog.cpp:230 +#, fuzzy +msgid "not present" +msgstr "存在ã—ãªã„" + +#: detaileddialog.cpp:243 +msgid "charged" +msgstr "充電完了" + +#: detaileddialog.cpp:245 +msgid "%1:%2 h until charged" +msgstr "%1:充電完了ã¾ã§ã€%2 時間" + +#: detaileddialog.cpp:248 +msgid "%1:%2 h remaining" +msgstr "%1:残り %2 時間" + +#: detaileddialog.cpp:253 detaileddialog.cpp:441 detaileddialog.cpp:468 +msgid "unknown" +msgstr "ä¸æ˜Ž" + +#: detaileddialog.cpp:325 detaileddialog.cpp:368 +msgid "%v MHz" +msgstr "%v MHz" + +#: detaileddialog.cpp:330 detaileddialog.cpp:363 dummy.cpp:58 +msgid "deactivated" +msgstr "無効化済ã¿" + +#: detaileddialog.cpp:395 +msgid "unplugged" +msgstr "プラグéžæŽ¥ç¶š" + +#: detaileddialog.cpp:412 +msgid "Current Scheme: " +msgstr "ç¾åœ¨ã®ã‚¹ã‚­ãƒ¼ãƒ :" + +#: detaileddialog.cpp:429 +msgid "Current CPU Frequency Policy:" +msgstr "ç¾åœ¨ã®CPU動作周波数ãƒãƒªã‚·ãƒ¼:" + +#: detaileddialog.cpp:435 kpowersave.cpp:193 configure_Dialog.cpp:877 +msgid "Dynamic" +msgstr "ダイナミック" + +#: detaileddialog.cpp:456 +msgid "Critical" +msgstr "致命的" + +#: detaileddialog.cpp:459 +msgid "Low" +msgstr "低" + +#: detaileddialog.cpp:462 kpowersave.cpp:277 kpowersave.cpp:652 +#: kpowersave.cpp:659 kpowersave.cpp:705 kpowersave.cpp:713 kpowersave.cpp:761 +#: kpowersave.cpp:769 kpowersave.cpp:817 kpowersave.cpp:824 +#: kpowersave.cpp:1131 kpowersave.cpp:1243 kpowersave.cpp:1272 +#: kpowersave.cpp:1610 kpowersave.cpp:1670 kpowersave.cpp:2186 +msgid "Warning" +msgstr "警告" + +#: detaileddialog.cpp:465 +msgid "ok" +msgstr "ok" + +#: detaileddialog.cpp:474 detaileddialog.cpp:477 +msgid "Set brightness supported:" +msgstr "明るã•è¨­å®šãŒã‚µãƒãƒ¼ãƒˆã•ã‚Œã¦ã„ã¾ã™:" + +#: detaileddialog.cpp:475 +msgid "yes" +msgstr "ã¯ã„" + +#: detaileddialog.cpp:478 +msgid "no" +msgstr "ã„ã„ãˆ" + +#: detaileddialog.cpp:481 detaileddialog.cpp:485 +#, fuzzy +msgid "HAL Daemon:" +msgstr "HALデーモン:" + +#: detaileddialog.cpp:482 +msgid "running" +msgstr "実行中" + +#: detaileddialog.cpp:486 +msgid "not running" +msgstr "実行ã—ã¦ã„ãªã„" + +#: info_Dialog.cpp:197 +msgid "Information" +msgstr "情報" + +#: dummy.cpp:36 +msgid "If the current desktop user is inactive, dim the display to:" +msgstr "" +"ç¾åœ¨ã®ãƒ‡ã‚¹ã‚¯ãƒˆãƒƒãƒ—ユーザãŒæ´»å‹•ã—ã¦ã„ãªã„å ´åˆã€ãƒ‡ã‚£ã‚¹ãƒ—レイã®æ˜Žã‚‹ã•ã‚’次ã®ã‚ˆã†" +"ã«èª¿ç¯€ã—ã¾ã™:" + +#: dummy.cpp:37 +msgid "Enable dim display on inactivity" +msgstr "活動åœæ­¢ã®éš›ã«ãƒ‡ã‚£ã‚¹ãƒ—レイã®æ˜Žã‚‹ã•ã‚’調節ã—ã¾ã™" + +#: dummy.cpp:38 +msgid "Blacklist" +msgstr "ブラックリスト" + +#: dummy.cpp:39 +msgid "" +"Here you can add programs which should, if running, prevent the dimming of " +"the display." +msgstr "" +"ã“ã“ã§ã€èµ·å‹•ã—ã¦ã„ã‚‹éš›ã«ãƒ‡ã‚£ã‚¹ãƒ—レイを暗ãã—ãªã„よã†ã«è¨­å®šã—ãŸã„プログラムを" +"追加ã—ã¾ã™ã€‚" + +#: dummy.cpp:41 +msgid "Would you like to import a predefined blacklist?" +msgstr "ã‚らã‹ã˜ã‚定義ã—ãŸãƒ–ラックリストをインãƒãƒ¼ãƒˆã—ã¾ã™ã‹ï¼Ÿ" + +#: dummy.cpp:42 +msgid "Disable CPUs/Cores" +msgstr "CPUs/Coresを無効化ã™ã‚‹" + +#: dummy.cpp:43 +msgid "Max. running CPUs:" +msgstr "最大起動CPU:" + +#: dummy.cpp:44 +msgid "Max. running CPUs/Cores:" +msgstr "最大起動CPUs/Cores:" + +#: dummy.cpp:45 +msgid "Min. running CPUs:" +msgstr "最å°èµ·å‹•CPU:" + +#: dummy.cpp:46 +msgid "Min. running CPUs/Cores:" +msgstr "最å°èµ·å‹•CPUs/Cores:" + +#: dummy.cpp:47 +#, fuzzy +msgid "Enable to switch off CPUs/cores" +msgstr "CPU/coresã®ã‚¹ã‚¤ãƒƒãƒã‚ªãƒ•ã‚’有効化ã™ã‚‹" + +#: dummy.cpp:48 +msgid "You have a multiprocessor/multicore machine." +msgstr "マルãƒãƒ—ロセッサ/マルãƒã‚³ã‚¢ãƒžã‚·ãƒ³ãŒä½¿ç”¨ã•ã‚Œã¦ã„ã¾ã™ã€‚" + +#: dummy.cpp:49 +msgid "" +"You can disable CPUs/cores to reduce power consumption and save battery " +"power." +msgstr "" +"CPUs/coresを無効化ã—ã¦ã€æ¶ˆè²»é›»æºã‚’減らã—ã€ãƒãƒƒãƒ†ãƒªã‚’セーブã™ã‚‹ã“ã¨ãŒã§ãã¾" +"ã™ã€‚" + +#: dummy.cpp:50 +msgid "Device" +msgstr "デãƒã‚¤ã‚¹ (D)" + +#: dummy.cpp:51 +msgid "Devices" +msgstr "デãƒã‚¤ã‚¹" + +#: dummy.cpp:52 +msgid "Device class" +msgstr "デãƒã‚¤ã‚¹ã‚¯ãƒ©ã‚¹" + +#: dummy.cpp:53 +msgid "activate" +msgstr "アクティブ化" + +#: dummy.cpp:54 +msgid "Activate" +msgstr "アクティブ化" + +#: dummy.cpp:55 +msgid "deactivate" +msgstr "無効化" + +#: dummy.cpp:56 +msgid "Deactivate" +msgstr "無効化" + +#: dummy.cpp:57 +msgid "activated" +msgstr "有効化済ã¿" + +#: dummy.cpp:59 +msgid "do nothing" +msgstr "何もã—ãªã„" + +#: dummy.cpp:60 +msgid "Deactivate following devices:" +msgstr "次ã®ãƒ‡ãƒã‚¤ã‚¹ã‚’無効化ã—ã¾ã™:" + +#: dummy.cpp:61 +msgid "Activate following devices" +msgstr "次ã®ãƒ‡ãƒã‚¤ã‚¹ã‚’有効化ã—ã¾ã™" + +#: dummy.cpp:62 +msgid "Reactivate following devices" +msgstr "次ã®ãƒ‡ãƒã‚¤ã‚¹ã‚’å†æœ‰åŠ¹åŒ–ã—ã¾ã™" + +#: dummy.cpp:63 +msgid "Deactivate following device classes:" +msgstr "次ã®ãƒ‡ãƒã‚¤ã‚¹ã‚¯ãƒ©ã‚¹ã‚’無効化ã—ã¾ã™:" + +#: dummy.cpp:64 +msgid "Activate following devices classes" +msgstr "次ã®ãƒ‡ãƒã‚¤ã‚¹ã‚¯ãƒ©ã‚¹ã‚’有効化ã—ã¾ã™" + +#: dummy.cpp:65 +msgid "Reactivate following device classes" +msgstr "次ã®ãƒ‡ãƒã‚¤ã‚¹ã‚¯ãƒ©ã‚¹ã‚’å†æœ‰åŠ¹åŒ–ã—ã¾ã™" + +#: dummy.cpp:66 +msgid "If the scheme switched all devices are again activated." +msgstr "スキームãŒåˆ‡ã‚Šæ›¿ã‚ã£ãŸå ´åˆã€ã™ã¹ã¦ã®ãƒ‡ãƒã‚¤ã‚¹ã¯å†åº¦æœ‰åŠ¹åŒ–ã•ã‚Œã¾ã™ã€‚" + +#: dummy.cpp:67 +msgid "This is a experimental feature." +msgstr "ã“ã‚Œã¯å®Ÿé¨“çš„ãªæ©Ÿèƒ½ã§ã™ã€‚" + +#: dummy.cpp:68 +msgid "If you have problems with this feature, please report them." +msgstr "ã“ã®æ©Ÿèƒ½ã«é–¢ã—ã¦å•é¡ŒãŒç™ºç”Ÿã—ãŸå ´åˆã€ãã®å•é¡Œã‚’報告ã—ã¦ãã ã•ã„。" + +#: dummy.cpp:69 +msgid "Select one of the available devices and click on " +msgstr "利用å¯èƒ½ãªãƒ‡ãƒã‚¤ã‚¹ã‹ã‚‰1ã¤é¸ã³ã€ã‚¯ãƒªãƒƒã‚¯ã—ã¾ã™" + +#: dummy.cpp:70 +msgid "Select one of the available device classes and click on " +msgstr "利用å¯èƒ½ãªãƒ‡ãƒã‚¤ã‚¹ã‚¯ãƒ©ã‚¹ã‹ã‚‰1ã¤é¸ã³ã€ã‚¯ãƒªãƒƒã‚¯ã—ã¾ã™" + +#: dummy.cpp:71 +msgid "Select one or more of the available devices and click on " +msgstr "利用å¯èƒ½ãªãƒ‡ãƒã‚¤ã‚¹ã‹ã‚‰1ã¤ä»¥ä¸Šé¸ã³ã€ã‚¯ãƒªãƒƒã‚¯ã—ã¾ã™" + +#: dummy.cpp:72 +msgid "Select one or more of the available device classes and click on " +msgstr "利用å¯èƒ½ãªãƒ‡ãƒã‚¤ã‚¹ã‚¯ãƒ©ã‚¹ã‹ã‚‰1ã¤ä»¥ä¸Šé¸ã³ã€ã‚¯ãƒªãƒƒã‚¯ã—ã¾ã™" + +#: dummy.cpp:73 +msgid "" +"Please note: If you e.g. deactivate a network device you may lose your " +"internet connection." +msgstr "" +"注æ„:例ãˆã°ã€ã‚ã‚‹ãƒãƒƒãƒˆãƒ¯ãƒ¼ã‚¯ãƒ‡ãƒã‚¤ã‚¹ã‚’無効化ã™ã‚‹ã¨ã€ã‚¤ãƒ³ã‚¿ãƒ¼ãƒãƒƒãƒˆã¸ã®æŽ¥ç¶šãŒ" +"切れã¾ã™ã€‚" + +#: dummy.cpp:75 +msgid "" +"Note: If you select this option, the computer will suspend or standby " +"if the current user is inactive for the defined time.

    This feature " +"can also produce problems with some programs, such as video players or cd " +"burner. These programs can be blacklisted by checking Enable scheme-" +"specific blacklist and click Edit Blacklist.... If this does not " +"help, report the problem or deactivate autosuspend.

    Really use this " +"option?" +msgstr "" +"注æ„:ã“ã®ã‚ªãƒ—ションをé¸æŠžã™ã‚‹å ´åˆã€ç¾åœ¨ã®ãƒ¦ãƒ¼ã‚¶ãŒå®šç¾©ã•ã‚ŒãŸæ™‚間活動をåœæ­¢" +"ã—ã¦ã„ã¦ã‚‚ã€ã‚³ãƒ³ãƒ”ュータã¯ã‚µã‚¹ãƒšãƒ³ãƒ‰ã¾ãŸã¯ã‚¹ã‚¿ãƒ³ãƒã‚¤çŠ¶æ…‹ã«ãªã‚Šã¾ã™ã€‚

    " +"ã“ã®æ©Ÿèƒ½ã¯ã€ãƒ“デオプレーヤやCDãƒãƒ¼ãƒŠãªã©ã€ä¸€éƒ¨ã®ãƒ—ログラムã§å•é¡Œã‚’生ã˜ã‚‹ã“ã¨" +"ã‚‚ã‚ã‚Šã¾ã™ã€‚ ã“れらã®ãƒ—ログラムã¯ï¼»ã‚¹ã‚­ãƒ¼ãƒ å›ºæœ‰ã®ãƒ–ラックリストを有効ã«ã™ã‚‹ï¼½" +"ã‚’ãƒã‚§ãƒƒã‚¯ã—ã€ï¼»ãƒ–ラックリストã®ç·¨é›†ï¼½ã‚’クリックã™ã‚‹ã“ã¨ã«ã‚ˆã£ã¦ã€ãƒ–ラックリ" +"ストã«è¼‰ã›ã‚‹ã“ã¨ãŒã§ãã¾ã™ã€‚ ã“ã®æ“作ãŒå½¹ã«ç«‹ãŸãªã„å ´åˆã€å•é¡Œã‚’報告ã™ã‚‹ã‹è‡ªå‹•" +"サスペンドを無効ã«ã—ã¦ãã ã•ã„。

    ã“ã®ã‚ªãƒ—ションを使用ã—ã¾ã™ã‹?" + +#: dummy.cpp:82 +msgid "Try to use only one CPU/Core." +msgstr "" + +#: dummy.cpp:83 +msgid "" +"Reduce power consumption by try to use only one CPU/Core instead of " +"spreading the work over all/multiple CPUs." +msgstr "" + +#: dummy.cpp:87 +msgid "Could not load the global configuration." +msgstr "グローãƒãƒ«è¨­å®šæƒ…報をロードã§ãã¾ã›ã‚“ã§ã—ãŸã€‚" + +#: dummy.cpp:88 +msgid "Could not load the requested scheme configuration." +msgstr "è¦æ±‚ã•ã‚ŒãŸã‚¹ã‚­ãƒ¼ãƒ è¨­å®šæƒ…報をロードã§ãã¾ã›ã‚“ã§ã—ãŸã€‚" + +#: dummy.cpp:89 +msgid "Configure the current scheme." +msgstr "ç¾åœ¨ã®ã‚¹ã‚­ãƒ¼ãƒ ã‚’設定ã—ã¦ãã ã•ã„。" + +#: dummy.cpp:90 +msgid "Try loading the default configuration." +msgstr "デフォルトã®è¨­å®šæƒ…報をロードã—ã¦ã¿ã¦ãã ã•ã„。" + +#: dummy.cpp:91 +msgid "Maybe the global configuration file is empty or missing." +msgstr "グローãƒãƒ«è¨­å®šæƒ…報ファイルãŒç©ºã‹å­˜åœ¨ã—ãªã„å¯èƒ½æ€§ãŒã‚ã‚Šã¾ã™ã€‚" + +#: dummy.cpp:94 +#, fuzzy +msgid "Cannot connect to D-Bus. The D-Bus daemon may not be running." +msgstr "D-BUSã«æŽ¥ç¶šã§ãã¾ã›ã‚“。D-BUSデーモンãŒç¨¼å‹•ã—ã¦ã„ãªã„å¯èƒ½æ€§ãŒã‚ã‚Šã¾ã™ã€‚" + +#: dummy.cpp:95 +msgid "" +"Scheme switched to %1. \n" +" Deactivate following devices: %2" +msgstr "" +"スキーム㌠%1 ã«åˆ‡ã‚Šæ›¿ã‚ã‚Šã¾ã—ãŸã€‚ \n" +" 次ã®ãƒ‡ãƒã‚¤ã‚¹ã‚’無効化ã—ã¾ã™: %2" + +#: dummy.cpp:96 +msgid "" +"Scheme switched to %1. \n" +" Activate following devices: %2" +msgstr "" +"スキーム㌠%1 ã«åˆ‡ã‚Šæ›¿ã‚ã‚Šã¾ã—ãŸã€‚ \n" +" 次ã®ãƒ‡ãƒã‚¤ã‚¹ã‚’有効化ã—ã¾ã™: %2" + +#: dummy.cpp:97 +msgid "Report ..." +msgstr "レãƒãƒ¼ãƒˆ" + +#: dummy.cpp:98 +msgid "Suspend to RAM is not supported on your machine." +msgstr "ãŠä½¿ã„ã®ãƒžã‚·ãƒ³ã§ã¯RAMã®ä¸€æ™‚åœæ­¢ã¯ã‚µãƒãƒ¼ãƒˆã•ã‚Œã¦ã„ã¾ã›ã‚“。" + +#: dummy.cpp:99 +msgid "Additionally, please mail the output of %1 to %2 . Thanks!" +msgstr "ã¾ãŸã€%1 ã‹ã‚‰ %2 ã®å‡ºåŠ›ã‚’é€ã£ã¦ãã ã•ã„。. よã‚ã—ããŠé¡˜ã„ã—ã¾ã™ã€‚" + +#: dummy.cpp:100 +msgid "Power consumption" +msgstr "消費電力" + +#: dummy.cpp:103 +msgid "KScreensaver not found." +msgstr "KScreensaverãŒè¦‹ã¤ã‹ã‚Šã¾ã›ã‚“。" + +#: dummy.cpp:104 +msgid "Try locking with XScreensaver or xlock." +msgstr "XScreensaverã¾ãŸã¯xlockを使用ã—ã¦ã€ãƒ­ãƒƒã‚¯ã—ã¦ã¿ã¦ãã ã•ã„。" + +#: dummy.cpp:105 +msgid "XScreensaver not found." +msgstr "XScreensaverãŒè¦‹ã¤ã‹ã‚Šã¾ã›ã‚“。" + +#: dummy.cpp:106 +msgid "Try locking the screen with xlock." +msgstr "xlockを使用ã—ã¦ã€ç”»é¢ã‚’ロックã—ã¦ã¿ã¦ãã ã•ã„。" + +#: dummy.cpp:107 +msgid "" +"XScreensaver and xlock not found. It is not possible to lock the screen. " +"Check your installation." +msgstr "" +"XScreensaverã¨xlockãŒè¦‹ã¤ã‹ã‚Šã¾ã›ã‚“。 ç”»é¢ã‚’ロックã§ãã¾ã›ã‚“。 インストール" +"ã‚’ãƒã‚§ãƒƒã‚¯ã—ã¦ãã ã•ã„。" + +#: dummy.cpp:111 +msgid "HAL daemon:" +msgstr "HALデーモン:" + +#: dummy.cpp:112 +#, fuzzy +msgid "D-Bus daemon:" +msgstr "D-BUSデーモン:" + +#: dummy.cpp:113 +msgid "ConsoleKit daemon:" +msgstr "" + +#: dummy.cpp:114 +msgid "Autosuspend activated:" +msgstr "自動サスペンドãŒæœ‰åŠ¹åŒ–ã•ã‚Œã¾ã—ãŸ:" + +#: dummy.cpp:115 +#, fuzzy +msgid "Autodimm activated:" +msgstr "自動サスペンドãŒæœ‰åŠ¹åŒ–ã•ã‚Œã¾ã—ãŸ:" + +#: dummy.cpp:116 +msgid "enabled" +msgstr "有効" + +#: dummy.cpp:117 +msgid "Session active:" +msgstr "" + +#: dummy.cpp:120 +msgid "Inactivity detected." +msgstr "" + +#: dummy.cpp:121 +msgid "To stop the %1 press the 'Cancel' button before the countdown expire." +msgstr "" + +#: dummy.cpp:122 +msgid "The computer autosuspend in: " +msgstr "" + +#: dummy.cpp:123 +#, c-format +msgid "The display get dimmed down to %1% in: " +msgstr "" + +#: dummy.cpp:124 +msgid "%1 seconds" +msgstr "" + +#: dummy.cpp:127 +msgid "Could not call %1. The current desktop session is not active." +msgstr "" + +#: dummy.cpp:128 +msgid "Could not set %1. The current desktop session is not active." +msgstr "" + +#: dummy.cpp:129 +msgid "Stopped %1. The current desktop session is now inactive." +msgstr "" + +#: dummy.cpp:130 +msgid "Restarted %1. The current desktop session is now active again." +msgstr "" + +#: log_viewer.cpp:78 +msgid "Form1" +msgstr "" + +#: log_viewer.cpp:79 +msgid "Save As ..." +msgstr "" + +#: log_viewer.cpp:80 +msgid "Close" +msgstr "" + +#: logviewer.cpp:44 +#, fuzzy +msgid "KPowersave Logfile Viewer: %1" +msgstr "çœé›»åŠ›ãŒæ¬¡ã®ã‚¹ã‚­ãƒ¼ãƒ ã«åˆ‡ã‚Šæ›¿ã‚ã‚Šã¾ã—ãŸ: %1" + +#: logviewer.cpp:89 +msgid "File already exist. Overwrite the file?" +msgstr "" + +#: logviewer.cpp:90 logviewer.cpp:97 +msgid "Error while save logfile" +msgstr "" + +#: logviewer.cpp:95 +msgid "File already exist." +msgstr "" + +#: logviewer.cpp:98 +msgid "Try other filename ..." +msgstr "" + +#: suspenddialog.cpp:70 +msgid "Preparing Suspend..." +msgstr "サスペンドを準備中ã§ã™..." + +#: kpowersave.cpp:168 +msgid "Configure KPowersave..." +msgstr "KPowersaveを設定ã™ã‚‹..." + +#: kpowersave.cpp:171 configure_Dialog.cpp:915 +msgid "Configure Notifications..." +msgstr "通知ã®è¨­å®š..." + +#: kpowersave.cpp:175 +msgid "Start YaST2 Power Management Module..." +msgstr "YaST2 é›»æºç®¡ç†ãƒ¢ã‚¸ãƒ¥ãƒ¼ãƒ«ã‚’èµ·å‹•ã™ã‚‹..." + +#: kpowersave.cpp:189 kpowersave.cpp:2106 kpowersave.cpp:2166 +#: kpowersave.cpp:2253 +msgid "Standby" +msgstr "スタンãƒã‚¤" + +#: kpowersave.cpp:191 kpowersave.cpp:198 +msgid "Set CPU Frequency Policy" +msgstr "CPU クロックãƒãƒªã‚·ãƒ¼ã‚’設定ã™ã‚‹" + +#: kpowersave.cpp:205 kpowersave.cpp:206 +msgid "Set Active Scheme" +msgstr "有効ãªã‚¹ã‚­ãƒ¼ãƒ ã‚’設定ã™ã‚‹" + +#: kpowersave.cpp:212 +msgid "Disable Actions on Inactivity" +msgstr "実行ã•ã‚Œãªã„アクションを無効ã«ã™ã‚‹" + +#: kpowersave.cpp:219 kpowersave.cpp:229 +msgid "&Help" +msgstr "ヘルプ(&H)" + +#: kpowersave.cpp:221 +msgid "&KPowersave Handbook" +msgstr "KPowersaveãƒãƒ³ãƒ‰ãƒ–ック(&K)" + +#: kpowersave.cpp:224 +msgid "&Report a bug ..." +msgstr "ãƒã‚°ã‚’報告(&R)..." + +#: kpowersave.cpp:226 +msgid "&About KPowersave" +msgstr "KPowersaveã«ã¤ã„ã¦(&A)" + +#: kpowersave.cpp:275 kpowersave.cpp:648 kpowersave.cpp:656 kpowersave.cpp:703 +#: kpowersave.cpp:710 kpowersave.cpp:759 kpowersave.cpp:766 kpowersave.cpp:815 +#: kpowersave.cpp:822 kpowersave.cpp:1126 kpowersave.cpp:1241 +#: kpowersave.cpp:1270 kpowersave.cpp:2183 +msgid "WARNING" +msgstr "警告" + +#: kpowersave.cpp:275 +msgid "Cannot find any schemes." +msgstr "" + +#: kpowersave.cpp:453 +msgid "No information about battery and AC status available" +msgstr "ãƒãƒƒãƒ†ãƒªãŠã‚ˆã³ACé›»æºçŠ¶æ…‹ã«ã¤ã„ã¦ã®æƒ…å ±ãŒã‚ã‚Šã¾ã›ã‚“。" + +#: kpowersave.cpp:456 +msgid "Plugged in -- fully charged" +msgstr "プラグ接続 -- 最大充電済ã¿" + +#: kpowersave.cpp:460 +msgid "Plugged in" +msgstr "プラグ接続" + +#: kpowersave.cpp:464 +msgid "Plugged in -- %1% charged (%2:%3 h until full charged)" +msgstr "プラグ接続 -- %1% å……é›» (フル充電ã¾ã§ %2:%3 時間)" + +#: kpowersave.cpp:467 +msgid "Plugged in -- %1% charged (%2:%3 remaining hours)" +msgstr "プラグ接続 -- %1% å……é›» (残り %2:%3 時間)" + +#: kpowersave.cpp:471 kpowersave.cpp:475 +#, c-format +msgid "Plugged in -- %1% charged" +msgstr "プラグ接続 -- %1% å……é›»" + +#: kpowersave.cpp:474 +msgid "Plugged in -- no battery" +msgstr "プラグ接続 -- ãƒãƒƒãƒ†ãƒªãƒ¼ãªã—" + +#: kpowersave.cpp:480 +msgid "Running on batteries -- %1% charged (%2:%3 hours remaining)" +msgstr "ãƒãƒƒãƒ†ãƒªãƒ¼é§†å‹• -- %1% å……é›» (残り %2:%3 時間)" + +#: kpowersave.cpp:484 +#, c-format +msgid "Running on batteries -- %1% charged" +msgstr "ãƒãƒƒãƒ†ãƒªãƒ¼é§†å‹• -- %1% å……é›»" + +#: kpowersave.cpp:491 +msgid " -- battery is charging" +msgstr " -- ãƒãƒƒãƒ†ãƒªãƒ¼å……電中" + +#: kpowersave.cpp:649 kpowersave.cpp:657 +msgid "Could not start YaST Power Management Module. Check if it is installed." +msgstr "" +"YaSTé›»æºç®¡ç†ãƒ¢ã‚¸ãƒ¥ãƒ¼ãƒ«ã‚’èµ·å‹•ã§ãã¾ã›ã‚“ã§ã—ãŸã€‚ ã“ã®ãƒ¢ã‚¸ãƒ¥ãƒ¼ãƒ«ãŒã‚¤ãƒ³ã‚¹ãƒˆãƒ¼ãƒ«ã•" +"ã‚Œã¦ã„ã‚‹ã‹ã©ã†ã‹ã‚’ãƒã‚§ãƒƒã‚¯ã—ã¦ãã ã•ã„。" + +#: kpowersave.cpp:703 +#, fuzzy +msgid "Suspend to disk failed" +msgstr "ディスクã«ã‚µã‚¹ãƒšãƒ³ãƒ‰" + +#: kpowersave.cpp:711 +msgid "Suspend to disk disabled by administrator." +msgstr "ディスクã¸ã®ã‚µã‚¹ãƒšãƒ³ãƒ‰ã¯ç®¡ç†è€…ã«ã‚ˆã£ã¦æŠ‘制ã•ã‚Œã¦ã„ã¾ã™ã€‚" + +#: kpowersave.cpp:759 +#, fuzzy +msgid "Suspend to RAM failed" +msgstr "サスペンド(RAM)" + +#: kpowersave.cpp:767 +msgid "Suspend to RAM disabled by administrator." +msgstr "RAMã¸ã®ã‚µã‚¹ãƒšãƒ³ãƒ‰ã¯ç®¡ç†è€…ã«ã‚ˆã£ã¦æŠ‘制ã•ã‚Œã¦ã„ã¾ã™ã€‚" + +#: kpowersave.cpp:815 +#, fuzzy +msgid "Standby failed" +msgstr "スタンãƒã‚¤ã¾ã§ã®æ™‚é–“:" + +#: kpowersave.cpp:822 +msgid "Standby disabled by administrator." +msgstr "スタンãƒã‚¤ã¯ç®¡ç†è€…ã«ã‚ˆã£ã¦æŠ‘制ã•ã‚Œã¦ã„ã¾ã™ã€‚" + +#: kpowersave.cpp:853 +msgid "System is going into suspend mode now" +msgstr "システムã¯ã‚µã‚¹ãƒšãƒ³ãƒ‰ãƒ¢ãƒ¼ãƒ‰ã«å…¥ã‚Šã¾ã™" + +#: kpowersave.cpp:1039 +msgid "Could not call DCOP interface to umount external media." +msgstr "" + +#: kpowersave.cpp:1044 +msgid "" +"Could not umount external media before suspend/standby. \n" +" (Reason: %1)\n" +" \n" +" Would you like to continue suspend/standby anyway? \n" +"(Warning: Continue suspend can cause data loss!)" +msgstr "" + +#: kpowersave.cpp:1052 +msgid "Error while prepare %1" +msgstr "" + +#: kpowersave.cpp:1053 +#, fuzzy +msgid "Suspend anyway" +msgstr "サスペンドã¾ã§ã®æ™‚é–“:" + +#: kpowersave.cpp:1053 +#, fuzzy +msgid "Cancel suspend" +msgstr "自動サスペンドを有効ã«ã™ã‚‹" + +#: kpowersave.cpp:1127 +msgid "" +"Could not lock the screen. There may be a problem with the selected \n" +"lock method or something else." +msgstr "" +"ç”»é¢ã‚’ロックã§ãã¾ã›ã‚“ã§ã—ãŸã€‚ é¸æŠžã—ãŸ\n" +"ロックメソッドãªã©ã«å•é¡ŒãŒã‚ã‚‹ã¨æ€ã‚ã‚Œã¾ã™ã€‚" + +#: kpowersave.cpp:1144 +msgid "The Lid was closed." +msgstr "LidãŒã‚¯ãƒ­ãƒ¼ã‚ºã—ã¾ã—ãŸã€‚" + +#: kpowersave.cpp:1156 +msgid "The Lid was opened." +msgstr "LidãŒã‚ªãƒ¼ãƒ—ンã—ã¾ã—ãŸã€‚" + +#: kpowersave.cpp:1223 +msgid "Start KPowersave automatically when you log in?" +msgstr "ログイン時ã«è‡ªå‹•çš„ã« KPowersave ã‚’èµ·å‹•ã—ã¾ã™ã‹ï¼Ÿ" + +#: kpowersave.cpp:1224 +msgid "Question" +msgstr "質å•" + +#: kpowersave.cpp:1225 +msgid "Start Automatically" +msgstr "自動的ã«é–‹å§‹" + +#: kpowersave.cpp:1225 +msgid "Do Not Start" +msgstr "èµ·å‹•ã—ãªã„" + +#: kpowersave.cpp:1242 +msgid "CPU Freq Policy %1 could not be set." +msgstr "CPU周波数ãƒãƒªã‚·ãƒ¼%1を設定ã§ãã¾ã›ã‚“ã§ã—ãŸã€‚" + +#: kpowersave.cpp:1271 +msgid "Scheme %1 could not be activated." +msgstr "スキーム %1 を有効ã«ã§ãã¾ã›ã‚“。" + +#: kpowersave.cpp:1600 +#, fuzzy +msgid "" +"The D-Bus daemon is not running.\n" +"Starting it will provide full functionality: /etc/init.d/dbus start" +msgstr "" +"Powersave デーモンãŒèµ·å‹•ã—ã¦ã„ã¾ã›ã‚“。\n" +"èµ·å‹•ã™ã‚‹ã¨ãƒ‘フォーマンスãŒå‘上ã—ã¾ã™: /etc/init.d/powersaved start" + +#: kpowersave.cpp:1611 +msgid "Don't show this message again." +msgstr "以後ã“ã®ãƒ¡ãƒƒã‚»ãƒ¼ã‚¸ã‚’表示ã—ãªã„。" + +#: kpowersave.cpp:1637 +msgid "ERROR" +msgstr "エラー" + +#: kpowersave.cpp:1638 +msgid "Could not get information from HAL. The haldaemon is maybe not running." +msgstr "" +"HALã‹ã‚‰æƒ…報をå–å¾—ã§ãã¾ã›ã‚“ã§ã—ãŸã€‚HALデーモンãŒèµ·å‹•ã—ã¦ã„ãªã„å¯èƒ½æ€§ãŒã‚ã‚Šã¾" +"ã™ã€‚" + +#: kpowersave.cpp:1641 +msgid "Error" +msgstr "エラー" + +#: kpowersave.cpp:1912 +msgid "" +"Battery state changed to WARNING -- remaining time: %1 hours and %2 minutes." +msgstr "ãƒãƒƒãƒ†ãƒªãƒ¼æ®‹é‡ãŒè­¦å‘ŠçŠ¶æ…‹ã§ã™ -- 残り %1 時間 %2 分ã§ã™ã€‚" + +#: kpowersave.cpp:1921 +msgid "" +"Battery state changed to LOW -- remaining time: %1 hours and %2 minutes." +msgstr "ãƒãƒƒãƒ†ãƒªæ®‹é‡ãŒä½Žã„状態ã§ã™ -- 残り%1時間%2分ã§ã™ã€‚" + +#: kpowersave.cpp:1932 +#, fuzzy +msgid "" +"Battery state changed to CRITICAL -- remaining time: %1 hours and %2 " +"minutes.\n" +"Shut down your system or plug in the power cable immediately. Otherwise the " +"machine\n" +"will go shutdown in 30 seconds" +msgstr "" +"ãƒãƒƒãƒ†ãƒªæ®‹é‡ãŒè‡´å‘½çš„状態ã§ã™ -- 残り %1時間%2分ã§ã™ã€‚ ç›´ã¡ã«ã‚·ã‚¹ãƒ†ãƒ ã‚’シャッ" +"トダウンã™ã‚‹ã‹ã€é›»æºã‚±ãƒ¼ãƒ–ルを差ã—込んã§ãã ã•ã„。" + +#: kpowersave.cpp:1943 +#, fuzzy +msgid "" +"Battery state changed to CRITICAL -- remaining time: %1 hours and %2 " +"minutes.\n" +"Shut down your system or plug in the power cable immediately." +msgstr "" +"ãƒãƒƒãƒ†ãƒªæ®‹é‡ãŒè‡´å‘½çš„状態ã§ã™ -- 残り %1時間%2分ã§ã™ã€‚ ç›´ã¡ã«ã‚·ã‚¹ãƒ†ãƒ ã‚’シャッ" +"トダウンã™ã‚‹ã‹ã€é›»æºã‚±ãƒ¼ãƒ–ルを差ã—込んã§ãã ã•ã„。" + +#: kpowersave.cpp:2041 +msgid "AC adapter plugged in" +msgstr "ACアダプタプラグ接続" + +#: kpowersave.cpp:2043 +msgid "AC adapter unplugged" +msgstr "ACアダプタプラグéžæŽ¥ç¶š" + +#: kpowersave.cpp:2078 +#, fuzzy +msgid "Switched to scheme: %1" +msgstr "çœé›»åŠ›ãŒæ¬¡ã®ã‚¹ã‚­ãƒ¼ãƒ ã«åˆ‡ã‚Šæ›¿ã‚ã‚Šã¾ã—ãŸ: %1" + +#: kpowersave.cpp:2095 kpowersave.cpp:2100 kpowersave.cpp:2105 +msgid "System is going into %1 now." +msgstr "システム㯠%1 ã«å…¥ã‚Šã¾ã™ã€‚" + +#: kpowersave.cpp:2155 kpowersave.cpp:2160 kpowersave.cpp:2165 +msgid "System is resumed from %1." +msgstr "システム㯠%1 ã‹ã‚‰å†é–‹ã—ã¾ã—ãŸã€‚" + +#: kpowersave.cpp:2184 +msgid "Could not remount (all) external storage media." +msgstr "" + +#: kpowersave.cpp:2192 +msgid "An unknown error occurred while %1. The errorcode is: '%2'" +msgstr "" + +#: kpowersave.cpp:2197 +msgid "Do you want to have a look at the log file?" +msgstr "" + +#: kpowersave.cpp:2198 kpowersave.cpp:2224 +msgid "Error while %1" +msgstr "" + +#: configure_Dialog.cpp:831 +msgid "KPowersave Settings" +msgstr "KPowersave設定" + +#: configure_Dialog.cpp:832 +#, fuzzy +msgid "Apply" +msgstr "é©ç”¨(&A)" + +#: configure_Dialog.cpp:834 +#, fuzzy +msgid "Help" +msgstr "ヘルプ(&H)" + +#: configure_Dialog.cpp:840 +msgid "Enable specific display power management" +msgstr "特定ã®ãƒ‡ã‚£ã‚¹ãƒ—レイ電æºç®¡ç†ã‚’有効ã«ã™ã‚‹" + +#: configure_Dialog.cpp:841 +msgid "Standby after:" +msgstr "スタンãƒã‚¤ã¾ã§ã®æ™‚é–“:" + +#: configure_Dialog.cpp:842 +msgid "Only blank the screen" +msgstr "ç”»é¢ã®ã¿ãƒ–ランク" + +#: configure_Dialog.cpp:843 +msgid "Disable screen saver" +msgstr "スクリーンセーãƒãƒ¼ã‚’無効ã«ã™ã‚‹" + +#: configure_Dialog.cpp:844 +msgid "Enable specific screensaver settings" +msgstr "特定ã®ã‚¹ã‚¯ãƒªãƒ¼ãƒ³ã‚»ãƒ¼ãƒãƒ¼è¨­å®šã‚’有効ã«ã™ã‚‹" + +#: configure_Dialog.cpp:845 +msgid "Suspend after:" +msgstr "サスペンドã¾ã§ã®æ™‚é–“:" + +#: configure_Dialog.cpp:846 +msgid "Power off after:" +msgstr "é›»æºã‚ªãƒ•ã¾ã§ã®æ™‚é–“:" + +#: configure_Dialog.cpp:847 +msgid "Disable display power management" +msgstr "ディスプレイ電æºç®¡ç†ã‚’無効ã«ã™ã‚‹" + +#: configure_Dialog.cpp:848 configure_Dialog.cpp:849 configure_Dialog.cpp:850 +#: configure_Dialog.cpp:862 configure_Dialog.cpp:873 +msgid " min" +msgstr "最低(I)" + +#: configure_Dialog.cpp:851 +msgid "Screen Saver and DPMS" +msgstr "スクリーンセーãƒãƒ¼ã¨DPMS" + +#: configure_Dialog.cpp:852 +msgid "Settings" +msgstr "設定" + +#: configure_Dialog.cpp:853 +msgid "Reset" +msgstr "リセット" + +#: configure_Dialog.cpp:855 +#, fuzzy +msgid "Enable scheme specific Brightness settings" +msgstr "スキーム指定ã®æ˜Žã‚‹ã•è¨­å®šã‚’有効ã«ã™ã‚‹(&B)" + +#: configure_Dialog.cpp:858 +msgid "Brightness" +msgstr "明るã•" + +#: configure_Dialog.cpp:859 +msgid "Enable autosuspend" +msgstr "自動サスペンドを有効ã«ã™ã‚‹" + +#: configure_Dialog.cpp:860 configure_Dialog.cpp:867 +msgid "Enable scheme-specific blacklist" +msgstr "スキーム固有ブラックリストを有効ã«ã™ã‚‹" + +#: configure_Dialog.cpp:861 configure_Dialog.cpp:870 +msgid "after:" +msgstr "後ã«:" + +#: configure_Dialog.cpp:863 configure_Dialog.cpp:868 +msgid "Edit Blacklist..." +msgstr "ブラックリストã®ç·¨é›†..." + +#: configure_Dialog.cpp:864 configure_Dialog.cpp:869 +msgid "If the current desktop user is inactive the computer will:" +msgstr "ç¾åœ¨ã®ãƒ‡ã‚¹ã‚¯ãƒˆãƒƒãƒ—ユーザãŒæ´»å‹•ã‚’åœæ­¢ã—ã¦ã„ã‚‹å ´åˆã€ã‚³ãƒ³ãƒ”ュータã¯:" + +#: configure_Dialog.cpp:865 +msgid "Autosuspend" +msgstr "自動サスペンド" + +#: configure_Dialog.cpp:866 +#, fuzzy +msgid "Enable autodimm the display" +msgstr "活動åœæ­¢ã®éš›ã«ãƒ‡ã‚£ã‚¹ãƒ—レイã®æ˜Žã‚‹ã•ã‚’調節ã—ã¾ã™" + +#: configure_Dialog.cpp:871 configure_Dialog.cpp:893 configure_Dialog.cpp:894 +#: configure_Dialog.cpp:895 configure_Dialog.cpp:896 configure_Dialog.cpp:897 +#: configure_Dialog.cpp:898 +msgid " %" +msgstr "" + +#: configure_Dialog.cpp:872 +msgid "dimm to:" +msgstr "" + +#: configure_Dialog.cpp:874 +msgid "Autodimm" +msgstr "" + +#: configure_Dialog.cpp:879 +#, fuzzy +msgid "Set CPU Frequency Policy:" +msgstr "CPU クロックãƒãƒªã‚·ãƒ¼ã‚’設定ã™ã‚‹" + +#: configure_Dialog.cpp:880 +#, fuzzy +msgid "CPU Frequency Policy" +msgstr "CPU クロックãƒãƒªã‚·ãƒ¼ã‚’設定ã™ã‚‹" + +#: configure_Dialog.cpp:881 +msgid "Disable Notifications" +msgstr "通知を無効ã«ã™ã‚‹" + +#: configure_Dialog.cpp:884 +msgid "New" +msgstr "" + +#: configure_Dialog.cpp:885 +msgid "Scheme Settings" +msgstr "スキーム設定" + +#: configure_Dialog.cpp:886 +msgid "" +"Define the battery warning levels (in percentage) and the releated action if " +"the level get reached:" +msgstr "" + +#: configure_Dialog.cpp:887 +#, fuzzy +msgid "Warning level:" +msgstr "警告" + +#: configure_Dialog.cpp:888 +msgid "Low level:" +msgstr "" + +#: configure_Dialog.cpp:889 +#, fuzzy +msgid "Critical level:" +msgstr "致命的" + +#: configure_Dialog.cpp:890 configure_Dialog.cpp:891 configure_Dialog.cpp:892 +msgid "if reached call:" +msgstr "" + +#: configure_Dialog.cpp:899 +#, fuzzy +msgid "Battery" +msgstr "ãƒãƒƒãƒ†ãƒª %1" + +#: configure_Dialog.cpp:900 +msgid "" +"Define the action which should be executed if the related button get pressed:" +msgstr "" + +#: configure_Dialog.cpp:901 +#, fuzzy +msgid "Suspend-to-disk Button:" +msgstr "ディスクã«ã‚µã‚¹ãƒšãƒ³ãƒ‰" + +#: configure_Dialog.cpp:902 +msgid "Sleep button:" +msgstr "" + +#: configure_Dialog.cpp:903 +msgid "Lid close Button:" +msgstr "" + +#: configure_Dialog.cpp:904 +#, fuzzy +msgid "Power Button:" +msgstr "消費電力" + +#: configure_Dialog.cpp:905 +msgid "Button Events" +msgstr "" + +#: configure_Dialog.cpp:906 +msgid "" +"Select the following schemes as default if the system is running on AC or on " +"batteries." +msgstr "" + +#: configure_Dialog.cpp:907 +#, fuzzy +msgid "Battery scheme:" +msgstr "ãƒãƒƒãƒ†ãƒªæ®‹é‡:" + +#: configure_Dialog.cpp:908 +#, fuzzy +msgid "AC scheme:" +msgstr "スキーム:" + +#: configure_Dialog.cpp:909 +msgid "Default Schemes" +msgstr "" + +#: configure_Dialog.cpp:910 +msgid "Lock screen before suspend or standby" +msgstr "サスペンドã¾ãŸã¯ã‚¹ã‚¿ãƒ³ãƒã‚¤ã®å‰ã«ç”»é¢ã‚’ロックã—ã¾ã™ã€‚" + +#: configure_Dialog.cpp:911 +msgid "Lock screen with:" +msgstr "ç”»é¢ã®ãƒ­ãƒƒã‚¯æ¡ä»¶:" + +#: configure_Dialog.cpp:912 +msgid "Lock screen on lid close" +msgstr "「lid closeã€ã§ç”»é¢ã‚’ロックã—ã¾ã™ã€‚" + +#: configure_Dialog.cpp:913 +msgid "Lock Screen" +msgstr "ç”»é¢ã®ãƒ­ãƒƒã‚¯" + +#: configure_Dialog.cpp:914 +msgid "Notifications" +msgstr "通知" + +#: configure_Dialog.cpp:916 +msgid "Autostart" +msgstr "自動スタート" + +#: configure_Dialog.cpp:917 +msgid "Never ask me again on exit" +msgstr "次回ã‹ã‚‰çµ‚了時ã«å°‹ã­ãªã„。" + +#: configure_Dialog.cpp:918 +msgid "KPowersave starts automatically on login" +msgstr "KPowersaveã¯ãƒ­ã‚°ã‚¤ãƒ³æ™‚ã«è‡ªå‹•çš„ã«èµ·å‹•ã—ã¾ã™ã€‚" + +#: configure_Dialog.cpp:919 +#, fuzzy +msgid "General Blacklists" +msgstr "一般的ãªãƒ–ラックリスト" + +#: configure_Dialog.cpp:920 +#, fuzzy +msgid "Edit Autosuspend Blacklist..." +msgstr "ブラックリスト編集ã®è‡ªå‹•ã‚µã‚¹ãƒšãƒ³ãƒ‰" + +#: configure_Dialog.cpp:921 +#, fuzzy +msgid "Edit Autodimm Blacklist..." +msgstr "ブラックリストã®ç·¨é›†..." + +#: configure_Dialog.cpp:923 +msgid "General Settings" +msgstr "一般的ãªè¨­å®š" + +#~ msgid "" +#~ "Inactivity detected.\n" +#~ " Machine autosuspend in %1 seconds." +#~ msgstr "" +#~ "検出ã•ã‚ŒãŸæ´»å‹•åœæ­¢ã€‚\n" +#~ " コンピュータã¯%1秒ã§è‡ªå‹•ã‚µã‚¹ãƒšãƒ³ãƒ‰ã—ã¾ã™ã€‚" + +#~ msgid "" +#~ "Inactivity detected.\n" +#~ " Dim display in %1 seconds to %2%." +#~ msgstr "" +#~ "活動åœæ­¢çŠ¶æ…‹ãŒæ¤œå‡ºã•ã‚Œã¾ã—ãŸã€‚\n" +#~ "%1 秒ã®ãƒ‡ã‚£ã‚¹ãƒ—レイを %2 %ã ã‘æš—ãã—ã¾ã™ã€‚" + +#~ msgid "" +#~ "If you know that it should work, you might override this detection with " +#~ "setting SUSPEND2RAM_FORCE=\"yes\" in /etc/powersave/sleep." +#~ msgstr "" +#~ "作動ã™ã‚‹ã“ã¨ãŒã‚ã‹ã£ã¦ã„ã‚‹å ´åˆã¯ã€SUSPEND2RAM_FORCE=yes in /etc/powersave/" +#~ "sleepを設定ã—ã¦ã€ã“ã®æ¤œå‡ºã‚’無視ã™ã‚‹ã“ã¨ãŒã§ãã¾ã™ã€‚" + +#~ msgid "Modules unloaded:" +#~ msgstr "モジュールãŒã‚¢ãƒ³ãƒ­ãƒ¼ãƒ‰ã•ã‚Œã¾ã—ãŸ:" + +#~ msgid "checking resume kernel" +#~ msgstr "カーãƒãƒ«ã®å†é–‹ã‚’ãƒã‚§ãƒƒã‚¯ã—ã¦ã„ã¾ã™" + +#~ msgid "checking for swap partition" +#~ msgstr "swapパーティションをãƒã‚§ãƒƒã‚¯ã—ã¦ã„ã¾ã™" + +#~ msgid "unmounting FAT/NTFS partitions" +#~ msgstr "FAT/NTFSパーティションをアンマウントã—ã¦ã„ã¾ã™" + +#~ msgid "stopping services" +#~ msgstr "サービスをåœæ­¢ã—ã¦ã„ã¾ã™" + +#~ msgid "stopping service:" +#~ msgstr "サービスをåœæ­¢ã—ã¦ã„ã¾ã™:" + +#~ msgid "unloading modules" +#~ msgstr "モジュールをアンロードã—ã¦ã„ã¾ã™" + +#~ msgid "unloading module:" +#~ msgstr "モジュールをアンロードã—ã¦ã„ã¾ã™:" + +#~ msgid "syncing file systems" +#~ msgstr "ファイルシステムをåŒæœŸåŒ–ã—ã¦ã„ã¾ã™" + +#~ msgid "preparing bootloader" +#~ msgstr "ブートローダを準備ã—ã¦ã„ã¾ã™" + +#~ msgid "Edit General Blacklist..." +#~ msgstr "一般的ブラックリストã®ç·¨é›†..." + +#~ msgid "&Cancel" +#~ msgstr "キャンセル(&C)" + +#~ msgid "" +#~ "This scheme support suspend and disable devices. This is a EXPERIMENTAL " +#~ "feature of powersave to save more power on laptops. If you select this " +#~ "scheme you can get in trouble (e.g. kernel oops). You can configure this " +#~ "feature currently in the powersave config files. Please report all " +#~ "problems via http://www.opensuse.org/Submit_a_bug \n" +#~ "\n" +#~ "Would you switch the scheme (on your own risk)?" +#~ msgstr "" +#~ "ã“ã®ã‚¹ã‚­ãƒ¼ãƒ ã¯ãƒ‡ãƒã‚¤ã‚¹ã®ã‚µã‚¹ãƒšãƒ³ãƒ‰ã€ãŠã‚ˆã³åœæ­¢ã‚’サãƒãƒ¼ãƒˆã—ã¾ã™ã€‚ã“ã‚Œã¯ã€" +#~ "ラップトップ型PCã§ã‚ˆã‚Šå¤šãã®é›»åŠ›ã‚’節約ã™ã‚‹ã“ã¨ã‚’目的ã¨ã—ãŸã€çœé›»åŠ›ã®å®Ÿé¨“çš„" +#~ "ãªæ©Ÿèƒ½ã§ã™ã€‚ã“ã®ã‚¹ã‚­ãƒ¼ãƒ ã‚’é¸æŠžã™ã‚‹ã¨ã€å•é¡ŒãŒç™ºç”Ÿã—ã¾ã™(ãŸã¨ãˆã°ã‚«ãƒ¼ãƒãƒ«ãª" +#~ "ã©)。ç¾æ®µéšŽã§ã¯ã€çœé›»åŠ›è¨­å®šãƒ•ã‚¡ã‚¤ãƒ«å†…ã§ã“ã®æ©Ÿèƒ½ã‚’設定ã™ã‚‹ã“ã¨ãŒã§ãã¾ã™ã€‚" +#~ "å•é¡ŒãŒç™ºç”Ÿã—ãŸå ´åˆã€http://www.opensuse.org/Submit_a_bugを使用ã—ã¦å ±å‘Šã—ã¦" +#~ "ãã ã•ã„。\n" +#~ " \n" +#~ " スキームを変更ã—ã¾ã™ã‹(ã”自身ã®è²¬ä»»ã§è¡Œã£ã¦ãã ã•ã„)。" + +#~ msgid "Continue" +#~ msgstr "続行" + +#~ msgid " -- %1 MHz" +#~ msgstr " -- %1 MHz" + +#~ msgid "Enabled" +#~ msgstr "有効" + +#~ msgid "In" +#~ msgstr "イン" + +#~ msgid "Out" +#~ msgstr "アウト" + +#~ msgid "You are not permitted to connect to the daemon" +#~ msgstr "デーモンã«æŽ¥ç¶šã™ã‚‹è¨±å¯ã‚’与ãˆã‚‰ã‚Œã¦ã„ã¾ã›ã‚“" + +#~ msgid "Turn Off Computer" +#~ msgstr "コンピュータをåœæ­¢ã™ã‚‹" + +#~ msgid "Disable DPMS (no Screensaver detected)" +#~ msgstr "DPMS を無効ã«ã™ã‚‹ (スクリーンセーãƒãƒ¼ãŒæ¤œå‡ºã•ã‚Œã¾ã›ã‚“)" diff --git a/po/km.po b/po/km.po new file mode 100644 index 0000000..d12b054 --- /dev/null +++ b/po/km.po @@ -0,0 +1,1449 @@ +# translation of kpowersave.km.po to Khmer +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# +# Khoem Sokhem , 2006, 2007. +# sokun , 2006. +# Auk Piseth , 2006, 2007. +msgid "" +msgstr "" +"Project-Id-Version: kpowersave.km\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2007-08-10 03:16+0200\n" +"PO-Revision-Date: 2007-08-14 09:32+0700\n" +"Last-Translator: Khoem Sokhem \n" +"Language-Team: Khmer \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: KBabel 1.11.4\n" +"Plural-Forms: 0\n" + +#: detailed_Dialog.cpp:228 +msgid "kpowersave" +msgstr "kpowersave" + +#: detailed_Dialog.cpp:229 +msgid "General Information" +msgstr "áž–áŸážáŸŒáž˜áž¶áž“​ទូទៅ" + +#: detailed_Dialog.cpp:232 +msgid "Battery Status" +msgstr "ស្ážáž¶áž“ភាព​ážáŸ’ម" + +#: detailed_Dialog.cpp:233 +msgid "AC Adapter" +msgstr "អាដាប់ទáŸážšâ€‹áž…រន្ážâ€‹áž†áŸ’លាស់" + +#: detailed_Dialog.cpp:234 detaileddialog.cpp:391 +msgid "plugged in" +msgstr "បាន​ដោáž" + +#: detailed_Dialog.cpp:235 +msgid "Power Consumtion: " +msgstr "ការ​ប្រើ​ážáž¶áž˜áž–ល ៖ " + +#: detailed_Dialog.cpp:237 +msgid "Processor Status" +msgstr "ស្ážáž¶áž“ភាព​ážáž½ážšáž€áŸ’បាល​" + +# ok button label +#: detailed_Dialog.cpp:238 blacklistedit_Dialog.cpp:130 info_Dialog.cpp:198 +#: configure_Dialog.cpp:838 +msgid "OK" +msgstr "យល់ព្រម" + +#: blacklisteditdialog.cpp:60 +msgid "General Blacklist" +msgstr "បញ្ជី​ážáŸ’មៅ​ទូទៅ​" + +#: blacklisteditdialog.cpp:63 +msgid "Scheme: " +msgstr "គ្រោង​ការណáŸÂ áŸ– " + +#: blacklisteditdialog.cpp:114 +msgid "Selected entry removed." +msgstr "ធាážáž»â€‹ážŠáŸ‚ល​បាន​ជ្រើស​ážáŸ’រូវ​បាន​យក​ចáŸáž‰â€‹áž áž¾áž™Â áŸ”" + +#: blacklisteditdialog.cpp:117 +msgid "Could not remove the selected entry." +msgstr "មិន​អាច​យក​ធាážáž»â€‹ážŠáŸ‚ល​បាន​ជ្រើស​ចáŸáž‰â€‹áž”ាន​ឡើយ ។" + +#: blacklisteditdialog.cpp:137 +msgid "Inserted new entry." +msgstr "បាន​បញ្ចូល​ធាážáž»â€‹ážáŸ’មី ។" + +#: blacklisteditdialog.cpp:141 +msgid "Entry exists already. Did not insert new entry." +msgstr "មាន​ធាážáž»â€‹ážšáž½áž…​ហើយ ។ មិន​បាន​បញ្ចូល​ធាážáž»â€‹ážáŸ’មី​ឡើយ ។" + +#: blacklisteditdialog.cpp:144 +msgid "Empty entry was not inserted." +msgstr "ធាážáž»â€‹áž‘áž‘áŸâ€‹áž˜áž·áž“​ážáŸ’រូវ​បាន​បញ្ចូល​ឡើយ ។" + +#: inactivity.cpp:298 +msgid "" +"Could not start 'pidof'. Could not autosuspend the machine.\n" +"Please check your installation." +msgstr "" +"មិន​អាច​ចាប់ផ្ដើម 'pidof' បាន​ឡើយ ដូច្នáŸáŸ‡â€‹áž€áŸâ€‹áž˜áž·áž“​អាច​ផ្អាក​ម៉ាស៊ីន​ស្វáŸáž™áž”្រវážáŸ’ážáž·â€‹áž”ាន​ដែរ ។\n" +"សូម​ពិនិážáŸ’យ​មើល​ការ​ដំឡើង​របស់​អ្នក ។" + +#: blacklistedit_Dialog.cpp:129 +msgid "Autosuspend Blacklist Edit" +msgstr "ការ​កែសម្រួល​បញ្ជី​ážáŸ’មៅ​របស់​ការ​ផ្អាក​ស្វáŸáž™áž”្រវážáŸ’ážáž·" + +# cancel button label +#: blacklistedit_Dialog.cpp:132 configuredialog.cpp:1079 +#: configure_Dialog.cpp:836 +msgid "Cancel" +msgstr "បោះបង់" + +#: blacklistedit_Dialog.cpp:135 +msgid "Add" +msgstr "បន្ážáŸ‚ម" + +#: blacklistedit_Dialog.cpp:136 +msgid "Remove" +msgstr "យក​ចáŸáž‰" + +#: infodialog.cpp:76 infodialog.cpp:78 main.cpp:55 +msgid "KPowersave" +msgstr "KPowersave" + +#: configuredialog.cpp:116 configuredialog.cpp:121 configuredialog.cpp:721 +msgid " - not supported" +msgstr " - មិន​គាំទ្រ" + +#: configuredialog.cpp:150 configuredialog.cpp:317 detaileddialog.cpp:432 +#: kpowersave.cpp:192 settings.cpp:66 configure_Dialog.cpp:876 +msgid "Performance" +msgstr "ដំណើរការ" + +#: configuredialog.cpp:154 configuredialog.cpp:319 detaileddialog.cpp:438 +#: kpowersave.cpp:194 settings.cpp:68 configure_Dialog.cpp:878 +msgid "Powersave" +msgstr "សន្សំ​ážáž¶áž˜áž–áž›" + +#: configuredialog.cpp:159 configuredialog.cpp:321 kpowersave.cpp:1478 +#: settings.cpp:70 +msgid "Presentation" +msgstr "ការ​បង្ហាញ" + +#: configuredialog.cpp:164 configuredialog.cpp:323 kpowersave.cpp:1473 +#: settings.cpp:72 +msgid "Acoustic" +msgstr "សូរសំឡáŸáž„" + +#: configuredialog.cpp:169 configuredialog.cpp:171 configuredialog.cpp:172 +#: configuredialog.cpp:173 kpowersave.cpp:1484 +msgid "Advanced Powersave" +msgstr "សន្សំ​ážáž¶áž˜áž–ល​កម្រិážâ€‹ážáŸ’ពស់" + +#: configuredialog.cpp:271 +msgid "" +"This enables specific screen saver settings. \n" +"Note: If selected, the global screen saver settings are \n" +"overwritten while kpowersave runs." +msgstr "" +"វា​នឹង​អនុញ្ញាážâ€‹áž€áž¶ážšâ€‹áž€áŸ†ážŽážáŸ‹â€‹áž’ាážáž»â€‹ážšáž€áŸ’សា​អáŸáž€áŸ’រង់​ជាក់លាក់​ណា​មួយ ។\n" +"ចំណាំ ៖ បើ​ជ្រើស នោះ​ការ​កំណážáŸ‹â€‹áž’ាážáž»â€‹ážšáž€áŸ’សា​អáŸáž€áŸ’រង់សកល​\n" +"នឹង​ážáŸ’រូវ​បាន​សរសáŸážšâ€‹áž‡áž¶áž“់​លើ ážážŽáŸˆáž–áŸáž› kpowersave ážšážáŸ‹Â áŸ”" + +#: configuredialog.cpp:274 +msgid "" +"This disables the screen saver. \n" +"Note: If selected, the global screen saver settings are \n" +"overwritten while kpowersave runs." +msgstr "" +"វា​នឹង​មិន​អនុញ្ញាážâ€‹áž€áž¶ážšâ€‹áž€áŸ†ážŽážáŸ‹â€‹áž’ាážáž»â€‹ážšáž€áŸ’សា​អáŸáž€áŸ’រង់​ជាក់លាក់​ណា​មួយ ។\n" +"ចំណាំ ៖ បើ​ជ្រើស នោះ​ការ​កំណážáŸ‹â€‹áž’ាážáž»â€‹ážšáž€áŸ’សា​អáŸáž€áŸ’រង់សកល​\n" +"នឹង​ážáŸ’រូវ​បាន​សរសáŸážšâ€‹áž‡áž¶áž“់​លើ ážážŽáŸˆáž–áŸáž› kpowersave ážšážáŸ‹Â áŸ”" + +#: configuredialog.cpp:277 +msgid "" +"This blanks the screen instead of using a specific screen saver. \n" +"Note: This may work only with KScreensaver." +msgstr "" +"វា​នឹង​ធ្វើ​ឲ្យ​អáŸáž€áŸ’រង់​ទទ០ដោយ​មិន​ប្រើ​ធាážáž»â€‹ážšáž€áŸ’សាអáŸáž€áŸ’រង់​ជាក់លាក់​ណាមួយ​ឡើយ ។​\n" +"ចំណាំ ៖ វា​អាច​នឹង​ដំណើរការ​ážáŸ‚​ជាមួយ KScreensaver ប៉ុណ្ណោះ ។" + +#: configuredialog.cpp:279 +msgid "" +"This enables specific DPMS settings. \n" +"Note: If selected, the global DPMS settings are \n" +"overwritten while kpowersave runs." +msgstr "" +"វា​នឹង​អនុញ្ញាážâ€‹áž€áž¶ážšâ€‹áž€áŸ†ážŽážáŸ‹ DPMS ជាក់លាក់​ណា​មួយ ។\n" +"ចំណាំ ៖ បើ​ជ្រើស នោះ​ការ​កំណážáŸ‹ DPMS សកល​\n" +"នឹង​ážáŸ’រូវ​បាន​សរសáŸážšâ€‹áž‡áž¶áž“់​លើ ážážŽáŸˆáž–áŸáž› kpowersave ážšážáŸ‹Â áŸ”" + +#: configuredialog.cpp:282 +msgid "This disables DPMS support." +msgstr "វា​នឹង​មិន​អនុញ្ញាážâ€‹áž€áž¶ážšâ€‹áž‚ាំទ្រ DPMS ឡើយ ។" + +#: configuredialog.cpp:283 +msgid "If selected, the screen is locked on suspend or standby." +msgstr "បើ​ជ្រើស នោះ​អáŸáž€áŸ’រង់​នឹង​ážáŸ’រូវ​បាន​ចាក់សោ​ពáŸáž›â€‹áž•áŸ’អាក ឬ​រង់ចាំ ។" + +#: configuredialog.cpp:284 +msgid "If selected, the screen is locked if the lid close event is triggered." +msgstr "បើ​ជ្រើស នោះ​អáŸáž€áŸ’រង់​នឹង​ážáŸ’រូវ​បាន​ចាក់សោ áž–áŸáž›â€‹áž”ិទ​គម្រប (កុំព្យូទáŸážšâ€‹áž™áž½ážšâ€‹ážŠáŸƒ) ។" + +#: configuredialog.cpp:286 +msgid "" +"Check this box to enable or disable automatic suspension of the computer." +msgstr "ធីក​ប្រអប់​នáŸáŸ‡â€‹ážŠáž¾áž˜áŸ’បី​អនុញ្ញាហឬ​មិន​អនុញ្ញាážâ€‹áž€áž¶ážšâ€‹áž•áŸ’អាក​កុំព្យូទáŸážšâ€‹ážŠáŸ„យ​ស្វáŸáž™áž”្រវážáŸ’ážáž·Â áŸ”" + +#: configuredialog.cpp:288 +msgid "" +"Activate this action if the user was inactive for the defined time \n" +"(greater than 0 minutes). If empty, nothing happens." +msgstr "" +"ធ្វើ​ឲ្យ​សកម្មភាព​នáŸáŸ‡â€‹ážŸáž€áž˜áŸ’ម បើ​អ្នក​ប្រើ​នៅ​ស្ងៀម​អស់​រយៈពáŸáž›â€‹áž€áŸ†ážŽážáŸ‹â€‹ážŽáž¶â€‹áž˜áž½áž™\n" +"(ធំ​ជាង 0 នាទី) ។ បើ​ទទ០នឹង​គ្មាន​អ្វី​កើážáž¡áž¾áž„​ឡើយ ។" + +#: configuredialog.cpp:291 +msgid "All scheme-related screen saver and DPMS settings." +msgstr "ការ​កំណážáŸ‹ DPMS និង​ធាážáž»â€‹ážšáž€áŸ’សា​អáŸáž€áŸ’រង់ ដែល​ទាក់ទង​នឹងគ្រោងការណáŸâ€‹áž‘ាំងអស់ ។" + +#: configuredialog.cpp:292 +msgid "All scheme-related display brightness settings." +msgstr "ការ​កំណážáŸ‹â€‹áž–ន្លឺ​បង្ហាញ ដែល​ទាក់ទង​នឹងគ្រោងការណáŸâ€‹áž‘ាំងអស់ ។" + +#: configuredialog.cpp:293 +msgid "All scheme-related automatic suspend settings." +msgstr "ការ​កំណážáŸ‹â€‹áž€áž¶ážšâ€‹áž•áŸ’អាក​ស្វáŸáž™áž”្រវážáŸ’ážáž· ដែល​ទាក់ទង​នឹងគ្រោងការណáŸâ€‹áž‘ាំងអស់ ។" + +#: configuredialog.cpp:295 +msgid "" +"Here you can change the brightness of your display. \n" +"Use the slider to change the brightness directly for \n" +"testing. To reset back to previous level, please press \n" +"the 'Reset' button. " +msgstr "" +"ទីនáŸáŸ‡ អ្នក​អាច​ផ្លាស់ប្ដូរ​ពន្លឺ​នៃ​ការ​បង្ហាញ​របស់​អ្នក ។\n" +"អ្នក​អាច​ប្រើ​គ្រាប់​រំកិល ដើម្បី​ផ្លាស់ប្ដូរ​ពន្លឺ​ដោយ​ផ្ទាល់\n" +"សម្រាប់​​សាកល្បង ។ ដើម្បី​កំណážáŸ‹â€‹áž‘ៅ​កម្រិážâ€‹áž˜áž»áž“​វិញ\n" +"សូម​ចុច​ប៊ូážáž»áž„ 'កំណážáŸ‹â€‹áž¡áž¾áž„​វិញ' ។" + +#: configuredialog.cpp:299 +msgid "Use this button to set back the slider and the display brightness." +msgstr "ប្រើ​ប៊ូážáž»áž„​នáŸáŸ‡ ដើម្បី​កំណážáŸ‹â€‹áž‚្រាប់​រំកិល និង​ពន្លឺ​បង្ហាញ​ដូច​ដើម​វិញ ។" + +#: configuredialog.cpp:352 +msgid "Press this button to delete the selected scheme." +msgstr "ចុច​ប៊ូážáž»áž„​នáŸáŸ‡â€‹ážŠáž¾áž˜áŸ’បី​លុប​គ្រោង​ការណáŸâ€‹ážŠáŸ‚ល​បាន​ជ្រើស ។" + +#: configuredialog.cpp:357 +msgid "You can't delete the current AC or battery scheme." +msgstr "អ្នក​មិន​អាច​លុប​ចរន្ážâ€‹áž†áŸ’លាស់​បច្ចុប្បន្ន​ ឬ​គ្រោងការណáŸâ€‹ážáŸ’ម​បាន​ទáŸÂ áŸ”" + +#: configuredialog.cpp:363 +msgid "You can't delete this default scheme." +msgstr "អ្នក​មិន​លុបគ្រោងការណáŸâ€‹áž›áŸ†áž“ាំដើម​នáŸáŸ‡â€‹áž”ាន​ទáŸÂ áŸ”" + +#: configuredialog.cpp:546 +msgid "" +"Your hardware supports to change the brightness. The values of the slider " +"are in percent and mapped to the available brightness levels of your " +"hardware." +msgstr "" +"ផ្នែករឹង​របស់​អ្នក​គាំទ្រ​ការ​ផ្លាស់ប្ដូរ​ពន្លឺ ។ ážáž˜áŸ’លៃ​របស់​គ្រាប់​រំកិល​គឺ​គិážâ€‹áž‡áž¶â€‹áž—ាគរយ ហើយ​ážáŸ’រូវ​បាន​ភ្ជាប់​ទៅ​នឹង​" +"កម្រិážâ€‹áž–ន្លឺ​ដែល​ផ្នែករឹង​របស់​អ្នក​មាន ។" + +#: configuredialog.cpp:553 +msgid "" +"Your Hardware currently not support changing the brightness of your display." +msgstr "បច្ចុប្បន្ន ផ្នែករឹង​របស់​អ្នក​មិន​គាំទ្រ​ការ​ផ្លាស់ប្ដូរ​ពន្លឺ​នៃ​ការ​បង្ហាញ​របស់​អ្នក​ឡើយ ។" + +#: configuredialog.cpp:664 +msgid "Select Automatically" +msgstr "ជ្រើស​ដោយ​ស្វáŸáž™â€‹áž”្រវážáŸ’ážáž·" + +#: configuredialog.cpp:665 +msgid "KScreensaver" +msgstr "KScreensaver" + +#: configuredialog.cpp:666 +msgid "XScreensaver" +msgstr "XScreensaver" + +#: configuredialog.cpp:667 +msgid "xlock" +msgstr "xlock" + +#: configuredialog.cpp:668 +msgid "GNOME Screensaver" +msgstr "ធាážáž»â€‹ážšáž€áŸ’សា​អáŸáž€áŸ’រង់​របស់ GNOME" + +#: configuredialog.cpp:930 +msgid "" +"There are unsaved changes in the active scheme.\n" +"Apply the changes before jumping to the next scheme or discard the changes?" +msgstr "" +"មាន​ការ​ផ្លាស់ប្ដូរ​ដែល​មិន​បាន​រក្សាទុក នៅ​ក្នុង​គ្រោងការណáŸâ€‹ážŸáž€áž˜áŸ’ម ។​\n" +"សូម​អនុវážáŸ’ážâ€‹áž€áž¶ážšâ€‹áž•áŸ’លាស់ប្ដូរ​សិន មុន​នឹង​ផ្លាស់ទី​ទៅ​គ្រោងការណáŸâ€‹áž”ន្ទាប់ ឬ​បោះបង់​ភាព​ផ្លាស់ប្ដូរ ?" + +#: configuredialog.cpp:933 configuredialog.cpp:983 +msgid "Unsaved Changes" +msgstr "ការ​ផ្លាស់​ប្ដូរ​ដែល​មិន​បាន​រក្សាទុក" + +#: configuredialog.cpp:981 +msgid "" +"There are unsaved changes.\n" +"Apply the changes before cancel or discard the changes?" +msgstr "" +"មាន​ការ​ផ្លាស់ប្ដូរ​ដែល​មិន​បាន​រក្សាទុក ។​\n" +"សូម​អនុវážáŸ’ážâ€‹áž€áž¶ážšâ€‹áž•áŸ’លាស់ប្ដូរ​សិន មុន​នឹង​បោះបង់ ឬ​បោះចោល​ការ​ផ្លាស់ប្ដូរ ?" + +#: configuredialog.cpp:1032 +msgid "Please insert a name for the new scheme:" +msgstr "សូម​បញ្ចូល​ឈ្មោះ​សម្រាប់​គ្រោងការណáŸâ€‹ážáŸ’មី ៖" + +#: configuredialog.cpp:1038 +msgid "KPowersave Configuration" +msgstr "ការ​កំណážáŸ‹â€‹ážšáž…នាសម្ពáŸáž“្ធ KPowersave" + +#: configuredialog.cpp:1046 +msgid "Error: A scheme with this name already exist.\n" +msgstr "កំហុស ៖ មាន​គ្រោងការណáŸâ€‹ážŠáŸ‚ល​មាន​ឈ្មោះ​នáŸáŸ‡â€‹â€‹ážšáž½áž…​ហើយ ។\n" + +#: configuredialog.cpp:1076 +msgid "Do you really want to delete the %1 scheme?" +msgstr "ážáž¾â€‹áž¢áŸ’នក​ពិážâ€‹áž‡áž¶â€‹áž…ង់​លុប​គ្រោងការណ០%1 ឬ ?" + +#: configuredialog.cpp:1078 +msgid "Confirm delete scheme" +msgstr "អះអាង​លុប​គ្រោង​ការណáŸ" + +#: configuredialog.cpp:1079 configure_Dialog.cpp:883 +msgid "Delete" +msgstr "លុប​" + +#: configuredialog.cpp:1095 +msgid "Could not delete the selected scheme." +msgstr "មិន​អាច​លុប​គ្រោងការណáŸâ€‹ážŠáŸ‚ល​បាន​ជ្រើស ។" + +#: configuredialog.cpp:1324 +msgid "" +"Note: If you select this option, the computer will suspend or standby " +"if the current user is inactive for the defined time even if somebody is " +"logged in remotely to the X server.

    This feature can also produce " +"problems with some programs, such as video players or cd burner. These " +"programs can be blacklisted by checking Enable scheme-specific blacklist and click Edit Blacklist.... If this does not help, report the " +"problem or deactivate autosuspend.

    Really use this option?" +msgstr "" +"ចំណាំ ៖ បើ​អ្នក​ជ្រើស​ជម្រើស​នáŸáŸ‡ នោះ​កុំព្យូទáŸážšáž“ឹង​ផ្អាក ឬ​រង់ចាំ​បើ​អ្នក​ប្រើ​បច្ចុប្បន្ននៅ​ស្ងៀម​អស់​" +"រយៈពáŸáž›â€‹áž€áŸ†ážŽážáŸ‹â€‹ážŽáž¶â€‹áž˜áž½áž™ ទោះ​បី​ជា​មាន​អ្នក​ážáŸ’លះ​ចូល​ពី​ចម្ងាយ​ទៅ X server កáŸâ€‹ážŠáŸ„យ ។

    លក្ážážŽáŸˆâ€‹áž–ិសáŸážŸâ€‹áž“áŸáŸ‡â€‹" +"អាច​បណ្ដាល​ឲ្យ​មាន​បញ្ហាជាមួយ​នឹង​កម្មវិធី​មួយ​ចំនួន ដូចជា​កម្មវិធី​ចាក់​វីដáŸáž¢áž¼ ឬ​កម្មវិធីដុážâ€‹ážŸáŸŠáž¸ážŒáž¸Â áŸ”​កម្មវិធី​ទាំងនáŸáŸ‡ " +"អាច​ážáŸ’រូវ​បាន​រាយក្នុង​បញ្ជី​ážáŸ’មៅ​ដោយ​ចុច អនុញ្ញាážâ€‹áž”ញ្ជី​ážáŸ’មៅ​សម្រាប់​គ្រោងការណáŸâ€‹áž‡áž¶áž€áŸ‹áž›áž¶áž€áŸ‹ ហើយ​ចុច " +"កែសម្រួល​បញ្ជី​ážáŸ’មៅ​... ។ បើ​វា​មិន​អាច​ជួយ​បាន​ទ០ចូរ​រាយការណáŸâ€‹áž”ញ្ហា ឬ​ធ្វើ​ឲ្យ​ការ​ផ្អាក​ស្វáŸáž™áž”្រវážáŸ’ážáž·â€‹" +"អសកម្ម ។​

    áž–áž·ážâ€‹áž‡áž¶â€‹áž”្រើ​ជម្រើស​នáŸáŸ‡â€‹áž¬Â ?" + +#: configuredialog.cpp:1402 configuredialog.cpp:1532 +msgid "" +"The blacklist of the selected scheme is empty. Import the general blacklist?" +msgstr "បញ្ជី​ážáŸ’មៅ​របស់​គ្រោងការណáŸâ€‹ážŠáŸ‚ល​បាន​ជ្រើស​គឺ​ទទáŸÂ áŸ” នាំចូល​បញ្ជី​ážáŸ’មៅ​ទូទៅឬ ?" + +#: configuredialog.cpp:1404 configuredialog.cpp:1534 +msgid "Import" +msgstr "នាំចូល" + +#: configuredialog.cpp:1404 configuredialog.cpp:1534 +msgid "Do Not Import" +msgstr "កុំនាំចូល" + +#: configuredialog.cpp:1416 +msgid "General Autosuspend Blacklist" +msgstr "បញ្ជីការ​ផ្អាក​ដោយ​ស្វáŸáž™â€‹áž”្រវážáŸ’ážáž·â€‹áž‘ូទៅ" + +#: configuredialog.cpp:1546 +msgid "General Autodimm Blacklist" +msgstr "​" + +#: configuredialog.cpp:1779 configuredialog.cpp:1816 +msgid "Shutdown" +msgstr "បិទ" + +#: configuredialog.cpp:1781 configuredialog.cpp:1819 +msgid "Logout Dialog" +msgstr "ប្រអប់​ចáŸáž‰" + +#: configuredialog.cpp:1784 configuredialog.cpp:1822 kpowersave.cpp:182 +#: kpowersave.cpp:2096 kpowersave.cpp:2156 kpowersave.cpp:2247 +msgid "Suspend to Disk" +msgstr "ផ្អាក​ទៅ​ážáž¶ážŸ" + +#: configuredialog.cpp:1787 configuredialog.cpp:1825 kpowersave.cpp:186 +#: kpowersave.cpp:2101 kpowersave.cpp:2161 kpowersave.cpp:2250 +msgid "Suspend to RAM" +msgstr "ផ្អាក​ទៅ​សážáž·" + +#: configuredialog.cpp:1790 configuredialog.cpp:1828 +msgid "CPU Powersave policy" +msgstr "គោល​នយោបាយ​សន្សំ​ážáž¶áž˜áž–ល​របស់​ស៊ីភីយូ" + +#: configuredialog.cpp:1793 configuredialog.cpp:1831 +msgid "CPU Dynamic policy" +msgstr "គោល​នយោបាយ​ážáž¶áž˜ážœáž“្ážâ€‹ážŸáŸŠáž¸áž—ីយូ" + +#: configuredialog.cpp:1796 configuredialog.cpp:1834 +msgid "CPU Performance policy" +msgstr "គោល​នយោបាយ​អនុវážáŸ’ážâ€‹ážšáž”ស់​ស៊ីភីយូ" + +#: configuredialog.cpp:1799 configuredialog.cpp:1837 +msgid "Set Brightness to" +msgstr "កំណážáŸ‹â€‹áž–ន្លឺ​ទៅ" + +#: main.cpp:43 +msgid "KDE Frontend for Power Management, Battery Monitoring and Suspend" +msgstr "កម្មវិធី​ផ្នែក​ážáž¶áž„​មុážâ€‹ážšáž”ស់ KDE សម្រាប់​ការ​គ្រប់គ្រង​ážáž¶áž˜áž–áž› ការ​ážáŸ’ážšáž½ážâ€‹áž–áž·áž“áž·ážáŸ’យ​ážáŸ’ម និង​ផ្អាក" + +#: main.cpp:45 +msgid "Force a new check for ACPI support" +msgstr "បង្ážáŸ†â€‹áž²áŸ’យ​ពិនិážáŸ’យ​មើល​សម្រាប់​ការ​គាំទ្រ ACPI" + +#: main.cpp:46 +msgid "Trace function entry and leave points for debug\n" +msgstr "ážáž¶áž˜â€‹ážŠáž¶áž“​ធាážáž»â€‹áž¢áž“ុគមន០និង​ទុក​ចំណុច​​សម្រាប់​បំបាážáŸ‹â€‹áž€áŸ†áž áž»ážŸ\n" + +#: main.cpp:59 +msgid "Current maintainer" +msgstr "អ្នក​ážáŸ‚ទាំ​បច្ចុប្បន្ន" + +#: main.cpp:62 +msgid "Powersave developer and for D-Bus integration" +msgstr "អ្នក​អភិវឌ្ážáž“áŸâ€‹áž€áž¶ážšâ€‹ážŸáž“្សំ​ážáž¶áž˜áž–ល​ និង​សម្រាប់​ការ​រួម​បញ្ចូល D-Bus" + +#: main.cpp:64 +msgid "Powersave developer and tester" +msgstr "អ្នក​អភិវឌ្ážáž“០និង​អ្នក​សាកល្បង​ការ​សន្សំ​ážáž¶áž˜áž–áž›" + +#: main.cpp:66 +msgid "Added basic detailed dialog" +msgstr "បាន​បន្ážáŸ‚ម​ប្រអប់​មូលដ្ឋាន​ដែល​លម្អិáž" + +#: main.cpp:67 +msgid "Packaging Debian and Ubuntu" +msgstr "កញ្ចប់​ដáŸáž”ៀន និង​យូប៊ុនទូ" + +#: detaileddialog.cpp:61 +msgid "KPowersave Information Dialog" +msgstr "ប្រអប់​ពáŸážáŸŒáž˜áž¶áž“ KPowersave" + +#: detaileddialog.cpp:65 configure_Dialog.cpp:882 configure_Dialog.cpp:922 +msgid "Miscellaneous" +msgstr "ផ្សáŸáž„ៗ​" + +#: detaileddialog.cpp:66 +msgid "CPUs" +msgstr "ស៊ីភីយូ" + +#: detaileddialog.cpp:73 detaileddialog.cpp:453 +msgid "Battery state:" +msgstr "សភាព​ážáŸ’ម ៖" + +#: detaileddialog.cpp:79 +msgid "Total:" +msgstr "សរុប ៖" + +#: detaileddialog.cpp:81 detaileddialog.cpp:83 +msgid "Battery %1" +msgstr "ážáŸ’ម %1" + +#: detaileddialog.cpp:114 +msgid "Processor %1" +msgstr "ážáž½ážšáž€áŸ’បាល %1" + +#: detaileddialog.cpp:230 +msgid "not present" +msgstr "មិន​បង្ហាញ" + +#: detaileddialog.cpp:243 +msgid "charged" +msgstr "បាន​បញ្ចូល​ážáŸ’ម" + +#: detaileddialog.cpp:245 +msgid "%1:%2 h until charged" +msgstr "%1:%2 ម៉ោង ážšáž áž¼ážâ€‹ážŠáž›áŸ‹â€‹áž”ាន​បញ្ចូល" + +#: detaileddialog.cpp:248 +msgid "%1:%2 h remaining" +msgstr "នៅសល់ %1:%2 ម៉ោង" + +#: detaileddialog.cpp:253 detaileddialog.cpp:441 detaileddialog.cpp:468 +msgid "unknown" +msgstr "មិន​ស្គាល់" + +#: detaileddialog.cpp:325 detaileddialog.cpp:368 +msgid "%v MHz" +msgstr "%v MHz" + +#: detaileddialog.cpp:330 detaileddialog.cpp:363 dummy.cpp:58 +msgid "deactivated" +msgstr "អសកម្ម" + +#: detaileddialog.cpp:395 +msgid "unplugged" +msgstr "បាន​ដក" + +#: detaileddialog.cpp:412 +msgid "Current Scheme: " +msgstr "គ្រោង​ការណáŸáž”ច្ចុប្បន្ន ៖ " + +#: detaileddialog.cpp:429 +msgid "Current CPU Frequency Policy:" +msgstr "គោលការណáŸâ€‹áž”្រáŸáž€áž„់ស៊ីភីយូ​បច្ចុប្បន្ន ៖" + +#: detaileddialog.cpp:435 kpowersave.cpp:193 configure_Dialog.cpp:877 +msgid "Dynamic" +msgstr "ážáž¶áž˜ážœáž“្áž" + +#: detaileddialog.cpp:456 +msgid "Critical" +msgstr "ážáŸ’សោយ​បំផុáž" + +#: detaileddialog.cpp:459 +msgid "Low" +msgstr "ážáŸ’សោយ" + +#: detaileddialog.cpp:462 kpowersave.cpp:277 kpowersave.cpp:652 +#: kpowersave.cpp:659 kpowersave.cpp:705 kpowersave.cpp:713 kpowersave.cpp:761 +#: kpowersave.cpp:769 kpowersave.cpp:817 kpowersave.cpp:824 +#: kpowersave.cpp:1131 kpowersave.cpp:1243 kpowersave.cpp:1272 +#: kpowersave.cpp:1610 kpowersave.cpp:1670 kpowersave.cpp:2186 +msgid "Warning" +msgstr "ព្រមាន" + +#: detaileddialog.cpp:465 +msgid "ok" +msgstr "យល់ព្រម" + +#: detaileddialog.cpp:474 detaileddialog.cpp:477 +msgid "Set brightness supported:" +msgstr "កំណážáŸ‹â€‹áž€áž˜áŸ’ážšáž·ážâ€‹áž–ន្លឺ​ដែល​គាំទ្រ ៖" + +#: detaileddialog.cpp:475 +msgid "yes" +msgstr "បាទ/ចាស" + +#: detaileddialog.cpp:478 +msgid "no" +msgstr "áž‘áŸ" + +#: detaileddialog.cpp:481 detaileddialog.cpp:485 +msgid "HAL Daemon:" +msgstr "ដáŸáž˜áž·áž“ HAL ៖" + +#: detaileddialog.cpp:482 +msgid "running" +msgstr "កំពុង​រážáŸ‹" + +#: detaileddialog.cpp:486 +msgid "not running" +msgstr "មិន​កំពុង​រážáŸ‹" + +#: info_Dialog.cpp:197 +msgid "Information" +msgstr "áž–áŸážáŸŒáž˜áž¶áž“" + +#: dummy.cpp:36 +msgid "If the current desktop user is inactive, dim the display to:" +msgstr "បើ​អ្នក​ប្រើ​ផ្ទៃážáž»â€‹áž”ច្ចុប្បន្ន​នៅ​ស្ងៀម ចូរ​ធ្វើ​ឲ្យ​ការ​បង្ហាញ​ស្រអាប់​ទៅ ៖" + +#: dummy.cpp:37 +msgid "Enable dim display on inactivity" +msgstr "អនុញ្ញាážâ€‹áž’្វើ​ឲ្យ​ការ​បង្ហាញ​ស្រអាប់ នៅ​ពáŸáž›â€‹áž¢ážŸáž€áž˜áŸ’ម" + +#: dummy.cpp:38 +msgid "Blacklist" +msgstr "បញ្ជី​ážáŸ’មៅ" + +#: dummy.cpp:39 +msgid "" +"Here you can add programs which should, if running, prevent the dimming of " +"the display." +msgstr "ទីនáŸáŸ‡ អ្នក​អាច​បន្ážáŸ‚ម​កម្មវិធី (បើ​កំពុង​រážáŸ‹) ដែល​គួរ​រារាំង​មិន​ឲ្យ​ធ្វើ​ឲ្យ​ការ​បង្ហាញ​ស្រអាប់ ។" + +#: dummy.cpp:41 +msgid "Would you like to import a predefined blacklist?" +msgstr "ážáž¾â€‹áž¢áŸ’នក​ចង់​នាំចូល​បញ្ជី​ážáŸ’មៅ ដែល​បាន​កំណážáŸ‹â€‹áž‡áž¶áž˜áž»áž“​ឬ​ទáŸÂ ?" + +#: dummy.cpp:42 +msgid "Disable CPUs/Cores" +msgstr "មិន​អនុញ្ញាážâ€‹ážŸáŸŠáž¸áž—ីយូ/Cores" + +#: dummy.cpp:43 +msgid "Max. running CPUs:" +msgstr "ស៊ីភីយូ​រážáŸ‹â€‹áž¢ážáž·. ៖" + +#: dummy.cpp:44 +msgid "Max. running CPUs/Cores:" +msgstr "ស៊ីភីយូ/Cores ážšážáŸ‹â€‹áž¢ážáž·. ៖" + +#: dummy.cpp:45 +msgid "Min. running CPUs:" +msgstr "ស៊ីភីយូ​រážáŸ‹â€‹áž¢áž”្ប. ៖" + +#: dummy.cpp:46 +msgid "Min. running CPUs/Cores:" +msgstr "ការ​រážáŸ‹ CPUs/Cores អប្ប. ៖" + +#: dummy.cpp:47 +msgid "Enable to switch off CPUs/cores" +msgstr "អនុញ្ញាážâ€‹áž²áŸ’យ​បិទស៊ីភីយូ" + +#: dummy.cpp:48 +msgid "You have a multiprocessor/multicore machine." +msgstr "អ្នក​មាន​ម៉ាស៊ីន​ដែល​មាន​ážáž½ážšáž€áŸ’បាល​/core ច្រើន ។" + +#: dummy.cpp:49 +msgid "" +"You can disable CPUs/cores to reduce power consumption and save battery " +"power." +msgstr "អ្នក​អាច​មិន​អនុញ្ញាហស៊ីភីយូ/cores ដើម្បី​កាážáŸ‹â€‹áž”ន្ážáž™â€‹áž€áž¶ážšâ€‹áž”្រើប្រាស់​ážáž¶áž˜áž–áž› និង​សន្សំ​ážáž¶áž˜áž–ល​ážáŸ’ម ។" + +#: dummy.cpp:50 +msgid "Device" +msgstr "ឧបករណáŸ" + +#: dummy.cpp:51 +msgid "Devices" +msgstr "ឧបករណáŸ" + +#: dummy.cpp:52 +msgid "Device class" +msgstr "ážáŸ’នាក់​ឧបករណáŸ" + +#: dummy.cpp:53 +msgid "activate" +msgstr "ធ្វើ​ឲ្យ​សកម្ម" + +#: dummy.cpp:54 +msgid "Activate" +msgstr "ធ្វើ​ឲ្យ​សកម្ម" + +#: dummy.cpp:55 +msgid "deactivate" +msgstr "ធ្វើ​ឲ្យ​អសកម្ម" + +#: dummy.cpp:56 +msgid "Deactivate" +msgstr "ធ្វើ​ឲ្យ​អសកម្ម" + +#: dummy.cpp:57 +msgid "activated" +msgstr "សកម្ម" + +#: dummy.cpp:59 +msgid "do nothing" +msgstr "មិន​ធ្វើ​អ្វី​ទាំងអស់" + +#: dummy.cpp:60 +msgid "Deactivate following devices:" +msgstr "ធ្វើ​ឲ្យ​ឧបករណáŸâ€‹ážáž¶áž„​ក្រោម​អសកម្ម ៖" + +#: dummy.cpp:61 +msgid "Activate following devices" +msgstr "ធ្វើ​ឲ្យ​ឧបករណáŸâ€‹ážáž¶áž„​ក្រោម​សកម្ម ៖" + +#: dummy.cpp:62 +msgid "Reactivate following devices" +msgstr "ធ្វើ​ឲ្យ​ឧបករណáŸâ€‹ážáž¶áž„​ក្រោម​សកម្មឡើងវិញ ៖" + +#: dummy.cpp:63 +msgid "Deactivate following device classes:" +msgstr "ធ្វើ​ឲ្យ​ážáŸ’នាក់​ឧបករណáŸâ€‹ážáž¶áž„​ក្រោម​អសកម្ម​ ៖" + +#: dummy.cpp:64 +msgid "Activate following devices classes" +msgstr "ធ្វើ​ឲ្យ​ážáŸ’នាក់ឧបករណáŸâ€‹ážáž¶áž„​ក្រោម​សកម្ម ៖" + +#: dummy.cpp:65 +msgid "Reactivate following device classes" +msgstr "ធ្វើ​ឲ្យ​ážáŸ’នាក់​ឧបករណáŸâ€‹ážáž¶áž„​ក្រោម​សកម្មឡើង​វិញ​ ៖" + +#: dummy.cpp:66 +msgid "If the scheme switched all devices are again activated." +msgstr "បើ​គ្រោងការណáŸâ€‹ážáŸ’រូវ​បាន​ប្ដូរ នោះ​ឧបករណáŸâ€‹áž‘ាំងអស់​នឹង​ážáŸ’រូវ​បាន​សកម្ម​ម្ដង​ទៀážÂ áŸ”" + +#: dummy.cpp:67 +msgid "This is a experimental feature." +msgstr "áž“áŸáŸ‡â€‹áž‡áž¶â€‹áž›áž€áŸ’ážážŽáŸˆáž–ិសáŸážŸâ€‹áž‡áŸ†áž“ាញ ។" + +#: dummy.cpp:68 +msgid "If you have problems with this feature, please report them." +msgstr "បើ​អ្នក​មាន​បញ្ហា​ជាមួយ​នឹង​លក្ážážŽáŸˆâ€‹áž–ិសáŸážŸâ€‹áž“áŸáŸ‡ សូម​រាយការណáŸâ€‹áž–ួក​វា ។" + +#: dummy.cpp:69 +msgid "Select one of the available devices and click on " +msgstr "ជ្រើស​ឧបករណáŸâ€‹áž˜áž½áž™â€‹áž€áŸ’នុង​ចំណោម​ឧបករណáŸâ€‹ážŠáŸ‚ល​មាន​ទាំងអស់ ហើយ​ចុច​លើ" + +#: dummy.cpp:70 +msgid "Select one of the available device classes and click on " +msgstr "ជ្រើស​ážáŸ’នាក់​ឧបករណáŸâ€‹áž˜áž½áž™â€‹áž€áŸ’នុង​ចំណោម​ážáŸ’នាក់​ឧបករណáŸâ€‹ážŠáŸ‚ល​មាន​ទាំងអស់ ហើយ​ចុច​លើ" + +#: dummy.cpp:71 +msgid "Select one or more of the available devices and click on " +msgstr "ជ្រើស​ឧបករណáŸâ€‹áž˜áž½áž™ ឬ​ច្រើន​ក្នុង​ចំណោម​ឧបករណáŸâ€‹ážŠáŸ‚ល​មាន​ទាំងអស់ ហើយ​ចុច​លើ" + +#: dummy.cpp:72 +msgid "Select one or more of the available device classes and click on " +msgstr "ជ្រើស​ážáŸ’នាក់​ឧបករណáŸâ€‹áž˜áž½áž™ ឬ​ច្រើន​ក្នុង​ចំណោម​ážáŸ’នាក់​ឧបករណáŸâ€‹ážŠáŸ‚ល​មាន​ទាំងអស់ ហើយ​ចុច​លើ" + +#: dummy.cpp:73 +msgid "" +"Please note: If you e.g. deactivate a network device you may lose your " +"internet connection." +msgstr "សូម​ចំណាំ​ážáž¶Â áŸ– បើ​អ្នកធ្វើ​ឲ្យ​ឧបករណáŸâ€‹áž”ណ្ដាញ​មួយ​អសកម្ម អ្នក​នឹង​បាážáŸ‹áž”ង់​ការážáž—្ជាប់​អ៊ីនធឺណិážâ€‹ážšáž”ស់​អ្នក ។" + +#: dummy.cpp:75 +msgid "" +"Note: If you select this option, the computer will suspend or standby " +"if the current user is inactive for the defined time.

    This feature " +"can also produce problems with some programs, such as video players or cd " +"burner. These programs can be blacklisted by checking Enable scheme-" +"specific blacklist and click Edit Blacklist.... If this does not " +"help, report the problem or deactivate autosuspend.

    Really use this " +"option?" +msgstr "" +"ចំណាំ ៖ បើ​អ្នក​ជ្រើស​ជម្រើស​នáŸáŸ‡ នោះ​កុំព្យូទáŸážšáž“ឹង​ផ្អាក ឬ​រង់ចាំ​បើ​អ្នក​ប្រើ​បច្ចុប្បន្ននៅ​ស្ងៀម​អស់​" +"រយៈពáŸáž›â€‹áž€áŸ†ážŽážáŸ‹â€‹ážŽáž¶â€‹áž˜áž½áž™Â áŸ”

    លក្ážážŽáŸˆâ€‹áž–ិសáŸážŸâ€‹áž“áŸáŸ‡â€‹áž¢áž¶áž…​បណ្ដាល​ឲ្យ​មាន​បញ្ហាជាមួយ​នឹង​កម្មវិធី​មួយ​ចំនួន ដូចជា​" +"កម្មវិធី​ចាក់​វីដáŸáž¢áž¼ ឬ​កម្មវិធីដុážâ€‹ážŸáŸŠáž¸ážŒáž¸Â áŸ”​កម្មវិធី​ទាំងនáŸáŸ‡ អាច​ážáŸ’រូវ​បាន​រាយក្នុង​បញ្ជី​ážáŸ’មៅ​ដោយ​ចុច អនុញ្ញាážâ€‹áž”ញ្ជី​" +"ážáŸ’មៅ​សម្រាប់​គ្រោងការណáŸâ€‹áž‡áž¶áž€áŸ‹áž›áž¶áž€áŸ‹ ហើយ​ចុច កែសម្រួល​បញ្ជី​ážáŸ’មៅ​... ។ បើ​វា​មិន​អាច​ជួយ​បាន​ទ០ចូរ​" +"រាយការណáŸâ€‹áž”ញ្ហា ឬ​ធ្វើ​ឲ្យ​ការ​ផ្អាក​ស្វáŸáž™áž”្រវážáŸ’ážáž·â€‹áž¢ážŸáž€áž˜áŸ’ម ។​

    áž–áž·ážâ€‹áž‡áž¶â€‹áž”្រើ​ជម្រើស​នáŸáŸ‡â€‹áž¬Â ?" + +#: dummy.cpp:82 +msgid "Try to use only one CPU/Core." +msgstr "ព្យាយាម​ប្រើ​ážáŸ‚​ស៊ីភីយូ​មួយ​ប៉ុណ្ណោះ ។" + +#: dummy.cpp:83 +msgid "" +"Reduce power consumption by try to use only one CPU/Core instead of " +"spreading the work over all/multiple CPUs." +msgstr "" +"កាážáŸ‹â€‹áž”ន្ážáž™â€‹áž€áž¶ážšâ€‹áž”្រើ​ážáž¶áž˜áž–ល​ដោយ​ព្យាយាម​ប្រើ​ážáŸ‚​ស៊ីភីយូ​មួយ​ប៉ុណ្ណោះ ជំនួស​ឲ្យ​ការ​ពង្រីក​ការងារ​លើ​ស៊ីភីយូ​ច្រើន/​ទាំង​" +"អស់ ។" + +#: dummy.cpp:87 +msgid "Could not load the global configuration." +msgstr "មិន​អាច​ផ្ទុក​ការ​កំណážáŸ‹â€‹ážšáž…នាសម្ពáŸáž“្ធ​សកល​បាន​ឡើយ ។" + +#: dummy.cpp:88 +msgid "Could not load the requested scheme configuration." +msgstr "មិន​អាច​ផ្ទុក​ការ​កំណážáŸ‹â€‹ážšáž…នាសម្ពáŸáž“្ធគ្រោងការណáŸâ€‹ážŠáŸ‚លបាន​ស្នើសុំ​បាន​ឡើយ ។" + +#: dummy.cpp:89 +msgid "Configure the current scheme." +msgstr "កំណážáŸ‹â€‹ážšáž…នាសម្ពáŸáž“្ធ​គ្រោងការណáŸâ€‹áž”ច្ចុប្បន្ន ។" + +#: dummy.cpp:90 +msgid "Try loading the default configuration." +msgstr "ព្យាយាម​ផ្ទុក​ការ​កំណážáŸ‹â€‹ážšáž…នាសម្ពáŸáž“្ធ​លំនាំដើម ។" + +#: dummy.cpp:91 +msgid "Maybe the global configuration file is empty or missing." +msgstr "ប្រហែល​ជា​បាážáŸ‹â€‹áž¯áž€ážŸáž¶ážšâ€‹áž€áŸ†ážŽážáŸ‹â€‹ážšáž…នាសម្ពáŸáž“្ធ​សកល ឬ​កáŸâ€‹áž‘áž‘áŸÂ áŸ”" + +#: dummy.cpp:94 +msgid "Cannot connect to D-Bus. The D-Bus daemon may not be running." +msgstr "មិន​អាច​ទាក់ទង D-Bus ។ ដáŸáž˜áž·áž“​ D-Bus អាច​មិន​កំពុង​រážáŸ‹Â áŸ”" + +#: dummy.cpp:95 +msgid "" +"Scheme switched to %1. \n" +" Deactivate following devices: %2" +msgstr "" +"បាន​ប្ដូរ​គ្រោងការណáŸâ€‹áž‘ៅ​ជា %1 ។\n" +" ធ្វើ​ឲ្យ​ឧបករណáŸâ€‹ážáž¶áž„​ក្រោម​អសកម្ម ៖ %2" + +#: dummy.cpp:96 +msgid "" +"Scheme switched to %1. \n" +" Activate following devices: %2" +msgstr "" +"បាន​ប្ដូរ​គ្រោងការណáŸâ€‹áž‘ៅ​ជា %1 ។\n" +" ធ្វើ​ឲ្យ​ឧបករណáŸâ€‹ážáž¶áž„ក្រោម​សកម្ម ៖ %2" + +#: dummy.cpp:97 +msgid "Report ..." +msgstr "រាយការណáŸ..." + +#: dummy.cpp:98 +msgid "Suspend to RAM is not supported on your machine." +msgstr "ការ​ផ្អាក​ទៅ​សážáž· មិន​ážáŸ’រូវ​បាន​គាំទ្រ​ឡើយ​លើ​ម៉ាស៊ីន​របស់​អ្នក ។" + +#: dummy.cpp:99 +msgid "Additionally, please mail the output of %1 to %2 . Thanks!" +msgstr "សូម​ផ្ញើ​លទ្ធផល​របស់ %1 ទៅ %2 ។ សូម​អរគុណ !" + +#: dummy.cpp:100 +msgid "Power consumption" +msgstr "ការ​ប្រើប្រាស់​ážáž¶áž˜áž–áž›" + +#: dummy.cpp:103 +msgid "KScreensaver not found." +msgstr "រក​មិនឃើញ KScreensaver ។" + +#: dummy.cpp:104 +msgid "Try locking with XScreensaver or xlock." +msgstr "ព្យាយាម​ចាក់សោ​ជាមួយ XScreensaver ឬ xlock ។" + +#: dummy.cpp:105 +msgid "XScreensaver not found." +msgstr "រក​មិន​ឃើញ XScreensaver ។" + +#: dummy.cpp:106 +msgid "Try locking the screen with xlock." +msgstr "ព្យាយាម​ចាក់សោ​ជាមួយ xlock ។" + +#: dummy.cpp:107 +msgid "" +"XScreensaver and xlock not found. It is not possible to lock the screen. " +"Check your installation." +msgstr "" +"រក​មិន​ឃើញ XScreensaver áž“áž·áž„ xlock ។ មិន​អាច​ចាក់សោអáŸáž€áŸ’រង់​បាន​ឡើយ ។ សូមពិនិážáŸ’យ​ការ​ដំឡើង​របស់​អ្នក ។" + +#: dummy.cpp:111 +msgid "HAL daemon:" +msgstr "ដáŸáž˜áž·áž“ HAL ៖" + +#: dummy.cpp:112 +msgid "D-Bus daemon:" +msgstr "ដáŸáž˜áž·áž“ D-Bus ៖" + +#: dummy.cpp:113 +msgid "ConsoleKit daemon:" +msgstr "ដáŸáž˜áž·áž“ ConsoleKit ៖" + +#: dummy.cpp:114 +msgid "Autosuspend activated:" +msgstr "ផ្អាក​ស្វáŸáž™áž”្រវážáŸ’ážáž· សកម្ម ៖" + +#: dummy.cpp:115 +msgid "Autodimm activated:" +msgstr "បាន​ធ្វើ​ឲ្យ Autodimm សកម្ម ៖" + +#: dummy.cpp:116 +msgid "enabled" +msgstr "អនុញ្ញាáž" + +#: dummy.cpp:117 +msgid "Session active:" +msgstr "សមáŸáž™â€‹ážŸáž€áž˜áŸ’ម ៖" + +#: dummy.cpp:120 +msgid "Inactivity detected." +msgstr "បាន​លុប​មិនសកម្ម ។" + +#: dummy.cpp:121 +msgid "To stop the %1 press the 'Cancel' button before the countdown expire." +msgstr "ដើម្បី​បញ្ឈប់ %1 ចុច​ប៊ូážáž»áž„ 'បោះបង់' មុន​ពáŸáž› áž–áŸáž›ážœáŸáž›áž¶â€‹ážšáž¶áž”់​ážáž™â€‹áž€áŸ’រោយ​ផុážâ€‹Â áŸ”" + +#: dummy.cpp:122 +msgid "The computer autosuspend in: " +msgstr "កុំព្យូទáŸážšâ€‹áž•áŸ’អាក​ស្វáŸáž™â€‹áž”្រវážáŸ’ážáž·â€‹áž€áŸ’នុង​រយៈពáŸáž›Â áŸ–" + +#: dummy.cpp:123 +#, c-format +msgid "The display get dimmed down to %1% in: " +msgstr "ការ​បង្ហាញ​ážáŸ’រូវ​បាន​ធ្វើ​ឲ្យ​ស្រអាប់​ទៅ %1% ក្នុង​រយៈពáŸáž›Â áŸ–" + +#: dummy.cpp:124 +msgid "%1 seconds" +msgstr "%1 វិនាទី" + +#: dummy.cpp:127 +msgid "Could not call %1. The current desktop session is not active." +msgstr "មិន​អាច​ហៅ %1 ។ សមáŸáž™â€‹áž•áŸ’ទៃážáž»â€‹áž”ច្ចុប្បន្ន​មិន​សកម្ម ។" + +#: dummy.cpp:128 +msgid "Could not set %1. The current desktop session is not active." +msgstr "មិនអាច​កំណážáŸ‹ %1 ។ សមáŸáž™â€‹áž•áŸ’ទៃážáž»â€‹áž”ច្ចុប្បន្ន​មិន​សកម្ម ។" + +#: dummy.cpp:129 +msgid "Stopped %1. The current desktop session is now inactive." +msgstr "បាន​បញ្ឈប់ %1 ។ សមáŸáž™â€‹áž•áŸ’ទៃážáž»â€‹áž”ច្ចុប្បន្ន​ឥឡូវ​សកម្ម ។" + +#: dummy.cpp:130 +msgid "Restarted %1. The current desktop session is now active again." +msgstr "បាន​ចាប់ផ្ដើម​ឡើង​វិញ %1 ។ សមáŸáž™â€‹áž•áŸ’ទៃážáž»â€‹áž”ច្ចុប្បន្ន​ឥឡូវ​សកម្ម​ម្ដង​ទៀážÂ áŸ”" + +#: log_viewer.cpp:78 +msgid "Form1" +msgstr "សំណុំ​បែបបទ ១" + +#: log_viewer.cpp:79 +msgid "Save As ..." +msgstr "រក្សាទុក​ជា ..." + +#: log_viewer.cpp:80 +msgid "Close" +msgstr "បិទ​" + +#: logviewer.cpp:44 +msgid "KPowersave Logfile Viewer: %1" +msgstr "កម្មវិធី​មើល​ឯកសារ​កំណážáŸ‹â€‹áž áŸážáž»â€‹ážšáž”ស់ KPowersave ៖ %1" + +#: logviewer.cpp:89 +msgid "File already exist. Overwrite the file?" +msgstr "ឯកសារ​មាន​រួច​ហើយ ។ សរសáŸážšâ€‹áž‡áž¶áž“់​លើ​ឯកសារ ?" + +#: logviewer.cpp:90 logviewer.cpp:97 +msgid "Error while save logfile" +msgstr "កំហុស​ážážŽáŸˆáž–áŸáž›â€‹ážšáž€áŸ’សាទុក​ឯកសារ​កំណážáŸ‹â€‹áž áŸážáž»" + +#: logviewer.cpp:95 +msgid "File already exist." +msgstr "ឯកសារ​មាន​រួច​ហើយ ។" + +#: logviewer.cpp:98 +msgid "Try other filename ..." +msgstr "ព្យាយាម​ឈ្មោះ​ឯកសារ​មួយ​ផ្សáŸáž„​ទៀហ..." + +#: suspenddialog.cpp:70 +msgid "Preparing Suspend..." +msgstr "កំពុង​រៀបចំ​ផ្អាក​..." + +#: kpowersave.cpp:168 +msgid "Configure KPowersave..." +msgstr "កំណážáŸ‹â€‹ážšáž…នាសម្ពáŸáž“្ធ KPowersave..." + +#: kpowersave.cpp:171 configure_Dialog.cpp:915 +msgid "Configure Notifications..." +msgstr "កំណážáŸ‹â€‹ážšáž…នាសម្ពáŸáž“្ធ​ការ​ជូនដំណឹង..." + +#: kpowersave.cpp:175 +msgid "Start YaST2 Power Management Module..." +msgstr "ចាប់​ផ្ដើម​ម៉ូឌុល​គ្រប់គ្រង​ážáž¶áž˜áž–ល​របស់ YaST2..." + +#: kpowersave.cpp:189 kpowersave.cpp:2106 kpowersave.cpp:2166 +#: kpowersave.cpp:2253 +msgid "Standby" +msgstr "រង់ចាំ" + +#: kpowersave.cpp:191 kpowersave.cpp:198 +msgid "Set CPU Frequency Policy" +msgstr "កំណážáŸ‹â€‹áž‚ោលការណáŸâ€‹áž”្រáŸáž€áž„់​របស់​ស៊ីភីយូ" + +#: kpowersave.cpp:205 kpowersave.cpp:206 +msgid "Set Active Scheme" +msgstr "កំណážáŸ‹â€‹áž‚្រោងការណáŸâ€‹ážŸáž€áž˜áŸ’ម" + +#: kpowersave.cpp:212 +msgid "Disable Actions on Inactivity" +msgstr "មិន​អនុញ្ញាážâ€‹áž¢áŸ†áž–áž¾ áž–áŸáž›â€‹áž¢ážŸáž€áž˜áŸ’មភាព" + +#: kpowersave.cpp:219 kpowersave.cpp:229 +msgid "&Help" +msgstr "ជំនួយ" + +#: kpowersave.cpp:221 +msgid "&KPowersave Handbook" +msgstr "សៀវភៅ​ដៃ &KPowersave" + +#: kpowersave.cpp:224 +msgid "&Report a bug ..." +msgstr "រាយការណáŸâ€‹áž€áŸ†áž áž»ážŸ..." + +#: kpowersave.cpp:226 +msgid "&About KPowersave" +msgstr "អំពី KPowersave" + +#: kpowersave.cpp:275 kpowersave.cpp:648 kpowersave.cpp:656 kpowersave.cpp:703 +#: kpowersave.cpp:710 kpowersave.cpp:759 kpowersave.cpp:766 kpowersave.cpp:815 +#: kpowersave.cpp:822 kpowersave.cpp:1126 kpowersave.cpp:1241 +#: kpowersave.cpp:1270 kpowersave.cpp:2183 +msgid "WARNING" +msgstr "ព្រមាន" + +#: kpowersave.cpp:275 +msgid "Cannot find any schemes." +msgstr "មិន​អាច​រក​គ្រោងការណáŸÂ áŸ”" + +#: kpowersave.cpp:453 +msgid "No information about battery and AC status available" +msgstr "មិន​មាន​ពáŸážáŸŒáž˜áž¶áž“​អំពី​ážáŸ’ម និង​ស្ážáž¶áž“ភាព​ចរន្ážâ€‹áž†áŸ’លាស់​ឡើយ" + +#: kpowersave.cpp:456 +msgid "Plugged in -- fully charged" +msgstr "បាន​ដោហ-- បាន​បញ្ចូល​ážáŸ’ម​ពáŸáž‰" + +#: kpowersave.cpp:460 +msgid "Plugged in" +msgstr "បានដោáž" + +#: kpowersave.cpp:464 +msgid "Plugged in -- %1% charged (%2:%3 h until full charged)" +msgstr "បាន​ដោហ-- បញ្ចូល​បាន %1% (%2:%3 ម៉ោង ទៀážâ€‹áž‘ើប​ពáŸáž‰)" + +#: kpowersave.cpp:467 +msgid "Plugged in -- %1% charged (%2:%3 remaining hours)" +msgstr "បានដោហ-- បញ្ចូល​ážáŸ’ម​បាន %1% (នៅ​សល់ %2:%3 ម៉ោង​)" + +#: kpowersave.cpp:471 kpowersave.cpp:475 +#, c-format +msgid "Plugged in -- %1% charged" +msgstr "បាន​ដោហ-- បញ្ចូល​ážáŸ’ម​បាន %1%" + +#: kpowersave.cpp:474 +msgid "Plugged in -- no battery" +msgstr "បាន​ដោហ-- អស់​ážáŸ’ម" + +#: kpowersave.cpp:480 +msgid "Running on batteries -- %1% charged (%2:%3 hours remaining)" +msgstr "កំពុង​រážáŸ‹â€‹ážŠáŸ„យ​ប្រើ​ážáŸ’ម -- បញ្ចូល​ážáŸ’ម​បាន %1% (នៅសល់ %2:%3 ម៉ោង)" + +#: kpowersave.cpp:484 +#, c-format +msgid "Running on batteries -- %1% charged" +msgstr "កំពុង​រážáŸ‹â€‹ážŠáŸ„យ​ប្រើ​ážáŸ’ម -- បញ្ចូល​បាន %1%" + +#: kpowersave.cpp:491 +msgid " -- battery is charging" +msgstr " -- កំពុង​បញ្ចូល​ážáŸ’ម" + +#: kpowersave.cpp:649 kpowersave.cpp:657 +msgid "Could not start YaST Power Management Module. Check if it is installed." +msgstr "" +"មិន​អាច​ចាប់ផ្ážáž¾áž˜áž˜áŸ‰áž¼ážŒáž»áž›â€‹áž‚្រប់គ្រង​ážáž¶áž˜áž–ល​របស់ YaST បាន​ឡើយ ។ សូម​ពិនិážáŸ’យ​មើល​ážáž¶ វា​ážáŸ’រូវ​បាន​ដំឡើង​ឬ​ទáŸÂ áŸ”" + +#: kpowersave.cpp:703 +msgid "Suspend to disk failed" +msgstr "ការ​ផ្អាក​​ទៅ​ážáž¶ážŸâ€‹áž”ាន​បរាជáŸáž™" + +#: kpowersave.cpp:711 +msgid "Suspend to disk disabled by administrator." +msgstr "ការ​ផ្អាក​ទៅ​ážáž¶ážŸâ€‹ážáŸ’រូវ​បាន​បិទ​ដោយ​អ្នក​គ្រប់គ្រង ។" + +#: kpowersave.cpp:759 +msgid "Suspend to RAM failed" +msgstr "ការ​ផ្អាក​ទៅ​សážáž·â€‹áž”ាន​បរាជáŸáž™" + +#: kpowersave.cpp:767 +msgid "Suspend to RAM disabled by administrator." +msgstr "ការ​ផ្អាក​ទៅ​សážáž· ážáŸ’រូវ​បាន​បិទ​ដោយ​អ្នក​គ្រប់គ្រង ។" + +#: kpowersave.cpp:815 +msgid "Standby failed" +msgstr "ការ​រង់ចាំ​បាន​បរាជáŸáž™" + +#: kpowersave.cpp:822 +msgid "Standby disabled by administrator." +msgstr "ការ​រង់ចាំ​ážáŸ’រូវ​បាន​បិទ​ដោយ​អ្នក​គ្រប់គ្រង ។" + +#: kpowersave.cpp:853 +msgid "System is going into suspend mode now" +msgstr "ឥឡូវ ប្រពáŸáž“្ធ​កំពុង​ចូល​ទៅ​ក្នុង​របៀប​ផ្អាក" + +#: kpowersave.cpp:1039 +msgid "Could not call DCOP interface to umount external media." +msgstr "មិន​អាច​ហៅ​ចំណុច​ប្រទាក់ DCOP ដើម្បី​អាន់ម៉ោន​មáŸážŒáŸ€â€‹ážáž¶áž„​ក្រៅ ។" + +#: kpowersave.cpp:1044 +msgid "" +"Could not umount external media before suspend/standby. \n" +" (Reason: %1)\n" +" \n" +" Would you like to continue suspend/standby anyway? \n" +"(Warning: Continue suspend can cause data loss!)" +msgstr "" +"មិន​អាច​អាន់​ម៉ោន​មáŸážŒáŸ€â€‹ážáž¶áž„​ក្រៅ មុន​ពáŸáž›â€‹áž•áŸ’អាក/រង់ចាំ ។\n" +" (មូលហáŸážáž»Â áŸ– %1)\n" +" \n" +" បើ​អញ្ចឹង ážáž¾â€‹â€‹áž¢áŸ’នក​ចង់​បន្ážáž•áŸ’អាក/រង់ចាំ ? \n" +"(ការ​ព្រមាន ៖ បន្ážâ€‹áž•áŸ’អាក អាច​បណ្ដាល​ឲ្យ​បាážáŸ‹áž”ង់​ទិន្ននáŸáž™Â !)" + +#: kpowersave.cpp:1052 +msgid "Error while prepare %1" +msgstr "កំហុស​ážážŽáŸˆáž–áŸáž›â€‹ážšáŸ€áž”ចំ %1" + +#: kpowersave.cpp:1053 +msgid "Suspend anyway" +msgstr "អញ្ចឹង​ផ្អាក" + +#: kpowersave.cpp:1053 +msgid "Cancel suspend" +msgstr "បោះបង់​ការ​ផ្អាក" + +#: kpowersave.cpp:1127 +msgid "" +"Could not lock the screen. There may be a problem with the selected \n" +"lock method or something else." +msgstr "" +"មិន​អាច​ចាក់សោ​អáŸáž€áŸ’រង់​បាន​ឡើយ ។ វា​ប្រហែល​ជា​មាន​បញ្ហា​ជាមួយ​នឹង​វិធីសាស្ážáŸ’រ​ចាក់សោ\n" +"ដែល​បាន​ជ្រើស ឬ​មូលហáŸážáž»â€‹áž•áŸ’សáŸáž„​ទៀážÂ áŸ”" + +#: kpowersave.cpp:1144 +msgid "The Lid was closed." +msgstr "បាន​បិទ​គម្រប ។" + +#: kpowersave.cpp:1156 +msgid "The Lid was opened." +msgstr "បាន​បើក​គម្រប ។" + +#: kpowersave.cpp:1223 +msgid "Start KPowersave automatically when you log in?" +msgstr "ចាប់ផ្ដើម KPowersave ដោយ​ស្វáŸáž™áž”្រវážáŸ’ážáž·â€‹áž–áŸáž›â€‹áž¢áŸ’នក​ចូល ?" + +#: kpowersave.cpp:1224 +msgid "Question" +msgstr "សំណួរ" + +#: kpowersave.cpp:1225 +msgid "Start Automatically" +msgstr "ចាប់ផ្ដើម​ស្វáŸáž™â€‹áž”្រវážáŸ’ážáž·" + +#: kpowersave.cpp:1225 +msgid "Do Not Start" +msgstr "កុំ​ចាប់ផ្ដើម" + +#: kpowersave.cpp:1242 +msgid "CPU Freq Policy %1 could not be set." +msgstr "មិន​អាច​កំណážáŸ‹áž‚ោលការណáŸâ€‹áž”្រáŸáž€áž„់ %1 របស់​ស៊ីភីយូ​បាន​ឡើយ ។" + +#: kpowersave.cpp:1271 +msgid "Scheme %1 could not be activated." +msgstr "មិន​អាច​ធ្វើ​ឲ្យ​គ្រោងការណ០%1 សកម្ម​បាន​ឡើយ ។" + +#: kpowersave.cpp:1600 +msgid "" +"The D-Bus daemon is not running.\n" +"Starting it will provide full functionality: /etc/init.d/dbus start" +msgstr "" +"ដáŸáž˜áž·áž“ D-Bus មិន​កំពុង​រážáŸ‹â€‹áž‘áŸÂ áŸ”\n" +"ចាប់ផ្ដើម​វា នឹង​ផ្ដល់​មុážáž„ារ​ពáŸáž‰áž›áŸáž‰Â áŸ– /etc/init.d/dbus start" + +#: kpowersave.cpp:1611 +msgid "Don't show this message again." +msgstr "កុំ​បង្ហាញ​សារ​នáŸáŸ‡â€‹áž˜áŸ’ដង​ទៀážÂ áŸ”" + +#: kpowersave.cpp:1637 +msgid "ERROR" +msgstr "កំហុស" + +#: kpowersave.cpp:1638 +msgid "Could not get information from HAL. The haldaemon is maybe not running." +msgstr "មិន​អាច​ទទួល​បាន​ពáŸážáŸŒáž˜áž¶áž“​ពី HAL បាន​ឡើយ ។ haldaemon ប្រហែល​ជា​មិន​កំពុង​រážáŸ‹áž¡áž¾áž™Â áŸ”" + +#: kpowersave.cpp:1641 +msgid "Error" +msgstr "កំហុស" + +#: kpowersave.cpp:1912 +msgid "" +"Battery state changed to WARNING -- remaining time: %1 hours and %2 minutes." +msgstr "ព្រមាន​ចំពោះ​ážáŸ’ម -- áž–áŸáž›ážœáŸáž›áž¶â€‹áž“ៅ​សល់ ៖ %1 ម៉ោង áž“áž·áž„ %2 នាទី ។" + +#: kpowersave.cpp:1921 +msgid "" +"Battery state changed to LOW -- remaining time: %1 hours and %2 minutes." +msgstr "ážáŸ’ម​ážáŸ’សោយ​ហើយ -- áž–áŸáž›ážœáŸáž›áž¶â€‹áž“ៅ​សល់ ៖ %1 ម៉ោង áž“áž·áž„ %2 នាទី ។" + +#: kpowersave.cpp:1932 +msgid "" +"Battery state changed to CRITICAL -- remaining time: %1 hours and %2 " +"minutes.\n" +"Shut down your system or plug in the power cable immediately. Otherwise the " +"machine\n" +"will go shutdown in 30 seconds" +msgstr "" +"ស្ážáž¶áž“ភាព​ážáŸ’មី​បាន​ផ្លាស់ប្ដូរ​ទៅ​ážáŸ’សោយ​បំផុហ-- áž–áŸáž›â€‹ážœáŸáž›áž¶â€‹áž“ៅ​សល់ ៖ %1 ម៉ោង áž“áž·áž„ %2 នាទី ។\n" +"បិទ​កុំព្យូទáŸážš ឬ​ដោážâ€‹ážáŸ’សែ​បញ្ចូល​ភ្លើង​ភ្លាម ។ បើ​មិន​ដូច្នáŸáŸ‡â€‹áž‘áŸâ€‹â€‹áž€áž»áŸ†áž–្យូទáŸážšâ€‹\n" +"នឹង​បិទ​ក្នុង​រយៈ​ពáŸáž› ៣០ វិនាទី​ទៀáž" + +#: kpowersave.cpp:1943 +msgid "" +"Battery state changed to CRITICAL -- remaining time: %1 hours and %2 " +"minutes.\n" +"Shut down your system or plug in the power cable immediately." +msgstr "" +"ស្ážáž¶áž“ភាព​ážáŸ’ម​បាន​ផ្លាស់ប្ដូរ​ទៅ​ážáŸ’សោយ​បំផុហ-- áž–áŸáž›â€‹ážœáŸáž›áž¶â€‹áž“ៅ​សល់ ៖ %1 ម៉ោង áž“áž·áž„ %2 នាទី ។\n" +"បិទ​កុំព្យូទáŸážš ឬ​ដោážâ€‹ážáŸ’សែ​បញ្ចូល​ភ្លើង​ភ្លាម ។" + +#: kpowersave.cpp:2041 +msgid "AC adapter plugged in" +msgstr "បាន​ដោážâ€‹áž¢áž¶ážŠáž¶áž”់ទáŸážšâ€‹áž…រន្ážâ€‹áž†áŸ’លាស់" + +#: kpowersave.cpp:2043 +msgid "AC adapter unplugged" +msgstr "បាន​ដក​អាដាប់ទáŸážšâ€‹áž…រន្ážâ€‹áž†áŸ’លាស់" + +#: kpowersave.cpp:2078 +msgid "Switched to scheme: %1" +msgstr "បាន​ប្ដូរ​ទៅ​គ្រោងការណáŸÂ áŸ– %1" + +#: kpowersave.cpp:2095 kpowersave.cpp:2100 kpowersave.cpp:2105 +msgid "System is going into %1 now." +msgstr "ឥឡូវ ប្រពáŸáž“្ធ​កំពុង​ចូល​ទៅ %1 ។" + +#: kpowersave.cpp:2155 kpowersave.cpp:2160 kpowersave.cpp:2165 +msgid "System is resumed from %1." +msgstr "ប្រពáŸáž“្ធ​ážáŸ’រូវ​បាន​បន្ážâ€‹áž–ី %1 ។" + +#: kpowersave.cpp:2184 +msgid "Could not remount (all) external storage media." +msgstr "មិន​អាច​ម៉ោន​មáŸážŒáŸ€â€‹áž•áŸ’ទុក​ážáž¶áž„​ក្រៅ (ទាំងអស់​) បាន​ទáŸÂ áŸ”" + +#: kpowersave.cpp:2192 +msgid "An unknown error occurred while %1. The errorcode is: '%2'" +msgstr "កំហុស​មិន​ស្គាល់​បាន​កើážáž¡áž¾áž„​ážážŽáŸˆâ€‹áž–áŸáž› %1 ។ កូដ​កំហុស​គឺ ៖ '%2'" + +# power-off message +#: kpowersave.cpp:2197 +msgid "Do you want to have a look at the log file?" +msgstr "ážáž¾â€‹áž¢áŸ’នក​ចង់​មើល​ឯកសារ​កំណážáŸ‹â€‹áž áŸážáž»â€‹áž¬áž‘áŸÂ ?" + +#: kpowersave.cpp:2198 kpowersave.cpp:2224 +msgid "Error while %1" +msgstr "កំហុស​ážážŽáŸˆáž–áŸáž› %1" + +#: configure_Dialog.cpp:831 +msgid "KPowersave Settings" +msgstr "ការ​កំណážáŸ‹ KPowersave" + +#: configure_Dialog.cpp:832 +msgid "Apply" +msgstr "អនុវážáŸ’áž" + +#: configure_Dialog.cpp:834 +msgid "Help" +msgstr "ជំនួយ" + +#: configure_Dialog.cpp:840 +msgid "Enable specific display power management" +msgstr "អនុញ្ញាážâ€‹áž€áž¶ážšâ€‹áž‚្រប់គ្រង​ážáž¶áž˜áž–ល​ការ​បង្ហាញ​ដែល​ជាក់លាក់" + +#: configure_Dialog.cpp:841 +msgid "Standby after:" +msgstr "រង់ចាំ​បន្ទាប់​ពី ៖" + +#: configure_Dialog.cpp:842 +msgid "Only blank the screen" +msgstr "គ្រាន់ážáŸ‚​ធ្វើ​ឲ្យ​អáŸáž€áŸ’រង់​ទទáŸ" + +#: configure_Dialog.cpp:843 +msgid "Disable screen saver" +msgstr "មិន​អនុញ្ញាážâ€‹áž²áŸ’យ​មាន​ធាážáž»â€‹ážšáž€áŸ’សា​អáŸáž€áŸ’រង់" + +#: configure_Dialog.cpp:844 +msgid "Enable specific screensaver settings" +msgstr "អនុញ្ញាážâ€‹áž€áž¶ážšâ€‹áž€áŸ†ážŽážáŸ‹â€‹áž’ាážáž»â€‹ážšáž€áŸ’សា​អáŸáž€áŸ’រង់​ជាក់លាក់" + +#: configure_Dialog.cpp:845 +msgid "Suspend after:" +msgstr "ផ្អាក​បន្ទាប់​ពី ៖" + +#: configure_Dialog.cpp:846 +msgid "Power off after:" +msgstr "បិទ​បន្ទាប់​ពី ៖" + +#: configure_Dialog.cpp:847 +msgid "Disable display power management" +msgstr "មិន​អនុញ្ញាážâ€‹áž²áŸ’យ​មាន​ការ​គ្រប់គ្រង​ážáž¶áž˜áž–ល​ការ​បង្ហាញ" + +#: configure_Dialog.cpp:848 configure_Dialog.cpp:849 configure_Dialog.cpp:850 +#: configure_Dialog.cpp:862 configure_Dialog.cpp:873 +msgid " min" +msgstr " នាទី" + +#: configure_Dialog.cpp:851 +msgid "Screen Saver and DPMS" +msgstr "ធាážáž»ážšáž€áŸ’សា​អáŸáž€áŸ’រង់ áž“áž·áž„ DPMS" + +#: configure_Dialog.cpp:852 +msgid "Settings" +msgstr "ការ​កំណážáŸ‹" + +#: configure_Dialog.cpp:853 +msgid "Reset" +msgstr "កំណážáŸ‹â€‹áž¡áž¾áž„​វិញ" + +#: configure_Dialog.cpp:855 +msgid "Enable scheme specific Brightness settings" +msgstr "អនុញ្ញាážâ€‹áž‚្រោងការណáŸâ€‹áž€áž¶ážšâ€‹áž€áŸ†ážŽážáŸ‹â€‹áž–ន្លឺ​ជាក់លាក់" + +#: configure_Dialog.cpp:858 +msgid "Brightness" +msgstr "ពន្លឺ" + +#: configure_Dialog.cpp:859 +msgid "Enable autosuspend" +msgstr "អនុញ្ញាážâ€‹áž²áŸ’យ​ផ្អាក​ស្វáŸáž™áž”្រវážáŸ’ážáž·" + +#: configure_Dialog.cpp:860 configure_Dialog.cpp:867 +msgid "Enable scheme-specific blacklist" +msgstr "អនុញ្ញាážâ€‹áž”ញ្ជី​ážáŸ’មៅ​សម្រាប់​គ្រោងការណáŸâ€‹áž‡áž¶áž€áŸ‹áž›áž¶áž€áŸ‹" + +#: configure_Dialog.cpp:861 configure_Dialog.cpp:870 +msgid "after:" +msgstr "បន្ទាប់​ពី ៖" + +#: configure_Dialog.cpp:863 configure_Dialog.cpp:868 +msgid "Edit Blacklist..." +msgstr "កែសម្រួល​បញ្ជី​ážáŸ’មៅ..." + +#: configure_Dialog.cpp:864 configure_Dialog.cpp:869 +msgid "If the current desktop user is inactive the computer will:" +msgstr "បើ​អ្នក​ប្រើ​ផ្ទៃážáž»â€‹áž”ច្ចុប្បន្ន​នៅ​ស្ងៀម នោះ​កុំព្យូទáŸážšâ€‹áž“ឹង ៖" + +#: configure_Dialog.cpp:865 +msgid "Autosuspend" +msgstr "ផ្អាក​ស្វáŸáž™â€‹áž”្រវážáŸ’ážáž·" + +#: configure_Dialog.cpp:866 +msgid "Enable autodimm the display" +msgstr "អនុញ្ញាážâ€‹áž€áž¶ážšâ€‹áž”ង្ហាញ​ស្រអាប់​ស្វáŸáž™â€‹áž”្រវážáŸ’ážáž·" + +#: configure_Dialog.cpp:871 configure_Dialog.cpp:893 configure_Dialog.cpp:894 +#: configure_Dialog.cpp:895 configure_Dialog.cpp:896 configure_Dialog.cpp:897 +#: configure_Dialog.cpp:898 +msgid " %" +msgstr " %" + +#: configure_Dialog.cpp:872 +msgid "dimm to:" +msgstr "ស្រអាប់​ទៅ ៖" + +#: configure_Dialog.cpp:874 +msgid "Autodimm" +msgstr "ស្រអាប់​ស្វáŸáž™â€‹áž”្រវážáŸ’ážáž·" + +#: configure_Dialog.cpp:879 +msgid "Set CPU Frequency Policy:" +msgstr "កំណážáŸ‹â€‹áž‚ោលនយោបាយ​ប្រáŸáž€áž„់​ស៊ីភីយូ ៖" + +#: configure_Dialog.cpp:880 +msgid "CPU Frequency Policy" +msgstr "គោលនយោបាយ​ប្រáŸáž€áž„់​ស៊ីភីយូ" + +#: configure_Dialog.cpp:881 +msgid "Disable Notifications" +msgstr "មិន​អនុញ្ញាážâ€‹áž€áž¶ážšâ€‹áž‡áž¼áž“ដំណឹង" + +#: configure_Dialog.cpp:884 +msgid "New" +msgstr "ážáŸ’មី" + +#: configure_Dialog.cpp:885 +msgid "Scheme Settings" +msgstr "ការ​កំណážáŸ‹â€‹áž‚្រោងការណáŸ" + +#: configure_Dialog.cpp:886 +msgid "" +"Define the battery warning levels (in percentage) and the releated action if " +"the level get reached:" +msgstr "កំណážáŸ‹â€‹áž€áž˜áŸ’ážšáž·ážâ€‹áž–្រមាន​ážáŸ’ម (áž‚áž·ážâ€‹áž‡áž¶â€‹áž—ាគរយ) ហើយ​សកម្មភាព releated ប្រសិន​​ដល់​កម្រិážÂ áŸ–" + +#: configure_Dialog.cpp:887 +msgid "Warning level:" +msgstr "កម្រិážâ€‹áž–្រមាន ៖" + +#: configure_Dialog.cpp:888 +msgid "Low level:" +msgstr "កម្រិážâ€‹áž‘ាប ៖" + +#: configure_Dialog.cpp:889 +msgid "Critical level:" +msgstr "កម្រិážâ€‹ážáŸ’សោយ​​បំផុáž" + +#: configure_Dialog.cpp:890 configure_Dialog.cpp:891 configure_Dialog.cpp:892 +msgid "if reached call:" +msgstr "ប្រសិន​បើ​បាន​ដល់កម្រិហហៅ ៖" + +#: configure_Dialog.cpp:899 +msgid "Battery" +msgstr "ážáŸ’ម" + +#: configure_Dialog.cpp:900 +msgid "" +"Define the action which should be executed if the related button get pressed:" +msgstr "កំណážáŸ‹â€‹ážŸáž€áž˜áŸ’ម​ភាព​ដែល​គួរ​ážáŸ’រូវ​បាន​ប្រážáž·áž”ážáŸ’ážáž· ប្រសិន​បើ​បាន​ចុច​ប៊ូážáž»áž„​ដែល​ទាក់ទង ៖" + +#: configure_Dialog.cpp:901 +msgid "Suspend-to-disk Button:" +msgstr "ប៊ូážáž»áž„​ផ្អាក​ទៅ​ážáž¶ážŸÂ áŸ–" + +#: configure_Dialog.cpp:902 +msgid "Sleep button:" +msgstr "ប៊ូážáž»áž„​ដáŸáž€Â áŸ–" + +#: configure_Dialog.cpp:903 +msgid "Lid close Button:" +msgstr "ប៊ូážáž»áž„​បិទ​គម្រប ៖" + +#: configure_Dialog.cpp:904 +msgid "Power Button:" +msgstr "ប៊ូážáž»áž„​ážáž¶áž˜áž–ល ៖" + +#: configure_Dialog.cpp:905 +msgid "Button Events" +msgstr "ព្រឹážáŸ’ážáž·áž€áž¶ážšážŽáŸâ€‹áž”៊ូážáž»áž„" + +#: configure_Dialog.cpp:906 +msgid "" +"Select the following schemes as default if the system is running on AC or on " +"batteries." +msgstr "ជ្រើស​គ្រោងការណáŸâ€‹ážŠáž¼áž…​ážáž¶áž„​ក្រោម​ជា​លំនាំដើម ប្រសិន​បើ​ប្រពáŸáž“្ធ​កំពុង​រážáŸ‹â€‹áž›áž¾â€‹áž…រន្ážâ€‹áž†áŸ’លាស់ ឬ​ážáŸ’ម ។" + +#: configure_Dialog.cpp:907 +msgid "Battery scheme:" +msgstr "គ្រោងការណáŸâ€‹ážáŸ’ម ៖" + +#: configure_Dialog.cpp:908 +msgid "AC scheme:" +msgstr "គ្រោងការណ០AC ៖" + +#: configure_Dialog.cpp:909 +msgid "Default Schemes" +msgstr "គ្រោងការណáŸâ€‹áž›áŸ†áž“ាំដើម" + +#: configure_Dialog.cpp:910 +msgid "Lock screen before suspend or standby" +msgstr "ចាក់​សោរ​អáŸáž€áŸ’រង់​មុន​នឹង​ផ្អាក ឬ​រង់ចាំ" + +#: configure_Dialog.cpp:911 +msgid "Lock screen with:" +msgstr "ចាក់សោ​អáŸáž€áŸ’រង់​ជាមួយ ៖" + +#: configure_Dialog.cpp:912 +msgid "Lock screen on lid close" +msgstr "ចាក់សោ​អáŸáž€áŸ’រង់​ពáŸáž›â€‹áž”ិទ​គម្រប (កុំព្យូទáŸážšâ€‹áž™áž½ážšâ€‹ážŠáŸƒ)" + +#: configure_Dialog.cpp:913 +msgid "Lock Screen" +msgstr "ចាក់សោ​អáŸáž€áŸ’រង់" + +#: configure_Dialog.cpp:914 +msgid "Notifications" +msgstr "ការ​ជូនដំណឹង" + +#: configure_Dialog.cpp:916 +msgid "Autostart" +msgstr "ចាប់ផ្ážáž¾áž˜â€‹ážŸáŸ’ážœáŸáž™áž”្រវážáŸ’ážáž·" + +#: configure_Dialog.cpp:917 +msgid "Never ask me again on exit" +msgstr "កុំ​សួរ​ážáŸ’ញុំ​ម្ដង​ទៀážâ€‹áž²áŸ’យ​សោះ​ពáŸáž›â€‹áž…áŸáž‰" + +#: configure_Dialog.cpp:918 +msgid "KPowersave starts automatically on login" +msgstr "KPowersave ចាប់ផ្ដើម​ស្វáŸáž™â€‹áž”្រវážáŸ’ážáž·â€‹áž–áŸáž›â€‹áž…ូល" + +#: configure_Dialog.cpp:919 +msgid "General Blacklists" +msgstr "បញ្ជី​​ទូទៅ​" + +#: configure_Dialog.cpp:920 +msgid "Edit Autosuspend Blacklist..." +msgstr "កែសម្រួល​បញ្ជី​ផ្អាក​ដោយ​ស្វáŸáž™â€‹áž”្រវážáŸ’ážáž·..." + +#: configure_Dialog.cpp:921 +msgid "Edit Autodimm Blacklist..." +msgstr "កែសម្រួល​បញ្ជី​ស្រអាប់​ស្វáŸáž™â€‹áž”្រវážáŸ’ážáž·..." + +#: configure_Dialog.cpp:923 +msgid "General Settings" +msgstr "ការ​កំណážáŸ‹â€‹áž‘ូទៅ" diff --git a/po/lt.po b/po/lt.po new file mode 100644 index 0000000..ac421b4 --- /dev/null +++ b/po/lt.po @@ -0,0 +1,1537 @@ +# translation of kpowersave.po to Lietuvių +# Jonas Gocentas , 2001. +# Linas Spraunius , 2000. +# Andrius Å tikonas , 2006, 2007. +# Lithuanian message file for YaST2 (@memory@). +# Copyright (C) 2005 SUSE Linux Products GmbH. +# Copyright (C) 2002 SuSE Linux AG. +# Copyright (C) 2000, 2001 SuSE GmbH. +msgid "" +msgstr "" +"Project-Id-Version: kpowersave\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2007-08-10 03:16+0200\n" +"PO-Revision-Date: 2007-08-19 19:55+0300\n" +"Last-Translator: Andrius Å tikonas \n" +"Language-Team: Lietuvių \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && (n%100<10 || n%100>=20) ? 1 : 2);\n" +"X-Generator: KBabel 1.11.4\n" + +#: detailed_Dialog.cpp:228 +msgid "kpowersave" +msgstr "kpowersave" + +#: detailed_Dialog.cpp:229 +msgid "General Information" +msgstr "Bendra informacija" + +#: detailed_Dialog.cpp:232 +msgid "Battery Status" +msgstr "Baterijos bÅ«sena" + +#: detailed_Dialog.cpp:233 +msgid "AC Adapter" +msgstr "AC adapteris" + +#: detailed_Dialog.cpp:234 +#: detaileddialog.cpp:391 +msgid "plugged in" +msgstr "prijungtas" + +#: detailed_Dialog.cpp:235 +msgid "Power Consumtion: " +msgstr "Energijos suvartojimas: " + +#: detailed_Dialog.cpp:237 +msgid "Processor Status" +msgstr "Procesoriaus bÅ«sena" + +# ok button label +#: detailed_Dialog.cpp:238 +#: blacklistedit_Dialog.cpp:130 +#: info_Dialog.cpp:198 +#: configure_Dialog.cpp:838 +msgid "OK" +msgstr "Gerai" + +#: blacklisteditdialog.cpp:60 +msgid "General Blacklist" +msgstr "Visuotinis juodasis sÄ…raÅ¡as" + +#: blacklisteditdialog.cpp:63 +msgid "Scheme: " +msgstr "Schema: " + +#: blacklisteditdialog.cpp:114 +msgid "Selected entry removed." +msgstr "PažymÄ—tas įraÅ¡as paÅ¡alintas." + +#: blacklisteditdialog.cpp:117 +msgid "Could not remove the selected entry." +msgstr "Negaliu paÅ¡alinti pažymÄ—to įraÅ¡o." + +#: blacklisteditdialog.cpp:137 +msgid "Inserted new entry." +msgstr "PridÄ—tas naujas įraÅ¡as." + +#: blacklisteditdialog.cpp:141 +msgid "Entry exists already. Did not insert new entry." +msgstr "Ä®raÅ¡as jau egzistuoja. Neįterpiau naujo įraÅ¡o." + +#: blacklisteditdialog.cpp:144 +msgid "Empty entry was not inserted." +msgstr "TuÅ¡Äias įraÅ¡as nebuvo pridÄ—tas." + +#: inactivity.cpp:298 +msgid "" +"Could not start 'pidof'. Could not autosuspend the machine.\n" +"Please check your installation." +msgstr "" +"Nepavyksta paleisti „pidof“. Neįmanoma automatiÅ¡kai pristabdyti\n" +"kompiuterio. PraÅ¡om patikrinkite diegimÄ…." + +#: blacklistedit_Dialog.cpp:129 +msgid "Autosuspend Blacklist Edit" +msgstr "Autosustabdymo juodasis sÄ…rÄ…Å¡as" + +# cancel button label +#: blacklistedit_Dialog.cpp:132 +#: configuredialog.cpp:1079 +#: configure_Dialog.cpp:836 +msgid "Cancel" +msgstr "AtÅ¡aukti" + +#: blacklistedit_Dialog.cpp:135 +msgid "Add" +msgstr "PridÄ—ti" + +#: blacklistedit_Dialog.cpp:136 +msgid "Remove" +msgstr "PaÅ¡alinti" + +#: infodialog.cpp:76 +#: infodialog.cpp:78 +#: main.cpp:55 +msgid "KPowersave" +msgstr "KPowersave" + +#: configuredialog.cpp:116 +#: configuredialog.cpp:121 +#: configuredialog.cpp:721 +msgid " - not supported" +msgstr " - nepalaikoma" + +#: configuredialog.cpp:150 +#: configuredialog.cpp:317 +#: detaileddialog.cpp:432 +#: kpowersave.cpp:192 +#: settings.cpp:66 +#: configure_Dialog.cpp:876 +msgid "Performance" +msgstr "Vykdymas" + +#: configuredialog.cpp:154 +#: configuredialog.cpp:319 +#: detaileddialog.cpp:438 +#: kpowersave.cpp:194 +#: settings.cpp:68 +#: configure_Dialog.cpp:878 +msgid "Powersave" +msgstr "Energijos taupymas" + +#: configuredialog.cpp:159 +#: configuredialog.cpp:321 +#: kpowersave.cpp:1478 +#: settings.cpp:70 +msgid "Presentation" +msgstr "Prezentacija" + +#: configuredialog.cpp:164 +#: configuredialog.cpp:323 +#: kpowersave.cpp:1473 +#: settings.cpp:72 +msgid "Acoustic" +msgstr "AkustinÄ—" + +#: configuredialog.cpp:169 +#: configuredialog.cpp:171 +#: configuredialog.cpp:172 +#: configuredialog.cpp:173 +#: kpowersave.cpp:1484 +msgid "Advanced Powersave" +msgstr "IÅ¡samus energijos taupymas" + +#: configuredialog.cpp:271 +msgid "" +"This enables specific screen saver settings. \n" +"Note: If selected, the global screen saver settings are \n" +"overwritten while kpowersave runs." +msgstr "" + +#: configuredialog.cpp:274 +msgid "" +"This disables the screen saver. \n" +"Note: If selected, the global screen saver settings are \n" +"overwritten while kpowersave runs." +msgstr "" + +#: configuredialog.cpp:277 +msgid "" +"This blanks the screen instead of using a specific screen saver. \n" +"Note: This may work only with KScreensaver." +msgstr "" + +#: configuredialog.cpp:279 +msgid "" +"This enables specific DPMS settings. \n" +"Note: If selected, the global DPMS settings are \n" +"overwritten while kpowersave runs." +msgstr "" + +#: configuredialog.cpp:282 +msgid "This disables DPMS support." +msgstr "Tai atjungia DPMS palaikymÄ…." + +#: configuredialog.cpp:283 +msgid "If selected, the screen is locked on suspend or standby." +msgstr "Jei pažymÄ—te, ekranas užrakinamas sustabdant ar pristabdant." + +#: configuredialog.cpp:284 +msgid "If selected, the screen is locked if the lid close event is triggered." +msgstr "" + +#: configuredialog.cpp:286 +msgid "Check this box to enable or disable automatic suspension of the computer." +msgstr "" + +#: configuredialog.cpp:288 +msgid "" +"Activate this action if the user was inactive for the defined time \n" +"(greater than 0 minutes). If empty, nothing happens." +msgstr "" + +#: configuredialog.cpp:291 +msgid "All scheme-related screen saver and DPMS settings." +msgstr "" + +#: configuredialog.cpp:292 +msgid "All scheme-related display brightness settings." +msgstr "" + +#: configuredialog.cpp:293 +msgid "All scheme-related automatic suspend settings." +msgstr "" + +#: configuredialog.cpp:295 +msgid "" +"Here you can change the brightness of your display. \n" +"Use the slider to change the brightness directly for \n" +"testing. To reset back to previous level, please press \n" +"the 'Reset' button. " +msgstr "" + +#: configuredialog.cpp:299 +msgid "Use this button to set back the slider and the display brightness." +msgstr "" + +#: configuredialog.cpp:352 +msgid "Press this button to delete the selected scheme." +msgstr "" + +#: configuredialog.cpp:357 +msgid "You can't delete the current AC or battery scheme." +msgstr "" + +#: configuredialog.cpp:363 +msgid "You can't delete this default scheme." +msgstr "JÅ«s negalite trinti Å¡ios numatytos schemos." + +#: configuredialog.cpp:546 +msgid "Your hardware supports to change the brightness. The values of the slider are in percent and mapped to the available brightness levels of your hardware." +msgstr "" + +#: configuredialog.cpp:553 +msgid "Your Hardware currently not support changing the brightness of your display." +msgstr "JÅ«sų įranga Å¡iuo metu nepalaiko monitoriaus ryÅ¡kumo keitimo." + +#: configuredialog.cpp:664 +msgid "Select Automatically" +msgstr "AutomatiÅ¡kai pažymÄ—ti" + +#: configuredialog.cpp:665 +msgid "KScreensaver" +msgstr "KScreensaver" + +#: configuredialog.cpp:666 +msgid "XScreensaver" +msgstr "XScreensaver" + +#: configuredialog.cpp:667 +msgid "xlock" +msgstr "xlock" + +#: configuredialog.cpp:668 +msgid "GNOME Screensaver" +msgstr "GNOME ekrano užsklanda" + +#: configuredialog.cpp:930 +msgid "" +"There are unsaved changes in the active scheme.\n" +"Apply the changes before jumping to the next scheme or discard the changes?" +msgstr "" +"Yra neiÅ¡saugotų pakeitimų aktyvioje schemoje.\n" +"Pritaikyti pakeitimus prieÅ¡ perÅ¡okant prie kitos schemos ar atsisakyti pakeitimų?" + +#: configuredialog.cpp:933 +#: configuredialog.cpp:983 +msgid "Unsaved Changes" +msgstr "NeiÅ¡saugoti pakeitimai" + +#: configuredialog.cpp:981 +msgid "" +"There are unsaved changes.\n" +"Apply the changes before cancel or discard the changes?" +msgstr "" +"Yra neiÅ¡saugotų pakeitimų.\n" +"Pritaikyti pakeitimus prieÅ¡ iÅ¡einant ar atmesti pakeitimus?" + +#: configuredialog.cpp:1032 +msgid "Please insert a name for the new scheme:" +msgstr "" + +#: configuredialog.cpp:1038 +msgid "KPowersave Configuration" +msgstr "KPowersave konfigÅ«ravimas" + +#: configuredialog.cpp:1046 +msgid "Error: A scheme with this name already exist.\n" +msgstr "" + +#: configuredialog.cpp:1076 +msgid "Do you really want to delete the %1 scheme?" +msgstr "Ar tikrai norite iÅ¡trinti %1 schemÄ…?" + +#: configuredialog.cpp:1078 +msgid "Confirm delete scheme" +msgstr "Patvirtinkite schemos trynimÄ…" + +#: configuredialog.cpp:1079 +#: configure_Dialog.cpp:883 +msgid "Delete" +msgstr "PaÅ¡alinti" + +#: configuredialog.cpp:1095 +#, fuzzy +msgid "Could not delete the selected scheme." +msgstr "Negaliu paÅ¡alinti pažymÄ—to įraÅ¡o." + +#: configuredialog.cpp:1324 +msgid "Note: If you select this option, the computer will suspend or standby if the current user is inactive for the defined time even if somebody is logged in remotely to the X server.

    This feature can also produce problems with some programs, such as video players or cd burner. These programs can be blacklisted by checking Enable scheme-specific blacklist and click Edit Blacklist.... If this does not help, report the problem or deactivate autosuspend.

    Really use this option?" +msgstr "" + +#: configuredialog.cpp:1402 +#: configuredialog.cpp:1532 +msgid "The blacklist of the selected scheme is empty. Import the general blacklist?" +msgstr "" + +#: configuredialog.cpp:1404 +#: configuredialog.cpp:1534 +msgid "Import" +msgstr "Importuoti" + +#: configuredialog.cpp:1404 +#: configuredialog.cpp:1534 +msgid "Do Not Import" +msgstr "Neimportuoti" + +#: configuredialog.cpp:1416 +#, fuzzy +msgid "General Autosuspend Blacklist" +msgstr "Autosustabdymo juodasis sÄ…rÄ…Å¡as" + +#: configuredialog.cpp:1546 +#, fuzzy +msgid "General Autodimm Blacklist" +msgstr "Visuotinis juodasis sÄ…raÅ¡as" + +#: configuredialog.cpp:1779 +#: configuredialog.cpp:1816 +msgid "Shutdown" +msgstr "IÅ¡jungti" + +#: configuredialog.cpp:1781 +#: configuredialog.cpp:1819 +msgid "Logout Dialog" +msgstr "IÅ¡siregistravimo dialogas" + +#: configuredialog.cpp:1784 +#: configuredialog.cpp:1822 +#: kpowersave.cpp:182 +#: kpowersave.cpp:2096 +#: kpowersave.cpp:2156 +#: kpowersave.cpp:2247 +msgid "Suspend to Disk" +msgstr "Sustabdyti į diskÄ…" + +#: configuredialog.cpp:1787 +#: configuredialog.cpp:1825 +#: kpowersave.cpp:186 +#: kpowersave.cpp:2101 +#: kpowersave.cpp:2161 +#: kpowersave.cpp:2250 +msgid "Suspend to RAM" +msgstr "Sustabdyti į RAM" + +#: configuredialog.cpp:1790 +#: configuredialog.cpp:1828 +#, fuzzy +msgid "CPU Powersave policy" +msgstr "Energijos taupymas" + +#: configuredialog.cpp:1793 +#: configuredialog.cpp:1831 +msgid "CPU Dynamic policy" +msgstr "CPU dinaminÄ— politika" + +#: configuredialog.cpp:1796 +#: configuredialog.cpp:1834 +#, fuzzy +msgid "CPU Performance policy" +msgstr "Vykdymas" + +#: configuredialog.cpp:1799 +#: configuredialog.cpp:1837 +msgid "Set Brightness to" +msgstr "Nustatyti ryÅ¡kumÄ… į" + +#: main.cpp:43 +msgid "KDE Frontend for Power Management, Battery Monitoring and Suspend" +msgstr "KDE vartotojo sÄ…saja energijos valdymui, baterijos stebÄ—jimui ir sustabdymui." + +#: main.cpp:45 +msgid "Force a new check for ACPI support" +msgstr "" + +#: main.cpp:46 +msgid "Trace function entry and leave points for debug\n" +msgstr "" + +#: main.cpp:59 +msgid "Current maintainer" +msgstr "Dabartinis prižiÅ«rÄ—tojas" + +#: main.cpp:62 +#, fuzzy +msgid "Powersave developer and for D-Bus integration" +msgstr "Powersave programuotojas ir DBUS integracija" + +#: main.cpp:64 +msgid "Powersave developer and tester" +msgstr "Powersave programuotojai ir bandytojai" + +#: main.cpp:66 +msgid "Added basic detailed dialog" +msgstr "" + +#: main.cpp:67 +msgid "Packaging Debian and Ubuntu" +msgstr "Pakavimas Debian ir Ubuntu sistemoms" + +#: detaileddialog.cpp:61 +msgid "KPowersave Information Dialog" +msgstr "KPowersave informacijos dialogas" + +#: detaileddialog.cpp:65 +#: configure_Dialog.cpp:882 +#: configure_Dialog.cpp:922 +msgid "Miscellaneous" +msgstr "Ä®vairÅ«s" + +#: detaileddialog.cpp:66 +msgid "CPUs" +msgstr "Procesoriai" + +#: detaileddialog.cpp:73 +#: detaileddialog.cpp:453 +msgid "Battery state:" +msgstr "Baterijos bÅ«klÄ—:" + +#: detaileddialog.cpp:79 +msgid "Total:" +msgstr "Viso:" + +#: detaileddialog.cpp:81 +#: detaileddialog.cpp:83 +msgid "Battery %1" +msgstr "Baterija %1" + +#: detaileddialog.cpp:114 +msgid "Processor %1" +msgstr "Procesorius %1" + +#: detaileddialog.cpp:230 +msgid "not present" +msgstr "nÄ—ra" + +#: detaileddialog.cpp:243 +msgid "charged" +msgstr "įkrauta" + +#: detaileddialog.cpp:245 +msgid "%1:%2 h until charged" +msgstr "%1:%2 h iki įkrovimo" + +#: detaileddialog.cpp:248 +msgid "%1:%2 h remaining" +msgstr "liko %1:%2 h" + +#: detaileddialog.cpp:253 +#: detaileddialog.cpp:441 +#: detaileddialog.cpp:468 +msgid "unknown" +msgstr "nežinomas" + +#: detaileddialog.cpp:325 +#: detaileddialog.cpp:368 +msgid "%v MHz" +msgstr "%v MHz" + +#: detaileddialog.cpp:330 +#: detaileddialog.cpp:363 +#: dummy.cpp:58 +msgid "deactivated" +msgstr "deaktyvuotas" + +#: detaileddialog.cpp:395 +msgid "unplugged" +msgstr "atjungtas" + +#: detaileddialog.cpp:412 +msgid "Current Scheme: " +msgstr "DabartinÄ— schema: " + +#: detaileddialog.cpp:429 +msgid "Current CPU Frequency Policy:" +msgstr "DabartinÄ— CPU dažnio politika:" + +#: detaileddialog.cpp:435 +#: kpowersave.cpp:193 +#: configure_Dialog.cpp:877 +msgid "Dynamic" +msgstr "DinaminÄ—" + +#: detaileddialog.cpp:456 +msgid "Critical" +msgstr "KritinÄ—" + +#: detaileddialog.cpp:459 +msgid "Low" +msgstr "Žema" + +#: detaileddialog.cpp:462 +#: kpowersave.cpp:277 +#: kpowersave.cpp:652 +#: kpowersave.cpp:659 +#: kpowersave.cpp:705 +#: kpowersave.cpp:713 +#: kpowersave.cpp:761 +#: kpowersave.cpp:769 +#: kpowersave.cpp:817 +#: kpowersave.cpp:824 +#: kpowersave.cpp:1131 +#: kpowersave.cpp:1243 +#: kpowersave.cpp:1272 +#: kpowersave.cpp:1610 +#: kpowersave.cpp:1670 +#: kpowersave.cpp:2186 +msgid "Warning" +msgstr "DÄ—mesio" + +#: detaileddialog.cpp:465 +msgid "ok" +msgstr "Gera" + +#: detaileddialog.cpp:474 +#: detaileddialog.cpp:477 +msgid "Set brightness supported:" +msgstr "RyÅ¡kumo keitimas palaikomas:" + +#: detaileddialog.cpp:475 +msgid "yes" +msgstr "taip" + +#: detaileddialog.cpp:478 +msgid "no" +msgstr "ne" + +#: detaileddialog.cpp:481 +#: detaileddialog.cpp:485 +msgid "HAL Daemon:" +msgstr "HAL demonas:" + +#: detaileddialog.cpp:482 +msgid "running" +msgstr "veikia" + +#: detaileddialog.cpp:486 +msgid "not running" +msgstr "neveikia" + +#: info_Dialog.cpp:197 +msgid "Information" +msgstr "Informacija" + +#: dummy.cpp:36 +msgid "If the current desktop user is inactive, dim the display to:" +msgstr "" + +#: dummy.cpp:37 +msgid "Enable dim display on inactivity" +msgstr "Ä®galinti ekrano pristabdymÄ… esant neveiklumui" + +#: dummy.cpp:38 +msgid "Blacklist" +msgstr "Juodasis sÄ…raÅ¡as" + +#: dummy.cpp:39 +msgid "Here you can add programs which should, if running, prevent the dimming of the display." +msgstr "" + +#: dummy.cpp:41 +msgid "Would you like to import a predefined blacklist?" +msgstr "Ar norÄ—tumÄ—te importuoti iÅ¡ anksto paruoÅ¡tÄ… juodÄ…jį sÄ…raÅ¡Ä…?" + +#: dummy.cpp:42 +msgid "Disable CPUs/Cores" +msgstr "Uždrausti CPU/branduolius" + +#: dummy.cpp:43 +msgid "Max. running CPUs:" +msgstr "Daugiausia veikianÄių CPU:" + +#: dummy.cpp:44 +msgid "Max. running CPUs/Cores:" +msgstr "Daugiausia veikianÄių CPU/branduolių:" + +#: dummy.cpp:45 +msgid "Min. running CPUs:" +msgstr "Mažiausia veikianÄių CPU:" + +#: dummy.cpp:46 +msgid "Min. running CPUs/Cores:" +msgstr "Mažiausia veikianÄių CPU/branduolių:" + +#: dummy.cpp:47 +msgid "Enable to switch off CPUs/cores" +msgstr "Leisti iÅ¡jungti CPU/branduolius" + +#: dummy.cpp:48 +msgid "You have a multiprocessor/multicore machine." +msgstr "JÅ«s turite daugiaprocesorinÄ™/daugiabranduolÄ™ sistemÄ…." + +#: dummy.cpp:49 +msgid "You can disable CPUs/cores to reduce power consumption and save battery power." +msgstr "JÅ«s galite uždrausti CPU/branduolius, kad sumažintumÄ—te energijos suvartojimÄ… ir iÅ¡saugoti baterijos energijÄ…." + +#: dummy.cpp:50 +msgid "Device" +msgstr "Ä®renginys" + +#: dummy.cpp:51 +msgid "Devices" +msgstr "Ä®renginiai" + +#: dummy.cpp:52 +msgid "Device class" +msgstr "Ä®renginio tipas" + +#: dummy.cpp:53 +msgid "activate" +msgstr "aktyvuoti" + +#: dummy.cpp:54 +msgid "Activate" +msgstr "Aktyvuoti" + +#: dummy.cpp:55 +msgid "deactivate" +msgstr "deaktyvuoti" + +#: dummy.cpp:56 +msgid "Deactivate" +msgstr "Deaktyvuoti" + +#: dummy.cpp:57 +msgid "activated" +msgstr "aktyvuotas" + +#: dummy.cpp:59 +msgid "do nothing" +msgstr "nieko nedaryti" + +#: dummy.cpp:60 +msgid "Deactivate following devices:" +msgstr "Deaktyvuoti Å¡iuos įrenginius:" + +#: dummy.cpp:61 +msgid "Activate following devices" +msgstr "Aktyvuoti Å¡iuos įrenginius" + +#: dummy.cpp:62 +msgid "Reactivate following devices" +msgstr "IÅ¡ naujo aktyvuoti Å¡iuos įrenginius" + +#: dummy.cpp:63 +msgid "Deactivate following device classes:" +msgstr "Deaktyvuoti Å¡ias įrenginių klases:" + +#: dummy.cpp:64 +msgid "Activate following devices classes" +msgstr "Aktyvuoti Å¡ias įrenginių klases" + +#: dummy.cpp:65 +msgid "Reactivate following device classes" +msgstr "IÅ¡ naujo aktyvuoti Å¡ias įrenginių klases" + +#: dummy.cpp:66 +msgid "If the scheme switched all devices are again activated." +msgstr "" + +#: dummy.cpp:67 +msgid "This is a experimental feature." +msgstr "Tai eksperimentinÄ— galimybÄ—." + +#: dummy.cpp:68 +msgid "If you have problems with this feature, please report them." +msgstr "Jei turite problemų si Å¡ia galimybe, praÅ¡om praneÅ¡ti jiems." + +#: dummy.cpp:69 +msgid "Select one of the available devices and click on " +msgstr "Pasirinkite vienÄ… iÅ¡ prieinamų įrenginių ir paspauskite" + +#: dummy.cpp:70 +msgid "Select one of the available device classes and click on " +msgstr "Pasirinkite vienÄ… iÅ¡ prieinamų įrenginių klasių ir paspauskite" + +#: dummy.cpp:71 +msgid "Select one or more of the available devices and click on " +msgstr "Pasirinkite vienÄ… ar daugiau iÅ¡ prieinamų įrenginių ir paspauskite" + +#: dummy.cpp:72 +msgid "Select one or more of the available device classes and click on " +msgstr "Pasirinkite vienÄ… ar daugiau iÅ¡ prieinamų įrenginių klasių ir paspauskite" + +#: dummy.cpp:73 +msgid "Please note: If you e.g. deactivate a network device you may lose your internet connection." +msgstr "Atminkite: jeigu pvz. deaktyvuosite tinklo įrenginį, galite prarasti interneto ryšį." + +#: dummy.cpp:75 +msgid "Note: If you select this option, the computer will suspend or standby if the current user is inactive for the defined time.

    This feature can also produce problems with some programs, such as video players or cd burner. These programs can be blacklisted by checking Enable scheme-specific blacklist and click Edit Blacklist.... If this does not help, report the problem or deactivate autosuspend.

    Really use this option?" +msgstr "" + +#: dummy.cpp:82 +msgid "Try to use only one CPU/Core." +msgstr "Bandyti naudoti tik vienÄ… CPU/branduolį." + +#: dummy.cpp:83 +msgid "Reduce power consumption by try to use only one CPU/Core instead of spreading the work over all/multiple CPUs." +msgstr "" + +#: dummy.cpp:87 +msgid "Could not load the global configuration." +msgstr "Negaliu įkrauti globalio konfigÅ«racijos." + +#: dummy.cpp:88 +msgid "Could not load the requested scheme configuration." +msgstr "Nepavyksta įkelti pareikalautos schemos nustatymų." + +#: dummy.cpp:89 +msgid "Configure the current scheme." +msgstr "KonfigÅ«ruoti dabartinÄ™ schemÄ…." + +#: dummy.cpp:90 +msgid "Try loading the default configuration." +msgstr "Bandykite atkurti numatytÄ… konfigÅ«racijÄ…." + +#: dummy.cpp:91 +msgid "Maybe the global configuration file is empty or missing." +msgstr "GalbÅ«t galobalios konfigÅ«racijos byla tuÅ¡Äia arba jos nÄ—ra." + +#: dummy.cpp:94 +#, fuzzy +msgid "Cannot connect to D-Bus. The D-Bus daemon may not be running." +msgstr "Negaliu prisijungti prie D-BUS. GalbÅ«t neveikia D-BUS demonas." + +#: dummy.cpp:95 +msgid "" +"Scheme switched to %1. \n" +" Deactivate following devices: %2" +msgstr "" + +#: dummy.cpp:96 +msgid "" +"Scheme switched to %1. \n" +" Activate following devices: %2" +msgstr "" + +#: dummy.cpp:97 +msgid "Report ..." +msgstr "PraneÅ¡ti ..." + +#: dummy.cpp:98 +msgid "Suspend to RAM is not supported on your machine." +msgstr "Sustabdymas į RAM nepalaikomas jÅ«sų sistemoje." + +#: dummy.cpp:99 +msgid "Additionally, please mail the output of %1 to %2 . Thanks!" +msgstr "" + +#: dummy.cpp:100 +msgid "Power consumption" +msgstr "Energijos suvartojimas" + +#: dummy.cpp:103 +msgid "KScreensaver not found." +msgstr "KScreensaver nerastas." + +#: dummy.cpp:104 +msgid "Try locking with XScreensaver or xlock." +msgstr "Bandoma užrakinti su XScreensaver arba xlock." + +#: dummy.cpp:105 +msgid "XScreensaver not found." +msgstr "XScreensaver nerastas." + +#: dummy.cpp:106 +msgid "Try locking the screen with xlock." +msgstr "Bandykite užrakinti ekranÄ… su xlock." + +#: dummy.cpp:107 +msgid "XScreensaver and xlock not found. It is not possible to lock the screen. Check your installation." +msgstr "XScreensaver ir xlock nerasti. Neįmanoma užrakinti ekrano. Patikrinkite savo diegimÄ…." + +#: dummy.cpp:111 +msgid "HAL daemon:" +msgstr "HAL demonas:" + +#: dummy.cpp:112 +msgid "D-Bus daemon:" +msgstr "D-Bus demonas:" + +#: dummy.cpp:113 +#, fuzzy +msgid "ConsoleKit daemon:" +msgstr "Nedemonizuoti" + +#: dummy.cpp:114 +msgid "Autosuspend activated:" +msgstr "Autopristabdymas aktyvuotas:" + +#: dummy.cpp:115 +#, fuzzy +msgid "Autodimm activated:" +msgstr "Autopristabdymas aktyvuotas:" + +#: dummy.cpp:116 +msgid "enabled" +msgstr "įgalinta" + +#: dummy.cpp:117 +msgid "Session active:" +msgstr "Sesija aktyvi:" + +#: dummy.cpp:120 +msgid "Inactivity detected." +msgstr "Aptiktas neaktyvumas" + +#: dummy.cpp:121 +msgid "To stop the %1 press the 'Cancel' button before the countdown expire." +msgstr "" + +#: dummy.cpp:122 +msgid "The computer autosuspend in: " +msgstr "" + +#: dummy.cpp:123 +#, c-format +msgid "The display get dimmed down to %1% in: " +msgstr "" + +#: dummy.cpp:124 +msgid "%1 seconds" +msgstr "" + +#: dummy.cpp:127 +msgid "Could not call %1. The current desktop session is not active." +msgstr "" + +#: dummy.cpp:128 +msgid "Could not set %1. The current desktop session is not active." +msgstr "" + +#: dummy.cpp:129 +msgid "Stopped %1. The current desktop session is now inactive." +msgstr "" + +#: dummy.cpp:130 +msgid "Restarted %1. The current desktop session is now active again." +msgstr "" + +#: log_viewer.cpp:78 +msgid "Form1" +msgstr "Forma1" + +#: log_viewer.cpp:79 +msgid "Save As ..." +msgstr "IÅ¡saugoti kaip..." + +#: log_viewer.cpp:80 +msgid "Close" +msgstr "Uždaryti" + +#: logviewer.cpp:44 +#, fuzzy +msgid "KPowersave Logfile Viewer: %1" +msgstr "Powersave persijungÄ— į schemÄ…: %1" + +#: logviewer.cpp:89 +msgid "File already exist. Overwrite the file?" +msgstr "Byla jau egzistuoja. PerraÅ¡yti jÄ…?" + +#: logviewer.cpp:90 +#: logviewer.cpp:97 +msgid "Error while save logfile" +msgstr "Klaida iÅ¡saugant žurnalo bylÄ…" + +#: logviewer.cpp:95 +msgid "File already exist." +msgstr "Byla jau egzistuoja." + +#: logviewer.cpp:98 +msgid "Try other filename ..." +msgstr "" + +#: suspenddialog.cpp:70 +msgid "Preparing Suspend..." +msgstr "RuoÅ¡iamasi sustabdyti..." + +#: kpowersave.cpp:168 +msgid "Configure KPowersave..." +msgstr "KonfigÅ«ruoti KPowersave..." + +#: kpowersave.cpp:171 +#: configure_Dialog.cpp:915 +msgid "Configure Notifications..." +msgstr "KonfigÅ«ruoti praneÅ¡imus..." + +#: kpowersave.cpp:175 +msgid "Start YaST2 Power Management Module..." +msgstr "Paleisti YAST2 energijos valdymo modulį..." + +#: kpowersave.cpp:189 +#: kpowersave.cpp:2106 +#: kpowersave.cpp:2166 +#: kpowersave.cpp:2253 +msgid "Standby" +msgstr "Pristabdyti" + +#: kpowersave.cpp:191 +#: kpowersave.cpp:198 +msgid "Set CPU Frequency Policy" +msgstr "Nustatyti CPU dažnio politikÄ…" + +#: kpowersave.cpp:205 +#: kpowersave.cpp:206 +msgid "Set Active Scheme" +msgstr "Nustatyti aktyviÄ… schemÄ…" + +#: kpowersave.cpp:212 +msgid "Disable Actions on Inactivity" +msgstr "Uždrausti veiksmus esant neveiklumui" + +#: kpowersave.cpp:219 +#: kpowersave.cpp:229 +msgid "&Help" +msgstr "&Pagalba" + +#: kpowersave.cpp:221 +msgid "&KPowersave Handbook" +msgstr "&KPowersave Vadovas" + +#: kpowersave.cpp:224 +msgid "&Report a bug ..." +msgstr "&PraneÅ¡ti apie klaidÄ…..." + +#: kpowersave.cpp:226 +msgid "&About KPowersave" +msgstr "&Apie KPowersave" + +#: kpowersave.cpp:275 +#: kpowersave.cpp:648 +#: kpowersave.cpp:656 +#: kpowersave.cpp:703 +#: kpowersave.cpp:710 +#: kpowersave.cpp:759 +#: kpowersave.cpp:766 +#: kpowersave.cpp:815 +#: kpowersave.cpp:822 +#: kpowersave.cpp:1126 +#: kpowersave.cpp:1241 +#: kpowersave.cpp:1270 +#: kpowersave.cpp:2183 +msgid "WARNING" +msgstr "DÄ–MESIO" + +#: kpowersave.cpp:275 +msgid "Cannot find any schemes." +msgstr "nepavyksta rasti schemų." + +#: kpowersave.cpp:453 +msgid "No information about battery and AC status available" +msgstr "NÄ—ra informacijos apie baterijÄ… ir kintamÄ…jÄ… srovÄ™" + +#: kpowersave.cpp:456 +msgid "Plugged in -- fully charged" +msgstr "Prijungtas -- pilnai pakrauta" + +#: kpowersave.cpp:460 +msgid "Plugged in" +msgstr "Prijungtas" + +#: kpowersave.cpp:464 +msgid "Plugged in -- %1% charged (%2:%3 h until full charged)" +msgstr "Prijungtas -- %1% pakrauta (%2:%3 val. iki pilno pakrovimo)" + +#: kpowersave.cpp:467 +msgid "Plugged in -- %1% charged (%2:%3 remaining hours)" +msgstr "Prijungtas -- %1% pakrauta (liko %2:%3)" + +#: kpowersave.cpp:471 +#: kpowersave.cpp:475 +#, c-format +msgid "Plugged in -- %1% charged" +msgstr "Prijungtas -- %1% pakrauta" + +#: kpowersave.cpp:474 +msgid "Plugged in -- no battery" +msgstr "Prijungtas -- nÄ—ra baterijos" + +#: kpowersave.cpp:480 +msgid "Running on batteries -- %1% charged (%2:%3 hours remaining)" +msgstr "Maitinimas iÅ¡ baterijų -- %1% pakrauta (liko %2:%3 valandų)" + +#: kpowersave.cpp:484 +#, c-format +msgid "Running on batteries -- %1% charged" +msgstr "Maitinimas iÅ¡ baterijų -- %1% pakrauta" + +#: kpowersave.cpp:491 +msgid " -- battery is charging" +msgstr " -- baterija kraunasi" + +#: kpowersave.cpp:649 +#: kpowersave.cpp:657 +msgid "Could not start YaST Power Management Module. Check if it is installed." +msgstr "Negaliu paleisti YaST energijos valdymo modulio. Patikrinkite ar jis įdiegtas." + +#: kpowersave.cpp:703 +msgid "Suspend to disk failed" +msgstr "Nepavyko sustabdyti į diskÄ…" + +#: kpowersave.cpp:711 +msgid "Suspend to disk disabled by administrator." +msgstr "Administratorius uždraudÄ— sustabdymÄ… į diskÄ…." + +#: kpowersave.cpp:759 +msgid "Suspend to RAM failed" +msgstr "Nepavyko sustabdyti į RAM" + +#: kpowersave.cpp:767 +msgid "Suspend to RAM disabled by administrator." +msgstr "Administratorius uždraudÄ— sustabdymÄ… į RAM." + +#: kpowersave.cpp:815 +#, fuzzy +msgid "Standby failed" +msgstr "Pristabdyti po:" + +#: kpowersave.cpp:822 +msgid "Standby disabled by administrator." +msgstr "PristabdymÄ… uždraudÄ— administratorius." + +#: kpowersave.cpp:853 +msgid "System is going into suspend mode now" +msgstr "Sistema dabar sustabdoma" + +#: kpowersave.cpp:1039 +msgid "Could not call DCOP interface to umount external media." +msgstr "" + +#: kpowersave.cpp:1044 +msgid "" +"Could not umount external media before suspend/standby. \n" +" (Reason: %1)\n" +" \n" +" Would you like to continue suspend/standby anyway? \n" +"(Warning: Continue suspend can cause data loss!)" +msgstr "" + +#: kpowersave.cpp:1052 +msgid "Error while prepare %1" +msgstr "Klaida paruoÅ¡iant %1" + +#: kpowersave.cpp:1053 +msgid "Suspend anyway" +msgstr "Vis tiek sustabdyti" + +#: kpowersave.cpp:1053 +msgid "Cancel suspend" +msgstr "AtÅ¡aukti sustabdymÄ…" + +#: kpowersave.cpp:1127 +msgid "" +"Could not lock the screen. There may be a problem with the selected \n" +"lock method or something else." +msgstr "" +"Negaliu užrakinti ekrano. Gali bÅ«ti problemų su pasirinktu \n" +"rakinimo metodu arba kažkuo kitu." + +#: kpowersave.cpp:1144 +msgid "The Lid was closed." +msgstr "Ekranas uždarytas." + +#: kpowersave.cpp:1156 +msgid "The Lid was opened." +msgstr "Ekranas atidarytas." + +#: kpowersave.cpp:1223 +msgid "Start KPowersave automatically when you log in?" +msgstr "Paleisti KPowersave automatiÅ¡kai, kai prisijungiate?" + +#: kpowersave.cpp:1224 +msgid "Question" +msgstr "Klausimas" + +#: kpowersave.cpp:1225 +msgid "Start Automatically" +msgstr "Paleisti automatiÅ¡kai" + +#: kpowersave.cpp:1225 +msgid "Do Not Start" +msgstr "Nepaleisti" + +#: kpowersave.cpp:1242 +msgid "CPU Freq Policy %1 could not be set." +msgstr "CPU dažnio politika negali bÅ«ti nustatyta." + +#: kpowersave.cpp:1271 +msgid "Scheme %1 could not be activated." +msgstr "Scema %1 negali bÅ«ti aktyvuota." + +#: kpowersave.cpp:1600 +msgid "" +"The D-Bus daemon is not running.\n" +"Starting it will provide full functionality: /etc/init.d/dbus start" +msgstr "" +"DBUS demonas neveikia.\n" +"Paleidus jį atsiras pilnas funkcionalumas: /etc/init.d/dbus start" + +#: kpowersave.cpp:1611 +msgid "Don't show this message again." +msgstr "Neberodyti Å¡io praneÅ¡imo." + +#: kpowersave.cpp:1637 +msgid "ERROR" +msgstr "KLAIDA" + +#: kpowersave.cpp:1638 +msgid "Could not get information from HAL. The haldaemon is maybe not running." +msgstr "Negaliu gauti informacijos iÅ¡ HAL hal demonas gali bÅ«ti nepaleistas." + +#: kpowersave.cpp:1641 +msgid "Error" +msgstr "Klaida" + +#: kpowersave.cpp:1912 +msgid "Battery state changed to WARNING -- remaining time: %1 hours and %2 minutes." +msgstr "Baterijos bÅ«klÄ— pakeista į DÄ–MESIO-- likÄ™s laikas: %1 valanda ir %2 minutÄ—s." + +#: kpowersave.cpp:1921 +msgid "Battery state changed to LOW -- remaining time: %1 hours and %2 minutes." +msgstr "Baterijos bÅ«klÄ— pakeista į ŽEMÄ„ -- likÄ™s laikas: %1 valanda ir %2 minutÄ—s." + +#: kpowersave.cpp:1932 +#, fuzzy +msgid "" +"Battery state changed to CRITICAL -- remaining time: %1 hours and %2 minutes.\n" +"Shut down your system or plug in the power cable immediately. Otherwise the machine\n" +"will go shutdown in 30 seconds" +msgstr "Baterijos bÅ«klÄ— pakeista į KRITINĘ -- likÄ™s laikas: %1 valanda ir %2 minutÄ—s. IÅ¡junkite kompiuterį arba nedelsdami prijunkite maitinimÄ…." + +#: kpowersave.cpp:1943 +#, fuzzy +msgid "" +"Battery state changed to CRITICAL -- remaining time: %1 hours and %2 minutes.\n" +"Shut down your system or plug in the power cable immediately." +msgstr "Baterijos bÅ«klÄ— pakeista į KRITINĘ -- likÄ™s laikas: %1 valanda ir %2 minutÄ—s. IÅ¡junkite kompiuterį arba nedelsdami prijunkite maitinimÄ…." + +#: kpowersave.cpp:2041 +msgid "AC adapter plugged in" +msgstr "Prijungtas AC adapteris" + +#: kpowersave.cpp:2043 +msgid "AC adapter unplugged" +msgstr "Atjungtas AC adapteris" + +#: kpowersave.cpp:2078 +msgid "Switched to scheme: %1" +msgstr "Persijungta į schemÄ…: %1" + +#: kpowersave.cpp:2095 +#: kpowersave.cpp:2100 +#: kpowersave.cpp:2105 +msgid "System is going into %1 now." +msgstr "Sistema dabar persijungia į %1." + +#: kpowersave.cpp:2155 +#: kpowersave.cpp:2160 +#: kpowersave.cpp:2165 +msgid "System is resumed from %1." +msgstr "Sistema atstatyta iÅ¡ %1." + +#: kpowersave.cpp:2184 +msgid "Could not remount (all) external storage media." +msgstr "" + +#: kpowersave.cpp:2192 +msgid "An unknown error occurred while %1. The errorcode is: '%2'" +msgstr "" + +#: kpowersave.cpp:2197 +msgid "Do you want to have a look at the log file?" +msgstr "Ar norite peržiÅ«rÄ—ti žurnalo bylÄ…?" + +#: kpowersave.cpp:2198 +#: kpowersave.cpp:2224 +#, fuzzy +msgid "Error while %1" +msgstr "Klaida įkeliant %1" + +#: configure_Dialog.cpp:831 +msgid "KPowersave Settings" +msgstr "KPowersave nustatymai" + +#: configure_Dialog.cpp:832 +msgid "Apply" +msgstr "Pritaikyti" + +#: configure_Dialog.cpp:834 +msgid "Help" +msgstr "Pagalba" + +#: configure_Dialog.cpp:840 +msgid "Enable specific display power management" +msgstr "Ä®galinti specialų ekrano energijos taupymÄ…" + +#: configure_Dialog.cpp:841 +msgid "Standby after:" +msgstr "Pristabdyti po:" + +#: configure_Dialog.cpp:842 +msgid "Only blank the screen" +msgstr "Tik tuÅ¡Äias ekranas" + +#: configure_Dialog.cpp:843 +msgid "Disable screen saver" +msgstr "Uždrausti ekrano užsklandÄ…" + +#: configure_Dialog.cpp:844 +msgid "Enable specific screensaver settings" +msgstr "Ä®galinti specialius ekrano užsklandos nustatymus" + +#: configure_Dialog.cpp:845 +msgid "Suspend after:" +msgstr "Sustabdyti po:" + +# power off dialog title +#: configure_Dialog.cpp:846 +msgid "Power off after:" +msgstr "IÅ¡jungti po:" + +#: configure_Dialog.cpp:847 +msgid "Disable display power management" +msgstr "Uždrausti ekrano energijos valdymÄ…" + +#: configure_Dialog.cpp:848 +#: configure_Dialog.cpp:849 +#: configure_Dialog.cpp:850 +#: configure_Dialog.cpp:862 +#: configure_Dialog.cpp:873 +msgid " min" +msgstr " min" + +#: configure_Dialog.cpp:851 +msgid "Screen Saver and DPMS" +msgstr "Ekrano užsklanda ir DPMS" + +#: configure_Dialog.cpp:852 +msgid "Settings" +msgstr "Nustatymai" + +#: configure_Dialog.cpp:853 +msgid "Reset" +msgstr "IÅ¡ naujo nustatyti" + +#: configure_Dialog.cpp:855 +#, fuzzy +msgid "Enable scheme specific Brightness settings" +msgstr "Ä®galinti schemai savitus &RyÅ¡kumo nustatymus" + +#: configure_Dialog.cpp:858 +msgid "Brightness" +msgstr "RyÅ¡kumas" + +#: configure_Dialog.cpp:859 +msgid "Enable autosuspend" +msgstr "Ä®galinti autosustabdymÄ…" + +#: configure_Dialog.cpp:860 +#: configure_Dialog.cpp:867 +msgid "Enable scheme-specific blacklist" +msgstr "Ä®galinti schemai savitÄ… juodÄ…jį sÄ…raÅ¡Ä…" + +#: configure_Dialog.cpp:861 +#: configure_Dialog.cpp:870 +msgid "after:" +msgstr "po:" + +#: configure_Dialog.cpp:863 +#: configure_Dialog.cpp:868 +msgid "Edit Blacklist..." +msgstr "Keisti juodÄ…jį sÄ…raÅ¡Ä…..." + +#: configure_Dialog.cpp:864 +#: configure_Dialog.cpp:869 +msgid "If the current desktop user is inactive the computer will:" +msgstr "Jeigu dabartinis darbastalio vartotojas neaktyvus, kompiuteris:" + +#: configure_Dialog.cpp:865 +msgid "Autosuspend" +msgstr "Automatinis sustabdymas" + +#: configure_Dialog.cpp:866 +#, fuzzy +msgid "Enable autodimm the display" +msgstr "Ä®galinti ekrano pristabdymÄ… esant neveiklumui" + +#: configure_Dialog.cpp:871 +#: configure_Dialog.cpp:893 +#: configure_Dialog.cpp:894 +#: configure_Dialog.cpp:895 +#: configure_Dialog.cpp:896 +#: configure_Dialog.cpp:897 +#: configure_Dialog.cpp:898 +msgid " %" +msgstr " %" + +#: configure_Dialog.cpp:872 +msgid "dimm to:" +msgstr "" + +#: configure_Dialog.cpp:874 +msgid "Autodimm" +msgstr "" + +#: configure_Dialog.cpp:879 +msgid "Set CPU Frequency Policy:" +msgstr "Nustatyti CPU dažnio politikÄ…:" + +#: configure_Dialog.cpp:880 +msgid "CPU Frequency Policy" +msgstr "CPU dažnio politika" + +#: configure_Dialog.cpp:881 +msgid "Disable Notifications" +msgstr "Uždrausti praneÅ¡imus" + +#: configure_Dialog.cpp:884 +msgid "New" +msgstr "Nauja" + +#: configure_Dialog.cpp:885 +msgid "Scheme Settings" +msgstr "Schemų nustatymai" + +#: configure_Dialog.cpp:886 +msgid "Define the battery warning levels (in percentage) and the releated action if the level get reached:" +msgstr "" + +#: configure_Dialog.cpp:887 +msgid "Warning level:" +msgstr "" + +#: configure_Dialog.cpp:888 +msgid "Low level:" +msgstr "Žemas lygis:" + +#: configure_Dialog.cpp:889 +msgid "Critical level:" +msgstr "Kritinis lygis:" + +#: configure_Dialog.cpp:890 +#: configure_Dialog.cpp:891 +#: configure_Dialog.cpp:892 +msgid "if reached call:" +msgstr "" + +#: configure_Dialog.cpp:899 +msgid "Battery" +msgstr "Baterija" + +#: configure_Dialog.cpp:900 +msgid "Define the action which should be executed if the related button get pressed:" +msgstr "" + +#: configure_Dialog.cpp:901 +msgid "Suspend-to-disk Button:" +msgstr "Sustabdyti į diskÄ… mygtukas:" + +#: configure_Dialog.cpp:902 +#, fuzzy +msgid "Sleep button:" +msgstr "Vidurinysis pelÄ—s klaviÅ¡as:" + +#: configure_Dialog.cpp:903 +#, fuzzy +msgid "Lid close Button:" +msgstr "Vidurinysis pelÄ—s klaviÅ¡as:" + +#: configure_Dialog.cpp:904 +#, fuzzy +msgid "Power Button:" +msgstr "PelÄ—s mygtukai" + +#: configure_Dialog.cpp:905 +#, fuzzy +msgid "Button Events" +msgstr "KlaviÅ¡as paspaustas" + +#: configure_Dialog.cpp:906 +msgid "Select the following schemes as default if the system is running on AC or on batteries." +msgstr "" + +#: configure_Dialog.cpp:907 +msgid "Battery scheme:" +msgstr "Baterijos schema:" + +#: configure_Dialog.cpp:908 +msgid "AC scheme:" +msgstr "AC schema: " + +#: configure_Dialog.cpp:909 +msgid "Default Schemes" +msgstr "Numatytos schemos" + +#: configure_Dialog.cpp:910 +msgid "Lock screen before suspend or standby" +msgstr "Užrakinti ekranÄ… prieÅ¡ sustabdant ar pristabdant" + +#: configure_Dialog.cpp:911 +msgid "Lock screen with:" +msgstr "Užrakinti ekranÄ… su:" + +#: configure_Dialog.cpp:912 +msgid "Lock screen on lid close" +msgstr "Užrakinti ekranÄ… uždarius ekranÄ…" + +#: configure_Dialog.cpp:913 +msgid "Lock Screen" +msgstr "Užrakinti ekranÄ…" + +#: configure_Dialog.cpp:914 +msgid "Notifications" +msgstr "PraneÅ¡imai" + +#: configure_Dialog.cpp:916 +msgid "Autostart" +msgstr "Autopasileidimas" + +#: configure_Dialog.cpp:917 +msgid "Never ask me again on exit" +msgstr "Daugiau nebeklausti manÄ™s iÅ¡einant" + +#: configure_Dialog.cpp:918 +msgid "KPowersave starts automatically on login" +msgstr "KPowersave automatiÅ¡kai startuoja prisiregistruojant" + +#: configure_Dialog.cpp:919 +#, fuzzy +msgid "General Blacklists" +msgstr "Visuotinis juodasis sÄ…raÅ¡as" + +#: configure_Dialog.cpp:920 +#, fuzzy +msgid "Edit Autosuspend Blacklist..." +msgstr "Autosustabdymo juodasis sÄ…rÄ…Å¡as" + +#: configure_Dialog.cpp:921 +#, fuzzy +msgid "Edit Autodimm Blacklist..." +msgstr "Keisti juodÄ…jį sÄ…raÅ¡Ä…..." + +#: configure_Dialog.cpp:923 +msgid "General Settings" +msgstr "Bendri nustatymai" + +#~ msgid "&Cancel" +#~ msgstr "&AtÅ¡aukti" +#~ msgid "Remo&ve" +#~ msgstr "&PaÅ¡alinti" +#~ msgid "Modules unloaded:" +#~ msgstr "IÅ¡jungti moduliai:" +#~ msgid "Powersave Daemon:" +#~ msgstr "Powersave demonas:" +#~ msgid "" +#~ "Cannot find any schemes. Maybe the powersave daemon is not running.\n" +#~ "Starting it with '/etc/init.d/powersaved start' should help." +#~ msgstr "" +#~ "Negaliu rasti jokių schemų. Gal powesave semonas neveikia.\n" +#~ "Paleidus jį su „/etc/init.d/powersaved start“ turÄ—tų padÄ—ti." +#~ msgid "The powersave daemon must be running in the background for standby." +#~ msgstr "Kad veiktų pristabdymas, fone turi bÅ«ti paleistas powersave demonas." +#~ msgid "Continue" +#~ msgstr "TÄ™sti" +#~ msgid "" +#~ "The powersave daemon is not running.\n" +#~ "Starting it will improve performance: /etc/init.d/powersaved start" +#~ msgstr "" +#~ "Powersave demonas neveikia.\n" +#~ "Paleidus jį pagerÄ—s veiksena: /etc/init.d/powersaved start" +#~ msgid "checking for swap partition" +#~ msgstr "Tikrinamas swap skaidinys" +#~ msgid "unmounting FAT/NTFS partitions" +#~ msgstr "iÅ¡montuojami FAT/NTFS skaidiniai" +#~ msgid "stopping services" +#~ msgstr "stabdomos tarnybos" +#~ msgid "stopping service:" +#~ msgstr "stabdoma tarnyba:" +#~ msgid "unloading modules" +#~ msgstr "atjungiami moduliai" +#~ msgid "unloading module:" +#~ msgstr "atjungiamas modulis:" +#~ msgid "syncing file systems" +#~ msgstr "sinchronizuojamos bylų sistemos" +#~ msgid "preparing bootloader" +#~ msgstr "paruoÅ¡iama įkrovos tvarkyklÄ—" +#~ msgid "Edit General Blacklist..." +#~ msgstr "Keisti visuotinį juodÄ…jį sÄ…raÅ¡Ä…..." +#~ msgid " -- %1 MHz" +#~ msgstr " -- %1 MHz" +#~ msgid "Enabled" +#~ msgstr "Ä®galinta" +#~ msgid "You are not permitted to connect to the powersave daemon via DBUS. Please check your DBUS configuration and installation. " +#~ msgstr "Jums neleidžiama prisijungti prie powersave demono per DBUS. Patikrinkite jÅ«sų DBUS konfigÅ«racijÄ… ir įdiegimÄ…. " + diff --git a/po/nb.po b/po/nb.po new file mode 100644 index 0000000..2353958 --- /dev/null +++ b/po/nb.po @@ -0,0 +1,1477 @@ +# translation of kpowersave.po to +# Antje Faber , 2004. +# Olav Pettershagen , 2004, 2005. +# Olav Pettershagen , 2005, 2006, 2007. +# Rune Nordbøe Skillingstad , 2007. +# translation of nb.po to +# This file is distributed under the same license as the PACKAGE package. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER. +msgid "" +msgstr "" +"Project-Id-Version: kpowersave\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2007-08-10 03:16+0200\n" +"PO-Revision-Date: 2007-08-11 13:53+0200\n" +"Last-Translator: Olav Pettershagen \n" +"Language-Team: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: KBabel 1.11.4\n" + +#: detailed_Dialog.cpp:228 +msgid "kpowersave" +msgstr "kpowersave" + +#: detailed_Dialog.cpp:229 +msgid "General Information" +msgstr "Generell informasjon" + +#: detailed_Dialog.cpp:232 +msgid "Battery Status" +msgstr "Batteristatus" + +#: detailed_Dialog.cpp:233 +msgid "AC Adapter" +msgstr "AC-adapter" + +#: detailed_Dialog.cpp:234 detaileddialog.cpp:391 +msgid "plugged in" +msgstr "koblet til strømnett" + +#: detailed_Dialog.cpp:235 +msgid "Power Consumtion: " +msgstr "Strømforbruk: " + +#: detailed_Dialog.cpp:237 +msgid "Processor Status" +msgstr "Prosessorstatus" + +# ok button label +#: detailed_Dialog.cpp:238 blacklistedit_Dialog.cpp:130 info_Dialog.cpp:198 +#: configure_Dialog.cpp:838 +msgid "OK" +msgstr "OK" + +#: blacklisteditdialog.cpp:60 +msgid "General Blacklist" +msgstr "Generell unntaksliste" + +#: blacklisteditdialog.cpp:63 +msgid "Scheme: " +msgstr "Strategi: " + +#: blacklisteditdialog.cpp:114 +msgid "Selected entry removed." +msgstr "Valgt oppføring fjernet." + +#: blacklisteditdialog.cpp:117 +msgid "Could not remove the selected entry." +msgstr "Kunne ikke fjerne den valgte oppføringen." + +#: blacklisteditdialog.cpp:137 +msgid "Inserted new entry." +msgstr "Ny oppføring lagt til." + +#: blacklisteditdialog.cpp:141 +msgid "Entry exists already. Did not insert new entry." +msgstr "Oppføringen finnes allerede. Ingen ny oppføring lagt til." + +#: blacklisteditdialog.cpp:144 +msgid "Empty entry was not inserted." +msgstr "Tom oppføring ble ikke lagt til." + +#: inactivity.cpp:298 +msgid "" +"Could not start 'pidof'. Could not autosuspend the machine.\n" +"Please check your installation." +msgstr "" +"Kunne ikke starte 'pidof'. Automatisk dvale kunne ikke aktiveres.\n" +"Kontroller installasjonen." + +#: blacklistedit_Dialog.cpp:129 +msgid "Autosuspend Blacklist Edit" +msgstr "Rediger unntaksliste for automatisk dvale" + +# cancel button label +#: blacklistedit_Dialog.cpp:132 configuredialog.cpp:1079 +#: configure_Dialog.cpp:836 +msgid "Cancel" +msgstr "Avbryt" + +#: blacklistedit_Dialog.cpp:135 +msgid "Add" +msgstr "Legg til" + +#: blacklistedit_Dialog.cpp:136 +msgid "Remove" +msgstr "Fjern" + +#: infodialog.cpp:76 infodialog.cpp:78 main.cpp:55 +msgid "KPowersave" +msgstr "KPowersave" + +#: configuredialog.cpp:116 configuredialog.cpp:121 configuredialog.cpp:721 +msgid " - not supported" +msgstr " - støttes ikke" + +#: configuredialog.cpp:150 configuredialog.cpp:317 detaileddialog.cpp:432 +#: kpowersave.cpp:192 settings.cpp:66 configure_Dialog.cpp:876 +msgid "Performance" +msgstr "Ytelse" + +#: configuredialog.cpp:154 configuredialog.cpp:319 detaileddialog.cpp:438 +#: kpowersave.cpp:194 settings.cpp:68 configure_Dialog.cpp:878 +msgid "Powersave" +msgstr "Strømsparing" + +#: configuredialog.cpp:159 configuredialog.cpp:321 kpowersave.cpp:1478 +#: settings.cpp:70 +msgid "Presentation" +msgstr "Presentasjon" + +#: configuredialog.cpp:164 configuredialog.cpp:323 kpowersave.cpp:1473 +#: settings.cpp:72 +msgid "Acoustic" +msgstr "Støy" + +#: configuredialog.cpp:169 configuredialog.cpp:171 configuredialog.cpp:172 +#: configuredialog.cpp:173 kpowersave.cpp:1484 +msgid "Advanced Powersave" +msgstr "Avansert strømsparing" + +#: configuredialog.cpp:271 +msgid "" +"This enables specific screen saver settings. \n" +"Note: If selected, the global screen saver settings are \n" +"overwritten while kpowersave runs." +msgstr "" +"Her aktiverer du spesielle skjermsparerinnstillinger. \n" +"Merk: Dette vil overstyre generelle skjermsparerinnstillinger \n" +"mens kpowersave er aktivert." + +#: configuredialog.cpp:274 +msgid "" +"This disables the screen saver. \n" +"Note: If selected, the global screen saver settings are \n" +"overwritten while kpowersave runs." +msgstr "" +"Her deaktiverer du skjermspareren. \n" +"Merk: Dette vil overstyre generelle skjermsparerinnstillinger \n" +"mens kpowersave er aktivert." + +#: configuredialog.cpp:277 +msgid "" +"This blanks the screen instead of using a specific screen saver. \n" +"Note: This may work only with KScreensaver." +msgstr "" +"Dett vil tømme skjermen i stedet for Ã¥ bruke en spesiell skjermsparer. \n" +"Merk: Dette vil kanskje bare fungere med KScreensaver." + +#: configuredialog.cpp:279 +msgid "" +"This enables specific DPMS settings. \n" +"Note: If selected, the global DPMS settings are \n" +"overwritten while kpowersave runs." +msgstr "" +"Her aktiverer du spesifikke DPMS-innstillinger. \n" +"Merk: Dette vil overstyre generelle DPMS-innstillinger \n" +"mens kpowersave er aktivert." + +#: configuredialog.cpp:282 +msgid "This disables DPMS support." +msgstr "Her deaktiverer du DPMS-støtte." + +#: configuredialog.cpp:283 +msgid "If selected, the screen is locked on suspend or standby." +msgstr "Dette valget lÃ¥ser skjermen i dvale- eller ventemodus." + +#: configuredialog.cpp:284 +msgid "If selected, the screen is locked if the lid close event is triggered." +msgstr "Dette lÃ¥ser skjermen nÃ¥r lokket slÃ¥s igjen." + +#: configuredialog.cpp:286 +msgid "" +"Check this box to enable or disable automatic suspension of the computer." +msgstr "" +"Kryss av her for Ã¥ aktivere eller deaktivere automatisk dvale for " +"datamaskinen." + +#: configuredialog.cpp:288 +msgid "" +"Activate this action if the user was inactive for the defined time \n" +"(greater than 0 minutes). If empty, nothing happens." +msgstr "" +"Aktiver denne hendelsen nÃ¥r brukeren har vært inaktiv i et definert " +"tidsrom \n" +"(lenger enn 0 minutter). Hvis du ikke angir noen verdi, vil ingenting skje." + +#: configuredialog.cpp:291 +msgid "All scheme-related screen saver and DPMS settings." +msgstr "Alle strategirelaterte skjermsparer- og DPMS-innstillinger." + +#: configuredialog.cpp:292 +msgid "All scheme-related display brightness settings." +msgstr "Alle strategirelaterte innstillinger for skjermens lysstyrke." + +#: configuredialog.cpp:293 +msgid "All scheme-related automatic suspend settings." +msgstr "Alle strategirelaterte innstillinger for automatisk dvale." + +#: configuredialog.cpp:295 +msgid "" +"Here you can change the brightness of your display. \n" +"Use the slider to change the brightness directly for \n" +"testing. To reset back to previous level, please press \n" +"the 'Reset' button. " +msgstr "" +"Her du kan endre lysstyrken for skjermen. \n" +"Bruk skyveknappen for Ã¥ teste funksjonen ved Ã¥ dempe \n" +"lysstyrken direkte. For Ã¥ tilbakestille til forrige nivÃ¥, trykk pÃ¥ \n" +" 'Tilbakestill'-knappen. " + +#: configuredialog.cpp:299 +msgid "Use this button to set back the slider and the display brightness." +msgstr "" +"Bruk denne knappen for Ã¥ tilbakestille skyveknappen og skjermens lysstyrke." + +#: configuredialog.cpp:352 +msgid "Press this button to delete the selected scheme." +msgstr "Klikk pÃ¥ denne knappen for Ã¥ slette valgt strategi." + +#: configuredialog.cpp:357 +msgid "You can't delete the current AC or battery scheme." +msgstr "Du kan ikke slette gjeldende strategi for strømnett eller batteri." + +#: configuredialog.cpp:363 +msgid "You can't delete this default scheme." +msgstr "Du kan ikke slette denne standardstrategien." + +#: configuredialog.cpp:546 +msgid "" +"Your hardware supports to change the brightness. The values of the slider " +"are in percent and mapped to the available brightness levels of your " +"hardware." +msgstr "" +"Maskinvaren støtter endring av lysstyrke. Verdiene pÃ¥ skyveknappskalaen er " +"angitt i prosent, og tilsvarer tilgjengelige lysstyrkeverdier for " +"maskinvaren." + +#: configuredialog.cpp:553 +msgid "" +"Your Hardware currently not support changing the brightness of your display." +msgstr "Maskinvaren støtter ikke endring av skjermens lysstyrke." + +#: configuredialog.cpp:664 +msgid "Select Automatically" +msgstr "velg automatisk" + +#: configuredialog.cpp:665 +msgid "KScreensaver" +msgstr "KScreensaver" + +#: configuredialog.cpp:666 +msgid "XScreensaver" +msgstr "XScreensaver" + +#: configuredialog.cpp:667 +msgid "xlock" +msgstr "xlock" + +#: configuredialog.cpp:668 +msgid "GNOME Screensaver" +msgstr "GNOME skjermsparer" + +#: configuredialog.cpp:930 +msgid "" +"There are unsaved changes in the active scheme.\n" +"Apply the changes before jumping to the next scheme or discard the changes?" +msgstr "" +"Det er ulagrede endringer i denne strategien.\n" +"Vil du bekrefte endringene før du gÃ¥r til neste strategi eller forkaste dem?" + +#: configuredialog.cpp:933 configuredialog.cpp:983 +msgid "Unsaved Changes" +msgstr "Ulagrede endringer" + +#: configuredialog.cpp:981 +msgid "" +"There are unsaved changes.\n" +"Apply the changes before cancel or discard the changes?" +msgstr "" +"Du har gjort endringer som ikke er lagret.\n" +"Vil du bekrefte eller forkaste endringene før du avbryter?" + +#: configuredialog.cpp:1032 +msgid "Please insert a name for the new scheme:" +msgstr "Angi et navn for den nye strategien." + +# +#: configuredialog.cpp:1038 +msgid "KPowersave Configuration" +msgstr "KPowersave-oppsett" + +#: configuredialog.cpp:1046 +msgid "Error: A scheme with this name already exist.\n" +msgstr "Feil: Det finnes allerede en strategi med dette navnet.\n" + +#: configuredialog.cpp:1076 +msgid "Do you really want to delete the %1 scheme?" +msgstr "Vil du virkelig slette strategien %1?" + +#: configuredialog.cpp:1078 +msgid "Confirm delete scheme" +msgstr "Bekreft sletting av strategi" + +#: configuredialog.cpp:1079 configure_Dialog.cpp:883 +msgid "Delete" +msgstr "Slett" + +#: configuredialog.cpp:1095 +msgid "Could not delete the selected scheme." +msgstr "Kunne ikke slette valgt strategi." + +#: configuredialog.cpp:1324 +msgid "" +"Note: If you select this option, the computer will suspend or standby " +"if the current user is inactive for the defined time even if somebody is " +"logged in remotely to the X server.

    This feature can also produce " +"problems with some programs, such as video players or cd burner. These " +"programs can be blacklisted by checking Enable scheme-specific blacklist and click Edit Blacklist.... If this does not help, report the " +"problem or deactivate autosuspend.

    Really use this option?" +msgstr "" +"Merk: Hvis du velger dette alternativet, vil dvale- eller ventemodus " +"bli aktivert dersom gjeldende bruker er inaktiv under det angitte tidsrommet " +"selv om noen logger inn på X-tjeneren utenfra.

    Denne funksjonen kan " +"også forårsake problemer i enkelte programmer, for eksempel videoavspillere " +"og CD-brennere. Disse programmene kan unntas ved å krysse av for Aktiver " +"strategispesifikke unntak og klikke på Rediger unntak.... " +"Rapporter problemet hvis dette ikke hjelper, eller deaktiver dvalefunksjonen." +"

    Vil du bruke dette valget likevel?" + +#: configuredialog.cpp:1402 configuredialog.cpp:1532 +msgid "" +"The blacklist of the selected scheme is empty. Import the general blacklist?" +msgstr "" +"Unntakslisten for denne strategien er tom. Vil du importere den generelle " +"unntakslisten?" + +#: configuredialog.cpp:1404 configuredialog.cpp:1534 +msgid "Import" +msgstr "Importer" + +#: configuredialog.cpp:1404 configuredialog.cpp:1534 +msgid "Do Not Import" +msgstr "Ikke importer" + +#: configuredialog.cpp:1416 +msgid "General Autosuspend Blacklist" +msgstr "Generell unntaksliste for automatisk dvale" + +#: configuredialog.cpp:1546 +msgid "General Autodimm Blacklist" +msgstr "Generell unntaksliste for auto-lysdemping" + +#: configuredialog.cpp:1779 configuredialog.cpp:1816 +msgid "Shutdown" +msgstr "Slå av" + +#: configuredialog.cpp:1781 configuredialog.cpp:1819 +msgid "Logout Dialog" +msgstr "Utloggingsdialog" + +#: configuredialog.cpp:1784 configuredialog.cpp:1822 kpowersave.cpp:182 +#: kpowersave.cpp:2096 kpowersave.cpp:2156 kpowersave.cpp:2247 +msgid "Suspend to Disk" +msgstr "Diskdvale" + +#: configuredialog.cpp:1787 configuredialog.cpp:1825 kpowersave.cpp:186 +#: kpowersave.cpp:2101 kpowersave.cpp:2161 kpowersave.cpp:2250 +msgid "Suspend to RAM" +msgstr "RAM-dvale" + +#: configuredialog.cpp:1790 configuredialog.cpp:1828 +msgid "CPU Powersave policy" +msgstr "Strategi for CPU-strømsparing" + +#: configuredialog.cpp:1793 configuredialog.cpp:1831 +msgid "CPU Dynamic policy" +msgstr "Dynamisk strategi for CPU" + +#: configuredialog.cpp:1796 configuredialog.cpp:1834 +msgid "CPU Performance policy" +msgstr "Ytelsesstrategi for CPU" + +#: configuredialog.cpp:1799 configuredialog.cpp:1837 +msgid "Set Brightness to" +msgstr "Juster lysstyrken til" + +#: main.cpp:43 +msgid "KDE Frontend for Power Management, Battery Monitoring and Suspend" +msgstr "KDE-verktøy for strømsparing, batteriovervåking og dvale" + +#: main.cpp:45 +msgid "Force a new check for ACPI support" +msgstr "Kontroller ACPI-støtten på nytt" + +#: main.cpp:46 +msgid "Trace function entry and leave points for debug\n" +msgstr "Kontroller funksjonen og lagre informasjon for feilsøking\n" + +#: main.cpp:59 +msgid "Current maintainer" +msgstr "Vedlikeholdes av" + +#: main.cpp:62 +msgid "Powersave developer and for D-Bus integration" +msgstr "Utvikling av Powersave og D-Bus-integrasjon" + +#: main.cpp:64 +msgid "Powersave developer and tester" +msgstr "Utvikler og tester av Powersave" + +#: main.cpp:66 +msgid "Added basic detailed dialog" +msgstr "Grunnleggende avansert dialog lagt til" + +#: main.cpp:67 +msgid "Packaging Debian and Ubuntu" +msgstr "Pakkebygging for Debian og Ubuntu" + +#: detaileddialog.cpp:61 +msgid "KPowersave Information Dialog" +msgstr "Informasjonsdialog for KPowersave" + +#: detaileddialog.cpp:65 configure_Dialog.cpp:882 configure_Dialog.cpp:922 +msgid "Miscellaneous" +msgstr "Diverse" + +#: detaileddialog.cpp:66 +msgid "CPUs" +msgstr "Prosessorer" + +#: detaileddialog.cpp:73 detaileddialog.cpp:453 +msgid "Battery state:" +msgstr "Batteristatus:" + +#: detaileddialog.cpp:79 +msgid "Total:" +msgstr "Totalt:" + +#: detaileddialog.cpp:81 detaileddialog.cpp:83 +msgid "Battery %1" +msgstr "Batteri %1" + +#: detaileddialog.cpp:114 +msgid "Processor %1" +msgstr "Prosessor %1" + +#: detaileddialog.cpp:230 +msgid "not present" +msgstr "ikke tilgjengelig" + +#: detaileddialog.cpp:243 +msgid "charged" +msgstr "ladet" + +#: detaileddialog.cpp:245 +msgid "%1:%2 h until charged" +msgstr "%1:%2 t til fulladet" + +#: detaileddialog.cpp:248 +msgid "%1:%2 h remaining" +msgstr "%1:%2 t gjenstår" + +#: detaileddialog.cpp:253 detaileddialog.cpp:441 detaileddialog.cpp:468 +msgid "unknown" +msgstr "ukjent" + +#: detaileddialog.cpp:325 detaileddialog.cpp:368 +msgid "%v MHz" +msgstr "%v MHz" + +#: detaileddialog.cpp:330 detaileddialog.cpp:363 dummy.cpp:58 +msgid "deactivated" +msgstr "deaktivert" + +#: detaileddialog.cpp:395 +msgid "unplugged" +msgstr "koblet fra strømnett" + +#: detaileddialog.cpp:412 +msgid "Current Scheme: " +msgstr "Gjeldende strategi: " + +#: detaileddialog.cpp:429 +msgid "Current CPU Frequency Policy:" +msgstr "Definer retningslinjer for CPU-frekvens:" + +#: detaileddialog.cpp:435 kpowersave.cpp:193 configure_Dialog.cpp:877 +msgid "Dynamic" +msgstr "Dynamisk" + +#: detaileddialog.cpp:456 +msgid "Critical" +msgstr "Kritisk" + +#: detaileddialog.cpp:459 +msgid "Low" +msgstr "Lavt" + +#: detaileddialog.cpp:462 kpowersave.cpp:277 kpowersave.cpp:652 +#: kpowersave.cpp:659 kpowersave.cpp:705 kpowersave.cpp:713 kpowersave.cpp:761 +#: kpowersave.cpp:769 kpowersave.cpp:817 kpowersave.cpp:824 +#: kpowersave.cpp:1131 kpowersave.cpp:1243 kpowersave.cpp:1272 +#: kpowersave.cpp:1610 kpowersave.cpp:1670 kpowersave.cpp:2186 +msgid "Warning" +msgstr "Advarsel" + +#: detaileddialog.cpp:465 +msgid "ok" +msgstr "ok" + +#: detaileddialog.cpp:474 detaileddialog.cpp:477 +msgid "Set brightness supported:" +msgstr "Lysstyrkeregulering støttet:" + +#: detaileddialog.cpp:475 +msgid "yes" +msgstr "ja" + +#: detaileddialog.cpp:478 +msgid "no" +msgstr "nei" + +#: detaileddialog.cpp:481 detaileddialog.cpp:485 +msgid "HAL Daemon:" +msgstr "HAL-nisse:" + +#: detaileddialog.cpp:482 +msgid "running" +msgstr "kjører" + +#: detaileddialog.cpp:486 +msgid "not running" +msgstr "kjører ikke" + +#: info_Dialog.cpp:197 +msgid "Information" +msgstr "Informasjon" + +#: dummy.cpp:36 +msgid "If the current desktop user is inactive, dim the display to:" +msgstr "Ved inaktivitet fra gjeldende bruker, demp skjermen til:" + +#: dummy.cpp:37 +msgid "Enable dim display on inactivity" +msgstr "Aktiver demping av skjerm ved inaktivitet" + +#: dummy.cpp:38 +msgid "Blacklist" +msgstr "Unntaksliste" + +#: dummy.cpp:39 +msgid "" +"Here you can add programs which should, if running, prevent the dimming of " +"the display." +msgstr "" +"Her kan du legge til programmer som hindrer at skjermens lysstyrke dempes " +"dersom de kjører." + +#: dummy.cpp:41 +msgid "Would you like to import a predefined blacklist?" +msgstr "Vil du importere en forhåndsdefinert unntaksliste?" + +#: dummy.cpp:42 +msgid "Disable CPUs/Cores" +msgstr "Deaktiver prosessorer/kjerner" + +#: dummy.cpp:43 +msgid "Max. running CPUs:" +msgstr "Maks. aktive prosessorer:" + +#: dummy.cpp:44 +msgid "Max. running CPUs/Cores:" +msgstr "Maks. aktive prosessorer/kjerner:" + +#: dummy.cpp:45 +msgid "Min. running CPUs:" +msgstr "Min. aktive prosessorer:" + +#: dummy.cpp:46 +msgid "Min. running CPUs/Cores:" +msgstr "Min. aktive prosessorer/kjerner:" + +#: dummy.cpp:47 +msgid "Enable to switch off CPUs/cores" +msgstr "Aktiver for å slå av prosessorer/kjerner" + +#: dummy.cpp:48 +msgid "You have a multiprocessor/multicore machine." +msgstr "Maskinen har flere prosessorer/kjerner." + +#: dummy.cpp:49 +msgid "" +"You can disable CPUs/cores to reduce power consumption and save battery " +"power." +msgstr "" +"Du kan deaktivere prosessorer/kjerner for å redusere strømforbruket og spare " +"batteriet." + +#: dummy.cpp:50 +msgid "Device" +msgstr "Enhet" + +#: dummy.cpp:51 +msgid "Devices" +msgstr "Enheter" + +#: dummy.cpp:52 +msgid "Device class" +msgstr "Enhetsklasse" + +#: dummy.cpp:53 +msgid "activate" +msgstr "aktiver" + +#: dummy.cpp:54 +msgid "Activate" +msgstr "Aktiver" + +#: dummy.cpp:55 +msgid "deactivate" +msgstr "deaktiver" + +#: dummy.cpp:56 +msgid "Deactivate" +msgstr "Deaktiver" + +#: dummy.cpp:57 +msgid "activated" +msgstr "aktivert" + +#: dummy.cpp:59 +msgid "do nothing" +msgstr "ingen handling" + +#: dummy.cpp:60 +msgid "Deactivate following devices:" +msgstr "Deaktiver følgende enheter:" + +#: dummy.cpp:61 +msgid "Activate following devices" +msgstr "Aktiver følgende enheter" + +#: dummy.cpp:62 +msgid "Reactivate following devices" +msgstr "Aktiver følgende enheter igjen" + +#: dummy.cpp:63 +msgid "Deactivate following device classes:" +msgstr "Deaktiver følgende enhetsklasser:" + +#: dummy.cpp:64 +msgid "Activate following devices classes" +msgstr "Aktiver følgende enhetsklasser" + +#: dummy.cpp:65 +msgid "Reactivate following device classes" +msgstr "Aktiver følgende enhetsklasser igjen" + +#: dummy.cpp:66 +msgid "If the scheme switched all devices are again activated." +msgstr "Alle enheter aktiveres igjen ved bytte av strategi." + +#: dummy.cpp:67 +msgid "This is a experimental feature." +msgstr "Denne funksjonen er under utvikling." + +#: dummy.cpp:68 +msgid "If you have problems with this feature, please report them." +msgstr "Rapporter eventuelle problemer med denne funksjonen." + +#: dummy.cpp:69 +msgid "Select one of the available devices and click on " +msgstr "Velg én av de tilgjengelige enhetene og klikk på " + +#: dummy.cpp:70 +msgid "Select one of the available device classes and click on " +msgstr "Velg én av de tilgjengelige enhetsklassene og klikk på " + +#: dummy.cpp:71 +msgid "Select one or more of the available devices and click on " +msgstr "Velg én eller flere av de tilgjengelige enhetene og klikk på " + +#: dummy.cpp:72 +msgid "Select one or more of the available device classes and click on " +msgstr "Velg én eller flere av de tilgjengelige enhetsklassene og klikk på " + +#: dummy.cpp:73 +msgid "" +"Please note: If you e.g. deactivate a network device you may lose your " +"internet connection." +msgstr "" +"Husk: Du mister internettforbindelsen hvis du f.eks. deaktiverer en " +"nettverksenhet." + +#: dummy.cpp:75 +msgid "" +"Note: If you select this option, the computer will suspend or standby " +"if the current user is inactive for the defined time.

    This feature " +"can also produce problems with some programs, such as video players or cd " +"burner. These programs can be blacklisted by checking Enable scheme-" +"specific blacklist and click Edit Blacklist.... If this does not " +"help, report the problem or deactivate autosuspend.

    Really use this " +"option?" +msgstr "" +"Merk: Hvis du velger dette alternativet, vil dvale- eller ventemodus " +"bli aktivert dersom gjeldende bruker er inaktiv under det angitte tidsrommet." +"

    Denne funksjonen kan også forårsake problemer i enkelte programmer, " +"for eksempel videoavspillere og CD-brennere. Disse programmene kan unntas " +"ved å krysse av for Aktiver strategispesifikke unntak og klikke på " +"Rediger unntak.... Rapporter problemet hvis dette ikke hjelper, eller " +"deaktiver dvalefunksjonen.

    Vil du bruke dette valget likevel?" + +#: dummy.cpp:82 +msgid "Try to use only one CPU/Core." +msgstr "Prøv å bruke kun én CPU/kjerne." + +#: dummy.cpp:83 +msgid "" +"Reduce power consumption by try to use only one CPU/Core instead of " +"spreading the work over all/multiple CPUs." +msgstr "" +"Prøv å redusere strømforbruket ved å bruke kun én CPU/kjerne i stedet for å " +"fordele aktiviteten på alle/flere prosessorer." + +#: dummy.cpp:87 +msgid "Could not load the global configuration." +msgstr "Kunne ikke laste global konfigurasjon." + +#: dummy.cpp:88 +msgid "Could not load the requested scheme configuration." +msgstr "Kunne ikke laste ønsket strategikonfigurasjon." + +#: dummy.cpp:89 +msgid "Configure the current scheme." +msgstr "Konfigurer gjeldende strategi." + +#: dummy.cpp:90 +msgid "Try loading the default configuration." +msgstr "Forsøk å laste standardkonfigurasjonen." + +#: dummy.cpp:91 +msgid "Maybe the global configuration file is empty or missing." +msgstr "Kanskje den globale konfigurasjonsfilen er tom eller ikke eksisterer." + +#: dummy.cpp:94 +msgid "Cannot connect to D-Bus. The D-Bus daemon may not be running." +msgstr "Kan ikke koble til D-Bus. D-Bus-nissen kjører kanskje ikke." + +#: dummy.cpp:95 +msgid "" +"Scheme switched to %1. \n" +" Deactivate following devices: %2" +msgstr "" +"Strategi endret til %1. \n" +" Deaktiver følgende enheter: %2" + +#: dummy.cpp:96 +msgid "" +"Scheme switched to %1. \n" +" Activate following devices: %2" +msgstr "" +"Strategi endret til %1. \n" +" Aktiver følgende enheter: %2" + +#: dummy.cpp:97 +msgid "Report ..." +msgstr "Rapport ..." + +#: dummy.cpp:98 +msgid "Suspend to RAM is not supported on your machine." +msgstr "RAM-dvale støttes ikke på denne maskinen." + +#: dummy.cpp:99 +msgid "Additionally, please mail the output of %1 to %2 . Thanks!" +msgstr "Send gjerne resultatet av %1 til %2 også. Takk!" + +#: dummy.cpp:100 +msgid "Power consumption" +msgstr "Strømforbruk" + +#: dummy.cpp:103 +msgid "KScreensaver not found." +msgstr "Ingen KScreensaver funnet." + +#: dummy.cpp:104 +msgid "Try locking with XScreensaver or xlock." +msgstr "Forsøk å låse skjermen med XScreensaver eller xlock." + +#: dummy.cpp:105 +msgid "XScreensaver not found." +msgstr "Ingen XScreensaver funnet." + +#: dummy.cpp:106 +msgid "Try locking the screen with xlock." +msgstr "Forsøk å låse skjermen med xlock." + +#: dummy.cpp:107 +msgid "" +"XScreensaver and xlock not found. It is not possible to lock the screen. " +"Check your installation." +msgstr "" +"Ingen XScreensaver eller xlock funnet. Skjermen kan ikke låses. Kontroller " +"installasjonen." + +#: dummy.cpp:111 +msgid "HAL daemon:" +msgstr "HAL-nisse:" + +#: dummy.cpp:112 +msgid "D-Bus daemon:" +msgstr "D-Bus-nisse:" + +#: dummy.cpp:113 +msgid "ConsoleKit daemon:" +msgstr "ConsoleKit-nisse:" + +#: dummy.cpp:114 +msgid "Autosuspend activated:" +msgstr "Automatisk dvale aktivert:" + +#: dummy.cpp:115 +msgid "Autodimm activated:" +msgstr "Automatisk lysdemping aktivert:" + +#: dummy.cpp:116 +msgid "enabled" +msgstr "aktivert" + +#: dummy.cpp:117 +msgid "Session active:" +msgstr "Aktiv økt:" + +#: dummy.cpp:120 +msgid "Inactivity detected." +msgstr "Inaktivitet registrert." + +#: dummy.cpp:121 +msgid "To stop the %1 press the 'Cancel' button before the countdown expire." +msgstr "Stopp %1 ved å trykke 'Avbryt' før nedtellingen er fullført." + +#: dummy.cpp:122 +msgid "The computer autosuspend in: " +msgstr "Automatisk dvale om: " + +#: dummy.cpp:123 +#, c-format +msgid "The display get dimmed down to %1% in: " +msgstr "Skjermens lysstyrke dempes til %1% om: " + +#: dummy.cpp:124 +msgid "%1 seconds" +msgstr "%1 sekunder" + +#: dummy.cpp:127 +msgid "Could not call %1. The current desktop session is not active." +msgstr "Kunne ikke bruke %1. Gjeldende skrivebordsøkt er ikke aktiv." + +#: dummy.cpp:128 +msgid "Could not set %1. The current desktop session is not active." +msgstr "Kunne ikke stille inn %1. Gjeldende skrivebordsøkt er ikke aktiv." + +#: dummy.cpp:129 +msgid "Stopped %1. The current desktop session is now inactive." +msgstr "Stoppet %1. Gjeldende skrivebordsøkt er inaktiv." + +#: dummy.cpp:130 +msgid "Restarted %1. The current desktop session is now active again." +msgstr "Startet %1 på nytt. Gjeldende skrivebordsøkt er aktiv igjen." + +#: log_viewer.cpp:78 +msgid "Form1" +msgstr "Skjema 1" + +#: log_viewer.cpp:79 +msgid "Save As ..." +msgstr "Lagre som ..." + +#: log_viewer.cpp:80 +msgid "Close" +msgstr "Lukk" + +#: logviewer.cpp:44 +msgid "KPowersave Logfile Viewer: %1" +msgstr "Loggfilvisning for KPowersave: %1" + +#: logviewer.cpp:89 +msgid "File already exist. Overwrite the file?" +msgstr "Filen finnes allerede. Vil du overskrive den?" + +#: logviewer.cpp:90 logviewer.cpp:97 +msgid "Error while save logfile" +msgstr "Feil under lagring av loggfil" + +#: logviewer.cpp:95 +msgid "File already exist." +msgstr "Filen finnes allerede." + +#: logviewer.cpp:98 +msgid "Try other filename ..." +msgstr "Prøv et annet filnavn ..." + +#: suspenddialog.cpp:70 +msgid "Preparing Suspend..." +msgstr "Forbereder dvale..." + +#: kpowersave.cpp:168 +msgid "Configure KPowersave..." +msgstr "Konfigurer KPowersave..." + +#: kpowersave.cpp:171 configure_Dialog.cpp:915 +msgid "Configure Notifications..." +msgstr "Konfigurer varsling..." + +#: kpowersave.cpp:175 +msgid "Start YaST2 Power Management Module..." +msgstr "Start strømstyringsmodulen i YaST2..." + +#: kpowersave.cpp:189 kpowersave.cpp:2106 kpowersave.cpp:2166 +#: kpowersave.cpp:2253 +msgid "Standby" +msgstr "Ventemodus" + +#: kpowersave.cpp:191 kpowersave.cpp:198 +msgid "Set CPU Frequency Policy" +msgstr "Definer retningslinjer for CPU-frekvens" + +#: kpowersave.cpp:205 kpowersave.cpp:206 +msgid "Set Active Scheme" +msgstr "Definer aktiv strategi" + +#: kpowersave.cpp:212 +msgid "Disable Actions on Inactivity" +msgstr "Deaktiver handlinger ved inaktivitet" + +#: kpowersave.cpp:219 kpowersave.cpp:229 +msgid "&Help" +msgstr "&Hjelp" + +#: kpowersave.cpp:221 +msgid "&KPowersave Handbook" +msgstr "&KPowersave-veiledning" + +#: kpowersave.cpp:224 +msgid "&Report a bug ..." +msgstr "&Rapporter en feil ..." + +#: kpowersave.cpp:226 +msgid "&About KPowersave" +msgstr "Om KPowers&ave" + +#: kpowersave.cpp:275 kpowersave.cpp:648 kpowersave.cpp:656 kpowersave.cpp:703 +#: kpowersave.cpp:710 kpowersave.cpp:759 kpowersave.cpp:766 kpowersave.cpp:815 +#: kpowersave.cpp:822 kpowersave.cpp:1126 kpowersave.cpp:1241 +#: kpowersave.cpp:1270 kpowersave.cpp:2183 +msgid "WARNING" +msgstr "ADVARSEL" + +#: kpowersave.cpp:275 +msgid "Cannot find any schemes." +msgstr "Finner ingen strategier." + +#: kpowersave.cpp:453 +msgid "No information about battery and AC status available" +msgstr "Ingen informasjon om batteri- og strømnettstatus tilgjengelig" + +#: kpowersave.cpp:456 +msgid "Plugged in -- fully charged" +msgstr "Koblet til strømnett -- fulladet" + +#: kpowersave.cpp:460 +msgid "Plugged in" +msgstr "Koblet til strømnett" + +#: kpowersave.cpp:464 +msgid "Plugged in -- %1% charged (%2:%3 h until full charged)" +msgstr "Koblet til strømnett -- %1% ladet (%2:%3 t til fulladet)" + +#: kpowersave.cpp:467 +msgid "Plugged in -- %1% charged (%2:%3 remaining hours)" +msgstr "Koblet til strømnett -- %1% ladet (%2:%3 gjenværende timer)" + +#: kpowersave.cpp:471 kpowersave.cpp:475 +#, c-format +msgid "Plugged in -- %1% charged" +msgstr "Koblet til strømnett -- %1% c" + +#: kpowersave.cpp:474 +msgid "Plugged in -- no battery" +msgstr "Koblet til strømnett -- uten batteri" + +#: kpowersave.cpp:480 +msgid "Running on batteries -- %1% charged (%2:%3 hours remaining)" +msgstr "Batteridrift -- %1% ladet (%2:%3 gjenværende timer)" + +#: kpowersave.cpp:484 +#, c-format +msgid "Running on batteries -- %1% charged" +msgstr "Batteridrift -- %1% c" + +#: kpowersave.cpp:491 +msgid " -- battery is charging" +msgstr " -- batteri lades" + +#: kpowersave.cpp:649 kpowersave.cpp:657 +msgid "Could not start YaST Power Management Module. Check if it is installed." +msgstr "" +"Kunne ikke starte strømstyringsmodulen i YaST. Kontroller om den er " +"installert." + +#: kpowersave.cpp:703 +msgid "Suspend to disk failed" +msgstr "Diskdvale mislyktes" + +#: kpowersave.cpp:711 +msgid "Suspend to disk disabled by administrator." +msgstr "Diskdvale deaktivert av administrator." + +#: kpowersave.cpp:759 +msgid "Suspend to RAM failed" +msgstr "RAM-dvale mislyktes" + +#: kpowersave.cpp:767 +msgid "Suspend to RAM disabled by administrator." +msgstr "RAM-dvale deaktivert av administrator." + +#: kpowersave.cpp:815 +msgid "Standby failed" +msgstr "Ventemodus mislyktes" + +#: kpowersave.cpp:822 +msgid "Standby disabled by administrator." +msgstr "Ventemodus deaktivert av administrator." + +#: kpowersave.cpp:853 +msgid "System is going into suspend mode now" +msgstr "Systemet aktiverer dvalemodus nå" + +#: kpowersave.cpp:1039 +msgid "Could not call DCOP interface to umount external media." +msgstr "Kunne ikke bruke DCOP for å avmontere eksterne medier." + +#: kpowersave.cpp:1044 +msgid "" +"Could not umount external media before suspend/standby. \n" +" (Reason: %1)\n" +" \n" +" Would you like to continue suspend/standby anyway? \n" +"(Warning: Continue suspend can cause data loss!)" +msgstr "" +"Kunne ikke avmontere eksterne medier før dvale-/ventemodus. \n" +" (Årsak: %1)\n" +" \n" +" Vil du fortsette å bruke dvale-/ventemodus likevel? \n" +"(Advarsel: Fortsatt bruk av dvale kan føre til tap av data!)" + +#: kpowersave.cpp:1052 +msgid "Error while prepare %1" +msgstr "Feil under klargjøring %1" + +#: kpowersave.cpp:1053 +msgid "Suspend anyway" +msgstr "Bruk dvale likevel" + +#: kpowersave.cpp:1053 +msgid "Cancel suspend" +msgstr "Avbryt dvale" + +#: kpowersave.cpp:1127 +msgid "" +"Could not lock the screen. There may be a problem with the selected \n" +"lock method or something else." +msgstr "" +"Kunne ikke låse skjermen. Det er kanskje et problem med den valgte \n" +"låsemetoden eller noe annet." + +#: kpowersave.cpp:1144 +msgid "The Lid was closed." +msgstr "Lokket ble slått igjen." + +#: kpowersave.cpp:1156 +msgid "The Lid was opened." +msgstr "Lokket ble åpnet." + +#: kpowersave.cpp:1223 +msgid "Start KPowersave automatically when you log in?" +msgstr "Skal KPowersave starte automatisk når du logger inn?" + +#: kpowersave.cpp:1224 +msgid "Question" +msgstr "Spørsmål" + +#: kpowersave.cpp:1225 +msgid "Start Automatically" +msgstr "Start automatisk" + +#: kpowersave.cpp:1225 +msgid "Do Not Start" +msgstr "Ikke start" + +#: kpowersave.cpp:1242 +msgid "CPU Freq Policy %1 could not be set." +msgstr "CPU-frekvensstrategien %1 kunne ikke benyttes." + +#: kpowersave.cpp:1271 +msgid "Scheme %1 could not be activated." +msgstr "Strategien %1 kunne ikke aktiveres." + +#: kpowersave.cpp:1600 +msgid "" +"The D-Bus daemon is not running.\n" +"Starting it will provide full functionality: /etc/init.d/dbus start" +msgstr "" +"D-Bus-nissen kjører ikke.\n" +"Start den for å aktivere alle funksjonene: /etc/init.d/dbus start" + +#: kpowersave.cpp:1611 +msgid "Don't show this message again." +msgstr "Ikke vis denne meldingen igjen." + +#: kpowersave.cpp:1637 +msgid "ERROR" +msgstr "FEIL" + +#: kpowersave.cpp:1638 +msgid "Could not get information from HAL. The haldaemon is maybe not running." +msgstr "Ingen informasjon fra HAL. HAL-nissen er kanskje ikke aktivert." + +#: kpowersave.cpp:1641 +msgid "Error" +msgstr "Feil" + +#: kpowersave.cpp:1912 +msgid "" +"Battery state changed to WARNING -- remaining time: %1 hours and %2 minutes." +msgstr "" +"Batterinivå endret til ADVARSEL -- gjenværende tid: %1 time og %2 minutter." + +#: kpowersave.cpp:1921 +msgid "" +"Battery state changed to LOW -- remaining time: %1 hours and %2 minutes." +msgstr "" +"Batterinivå endret til LAVT -- gjenværende tid: %1 time og %2 minutter." + +#: kpowersave.cpp:1932 +msgid "" +"Battery state changed to CRITICAL -- remaining time: %1 hours and %2 " +"minutes.\n" +"Shut down your system or plug in the power cable immediately. Otherwise the " +"machine\n" +"will go shutdown in 30 seconds" +msgstr "" +"Batterinivå endret til KRITISK -- gjenværende tid: %1 time og %2 minutter.\n" +"Slå straks av systemet eller koble maskinen til strømnettet. Hvis ikke, vil " +"maskinen\n" +"bli slått av om 30 sekunder." + +#: kpowersave.cpp:1943 +msgid "" +"Battery state changed to CRITICAL -- remaining time: %1 hours and %2 " +"minutes.\n" +"Shut down your system or plug in the power cable immediately." +msgstr "" +"Batterinivå endret til KRITISK -- gjenværende tid: %1 time og %2 minutter.\n" +"Slå straks av systemet eller koble maskinen til strømnettet." + +#: kpowersave.cpp:2041 +msgid "AC adapter plugged in" +msgstr "AC-adapter tilkoblet" + +#: kpowersave.cpp:2043 +msgid "AC adapter unplugged" +msgstr "AC-adapter frakoblet" + +#: kpowersave.cpp:2078 +msgid "Switched to scheme: %1" +msgstr "Byttet til strategien: %1" + +#: kpowersave.cpp:2095 kpowersave.cpp:2100 kpowersave.cpp:2105 +msgid "System is going into %1 now." +msgstr "Systemet aktiverer %1 nå." + +#: kpowersave.cpp:2155 kpowersave.cpp:2160 kpowersave.cpp:2165 +msgid "System is resumed from %1." +msgstr "Systemet er gjenopprettet fra %1." + +#: kpowersave.cpp:2184 +msgid "Could not remount (all) external storage media." +msgstr "Kunne ikke montere (alle) eksterne lagringsmedier på nytt." + +#: kpowersave.cpp:2192 +msgid "An unknown error occurred while %1. The errorcode is: '%2'" +msgstr "Det oppstod en ukjent feil under %1. Feilkoden er: '%2'" + +# power-off message +#: kpowersave.cpp:2197 +msgid "Do you want to have a look at the log file?" +msgstr "Vil du se på loggfilen?" + +#: kpowersave.cpp:2198 kpowersave.cpp:2224 +msgid "Error while %1" +msgstr "Feil under %1" + +#: configure_Dialog.cpp:831 +msgid "KPowersave Settings" +msgstr "KPowersave-innstillinger" + +#: configure_Dialog.cpp:832 +msgid "Apply" +msgstr "Bruk" + +#: configure_Dialog.cpp:834 +msgid "Help" +msgstr "Hjelp" + +#: configure_Dialog.cpp:840 +msgid "Enable specific display power management" +msgstr "Aktiver spesifikk strømstyring for skjerm" + +#: configure_Dialog.cpp:841 +msgid "Standby after:" +msgstr "Ventemodus etter:" + +#: configure_Dialog.cpp:842 +msgid "Only blank the screen" +msgstr "Bare slå av skjermen" + +#: configure_Dialog.cpp:843 +msgid "Disable screen saver" +msgstr "Deaktiver skjermsparer" + +#: configure_Dialog.cpp:844 +msgid "Enable specific screensaver settings" +msgstr "Aktiver spesifikke skjermsparerinnstillinger" + +#: configure_Dialog.cpp:845 +msgid "Suspend after:" +msgstr "Dvale etter:" + +#: configure_Dialog.cpp:846 +msgid "Power off after:" +msgstr "Slå av maskinen etter:" + +#: configure_Dialog.cpp:847 +msgid "Disable display power management" +msgstr "Deaktiver spesifikk strømstyring for skjerm" + +#: configure_Dialog.cpp:848 configure_Dialog.cpp:849 configure_Dialog.cpp:850 +#: configure_Dialog.cpp:862 configure_Dialog.cpp:873 +msgid " min" +msgstr " min" + +#: configure_Dialog.cpp:851 +msgid "Screen Saver and DPMS" +msgstr "Skjermsparer og DPMS" + +#: configure_Dialog.cpp:852 +msgid "Settings" +msgstr "Innstillinger" + +#: configure_Dialog.cpp:853 +msgid "Reset" +msgstr "Tilbakestill" + +#: configure_Dialog.cpp:855 +msgid "Enable scheme specific Brightness settings" +msgstr "Aktiver strategispesifikke lysstyrkeinnstillinger" + +#: configure_Dialog.cpp:858 +msgid "Brightness" +msgstr "Lysstyrke" + +#: configure_Dialog.cpp:859 +msgid "Enable autosuspend" +msgstr "Aktiver automatisk dvale" + +#: configure_Dialog.cpp:860 configure_Dialog.cpp:867 +msgid "Enable scheme-specific blacklist" +msgstr "Aktiver strategispesifikke unntak" + +#: configure_Dialog.cpp:861 configure_Dialog.cpp:870 +msgid "after:" +msgstr "etter:" + +#: configure_Dialog.cpp:863 configure_Dialog.cpp:868 +msgid "Edit Blacklist..." +msgstr "Rediger unntaksliste..." + +#: configure_Dialog.cpp:864 configure_Dialog.cpp:869 +msgid "If the current desktop user is inactive the computer will:" +msgstr "Ved inaktivitet fra gjeldende bruker vil datamaskinen:" + +#: configure_Dialog.cpp:865 +msgid "Autosuspend" +msgstr "Automatisk dvale" + +#: configure_Dialog.cpp:866 +msgid "Enable autodimm the display" +msgstr "Aktiver automatisk lysdemping for skjerm" + +#: configure_Dialog.cpp:871 configure_Dialog.cpp:893 configure_Dialog.cpp:894 +#: configure_Dialog.cpp:895 configure_Dialog.cpp:896 configure_Dialog.cpp:897 +#: configure_Dialog.cpp:898 +msgid " %" +msgstr " %" + +#: configure_Dialog.cpp:872 +msgid "dimm to:" +msgstr "demp til:" + +#: configure_Dialog.cpp:874 +msgid "Autodimm" +msgstr "Automatisk lysdemping" + +#: configure_Dialog.cpp:879 +msgid "Set CPU Frequency Policy:" +msgstr "Angi strategi for CPU-frekvens:" + +#: configure_Dialog.cpp:880 +msgid "CPU Frequency Policy" +msgstr "Strategi for CPU-frekvens" + +#: configure_Dialog.cpp:881 +msgid "Disable Notifications" +msgstr "Deaktiver varsling" + +#: configure_Dialog.cpp:884 +msgid "New" +msgstr "Ny" + +#: configure_Dialog.cpp:885 +msgid "Scheme Settings" +msgstr "Strategi-innstillinger" + +#: configure_Dialog.cpp:886 +msgid "" +"Define the battery warning levels (in percentage) and the releated action if " +"the level get reached:" +msgstr "" +"Angi varslingsnivåer for batteri (i prosent) og handlinger ved ulike nivåer:" + +#: configure_Dialog.cpp:887 +msgid "Warning level:" +msgstr "Varslingsnivå:" + +#: configure_Dialog.cpp:888 +msgid "Low level:" +msgstr "Lavt nivå:" + +# +#: configure_Dialog.cpp:889 +msgid "Critical level:" +msgstr "Kritisk nivå:" + +#: configure_Dialog.cpp:890 configure_Dialog.cpp:891 configure_Dialog.cpp:892 +msgid "if reached call:" +msgstr "ved dette nivået, bruk:" + +#: configure_Dialog.cpp:899 +msgid "Battery" +msgstr "Batteri" + +#: configure_Dialog.cpp:900 +msgid "" +"Define the action which should be executed if the related button get pressed:" +msgstr "" +"Angi handlingen som skal utføres hvis den aktuelle knappen trykkes inn:" + +#: configure_Dialog.cpp:901 +msgid "Suspend-to-disk Button:" +msgstr "Diskdvale-knapp:" + +#: configure_Dialog.cpp:902 +msgid "Sleep button:" +msgstr "Ventemodus-knapp:" + +#: configure_Dialog.cpp:903 +msgid "Lid close Button:" +msgstr "Lukk deksel-knapp:" + +#: configure_Dialog.cpp:904 +msgid "Power Button:" +msgstr "Strømknapp:" + +#: configure_Dialog.cpp:905 +msgid "Button Events" +msgstr "Knappehendelser" + +#: configure_Dialog.cpp:906 +msgid "" +"Select the following schemes as default if the system is running on AC or on " +"batteries." +msgstr "" +"Velg følgende standardstrategier når maskinen er koblet til strømnettet " +"eller bruker batteridrift." + +#: configure_Dialog.cpp:907 +msgid "Battery scheme:" +msgstr "Batteristrategi:" + +#: configure_Dialog.cpp:908 +msgid "AC scheme:" +msgstr "Strømnettstrategi:" + +#: configure_Dialog.cpp:909 +msgid "Default Schemes" +msgstr "Standardstrategier" + +#: configure_Dialog.cpp:910 +msgid "Lock screen before suspend or standby" +msgstr "Lås skjerm før dvale- eller ventemodus" + +#: configure_Dialog.cpp:911 +msgid "Lock screen with:" +msgstr "Lås skjerm med:" + +#: configure_Dialog.cpp:912 +msgid "Lock screen on lid close" +msgstr "Lås skjerm når lokk slås igjen" + +#: configure_Dialog.cpp:913 +msgid "Lock Screen" +msgstr "Lås skjerm" + +#: configure_Dialog.cpp:914 +msgid "Notifications" +msgstr "Varsling" + +#: configure_Dialog.cpp:916 +msgid "Autostart" +msgstr "Autostart" + +#: configure_Dialog.cpp:917 +msgid "Never ask me again on exit" +msgstr "Spør ikke om dette igjen" + +#: configure_Dialog.cpp:918 +msgid "KPowersave starts automatically on login" +msgstr "KPowersave starter automatisk når du logger inn" + +#: configure_Dialog.cpp:919 +msgid "General Blacklists" +msgstr "Generelle unntakslister" + +#: configure_Dialog.cpp:920 +msgid "Edit Autosuspend Blacklist..." +msgstr "Rediger unntaksliste for automatisk dvale..." + +#: configure_Dialog.cpp:921 +msgid "Edit Autodimm Blacklist..." +msgstr "Rediger unntaksliste for automatisk lysdemping..." + +#: configure_Dialog.cpp:923 +msgid "General Settings" +msgstr "Generelle innstillinger" diff --git a/po/nl.po b/po/nl.po new file mode 100644 index 0000000..73bffe8 --- /dev/null +++ b/po/nl.po @@ -0,0 +1,1503 @@ +# translation of kpowersave.po to Nederlands +# translation of kpowersave.po to +# translation of 20050815 kpowersave.po to +# translation of nl.po to +# This file is distributed under the same license as the PACKAGE package. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER. +# +# Antje Faber , 2004. +# Arthur & Ettie Kerkmeester , 2004, 2005. +# beijnes@xs4all.nl , 2005. +# Rinse de Vries , 2005, 2006, 2007. +msgid "" +msgstr "" +"Project-Id-Version: kpowersave\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2007-08-10 03:16+0200\n" +"PO-Revision-Date: 2007-08-20 22:11+0200\n" +"Last-Translator: Rinse de Vries \n" +"Language-Team: Nederlands \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: KBabel 1.11.4\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#: detailed_Dialog.cpp:228 +msgid "kpowersave" +msgstr "kpowersave" + +#: detailed_Dialog.cpp:229 +msgid "General Information" +msgstr "Algemene informatie" + +#: detailed_Dialog.cpp:232 +msgid "Battery Status" +msgstr "Batterijstatus" + +#: detailed_Dialog.cpp:233 +msgid "AC Adapter" +msgstr "AC-adapter" + +#: detailed_Dialog.cpp:234 detaileddialog.cpp:391 +msgid "plugged in" +msgstr "aangesloten" + +#: detailed_Dialog.cpp:235 +msgid "Power Consumtion: " +msgstr "Energieverbruik: " + +#: detailed_Dialog.cpp:237 +msgid "Processor Status" +msgstr "Processorstatus" + +# ok button label +#: detailed_Dialog.cpp:238 blacklistedit_Dialog.cpp:130 info_Dialog.cpp:198 +#: configure_Dialog.cpp:838 +msgid "OK" +msgstr "Ok" + +#: blacklisteditdialog.cpp:60 +msgid "General Blacklist" +msgstr "Algemene zwarte lijst" + +#: blacklisteditdialog.cpp:63 +msgid "Scheme: " +msgstr "Schema: " + +#: blacklisteditdialog.cpp:114 +msgid "Selected entry removed." +msgstr "Geselecteerd schema verwijderd." + +#: blacklisteditdialog.cpp:117 +msgid "Could not remove the selected entry." +msgstr "Kon geselecteerd schema niet verwijderen." + +#: blacklisteditdialog.cpp:137 +msgid "Inserted new entry." +msgstr "Voeg nieuw schema toe" + +#: blacklisteditdialog.cpp:141 +msgid "Entry exists already. Did not insert new entry." +msgstr "Schema bestaat al. Geen nieuw schema toegevoegd." + +#: blacklisteditdialog.cpp:144 +msgid "Empty entry was not inserted." +msgstr "Leeg schema is niet toegevoegd." + +#: inactivity.cpp:298 +msgid "" +"Could not start 'pidof'. Could not autosuspend the machine.\n" +"Please check your installation." +msgstr "" +"Kon 'pidof' niet starten. De computer kan niet automatisch in slaapstand " +"worden gezet.\n" +"Controleer uw installatie." + +#: blacklistedit_Dialog.cpp:129 +msgid "Autosuspend Blacklist Edit" +msgstr "Zwarte lijst voor automatische slaapstand" + +# cancel button label +#: blacklistedit_Dialog.cpp:132 configuredialog.cpp:1079 +#: configure_Dialog.cpp:836 +msgid "Cancel" +msgstr "Annuleren" + +#: blacklistedit_Dialog.cpp:135 +msgid "Add" +msgstr "Toevoegen" + +#: blacklistedit_Dialog.cpp:136 +msgid "Remove" +msgstr "Verwijderen" + +#: infodialog.cpp:76 infodialog.cpp:78 main.cpp:55 +msgid "KPowersave" +msgstr "KPowersave" + +#: configuredialog.cpp:116 configuredialog.cpp:121 configuredialog.cpp:721 +msgid " - not supported" +msgstr " - niet ondersteund" + +#: configuredialog.cpp:150 configuredialog.cpp:317 detaileddialog.cpp:432 +#: kpowersave.cpp:192 settings.cpp:66 configure_Dialog.cpp:876 +msgid "Performance" +msgstr "Prestaties" + +#: configuredialog.cpp:154 configuredialog.cpp:319 detaileddialog.cpp:438 +#: kpowersave.cpp:194 settings.cpp:68 configure_Dialog.cpp:878 +msgid "Powersave" +msgstr "Energiebesparing" + +#: configuredialog.cpp:159 configuredialog.cpp:321 kpowersave.cpp:1478 +#: settings.cpp:70 +msgid "Presentation" +msgstr "Presentatie" + +#: configuredialog.cpp:164 configuredialog.cpp:323 kpowersave.cpp:1473 +#: settings.cpp:72 +msgid "Acoustic" +msgstr "Akoestisch" + +#: configuredialog.cpp:169 configuredialog.cpp:171 configuredialog.cpp:172 +#: configuredialog.cpp:173 kpowersave.cpp:1484 +msgid "Advanced Powersave" +msgstr "Geavanceerde energiebesparing" + +#: configuredialog.cpp:271 +msgid "" +"This enables specific screen saver settings. \n" +"Note: If selected, the global screen saver settings are \n" +"overwritten while kpowersave runs." +msgstr "" +"Dit schakelt specifieke instellingen van de schermbeveiliging in. \n" +"Opmerking: als dit geselecteerd is, worden de globale instellingen van de \n" +"schermbeveiliging overschreven zodra kpowersave actief wordt." + +#: configuredialog.cpp:274 +msgid "" +"This disables the screen saver. \n" +"Note: If selected, the global screen saver settings are \n" +"overwritten while kpowersave runs." +msgstr "" +"Dit schakelt de schermbeveiliging uit. \n" +"Opmerking: als dit geselecteerd is, worden de globaleinstellingen van de \n" +"schermbeveiliging overschreven zodra kpowersave actief wordt." + +#: configuredialog.cpp:277 +msgid "" +"This blanks the screen instead of using a specific screen saver. \n" +"Note: This may work only with KScreensaver." +msgstr "" +"Dit maakt het scherm leeg in plaats van dat er een specifieke " +"schermbeveiliging getoond wordt.\n" +"Opmerking: het is mogelijk dat dit alleen met KScreensaver werkt." + +#: configuredialog.cpp:279 +msgid "" +"This enables specific DPMS settings. \n" +"Note: If selected, the global DPMS settings are \n" +"overwritten while kpowersave runs." +msgstr "" +"Dit activeert specifieke DPMS-instellingen. \n" +"Opmerking: als dit geselecteerd is, worden de globale DPMS \n" +"instellingen overschreven zodra kpowersave actief wordt." + +#: configuredialog.cpp:282 +msgid "This disables DPMS support." +msgstr "Dit schakelt DPMS-ondersteuning uit." + +#: configuredialog.cpp:283 +msgid "If selected, the screen is locked on suspend or standby." +msgstr "" +"Als dit geselecteerd is, wordt in de slaap- of standby-stand het scherm " +"vergrendeld." + +#: configuredialog.cpp:284 +msgid "If selected, the screen is locked if the lid close event is triggered." +msgstr "" +"Als dit geselecteerd is, wordt het scherm vergrendeld zodra de 'deksel " +"sluiten'-gebeurtenis' heeft plaatsgehad." + +#: configuredialog.cpp:286 +msgid "" +"Check this box to enable or disable automatic suspension of the computer." +msgstr "" +"Selecteer dit om de automatische slaapstand van de computer in- of uit te " +"schakelen." + +#: configuredialog.cpp:288 +msgid "" +"Activate this action if the user was inactive for the defined time \n" +"(greater than 0 minutes). If empty, nothing happens." +msgstr "" +"Schakel deze actie in als de gebruiker gedurende de gedefinieerde tijd \n" +"(> 0 minuten) niet actief was. Er gebeurt niets als u dit leeg laat." + +#: configuredialog.cpp:291 +msgid "All scheme-related screen saver and DPMS settings." +msgstr "" +"Alle schema-gerelateerde instellingen voor de schermbeveiliging en DPMS." + +#: configuredialog.cpp:292 +msgid "All scheme-related display brightness settings." +msgstr "Alle schemagerelateerde instellingen voor helderheid van het scherm." + +#: configuredialog.cpp:293 +msgid "All scheme-related automatic suspend settings." +msgstr "Alle schema-gerelateerde instellingen voor automatische slaapstand." + +#: configuredialog.cpp:295 +msgid "" +"Here you can change the brightness of your display. \n" +"Use the slider to change the brightness directly for \n" +"testing. To reset back to previous level, please press \n" +"the 'Reset' button. " +msgstr "" +"Hier kunt u de helderheid van uw beeldscherm wijzigen.\n" +"Gebruik de schuifregelaar om de helderheid direct te wijzigen\n" +"om deze te testen. Om terug te gaan naar het vorige niveau,\n" +"Klik op de knop 'Herstellen'. " + +#: configuredialog.cpp:299 +msgid "Use this button to set back the slider and the display brightness." +msgstr "Gebruik deze knop om de helderheid van scherm te verminderen." + +#: configuredialog.cpp:352 +msgid "Press this button to delete the selected scheme." +msgstr "Klik op deze knop om het geselecteerde schema te verwijderen." + +#: configuredialog.cpp:357 +msgid "You can't delete the current AC or battery scheme." +msgstr "U kunt het huidige AC- of batterijschema niet verwijderen." + +#: configuredialog.cpp:363 +msgid "You can't delete this default scheme." +msgstr "U kunt dit standaardschema niet verwijderen." + +#: configuredialog.cpp:546 +msgid "" +"Your hardware supports to change the brightness. The values of the slider " +"are in percent and mapped to the available brightness levels of your " +"hardware." +msgstr "" +"De hardware ondersteunt het wijzigen van de helderheid. De waarden van de " +"schuifregelaar worden in procenten weergegeven en toegewezen aan de " +"beschikbare helderheidsniveaus van de hardware." + +#: configuredialog.cpp:553 +msgid "" +"Your Hardware currently not support changing the brightness of your display." +msgstr "" +"Uw hardware biedt momenteel geen ondersteuning voor het veranderen van de " +"helderheid van uw beeldscherm." + +#: configuredialog.cpp:664 +msgid "Select Automatically" +msgstr "Automatisch selecteren" + +#: configuredialog.cpp:665 +msgid "KScreensaver" +msgstr "KScreensaver" + +#: configuredialog.cpp:666 +msgid "XScreensaver" +msgstr "XScreensaver " + +#: configuredialog.cpp:667 +msgid "xlock" +msgstr "xlock" + +#: configuredialog.cpp:668 +msgid "GNOME Screensaver" +msgstr "GNOME-schermbeveiliging" + +#: configuredialog.cpp:930 +msgid "" +"There are unsaved changes in the active scheme.\n" +"Apply the changes before jumping to the next scheme or discard the changes?" +msgstr "" +"Er zijn niet-opgeslagen wijzigingen in het actieve schema.\n" +"De wijzigingen toepassen alvorens naar het volgende schema te gaan of de " +"wijzigingen verwerpen?" + +#: configuredialog.cpp:933 configuredialog.cpp:983 +msgid "Unsaved Changes" +msgstr "Niet-opgeslagen wijzigingen" + +#: configuredialog.cpp:981 +msgid "" +"There are unsaved changes.\n" +"Apply the changes before cancel or discard the changes?" +msgstr "" +"Er zijn niet-opgeslagen wijzigingen.\n" +"De wijzigingen toepassen alvorens te annuleren of de wijzigingen verwerpen?" + +#: configuredialog.cpp:1032 +msgid "Please insert a name for the new scheme:" +msgstr "Voer een naam in voor het nieuwe schema:" + +#: configuredialog.cpp:1038 +msgid "KPowersave Configuration" +msgstr "KPowersave-configuratie" + +#: configuredialog.cpp:1046 +msgid "Error: A scheme with this name already exist.\n" +msgstr "Fout: een schema met deze naam bestaat al.\n" + +#: configuredialog.cpp:1076 +msgid "Do you really want to delete the %1 scheme?" +msgstr "Wilt u schema %1 verwijderen?" + +#: configuredialog.cpp:1078 +msgid "Confirm delete scheme" +msgstr "Verwijderen van schema bevestigen" + +#: configuredialog.cpp:1079 configure_Dialog.cpp:883 +msgid "Delete" +msgstr "Verwijderen" + +#: configuredialog.cpp:1095 +msgid "Could not delete the selected scheme." +msgstr "Kon geselecteerd schema niet verwijderen." + +#: configuredialog.cpp:1324 +msgid "" +"Note: If you select this option, the computer will suspend or standby " +"if the current user is inactive for the defined time even if somebody is " +"logged in remotely to the X server.

    This feature can also produce " +"problems with some programs, such as video players or cd burner. These " +"programs can be blacklisted by checking Enable scheme-specific blacklist and click Edit Blacklist.... If this does not help, report the " +"problem or deactivate autosuspend.

    Really use this option?" +msgstr "" +"Belangrijk:Als deze optie geselecteerd is, wordt de computer in " +"slaap- of standby-stand gebracht als de huidige gebruiker gedurende de " +"ingestelde tijd niet actief is. Zelfs een gebruiker op afstand die bij de X-" +"server is aangemeld.

    Deze optie kan problemen veroorzaken in " +"combinatie met bepaalde programma's, zoals videospelers en CD-branders. " +"Dergelijke programma's kunt u op een zwarte lijst plaatsen. Selecteer " +"
    schema-specifieke zwarte lijst
    en klik op Zwarte lijst bewerken..." +". Als dit niet helpt, rapporteer het probleem of schakel de automatische " +"slaapstand uit.

    Wilt u deze optie inschakelen?" + +#: configuredialog.cpp:1402 configuredialog.cpp:1532 +msgid "" +"The blacklist of the selected scheme is empty. Import the general blacklist?" +msgstr "" +"De zwarte lijst van het geselecteerde schema is leeg. Algemene zwarte lijst " +"importeren?" + +#: configuredialog.cpp:1404 configuredialog.cpp:1534 +msgid "Import" +msgstr "Importeren" + +#: configuredialog.cpp:1404 configuredialog.cpp:1534 +msgid "Do Not Import" +msgstr "Niet importeren" + +#: configuredialog.cpp:1416 +msgid "General Autosuspend Blacklist" +msgstr "Algemene zwarte lijst voor automatische slaapstand" + +#: configuredialog.cpp:1546 +msgid "General Autodimm Blacklist" +msgstr "Algemene zwarte lijst voor automatisch dimmen" + +#: configuredialog.cpp:1779 configuredialog.cpp:1816 +msgid "Shutdown" +msgstr "Afsluiten" + +# /usr/lib/YaST2/clients/dialup_dev_cfg.ycp:336 +#: configuredialog.cpp:1781 configuredialog.cpp:1819 +msgid "Logout Dialog" +msgstr "Afmeldvenster" + +#: configuredialog.cpp:1784 configuredialog.cpp:1822 kpowersave.cpp:182 +#: kpowersave.cpp:2096 kpowersave.cpp:2156 kpowersave.cpp:2247 +msgid "Suspend to Disk" +msgstr "Slaapstand naar schijf" + +#: configuredialog.cpp:1787 configuredialog.cpp:1825 kpowersave.cpp:186 +#: kpowersave.cpp:2101 kpowersave.cpp:2161 kpowersave.cpp:2250 +msgid "Suspend to RAM" +msgstr "Slaapstand naar RAM" + +#: configuredialog.cpp:1790 configuredialog.cpp:1828 +msgid "CPU Powersave policy" +msgstr "Energiebepeleid voor CPU" + +#: configuredialog.cpp:1793 configuredialog.cpp:1831 +msgid "CPU Dynamic policy" +msgstr "Beleid voor dynamische CPU" + +#: configuredialog.cpp:1796 configuredialog.cpp:1834 +msgid "CPU Performance policy" +msgstr "Beleid voor CPU-prestatie" + +#: configuredialog.cpp:1799 configuredialog.cpp:1837 +msgid "Set Brightness to" +msgstr "Helderheid instellen op" + +#: main.cpp:43 +msgid "KDE Frontend for Power Management, Battery Monitoring and Suspend" +msgstr "KDE-schil voor energiebeheer, batterijbewaking en slaapstand" + +#: main.cpp:45 +msgid "Force a new check for ACPI support" +msgstr "Nieuwe controle voor ACPI-ondersteuning forceren" + +#: main.cpp:46 +msgid "Trace function entry and leave points for debug\n" +msgstr "Trace-functie en leave points voor debugging\n" + +#: main.cpp:59 +msgid "Current maintainer" +msgstr "Huidige onderhouder" + +#: main.cpp:62 +msgid "Powersave developer and for D-Bus integration" +msgstr "Powersave-ontwikkelaar en integratie voor DBUS" + +#: main.cpp:64 +msgid "Powersave developer and tester" +msgstr "Powersave-ontwikkelaar en -tester" + +#: main.cpp:66 +msgid "Added basic detailed dialog" +msgstr "Legde de basis voor de gedetailleerde dialoog" + +#: main.cpp:67 +msgid "Packaging Debian and Ubuntu" +msgstr "Pakketten voor Debian en Ubuntu" + +#: detaileddialog.cpp:61 +msgid "KPowersave Information Dialog" +msgstr "KPowersave Informatiedialoog" + +#: detaileddialog.cpp:65 configure_Dialog.cpp:882 configure_Dialog.cpp:922 +msgid "Miscellaneous" +msgstr "Diversen" + +#: detaileddialog.cpp:66 +msgid "CPUs" +msgstr "CPU's" + +#: detaileddialog.cpp:73 detaileddialog.cpp:453 +msgid "Battery state:" +msgstr "Batterijstatus:" + +#: detaileddialog.cpp:79 +msgid "Total:" +msgstr "Totaal:" + +#: detaileddialog.cpp:81 detaileddialog.cpp:83 +msgid "Battery %1" +msgstr "Batterij %1" + +#: detaileddialog.cpp:114 +msgid "Processor %1" +msgstr "Processor %1" + +#: detaileddialog.cpp:230 +msgid "not present" +msgstr "niet aanwezig." + +#: detaileddialog.cpp:243 +msgid "charged" +msgstr "opgeladen" + +#: detaileddialog.cpp:245 +msgid "%1:%2 h until charged" +msgstr "%1: na %2 u opgeladen" + +#: detaileddialog.cpp:248 +msgid "%1:%2 h remaining" +msgstr "%1:%2 u resterend" + +#: detaileddialog.cpp:253 detaileddialog.cpp:441 detaileddialog.cpp:468 +msgid "unknown" +msgstr "onbekend" + +#: detaileddialog.cpp:325 detaileddialog.cpp:368 +msgid "%v MHz" +msgstr "%v MHz" + +#: detaileddialog.cpp:330 detaileddialog.cpp:363 dummy.cpp:58 +msgid "deactivated" +msgstr "gedeactiveerd" + +#: detaileddialog.cpp:395 +msgid "unplugged" +msgstr "niet aangesloten" + +#: detaileddialog.cpp:412 +msgid "Current Scheme: " +msgstr "Huidig schema: " + +#: detaileddialog.cpp:429 +msgid "Current CPU Frequency Policy:" +msgstr "Huidig beleid voor processorfrequentie:" + +#: detaileddialog.cpp:435 kpowersave.cpp:193 configure_Dialog.cpp:877 +msgid "Dynamic" +msgstr "Dynamisch" + +#: detaileddialog.cpp:456 +msgid "Critical" +msgstr "Kritiek" + +#: detaileddialog.cpp:459 +msgid "Low" +msgstr "Laag" + +#: detaileddialog.cpp:462 kpowersave.cpp:277 kpowersave.cpp:652 +#: kpowersave.cpp:659 kpowersave.cpp:705 kpowersave.cpp:713 kpowersave.cpp:761 +#: kpowersave.cpp:769 kpowersave.cpp:817 kpowersave.cpp:824 +#: kpowersave.cpp:1131 kpowersave.cpp:1243 kpowersave.cpp:1272 +#: kpowersave.cpp:1610 kpowersave.cpp:1670 kpowersave.cpp:2186 +msgid "Warning" +msgstr "Waarschuwing" + +#: detaileddialog.cpp:465 +msgid "ok" +msgstr "ok" + +#: detaileddialog.cpp:474 detaileddialog.cpp:477 +msgid "Set brightness supported:" +msgstr "Ondersteunde helderheid instellen:" + +#: detaileddialog.cpp:475 +msgid "yes" +msgstr "ja" + +#: detaileddialog.cpp:478 +msgid "no" +msgstr "nee" + +#: detaileddialog.cpp:481 detaileddialog.cpp:485 +msgid "HAL Daemon:" +msgstr "HAL-daemon:" + +#: detaileddialog.cpp:482 +msgid "running" +msgstr "actief" + +#: detaileddialog.cpp:486 +msgid "not running" +msgstr "niet actief" + +#: info_Dialog.cpp:197 +msgid "Information" +msgstr "Informatie" + +#: dummy.cpp:36 +msgid "If the current desktop user is inactive, dim the display to:" +msgstr "Als het huidige bureaublad inactief is, dim het beeldscherm tot:" + +#: dummy.cpp:37 +msgid "Enable dim display on inactivity" +msgstr "Het dimmen van beeldscherm bij inactiviteit inschakelen" + +#: dummy.cpp:38 +msgid "Blacklist" +msgstr "Zwarte lijst" + +#: dummy.cpp:39 +msgid "" +"Here you can add programs which should, if running, prevent the dimming of " +"the display." +msgstr "" +"Hier kunt u programma's aan toevoegen die, als ze draaien, het dimmen van " +"het beeldscherm zullen verhinderen." + +#: dummy.cpp:41 +msgid "Would you like to import a predefined blacklist?" +msgstr "Wilt u een voorgedefinieerde zwarte lijst importeren?" + +#: dummy.cpp:42 +msgid "Disable CPUs/Cores" +msgstr "CPU's/cores uitschakelen" + +#: dummy.cpp:43 +msgid "Max. running CPUs:" +msgstr "Max. aantal draaiende CPU's:" + +#: dummy.cpp:44 +msgid "Max. running CPUs/Cores:" +msgstr "Max. aantal draaiende CPU's/Cores:" + +#: dummy.cpp:45 +msgid "Min. running CPUs:" +msgstr "Min. aantal draaiende CPU's:" + +#: dummy.cpp:46 +msgid "Min. running CPUs/Cores:" +msgstr "Min. aantal draaiende CPU's/Cores:" + +#: dummy.cpp:47 +msgid "Enable to switch off CPUs/cores" +msgstr "Uitschakelen van CPU's/kernen activeren" + +#: dummy.cpp:48 +msgid "You have a multiprocessor/multicore machine." +msgstr "U hebt een multiprocessor/multicore computer." + +#: dummy.cpp:49 +msgid "" +"You can disable CPUs/cores to reduce power consumption and save battery " +"power." +msgstr "" +"U kunt CPU's/Cores uitschakelen om het energieverbruik te beperken en zo " +"batterijkracht te besparen." + +#: dummy.cpp:50 +msgid "Device" +msgstr "Apparaat" + +#: dummy.cpp:51 +msgid "Devices" +msgstr "Apparaten" + +#: dummy.cpp:52 +msgid "Device class" +msgstr "Apparaatklasse" + +#: dummy.cpp:53 +msgid "activate" +msgstr "activeren" + +#: dummy.cpp:54 +msgid "Activate" +msgstr "Activeren" + +#: dummy.cpp:55 +msgid "deactivate" +msgstr "deactiveren" + +#: dummy.cpp:56 +msgid "Deactivate" +msgstr "Deactiveren" + +#: dummy.cpp:57 +msgid "activated" +msgstr "geactiveerd" + +#: dummy.cpp:59 +msgid "do nothing" +msgstr "niets doen" + +#: dummy.cpp:60 +msgid "Deactivate following devices:" +msgstr "Deactiveer de volgende apparaten:" + +#: dummy.cpp:61 +msgid "Activate following devices" +msgstr "Activeer de volgende apparaten" + +#: dummy.cpp:62 +msgid "Reactivate following devices" +msgstr "Reactiveer de volgende apparaten" + +#: dummy.cpp:63 +msgid "Deactivate following device classes:" +msgstr "Deactiveer de volgende apparaatklassen:" + +#: dummy.cpp:64 +msgid "Activate following devices classes" +msgstr "Activeer de volgende apparaatklassen" + +#: dummy.cpp:65 +msgid "Reactivate following device classes" +msgstr "Reactiveer de volgende apparaatklassen" + +#: dummy.cpp:66 +msgid "If the scheme switched all devices are again activated." +msgstr "Als het schema omschakelt worden alle apparaten opnieuw geactiveerd." + +#: dummy.cpp:67 +msgid "This is a experimental feature." +msgstr "Dit is een experimentele functie." + +#: dummy.cpp:68 +msgid "If you have problems with this feature, please report them." +msgstr "" +"Als u problemen ondervindt bij het gebruik ervan, meld deze a.u.b. bij ons." + +#: dummy.cpp:69 +msgid "Select one of the available devices and click on " +msgstr "Selecteer een van de beschikbare apparaten en klik op " + +#: dummy.cpp:70 +msgid "Select one of the available device classes and click on " +msgstr "Selecteer een van de beschikbare apparaatklassen en klik op " + +#: dummy.cpp:71 +msgid "Select one or more of the available devices and click on " +msgstr "Selecteer een of meer beschikbare apparaten en klik op " + +#: dummy.cpp:72 +msgid "Select one or more of the available device classes and click on " +msgstr "Selecteer een of meer beschikbare apparaatklassen en klik op " + +#: dummy.cpp:73 +msgid "" +"Please note: If you e.g. deactivate a network device you may lose your " +"internet connection." +msgstr "" +"Opmerking: als u bijv. een netwerkapparaat uitschakelt, dan bent u uw " +"internetverbinding kwijt." + +#: dummy.cpp:75 +msgid "" +"Note: If you select this option, the computer will suspend or standby " +"if the current user is inactive for the defined time.

    This feature " +"can also produce problems with some programs, such as video players or cd " +"burner. These programs can be blacklisted by checking Enable scheme-" +"specific blacklist and click Edit Blacklist.... If this does not " +"help, report the problem or deactivate autosuspend.

    Really use this " +"option?" +msgstr "" +"Belangrijk: Als deze optie geselecteerd is, wordt de computer in " +"slaap- of standby-stand gebracht als de huidige gebruiker gedurende de " +"ingestelde tijd niet actief is.

    Deze optie kan problemen veroorzaken " +"in combinatie met bepaalde programma's, zoals videospelers en CD-branders. " +"Dergelijke programma's kunt u op een zwarte lijst plaatsen. Selecteer " +"
    schemaspecifieke zwarte lijst
    en klik op Zwarte lijst bewerken..." +". Als dit niet helpt, rapporteer het probleem of schakel de automatische " +"slaapstand uit.

    Wilt u deze optie inschakelen?" + +#: dummy.cpp:82 +msgid "Try to use only one CPU/Core." +msgstr "Probeer slechts één CPU/kern te gebruiken." + +#: dummy.cpp:83 +msgid "" +"Reduce power consumption by try to use only one CPU/Core instead of " +"spreading the work over all/multiple CPUs." +msgstr "" +"Verminder energieverbruik door te proberen slechts één CPU/kern te gebruiken " +"in plaats van het werk te verspreiden over alle/meerdere CPU's." + +#: dummy.cpp:87 +msgid "Could not load the global configuration." +msgstr "Kon de algemene configuratie niet laden." + +#: dummy.cpp:88 +msgid "Could not load the requested scheme configuration." +msgstr "Kon het gewenste schema niet laden." + +#: dummy.cpp:89 +msgid "Configure the current scheme." +msgstr "Configureer het huidige schema." + +#: dummy.cpp:90 +msgid "Try loading the default configuration." +msgstr "Probeer de standaardconfiguratie te laden." + +#: dummy.cpp:91 +msgid "Maybe the global configuration file is empty or missing." +msgstr "" +"Misschien is het algemene configuratiebestand leeg of is het verloren gegaan." + +#: dummy.cpp:94 +msgid "Cannot connect to D-Bus. The D-Bus daemon may not be running." +msgstr "" +"Kan geen verbinding maken met D-BUS. Mogelijk draait de D-BUS-daemon niet." + +#: dummy.cpp:95 +msgid "" +"Scheme switched to %1. \n" +" Deactivate following devices: %2" +msgstr "" +"Schema overgeschakeld naar %1.\n" +" Deactiveer de volgende apparaten: %2" + +#: dummy.cpp:96 +msgid "" +"Scheme switched to %1. \n" +" Activate following devices: %2" +msgstr "" +"Schema overgeschakeld naar %1.\n" +" Activeer de volgende apparaten: %2" + +#: dummy.cpp:97 +msgid "Report ..." +msgstr "Rapporteren..." + +#: dummy.cpp:98 +msgid "Suspend to RAM is not supported on your machine." +msgstr "Slaapstand naar RAM wordt niet door uw computer ondersteund." + +#: dummy.cpp:99 +msgid "Additionally, please mail the output of %1 to %2 . Thanks!" +msgstr "" +"Aanvullend kunt u een e-mail sturen met de uitvoer van %1 tot %2. Bedankt!" + +#: dummy.cpp:100 +msgid "Power consumption" +msgstr "Energieverbruik" + +#: dummy.cpp:103 +msgid "KScreensaver not found." +msgstr "KScreensaver niet gevonden." + +#: dummy.cpp:104 +msgid "Try locking with XScreensaver or xlock." +msgstr "Probeer vergrendelen met XScreensaver of xlock." + +#: dummy.cpp:105 +msgid "XScreensaver not found." +msgstr "XScreensaver niet gevonden." + +#: dummy.cpp:106 +msgid "Try locking the screen with xlock." +msgstr "Probeer vergrendelen met xlock." + +#: dummy.cpp:107 +msgid "" +"XScreensaver and xlock not found. It is not possible to lock the screen. " +"Check your installation." +msgstr "" +"XScreensaver of xlock niet gevonden. Het scherm kan niet worden vergrendeld. " +"Controleer uw installatie." + +#: dummy.cpp:111 +msgid "HAL daemon:" +msgstr "HAL-daemon:" + +#: dummy.cpp:112 +msgid "D-Bus daemon:" +msgstr "D-BUS-daemon:" + +#: dummy.cpp:113 +msgid "ConsoleKit daemon:" +msgstr "ConsoleKit-daemon:" + +#: dummy.cpp:114 +msgid "Autosuspend activated:" +msgstr "Automatische slaapstand geactiveerd:" + +#: dummy.cpp:115 +msgid "Autodimm activated:" +msgstr "Automatisch dimmen geactiveerd:" + +#: dummy.cpp:116 +msgid "enabled" +msgstr "ingeschakeld" + +# /usr/lib/YaST2/clients/dialup_dev_cfg.ycp:71 +#: dummy.cpp:117 +msgid "Session active:" +msgstr "Sessie actief:" + +#: dummy.cpp:120 +msgid "Inactivity detected." +msgstr "Inactiviteit opgemerkt." + +#: dummy.cpp:121 +msgid "To stop the %1 press the 'Cancel' button before the countdown expire." +msgstr "" +"Om de %1 te stoppen, klik op de knop 'Annuleren' voordat het terugtellen is " +"afgerond." + +#: dummy.cpp:122 +msgid "The computer autosuspend in: " +msgstr "De computer gaat in slaapstand na: " + +#: dummy.cpp:123 +#, c-format +msgid "The display get dimmed down to %1% in: " +msgstr "Het scherm wordt gedimd naar %1% na: " + +#: dummy.cpp:124 +msgid "%1 seconds" +msgstr "%1 seconden" + +#: dummy.cpp:127 +msgid "Could not call %1. The current desktop session is not active." +msgstr "Kon %1 niet aanroepen. De huidige desktop-sessie is niet actief." + +#: dummy.cpp:128 +msgid "Could not set %1. The current desktop session is not active." +msgstr "Kon %1 niet instellen. De huidige desktop-sessie is niet actief." + +#: dummy.cpp:129 +msgid "Stopped %1. The current desktop session is now inactive." +msgstr "%1 gestopt. De huidige desktop-sessie is nu inactief." + +#: dummy.cpp:130 +msgid "Restarted %1. The current desktop session is now active again." +msgstr "%1 opnieuw gestart. De huidige desktop-sessie is nu weer actief." + +#: log_viewer.cpp:78 +msgid "Form1" +msgstr "Form1" + +#: log_viewer.cpp:79 +msgid "Save As ..." +msgstr "Opslaan als..." + +#: log_viewer.cpp:80 +msgid "Close" +msgstr "Sluiten" + +#: logviewer.cpp:44 +msgid "KPowersave Logfile Viewer: %1" +msgstr "KPowersave Logbestandsviewer: %1" + +#: logviewer.cpp:89 +msgid "File already exist. Overwrite the file?" +msgstr "Bestand bestaat al. Overschrijven?" + +#: logviewer.cpp:90 logviewer.cpp:97 +msgid "Error while save logfile" +msgstr "Fout bij opslaan van logbestand" + +#: logviewer.cpp:95 +msgid "File already exist." +msgstr "Bestand bestaat reeds." + +#: logviewer.cpp:98 +msgid "Try other filename ..." +msgstr "Probeer een andere bestandsnaam..." + +#: suspenddialog.cpp:70 +msgid "Preparing Suspend..." +msgstr "Slaapstand wordt voorbereid..." + +#: kpowersave.cpp:168 +msgid "Configure KPowersave..." +msgstr "KPowersave instellen..." + +#: kpowersave.cpp:171 configure_Dialog.cpp:915 +msgid "Configure Notifications..." +msgstr "Notificaties instellen..." + +#: kpowersave.cpp:175 +msgid "Start YaST2 Power Management Module..." +msgstr "YaST2 Energiebeheermodule starten..." + +#: kpowersave.cpp:189 kpowersave.cpp:2106 kpowersave.cpp:2166 +#: kpowersave.cpp:2253 +msgid "Standby" +msgstr "Standby" + +#: kpowersave.cpp:191 kpowersave.cpp:198 +msgid "Set CPU Frequency Policy" +msgstr "Instellen beleid processorsnelheid" + +#: kpowersave.cpp:205 kpowersave.cpp:206 +msgid "Set Active Scheme" +msgstr "Instellen actief schema" + +#: kpowersave.cpp:212 +msgid "Disable Actions on Inactivity" +msgstr "Uitschakelen acties bij 'niet-actief'" + +#: kpowersave.cpp:219 kpowersave.cpp:229 +msgid "&Help" +msgstr "&Help" + +#: kpowersave.cpp:221 +msgid "&KPowersave Handbook" +msgstr "&KPowersave-handboek" + +#: kpowersave.cpp:224 +msgid "&Report a bug ..." +msgstr "Bug &rapporteren..." + +#: kpowersave.cpp:226 +msgid "&About KPowersave" +msgstr "Info &over KPowersave" + +#: kpowersave.cpp:275 kpowersave.cpp:648 kpowersave.cpp:656 kpowersave.cpp:703 +#: kpowersave.cpp:710 kpowersave.cpp:759 kpowersave.cpp:766 kpowersave.cpp:815 +#: kpowersave.cpp:822 kpowersave.cpp:1126 kpowersave.cpp:1241 +#: kpowersave.cpp:1270 kpowersave.cpp:2183 +msgid "WARNING" +msgstr "WAARSCHUWING" + +#: kpowersave.cpp:275 +msgid "Cannot find any schemes." +msgstr "Kan geen schema's vinden." + +#: kpowersave.cpp:453 +msgid "No information about battery and AC status available" +msgstr "Geen informatie over batterij- en AC-status beschikbaar" + +#: kpowersave.cpp:456 +msgid "Plugged in -- fully charged" +msgstr "Aangesloten -- volledig opgeladen" + +#: kpowersave.cpp:460 +msgid "Plugged in" +msgstr "Aangesloten" + +#: kpowersave.cpp:464 +msgid "Plugged in -- %1% charged (%2:%3 h until full charged)" +msgstr "Aangesloten -- %1% geladen (%2:%3 u. tot volledige lading)" + +#: kpowersave.cpp:467 +msgid "Plugged in -- %1% charged (%2:%3 remaining hours)" +msgstr "Aangesloten -- %1% opgeladen (%2:%3 resterende uren)" + +#: kpowersave.cpp:471 kpowersave.cpp:475 +#, c-format +msgid "Plugged in -- %1% charged" +msgstr "Aangesloten -- %1% opgeladen" + +#: kpowersave.cpp:474 +msgid "Plugged in -- no battery" +msgstr "Aangesloten -- geen batterij" + +#: kpowersave.cpp:480 +msgid "Running on batteries -- %1% charged (%2:%3 hours remaining)" +msgstr "Werkt op batterijen -- %1% opgeladen (%2:%3 resterende uren)" + +#: kpowersave.cpp:484 +#, c-format +msgid "Running on batteries -- %1% charged" +msgstr "Werkt op batterijen -- %1% opgeladen" + +#: kpowersave.cpp:491 +msgid " -- battery is charging" +msgstr " -- batterij wordt opgeladen" + +#: kpowersave.cpp:649 kpowersave.cpp:657 +msgid "Could not start YaST Power Management Module. Check if it is installed." +msgstr "" +"Kon de YaST energiebeheer module niet starten. Is deze wel geïnstalleerd?" + +#: kpowersave.cpp:703 +msgid "Suspend to disk failed" +msgstr "Slaapstand naar schijf is mislukt" + +#: kpowersave.cpp:711 +msgid "Suspend to disk disabled by administrator." +msgstr "Slaapstand naar schijf door beheerder uitgeschakeld." + +#: kpowersave.cpp:759 +msgid "Suspend to RAM failed" +msgstr "Slaapstand naar RAM is mislukt" + +#: kpowersave.cpp:767 +msgid "Suspend to RAM disabled by administrator." +msgstr "Slaapstand 'bewaar in geheugen' door beheerder uitgeschakeld." + +#: kpowersave.cpp:815 +msgid "Standby failed" +msgstr "Standby mislukt." + +#: kpowersave.cpp:822 +msgid "Standby disabled by administrator." +msgstr "Standby-stand door beheerder uitgeschakeld." + +#: kpowersave.cpp:853 +msgid "System is going into suspend mode now" +msgstr "Systeem gaat nu in de slaapstand" + +#: kpowersave.cpp:1039 +msgid "Could not call DCOP interface to umount external media." +msgstr "Kon de DCOP-interface niet aanroepen om externe media af te koppelen." + +#: kpowersave.cpp:1044 +msgid "" +"Could not umount external media before suspend/standby. \n" +" (Reason: %1)\n" +" \n" +" Would you like to continue suspend/standby anyway? \n" +"(Warning: Continue suspend can cause data loss!)" +msgstr "" +"Kon externe media niet afkoppelen voordat er naar de slaapstand/standby-" +"modus wordt gegaan. \n" +"(Reden: %1)\n" +"\n" +"Wilt u toch naar de slaapstand/standby-modus gaan?\n" +"(Waarschuwing: dit kan leiden tot gegevensverlies!)" + +#: kpowersave.cpp:1052 +msgid "Error while prepare %1" +msgstr "Fout tijdens voorbereiden van %1" + +#: kpowersave.cpp:1053 +msgid "Suspend anyway" +msgstr "Toch naar slaapstand gaan" + +#: kpowersave.cpp:1053 +msgid "Cancel suspend" +msgstr "Slaapstand annuleren" + +#: kpowersave.cpp:1127 +msgid "" +"Could not lock the screen. There may be a problem with the selected \n" +"lock method or something else." +msgstr "" +"Kon het scherm niet vergrendelen. Mogelijk is er een probleem met de \n" +"gekozen vergrendelmethode." + +#: kpowersave.cpp:1144 +msgid "The Lid was closed." +msgstr "Het deksel werd gesloten." + +#: kpowersave.cpp:1156 +msgid "The Lid was opened." +msgstr "Het deksel werd geopend." + +#: kpowersave.cpp:1223 +msgid "Start KPowersave automatically when you log in?" +msgstr "KPowersave automatisch starten bij aanmelden?" + +#: kpowersave.cpp:1224 +msgid "Question" +msgstr "Vraag" + +#: kpowersave.cpp:1225 +msgid "Start Automatically" +msgstr "Automatisch starten" + +#: kpowersave.cpp:1225 +msgid "Do Not Start" +msgstr "Niet starten" + +#: kpowersave.cpp:1242 +msgid "CPU Freq Policy %1 could not be set." +msgstr "Kon processorsnelheid schema %1 niet instellen." + +#: kpowersave.cpp:1271 +msgid "Scheme %1 could not be activated." +msgstr "Kon schema %1 niet activeren." + +#: kpowersave.cpp:1600 +msgid "" +"The D-Bus daemon is not running.\n" +"Starting it will provide full functionality: /etc/init.d/dbus start" +msgstr "" +"De DBUS-daemon draait niet.\n" +"Start deze met het volgende commando: /etc/init.d/messagebus start" + +#: kpowersave.cpp:1611 +msgid "Don't show this message again." +msgstr "Dit bericht niet meer tonen" + +#: kpowersave.cpp:1637 +msgid "ERROR" +msgstr "FOUT" + +#: kpowersave.cpp:1638 +msgid "Could not get information from HAL. The haldaemon is maybe not running." +msgstr "" +"Kon geen informatie over HAL verkrijgen. De hal-daemon draait mogelijk niet." + +#: kpowersave.cpp:1641 +msgid "Error" +msgstr "Fout" + +#: kpowersave.cpp:1912 +msgid "" +"Battery state changed to WARNING -- remaining time: %1 hours and %2 minutes." +msgstr "" +"Batterijstatus gewijzigd in WAARSCHUWING -- resterende tijd: %1 uur en %2 " +"minuten." + +#: kpowersave.cpp:1921 +msgid "" +"Battery state changed to LOW -- remaining time: %1 hours and %2 minutes." +msgstr "" +"Batterijstatus gewijzigd in LAAG -- resterende tijd: %1 uur en %2 minuten." + +#: kpowersave.cpp:1932 +msgid "" +"Battery state changed to CRITICAL -- remaining time: %1 hours and %2 " +"minutes.\n" +"Shut down your system or plug in the power cable immediately. Otherwise the " +"machine\n" +"will go shutdown in 30 seconds" +msgstr "" +"Batterijstatus gewijzigd in KRITIEK -- resterende tijd: %1 uur en %2 " +"minuten.\n" +"Schakel nu uw systeem uit of sluit onmiddellijk de voedingskabel aan. Anders " +"zal de computer\n" +"na 30 seconden worden uitgeschakeld." + +#: kpowersave.cpp:1943 +msgid "" +"Battery state changed to CRITICAL -- remaining time: %1 hours and %2 " +"minutes.\n" +"Shut down your system or plug in the power cable immediately." +msgstr "" +"Batterijstatus gewijzigd in KRIETIEK -- resterende tijd: %1 uur en %2 " +"minuten.\n" +"Schakel uw systeem nu uit of sluit onmiddellijk de voedingskabel aan." + +#: kpowersave.cpp:2041 +msgid "AC adapter plugged in" +msgstr "AC-adapter aangesloten" + +#: kpowersave.cpp:2043 +msgid "AC adapter unplugged" +msgstr "AC-adapter niet aangesloten" + +#: kpowersave.cpp:2078 +msgid "Switched to scheme: %1" +msgstr "Geschakeld naar schema: %1" + +#: kpowersave.cpp:2095 kpowersave.cpp:2100 kpowersave.cpp:2105 +msgid "System is going into %1 now." +msgstr "Systeem gaat nu in %1." + +#: kpowersave.cpp:2155 kpowersave.cpp:2160 kpowersave.cpp:2165 +msgid "System is resumed from %1." +msgstr "Systeem wordt voortgezet vanuit %1." + +#: kpowersave.cpp:2184 +msgid "Could not remount (all) external storage media." +msgstr "Kon niet (alle) externe opslagapparaten opnieuw aankoppelen" + +#: kpowersave.cpp:2192 +msgid "An unknown error occurred while %1. The errorcode is: '%2'" +msgstr "Er deed zich een fout voor tijdens %1. De foutcode is: '%2'" + +# power-off message +#: kpowersave.cpp:2197 +msgid "Do you want to have a look at the log file?" +msgstr "Wilt u het logbestand bekijken?" + +#: kpowersave.cpp:2198 kpowersave.cpp:2224 +msgid "Error while %1" +msgstr "Fout tijdens %1" + +#: configure_Dialog.cpp:831 +msgid "KPowersave Settings" +msgstr "KPowersave instellingen" + +#: configure_Dialog.cpp:832 +msgid "Apply" +msgstr "Toepassen" + +#: configure_Dialog.cpp:834 +msgid "Help" +msgstr "Help" + +#: configure_Dialog.cpp:840 +msgid "Enable specific display power management" +msgstr "Schakel specifiek beeldschermenergiebeheer in." + +#: configure_Dialog.cpp:841 +msgid "Standby after:" +msgstr "Ga in standby na:" + +#: configure_Dialog.cpp:842 +msgid "Only blank the screen" +msgstr "Alleen het scherm leegmaken" + +#: configure_Dialog.cpp:843 +msgid "Disable screen saver" +msgstr "Schakel schermbeveiliging uit" + +#: configure_Dialog.cpp:844 +msgid "Enable specific screensaver settings" +msgstr "Schakel specifieke instellingen schermbeveiliging in" + +#: configure_Dialog.cpp:845 +msgid "Suspend after:" +msgstr "Ga in slaapstand 'bewaar in geheugen' na:" + +#: configure_Dialog.cpp:846 +msgid "Power off after:" +msgstr "Schakel systeem uit na:" + +#: configure_Dialog.cpp:847 +msgid "Disable display power management" +msgstr "Schakel energiebeheer uit" + +#: configure_Dialog.cpp:848 configure_Dialog.cpp:849 configure_Dialog.cpp:850 +#: configure_Dialog.cpp:862 configure_Dialog.cpp:873 +msgid " min" +msgstr " minuten" + +#: configure_Dialog.cpp:851 +msgid "Screen Saver and DPMS" +msgstr "Schermbeveiliging en DPMS" + +#: configure_Dialog.cpp:852 +msgid "Settings" +msgstr "Instellingen" + +#: configure_Dialog.cpp:853 +msgid "Reset" +msgstr "Beginwaarde" + +#: configure_Dialog.cpp:855 +msgid "Enable scheme specific Brightness settings" +msgstr "Schemaspecifieke helderheidsinstellingen activeren" + +#: configure_Dialog.cpp:858 +msgid "Brightness" +msgstr "Helderheid" + +#: configure_Dialog.cpp:859 +msgid "Enable autosuspend" +msgstr "Automatische slaapstand activeren" + +#: configure_Dialog.cpp:860 configure_Dialog.cpp:867 +msgid "Enable scheme-specific blacklist" +msgstr "Schema-specifieke zwarte lijst inschakelen" + +#: configure_Dialog.cpp:861 configure_Dialog.cpp:870 +msgid "after:" +msgstr "na:" + +#: configure_Dialog.cpp:863 configure_Dialog.cpp:868 +msgid "Edit Blacklist..." +msgstr "Zwarte lijst bewerken..." + +#: configure_Dialog.cpp:864 configure_Dialog.cpp:869 +msgid "If the current desktop user is inactive the computer will:" +msgstr "Als de huidige lokale gebruiker niet actief is zal de computer:" + +#: configure_Dialog.cpp:865 +msgid "Autosuspend" +msgstr "Automatische slaapstand" + +#: configure_Dialog.cpp:866 +msgid "Enable autodimm the display" +msgstr "Dimmen van beeldscherm bij inactiviteit inschakelen" + +#: configure_Dialog.cpp:871 configure_Dialog.cpp:893 configure_Dialog.cpp:894 +#: configure_Dialog.cpp:895 configure_Dialog.cpp:896 configure_Dialog.cpp:897 +#: configure_Dialog.cpp:898 +msgid " %" +msgstr " %" + +#: configure_Dialog.cpp:872 +msgid "dimm to:" +msgstr "dimmen naar:" + +#: configure_Dialog.cpp:874 +msgid "Autodimm" +msgstr "Automatisch dimmen" + +#: configure_Dialog.cpp:879 +msgid "Set CPU Frequency Policy:" +msgstr "CPU-frequentiebeleid instellen:" + +#: configure_Dialog.cpp:880 +msgid "CPU Frequency Policy" +msgstr "CPU-frequentiebeleid" + +#: configure_Dialog.cpp:881 +msgid "Disable Notifications" +msgstr "Notificaties uitschakelen" + +#: configure_Dialog.cpp:884 +msgid "New" +msgstr "Nieuw" + +#: configure_Dialog.cpp:885 +msgid "Scheme Settings" +msgstr "Schema instellingen" + +#: configure_Dialog.cpp:886 +msgid "" +"Define the battery warning levels (in percentage) and the releated action if " +"the level get reached:" +msgstr "" +"Definieer de batterijwaarschuwingsniveaus (in procenten) en de bijhorende " +"actie als een niveau wordt bereikt:" + +#: configure_Dialog.cpp:887 +msgid "Warning level:" +msgstr "Waarschuwingsniveau:" + +#: configure_Dialog.cpp:888 +msgid "Low level:" +msgstr "Laag niveau:" + +#: configure_Dialog.cpp:889 +msgid "Critical level:" +msgstr "Kritiek niveau:" + +#: configure_Dialog.cpp:890 configure_Dialog.cpp:891 configure_Dialog.cpp:892 +msgid "if reached call:" +msgstr "Indien bereikt, aanroepen:" + +#: configure_Dialog.cpp:899 +msgid "Battery" +msgstr "Batterij" + +#: configure_Dialog.cpp:900 +msgid "" +"Define the action which should be executed if the related button get pressed:" +msgstr "" +"Definieer de actie die dient te worden uitgevoerd als op de bijhorende knop " +"wordt gedrukt:" + +#: configure_Dialog.cpp:901 +msgid "Suspend-to-disk Button:" +msgstr "Slaapstand-naar-schijf-knop:" + +#: configure_Dialog.cpp:902 +msgid "Sleep button:" +msgstr "Slaapknop:" + +#: configure_Dialog.cpp:903 +msgid "Lid close Button:" +msgstr "Deksel-sluiten-knop:" + +#: configure_Dialog.cpp:904 +msgid "Power Button:" +msgstr "Aan/Uit-knop:" + +#: configure_Dialog.cpp:905 +msgid "Button Events" +msgstr "Knopgebeurtenissen" + +#: configure_Dialog.cpp:906 +msgid "" +"Select the following schemes as default if the system is running on AC or on " +"batteries." +msgstr "" +"Selecteer de volgende schema's als standaard als het systeem op AC of op " +"batterijen draait." + +#: configure_Dialog.cpp:907 +msgid "Battery scheme:" +msgstr "Batterijschema:" + +#: configure_Dialog.cpp:908 +msgid "AC scheme:" +msgstr "AC-schema:" + +#: configure_Dialog.cpp:909 +msgid "Default Schemes" +msgstr "Standaardschema's" + +#: configure_Dialog.cpp:910 +msgid "Lock screen before suspend or standby" +msgstr "Scherm vergrendelen vóór slaapstand of standby" + +#: configure_Dialog.cpp:911 +msgid "Lock screen with:" +msgstr "Vergrendel scherm met:" + +#: configure_Dialog.cpp:912 +msgid "Lock screen on lid close" +msgstr "Scherm vergrendelen als deksel gesloten wordt" + +#: configure_Dialog.cpp:913 +msgid "Lock Screen" +msgstr "Scherm vergrendelen" + +#: configure_Dialog.cpp:914 +msgid "Notifications" +msgstr "Notificaties" + +#: configure_Dialog.cpp:916 +msgid "Autostart" +msgstr "Automatisch starten" + +#: configure_Dialog.cpp:917 +msgid "Never ask me again on exit" +msgstr "Bij afsluiten vraag niet meer stellen" + +#: configure_Dialog.cpp:918 +msgid "KPowersave starts automatically on login" +msgstr "KPowersave start automatisch bij aanmelden" + +#: configure_Dialog.cpp:919 +msgid "General Blacklists" +msgstr "Algemene zwarte lijsten" + +#: configure_Dialog.cpp:920 +msgid "Edit Autosuspend Blacklist..." +msgstr "Zwarte lijst voor automatische slaapstand bewerken..." + +#: configure_Dialog.cpp:921 +msgid "Edit Autodimm Blacklist..." +msgstr "Zwarte lijst voor automatisch dimmen bewerken..." + +#: configure_Dialog.cpp:923 +msgid "General Settings" +msgstr "Algemene instellingen" diff --git a/po/pa.po b/po/pa.po new file mode 100644 index 0000000..178a604 --- /dev/null +++ b/po/pa.po @@ -0,0 +1,1456 @@ +# translation of kpowersave.pa.po to Panjabi +# translation of pa.po to +# This file is distributed under the same license as the PACKAGE package. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER. +# +# Antje Faber , 2004. +# Klara Cihlarova , 2004. +# Kanwaljeet Singh Brar , 2005. +# Amanpreet Singh Alam[ਆਲਮ] , 2005. +# Amanpreet Singh Brar Alamwalia , 2005. +# A S Alam , 2007. +msgid "" +msgstr "" +"Project-Id-Version: kpowersave.pa\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2007-08-10 03:16+0200\n" +"PO-Revision-Date: 2007-08-23 22:33+0530\n" +"Last-Translator: A S Alam \n" +"Language-Team: Panjabi \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: KBabel 1.11.4\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" +"10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" + +#: detailed_Dialog.cpp:228 +msgid "kpowersave" +msgstr "ਕੇ-ਪਾਵਰਸੇਵ" + +#: detailed_Dialog.cpp:229 +msgid "General Information" +msgstr "ਆਮ ਜਾਣਕਾਰੀ" + +#: detailed_Dialog.cpp:232 +msgid "Battery Status" +msgstr "ਬੈਟਰੀ ਹਾਲਤ" + +#: detailed_Dialog.cpp:233 +msgid "AC Adapter" +msgstr "AC ਅਡੈਪਟਰ" + +#: detailed_Dialog.cpp:234 detaileddialog.cpp:391 +msgid "plugged in" +msgstr "ਪਲੱਗ ਲੱਗਾ" + +#: detailed_Dialog.cpp:235 +msgid "Power Consumtion: " +msgstr "ਪਾਵਰ ਖਰਚ: " + +#: detailed_Dialog.cpp:237 +msgid "Processor Status" +msgstr "ਪà©à¨°à©‹à¨¸à©ˆà¨¸à¨° ਹਾਲਤ" + +# ok button label +#: detailed_Dialog.cpp:238 blacklistedit_Dialog.cpp:130 info_Dialog.cpp:198 +#: configure_Dialog.cpp:838 +msgid "OK" +msgstr "ਠੀਕ ਹੈ" + +#: blacklisteditdialog.cpp:60 +msgid "General Blacklist" +msgstr "ਆਮ ਬਲੈਕਲਿਸਟ" + +#: blacklisteditdialog.cpp:63 +msgid "Scheme: " +msgstr "ਸਕੀਮ: " + +#: blacklisteditdialog.cpp:114 +msgid "Selected entry removed." +msgstr "ਚà©à¨£à©€ à¨à¨‚ਟਰੀ ਹਟਾਈ ਗਈ।" + +#: blacklisteditdialog.cpp:117 +msgid "Could not remove the selected entry." +msgstr "ਚà©à¨£à©€ à¨à¨‚ਟਰੀ ਹਟਾਈ ਨਹੀਂ ਜਾ ਸਕਦੀ।" + +#: blacklisteditdialog.cpp:137 +msgid "Inserted new entry." +msgstr "ਨਵੀਂ à¨à¨‚ਟਰੀ ਸ਼ਾਮਲ ਕੀਤੀ ਗਈ।" + +#: blacklisteditdialog.cpp:141 +msgid "Entry exists already. Did not insert new entry." +msgstr "à¨à¨‚ਟਰੀ ਪਹਿਲਾਂ ਹੀ ਮੌਜੂਦ ਹੈ। ਨਵਾਂ à¨à¨‚ਟਰੀ ਨਹੀਂ ਜੋੜੀ ਗਈ ਸੀ।" + +#: blacklisteditdialog.cpp:144 +msgid "Empty entry was not inserted." +msgstr "ਖਾਲੀ à¨à¨‚ਟਰੀ ਦਿੱਤੀ ਨਹੀਂ ਗਈ ਸੀ।" + +#: inactivity.cpp:298 +msgid "" +"Could not start 'pidof'. Could not autosuspend the machine.\n" +"Please check your installation." +msgstr "" +"'pidof' ਸ਼à©à¨°à©‚ ਨਹੀਂ ਕੀਤਾ ਜਾ ਸਕਿਆ। ਮਸ਼ੀਨ ਆਟੋ ਸਸਪੈਂਡ ਨਹੀਂ ਹੋ ਸਕੀ।\n" +"ਆਪਣੀ ਇੰਸਟਾਲੇਸ਼ਨ ਚੈੱਕ ਕਰੋ ਜੀ।" + +#: blacklistedit_Dialog.cpp:129 +msgid "Autosuspend Blacklist Edit" +msgstr "ਆਟੋ-ਸਸਪੈਂਡ ਬਲੈਕਲਿਸਟ ਸੋਧ" + +# cancel button label +#: blacklistedit_Dialog.cpp:132 configuredialog.cpp:1079 +#: configure_Dialog.cpp:836 +msgid "Cancel" +msgstr "ਰੱਦ ਕਰੋ" + +#: blacklistedit_Dialog.cpp:135 +msgid "Add" +msgstr "ਸ਼ਾਮਲ" + +#: blacklistedit_Dialog.cpp:136 +msgid "Remove" +msgstr "ਹਟਾਓ" + +#: infodialog.cpp:76 infodialog.cpp:78 main.cpp:55 +msgid "KPowersave" +msgstr "ਕੇ-ਪਾਵਰਸੇਵ" + +#: configuredialog.cpp:116 configuredialog.cpp:121 configuredialog.cpp:721 +msgid " - not supported" +msgstr " - ਸਹਾਇਕ ਨਹੀਂ" + +#: configuredialog.cpp:150 configuredialog.cpp:317 detaileddialog.cpp:432 +#: kpowersave.cpp:192 settings.cpp:66 configure_Dialog.cpp:876 +msgid "Performance" +msgstr "ਕਾਰਗà©à¨œà¨¼à¨¾à¨°à©€" + +#: configuredialog.cpp:154 configuredialog.cpp:319 detaileddialog.cpp:438 +#: kpowersave.cpp:194 settings.cpp:68 configure_Dialog.cpp:878 +msgid "Powersave" +msgstr "ਪਾਵਰਸੇਵ" + +#: configuredialog.cpp:159 configuredialog.cpp:321 kpowersave.cpp:1478 +#: settings.cpp:70 +msgid "Presentation" +msgstr "ਪਰਿਜ਼ੈੱਨਟੇਸ਼ਨ" + +#: configuredialog.cpp:164 configuredialog.cpp:323 kpowersave.cpp:1473 +#: settings.cpp:72 +msgid "Acoustic" +msgstr "ਅਕੂਸਟਿਕ" + +#: configuredialog.cpp:169 configuredialog.cpp:171 configuredialog.cpp:172 +#: configuredialog.cpp:173 kpowersave.cpp:1484 +msgid "Advanced Powersave" +msgstr "ਤਕਨੀਕੀ ਪਾਵਰ-ਸੇਵ" + +#: configuredialog.cpp:271 +msgid "" +"This enables specific screen saver settings. \n" +"Note: If selected, the global screen saver settings are \n" +"overwritten while kpowersave runs." +msgstr "" +"ਇਹ ਖਾਸ ਸਕਰੀਨ-ਸੇਵਰ ਸੈਟਿੰਗ ਯੋਗ ਕਰਦੀ ਹੈ।\n" +"ਨੋਟ: ਜੇ ਇਹ ਚੋਣ ਕੀਤੀ ਗਈ ਤਾਂ ਗਲੋਬਲ ਸਕਰੀਨ-ਸੇਵਰ ਸੈਟਿੰਗ ਨੂੰ kpowersave ਚੱਲਣ ਦੌਰਾਨ ਅਣਡਿੱਠਾ ਕਰ " +"ਦਿੱਤਾ ਜਾਵੇਗਾ।" + +#: configuredialog.cpp:274 +msgid "" +"This disables the screen saver. \n" +"Note: If selected, the global screen saver settings are \n" +"overwritten while kpowersave runs." +msgstr "" +"ਇਹ ਸਕਰੀਨ-ਸੇਵਰ ਆਯੋਗ ਕਰਦੀ ਹੈ।\n" +"ਨੋਟ: ਜੇ ਇਹ ਚੋਣ ਕੀਤੀ ਗਈ ਤਾਂ ਗਲੋਬਲ ਸਕਰੀਨ-ਸੇਵਰ ਸੈਟਿੰਗ ਨੂੰ kpowersave ਚੱਲਣ ਦੌਰਾਨ ਅਣਡਿੱਠਾ ਕਰ " +"ਦਿੱਤਾ ਜਾਵੇਗਾ।" + +#: configuredialog.cpp:277 +msgid "" +"This blanks the screen instead of using a specific screen saver. \n" +"Note: This may work only with KScreensaver." +msgstr "" +"ਇਹ ਇੱਕ ਖਾਸ ਸਕਰੀਨ-ਸੇਵਰ ਵਰਤਣ ਦੀ ਬਜਾਠਸਕਰੀਨ ਨੂੰ ਖਾਲੀ ਰੱਖਦੀ ਹੈ।\n" +"ਨੋਟ: ਇਹ ਸਿਰਫ਼ ਕੇ-ਸਕਰੀਨ-ਸੇਵਰ ਨਾਲ ਹੀ ਕੰਮ ਕਰਦੀ ਹੈ।" + +#: configuredialog.cpp:279 +msgid "" +"This enables specific DPMS settings. \n" +"Note: If selected, the global DPMS settings are \n" +"overwritten while kpowersave runs." +msgstr "" +"ਇਹ ਖਾਸ DPMS ਸੈਟਿੰਗ ਯੋਗ ਕਰਦੀ ਹੈ।\n" +"ਨੋਟ: ਜੇ ਇਹ ਚੋਣ ਕੀਤੀ ਗਈ ਤਾਂ ਗਲੋਬਲ DPMS ਸੈਟਿੰਗ ਨੂੰ kpowersave ਚੱਲਣ ਦੌਰਾਨ ਅਣਡਿੱਠਾ ਕਰ ਦਿੱਤਾ " +"ਜਾਵੇਗਾ।" + +#: configuredialog.cpp:282 +msgid "This disables DPMS support." +msgstr "ਇਹ DPMS ਸਹਿਯੋਗ ਅਯੋਗ ਕਰਦਾ ਹੈ।" + +#: configuredialog.cpp:283 +msgid "If selected, the screen is locked on suspend or standby." +msgstr "ਜੇਕਰ ਇਹ ਚੋਣ ਕੀਤੀ ਗਈ ਤਾਂ ਸਕਰੀਨ ਸਸਪੈਂਡ ਜਾਂ ਸਟੈਂਡਬਾਠਸਮੇਂ ਲਾਕ ਕੀਤੀ ਜਾਂਦੀ ਹੈ।" + +#: configuredialog.cpp:284 +msgid "If selected, the screen is locked if the lid close event is triggered." +msgstr "ਜੇ ਚੋਣ ਕੀਤੀ ਤਾਂ, ਸਕਰੀਨ ਨੂੰ ਲਾਕ ਕੀਤਾ ਜਾਵੇਗਾ, ਜਦੋਂ ਵੀ lid ਬੰਦ ਘਟਨਾ ਨੂੰ ਦੱਬਿਆ ਜਾਵੇਗਾ।" + +#: configuredialog.cpp:286 +msgid "" +"Check this box to enable or disable automatic suspension of the computer." +msgstr "ਕੰਪਿਊਟਰ ਨੂੰ ਆਟੋਮੈਟਿਕ ਸਸਪੈਂਡ ਨੂੰ ਯੋਗ ਜਾਂ ਅਯੋਗ ਕਰਨ ਲਈ ਇਹ ਬਾਕਸ ਚà©à¨£à©‹à¥¤" + +#: configuredialog.cpp:288 +msgid "" +"Activate this action if the user was inactive for the defined time \n" +"(greater than 0 minutes). If empty, nothing happens." +msgstr "" +"ਜੇ ਯੂਜ਼ਰ ਦਿੱਤੇ ਟਾਇਮ ਲਈ ਨਹੀਂ ਕà©à¨ ਕਰਦਾ ਤਾਂ ਇਹ ਕਾਰਵਾਈ à¨à¨•à¨Ÿà¨¿à¨µà©‡à¨Ÿ ਕਰੋ\n" +"(0 ਮਿੰਟ ਤੋਂ ਵੱਧ)। ਜੇ ਖਾਲੀ ਹੈ ਤਾਂ ਕà©à¨ ਨਹੀਂ ਕਰਨਾ।" + +#: configuredialog.cpp:291 +msgid "All scheme-related screen saver and DPMS settings." +msgstr "ਸਭ ਸਕੀਮ-ਸਬੰਧਤ ਸਕਰੀਨ-ਸੇਵਰ ਅਤੇ DPMS ਸੈਟਿੰਗ ਹਨ।" + +#: configuredialog.cpp:292 +msgid "All scheme-related display brightness settings." +msgstr "ਸਭ ਸਕੀਮ-ਸਬੰਧਤ ਡਿਸਪਲੇਅ ਚਮਕ ਸੈਟਿੰਗ ਹੈ।" + +#: configuredialog.cpp:293 +msgid "All scheme-related automatic suspend settings." +msgstr "ਸਭ ਸਕੀਮ-ਸਬੰਧਤ ਆਟੋਮੈਟਿਕ ਸਸਪੈਂਡ ਸੈਟਿੰਗ ਹੈ।" + +#: configuredialog.cpp:295 +msgid "" +"Here you can change the brightness of your display. \n" +"Use the slider to change the brightness directly for \n" +"testing. To reset back to previous level, please press \n" +"the 'Reset' button. " +msgstr "" +"ਇੱਥੇ ਤà©à¨¸à©€à¨‚ ਆਪਣੇ ਡਿਸਪਲੇਅ ਲਈ ਚਮਕ ਕੰਟਰੋਲ ਕਰ ਸਕਦੇ ਹੋ।\n" +"ਟੈਸਟਿੰਗ ਲਈ ਚਮਕ ਸਿੱਧੀ ਬਦਲਣ ਲਈ ਸਲਾਇਡਰ ਵਰਤੋਂ।\n" +"ਪਿਛਲੇ ਲੈਵਲ ਨੂੰ ਫੇਰ ਮà©à©œ-ਸੈੱਟ ਕਰਨ ਲਈ, 'ਰੀ-ਸੈੱਟ' ਬਟਨ\n" +"ਦਬਾਓ।" + +#: configuredialog.cpp:299 +msgid "Use this button to set back the slider and the display brightness." +msgstr "ਇਹ ਬਟਨ ਨੂੰ ਸਲਾਇਡਰ ਅਤੇ ਡਿਸਪਲੇਅ ਚਮਕ ਸੈੱਟ ਕਰਨ ਲਈ ਵਰਤੋਂ।" + +#: configuredialog.cpp:352 +msgid "Press this button to delete the selected scheme." +msgstr "ਚà©à¨£à©€ ਸਕੀਮ ਹਟਾਉਣ ਲਈ ਇਹ ਬਟਨ ਦੱਬੋ।" + +#: configuredialog.cpp:357 +msgid "You can't delete the current AC or battery scheme." +msgstr "ਤà©à¨¸à©€à¨‚ ਮੌਜੂਦਾ AC ਜਾਂ ਬੈਟਰੀ ਸਕੀਮ ਨਹੀਂ ਹਟਾ ਸਕਦੇ ਹੋ।" + +#: configuredialog.cpp:363 +msgid "You can't delete this default scheme." +msgstr "ਤà©à¨¸à©€à¨‚ ਇਹ ਡਿਫਾਲਟ ਸਕੀਮ ਨਹੀਂ ਹਟਾ ਸਕਦੇ ਹੋ।" + +#: configuredialog.cpp:546 +msgid "" +"Your hardware supports to change the brightness. The values of the slider " +"are in percent and mapped to the available brightness levels of your " +"hardware." +msgstr "" +"ਤà©à¨¹à¨¾à¨¡à¨¾ ਹਾਰਡਵੇਅਰ ਚਮਕ ਬਦਲਣ ਲਈ ਸਹਾਇਕ ਹੈ। ਸਲਾਇਡ ਦਾ ਮà©à©±à¨² ਫੀ-ਸਦੀ ਵਿੱਚ ਹੈ ਅਤੇ ਤà©à¨¹à¨¾à¨¡à©‡ ਹਾਰਡਵੇਅਰ " +"ਦੀ ਉਪਲੱਬਧ ਚਮਕ ਲੈਵਲ ਨਾਲ ਮੈਪ ਕੀਤਾ ਗਿਆ ਹੈ।" + +#: configuredialog.cpp:553 +msgid "" +"Your Hardware currently not support changing the brightness of your display." +msgstr "ਤà©à¨¹à¨¾à¨¡à¨¾ ਹਾਰਡਵੇਅਰ ਹਾਲੇ ਤà©à¨¹à¨¾à¨¡à©‡ ਡਿਸਪਲੇਅ ਦੀ ਚਮਕ ਬਦਲਣ ਲਈ ਸਹਿਯੋਗੀ ਨਹੀਂ ਹੈ।" + +#: configuredialog.cpp:664 +msgid "Select Automatically" +msgstr "ਆਟੋਮੈਟਿਕ ਚà©à¨£à©‹" + +#: configuredialog.cpp:665 +msgid "KScreensaver" +msgstr "ਕੇ-ਸਕਰੀਨ-ਸੇਵਰ" + +#: configuredialog.cpp:666 +msgid "XScreensaver" +msgstr "X-ਸਕਰੀਨ-ਸੇਵਰ" + +#: configuredialog.cpp:667 +msgid "xlock" +msgstr "xlock" + +#: configuredialog.cpp:668 +msgid "GNOME Screensaver" +msgstr "ਗਨੋਮ ਸਕਰੀਨ-ਸੇਵਰ" + +#: configuredialog.cpp:930 +msgid "" +"There are unsaved changes in the active scheme.\n" +"Apply the changes before jumping to the next scheme or discard the changes?" +msgstr "" +"à¨à¨•à¨Ÿà¨¿à¨µ ਸਕੀਮ ਵਿੱਚ ਕà©à¨ ਅਣ-ਸੰਭਾਲੇ ਬਦਲਾਅ ਬਾਕੀ ਹਨ।\n" +"ਅਗਲੀ ਸਕੀਮ ਉੱਤੇ ਜਾਣ ਤੋਂ ਪਹਿਲਾਂ ਕੀ ਇਹ ਬਦਲਾਅ ਲਾਗੂ ਕਰਨ ਹਨ ਜਾਂ ਅਣਡਿੱਠੇ?" + +#: configuredialog.cpp:933 configuredialog.cpp:983 +msgid "Unsaved Changes" +msgstr "ਅਣ-ਸੰਭਾਲੇ ਬਦਲਾਅ" + +#: configuredialog.cpp:981 +msgid "" +"There are unsaved changes.\n" +"Apply the changes before cancel or discard the changes?" +msgstr "" +"ਕà©à¨ ਅਣ-ਸੰਭਾਲੇ ਬਦਲਾਅ ਹਨ।\n" +"ਬਦਲਾਅ ਸੰਭਾਲਣ ਜਾਂ ਰੱਦ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ ਇਹਨਾਂ ਨੂੰ ਲਾਗੂ ਕਰਨਾ ਹੈ?" + +#: configuredialog.cpp:1032 +msgid "Please insert a name for the new scheme:" +msgstr "ਨਵੀਂ ਸਕੀਮ ਲਈ ਇੱਕ ਨਾਂ ਦਿਓ ਜੀ:" + +#: configuredialog.cpp:1038 +msgid "KPowersave Configuration" +msgstr "ਕੇ-ਪਾਵਰਸੇਵ ਸੰਰਚਨਾ" + +#: configuredialog.cpp:1046 +msgid "Error: A scheme with this name already exist.\n" +msgstr "ਗਲਤੀ: ਇਸ ਨਾਂ ਨਾਲ ਇੱਕ ਸਕੀਮ ਪਹਿਲਾਂ ਹੀ ਮੌਜੂਦ ਹੈ।\n" + +#: configuredialog.cpp:1076 +msgid "Do you really want to delete the %1 scheme?" +msgstr "ਕੀ ਤà©à¨¸à©€à¨‚ %1 ਸਕੀਮ ਹਟਾਉਣੀ ਚਾਹà©à©°à¨¦à©‡ ਹੋ?" + +#: configuredialog.cpp:1078 +msgid "Confirm delete scheme" +msgstr "ਸਕੀਮ ਹਟਾਉਣ ਪà©à¨¸à¨¼à¨Ÿà©€" + +#: configuredialog.cpp:1079 configure_Dialog.cpp:883 +msgid "Delete" +msgstr "ਹਟਾਓ" + +#: configuredialog.cpp:1095 +msgid "Could not delete the selected scheme." +msgstr "ਚà©à¨£à©€ ਸਕੀਮ ਹਟਾਈ ਨਹੀਂ ਜਾ ਸਕੀ ਹੈ।" + +#: configuredialog.cpp:1324 +msgid "" +"Note: If you select this option, the computer will suspend or standby " +"if the current user is inactive for the defined time even if somebody is " +"logged in remotely to the X server.

    This feature can also produce " +"problems with some programs, such as video players or cd burner. These " +"programs can be blacklisted by checking Enable scheme-specific blacklist and click Edit Blacklist.... If this does not help, report the " +"problem or deactivate autosuspend.

    Really use this option?" +msgstr "" +"ਨੋਟ: ਜੇ ਤà©à¨¸à©€à¨‚ ਇਹ ਚੋਣ ਕੀਤੀ ਤਾਂ ਕੰਪਿਊਟਰ ਸਸਪੈਂਡ ਜਾਂ ਸਟੈਂਡ-ਬਾਠਹੋ ਜਾਵੇ, ਜਦੋਂ ਵੀ ਮੌਜੂਦ ਯੂਜ਼ਰ " +"ਦਿੱਤੇ ਸਮੇਂ ਲਈ ਇਨ-à¨à¨•à¨Ÿà¨¿à¨µ ਹੋਵੇਗਾ, ਭਾਵੇਂ ਕਿ ਕੋਈ ਵੀ ਰਿਮੋਟ ਤੋਂ X ਸਰਵਰ ਉੱਤੇ ਲਾਗਇਨ ਹੋਵੇ।

    ਇਹ " +"ਫੀਚਰ ਕà©à¨ ਪਰੋਗਰਾਮਾਂ, ਜਿਵੇਂ ਕਿ ਵੀਡਿਓ ਪਲੇਅਰ ਅਤੇ CD- ਬਰਨਰ ਨਾਲ ਵੀ ਸਮੱਸਿਆਵਾਂ ਦੇ ਸਕਦਾ ਹੈ। ਇਹ " +"ਪਰੋਗਰਾਮਾਂ ਨੂੰ ਖਾਸ ਬਲੈਕ-ਲਿਸਟ ਸਕੀਮ ਯੋਗ ਦੀ ਚੋਣ ਅਤੇ ਬਲੈਕਲਿਸਟ ਸੋਧ... ਕਲਿੱਕ ਕਰਨ " +"ਨਾਲ ਬਲੈਕ-ਲਿਸਟ ਕੀਤਾ ਜਾ ਸਕਦਾ ਹੈ। ਜੇ ਇਹ ਮੱਦਦ ਨਾ ਕਰੇ ਤਾਂ ਸਮੱਸਿਆ ਦੀ ਰਿਪੋਰਟ ਦਿਓ ਜਾਂ ਆਟੋ-ਸਸਪੈਂਡ " +"ਡਿ-à¨à¨•à¨Ÿà¨¿à¨µ ਕਰੋ।

    ਕੀ ਇਹ ਚੋਣ ਵਰਤਣੀ ਹੈ?" + +#: configuredialog.cpp:1402 configuredialog.cpp:1532 +msgid "" +"The blacklist of the selected scheme is empty. Import the general blacklist?" +msgstr "ਚà©à¨£à©€ ਸਕੀਮ ਦੀ ਬਲੈਕਲਿਸਟ ਖਾਲੀ ਹੈ। ਕੀ ਆਮ ਬਲੈਕਲਿਸਟ ਅਯਾਤ ਕਰਨੀ ਹੈ?" + +#: configuredialog.cpp:1404 configuredialog.cpp:1534 +msgid "Import" +msgstr "ਆਯਾਤ" + +#: configuredialog.cpp:1404 configuredialog.cpp:1534 +msgid "Do Not Import" +msgstr "ਆਯਾਤ ਨਾ ਕਰੋ" + +#: configuredialog.cpp:1416 +msgid "General Autosuspend Blacklist" +msgstr "ਆਮ ਆਟੋ-ਸਸਪੈਂਡ ਬਲੈਕਲਿਸਟ" + +#: configuredialog.cpp:1546 +msgid "General Autodimm Blacklist" +msgstr "ਆਮ ਆਟੋਡਿਮ ਬਲੈਕਲਿਸਟ" + +#: configuredialog.cpp:1779 configuredialog.cpp:1816 +msgid "Shutdown" +msgstr "ਬੰਦ ਕਰੋ" + +#: configuredialog.cpp:1781 configuredialog.cpp:1819 +msgid "Logout Dialog" +msgstr "ਲਾਗਆਉਟ ਡਾਈਲਾਗ" + +#: configuredialog.cpp:1784 configuredialog.cpp:1822 kpowersave.cpp:182 +#: kpowersave.cpp:2096 kpowersave.cpp:2156 kpowersave.cpp:2247 +msgid "Suspend to Disk" +msgstr "ਡਿਸਕ ਉੱਤੇ ਸਸਪੈਂਡ" + +#: configuredialog.cpp:1787 configuredialog.cpp:1825 kpowersave.cpp:186 +#: kpowersave.cpp:2101 kpowersave.cpp:2161 kpowersave.cpp:2250 +msgid "Suspend to RAM" +msgstr "RAM ਉੱਤੇ ਸਸਪੈਂਡ" + +#: configuredialog.cpp:1790 configuredialog.cpp:1828 +msgid "CPU Powersave policy" +msgstr "CPU ਪਾਵਰ-ਸੇਵ ਪਾਲਸੀ" + +#: configuredialog.cpp:1793 configuredialog.cpp:1831 +msgid "CPU Dynamic policy" +msgstr "CPU ਡਾਇਨੈਮਿਕ ਪਾਲਸੀ" + +#: configuredialog.cpp:1796 configuredialog.cpp:1834 +msgid "CPU Performance policy" +msgstr "CPU ਕਾਰਗà©à¨œà¨¼à¨¾à¨°à©€ ਪਾਲਸੀ" + +#: configuredialog.cpp:1799 configuredialog.cpp:1837 +msgid "Set Brightness to" +msgstr "ਚਮਕ ਸੈੱਟ ਕਰੋ" + +#: main.cpp:43 +msgid "KDE Frontend for Power Management, Battery Monitoring and Suspend" +msgstr "ਊਰਜਾ ਪਰਬੰਧ, ਬੈਟਰੀ ਮਾਨੀਟਰਿੰਗ ਅਤੇ ਸਸਪੈਂਡ ਲਈ KDE ਫਰੰਟ-à¨à¨‚ਡ" + +#: main.cpp:45 +msgid "Force a new check for ACPI support" +msgstr "ACPI ਸਹਿਯੋਗ ਲਈ ਨਵੀਂ ਜਾਂਚ ਲਈ ਮਜ਼ਬੂਰ ਕਰੋ" + +#: main.cpp:46 +msgid "Trace function entry and leave points for debug\n" +msgstr "ਫੰਕਸ਼ਨ à¨à¨‚ਟਰੀ ਟਰੇਸ ਕਰੋ ਅਤੇ ਪà©à¨†à¨‡à©°à¨Ÿ ਡੀਬੱਗ ਲਈ ਛੱਡ ਦਿਓ\n" + +#: main.cpp:59 +msgid "Current maintainer" +msgstr "ਮੌਜੂਦਾ ਪਰਬੰਧਕ" + +#: main.cpp:62 +msgid "Powersave developer and for D-Bus integration" +msgstr "ਪਾਵਰਸੇਵ ਡਿਵੈਲਪਰ ਅਤੇ D-BUS à¨à¨‚ਟੀਗਰੇਟਰ" + +#: main.cpp:64 +msgid "Powersave developer and tester" +msgstr "ਪਾਵਰਸੇਵ ਡਿਵੈਲਪਰ ਅਤੇ ਟੈਸਟਰ" + +#: main.cpp:66 +msgid "Added basic detailed dialog" +msgstr "ਮà©à©±à¨– ਵੇਰਵਾ ਡਾਈਲਾਗ ਜੋੜਿਆ" + +#: main.cpp:67 +msgid "Packaging Debian and Ubuntu" +msgstr "ਡੈਬੀਅਨ ਅਤੇ ਊਬੰਤੂ ਪੈਕੇਜ" + +#: detaileddialog.cpp:61 +msgid "KPowersave Information Dialog" +msgstr "ਕੇ-ਪਾਵਰਸੇਵ ਜਾਣਕਾਰੀ ਡਾਈਲਾਗ" + +#: detaileddialog.cpp:65 configure_Dialog.cpp:882 configure_Dialog.cpp:922 +msgid "Miscellaneous" +msgstr "ਫà©à¨Ÿà¨•à¨²" + +#: detaileddialog.cpp:66 +msgid "CPUs" +msgstr "CPU" + +#: detaileddialog.cpp:73 detaileddialog.cpp:453 +msgid "Battery state:" +msgstr "ਬੈਟਰੀ ਹਾਲਤ:" + +#: detaileddialog.cpp:79 +msgid "Total:" +msgstr "ਕà©à©±à¨²:" + +#: detaileddialog.cpp:81 detaileddialog.cpp:83 +msgid "Battery %1" +msgstr "ਬੈਟਰੀ %1" + +#: detaileddialog.cpp:114 +msgid "Processor %1" +msgstr "ਪà©à¨°à©‹à¨¸à©ˆà¨¸à¨° %1" + +#: detaileddialog.cpp:230 +msgid "not present" +msgstr "ਮੌਜੂਦ ਨਹੀਂ।" + +#: detaileddialog.cpp:243 +msgid "charged" +msgstr "ਚਾਰਜ ਹੋਈ" + +#: detaileddialog.cpp:245 +msgid "%1:%2 h until charged" +msgstr "%1:%2 h ਚਾਰਜ ਹੋਣ ਲਈ ਬਾਕੀ" + +#: detaileddialog.cpp:248 +msgid "%1:%2 h remaining" +msgstr "%1:%2 ਘੰ ਬਾਕੀ" + +#: detaileddialog.cpp:253 detaileddialog.cpp:441 detaileddialog.cpp:468 +msgid "unknown" +msgstr "ਅਣਜਾਣ" + +#: detaileddialog.cpp:325 detaileddialog.cpp:368 +msgid "%v MHz" +msgstr "%v MHz" + +#: detaileddialog.cpp:330 detaileddialog.cpp:363 dummy.cpp:58 +msgid "deactivated" +msgstr "ਡਿ-à¨à¨•à¨Ÿà©€à¨µà©‡à¨Ÿ" + +#: detaileddialog.cpp:395 +msgid "unplugged" +msgstr "ਪਲੱਗ ਕੱਢਿਆ" + +#: detaileddialog.cpp:412 +msgid "Current Scheme: " +msgstr "ਮੌਜੂਦਾ ਸਕੀਮ: " + +#: detaileddialog.cpp:429 +msgid "Current CPU Frequency Policy:" +msgstr "ਮੌਜੂਦਾ CPU ਫਰੀਕਿਊਂਸੀ ਨੀਤੀ:" + +#: detaileddialog.cpp:435 kpowersave.cpp:193 configure_Dialog.cpp:877 +msgid "Dynamic" +msgstr "ਡਾਇਨੈਮਿਕ" + +#: detaileddialog.cpp:456 +msgid "Critical" +msgstr "ਨਾਜ਼à©à¨•" + +#: detaileddialog.cpp:459 +msgid "Low" +msgstr "ਘੱਟ" + +#: detaileddialog.cpp:462 kpowersave.cpp:277 kpowersave.cpp:652 +#: kpowersave.cpp:659 kpowersave.cpp:705 kpowersave.cpp:713 kpowersave.cpp:761 +#: kpowersave.cpp:769 kpowersave.cpp:817 kpowersave.cpp:824 +#: kpowersave.cpp:1131 kpowersave.cpp:1243 kpowersave.cpp:1272 +#: kpowersave.cpp:1610 kpowersave.cpp:1670 kpowersave.cpp:2186 +msgid "Warning" +msgstr "ਸਾਵਧਾਨ" + +#: detaileddialog.cpp:465 +msgid "ok" +msgstr "ਠੀਕ ਹੈ" + +#: detaileddialog.cpp:474 detaileddialog.cpp:477 +msgid "Set brightness supported:" +msgstr "ਚਮਕ ਸਹਿਯੋਗ ਸੈੱਟ:" + +#: detaileddialog.cpp:475 +msgid "yes" +msgstr "ਹਾਂ" + +#: detaileddialog.cpp:478 +msgid "no" +msgstr "ਨਹੀਂ" + +#: detaileddialog.cpp:481 detaileddialog.cpp:485 +msgid "HAL Daemon:" +msgstr "HAL ਡੈਮਨ:" + +#: detaileddialog.cpp:482 +msgid "running" +msgstr "ਚੱਲ ਰਿਹਾ ਹੈ" + +#: detaileddialog.cpp:486 +msgid "not running" +msgstr "ਚੱਲ ਨਹੀਂ ਰਿਹਾ" + +#: info_Dialog.cpp:197 +msgid "Information" +msgstr "ਜਾਣਕਾਰੀ" + +#: dummy.cpp:36 +msgid "If the current desktop user is inactive, dim the display to:" +msgstr "ਜੇ ਮੌਜੂਦਾ ਡੈਸਕਟਾਪ ਯੂਜ਼ਰ ਇਨ-à¨à¨•à¨Ÿà¨¿à¨µ ਹੋਇਆ ਡਿਸਪਲੇਅ ਡਿਮ ਕਰੋ:" + +#: dummy.cpp:37 +msgid "Enable dim display on inactivity" +msgstr "ਇਨ-à¨à¨•à¨Ÿà¨¿à¨µà¨Ÿà©€ ਉੱਤੇ ਡਿਸਪਲੇਅਰ ਡਿਮ ਯੋਗ" + +#: dummy.cpp:38 +msgid "Blacklist" +msgstr "ਬਲੈਕ-ਲਿਸਟ" + +#: dummy.cpp:39 +msgid "" +"Here you can add programs which should, if running, prevent the dimming of " +"the display." +msgstr "ਇੱਥੇ ਤà©à¨¸à©€à¨‚ ਉਹ ਪਰੋਗਰਾਮ ਜੋੜ ਸਕਦੇ ਹੋ ਜੋ, ਜਦੋਂ ਚੱਲਦੇ ਹੋਣ ਤਾਂ ਡਿਸਪਲੇਅ ਡਿਮ ਨਾ ਹੋਵੇ।" + +#: dummy.cpp:41 +msgid "Would you like to import a predefined blacklist?" +msgstr "ਕੀ ਤà©à¨¸à©€à¨‚ ਪà©à¨°à©€-ਡਿਫਾਇਨਡ ਬਲੈਕਲਿਸਟ ਲੈਣੀ ਚਾਹà©à©°à¨¦à©‡ ਹੋ?" + +#: dummy.cpp:42 +msgid "Disable CPUs/Cores" +msgstr "CPU/ਕੋਰ ਆਯੋਗ" + +#: dummy.cpp:43 +msgid "Max. running CPUs:" +msgstr "ਵੱਧ ਤੋਂ ਵੱਧ ਚੱਲਦੇ CPU:" + +#: dummy.cpp:44 +msgid "Max. running CPUs/Cores:" +msgstr "ਵੱਧ ਤੋਂ ਵੱਧ ਚੱਲਦੇ CPU/ਕੋਰ:" + +#: dummy.cpp:45 +msgid "Min. running CPUs:" +msgstr "ਘੱਟੋ-ਘੱਟ ਚੱਲਦੇ CPU:" + +#: dummy.cpp:46 +msgid "Min. running CPUs/Cores:" +msgstr "ਘੱਟੋ-ਘੱਟ ਚੱਲਦੇ CPU/ਕੋਰ:" + +#: dummy.cpp:47 +msgid "Enable to switch off CPUs/cores" +msgstr "CPU/ਕੋਰ ਬੰਦ ਕਰਨਾ ਯੋਗ" + +#: dummy.cpp:48 +msgid "You have a multiprocessor/multicore machine." +msgstr "ਤà©à¨¹à¨¾à¨¡à©‡ ਕੋਲ ਇੱਕ ਮਲਟੀ-ਪà©à¨°à©‹à¨¸à©ˆà¨¸à¨°/ਮਲਟੀ-ਕੋਰ ਮਸ਼ੀਨ ਹੈ।" + +#: dummy.cpp:49 +msgid "" +"You can disable CPUs/cores to reduce power consumption and save battery " +"power." +msgstr "ਤà©à¨¸à©€à¨‚ CPU/ਕੋਰ ਨੂੰ ਪਾਵਰ ਵਰਤੋਂ ਘਟਾਉਣ ਅਤੇ ਬੈਟਰੀ ਊਰਜਾ ਬਚਾਉਣ ਲਈ ਬੰਦ ਵੀ ਕਰ ਸਕਦੇ ਹੋ।" + +#: dummy.cpp:50 +msgid "Device" +msgstr "ਜੰਤਰ" + +#: dummy.cpp:51 +msgid "Devices" +msgstr "ਜੰਤਰ" + +#: dummy.cpp:52 +msgid "Device class" +msgstr "ਜੰਤਰ ਕਲਾਸ" + +#: dummy.cpp:53 +msgid "activate" +msgstr "à¨à¨•à¨Ÿà¨¿à¨µà©‡à¨Ÿ" + +#: dummy.cpp:54 +msgid "Activate" +msgstr "à¨à¨•à¨Ÿà¨¿à¨µà©‡à¨Ÿ" + +#: dummy.cpp:55 +msgid "deactivate" +msgstr "ਡਿ-à¨à¨•à¨Ÿà¨¿à¨µà©‡à¨Ÿ" + +#: dummy.cpp:56 +msgid "Deactivate" +msgstr "ਡਿ-à¨à¨•à¨Ÿà¨¿à¨µà©‡à¨Ÿ" + +#: dummy.cpp:57 +msgid "activated" +msgstr "à¨à¨•à¨Ÿà¨¿à¨µà©‡à¨Ÿ ਕੀਤਾ" + +#: dummy.cpp:59 +msgid "do nothing" +msgstr "ਕà©à¨ ਨਾ ਕਰੋ" + +#: dummy.cpp:60 +msgid "Deactivate following devices:" +msgstr "ਹੇਠ ਦਿੱਤੇ ਜੰਤਰ ਡਿ-à¨à¨•à¨Ÿà¨¿à¨µà©‡à¨Ÿ:" + +#: dummy.cpp:61 +msgid "Activate following devices" +msgstr "ਹੇਠ ਦਿੱਤੇ ਜੰਤਰ à¨à¨•à¨Ÿà¨¿à¨µà©‡à¨Ÿ" + +#: dummy.cpp:62 +msgid "Reactivate following devices" +msgstr "ਹੇਠ ਦਿੱਤੇ ਜੰਤਰ ਰੀ-à¨à¨•à¨Ÿà¨¿à¨µà©‡à¨Ÿ" + +#: dummy.cpp:63 +msgid "Deactivate following device classes:" +msgstr "ਹੇਠ ਦਿੱਤੀਆਂ ਜੰਤਰ ਕਲਾਸਾਂ ਡਿ-à¨à¨•à¨Ÿà¨¿à¨µà©‡à¨Ÿ:" + +#: dummy.cpp:64 +msgid "Activate following devices classes" +msgstr "ਹੇਠ ਦਿੱਤੀਆਂ ਜੰਤਰ ਕਲਾਸਾਂ à¨à¨•à¨Ÿà¨¿à¨µà©‡à¨Ÿ" + +#: dummy.cpp:65 +msgid "Reactivate following device classes" +msgstr "ਹੇਠ ਦਿੱਤੀਆਂ ਜੰਤਰ ਕਲਾਸਾਂ ਰੀ-à¨à¨•à¨Ÿà¨¿à¨µà©‡à¨Ÿ" + +#: dummy.cpp:66 +msgid "If the scheme switched all devices are again activated." +msgstr "ਜੇ ਸਕੀਮ ਨੇ ਸਭ ਜੰਤਰ ਬਦਲੇ ਹੋਣ ਤਾਂ ਮà©à©œ à¨à¨•à¨Ÿà¨¿à¨µà©‡à¨Ÿ ਕਰੋ।" + +#: dummy.cpp:67 +msgid "This is a experimental feature." +msgstr "ਇਹ ਤਜਰਬੇ ਅਧੀਨ ਫੀਚਰ ਹੈ।" + +#: dummy.cpp:68 +msgid "If you have problems with this feature, please report them." +msgstr "ਜੇ ਤà©à¨¹à¨¾à¨¨à©‚à©° ਇਹ ਫੀਚਰ ਨਾਲ ਸਮੱਸਿਆ ਹੈ ਤਾਂ ਰਿਪੋਰਟ ਦਿਓ ਜੀ।" + +#: dummy.cpp:69 +msgid "Select one of the available devices and click on " +msgstr "ਇੱਕ ਉਪਲੱਬਧ ਜੰਤਰ ਚà©à¨£à©‹ ਅਤੇ ਕਲਿੱਕ ਕਰੋ " + +#: dummy.cpp:70 +msgid "Select one of the available device classes and click on " +msgstr "ਇੱਕ ਉਪਲੱਬਧ ਜੰਤਰ ਕਲਾਸਾਂ ਚà©à¨£à©‹ ਅਤੇ ਕਲਿੱਕ ਕਰੋ " + +#: dummy.cpp:71 +msgid "Select one or more of the available devices and click on " +msgstr "ਇੱਕ ਜਾਂ ਵੱਧ ਉਪਲੱਬਧ ਜੰਤਰ ਚà©à¨£à©‹ ਅਤੇ ਕਲਿੱਕ ਕਰੋ " + +#: dummy.cpp:72 +msgid "Select one or more of the available device classes and click on " +msgstr "ਇੱਕ ਜਾਂ ਵੱਧ ਉਪਲੱਬਧ ਜੰਤਰ ਕਲਾਸ ਚà©à¨£à©‹ ਅਤੇ ਕਲਿੱਕ ਕਰੋ " + +#: dummy.cpp:73 +msgid "" +"Please note: If you e.g. deactivate a network device you may lose your " +"internet connection." +msgstr "" +"ਧਿਆਨ ਰੱਖੋ ਜੀ: ਜੇ ਤà©à¨¸à©€à¨‚ ਆਪਣੇ ਨੈੱਟਵਰਕ ਜੰਤਰ ਨੂੰ ਡਿ-à¨à¨•à¨Ÿà¨¿à¨µà©‡à¨Ÿ ਕਰ ਦਿੱਤਾ ਤਾਂ ਤà©à¨¹à¨¾à¨¡à¨¾ ਇੰਟਰਨੈੱਟ ਕà©à¨¨à©ˆà¨•à¨¸à¨¼à¨¨ ਟà©à©±à¨Ÿ " +"ਜਾਵੇਗਾ।" + +#: dummy.cpp:75 +msgid "" +"Note: If you select this option, the computer will suspend or standby " +"if the current user is inactive for the defined time.

    This feature " +"can also produce problems with some programs, such as video players or cd " +"burner. These programs can be blacklisted by checking Enable scheme-" +"specific blacklist and click Edit Blacklist.... If this does not " +"help, report the problem or deactivate autosuspend.

    Really use this " +"option?" +msgstr "" +"ਨੋਟ: ਜੇ ਤà©à¨¸à©€à¨‚ ਇਹ ਚੋਣ ਕੀਤੀ ਤਾਂ ਕੰਪਿਊਟਰ ਸਸਪੈਂਡ ਜਾਂ ਸਟੈਂਡ-ਬਾਠਹੋ ਜਾਵੇ, ਜਦੋਂ ਵੀ ਮੌਜੂਦ ਯੂਜ਼ਰ " +"ਦਿੱਤੇ ਸਮੇਂ ਲਈ ਇਨ-à¨à¨•à¨Ÿà¨¿à¨µ ਹੋਵੇਗਾ।

    ਇਹ ਫੀਚਰ ਕà©à¨ ਪਰੋਗਰਾਮਾਂ, ਜਿਵੇਂ ਕਿ ਵੀਡਿਓ ਪਲੇਅਰ ਅਤੇ CD- " +"ਬਰਨਰ ਨਾਲ ਵੀ ਸਮੱਸਿਆਵਾਂ ਦੇ ਸਕਦਾ ਹੈ। ਇਹ ਪਰੋਗਰਾਮਾਂ ਨੂੰ ਖਾਸ ਬਲੈਕ-ਲਿਸਟ ਸਕੀਮ ਯੋਗ ਦੀ ਚੋਣ " +"ਅਤੇ ਬਲੈਕਲਿਸਟ ਸੋਧ... ਕਲਿੱਕ ਕਰਨ ਨਾ ਬਲੈਕ-ਲਿਸਟ ਕੀਤਾ ਜਾ ਸਕਦਾ ਹੈ। ਜੇ ਇਹ ਮੱਦਦ ਨਾ ਕਰੇ " +"ਤਾਂ ਸਮੱਸਿਆ ਦੀ ਰਿਪੋਰਟ ਦਿਓ ਜਾਂ ਆਟੋ-ਸਸਪੈਂਡ ਡਿ-à¨à¨•à¨Ÿà¨¿à¨µ ਕਰੋ।

    ਕੀ ਇਹ ਚੋਣ ਵਰਤਣੀ ਹੈ?" + +#: dummy.cpp:82 +msgid "Try to use only one CPU/Core." +msgstr "ਕੇਵਲ ਇੱਕ CPU/ਕੋਰ ਵਰਤ ਕੇ ਕੋਸ਼ਿਸ਼ ਕਰੋ।" + +#: dummy.cpp:83 +msgid "" +"Reduce power consumption by try to use only one CPU/Core instead of " +"spreading the work over all/multiple CPUs." +msgstr "" +"ਪਾਵਰ ਖਪਤ ਨੂੰ ਸਭ/ਕਈ CPU ਉੱਤੇ ਕੰਮ ਵੰਡਣ ਦੀ ਬਜਾਠਇੱਕ ਹੀ CPU/ਕੋਰ ਦੀ ਵਰਤੋਂ ਕਰਕੇ ਘਟਾ ਸਕਦੇ ਹੋ।" + +#: dummy.cpp:87 +msgid "Could not load the global configuration." +msgstr "ਗਲੋਬਲ ਸੰਰਚਨਾ ਲੋਡ ਨਹੀਂ ਹੋ ਸਕੀ ਹੈ।" + +#: dummy.cpp:88 +msgid "Could not load the requested scheme configuration." +msgstr "ਮੰਗੀ ਸਕੀਮ ਸੰਰਚਨਾ ਲੋਡ ਨਹੀਂ ਹੋ ਸਕਦੀ ਹੈ।" + +#: dummy.cpp:89 +msgid "Configure the current scheme." +msgstr "ਮੌਜੂਦਾ ਸਕੀਮ ਸੰਰਚਨਾ ਹੈ।" + +#: dummy.cpp:90 +msgid "Try loading the default configuration." +msgstr "ਡਿਫਾਲਟ ਸੰਰਚਨਾ ਲੋਡ ਕੀਤੀ ਜਾ ਰਹੀ ਹੈ।" + +#: dummy.cpp:91 +msgid "Maybe the global configuration file is empty or missing." +msgstr "ਹੋ ਸਕਦਾ ਹੈ ਕਿ ਗਲੋਬਲ ਸੰਰਚਨਾ ਫਾਇਲ ਖਾਲੀ ਹੈ ਜਾਂ ਗà©à©°à¨® ਹੈ।" + +#: dummy.cpp:94 +msgid "Cannot connect to D-Bus. The D-Bus daemon may not be running." +msgstr "D-BUS ਨਾਲ ਕà©à¨¨à©ˆà¨•à¨Ÿ ਨਹੀਂ ਹੋ ਸਕਦਾ। D-BUS ਡੈਮਨ ਚੱਲਦਾ ਨਹੀਂ ਜਾਪਦਾ।" + +#: dummy.cpp:95 +msgid "" +"Scheme switched to %1. \n" +" Deactivate following devices: %2" +msgstr "" +"ਸਕੀਮ %1 ਬਦਲੀ ਹੈ।\n" +" ਅੱਗੇ ਦਿੱਤੇ ਜੰਤਰ ਡਿ-à¨à¨•à¨Ÿà¨¿à¨µà©‡à¨Ÿ: %2" + +#: dummy.cpp:96 +msgid "" +"Scheme switched to %1. \n" +" Activate following devices: %2" +msgstr "" +"%1 ਸਕੀਮ ਬਦਲੀ ਗਈ।\n" +" ਅੱਗੇ ਦਿੱਤੇ ਜੰਤਰ à¨à¨•à¨Ÿà¨¿à¨µà©‡à¨Ÿ: %2" + +#: dummy.cpp:97 +msgid "Report ..." +msgstr "ਰਿਪੋਰਟ..." + +#: dummy.cpp:98 +msgid "Suspend to RAM is not supported on your machine." +msgstr "ਤà©à¨¹à¨¾à¨¡à©€ ਮਸ਼ੀਨ RAM ਉੱਤੇ ਸਸਪੈਂਡ ਵਾਸਤੇ ਸਹਿਯੋਗੀ ਨਹੀਂ ਹੈ।" + +#: dummy.cpp:99 +msgid "Additionally, please mail the output of %1 to %2 . Thanks!" +msgstr "ਇਸ ਤੋਂ ਬਿਨਾਂ %1 ਦੀ ਆਉਟਪà©à©±à¨Ÿ %2 ਨੂੰ ਮੇਲ ਕਰ ਦਿਓ। ਧੰਨਵਾਦ!" + +#: dummy.cpp:100 +msgid "Power consumption" +msgstr "ਪਾਵਰ ਖਰਚ" + +#: dummy.cpp:103 +msgid "KScreensaver not found." +msgstr "ਕੇ-ਸਕਰੀਨਸੇਵਰ ਨਹੀਂ ਮਿਲਿਆ ਹੈ।" + +#: dummy.cpp:104 +msgid "Try locking with XScreensaver or xlock." +msgstr "XScreensaver ਜਾਂ xlock ਨਾਲ ਲਾਕ ਕਰਨ ਦੀ ਕੋਸ਼ਸ਼ ਹੈ।" + +#: dummy.cpp:105 +msgid "XScreensaver not found." +msgstr "XScreensaver ਨਹੀਂ ਮਿਲਿਆ ਹੈ।" + +#: dummy.cpp:106 +msgid "Try locking the screen with xlock." +msgstr "xlock ਨਾਲ ਸਕਰੀਨ ਲਾਕ ਕਰਨ ਦੀ ਕੋਸ਼ਸ਼ ਹੈ।" + +#: dummy.cpp:107 +msgid "" +"XScreensaver and xlock not found. It is not possible to lock the screen. " +"Check your installation." +msgstr "" +"X-ਸਕਰੀਨ-ਸੇਵਰ ਅਤੇ xlock ਨਹੀਂ ਲੱਭੇ। ਸਕਰੀਨ ਨੂੰ ਲਾਕ ਕਰਨਾ ਸੰਭਵ ਨਹੀਂ ਹੈ। ਆਪਣੀ ਇੰਸਟਾਲੇਸ਼ਨ ਦੀ ਜਾਂਚ " +"ਕਰੋ।" + +#: dummy.cpp:111 +msgid "HAL daemon:" +msgstr "HAL ਡੈਮਨ:" + +#: dummy.cpp:112 +msgid "D-Bus daemon:" +msgstr "D-Bus ਡੈਮਨ:" + +#: dummy.cpp:113 +msgid "ConsoleKit daemon:" +msgstr "ConsoleKit ਡੈਮਨ:" + +#: dummy.cpp:114 +msgid "Autosuspend activated:" +msgstr "ਆਟੋ-ਸਸਪੈਂਡ à¨à¨•à¨Ÿà¨¿à¨µà©‡à¨Ÿà¨¡:" + +#: dummy.cpp:115 +msgid "Autodimm activated:" +msgstr "ਆਟੋ-ਡਿਮ à¨à¨•à¨Ÿà¨¿à¨µà©‡à¨Ÿà¨¡:" + +#: dummy.cpp:116 +msgid "enabled" +msgstr "ਚਾਲੂ" + +#: dummy.cpp:117 +msgid "Session active:" +msgstr "à¨à¨•à¨Ÿà¨¿à¨µ ਸ਼ੈਸ਼ਨ:" + +#: dummy.cpp:120 +msgid "Inactivity detected." +msgstr "ਇਨ-à¨à¨•à¨Ÿà¨¿à¨µà¨Ÿà©€ ਮਿਲੀ।" + +#: dummy.cpp:121 +msgid "To stop the %1 press the 'Cancel' button before the countdown expire." +msgstr "%1 ਰੋਕਣ ਲਈ, ਉਲਟੀ ਗਿਣਤੀ ਖਤਮ ਹੋਣ ਤੋਂ ਪਹਿਲਾਂ 'ਰੱਦ ਕਰੋ' ਬਟਨ ਦੱਬੋ।" + +#: dummy.cpp:122 +msgid "The computer autosuspend in: " +msgstr "ਕੰਪਿਊਟਰ ਆਟੋ-ਸਸਪੈਂਡ ਹੋਵੇ: " + +#: dummy.cpp:123 +#, c-format +msgid "The display get dimmed down to %1% in: " +msgstr "ਡਿਸਪਲੇਅ %1% ਲਈ ਡਿਮ ਹੋ ਜਾਵੇ, ਸਮੇਂ ਵਿੱਚ: " + +#: dummy.cpp:124 +msgid "%1 seconds" +msgstr "%1 ਸਕਿੰਟ" + +#: dummy.cpp:127 +msgid "Could not call %1. The current desktop session is not active." +msgstr "%1 ਨੂੰ ਕਾਲ ਨਹੀਂ ਕੀਤਾ ਜਾ ਸਕਿਆ। ਮੌਜੂਦਾ ਡੈਸਕਟਾਪ ਸ਼ੈਸ਼ਨ à¨à¨•à¨Ÿà¨¿à¨µ ਨਹੀਂ ਹੈ।" + +#: dummy.cpp:128 +msgid "Could not set %1. The current desktop session is not active." +msgstr "%1 ਨੂੰ ਸੈੱਟ ਨਹੀਂ ਕੀਤਾ ਜਾ ਸਕਿਆ। ਮੌਜੂਦਾ ਡੈਸਕਟਾਪ ਸ਼ੈਸ਼ਨ à¨à¨•à¨Ÿà¨¿à¨µ ਨਹੀਂ ਹੈ।" + +#: dummy.cpp:129 +msgid "Stopped %1. The current desktop session is now inactive." +msgstr "%1 ਰੋਕਿਆ। ਮੌਜੂਦਾ ਡੈਸਕਟਾਪ ਸ਼ੈਸ਼ਨ ਹà©à¨£ ਇਨ-à¨à¨•à¨Ÿà¨¿à¨µ ਹੈ।" + +#: dummy.cpp:130 +msgid "Restarted %1. The current desktop session is now active again." +msgstr "%1 ਮà©à©œ-ਚਾਲੂ ਕੀਤਾ। ਮੌਜੂਦਾ ਡੈਸਕਟਾਪ ਸ਼ੈਸ਼ਨ ਹà©à¨£ ਮà©à©œ à¨à¨•à¨Ÿà¨¿à¨µ ਹੈ।" + +#: log_viewer.cpp:78 +msgid "Form1" +msgstr "Form1" + +#: log_viewer.cpp:79 +msgid "Save As ..." +msgstr "ਇੰਠਸੰਭਾਲੋ..." + +#: log_viewer.cpp:80 +msgid "Close" +msgstr "ਬੰਦ ਕਰੋ" + +#: logviewer.cpp:44 +msgid "KPowersave Logfile Viewer: %1" +msgstr "ਕੇ-ਪਾਵਰਸੇਵ ਲਾਗ ਫਾਇਲ ਦਰਸ਼ਕ: %1" + +#: logviewer.cpp:89 +msgid "File already exist. Overwrite the file?" +msgstr "ਫਾਇਲ ਪਹਿਲਾਂ ਹੀ ਮੌਜੂਦ ਹੈ। ਕੀ ਫਾਇਲ ਉੱਤੇ ਲਿਖਣਾ?" + +#: logviewer.cpp:90 logviewer.cpp:97 +msgid "Error while save logfile" +msgstr "ਲਾਗ-ਫਾਇਲ ਸੰਭਾਲਣ ਦੌਰਾਨ ਗਲਤੀ" + +#: logviewer.cpp:95 +msgid "File already exist." +msgstr "ਫਾਇਲ ਪਹਿਲਾਂ ਹੀ ਮੌਜੂਦ ਹੈ" + +#: logviewer.cpp:98 +msgid "Try other filename ..." +msgstr "ਹੋਰ ਫਾਇਲ-ਨਾਂ ਨਾਲ ਕੋਸ਼ਿਸ਼..." + +#: suspenddialog.cpp:70 +msgid "Preparing Suspend..." +msgstr "ਸਸਪੈਂਡ ਲਈ ਤਿਆਰ ਕੀਤਾ ਜਾ ਰਿਹਾ ਹੈ..." + +#: kpowersave.cpp:168 +msgid "Configure KPowersave..." +msgstr "ਕੇ-ਪਾਵਰਸੇਵ ਸੰਰਚਨਾ..." + +#: kpowersave.cpp:171 configure_Dialog.cpp:915 +msgid "Configure Notifications..." +msgstr "ਨੋਟੀਫਿਕੇਸ਼ਨ ਸੰਰਚਨਾ..." + +#: kpowersave.cpp:175 +msgid "Start YaST2 Power Management Module..." +msgstr "YaST2 ਊਰਜਾ ਪਰਬੰਧਨ ਮੋਡੀਊਲ ਸ਼à©à¨°à©‚..." + +#: kpowersave.cpp:189 kpowersave.cpp:2106 kpowersave.cpp:2166 +#: kpowersave.cpp:2253 +msgid "Standby" +msgstr "ਸਟੈਂਡਬਾà¨" + +#: kpowersave.cpp:191 kpowersave.cpp:198 +msgid "Set CPU Frequency Policy" +msgstr "CPU ਫਰੀਕਿਊਂਸੀ ਪਾਲਸੀ" + +#: kpowersave.cpp:205 kpowersave.cpp:206 +msgid "Set Active Scheme" +msgstr "à¨à¨•à¨Ÿà¨¿à¨µ ਸਕੀਮ ਸੈੱਟ ਕਰੋ" + +#: kpowersave.cpp:212 +msgid "Disable Actions on Inactivity" +msgstr "ਇਨ-à¨à¨•à¨Ÿà¨¿à¨µà©‡à¨Ÿà©€ ਉੱਤੇ ਕਾਰਵਾਈਆਂ ਆਯੋਗ" + +#: kpowersave.cpp:219 kpowersave.cpp:229 +msgid "&Help" +msgstr "ਮੱਦਦ(&H)" + +#: kpowersave.cpp:221 +msgid "&KPowersave Handbook" +msgstr "ਕੇ-ਪਾਵਰਸੇਵ ਹੈਂਡ-ਬà©à©±à¨•(&K)" + +#: kpowersave.cpp:224 +msgid "&Report a bug ..." +msgstr "ਬੱਗ ਜਾਣਕਾਰੀ ਦਿਓ(&R)..." + +#: kpowersave.cpp:226 +msgid "&About KPowersave" +msgstr "ਕੇ-ਪਾਵਰਸੇਵ ਬਾਰੇ(&A)" + +#: kpowersave.cpp:275 kpowersave.cpp:648 kpowersave.cpp:656 kpowersave.cpp:703 +#: kpowersave.cpp:710 kpowersave.cpp:759 kpowersave.cpp:766 kpowersave.cpp:815 +#: kpowersave.cpp:822 kpowersave.cpp:1126 kpowersave.cpp:1241 +#: kpowersave.cpp:1270 kpowersave.cpp:2183 +msgid "WARNING" +msgstr "ਸਾਵਧਾਨ" + +#: kpowersave.cpp:275 +msgid "Cannot find any schemes." +msgstr "ਕੋਈ ਸਕੀਮ ਨਹੀਂ ਲੱਭੀ ਹੈ।" + +#: kpowersave.cpp:453 +msgid "No information about battery and AC status available" +msgstr "ਬੈਟਰੀ ਅਤੇ AC ਹਾਲਤ ਬਾਰੇ ਕੋਈ ਜਾਣਕਾਰੀ ਨਹੀਂ ਹੈ।" + +#: kpowersave.cpp:456 +msgid "Plugged in -- fully charged" +msgstr "ਪਲੱਗ ਲੱਗਾ -- ਪੂਰਾ ਚਾਰਜ" + +#: kpowersave.cpp:460 +msgid "Plugged in" +msgstr "ਪਲੱਗ ਲੱਗਾ" + +#: kpowersave.cpp:464 +msgid "Plugged in -- %1% charged (%2:%3 h until full charged)" +msgstr "ਪਲੱਗ ਲੱਗਾ -- %1% ਚਾਰਜ (%2:%3 ਘੰਟੇ ਪੂਰਾ ਚਾਰਜ ਹੋਣ ਲਈ ਬਾਕੀ)" + +#: kpowersave.cpp:467 +msgid "Plugged in -- %1% charged (%2:%3 remaining hours)" +msgstr "ਪਲੱਗ ਲੱਗਾ -- %1% ਚਾਰਜ (%2:%3 ਬਾਕੀ ਘੰਟੇ)" + +#: kpowersave.cpp:471 kpowersave.cpp:475 +#, c-format +msgid "Plugged in -- %1% charged" +msgstr "ਪਲੱਗ ਲੱਗਾ -- %1% ਚਾਰਜ" + +#: kpowersave.cpp:474 +msgid "Plugged in -- no battery" +msgstr "ਪਲੱਗ ਲੱਗਾ -- ਕੋਈ ਬੈਟਰੀ ਨਹੀਂ" + +#: kpowersave.cpp:480 +msgid "Running on batteries -- %1% charged (%2:%3 hours remaining)" +msgstr "ਬੈਟਰੀ ਉੱਤੇ ਚੱਲ ਰਿਹਾ ਹੈ -- %1% ਚਾਰਜ (%2:%3 ਘੰਟੇ ਬਾਕੀ)" + +#: kpowersave.cpp:484 +#, c-format +msgid "Running on batteries -- %1% charged" +msgstr "ਬੈਟਰੀ ਉੱਤੇ ਚੱਲ ਰਿਹਾ ਹੈ -- %1% ਚਾਰਜ" + +#: kpowersave.cpp:491 +msgid " -- battery is charging" +msgstr " -- ਬੈਟਰੀ ਚਾਰਜ ਹੋ ਰਹੀ ਹੈ" + +#: kpowersave.cpp:649 kpowersave.cpp:657 +msgid "Could not start YaST Power Management Module. Check if it is installed." +msgstr "YaST ਊਰਜਾ ਪਰਬੰਧ ਮੋਡੀਊਲ ਨੂੰ ਸ਼à©à¨°à©‚ ਨਹੀਂ ਕੀਤਾ ਜਾ ਸਕਿਆ। ਜਾਂਚ ਕਰੋ ਕਿ ਇਹ ਇੰਸਟਾਲ ਹੈ।" + +#: kpowersave.cpp:703 +msgid "Suspend to disk failed" +msgstr "ਡਿਸਕ ਉੱਤੇ ਸਸਪੈਂਡ ਫੇਲà©à¨¹ ਹੋਇਆ" + +#: kpowersave.cpp:711 +msgid "Suspend to disk disabled by administrator." +msgstr "ਪਰਸ਼ਾਸ਼ਕ ਨੇ ਡਿਸਕ ਲਈ ਸਸਪੈਂਡ ਨੂੰ ਆਯੋਗ ਕੀਤਾ ਹੈ।" + +#: kpowersave.cpp:759 +msgid "Suspend to RAM failed" +msgstr "ਰੈਮ ਵਿੱਚ ਸਸਪੈਂਡ ਫੇਲà©à¨¹ ਹੋਇਆ" + +#: kpowersave.cpp:767 +msgid "Suspend to RAM disabled by administrator." +msgstr "ਪਰਸ਼ਾਸ਼ਕ ਨੇ ਰੈਮ (RAM) ਲਈ ਸਸਪੈਂਡ ਆਯੋਗ ਕੀਤਾ ਹੈ।" + +#: kpowersave.cpp:815 +msgid "Standby failed" +msgstr "ਸਟੈਂਡਬਾਠਫੇਲà©à¨¹" + +#: kpowersave.cpp:822 +msgid "Standby disabled by administrator." +msgstr "ਪਰਸ਼ਾਸ਼ਕ ਨੇ ਸਟੈਂਡਬਾਠਨੂੰ ਆਯੋਗ ਕੀਤਾ ਹੈ।" + +#: kpowersave.cpp:853 +msgid "System is going into suspend mode now" +msgstr "ਸਿਸਟਮ ਹà©à¨£ ਸਸਪੈਂਡ ਮੋਡ 'ਚ ਜਾ ਰਿਹਾ ਹੈ।" + +#: kpowersave.cpp:1039 +msgid "Could not call DCOP interface to umount external media." +msgstr "ਬਾਹਰੀ ਮੀਡਿਆ ਨੂੰ ਅਣ-ਮਾਊਂਟ ਕਰਨ ਲਈ DCOP ਇੰਟਰਫੇਸ ਕਾਲ ਨਹੀਂ ਕੀਤਾ ਜਾ ਸਕਿਆ।" + +#: kpowersave.cpp:1044 +msgid "" +"Could not umount external media before suspend/standby. \n" +" (Reason: %1)\n" +" \n" +" Would you like to continue suspend/standby anyway? \n" +"(Warning: Continue suspend can cause data loss!)" +msgstr "" +"ਬਾਹਰੀ ਮੀਡਿਆ ਸਸਪੈਂਡ/ਸਟੈਂਡਬਾਠਤੋਂ ਅਣ-ਮਾਊਂਟ ਨਹੀਂ ਕੀਤਾ ਜਾ ਸਕਿਆ।\n" +" (ਕਾਰਨ: %1)\n" +" \n" +" ਕੀ ਤà©à¨¸à©€à¨‚ ਹਾਲੇ ਵੀ ਸਸਪੈਂਡ/ਸਟੈਂਡਬਾਠਕਰਨਾ ਚਾਹà©à©°à¨¦à©‡ ਹੋ?\n" +" (ਸਾਵਧਾਨ: ਸਸਪੈਂਡ ਕਰਨ ਨਾਲ ਡਾਟਾ ਖਰਾਬ ਹੋਣ ਦਾ ਖਤਰਾ ਹੈ!)" + +#: kpowersave.cpp:1052 +msgid "Error while prepare %1" +msgstr "%1 ਤਿਆਰੀ ਦੌਰਾਨ ਗਲਤੀ" + +#: kpowersave.cpp:1053 +msgid "Suspend anyway" +msgstr "ਕਿਵੇਂ ਵੀ ਸਸਪੈਂਡ" + +#: kpowersave.cpp:1053 +msgid "Cancel suspend" +msgstr "ਸਸਪੈਂਡ ਰੱਦ ਕਰੋ" + +#: kpowersave.cpp:1127 +msgid "" +"Could not lock the screen. There may be a problem with the selected \n" +"lock method or something else." +msgstr "" +"ਸਕਰੀਨ ਲਾਕ ਨਹੀਂ ਹੋ ਸਕੀ ਹੈ। ਚà©à¨£à©‡ ਲਾਕ ਢੰਗ ਨਾਲ ਸਮੱਸਿਆ ਹੋ ਸਕਦੀ ਹੈ\n" +"ਜਾਂ ਕà©à¨ ਹੋਰ ਸਕਦਾ ਹੈ।" + +#: kpowersave.cpp:1144 +msgid "The Lid was closed." +msgstr "Lid ਬੰਦ ਸੀ।" + +#: kpowersave.cpp:1156 +msgid "The Lid was opened." +msgstr "Lid ਖà©à©±à¨²à©à¨¹à©€ ਸੀ।" + +#: kpowersave.cpp:1223 +msgid "Start KPowersave automatically when you log in?" +msgstr "ਕੀ ਕੇ-ਪਾਵਰਸੇਵ ਤà©à¨¹à¨¾à¨¡à©‡ ਲਾਗਇਨ ਕਰਨ 'ਤੇ ਆਟੋਮੈਟਿਕ ਹੀ ਚਾਲੂ ਹੋ ਜਾਵੇ?" + +#: kpowersave.cpp:1224 +msgid "Question" +msgstr "ਸਵਾਲ" + +#: kpowersave.cpp:1225 +msgid "Start Automatically" +msgstr "ਆਟੋਮੈਟਿਕ ਚਾਲੂ ਕਰੋ" + +#: kpowersave.cpp:1225 +msgid "Do Not Start" +msgstr "ਨਾ ਸ਼à©à¨°à©‚ ਕਰੋ" + +#: kpowersave.cpp:1242 +msgid "CPU Freq Policy %1 could not be set." +msgstr "CPU ਫਰੀਕਿ ਪਾਲਸੀ %1 ਨੂੰ ਸੈਟ ਨਹੀਂ ਕੀਤਾ ਜਾ ਸਕਿਆ।" + +#: kpowersave.cpp:1271 +msgid "Scheme %1 could not be activated." +msgstr "ਸਕੀਮ %1 à¨à¨•à¨Ÿà¨¿à¨µà©‡à¨Ÿ ਨਹੀਂ ਕੀਤੀ ਜਾ ਸਕੀ।" + +#: kpowersave.cpp:1600 +msgid "" +"The D-Bus daemon is not running.\n" +"Starting it will provide full functionality: /etc/init.d/dbus start" +msgstr "" +"D-Bus ਡੈਮਨ ਚੱਲ ਨਹੀਂ ਰਹੀ ਹੈ।\n" +"ਇਸ ਨੂੰ ਚਲਾਉਣ ਪੂਰੇ ਫੰਕਸ਼ਨ ਮਿਲਣਗੇ: /etc/init.d/dbus start" + +#: kpowersave.cpp:1611 +msgid "Don't show this message again." +msgstr "ਇਹ ਸà©à¨¨à©‡à¨¹à¨¾ ਮà©à©œ ਨਾ ਵੇਖਾਓ।" + +#: kpowersave.cpp:1637 +msgid "ERROR" +msgstr "ਗਲਤੀ" + +#: kpowersave.cpp:1638 +msgid "Could not get information from HAL. The haldaemon is maybe not running." +msgstr "HAL ਤੋਂ ਜਾਣਕਾਰੀ ਲਈ ਨਹੀਂ ਜਾ ਸਕੀ। haldaemon ਚੱਲ ਨਹੀਂ ਰਹੀ ਹੋ ਸਕਦੀ ਹੈ।" + +#: kpowersave.cpp:1641 +msgid "Error" +msgstr "ਗਲਤੀ" + +#: kpowersave.cpp:1912 +msgid "" +"Battery state changed to WARNING -- remaining time: %1 hours and %2 minutes." +msgstr "ਬੈਟਰੀ ਹਾਲਤ ਲਈ *ਸਾਵਧਾਨ* ਹੋਈ -- ਬਾਕੀ ਸਮਾਂ: %1 ਘੰਟੇ ਅਤੇ %2 ਮਿੰਟ" + +#: kpowersave.cpp:1921 +msgid "" +"Battery state changed to LOW -- remaining time: %1 hours and %2 minutes." +msgstr "ਬੈਟਰੀ ਹਾਲਤ *ਘੱਟ* ਹੋਈ -- ਬਾਕੀ ਸਮਾਂ: %1 ਘੰਟੇ ਅਤੇ %2 ਮਿੰਟ" + +#: kpowersave.cpp:1932 +msgid "" +"Battery state changed to CRITICAL -- remaining time: %1 hours and %2 " +"minutes.\n" +"Shut down your system or plug in the power cable immediately. Otherwise the " +"machine\n" +"will go shutdown in 30 seconds" +msgstr "" +"ਬੈਟਰੀ ਹਾਲਤ *ਨਾਜ਼à©à¨•* ਹੋਈ -- ਬਾਕੀ ਸਮਾਂ: %1 ਘੰਟੇ ਅਤੇ %2 ਮਿੰਟ\n" +"ਆਪਣੇ ਕੰਪਿਊਟਰ ਨੂੰ ਬੰਦ ਕਰੋ ਜਾਂ ਹà©à¨£ ਪਲੱਗ ਲਗਾਓ। ਨਹੀਂ ਤਾਂ ਮਸ਼ੀਨ\n" +"30 ਸਕਿੰਟਾਂ 'ਚ ਬੰਦ ਹੋ ਜਾਵੇਗੀ।" + +#: kpowersave.cpp:1943 +msgid "" +"Battery state changed to CRITICAL -- remaining time: %1 hours and %2 " +"minutes.\n" +"Shut down your system or plug in the power cable immediately." +msgstr "" +"ਬੈਟਰੀ ਹਾਲਤ *ਨਾਜ਼à©à¨•* ਹੋਈ -- ਬਾਕੀ ਸਮਾਂ: %1 ਘੰਟੇ ਅਤੇ %2 ਮਿੰਟ\n" +"ਆਪਣੇ ਕੰਪਿਊਟਰ ਨੂੰ ਬੰਦ ਕਰੋ ਜਾਂ ਹà©à¨£ ਪਲੱਗ ਲਗਾਓ।" + +#: kpowersave.cpp:2041 +msgid "AC adapter plugged in" +msgstr "AC ਅਡੈਪਟਰ ਪਲੱਗ ਲਾਇਆ" + +#: kpowersave.cpp:2043 +msgid "AC adapter unplugged" +msgstr "AC ਅਡੈਪਟਰ ਪਲੱਗ ਕੱਢਿਆ" + +#: kpowersave.cpp:2078 +msgid "Switched to scheme: %1" +msgstr "ਸਕੀਮ ਲਈ ਬਦਲੋ: %1" + +#: kpowersave.cpp:2095 kpowersave.cpp:2100 kpowersave.cpp:2105 +msgid "System is going into %1 now." +msgstr "ਸਿਸਟਮ ਹà©à¨£ %1 ਹੋ ਰਿਹਾ ਹੈ।" + +#: kpowersave.cpp:2155 kpowersave.cpp:2160 kpowersave.cpp:2165 +msgid "System is resumed from %1." +msgstr "ਸਿਸਟਮ %1 ਤੋਂ ਰੀ-ਜਿਊਮ ਕੀਤਾ ਗਿਆ।" + +#: kpowersave.cpp:2184 +msgid "Could not remount (all) external storage media." +msgstr "(ਸਭ) ਬਾਹਰੀ ਸਟਰੋਜ਼ ਮੀਡਿਆ ਰੀ-ਮਾਊਂਟ ਨਹੀਂ ਕੀਤੇ ਜਾ ਸਕੇ।" + +#: kpowersave.cpp:2192 +msgid "An unknown error occurred while %1. The errorcode is: '%2'" +msgstr "%1 ਦੌਰਾਨ ਇੱਕ ਅਣਜਾਣੀ ਗਲਤੀ ਆਈ ਹੈ। ਗਲਤੀ-ਕੋਡ: '%2'" + +# power-off message +#: kpowersave.cpp:2197 +msgid "Do you want to have a look at the log file?" +msgstr "ਕੀ ਤà©à¨¸à©€à¨‚ ਲਾਗ ਫਾਇਲ ਵੇਖਣੀ ਚਾਹà©à©°à¨¦à©‡ ਹੋ?" + +#: kpowersave.cpp:2198 kpowersave.cpp:2224 +msgid "Error while %1" +msgstr "%1 ਦੌਰਾਨ ਗਲਤੀ" + +#: configure_Dialog.cpp:831 +msgid "KPowersave Settings" +msgstr "ਕੇ-ਪਾਵਰਸੇਵ ਸੈਟਿੰਗ" + +#: configure_Dialog.cpp:832 +msgid "Apply" +msgstr "ਲਾਗੂ ਕਰੋ" + +#: configure_Dialog.cpp:834 +msgid "Help" +msgstr "ਮੱਦਦ" + +#: configure_Dialog.cpp:840 +msgid "Enable specific display power management" +msgstr "ਖਾਸ ਡਿਸਪਲੇਅ ਪਾਵਰ ਪਰਬੰਧ ਯੋਗ" + +#: configure_Dialog.cpp:841 +msgid "Standby after:" +msgstr "ਸਟੈਂਡਬਾਠਬਾਅਦ:" + +#: configure_Dialog.cpp:842 +msgid "Only blank the screen" +msgstr "ਸਿਰਫ਼ ਖਾਲੀ ਸਕਰੀਨ ਹੀ" + +#: configure_Dialog.cpp:843 +msgid "Disable screen saver" +msgstr "ਸਕਰੀਨ ਸੇਵਰ ਅਯੋਗ" + +#: configure_Dialog.cpp:844 +msgid "Enable specific screensaver settings" +msgstr "ਖਾਸ ਸਕਰੀਨ-ਸੇਵਰ ਸੈਟਿੰਗ ਯੋਗ" + +#: configure_Dialog.cpp:845 +msgid "Suspend after:" +msgstr "ਸਸਪੈਂਡ ਬਾਅਦ:" + +#: configure_Dialog.cpp:846 +msgid "Power off after:" +msgstr "ਬੰਦ ਕਰੋ ਬਾਅਦ:" + +#: configure_Dialog.cpp:847 +msgid "Disable display power management" +msgstr "ਡਿਸਪਲੇਅ ਪਾਵਰ ਪਰਬੰਧ ਅਯੋਗ" + +#: configure_Dialog.cpp:848 configure_Dialog.cpp:849 configure_Dialog.cpp:850 +#: configure_Dialog.cpp:862 configure_Dialog.cpp:873 +msgid " min" +msgstr " ਮਿੰਟ" + +#: configure_Dialog.cpp:851 +msgid "Screen Saver and DPMS" +msgstr "ਸਕਰੀਨ ਸੇਵਰ ਅਤੇ DPMS" + +#: configure_Dialog.cpp:852 +msgid "Settings" +msgstr "ਸੈਟਿੰਗ" + +#: configure_Dialog.cpp:853 +msgid "Reset" +msgstr "ਮà©à©œ-ਸੈੱਟ" + +#: configure_Dialog.cpp:855 +msgid "Enable scheme specific Brightness settings" +msgstr "ਖਾਸ ਚਮਕ ਸੈਟਿੰਗ ਸਕੀਮ ਯੋਗ ਕਰੋ" + +#: configure_Dialog.cpp:858 +msgid "Brightness" +msgstr "ਚਮਕ" + +#: configure_Dialog.cpp:859 +msgid "Enable autosuspend" +msgstr "ਆਟੋ-ਸਸਪੈਂਡ ਯੋਗ" + +#: configure_Dialog.cpp:860 configure_Dialog.cpp:867 +msgid "Enable scheme-specific blacklist" +msgstr "ਖਾਸ-ਸਕੀਮ ਬਲੈਕ-ਲਿਸਟ ਯੋਗ" + +#: configure_Dialog.cpp:861 configure_Dialog.cpp:870 +msgid "after:" +msgstr "ਬਾਅਦ:" + +#: configure_Dialog.cpp:863 configure_Dialog.cpp:868 +msgid "Edit Blacklist..." +msgstr "ਬਲੈਕ-ਲਿਸਟ ਸੋਧ..." + +#: configure_Dialog.cpp:864 configure_Dialog.cpp:869 +msgid "If the current desktop user is inactive the computer will:" +msgstr "ਜੇ ਮੌਜੂਦਾ ਡੈਸਕਟਾਪ ਯੂਜ਼ਰ ਇਨ-à¨à¨•à¨Ÿà¨¿à¨µà©‡à¨Ÿ ਹੋਇਆ ਤਾਂ ਕੰਪਿਊਟਰ:" + +#: configure_Dialog.cpp:865 +msgid "Autosuspend" +msgstr "ਆਟੋ-ਸਸਪੈਂਡ" + +#: configure_Dialog.cpp:866 +msgid "Enable autodimm the display" +msgstr "ਡਿਸਪਲੇਅ ਆਟੋ-ਡਿਮ ਯੋਗ" + +#: configure_Dialog.cpp:871 configure_Dialog.cpp:893 configure_Dialog.cpp:894 +#: configure_Dialog.cpp:895 configure_Dialog.cpp:896 configure_Dialog.cpp:897 +#: configure_Dialog.cpp:898 +msgid " %" +msgstr " %" + +#: configure_Dialog.cpp:872 +msgid "dimm to:" +msgstr "ਡਿਮ ਕਰੋ:" + +#: configure_Dialog.cpp:874 +msgid "Autodimm" +msgstr "ਆਟੋ-ਡਿਮ" + +#: configure_Dialog.cpp:879 +msgid "Set CPU Frequency Policy:" +msgstr "CPU ਫਰੀਕਿਊਂਸੀ ਪਾਲਸੀ ਸੈੱਟ:" + +#: configure_Dialog.cpp:880 +msgid "CPU Frequency Policy" +msgstr "CPU ਫਰੀਕਿਊਂਸੀ ਪਾਲਸੀ" + +#: configure_Dialog.cpp:881 +msgid "Disable Notifications" +msgstr "ਨੋਟੀਫਿਕੇਸ਼ਨ ਆਯੋਗ" + +#: configure_Dialog.cpp:884 +msgid "New" +msgstr "ਨਵਾਂ" + +#: configure_Dialog.cpp:885 +msgid "Scheme Settings" +msgstr "ਸਕੀਮ ਸੈਟਿੰਗ" + +#: configure_Dialog.cpp:886 +msgid "" +"Define the battery warning levels (in percentage) and the releated action if " +"the level get reached:" +msgstr "ਬੈਟਰੀ ਚੇਤਾਵਨੀ ਲੈਵਲ (ਫੀਸਦੀ 'ਚ) ਦਿਓ ਅਤੇ ਢà©à©±à¨•à¨µà©€à¨†à¨‚ ਕਾਰਵਾਈਆਂ ਵੀ, ਜੇ ਲੈਵਲ ਅੱਪੜ ਜਾਵੇ:" + +#: configure_Dialog.cpp:887 +msgid "Warning level:" +msgstr "ਚੇਤਾਵਨੀ ਲੈਵਲ:" + +#: configure_Dialog.cpp:888 +msgid "Low level:" +msgstr "ਘੱਟ ਲੈਵਲ:" + +#: configure_Dialog.cpp:889 +msgid "Critical level:" +msgstr "ਨਾਜ਼à©à¨• ਲੈਵਲ:" + +#: configure_Dialog.cpp:890 configure_Dialog.cpp:891 configure_Dialog.cpp:892 +msgid "if reached call:" +msgstr "ਜੇ ਹੋਵੇ ਤਾਂ ਕਾਲ ਕਰੋ:" + +#: configure_Dialog.cpp:899 +msgid "Battery" +msgstr "ਬੈਟਰੀ" + +#: configure_Dialog.cpp:900 +msgid "" +"Define the action which should be executed if the related button get pressed:" +msgstr "à¨à¨•à¨¸à¨¼à¨¨ ਦਿਓ, ਜੋ ਕਿ ਲਿਆ ਜਾਵੇ, ਜਦੋਂ ਕਿ ਢà©à©±à¨•à¨µà¨¾à¨‚ ਬਟਨ ਦੱਬਿਆ ਜਾਵੇ:" + +#: configure_Dialog.cpp:901 +msgid "Suspend-to-disk Button:" +msgstr "ਡਿਸਕ-ਉੱਤੇ-ਸਸਪੈਂਡ ਬਟਨ:" + +#: configure_Dialog.cpp:902 +msgid "Sleep button:" +msgstr "ਸਲੀਪ ਬਟਨ:" + +#: configure_Dialog.cpp:903 +msgid "Lid close Button:" +msgstr "Lid ਬੰਦ ਬਟਨ:" + +#: configure_Dialog.cpp:904 +msgid "Power Button:" +msgstr "ਪਾਵਰ ਬਟਨ:" + +#: configure_Dialog.cpp:905 +msgid "Button Events" +msgstr "ਬਟਨ ਘਟਨਾਵਾਂ" + +#: configure_Dialog.cpp:906 +msgid "" +"Select the following schemes as default if the system is running on AC or on " +"batteries." +msgstr "ਅੱਗੇ ਦਿੱਤੀ ਸਕੀਮ ਡਿਫਾਲਟ ਵਾਂਗ ਵਰਤੋਂ, ਜੇ ਸਿਸਟਮ AC ਨਾਲ ਚੱਲਦਾ ਜਾਂ ਬੈਟਰੀਆਂ ਉੱਤੇ।" + +#: configure_Dialog.cpp:907 +msgid "Battery scheme:" +msgstr "ਬੈਟਰੀ ਸਕੀਮ:" + +#: configure_Dialog.cpp:908 +msgid "AC scheme:" +msgstr "AC ਸਕੀਮ:" + +#: configure_Dialog.cpp:909 +msgid "Default Schemes" +msgstr "ਡਿਫਾਲਟ ਸਕੀਮਾਂ" + +#: configure_Dialog.cpp:910 +msgid "Lock screen before suspend or standby" +msgstr "ਸਸਪੈਂਡ ਜਾਂ ਸਟੈਂਡਬਾਠਤੋਂ ਪਹਿਲਾਂ ਸਕਰੀਨ ਲਾਕ" + +#: configure_Dialog.cpp:911 +msgid "Lock screen with:" +msgstr "ਸਕਰੀਨ ਲਾਕ: " + +#: configure_Dialog.cpp:912 +msgid "Lock screen on lid close" +msgstr "lid ਬੰਦ ਕਰਨ ਉੱਤੇ ਸਕੀਰਨ ਲਾਕ" + +#: configure_Dialog.cpp:913 +msgid "Lock Screen" +msgstr "ਸਕਰੀਨ ਲਾਕ" + +#: configure_Dialog.cpp:914 +msgid "Notifications" +msgstr "ਨੋਟੀਫਿਕੇਸ਼ਨ" + +#: configure_Dialog.cpp:916 +msgid "Autostart" +msgstr "ਆਟੋ-ਸ਼à©à¨°à©‚" + +#: configure_Dialog.cpp:917 +msgid "Never ask me again on exit" +msgstr "ਬੰਦ ਕਰਨ ਸਮੇਂ ਮੈਨੂੰ ਕਦੇ ਨਾ ਪà©à©±à¨›à©‹à¥¤" + +#: configure_Dialog.cpp:918 +msgid "KPowersave starts automatically on login" +msgstr "ਕੇ-ਪਾਵਰਸੇਵ ਲਾਗਇਨ ਸਮੇਂ ਆਟੋਮੈਟਿਕ ਹੀ ਚਾਲੂ ਹੋ ਜਾਵੇਗਾ।" + +#: configure_Dialog.cpp:919 +msgid "General Blacklists" +msgstr "ਆਮ ਬਲੈਕਲਿਸਟ" + +#: configure_Dialog.cpp:920 +msgid "Edit Autosuspend Blacklist..." +msgstr "ਆਟੋ-ਸਸਪੈਂਡ ਬਲੈਕਲਿਸਟ ਸੋਧ..." + +#: configure_Dialog.cpp:921 +msgid "Edit Autodimm Blacklist..." +msgstr "ਆਟੋ-ਡਿਮ ਬਲੈਕ-ਲਿਸਟ ਸੋਧ..." + +#: configure_Dialog.cpp:923 +msgid "General Settings" +msgstr "ਆਮ ਸੈਟਿੰਗ" diff --git a/po/pl.po b/po/pl.po new file mode 100644 index 0000000..9ab4c3c --- /dev/null +++ b/po/pl.po @@ -0,0 +1,1614 @@ +# translation of pl.po to +# translation of pl.po to +# This file is distributed under the same license as the PACKAGE package. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER. +# Wojciech Kapusta , 2006. +# +msgid "" +msgstr "" +"Project-Id-Version: pl\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2007-08-10 03:16+0200\n" +"PO-Revision-Date: 2007-08-17 21:49+0100\n" +"Last-Translator: wadim dziedzic \n" +"Language-Team: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: KBabel 1.9.1\n" + +#: detailed_Dialog.cpp:228 +msgid "kpowersave" +msgstr "kpowersave" + +#: detailed_Dialog.cpp:229 +msgid "General Information" +msgstr "Informacje ogólne" + +#: detailed_Dialog.cpp:232 +msgid "Battery Status" +msgstr "Status akumulatora" + +#: detailed_Dialog.cpp:233 +msgid "AC Adapter" +msgstr "Zasilacz sieciowy" + +#: detailed_Dialog.cpp:234 detaileddialog.cpp:391 +msgid "plugged in" +msgstr "podÅ‚Ä…czony" + +#: detailed_Dialog.cpp:235 +msgid "Power Consumtion: " +msgstr "Zużycie energii:" + +#: detailed_Dialog.cpp:237 +msgid "Processor Status" +msgstr "Status procesora" + +#: detailed_Dialog.cpp:238 blacklistedit_Dialog.cpp:130 info_Dialog.cpp:198 +#: configure_Dialog.cpp:838 +msgid "OK" +msgstr "OK" + +#: blacklisteditdialog.cpp:60 +msgid "General Blacklist" +msgstr "Globalna lista wyjÄ…tków" + +#: blacklisteditdialog.cpp:63 +msgid "Scheme: " +msgstr "Schemat:" + +#: blacklisteditdialog.cpp:114 +msgid "Selected entry removed." +msgstr "UsuniÄ™to wybranÄ… pozycjÄ™." + +#: blacklisteditdialog.cpp:117 +msgid "Could not remove the selected entry." +msgstr "Nie można usunąć wybranej pozycji." + +#: blacklisteditdialog.cpp:137 +msgid "Inserted new entry." +msgstr "Dodano nowÄ… pozycjÄ™." + +#: blacklisteditdialog.cpp:141 +msgid "Entry exists already. Did not insert new entry." +msgstr "Pozycja już istnieje, nie wstawiono nowej pozycji." + +#: blacklisteditdialog.cpp:144 +msgid "Empty entry was not inserted." +msgstr "Pusta pozycja nie zostaÅ‚a wstawiona." + +#: inactivity.cpp:298 +msgid "" +"Could not start 'pidof'. Could not autosuspend the machine.\n" +"Please check your installation." +msgstr "" +"Nie można uruchomić 'pidof'. Nie można automatycznie uÅ›pić komputera. ProszÄ™ " +"sprawdzić ustawienia systemu zwiÄ…zane z usypianiem." + +#: blacklistedit_Dialog.cpp:129 +msgid "Autosuspend Blacklist Edit" +msgstr "Edytuj listÄ™ wyjÄ…tków automatycznego wstrzymania" + +#: blacklistedit_Dialog.cpp:132 configuredialog.cpp:1079 +#: configure_Dialog.cpp:836 +msgid "Cancel" +msgstr "Anuluj" + +#: blacklistedit_Dialog.cpp:135 +msgid "Add" +msgstr "Dodaj" + +#: blacklistedit_Dialog.cpp:136 +msgid "Remove" +msgstr "UsuÅ„" + +#: infodialog.cpp:76 infodialog.cpp:78 main.cpp:55 +msgid "KPowersave" +msgstr "KPowersave" + +#: configuredialog.cpp:116 configuredialog.cpp:121 configuredialog.cpp:721 +msgid " - not supported" +msgstr " - nie obsÅ‚ugiwane" + +#: configuredialog.cpp:150 configuredialog.cpp:317 detaileddialog.cpp:432 +#: kpowersave.cpp:192 settings.cpp:66 configure_Dialog.cpp:876 +msgid "Performance" +msgstr "Wydajność" + +#: configuredialog.cpp:154 configuredialog.cpp:319 detaileddialog.cpp:438 +#: kpowersave.cpp:194 settings.cpp:68 configure_Dialog.cpp:878 +msgid "Powersave" +msgstr "OszczÄ™dzanie" + +#: configuredialog.cpp:159 configuredialog.cpp:321 kpowersave.cpp:1478 +#: settings.cpp:70 +msgid "Presentation" +msgstr "Prezentacja" + +#: configuredialog.cpp:164 configuredialog.cpp:323 kpowersave.cpp:1473 +#: settings.cpp:72 +msgid "Acoustic" +msgstr "HaÅ‚as" + +#: configuredialog.cpp:169 configuredialog.cpp:171 configuredialog.cpp:172 +#: configuredialog.cpp:173 kpowersave.cpp:1484 +msgid "Advanced Powersave" +msgstr "Zaawansowane oszczÄ™dzanie" + +#: configuredialog.cpp:271 +msgid "" +"This enables specific screen saver settings. \n" +"Note: If selected, the global screen saver settings are \n" +"overwritten while kpowersave runs." +msgstr "" +"Opcja ta wÅ‚Ä…cza specyficzne ustawienia wygaszacza ekranu. \n" +"Uwaga: JeÅ›li zostanie zaznaczona, globalne ustawienia wygaszacza \n" +"bÄ™dÄ… nadpisywane w czasie dziaÅ‚ania KPowersave." + +#: configuredialog.cpp:274 +msgid "" +"This disables the screen saver. \n" +"Note: If selected, the global screen saver settings are \n" +"overwritten while kpowersave runs." +msgstr "" +"Opcja ta wyÅ‚Ä…cza wygaszacz ekranu.\n" +"Uwaga: JeÅ›li zostanie zaznaczona, globalne ustawienia wygaszacza \n" +"bÄ™dÄ… nadpisywane w czasie dziaÅ‚ania KPowersave." + +#: configuredialog.cpp:277 +msgid "" +"This blanks the screen instead of using a specific screen saver. \n" +"Note: This may work only with KScreensaver." +msgstr "" +"Opcja ta wyÅ‚Ä…cza używanie wygaszacza ekranu, ekran bÄ™dzie tylko wygaszany.\n" +"Uwaga: Ta opcja dziaÅ‚a tylko z KScreensaver." + +#: configuredialog.cpp:279 +msgid "" +"This enables specific DPMS settings. \n" +"Note: If selected, the global DPMS settings are \n" +"overwritten while kpowersave runs." +msgstr "" +"Opcja ta wÅ‚Ä…cza specyficzne ustawienia DPMS. \n" +"Uwaga: JeÅ›li zostanie zaznaczona, globalne ustawienia DPMS\n" +"bÄ™dÄ… nadpisywane w czasie dziaÅ‚ania KPowersave." + +#: configuredialog.cpp:282 +msgid "This disables DPMS support." +msgstr "Opcja ta wyÅ‚Ä…cza obsÅ‚ugÄ™ DPMS." + +#: configuredialog.cpp:283 +msgid "If selected, the screen is locked on suspend or standby." +msgstr "" +"JeÅ›li zostanie zaznaczona, ekran bÄ™dzie blokowany\n" +"po przeÅ‚Ä…czeniu w stan uÅ›pienia lub gotowoÅ›ci." + +#: configuredialog.cpp:284 +msgid "If selected, the screen is locked if the lid close event is triggered." +msgstr "" +"JeÅ›li zostanie zaznaczona, ekran bÄ™dzie blokowany po zamkniÄ™ciu pokrywy " +"ekranu." + +#: configuredialog.cpp:286 +msgid "" +"Check this box to enable or disable automatic suspension of the computer." +msgstr "" +"ProszÄ™ zaznaczyć, aby wÅ‚Ä…czyć lub wyÅ‚Ä…czyć automatyczne usypianie komputera." + +#: configuredialog.cpp:288 +msgid "" +"Activate this action if the user was inactive for the defined time \n" +"(greater than 0 minutes). If empty, nothing happens." +msgstr "" +"Wybrana czynność zostanie aktywowana, jeÅ›li użytkownik bÄ™dzie nieaktywny\n" +"przez okreÅ›lony czas, wiÄ™kszy niż 0 minut. JeÅ›li pole zostanie ustawione\n" +"na puste, żadna czynność nie zostanie wykonana." + +#: configuredialog.cpp:291 +msgid "All scheme-related screen saver and DPMS settings." +msgstr "Wszystkie ustawienia wygaszacza ekranu i DPMS dotyczÄ…ce schematów." + +#: configuredialog.cpp:292 +msgid "All scheme-related display brightness settings." +msgstr "Wszystkie ustawienia jasnoÅ›ci dotyczÄ…ce schematów." + +#: configuredialog.cpp:293 +msgid "All scheme-related automatic suspend settings." +msgstr "Wszystkie ustawienia automatycznego usypiania dotyczÄ…ce schematów." + +#: configuredialog.cpp:295 +msgid "" +"Here you can change the brightness of your display. \n" +"Use the slider to change the brightness directly for \n" +"testing. To reset back to previous level, please press \n" +"the 'Reset' button. " +msgstr "" +"Tutaj można zmienić jasność ekranu. \n" +"ProszÄ™ użyć suwaka, by zmienić bezpoÅ›rednio jasność w \n" +"celu testowania. Aby powrócić do poprzedniego \n" +"poziomu należy nacisnąć przycisk 'Przywróć'." + +#: configuredialog.cpp:299 +msgid "Use this button to set back the slider and the display brightness." +msgstr "" +"ProszÄ™ użyć tego przycisku, aby cofnąć ustawienie suwaka i poziom jasnoÅ›ci " +"ekranu." + +#: configuredialog.cpp:352 +msgid "Press this button to delete the selected scheme." +msgstr "ProszÄ™ nacisnąć ten przycisk aby usunąć wybrany schemat." + +#: configuredialog.cpp:357 +msgid "You can't delete the current AC or battery scheme." +msgstr "Nie można usunąć bieżącego schematu sieci lub akumulatora." + +#: configuredialog.cpp:363 +msgid "You can't delete this default scheme." +msgstr "Nie można usunąć tego domyÅ›lnego schematu." + +#: configuredialog.cpp:546 +msgid "" +"Your hardware supports to change the brightness. The values of the slider " +"are in percent and mapped to the available brightness levels of your " +"hardware." +msgstr "" +"PaÅ„stwa urzÄ…dzenia obsÅ‚ugujÄ… zmianÄ™ jasnoÅ›ci ekranu. WartoÅ›ci na suwaku sÄ… " +"wyrażone w procentach i okreÅ›lane przez poziomy udostÄ™pniane przez sprzÄ™t." + +#: configuredialog.cpp:553 +msgid "" +"Your Hardware currently not support changing the brightness of your display." +msgstr "PaÅ„stwa urzÄ…dzenia aktualnie nie obsÅ‚ugujÄ… zmiany jasnoÅ›ci ekranu." + +#: configuredialog.cpp:664 +msgid "Select Automatically" +msgstr "Wybierz automatycznie" + +#: configuredialog.cpp:665 +msgid "KScreensaver" +msgstr "KScreensaver" + +#: configuredialog.cpp:666 +msgid "XScreensaver" +msgstr "XScreensaver" + +#: configuredialog.cpp:667 +msgid "xlock" +msgstr "xlock" + +#: configuredialog.cpp:668 +msgid "GNOME Screensaver" +msgstr "GNOME Screensaver" + +#: configuredialog.cpp:930 +msgid "" +"There are unsaved changes in the active scheme.\n" +"Apply the changes before jumping to the next scheme or discard the changes?" +msgstr "" +"W aktywnym schemacie sÄ… niezapisane zmiany.\n" +"Zastosować je przez przejÅ›ciem do nastÄ™pnego schematu?" + +#: configuredialog.cpp:933 configuredialog.cpp:983 +msgid "Unsaved Changes" +msgstr "Niezapisane zmiany" + +#: configuredialog.cpp:981 +msgid "" +"There are unsaved changes.\n" +"Apply the changes before cancel or discard the changes?" +msgstr "" +"Wykryto niezapisane zmiany.\n" +"Zastosować je przed anulowaniem?" + +#: configuredialog.cpp:1032 +msgid "Please insert a name for the new scheme:" +msgstr "Nazwa nowego schematu:" + +#: configuredialog.cpp:1038 +msgid "KPowersave Configuration" +msgstr "Konfiguracja KPowersave" + +#: configuredialog.cpp:1046 +msgid "Error: A scheme with this name already exist.\n" +msgstr "BÅ‚Ä…d: schemat o tej nazwie już istnieje.\n" + +#: configuredialog.cpp:1076 +msgid "Do you really want to delete the %1 scheme?" +msgstr "Czy na prawdÄ™ usunąć schemat %1?" + +#: configuredialog.cpp:1078 +msgid "Confirm delete scheme" +msgstr "Potwierdzenie usuniÄ™cia" + +#: configuredialog.cpp:1079 configure_Dialog.cpp:883 +msgid "Delete" +msgstr "UsuÅ„" + +#: configuredialog.cpp:1095 +msgid "Could not delete the selected scheme." +msgstr "Nie można usunąć wybranego schematu." + +#: configuredialog.cpp:1324 +msgid "" +"Note: If you select this option, the computer will suspend or standby " +"if the current user is inactive for the defined time even if somebody is " +"logged in remotely to the X server.

    This feature can also produce " +"problems with some programs, such as video players or cd burner. These " +"programs can be blacklisted by checking Enable scheme-specific blacklist and click Edit Blacklist.... If this does not help, report the " +"problem or deactivate autosuspend.

    Really use this option?" +msgstr "" +"Uwaga: Po wybraniu tej opcji komputer będzie przechodził w stan " +"uśpienia lub gotowości, jeśli aktualny użytkownik nie będzie aktywny przez " +"określony czas, nawet jeśli ktoś zalogował się zdalnie.

    Opcja ta " +"może także powodować problemy podczas pracy niektórymi programami, np. " +"odtwarzaczami filmów czy nagrywarkami CD. Programy te można umieścić na " +"liście wyjątków zaznaczając Włącz specyficzną dla schematu listę " +"wyjątków i naciskając Edytuj listę wyjątków.... Jeśli to nie " +"pomoże, należy zgłosić zaistniały problem albo wyłączyć automatyczne " +"usypianie.

    Czy na pewno użyć tej opcji?" + +#: configuredialog.cpp:1402 configuredialog.cpp:1532 +msgid "" +"The blacklist of the selected scheme is empty. Import the general blacklist?" +msgstr "" +"Lista wyjÄ…tków wybranego schematu jest pusta. Zaimportować globalnÄ… listÄ™ " +"wyjÄ…tków?" + +#: configuredialog.cpp:1404 configuredialog.cpp:1534 +msgid "Import" +msgstr "Importuj" + +#: configuredialog.cpp:1404 configuredialog.cpp:1534 +msgid "Do Not Import" +msgstr "Nie importuj" + +#: configuredialog.cpp:1416 +msgid "General Autosuspend Blacklist" +msgstr "Lista wyjÄ…tków automatycznego wstrzymania" + +#: configuredialog.cpp:1546 +msgid "General Autodimm Blacklist" +msgstr "Lista wyjÄ…tków automatycznego przyciemniania" + +#: configuredialog.cpp:1779 configuredialog.cpp:1816 +msgid "Shutdown" +msgstr "WyÅ‚Ä…cz" + +#: configuredialog.cpp:1781 configuredialog.cpp:1819 +msgid "Logout Dialog" +msgstr "Okno wylogowania" + +#: configuredialog.cpp:1784 configuredialog.cpp:1822 kpowersave.cpp:182 +#: kpowersave.cpp:2096 kpowersave.cpp:2156 kpowersave.cpp:2247 +msgid "Suspend to Disk" +msgstr "Hibernuj" + +#: configuredialog.cpp:1787 configuredialog.cpp:1825 kpowersave.cpp:186 +#: kpowersave.cpp:2101 kpowersave.cpp:2161 kpowersave.cpp:2250 +msgid "Suspend to RAM" +msgstr "Wstrzymaj" + +#: configuredialog.cpp:1790 configuredialog.cpp:1828 +msgid "CPU Powersave policy" +msgstr "Zasady oszczÄ™dzania energii CPU" + +#: configuredialog.cpp:1793 configuredialog.cpp:1831 +msgid "CPU Dynamic policy" +msgstr "Zasady skalowania procesora" + +#: configuredialog.cpp:1796 configuredialog.cpp:1834 +msgid "CPU Performance policy" +msgstr "Wydajność procesora" + +#: configuredialog.cpp:1799 configuredialog.cpp:1837 +msgid "Set Brightness to" +msgstr "Ustaw jasność na" + +#: main.cpp:43 +msgid "KDE Frontend for Power Management, Battery Monitoring and Suspend" +msgstr "" +"NakÅ‚adka dla KDE obsÅ‚ugujÄ…ca wstrzymywanie, monitor akumulatora oraz " +"zarzÄ…dzanie energiÄ…." + +#: main.cpp:45 +msgid "Force a new check for ACPI support" +msgstr "WymuÅ› nowe sprawdzenie obsÅ‚ugi ACPI" + +#: main.cpp:46 +msgid "Trace function entry and leave points for debug\n" +msgstr "Åšledzenie punktów wejÅ›cia i wyjÅ›cia funkcji do debugowania\n" + +#: main.cpp:59 +msgid "Current maintainer" +msgstr "Aktualny opiekun" + +#: main.cpp:62 +msgid "Powersave developer and for D-Bus integration" +msgstr "Programista Powersave, integracja z D-BUS" + +#: main.cpp:64 +msgid "Powersave developer and tester" +msgstr "Programista Powersave i tester" + +#: main.cpp:66 +msgid "Added basic detailed dialog" +msgstr "DodaÅ‚ proste okno z detalami" + +#: main.cpp:67 +msgid "Packaging Debian and Ubuntu" +msgstr "Przygotowuje pakiety dla Debiana i Ubuntu" + +#: detaileddialog.cpp:61 +msgid "KPowersave Information Dialog" +msgstr "Informacje o KPowersave" + +#: detaileddialog.cpp:65 configure_Dialog.cpp:882 configure_Dialog.cpp:922 +msgid "Miscellaneous" +msgstr "Różne" + +#: detaileddialog.cpp:66 +msgid "CPUs" +msgstr "Procesory" + +#: detaileddialog.cpp:73 detaileddialog.cpp:453 +msgid "Battery state:" +msgstr "Stan akumulatora:" + +#: detaileddialog.cpp:79 +msgid "Total:" +msgstr "ÅÄ…cznie:" + +#: detaileddialog.cpp:81 detaileddialog.cpp:83 +msgid "Battery %1" +msgstr "Akumulator: %1" + +#: detaileddialog.cpp:114 +msgid "Processor %1" +msgstr "Procesor %1" + +#: detaileddialog.cpp:230 +msgid "not present" +msgstr "brak" + +#: detaileddialog.cpp:243 +msgid "charged" +msgstr "naÅ‚adowany" + +#: detaileddialog.cpp:245 +msgid "%1:%2 h until charged" +msgstr "%1:%2 do naÅ‚adowania" + +#: detaileddialog.cpp:248 +msgid "%1:%2 h remaining" +msgstr "PozostaÅ‚o %1:%2" + +#: detaileddialog.cpp:253 detaileddialog.cpp:441 detaileddialog.cpp:468 +msgid "unknown" +msgstr "nieznany" + +#: detaileddialog.cpp:325 detaileddialog.cpp:368 +msgid "%v MHz" +msgstr "%v MHz" + +#: detaileddialog.cpp:330 detaileddialog.cpp:363 dummy.cpp:58 +msgid "deactivated" +msgstr "wyÅ‚Ä…czone" + +#: detaileddialog.cpp:395 +msgid "unplugged" +msgstr "odÅ‚Ä…czony" + +#: detaileddialog.cpp:412 +msgid "Current Scheme: " +msgstr "Aktualny schemat: " + +#: detaileddialog.cpp:429 +msgid "Current CPU Frequency Policy:" +msgstr "Aktualna polityka prÄ™dkoÅ›ci procesora:" + +#: detaileddialog.cpp:435 kpowersave.cpp:193 configure_Dialog.cpp:877 +msgid "Dynamic" +msgstr "Dynamicznie" + +#: detaileddialog.cpp:456 +msgid "Critical" +msgstr "Krytyczny" + +#: detaileddialog.cpp:459 +msgid "Low" +msgstr "Niski" + +#: detaileddialog.cpp:462 kpowersave.cpp:277 kpowersave.cpp:652 +#: kpowersave.cpp:659 kpowersave.cpp:705 kpowersave.cpp:713 kpowersave.cpp:761 +#: kpowersave.cpp:769 kpowersave.cpp:817 kpowersave.cpp:824 +#: kpowersave.cpp:1131 kpowersave.cpp:1243 kpowersave.cpp:1272 +#: kpowersave.cpp:1610 kpowersave.cpp:1670 kpowersave.cpp:2186 +msgid "Warning" +msgstr "Ostrzeżenie" + +#: detaileddialog.cpp:465 +msgid "ok" +msgstr "OK" + +#: detaileddialog.cpp:474 detaileddialog.cpp:477 +msgid "Set brightness supported:" +msgstr "DostÄ™pne ustawianie jasnoÅ›ci:" + +#: detaileddialog.cpp:475 +msgid "yes" +msgstr "tak" + +#: detaileddialog.cpp:478 +msgid "no" +msgstr "nie" + +#: detaileddialog.cpp:481 detaileddialog.cpp:485 +msgid "HAL Daemon:" +msgstr "Demon HAL:" + +#: detaileddialog.cpp:482 +msgid "running" +msgstr "wÅ‚Ä…czony" + +#: detaileddialog.cpp:486 +msgid "not running" +msgstr "wyÅ‚Ä…czony" + +#: info_Dialog.cpp:197 +msgid "Information" +msgstr "Informacja" + +#: dummy.cpp:36 +msgid "If the current desktop user is inactive, dim the display to:" +msgstr "JeÅ›li bieżący użytkownik jest nieaktywny, przyciemnij ekran do:" + +#: dummy.cpp:37 +msgid "Enable dim display on inactivity" +msgstr "WÅ‚Ä…cz przyciemnianie ekranu w razie nieaktywnoÅ›ci" + +#: dummy.cpp:38 +msgid "Blacklist" +msgstr "Lista wyjÄ…tków" + +#: dummy.cpp:39 +msgid "" +"Here you can add programs which should, if running, prevent the dimming of " +"the display." +msgstr "" +"W tym miejscu można zdefiniować programy, których uruchomienie blokuje " +"przyciemnianie ekranu." + +#: dummy.cpp:41 +msgid "Would you like to import a predefined blacklist?" +msgstr "Czy zaimportować predefiniowane listy wyjÄ…tków?" + +#: dummy.cpp:42 +msgid "Disable CPUs/Cores" +msgstr "WyÅ‚Ä…cz procesory/rdzenie" + +#: dummy.cpp:43 +msgid "Max. running CPUs:" +msgstr "Maksymalna liczba dziaÅ‚ajÄ…cych procesorów:" + +#: dummy.cpp:44 +msgid "Max. running CPUs/Cores:" +msgstr "Maks. liczba dziaÅ‚ajÄ…cych procesorów/rdzeni:" + +#: dummy.cpp:45 +msgid "Min. running CPUs:" +msgstr "Minimalna liczba dziaÅ‚ajÄ…cych procesorów:" + +#: dummy.cpp:46 +msgid "Min. running CPUs/Cores:" +msgstr "Minimalna liczba dziaÅ‚ajÄ…cych procesorów/rdzeni:" + +#: dummy.cpp:47 +msgid "Enable to switch off CPUs/cores" +msgstr "Aktywuj wyÅ‚Ä…czanie procesorów/rdzeni" + +#: dummy.cpp:48 +msgid "You have a multiprocessor/multicore machine." +msgstr "Ten komputer jest wieloprocesorowy/wielordzeniowy." + +#: dummy.cpp:49 +msgid "" +"You can disable CPUs/cores to reduce power consumption and save battery " +"power." +msgstr "Można wyÅ‚Ä…czyć procesory / rdzenie w celu zmiejszenia poboru energii." + +#: dummy.cpp:50 +msgid "Device" +msgstr "UrzÄ…dzenie" + +#: dummy.cpp:51 +msgid "Devices" +msgstr "UrzÄ…dzenia" + +#: dummy.cpp:52 +msgid "Device class" +msgstr "Klasa urzÄ…dzenia" + +#: dummy.cpp:53 +msgid "activate" +msgstr "wÅ‚Ä…cz" + +#: dummy.cpp:54 +msgid "Activate" +msgstr "WÅ‚Ä…cz" + +#: dummy.cpp:55 +msgid "deactivate" +msgstr "wyÅ‚Ä…cz" + +#: dummy.cpp:56 +msgid "Deactivate" +msgstr "WyÅ‚Ä…cz" + +#: dummy.cpp:57 +msgid "activated" +msgstr "wÅ‚Ä…czone" + +#: dummy.cpp:59 +msgid "do nothing" +msgstr "nie rób nic" + +#: dummy.cpp:60 +msgid "Deactivate following devices:" +msgstr "WyÅ‚Ä…cz nastÄ™pujÄ…ce urzÄ…dzenia:" + +#: dummy.cpp:61 +msgid "Activate following devices" +msgstr "WÅ‚Ä…cz nastÄ™pujÄ…ce urzÄ…dzenia" + +#: dummy.cpp:62 +msgid "Reactivate following devices" +msgstr "WÅ‚Ä…cz ponownie nastÄ™pujÄ…ce urzÄ…dzenia" + +#: dummy.cpp:63 +msgid "Deactivate following device classes:" +msgstr "WyÅ‚Ä…cz nastÄ™pujÄ…ce klasy urzÄ…dzenia:" + +#: dummy.cpp:64 +msgid "Activate following devices classes" +msgstr "WÅ‚Ä…cz nastÄ™pujÄ…ce klasy urzÄ…dzeÅ„:" + +#: dummy.cpp:65 +msgid "Reactivate following device classes" +msgstr "WÅ‚Ä…cz ponownie nastÄ™pujÄ…ce klasy urzÄ…dzenia" + +#: dummy.cpp:66 +msgid "If the scheme switched all devices are again activated." +msgstr "JeÅ›li zmieni siÄ™ schemat, wszystkie urzÄ…dzenia aktywowane sÄ… ponownie." + +#: dummy.cpp:67 +msgid "This is a experimental feature." +msgstr "To jest funkcja eksperymentalna." + +#: dummy.cpp:68 +msgid "If you have problems with this feature, please report them." +msgstr "W razie problemów prosimy o ich zgÅ‚oszenie." + +#: dummy.cpp:69 +msgid "Select one of the available devices and click on " +msgstr "ProszÄ™ wybrać jedno z dostÄ™pnych urzÄ…dzeÅ„" + +#: dummy.cpp:70 +msgid "Select one of the available device classes and click on " +msgstr "ProszÄ™ wybrać jednÄ… z dostÄ™pnych klas urzÄ…dzeÅ„" + +#: dummy.cpp:71 +msgid "Select one or more of the available devices and click on " +msgstr "ProszÄ™ wybrać co najmniej jedno z dostÄ™pnych urzÄ…dzeÅ„" + +#: dummy.cpp:72 +msgid "Select one or more of the available device classes and click on " +msgstr "ProszÄ™ wybrać co najmniej jednÄ… z dostÄ™pnych klas urzÄ…dzeÅ„" + +#: dummy.cpp:73 +msgid "" +"Please note: If you e.g. deactivate a network device you may lose your " +"internet connection." +msgstr "" +"ProszÄ™ pamiÄ™tać, że jeÅ›li wyÅ‚Ä…czy siÄ™ np. urzÄ…dzenie sieciowe, straci siÄ™ " +"poÅ‚Ä…czenie z Internetem." + +#: dummy.cpp:75 +msgid "" +"Note: If you select this option, the computer will suspend or standby " +"if the current user is inactive for the defined time.

    This feature " +"can also produce problems with some programs, such as video players or cd " +"burner. These programs can be blacklisted by checking Enable scheme-" +"specific blacklist and click Edit Blacklist.... If this does not " +"help, report the problem or deactivate autosuspend.

    Really use this " +"option?" +msgstr "" +"Uwaga: Po wybraniu tej opcji komputer będzie przechodził w stan " +"uśpienia lub gotowości, jeśli aktualny użytkownik nie będzie aktywny przez " +"określony czas.

    Opcja ta może także powodować problemy podczas pracy " +"niektórymi programami, np. odtwarzaczami filmów czy nagrywarkami CD. " +"Programy te można umieścić na liście wyjątków zaznaczając Włącz " +"specyficzną dla schematu listę wyjątków i naciskając Edytuj listę " +"wyjątków.... Jeśli to nie pomoże, należy zgłosić zaistniały problem albo " +"wyłączyć automatyczne usypianie.

    Czy na pewno użyć tej opcji?" + +#: dummy.cpp:82 +msgid "Try to use only one CPU/Core." +msgstr "Użyj tylko jednego procesora/rdzenia." + +#: dummy.cpp:83 +msgid "" +"Reduce power consumption by try to use only one CPU/Core instead of " +"spreading the work over all/multiple CPUs." +msgstr "" +"Ograniczenie zużycia energii przez użycie tylko jednego procesesora/rdzenia " +"zamiast rozkÅ‚adania zadaÅ„ na wiele procesorów." + +#: dummy.cpp:87 +msgid "Could not load the global configuration." +msgstr "Nie można odczytać konfiguracji globalnej." + +#: dummy.cpp:88 +msgid "Could not load the requested scheme configuration." +msgstr "Nie można odczytać żądanego schematu konfiguracji." + +#: dummy.cpp:89 +msgid "Configure the current scheme." +msgstr "Konfiguruj aktualny schemat." + +#: dummy.cpp:90 +msgid "Try loading the default configuration." +msgstr "Spróbuj odczytać domyÅ›lnÄ… konfiguracjÄ™." + +#: dummy.cpp:91 +msgid "Maybe the global configuration file is empty or missing." +msgstr "Plik globalnej konfiguracji jest pusty albo nie istnieje." + +#: dummy.cpp:94 +msgid "Cannot connect to D-Bus. The D-Bus daemon may not be running." +msgstr "Nie można poÅ‚Ä…czyć siÄ™ z D-BUS. Demon D-BUS może nie być uruchomiony." + +#: dummy.cpp:95 +msgid "" +"Scheme switched to %1. \n" +" Deactivate following devices: %2" +msgstr "" +"PrzeÅ‚Ä…czono schemat na %1. \n" +"WyÅ‚Ä…czone zostanÄ… nastÄ™pujÄ…ce urzÄ…dzenia: %2" + +#: dummy.cpp:96 +msgid "" +"Scheme switched to %1. \n" +" Activate following devices: %2" +msgstr "" +"PrzeÅ‚Ä…czono schemat na %1. \n" +"WÅ‚Ä…czone zostanÄ… nastÄ™pujÄ…ce urzÄ…dzenia: %2" + +#: dummy.cpp:97 +msgid "Report ..." +msgstr "Raport..." + +#: dummy.cpp:98 +msgid "Suspend to RAM is not supported on your machine." +msgstr "PrzejÅ›cie w stan wstrzymania nie jest możliwe na tym komputerze." + +#: dummy.cpp:99 +msgid "Additionally, please mail the output of %1 to %2 . Thanks!" +msgstr "Prosimy wysÅ‚ać wyniki %1 do %2. DziÄ™kujemy." + +#: dummy.cpp:100 +msgid "Power consumption" +msgstr "Zużycie energii" + +#: dummy.cpp:103 +msgid "KScreensaver not found." +msgstr "Nie znaleziono KScreensaver." + +#: dummy.cpp:104 +msgid "Try locking with XScreensaver or xlock." +msgstr "ProszÄ™ zablokować używajÄ…c XScreensaver albo xlock." + +#: dummy.cpp:105 +msgid "XScreensaver not found." +msgstr "Nie znaleziono XScreensaver." + +#: dummy.cpp:106 +msgid "Try locking the screen with xlock." +msgstr "ProszÄ™ zablokować używajÄ…c xlock." + +#: dummy.cpp:107 +msgid "" +"XScreensaver and xlock not found. It is not possible to lock the screen. " +"Check your installation." +msgstr "" +"Nie znaleziono XScreensaver i xlock. Nie można zablokować ekranu. ProszÄ™ " +"sprawdzić instalacjÄ™." + +#: dummy.cpp:111 +msgid "HAL daemon:" +msgstr "Demon HAL:" + +#: dummy.cpp:112 +msgid "D-Bus daemon:" +msgstr "Demon D-BUS:" + +#: dummy.cpp:113 +msgid "ConsoleKit daemon:" +msgstr "Demon ConsoleKit:" + +#: dummy.cpp:114 +msgid "Autosuspend activated:" +msgstr "Automatyczne wstrzymywanie wÅ‚Ä…czone:" + +#: dummy.cpp:115 +msgid "Autodimm activated:" +msgstr "Automatyczne przyciemnianie wÅ‚Ä…czone:" + +#: dummy.cpp:116 +msgid "enabled" +msgstr "wÅ‚Ä…czone" + +#: dummy.cpp:117 +msgid "Session active:" +msgstr "Sesja aktywna:" + +#: dummy.cpp:120 +msgid "Inactivity detected." +msgstr "Wykryto brak aktywnoÅ›ci." + +#: dummy.cpp:121 +msgid "To stop the %1 press the 'Cancel' button before the countdown expire." +msgstr "" +"Aby zatrzymać %1 należy nacisnąć przycisk Anuluj przed koÅ„cem odliczania." + +#: dummy.cpp:122 +msgid "The computer autosuspend in: " +msgstr "Komputer zostaÅ‚ automatycznie wstrzymany w:" + +#: dummy.cpp:123 +#, c-format +msgid "The display get dimmed down to %1% in: " +msgstr "Przyciemniono wyÅ›wietlacz do %1% w:" + +#: dummy.cpp:124 +msgid "%1 seconds" +msgstr "%1 sekund" + +#: dummy.cpp:127 +msgid "Could not call %1. The current desktop session is not active." +msgstr "Nie można wywoÅ‚ać %1. Bieżąca sesja jest nieaktywna." + +#: dummy.cpp:128 +msgid "Could not set %1. The current desktop session is not active." +msgstr "Nie można ustawić %1. Bieżąca sesja jest nieaktywna." + +#: dummy.cpp:129 +msgid "Stopped %1. The current desktop session is now inactive." +msgstr "Zatrzymano %1. Bieżąca sesja jest teraz aktywna." + +#: dummy.cpp:130 +msgid "Restarted %1. The current desktop session is now active again." +msgstr "Uruchomiono ponownie %1. Bieżąca sesja jest teraz aktywna." + +#: log_viewer.cpp:78 +msgid "Form1" +msgstr "Form1" + +#: log_viewer.cpp:79 +msgid "Save As ..." +msgstr "Zapisz jako..." + +#: log_viewer.cpp:80 +msgid "Close" +msgstr "Zamknij" + +#: logviewer.cpp:44 +msgid "KPowersave Logfile Viewer: %1" +msgstr "PodglÄ…d dzienników KPowersave: %1" + +#: logviewer.cpp:89 +msgid "File already exist. Overwrite the file?" +msgstr "Plik już istnieje. Nadpisać go?" + +#: logviewer.cpp:90 logviewer.cpp:97 +msgid "Error while save logfile" +msgstr "BÅ‚Ä…d podczas zapisu pliku dziennika" + +#: logviewer.cpp:95 +msgid "File already exist." +msgstr "Plik już istnieje" + +#: logviewer.cpp:98 +msgid "Try other filename ..." +msgstr "ProszÄ™ wybrać innÄ… nazwÄ™..." + +#: suspenddialog.cpp:70 +msgid "Preparing Suspend..." +msgstr "Przygotowywanie wstrzymania..." + +#: kpowersave.cpp:168 +msgid "Configure KPowersave..." +msgstr "Konfiguracja KPowersave..." + +#: kpowersave.cpp:171 configure_Dialog.cpp:915 +msgid "Configure Notifications..." +msgstr "Konfiguruj powiadomienia..." + +#: kpowersave.cpp:175 +msgid "Start YaST2 Power Management Module..." +msgstr "Uruchom moduÅ‚ zarzÄ…dzania energiÄ… YaST2..." + +#: kpowersave.cpp:189 kpowersave.cpp:2106 kpowersave.cpp:2166 +#: kpowersave.cpp:2253 +msgid "Standby" +msgstr "Stan gotowoÅ›ci" + +#: kpowersave.cpp:191 kpowersave.cpp:198 +msgid "Set CPU Frequency Policy" +msgstr "Ustaw skalowanie czÄ™stotliwoÅ›ci procesora" + +#: kpowersave.cpp:205 kpowersave.cpp:206 +msgid "Set Active Scheme" +msgstr "Ustaw aktywny schemat" + +#: kpowersave.cpp:212 +msgid "Disable Actions on Inactivity" +msgstr "WyÅ‚Ä…cz akcje, gdy nieaktywny" + +#: kpowersave.cpp:219 kpowersave.cpp:229 +msgid "&Help" +msgstr "&Pomoc" + +#: kpowersave.cpp:221 +msgid "&KPowersave Handbook" +msgstr "PodrÄ™cznik &KPowersave" + +#: kpowersave.cpp:224 +msgid "&Report a bug ..." +msgstr "&ZgÅ‚oÅ› bÅ‚Ä…d..." + +#: kpowersave.cpp:226 +msgid "&About KPowersave" +msgstr "&O programie KPowersave" + +#: kpowersave.cpp:275 kpowersave.cpp:648 kpowersave.cpp:656 kpowersave.cpp:703 +#: kpowersave.cpp:710 kpowersave.cpp:759 kpowersave.cpp:766 kpowersave.cpp:815 +#: kpowersave.cpp:822 kpowersave.cpp:1126 kpowersave.cpp:1241 +#: kpowersave.cpp:1270 kpowersave.cpp:2183 +msgid "WARNING" +msgstr "OSTRZEÅ»ENIE" + +#: kpowersave.cpp:275 +msgid "Cannot find any schemes." +msgstr "Nie można znaleźć żadnego schematu" + +#: kpowersave.cpp:453 +msgid "No information about battery and AC status available" +msgstr "Brak informacji o akumulatorach i zasilaczu" + +#: kpowersave.cpp:456 +msgid "Plugged in -- fully charged" +msgstr "Zasilany z sieci - naÅ‚adowany" + +#: kpowersave.cpp:460 +msgid "Plugged in" +msgstr "Zasilany z sieci" + +#: kpowersave.cpp:464 +msgid "Plugged in -- %1% charged (%2:%3 h until full charged)" +msgstr "Zasilany z sieci - naÅ‚adowany w %1% (%2:%3 do peÅ‚nego naÅ‚adowania)" + +#: kpowersave.cpp:467 +msgid "Plugged in -- %1% charged (%2:%3 remaining hours)" +msgstr "Zasilany z sieci - naÅ‚adowany w %1% (pozostaÅ‚o %2:%3 minut)" + +#: kpowersave.cpp:471 kpowersave.cpp:475 +#, c-format +msgid "Plugged in -- %1% charged" +msgstr "Zasilany z sieci - naÅ‚adowany w %1%" + +#: kpowersave.cpp:474 +msgid "Plugged in -- no battery" +msgstr "Zasilany z sieci - brak akumulatora" + +#: kpowersave.cpp:480 +msgid "Running on batteries -- %1% charged (%2:%3 hours remaining)" +msgstr "Zasilany z akumulatora - naÅ‚adowany w %1% (pozostaÅ‚o %2:%3 minut)" + +#: kpowersave.cpp:484 +#, c-format +msgid "Running on batteries -- %1% charged" +msgstr "Zasilany z akumulatora - naÅ‚adowany w %1%" + +#: kpowersave.cpp:491 +msgid " -- battery is charging" +msgstr " - akumulator jest Å‚adowany" + +#: kpowersave.cpp:649 kpowersave.cpp:657 +msgid "Could not start YaST Power Management Module. Check if it is installed." +msgstr "" +"Nie można uruchomić moduÅ‚u zarzÄ…dzania energiÄ… YaST. ProszÄ™ sprawdzić, czy " +"jest on zainstalowany." + +#: kpowersave.cpp:703 +msgid "Suspend to disk failed" +msgstr "Hibernacja zakoÅ„czona niepowodzeniem" + +#: kpowersave.cpp:711 +msgid "Suspend to disk disabled by administrator." +msgstr "Hibernacja wyÅ‚Ä…czona przez administratora." + +#: kpowersave.cpp:759 +msgid "Suspend to RAM failed" +msgstr "Próba wstrzymania zakoÅ„czona niepowodzeniem" + +#: kpowersave.cpp:767 +msgid "Suspend to RAM disabled by administrator." +msgstr "Wstrzymywanie komputera wyÅ‚Ä…czone przez administratora." + +#: kpowersave.cpp:815 +msgid "Standby failed" +msgstr "PrzejÅ›cie w stan gotowoÅ›ci zakoÅ„czone niepowodzeniem" + +#: kpowersave.cpp:822 +msgid "Standby disabled by administrator." +msgstr "Przechodzenie w stan gotowoÅ›ci wyÅ‚Ä…czone przez administratora." + +#: kpowersave.cpp:853 +msgid "System is going into suspend mode now" +msgstr "System przechodzi w stan wstrzymania" + +#: kpowersave.cpp:1039 +msgid "Could not call DCOP interface to umount external media." +msgstr "" +"Nie można wywoÅ‚ać interfejsu SCOP w celu odmontowania noÅ›nika zewnÄ™trznego." + +#: kpowersave.cpp:1044 +msgid "" +"Could not umount external media before suspend/standby. \n" +" (Reason: %1)\n" +" \n" +" Would you like to continue suspend/standby anyway? \n" +"(Warning: Continue suspend can cause data loss!)" +msgstr "" +"Nie można odmontować noÅ›nika przed wstrzymaniem.\n" +"(Powód: %1)\n" +"\n" +"Czy wstrzymać/zahibernować mimo to?\n" +"(Uwaga: grozi to utratÄ… danych.)" + +#: kpowersave.cpp:1052 +msgid "Error while prepare %1" +msgstr "BÅ‚Ä…d podczas przygotowywania: %1" + +#: kpowersave.cpp:1053 +msgid "Suspend anyway" +msgstr "Wstrzymaj mimo wszystko" + +#: kpowersave.cpp:1053 +msgid "Cancel suspend" +msgstr "Anuluj wstrzymanie" + +#: kpowersave.cpp:1127 +msgid "" +"Could not lock the screen. There may be a problem with the selected \n" +"lock method or something else." +msgstr "" +"Nie można zablokować ekranu. PrzyczynÄ… może być problem z wybranym \n" +"sposobem blokowania blokowania ekranu." + +#: kpowersave.cpp:1144 +msgid "The Lid was closed." +msgstr "ZamkniÄ™to pokrywÄ™." + +#: kpowersave.cpp:1156 +msgid "The Lid was opened." +msgstr "Otwarto pokrywÄ™." + +#: kpowersave.cpp:1223 +msgid "Start KPowersave automatically when you log in?" +msgstr "Czy uruchamiać KPowersave automatycznie po zalogowaniu?" + +#: kpowersave.cpp:1224 +msgid "Question" +msgstr "Pytanie" + +#: kpowersave.cpp:1225 +msgid "Start Automatically" +msgstr "Uruchamiaj automatycznie" + +#: kpowersave.cpp:1225 +msgid "Do Not Start" +msgstr "Nie uruchamiaj" + +#: kpowersave.cpp:1242 +msgid "CPU Freq Policy %1 could not be set." +msgstr "Nie udaÅ‚o siÄ™ ustawić skalowania czÄ™stotliwoÅ›ci procesora %1." + +#: kpowersave.cpp:1271 +msgid "Scheme %1 could not be activated." +msgstr "Nie można aktywować schematu %1." + +#: kpowersave.cpp:1600 +msgid "" +"The D-Bus daemon is not running.\n" +"Starting it will provide full functionality: /etc/init.d/dbus start" +msgstr "" +"Demon DBUS nie jest uruchomiony. \n" +"Jego uruchomienie zwiÄ™kszy funkcjonalność: /etc/init.d/dbus start" + +#: kpowersave.cpp:1611 +msgid "Don't show this message again." +msgstr "Nie pokazuj tej wiadomoÅ›ci ponownie." + +#: kpowersave.cpp:1637 +msgid "ERROR" +msgstr "BÅÄ„D" + +#: kpowersave.cpp:1638 +msgid "Could not get information from HAL. The haldaemon is maybe not running." +msgstr "" +"Nie otrzymano informacji od HAL. Być może demon HAL nie jest uruchomiony." + +#: kpowersave.cpp:1641 +msgid "Error" +msgstr "BÅ‚Ä…d" + +#: kpowersave.cpp:1912 +msgid "" +"Battery state changed to WARNING -- remaining time: %1 hours and %2 minutes." +msgstr "" +"NaÅ‚adowanie akumulatora spadÅ‚o do poziomu OSTRZEÅ»ENIA - pozostaÅ‚y czas: %1:%" +"2." + +#: kpowersave.cpp:1921 +msgid "" +"Battery state changed to LOW -- remaining time: %1 hours and %2 minutes." +msgstr "" +"NaÅ‚adowanie akumulatora spadÅ‚o do poziomu NISKIEGO - pozostaÅ‚y czas: %1:%2." + +#: kpowersave.cpp:1932 +msgid "" +"Battery state changed to CRITICAL -- remaining time: %1 hours and %2 " +"minutes.\n" +"Shut down your system or plug in the power cable immediately. Otherwise the " +"machine\n" +"will go shutdown in 30 seconds" +msgstr "" +"NaÅ‚adowanie akumulatora spadÅ‚o do poziomu KRYTYCZNEGO - pozostaÅ‚y czas: %1:%" +"2.\n" +"ProszÄ™ wyÅ‚Ä…czyć system albo podÅ‚Ä…czyć zasilacz sieciowy. Komputer zostanie\n" +"wyÅ‚Ä…czony za 30 sekund" + +#: kpowersave.cpp:1943 +msgid "" +"Battery state changed to CRITICAL -- remaining time: %1 hours and %2 " +"minutes.\n" +"Shut down your system or plug in the power cable immediately." +msgstr "" +"NaÅ‚adowanie akumulatora spadÅ‚o do poziomu KRYTYCZNEGO - pozostaÅ‚y czas: %1:%" +"2.\n" +"ProszÄ™ wyÅ‚Ä…czyć system albo podÅ‚Ä…czyć zasilacz sieciowy." + +#: kpowersave.cpp:2041 +msgid "AC adapter plugged in" +msgstr "Zasilacz sieciowy podÅ‚Ä…czony" + +#: kpowersave.cpp:2043 +msgid "AC adapter unplugged" +msgstr "Zasilacz sieciowy odÅ‚Ä…czony" + +#: kpowersave.cpp:2078 +msgid "Switched to scheme: %1" +msgstr "PrzeÅ‚Ä…czono na schemat: %1" + +#: kpowersave.cpp:2095 kpowersave.cpp:2100 kpowersave.cpp:2105 +msgid "System is going into %1 now." +msgstr "System przechodzi w tryb %1." + +#: kpowersave.cpp:2155 kpowersave.cpp:2160 kpowersave.cpp:2165 +msgid "System is resumed from %1." +msgstr "System wznowiono z trybu %1" + +#: kpowersave.cpp:2184 +msgid "Could not remount (all) external storage media." +msgstr "Nie można zamontować ponownie zewnÄ™trznych noÅ›ników" + +#: kpowersave.cpp:2192 +msgid "An unknown error occurred while %1. The errorcode is: '%2'" +msgstr "Napotkano nieznany bÅ‚Ä…d poczas: %1. Kod bÅ‚Ä™du: %2" + +#: kpowersave.cpp:2197 +msgid "Do you want to have a look at the log file?" +msgstr "Czy wyÅ›wietlić plik dziennika?" + +#: kpowersave.cpp:2198 kpowersave.cpp:2224 +msgid "Error while %1" +msgstr "BÅ‚Ä…d podczas %1" + +#: configure_Dialog.cpp:831 +msgid "KPowersave Settings" +msgstr "Ustawienia KPowersave" + +#: configure_Dialog.cpp:832 +msgid "Apply" +msgstr "Zastosuj" + +#: configure_Dialog.cpp:834 +msgid "Help" +msgstr "Pomoc" + +#: configure_Dialog.cpp:840 +msgid "Enable specific display power management" +msgstr "WÅ‚Ä…cz specjalne zarzÄ…dzanie energiÄ… dla wyÅ›wietlacza" + +#: configure_Dialog.cpp:841 +msgid "Standby after:" +msgstr "Stan gotowoÅ›ci po:" + +#: configure_Dialog.cpp:842 +msgid "Only blank the screen" +msgstr "Tylko wygaÅ› ekran" + +#: configure_Dialog.cpp:843 +msgid "Disable screen saver" +msgstr "WyÅ‚Ä…cz wygaszacz ekranu" + +#: configure_Dialog.cpp:844 +msgid "Enable specific screensaver settings" +msgstr "WÅ‚Ä…cz specjalne ustawienia wygaszacza ekranu" + +#: configure_Dialog.cpp:845 +msgid "Suspend after:" +msgstr "Wstrzymaj po:" + +#: configure_Dialog.cpp:846 +msgid "Power off after:" +msgstr "WyÅ‚Ä…cz po:" + +#: configure_Dialog.cpp:847 +msgid "Disable display power management" +msgstr "WyÅ‚Ä…cz zarzÄ…dzanie energiÄ… wyÅ›wietlacza" + +#: configure_Dialog.cpp:848 configure_Dialog.cpp:849 configure_Dialog.cpp:850 +#: configure_Dialog.cpp:862 configure_Dialog.cpp:873 +msgid " min" +msgstr " min" + +#: configure_Dialog.cpp:851 +msgid "Screen Saver and DPMS" +msgstr "Wygaszacz ekranu i DPMS" + +#: configure_Dialog.cpp:852 +msgid "Settings" +msgstr "Ustawienia" + +#: configure_Dialog.cpp:853 +msgid "Reset" +msgstr "Przywróć" + +#: configure_Dialog.cpp:855 +msgid "Enable scheme specific Brightness settings" +msgstr "WÅ‚Ä…cz ustawienia jasnoÅ›ci ekranu danego schematu" + +#: configure_Dialog.cpp:858 +msgid "Brightness" +msgstr "Jasność" + +#: configure_Dialog.cpp:859 +msgid "Enable autosuspend" +msgstr "WÅ‚Ä…cz automatyczne wstrzymywanie" + +#: configure_Dialog.cpp:860 configure_Dialog.cpp:867 +msgid "Enable scheme-specific blacklist" +msgstr "WÅ‚Ä…cz specyficznÄ… dla schematu listÄ™ wyjÄ…tków" + +#: configure_Dialog.cpp:861 configure_Dialog.cpp:870 +msgid "after:" +msgstr "po:" + +#: configure_Dialog.cpp:863 configure_Dialog.cpp:868 +msgid "Edit Blacklist..." +msgstr "Edytuj listÄ™ wyjÄ…tków..." + +#: configure_Dialog.cpp:864 configure_Dialog.cpp:869 +msgid "If the current desktop user is inactive the computer will:" +msgstr "JeÅ›li bieżący użytkownik jest nieaktywny, komputer przejdzie w stan:" + +#: configure_Dialog.cpp:865 +msgid "Autosuspend" +msgstr "Automatyczne wstrzymanie" + +#: configure_Dialog.cpp:866 +msgid "Enable autodimm the display" +msgstr "WÅ‚Ä…cz automatyczne przyciemnianie ekranu" + +#: configure_Dialog.cpp:871 configure_Dialog.cpp:893 configure_Dialog.cpp:894 +#: configure_Dialog.cpp:895 configure_Dialog.cpp:896 configure_Dialog.cpp:897 +#: configure_Dialog.cpp:898 +msgid " %" +msgstr " %" + +#: configure_Dialog.cpp:872 +msgid "dimm to:" +msgstr "przyciemnij do:" + +#: configure_Dialog.cpp:874 +msgid "Autodimm" +msgstr "Autoprzyciemnianie" + +#: configure_Dialog.cpp:879 +msgid "Set CPU Frequency Policy:" +msgstr "Ustaw skalowanie czÄ™stotliwoÅ›ci procesora:" + +#: configure_Dialog.cpp:880 +msgid "CPU Frequency Policy" +msgstr "Skalowanie czÄ™stotliwoÅ›ci procesora" + +#: configure_Dialog.cpp:881 +msgid "Disable Notifications" +msgstr "WyÅ‚Ä…cz powiadomienia" + +#: configure_Dialog.cpp:884 +msgid "New" +msgstr "Nowy" + +#: configure_Dialog.cpp:885 +msgid "Scheme Settings" +msgstr "Ustawienia schematu " + +#: configure_Dialog.cpp:886 +msgid "" +"Define the battery warning levels (in percentage) and the releated action if " +"the level get reached:" +msgstr "" +"OkreÅ›la poziomy ostrzeżeÅ„ akumulatora (w procentach) i powiÄ…zane z nimi " +"dziaÅ‚ania:" + +#: configure_Dialog.cpp:887 +msgid "Warning level:" +msgstr "Poziom ostrzeżenia:" + +#: configure_Dialog.cpp:888 +msgid "Low level:" +msgstr "Poziom niski:" + +#: configure_Dialog.cpp:889 +msgid "Critical level:" +msgstr "Poziom krytyczny:" + +#: configure_Dialog.cpp:890 configure_Dialog.cpp:891 configure_Dialog.cpp:892 +msgid "if reached call:" +msgstr "w razie osiÄ…gniÄ™cia:" + +#: configure_Dialog.cpp:899 +msgid "Battery" +msgstr "Akumulator" + +#: configure_Dialog.cpp:900 +msgid "" +"Define the action which should be executed if the related button get pressed:" +msgstr "OkreÅ›la akcjÄ™ wykonywanÄ… po naciÅ›niÄ™ciu danego przycisku:" + +#: configure_Dialog.cpp:901 +msgid "Suspend-to-disk Button:" +msgstr "Przycisk hibernacji:" + +#: configure_Dialog.cpp:902 +msgid "Sleep button:" +msgstr "Przycisk wstrzymania:" + +#: configure_Dialog.cpp:903 +msgid "Lid close Button:" +msgstr "ZamkniÄ™cie pokrywy:" + +#: configure_Dialog.cpp:904 +msgid "Power Button:" +msgstr "Przycisk wÅ‚Ä…cznika:" + +#: configure_Dialog.cpp:905 +msgid "Button Events" +msgstr "Zdarzenia przycisków" + +#: configure_Dialog.cpp:906 +msgid "" +"Select the following schemes as default if the system is running on AC or on " +"batteries." +msgstr "" +"OkreÅ›la poniższe domyÅ›lne schematy w przypadku zasilania z sieci lub z " +"akumulatora." + +#: configure_Dialog.cpp:907 +msgid "Battery scheme:" +msgstr "Schemat akumulatora:" + +#: configure_Dialog.cpp:908 +msgid "AC scheme:" +msgstr "Schemat zasilania sieciowego:" + +#: configure_Dialog.cpp:909 +msgid "Default Schemes" +msgstr "Schematy domyÅ›lne" + +#: configure_Dialog.cpp:910 +msgid "Lock screen before suspend or standby" +msgstr "Zablokuj ekran przed przejÅ›ciem w stan uÅ›pienia albo gotowoÅ›ci" + +#: configure_Dialog.cpp:911 +msgid "Lock screen with:" +msgstr "Zablokuj ekran używajÄ…c:" + +#: configure_Dialog.cpp:912 +msgid "Lock screen on lid close" +msgstr "Zablokuj ekran po zamkniÄ™ciu pokrywy" + +#: configure_Dialog.cpp:913 +msgid "Lock Screen" +msgstr "Zablokuj ekran" + +#: configure_Dialog.cpp:914 +msgid "Notifications" +msgstr "Powiadomienia" + +#: configure_Dialog.cpp:916 +msgid "Autostart" +msgstr "Autostart" + +#: configure_Dialog.cpp:917 +msgid "Never ask me again on exit" +msgstr "Nigdy wiÄ™cej nie pytaj przy wychodzeniu" + +#: configure_Dialog.cpp:918 +msgid "KPowersave starts automatically on login" +msgstr "KPowersave jest uruchamiany automatycznie podczas logowania" + +#: configure_Dialog.cpp:919 +msgid "General Blacklists" +msgstr "Globalna lista wyjÄ…tków" + +#: configure_Dialog.cpp:920 +msgid "Edit Autosuspend Blacklist..." +msgstr "Edytuj listÄ™ wyjÄ…tków automatycznego wstrzymania..." + +#: configure_Dialog.cpp:921 +msgid "Edit Autodimm Blacklist..." +msgstr "Edytuj listÄ™ wyjÄ…tków automatycznego przyciemniania..." + +#: configure_Dialog.cpp:923 +msgid "General Settings" +msgstr "Ustawienia ogólne" + +#~ msgid "Modules unloaded:" +#~ msgstr "UsuniÄ™te moduÅ‚y:" + +#~ msgid "Powersave Daemon:" +#~ msgstr "Demon powersave:" + +#~ msgid "" +#~ "Inactivity detected.\n" +#~ " Machine autosuspend in %1 seconds." +#~ msgstr "" +#~ "Wykryto brak aktywnoÅ›ci.\n" +#~ " Automatycznie wstrzymanie za %1 sekund." + +#~ msgid "" +#~ "Inactivity detected.\n" +#~ " Dim display in %1 seconds to %2%." +#~ msgstr "" +#~ "Wykryto brak aktywnoÅ›ci.\n" +#~ " Przyciemnienie ekranu do %2% za %1 sekund." + +#~ msgid "" +#~ "If you know that it should work, you might override this detection with " +#~ "setting SUSPEND2RAM_FORCE=\"yes\" in /etc/powersave/sleep." +#~ msgstr "" +#~ "Etap wykrywania można pominąć ustawiajÄ…c opcjÄ™ SUSPEND2RAM_FORCE=\"yes\" " +#~ "w pliku /etc/powersave/sleep. Jest to ustawienie dla zaawansowanych " +#~ "użytkowników." + +#~ msgid "" +#~ "Cannot find any schemes. Maybe the powersave daemon is not running.\n" +#~ "Starting it with '/etc/init.d/powersaved start' should help." +#~ msgstr "" +#~ "Nie można znaleźć żadnego schematu. Być może demon powersave nie jest " +#~ "uruchomiony.\n" +#~ "Można uruchomić go poleceniem '/etc/init.d/powersaved start'." + +#~ msgid "" +#~ "The powersave daemon must be running in the background for a suspend to " +#~ "disk." +#~ msgstr "" +#~ "Aby możliwe byÅ‚o hibernowanie komputera, demon powersave musi być " +#~ "uruchomiony." + +#~ msgid "" +#~ "The powersave daemon must be running in the background for a suspend to " +#~ "RAM." +#~ msgstr "" +#~ "Aby możliwe byÅ‚o wstrzymywanie komputera, demon powersave musi być " +#~ "uruchomiony." + +#~ msgid "The powersave daemon must be running in the background for standby." +#~ msgstr "" +#~ "Aby możliwe byÅ‚o przechodzenie w stan gotowoÅ›ci, demon powersave musi być " +#~ "uruchomiony." + +#~ msgid "" +#~ "This scheme support suspend and disable devices. This is a EXPERIMENTAL " +#~ "feature of powersave to save more power on laptops. If you select this " +#~ "scheme you can get in trouble (e.g. kernel oops). You can configure this " +#~ "feature currently in the powersave config files. Please report all " +#~ "problems via http://www.opensuse.org/Submit_a_bug \n" +#~ "\n" +#~ "Would you switch the scheme (on your own risk)?" +#~ msgstr "" +#~ "Ten schemat obsÅ‚uguje usypianie i wyÅ‚Ä…czanie urzÄ…dzeÅ„. Jest to " +#~ "EKSPERYMENTALNA funkcja powersave, pozwalajÄ…ca zaoszczÄ™dzić wiÄ™cej " +#~ "energii podczas pracy na komputerach przenoÅ›nych. Po wyborze tego " +#~ "schematu mogÄ… siÄ™ pojawić problemy (np. bÅ‚Ä™dy krytyczne jÄ…dra). " +#~ "Konfiguracja tej funkcji znajduje siÄ™ aktualnie w plikach " +#~ "konfiguracyjnych demona powersave. Prosimy o zgÅ‚aszanie wszelkich " +#~ "napotkanych problemów poprzez http://www.opensuse.org/Submit_a_bug \n" +#~ "\n" +#~ "Czy przeÅ‚Ä…czyć schemat?" + +#~ msgid "Continue" +#~ msgstr "Kontynuuj" + +#~ msgid "" +#~ "The powersave daemon is not running.\n" +#~ "Starting it will improve performance: /etc/init.d/powersaved start" +#~ msgstr "" +#~ "Demon powersave nie jest uruchomiony. Uruchomienie go zwiÄ™kszy " +#~ "skuteczność\n" +#~ "oszczÄ™dzania energii: /etc/init.d/powersaved start" + +#~ msgid "checking resume kernel" +#~ msgstr "sprawdzanie wznowienia jÄ…dra" + +#~ msgid "checking for swap partition" +#~ msgstr "sprawdzanie partycji wymiany" + +#~ msgid "unmounting FAT/NTFS partitions" +#~ msgstr "odmontowywanie partycji FAT/NTFS" + +#~ msgid "stopping services" +#~ msgstr "zatrzymywanie usÅ‚ug" + +#~ msgid "stopping service:" +#~ msgstr "zatrzymywanie usÅ‚ugi:" + +#~ msgid "unloading modules" +#~ msgstr "usuwanie modułów" + +#~ msgid "unloading module:" +#~ msgstr "usuwanie moduÅ‚u:" + +#~ msgid "syncing file systems" +#~ msgstr "synchronizacja systemów plików" + +#~ msgid "preparing bootloader" +#~ msgstr "przygotowanie programu rozruchowego" + +#~ msgid "Edit General Blacklist..." +#~ msgstr "Edytuj globalnÄ… listÄ™ wyjÄ…tków..." + +#~ msgid " -- %1 MHz" +#~ msgstr " - %1 MHz" + +#~ msgid "Enabled" +#~ msgstr "WÅ‚Ä…czone" + +#~ msgid "In" +#~ msgstr "jest" + +#~ msgid "Out" +#~ msgstr "brak" + +#~ msgid "" +#~ "You are not permitted to connect to the powersave daemon via DBUS. Please " +#~ "check your DBUS configuration and installation. " +#~ msgstr "" +#~ "Brak uprawnieÅ„ do podÅ‚Ä…czenia siÄ™ do demona zarzÄ…dzania energiÄ… za pomocÄ… " +#~ "DBUS. ProszÄ™ sprawdzić konfiguracjÄ™ DBUS." diff --git a/po/pt.po b/po/pt.po new file mode 100644 index 0000000..0b65778 --- /dev/null +++ b/po/pt.po @@ -0,0 +1,1491 @@ +# translation of kpowersave.po to Portuguese +# Ricardo Jorge Antunes , 2007. +# Antonio Cardoso Martins , 2007. +# Carlos Gonçalves , 2007. +msgid "" +msgstr "" +"Project-Id-Version: kpowersave\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2007-08-10 03:16+0200\n" +"PO-Revision-Date: 2007-09-09 22:09+0100\n" +"Last-Translator: Carlos Gonçalves \n" +"Language-Team: Portuguese \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: KBabel 1.11.4\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#: detailed_Dialog.cpp:228 +msgid "kpowersave" +msgstr "kpowersave" + +#: detailed_Dialog.cpp:229 +msgid "General Information" +msgstr "Informação Geral" + +#: detailed_Dialog.cpp:232 +msgid "Battery Status" +msgstr "Estado da Bateria" + +#: detailed_Dialog.cpp:233 +msgid "AC Adapter" +msgstr "Adaptador CA" + +#: detailed_Dialog.cpp:234 detaileddialog.cpp:391 +msgid "plugged in" +msgstr "Ligado à corrente" + +#: detailed_Dialog.cpp:235 +msgid "Power Consumtion: " +msgstr "Consumo de Energia: " + +#: detailed_Dialog.cpp:237 +msgid "Processor Status" +msgstr "Estado do Processador" + +#: detailed_Dialog.cpp:238 blacklistedit_Dialog.cpp:130 info_Dialog.cpp:198 +#: configure_Dialog.cpp:838 +msgid "OK" +msgstr "OK" + +#: blacklisteditdialog.cpp:60 +msgid "General Blacklist" +msgstr "Lista de Exclusão Geral" + +#: blacklisteditdialog.cpp:63 +msgid "Scheme: " +msgstr "Esquema: " + +#: blacklisteditdialog.cpp:114 +msgid "Selected entry removed." +msgstr "A linha seleccionada foi removida." + +#: blacklisteditdialog.cpp:117 +msgid "Could not remove the selected entry." +msgstr "Não foi possível remover a linha seleccionada." + +#: blacklisteditdialog.cpp:137 +msgid "Inserted new entry." +msgstr "Inserida nova linha." + +#: blacklisteditdialog.cpp:141 +msgid "Entry exists already. Did not insert new entry." +msgstr "A linha já existe. Não foi inserida uma nova linha." + +#: blacklisteditdialog.cpp:144 +msgid "Empty entry was not inserted." +msgstr "Não foi inserida uma linha vazia." + +#: inactivity.cpp:298 +msgid "" +"Could not start 'pidof'. Could not autosuspend the machine.\n" +"Please check your installation." +msgstr "" +"Não foi possível iniciar 'pidof'. Impossível suspender automaticamente\n" +"a máquina. Verifique a instalação." + +#: blacklistedit_Dialog.cpp:129 +msgid "Autosuspend Blacklist Edit" +msgstr "Editar a Lista de Exclusão de Suspensão Automática" + +# cancel button label +#: blacklistedit_Dialog.cpp:132 configuredialog.cpp:1079 +#: configure_Dialog.cpp:836 +msgid "Cancel" +msgstr "Cancelar" + +#: blacklistedit_Dialog.cpp:135 +msgid "Add" +msgstr "Adicionar" + +#: blacklistedit_Dialog.cpp:136 +msgid "Remove" +msgstr "Remover" + +#: infodialog.cpp:76 infodialog.cpp:78 main.cpp:55 +msgid "KPowersave" +msgstr "KPowersave" + +#: configuredialog.cpp:116 configuredialog.cpp:121 configuredialog.cpp:721 +msgid " - not supported" +msgstr " - não suportado" + +#: configuredialog.cpp:150 configuredialog.cpp:317 detaileddialog.cpp:432 +#: kpowersave.cpp:192 settings.cpp:66 configure_Dialog.cpp:876 +msgid "Performance" +msgstr "Desempenho" + +#: configuredialog.cpp:154 configuredialog.cpp:319 detaileddialog.cpp:438 +#: kpowersave.cpp:194 settings.cpp:68 configure_Dialog.cpp:878 +msgid "Powersave" +msgstr "Poupança de Energia" + +#: configuredialog.cpp:159 configuredialog.cpp:321 kpowersave.cpp:1478 +#: settings.cpp:70 +msgid "Presentation" +msgstr "Apresentação" + +#: configuredialog.cpp:164 configuredialog.cpp:323 kpowersave.cpp:1473 +#: settings.cpp:72 +msgid "Acoustic" +msgstr "Silencioso" + +#: configuredialog.cpp:169 configuredialog.cpp:171 configuredialog.cpp:172 +#: configuredialog.cpp:173 kpowersave.cpp:1484 +msgid "Advanced Powersave" +msgstr "Poupança de Energia Avançada" + +#: configuredialog.cpp:271 +msgid "" +"This enables specific screen saver settings. \n" +"Note: If selected, the global screen saver settings are \n" +"overwritten while kpowersave runs." +msgstr "" +"Activa opções específicas para o protector de ecrã. \n" +"Nota: Quando seleccionado, as definições globais do protector de ecrã \n" +"são sobrepostas enquanto o kpowersave estiver a correr." + +#: configuredialog.cpp:274 +msgid "" +"This disables the screen saver. \n" +"Note: If selected, the global screen saver settings are \n" +"overwritten while kpowersave runs." +msgstr "" +"Desactiva o protector de ecrã. \n" +"Nota: Quando activo, as definições globais do protector de ecrã \n" +"são sobrepostas enquanto o kpowersave estiver a correr." + +#: configuredialog.cpp:277 +msgid "" +"This blanks the screen instead of using a specific screen saver. \n" +"Note: This may work only with KScreensaver." +msgstr "" +"Apresenta um ecrã vazio em vez de um protector de ecrã. \n" +"Nota: Pode ser que apenas funcione com o KScreensaver." + +#: configuredialog.cpp:279 +msgid "" +"This enables specific DPMS settings. \n" +"Note: If selected, the global DPMS settings are \n" +"overwritten while kpowersave runs." +msgstr "" +"Activa definições específicas de DPMS. \n" +"Nota: Quando activo, as definições globais de DPMS \n" +"são sobrepostas enquanto o kpowersave estiver a correr." + +#: configuredialog.cpp:282 +msgid "This disables DPMS support." +msgstr "Desactiva o suporte DPMS." + +#: configuredialog.cpp:283 +msgid "If selected, the screen is locked on suspend or standby." +msgstr "Quando seleccionado, tranca o ecrã ao suspender ou em 'standby'." + +#: configuredialog.cpp:284 +msgid "If selected, the screen is locked if the lid close event is triggered." +msgstr "" +"Quando seleccionado, tranca o ecrã quando recebe o evento de 'tampa fechada'." + +#: configuredialog.cpp:286 +msgid "" +"Check this box to enable or disable automatic suspension of the computer." +msgstr "" +"Marque esta caixa para activar ou desactivar a suspensão automática do " +"computador." + +#: configuredialog.cpp:288 +msgid "" +"Activate this action if the user was inactive for the defined time \n" +"(greater than 0 minutes). If empty, nothing happens." +msgstr "" +"Active esta acção se o utilizador estiver inactivo pelo tempo indicado \n" +"(mais de 0 minutos). Se estiver vazio, nada acontece." + +#: configuredialog.cpp:291 +msgid "All scheme-related screen saver and DPMS settings." +msgstr "" +"Todas as definições de protector de ecrã e DPMS relacionadas com esquemas." + +#: configuredialog.cpp:292 +msgid "All scheme-related display brightness settings." +msgstr "Todas as definições relacionadas com esquemas de brilho do ecrã." + +#: configuredialog.cpp:293 +msgid "All scheme-related automatic suspend settings." +msgstr "Todas as definições relacionadas com esquemas de suspensão automática." + +#: configuredialog.cpp:295 +msgid "" +"Here you can change the brightness of your display. \n" +"Use the slider to change the brightness directly for \n" +"testing. To reset back to previous level, please press \n" +"the 'Reset' button. " +msgstr "" +"Pode aqui alterar o brilho do seu ecrã.\n" +"Utilize o cursor para mudar directamente o brilho para testar.\n" +"Para voltar ao nível anterior, pressione o botão 'Reset'. " + +#: configuredialog.cpp:299 +msgid "Use this button to set back the slider and the display brightness." +msgstr "Utilize este botão para redefinir o cursor e o brilho do ecrã." + +#: configuredialog.cpp:352 +msgid "Press this button to delete the selected scheme." +msgstr "Pressione este botão para apagar o esquema seleccionado." + +#: configuredialog.cpp:357 +msgid "You can't delete the current AC or battery scheme." +msgstr "Não pode apagar o esquema AC ou bateria actual." + +#: configuredialog.cpp:363 +msgid "You can't delete this default scheme." +msgstr "Não pode apagar este esquema pré-definido." + +#: configuredialog.cpp:546 +msgid "" +"Your hardware supports to change the brightness. The values of the slider " +"are in percent and mapped to the available brightness levels of your " +"hardware." +msgstr "" +"O seu hardware suporta a alteração do brilho. Os valores do cursor são em " +"percentagem e correspondentes aos níveis de brilho disponíveis no seu " +"hardware." + +#: configuredialog.cpp:553 +msgid "" +"Your Hardware currently not support changing the brightness of your display." +msgstr "O seu hardware actualmente não suporta alterar o brilho do ecrã." + +#: configuredialog.cpp:664 +msgid "Select Automatically" +msgstr "Selecção Automática" + +#: configuredialog.cpp:665 +msgid "KScreensaver" +msgstr "KScreensaver" + +#: configuredialog.cpp:666 +msgid "XScreensaver" +msgstr "XScreensaver" + +#: configuredialog.cpp:667 +msgid "xlock" +msgstr "xlock" + +#: configuredialog.cpp:668 +msgid "GNOME Screensaver" +msgstr "Protector de Ecrã do GNOME" + +#: configuredialog.cpp:930 +msgid "" +"There are unsaved changes in the active scheme.\n" +"Apply the changes before jumping to the next scheme or discard the changes?" +msgstr "" +"Há alterações por gravar no esquema activo.\n" +"Aplicar as alterações antes de passar para o próximo esquema ou perder as " +"alterações?" + +#: configuredialog.cpp:933 configuredialog.cpp:983 +msgid "Unsaved Changes" +msgstr "Alterações por Gravar" + +#: configuredialog.cpp:981 +msgid "" +"There are unsaved changes.\n" +"Apply the changes before cancel or discard the changes?" +msgstr "" +"Há alterações por gravar.\n" +"Aplicar as alterações antes de cancelar ou perder as alterações?" + +#: configuredialog.cpp:1032 +msgid "Please insert a name for the new scheme:" +msgstr "Por favor, insira o nome para o novo esquema:" + +#: configuredialog.cpp:1038 +msgid "KPowersave Configuration" +msgstr "Configuração do KPowersave" + +#: configuredialog.cpp:1046 +msgid "Error: A scheme with this name already exist.\n" +msgstr "Erro: Já existe um esquema com este nome.\n" + +#: configuredialog.cpp:1076 +msgid "Do you really want to delete the %1 scheme?" +msgstr "Deseja mesmo apagar o esquema %1?" + +#: configuredialog.cpp:1078 +msgid "Confirm delete scheme" +msgstr "Confirmar remoção do esquema" + +#: configuredialog.cpp:1079 configure_Dialog.cpp:883 +msgid "Delete" +msgstr "Apagar" + +#: configuredialog.cpp:1095 +msgid "Could not delete the selected scheme." +msgstr "Não foi possível remover o esquema seleccionado." + +#: configuredialog.cpp:1324 +msgid "" +"Note: If you select this option, the computer will suspend or standby " +"if the current user is inactive for the defined time even if somebody is " +"logged in remotely to the X server.

    This feature can also produce " +"problems with some programs, such as video players or cd burner. These " +"programs can be blacklisted by checking Enable scheme-specific blacklist and click Edit Blacklist.... If this does not help, report the " +"problem or deactivate autosuspend.

    Really use this option?" +msgstr "" +"Nota: Se seleccionar esta opção, o computador entrará em suspensão ou " +"'standby' se o utilizador estiver inactivo pelo tempo definido, mesmo que " +"alguém esteja ligado remotamente ao servidor X.

    Esta função pode " +"também causar problemas com alguns programas, tais como leitores vídeo ou " +"gravador de CD. Estes programas podem ser excluidos escolhendo a opção " +"Activar Lista de Exclusão para o Esquema e depois seleccionando Editar Lista de Exclusão...
    . Se isto não funcionar, reporte o problema " +"ou desactive a suspensão automática.

    Deseja activar esta opção?" + +#: configuredialog.cpp:1402 configuredialog.cpp:1532 +msgid "" +"The blacklist of the selected scheme is empty. Import the general blacklist?" +msgstr "" +"A lista de exclusão para o esquema seleccionado está vazia. Deseja importar " +"a lista de exclusão geral?" + +#: configuredialog.cpp:1404 configuredialog.cpp:1534 +msgid "Import" +msgstr "Importar" + +#: configuredialog.cpp:1404 configuredialog.cpp:1534 +msgid "Do Not Import" +msgstr "Não Importar" + +#: configuredialog.cpp:1416 +msgid "General Autosuspend Blacklist" +msgstr "Lista de Exclusão de Suspensão Automática Geral" + +#: configuredialog.cpp:1546 +msgid "General Autodimm Blacklist" +msgstr "Lista de Exclusão de Auto-Brilho Geral" + +#: configuredialog.cpp:1779 configuredialog.cpp:1816 +msgid "Shutdown" +msgstr "Encerrar" + +#: configuredialog.cpp:1781 configuredialog.cpp:1819 +msgid "Logout Dialog" +msgstr "Janela de Terminar Sessão" + +#: configuredialog.cpp:1784 configuredialog.cpp:1822 kpowersave.cpp:182 +#: kpowersave.cpp:2096 kpowersave.cpp:2156 kpowersave.cpp:2247 +msgid "Suspend to Disk" +msgstr "Suspender para Disco" + +#: configuredialog.cpp:1787 configuredialog.cpp:1825 kpowersave.cpp:186 +#: kpowersave.cpp:2101 kpowersave.cpp:2161 kpowersave.cpp:2250 +msgid "Suspend to RAM" +msgstr "Suspender para RAM" + +#: configuredialog.cpp:1790 configuredialog.cpp:1828 +msgid "CPU Powersave policy" +msgstr "Política Poupança de Energia de CPU" + +#: configuredialog.cpp:1793 configuredialog.cpp:1831 +msgid "CPU Dynamic policy" +msgstr "Política Dinâmica de CPU" + +#: configuredialog.cpp:1796 configuredialog.cpp:1834 +msgid "CPU Performance policy" +msgstr "Política de Desempenho de CPU" + +#: configuredialog.cpp:1799 configuredialog.cpp:1837 +msgid "Set Brightness to" +msgstr "Definir Brilho para" + +#: main.cpp:43 +msgid "KDE Frontend for Power Management, Battery Monitoring and Suspend" +msgstr "" +"Uma interface para o KDE de Gestão de Alimentação, Monitor de Bateria e " +"Suspenção" + +#: main.cpp:45 +msgid "Force a new check for ACPI support" +msgstr "Forçar uma nova verificação do suporte ACPI" + +#: main.cpp:46 +msgid "Trace function entry and leave points for debug\n" +msgstr "Analisar a entrada da função e deixar os pontos para depuração\n" + +#: main.cpp:59 +msgid "Current maintainer" +msgstr "Actual responsável de suporte" + +#: main.cpp:62 +msgid "Powersave developer and for D-Bus integration" +msgstr "Programador do Powersave e integração DBUS" + +#: main.cpp:64 +msgid "Powersave developer and tester" +msgstr "Programador e 'tester' do powersave" + +#: main.cpp:66 +msgid "Added basic detailed dialog" +msgstr "Diálogo básico detalhado adicionado" + +#: main.cpp:67 +msgid "Packaging Debian and Ubuntu" +msgstr "Empacotamento Debian e Ubuntu" + +#: detaileddialog.cpp:61 +msgid "KPowersave Information Dialog" +msgstr "Caixa de Informação do KPowersave" + +#: detaileddialog.cpp:65 configure_Dialog.cpp:882 configure_Dialog.cpp:922 +msgid "Miscellaneous" +msgstr "Miscelânea" + +#: detaileddialog.cpp:66 +msgid "CPUs" +msgstr "CPUs" + +#: detaileddialog.cpp:73 detaileddialog.cpp:453 +msgid "Battery state:" +msgstr "Estado da Bateria:" + +#: detaileddialog.cpp:79 +msgid "Total:" +msgstr "Total:" + +#: detaileddialog.cpp:81 detaileddialog.cpp:83 +msgid "Battery %1" +msgstr "Bateria %1" + +#: detaileddialog.cpp:114 +msgid "Processor %1" +msgstr "Processador %1" + +#: detaileddialog.cpp:230 +msgid "not present" +msgstr "não presente" + +#: detaileddialog.cpp:243 +msgid "charged" +msgstr "carregado" + +#: detaileddialog.cpp:245 +msgid "%1:%2 h until charged" +msgstr "%1:%2 h até ficar carregada" + +#: detaileddialog.cpp:248 +msgid "%1:%2 h remaining" +msgstr "Faltam %1:%2 h" + +#: detaileddialog.cpp:253 detaileddialog.cpp:441 detaileddialog.cpp:468 +msgid "unknown" +msgstr "desconhecido" + +#: detaileddialog.cpp:325 detaileddialog.cpp:368 +msgid "%v MHz" +msgstr "%v MHz" + +#: detaileddialog.cpp:330 detaileddialog.cpp:363 dummy.cpp:58 +msgid "deactivated" +msgstr "desactivado" + +#: detaileddialog.cpp:395 +msgid "unplugged" +msgstr "desligado da corrente" + +#: detaileddialog.cpp:412 +msgid "Current Scheme: " +msgstr "Esquema Actual: " + +#: detaileddialog.cpp:429 +msgid "Current CPU Frequency Policy:" +msgstr "Política Actual de Frequência de CPU:" + +#: detaileddialog.cpp:435 kpowersave.cpp:193 configure_Dialog.cpp:877 +msgid "Dynamic" +msgstr "Dinâmica" + +#: detaileddialog.cpp:456 +msgid "Critical" +msgstr "Crítico" + +#: detaileddialog.cpp:459 +msgid "Low" +msgstr "Baixo" + +#: detaileddialog.cpp:462 kpowersave.cpp:277 kpowersave.cpp:652 +#: kpowersave.cpp:659 kpowersave.cpp:705 kpowersave.cpp:713 kpowersave.cpp:761 +#: kpowersave.cpp:769 kpowersave.cpp:817 kpowersave.cpp:824 +#: kpowersave.cpp:1131 kpowersave.cpp:1243 kpowersave.cpp:1272 +#: kpowersave.cpp:1610 kpowersave.cpp:1670 kpowersave.cpp:2186 +msgid "Warning" +msgstr "Aviso" + +#: detaileddialog.cpp:465 +msgid "ok" +msgstr "ok" + +#: detaileddialog.cpp:474 detaileddialog.cpp:477 +msgid "Set brightness supported:" +msgstr "Definição do brilho suportada:" + +#: detaileddialog.cpp:475 +msgid "yes" +msgstr "sim" + +#: detaileddialog.cpp:478 +msgid "no" +msgstr "não" + +#: detaileddialog.cpp:481 detaileddialog.cpp:485 +msgid "HAL Daemon:" +msgstr "Serviço HAL:" + +#: detaileddialog.cpp:482 +msgid "running" +msgstr "em execução" + +#: detaileddialog.cpp:486 +msgid "not running" +msgstr "parado" + +#: info_Dialog.cpp:197 +msgid "Information" +msgstr "Informação" + +#: dummy.cpp:36 +msgid "If the current desktop user is inactive, dim the display to:" +msgstr "Se o utilizador actual estiver inactivo, escurecer o ecrã para:" + +#: dummy.cpp:37 +msgid "Enable dim display on inactivity" +msgstr "Activar o escurecimento do ecrã em caso de inactividade" + +#: dummy.cpp:38 +msgid "Blacklist" +msgstr "Lista de Exclusão" + +#: dummy.cpp:39 +msgid "" +"Here you can add programs which should, if running, prevent the dimming of " +"the display." +msgstr "" +"Aqui é possível adicionar programas que, quando executados, impedem o " +"escurecimento da tela." + +#: dummy.cpp:41 +msgid "Would you like to import a predefined blacklist?" +msgstr "Deseja importar uma lista de exclusão pré-definida?" + +#: dummy.cpp:42 +msgid "Disable CPUs/Cores" +msgstr "Desactivar CPUs/Núcleos" + +#: dummy.cpp:43 +msgid "Max. running CPUs:" +msgstr "CPUs máx. em execução:" + +#: dummy.cpp:44 +msgid "Max. running CPUs/Cores:" +msgstr "CPUs/Núcleos máx. em execução:" + +#: dummy.cpp:45 +msgid "Min. running CPUs:" +msgstr "CPUs mín. em execução:" + +#: dummy.cpp:46 +msgid "Min. running CPUs/Cores:" +msgstr "CPUs/Núcleos mín. em execução:" + +#: dummy.cpp:47 +msgid "Enable to switch off CPUs/cores" +msgstr "Activar para desligar CPUs/núcleos" + +#: dummy.cpp:48 +msgid "You have a multiprocessor/multicore machine." +msgstr "A sua máquina tem multiprocessador/multinúcleos." + +#: dummy.cpp:49 +msgid "" +"You can disable CPUs/cores to reduce power consumption and save battery " +"power." +msgstr "" +"Pode desactivar CPUs/núcleos para reduzir o consumo de energia e economizar " +"bateria." + +#: dummy.cpp:50 +msgid "Device" +msgstr "Dispositivo" + +#: dummy.cpp:51 +msgid "Devices" +msgstr "Dispositivos" + +#: dummy.cpp:52 +msgid "Device class" +msgstr "Classe de dispositivos" + +#: dummy.cpp:53 +msgid "activate" +msgstr "activar" + +#: dummy.cpp:54 +msgid "Activate" +msgstr "Activar" + +#: dummy.cpp:55 +msgid "deactivate" +msgstr "desactivar" + +#: dummy.cpp:56 +msgid "Deactivate" +msgstr "Desactivar" + +#: dummy.cpp:57 +msgid "activated" +msgstr "activado" + +#: dummy.cpp:59 +msgid "do nothing" +msgstr "não fazer nada" + +#: dummy.cpp:60 +msgid "Deactivate following devices:" +msgstr "Desactivar os seguintes dispositivos:" + +#: dummy.cpp:61 +msgid "Activate following devices" +msgstr "Activar os seguintes dispositivos" + +#: dummy.cpp:62 +msgid "Reactivate following devices" +msgstr "Reactivar os seguintes dispositivos" + +#: dummy.cpp:63 +msgid "Deactivate following device classes:" +msgstr "Desactivar as seguintes classes de dispositivos:" + +#: dummy.cpp:64 +msgid "Activate following devices classes" +msgstr "Activar as seguintes classes de dispositivos" + +#: dummy.cpp:65 +msgid "Reactivate following device classes" +msgstr "Reactivar as seguintes classes de dispositivos" + +#: dummy.cpp:66 +msgid "If the scheme switched all devices are again activated." +msgstr "Se o esquema mudou, todos os dispositivos são novamente activados." + +#: dummy.cpp:67 +msgid "This is a experimental feature." +msgstr "Esta é uma funcionalidade experimental." + +#: dummy.cpp:68 +msgid "If you have problems with this feature, please report them." +msgstr "Se tiver problemas com esta funcionalidade, por favor reporte-os." + +#: dummy.cpp:69 +msgid "Select one of the available devices and click on " +msgstr "Escolha um dos dispositivos disponíveis e prima em " + +#: dummy.cpp:70 +msgid "Select one of the available device classes and click on " +msgstr "Escolha uma das classes de dispositivos disponíveis e prima em " + +#: dummy.cpp:71 +msgid "Select one or more of the available devices and click on " +msgstr "Escolha um ou mais dos dispositivos disponíveis e prima em " + +#: dummy.cpp:72 +msgid "Select one or more of the available device classes and click on " +msgstr "" +"Escolha uma ou mais das classes de dispositivos disponíveis e prima em " + +#: dummy.cpp:73 +msgid "" +"Please note: If you e.g. deactivate a network device you may lose your " +"internet connection." +msgstr "" +"Por favor note: Se por exemplo desactivar um dispositivo de rede, poderá " +"perder sua ligação à internet." + +#: dummy.cpp:75 +msgid "" +"Note: If you select this option, the computer will suspend or standby " +"if the current user is inactive for the defined time.

    This feature " +"can also produce problems with some programs, such as video players or cd " +"burner. These programs can be blacklisted by checking Enable scheme-" +"specific blacklist and click Edit Blacklist.... If this does not " +"help, report the problem or deactivate autosuspend.

    Really use this " +"option?" +msgstr "" +"Nota: Se seleccionar esta opção, o computador entrará em suspensão ou " +"'standby' se o utilizador estiver inactivo pelo tempo definido.

    Esta " +"função pode causar problemas com alguns programas, tais como leitores vídeo " +"ou gravador de CD. Estes programas podem ser excluidos escolhendo a opção " +"Activar Lista de Exclusão para o Esquema e depois seleccionando Editar Lista de Exclusão...
    . Se isto não funcionar, reporte o problema " +"ou desactive a suspensão automática.

    Deseja activar esta opção?" + +#: dummy.cpp:82 +msgid "Try to use only one CPU/Core." +msgstr "Tente utilizar apenas um CPU/Núcleo." + +#: dummy.cpp:83 +msgid "" +"Reduce power consumption by try to use only one CPU/Core instead of " +"spreading the work over all/multiple CPUs." +msgstr "" +"Reduz o consumo de energia tentando apenas usar um CPU/Núcleo em vez de " +"espalhar o trabalho por todos/últiplos CPUs." + +#: dummy.cpp:87 +msgid "Could not load the global configuration." +msgstr "Não foi possível carregar a configuração global." + +#: dummy.cpp:88 +msgid "Could not load the requested scheme configuration." +msgstr "Não foi possível carregar a configuração do esquema seleccionado." + +#: dummy.cpp:89 +msgid "Configure the current scheme." +msgstr "Configurar o esquema actual." + +#: dummy.cpp:90 +msgid "Try loading the default configuration." +msgstr "Tentar carregar a configuração pré-definida." + +#: dummy.cpp:91 +msgid "Maybe the global configuration file is empty or missing." +msgstr "Talvez o ficheiro de configuração global não exista ou esteja vazio." + +#: dummy.cpp:94 +msgid "Cannot connect to D-Bus. The D-Bus daemon may not be running." +msgstr "" +"Não foi possível ligar ao D-Bus. O serviço de D-Bus pode não estar em " +"execução." + +#: dummy.cpp:95 +msgid "" +"Scheme switched to %1. \n" +" Deactivate following devices: %2" +msgstr "" +"O esquema mudou para %1. \n" +" Desactivar os seguintes dispositivos: %2" + +#: dummy.cpp:96 +msgid "" +"Scheme switched to %1. \n" +" Activate following devices: %2" +msgstr "" +"O esquema mudou para %1. \n" +" Activar os seguintes dispositivos: %2" + +#: dummy.cpp:97 +msgid "Report ..." +msgstr "Relatório ..." + +#: dummy.cpp:98 +msgid "Suspend to RAM is not supported on your machine." +msgstr "Suspender para RAM não é suportado nesta máquina." + +#: dummy.cpp:99 +msgid "Additionally, please mail the output of %1 to %2 . Thanks!" +msgstr "" +"Além disso, envie a saída de %1 por correio electrónico para %2. Obrigado!" + +#: dummy.cpp:100 +msgid "Power consumption" +msgstr "Consumo de energia" + +#: dummy.cpp:103 +msgid "KScreensaver not found." +msgstr "Não foi encontrado o KScreensaver." + +#: dummy.cpp:104 +msgid "Try locking with XScreensaver or xlock." +msgstr "Tente trancar com XScreensaver ou xlock." + +#: dummy.cpp:105 +msgid "XScreensaver not found." +msgstr "Não foi encontrado o XScreensaver." + +#: dummy.cpp:106 +msgid "Try locking the screen with xlock." +msgstr "Tente trancar o ecrã com xlock." + +#: dummy.cpp:107 +msgid "" +"XScreensaver and xlock not found. It is not possible to lock the screen. " +"Check your installation." +msgstr "" +"Não se encontrou o XScreensaver nem o xlock. Não é possível trancar o ecrã. " +"Verifique a sua instalação. " + +#: dummy.cpp:111 +msgid "HAL daemon:" +msgstr "Serviço HAL:" + +#: dummy.cpp:112 +msgid "D-Bus daemon:" +msgstr "Serviço D-Bus:" + +#: dummy.cpp:113 +msgid "ConsoleKit daemon:" +msgstr "Serviço ConsoleKit:" + +#: dummy.cpp:114 +msgid "Autosuspend activated:" +msgstr "Auto-suspensão activada:" + +#: dummy.cpp:115 +msgid "Autodimm activated:" +msgstr "Auto-brilho activado:" + +#: dummy.cpp:116 +msgid "enabled" +msgstr "activado" + +#: dummy.cpp:117 +msgid "Session active:" +msgstr "Sessão activa:" + +#: dummy.cpp:120 +msgid "Inactivity detected." +msgstr "Detectada inactividade." + +#: dummy.cpp:121 +msgid "To stop the %1 press the 'Cancel' button before the countdown expire." +msgstr "" +"Para parar o %1 pressione o botão 'Cancelar' antes que a contagem expire." + +#: dummy.cpp:122 +msgid "The computer autosuspend in: " +msgstr "O computador auto-suspender-se-á em: " + +#: dummy.cpp:123 +#, c-format +msgid "The display get dimmed down to %1% in: " +msgstr "O ecrã reduzirá o brilho para %1% em:" + +#: dummy.cpp:124 +msgid "%1 seconds" +msgstr "%1 segundos" + +#: dummy.cpp:127 +msgid "Could not call %1. The current desktop session is not active." +msgstr "Não foi possível chamar %1. A sessão actual não está activa." + +#: dummy.cpp:128 +msgid "Could not set %1. The current desktop session is not active." +msgstr "Não foi possível definir %1. A sessão actual não está activa." + +#: dummy.cpp:129 +msgid "Stopped %1. The current desktop session is now inactive." +msgstr "Parou %1. A sessão actual está agora activa." + +#: dummy.cpp:130 +msgid "Restarted %1. The current desktop session is now active again." +msgstr "Restaurou %1. A sessão actual está agora novamente activa." + +#: log_viewer.cpp:78 +msgid "Form1" +msgstr "Form1" + +#: log_viewer.cpp:79 +msgid "Save As ..." +msgstr "Gravar Como..." + +#: log_viewer.cpp:80 +msgid "Close" +msgstr "Fechar" + +#: logviewer.cpp:44 +msgid "KPowersave Logfile Viewer: %1" +msgstr "Visualizador de Ficheiros de Registos do KPowersave: %1" + +#: logviewer.cpp:89 +msgid "File already exist. Overwrite the file?" +msgstr "O ficheiro já existe. Sobrepô-lo?" + +#: logviewer.cpp:90 logviewer.cpp:97 +msgid "Error while save logfile" +msgstr "Erro ao guardar o ficheiro de registo" + +#: logviewer.cpp:95 +msgid "File already exist." +msgstr "O ficheiro já existe." + +#: logviewer.cpp:98 +msgid "Try other filename ..." +msgstr "Tente outro nome de ficheiro ..." + +#: suspenddialog.cpp:70 +msgid "Preparing Suspend..." +msgstr "Preparar para suspender..." + +#: kpowersave.cpp:168 +msgid "Configure KPowersave..." +msgstr "Configurar o KPowersave..." + +#: kpowersave.cpp:171 configure_Dialog.cpp:915 +msgid "Configure Notifications..." +msgstr "Configurar Notificações..." + +#: kpowersave.cpp:175 +msgid "Start YaST2 Power Management Module..." +msgstr "Iniciar o Módulo de Gestão de Energia do YaST2..." + +#: kpowersave.cpp:189 kpowersave.cpp:2106 kpowersave.cpp:2166 +#: kpowersave.cpp:2253 +msgid "Standby" +msgstr "Standby" + +#: kpowersave.cpp:191 kpowersave.cpp:198 +msgid "Set CPU Frequency Policy" +msgstr "Definir Política de Frequência de CPU" + +#: kpowersave.cpp:205 kpowersave.cpp:206 +msgid "Set Active Scheme" +msgstr "Escolher Esquema Activo" + +#: kpowersave.cpp:212 +msgid "Disable Actions on Inactivity" +msgstr "Desactivar Acções quando Inactivo" + +#: kpowersave.cpp:219 kpowersave.cpp:229 +msgid "&Help" +msgstr "&Ajuda" + +#: kpowersave.cpp:221 +msgid "&KPowersave Handbook" +msgstr "Livro de Mão &KPowersave" + +#: kpowersave.cpp:224 +msgid "&Report a bug ..." +msgstr "&Reportar um erro ..." + +#: kpowersave.cpp:226 +msgid "&About KPowersave" +msgstr "&Sobre o KPowersave" + +#: kpowersave.cpp:275 kpowersave.cpp:648 kpowersave.cpp:656 kpowersave.cpp:703 +#: kpowersave.cpp:710 kpowersave.cpp:759 kpowersave.cpp:766 kpowersave.cpp:815 +#: kpowersave.cpp:822 kpowersave.cpp:1126 kpowersave.cpp:1241 +#: kpowersave.cpp:1270 kpowersave.cpp:2183 +msgid "WARNING" +msgstr "AVISO" + +#: kpowersave.cpp:275 +msgid "Cannot find any schemes." +msgstr "Não foi possível encontrar outros esquemas." + +#: kpowersave.cpp:453 +msgid "No information about battery and AC status available" +msgstr "" +"Não existe informação disponível sobre o estado da bateria e da corrente " +"alternada" + +#: kpowersave.cpp:456 +msgid "Plugged in -- fully charged" +msgstr "Ligado à corrente -- completamente carregado" + +#: kpowersave.cpp:460 +msgid "Plugged in" +msgstr "Ligado à corrente" + +#: kpowersave.cpp:464 +msgid "Plugged in -- %1% charged (%2:%3 h until full charged)" +msgstr "" +"Ligado à corrente -- carga a %1% (%2:%3 h até ficar totalmente carregado)" + +#: kpowersave.cpp:467 +msgid "Plugged in -- %1% charged (%2:%3 remaining hours)" +msgstr "Ligado à corrente -- carga a %1% (faltam %2:%3 horas)" + +#: kpowersave.cpp:471 kpowersave.cpp:475 +#, c-format +msgid "Plugged in -- %1% charged" +msgstr "Ligado à corrente -- carga a %1%" + +#: kpowersave.cpp:474 +msgid "Plugged in -- no battery" +msgstr "Ligado à corrente -- sem bateria" + +#: kpowersave.cpp:480 +msgid "Running on batteries -- %1% charged (%2:%3 hours remaining)" +msgstr "A operar com baterias -- carga a %1% (sobram %2:%3 horas)" + +#: kpowersave.cpp:484 +#, c-format +msgid "Running on batteries -- %1% charged" +msgstr "A operar com baterias -- carga a %1%" + +#: kpowersave.cpp:491 +msgid " -- battery is charging" +msgstr "-- bateria a carregar" + +#: kpowersave.cpp:649 kpowersave.cpp:657 +msgid "Could not start YaST Power Management Module. Check if it is installed." +msgstr "" +"Não foi possível iniciar o Módulo de Gestão de Energia do YaST2. Verifique " +"se está instalado." + +#: kpowersave.cpp:703 +msgid "Suspend to disk failed" +msgstr "Falhou a suspensão para o disco" + +#: kpowersave.cpp:711 +msgid "Suspend to disk disabled by administrator." +msgstr "Suspensão para disco desactivada pelo administrador." + +#: kpowersave.cpp:759 +msgid "Suspend to RAM failed" +msgstr "Falhou a suspenção para a RAM" + +#: kpowersave.cpp:767 +msgid "Suspend to RAM disabled by administrator." +msgstr "Suspensão para RAM desactivada pelo administrador." + +#: kpowersave.cpp:815 +msgid "Standby failed" +msgstr "Falhou o 'standby'" + +#: kpowersave.cpp:822 +msgid "Standby disabled by administrator." +msgstr "Standby desactivado pelo administrador." + +#: kpowersave.cpp:853 +msgid "System is going into suspend mode now" +msgstr "O sistema irá agora para modo de suspensão" + +#: kpowersave.cpp:1039 +msgid "Could not call DCOP interface to umount external media." +msgstr "" +"Não foi possível chamar a interface DCOP para desmontar o suporte externo." + +#: kpowersave.cpp:1044 +msgid "" +"Could not umount external media before suspend/standby. \n" +" (Reason: %1)\n" +" \n" +" Would you like to continue suspend/standby anyway? \n" +"(Warning: Continue suspend can cause data loss!)" +msgstr "" +"Não foi possível desmontar o suporte externo antes de suspender/'standby'. \n" +" (Razão: %1)\n" +" \n" +" Deseja continuar de qualquer maneira a suspenção/'standby'? \n" +"(Alerta: Continuar com a suspenção pode causar perda de dados!)" + +#: kpowersave.cpp:1052 +msgid "Error while prepare %1" +msgstr "Erro enquanto preparava %1" + +#: kpowersave.cpp:1053 +msgid "Suspend anyway" +msgstr "Suspender à mesma" + +#: kpowersave.cpp:1053 +msgid "Cancel suspend" +msgstr "Cancelar suspenção" + +#: kpowersave.cpp:1127 +msgid "" +"Could not lock the screen. There may be a problem with the selected \n" +"lock method or something else." +msgstr "" +"Não foi possível trancar o ecrã. Pode haver um problema com o método\n" +"de bloqueio seleccionado, ou qualquer outra coisa." + +#: kpowersave.cpp:1144 +msgid "The Lid was closed." +msgstr "A tampa foi fechada." + +#: kpowersave.cpp:1156 +msgid "The Lid was opened." +msgstr "A tampa foi aberta." + +#: kpowersave.cpp:1223 +msgid "Start KPowersave automatically when you log in?" +msgstr "Iniciar o KPowersave automaticamente no início da sessão?" + +#: kpowersave.cpp:1224 +msgid "Question" +msgstr "Pergunta" + +#: kpowersave.cpp:1225 +msgid "Start Automatically" +msgstr "Iniciar Automaticamente" + +#: kpowersave.cpp:1225 +msgid "Do Not Start" +msgstr "Não Iniciar" + +#: kpowersave.cpp:1242 +msgid "CPU Freq Policy %1 could not be set." +msgstr "Não foi possível definir a Política de Freq. de CPU %1." + +#: kpowersave.cpp:1271 +msgid "Scheme %1 could not be activated." +msgstr "Não foi possível activar o esquema %1." + +#: kpowersave.cpp:1600 +msgid "" +"The D-Bus daemon is not running.\n" +"Starting it will provide full functionality: /etc/init.d/dbus start" +msgstr "" +"O serviço D-Bus não está em execução.\n" +"Iniciá-lo proporcionará uma funcionalidade completa: /etc/init.d/dbus start" + +#: kpowersave.cpp:1611 +msgid "Don't show this message again." +msgstr "Não mostrar novamente esta mensagem." + +#: kpowersave.cpp:1637 +msgid "ERROR" +msgstr "ERRO" + +#: kpowersave.cpp:1638 +msgid "Could not get information from HAL. The haldaemon is maybe not running." +msgstr "" +"Não foi possível obter informação do HAL. O serviço haldaemon pode não estar " +"em execução." + +#: kpowersave.cpp:1641 +msgid "Error" +msgstr "Erro" + +#: kpowersave.cpp:1912 +msgid "" +"Battery state changed to WARNING -- remaining time: %1 hours and %2 minutes." +msgstr "" +"O estado da bateria passou para AVISO -- tempo restante: %1 horas e %2 " +"minutos." + +#: kpowersave.cpp:1921 +msgid "" +"Battery state changed to LOW -- remaining time: %1 hours and %2 minutes." +msgstr "" +"O estado da bateria passou para BAIXO -- tempo restante: %1 horas e %2 " +"minutos." + +#: kpowersave.cpp:1932 +msgid "" +"Battery state changed to CRITICAL -- remaining time: %1 hours and %2 " +"minutes.\n" +"Shut down your system or plug in the power cable immediately. Otherwise the " +"machine\n" +"will go shutdown in 30 seconds" +msgstr "" +"O estado da bateria passou para CRÃTICO -- tempo restante: %1 horas e %2 " +"minutos.\n" +"Encerre o sistema ou ligue-o imediatamente à corrente. Caso contrário, a " +"máquina\n" +"será desligada em 30 segundos" + +#: kpowersave.cpp:1943 +msgid "" +"Battery state changed to CRITICAL -- remaining time: %1 hours and %2 " +"minutes.\n" +"Shut down your system or plug in the power cable immediately." +msgstr "" +"O estado da bateria passou para CRÃTICO -- tempo restante: %1 horas e %2 " +"minutos.\n" +"Encerre o sistema ou ligue-o imediatamente à corrente." + +#: kpowersave.cpp:2041 +msgid "AC adapter plugged in" +msgstr "Alimentação de corrente ligada" + +#: kpowersave.cpp:2043 +msgid "AC adapter unplugged" +msgstr "Alimentação de corrente desligada" + +#: kpowersave.cpp:2078 +msgid "Switched to scheme: %1" +msgstr "Mudou para o esquema: %1" + +#: kpowersave.cpp:2095 kpowersave.cpp:2100 kpowersave.cpp:2105 +msgid "System is going into %1 now." +msgstr "O sistema irá agora para %1." + +#: kpowersave.cpp:2155 kpowersave.cpp:2160 kpowersave.cpp:2165 +msgid "System is resumed from %1." +msgstr "O sistema recuperou de %1." + +#: kpowersave.cpp:2184 +msgid "Could not remount (all) external storage media." +msgstr "" +"Não foi posivel re-montar (todos) os suportes de armazenamento externos." + +#: kpowersave.cpp:2192 +msgid "An unknown error occurred while %1. The errorcode is: '%2'" +msgstr "Ocorreu um erro desconhecido enquanto %1. O código do erro é: '%2'" + +# power-off message +#: kpowersave.cpp:2197 +msgid "Do you want to have a look at the log file?" +msgstr "Deseja ver o ficheiro de registo?" + +#: kpowersave.cpp:2198 kpowersave.cpp:2224 +msgid "Error while %1" +msgstr "Erro ao %1" + +#: configure_Dialog.cpp:831 +msgid "KPowersave Settings" +msgstr "Definições do KPowersave" + +#: configure_Dialog.cpp:832 +msgid "Apply" +msgstr "Aplicar" + +#: configure_Dialog.cpp:834 +msgid "Help" +msgstr "Ajuda" + +#: configure_Dialog.cpp:840 +msgid "Enable specific display power management" +msgstr "Activar gestão de energia para um monitor específico" + +#: configure_Dialog.cpp:841 +msgid "Standby after:" +msgstr "Standby após:" + +#: configure_Dialog.cpp:842 +msgid "Only blank the screen" +msgstr "Apenas limpar o ecrã" + +#: configure_Dialog.cpp:843 +msgid "Disable screen saver" +msgstr "Desactivar a protecção de ecrã" + +#: configure_Dialog.cpp:844 +msgid "Enable specific screensaver settings" +msgstr "Activar configuração específica do protector de ecrã" + +#: configure_Dialog.cpp:845 +msgid "Suspend after:" +msgstr "Suspender após:" + +#: configure_Dialog.cpp:846 +msgid "Power off after:" +msgstr "Desligar após:" + +#: configure_Dialog.cpp:847 +msgid "Disable display power management" +msgstr "Desactivar gestão de energia do monitor" + +#: configure_Dialog.cpp:848 configure_Dialog.cpp:849 configure_Dialog.cpp:850 +#: configure_Dialog.cpp:862 configure_Dialog.cpp:873 +msgid " min" +msgstr " min" + +#: configure_Dialog.cpp:851 +msgid "Screen Saver and DPMS" +msgstr "Protecção de Ecrã e DPMS" + +#: configure_Dialog.cpp:852 +msgid "Settings" +msgstr "Definições" + +#: configure_Dialog.cpp:853 +msgid "Reset" +msgstr "Limpar" + +#: configure_Dialog.cpp:855 +msgid "Enable scheme specific Brightness settings" +msgstr "Activar definições de Brilho específicas do esquema" + +#: configure_Dialog.cpp:858 +msgid "Brightness" +msgstr "Brilho" + +#: configure_Dialog.cpp:859 +msgid "Enable autosuspend" +msgstr "Activar Suspensão Automática" + +#: configure_Dialog.cpp:860 configure_Dialog.cpp:867 +msgid "Enable scheme-specific blacklist" +msgstr "Activar lista de exclusão específica do esquema" + +#: configure_Dialog.cpp:861 configure_Dialog.cpp:870 +msgid "after:" +msgstr "após:" + +#: configure_Dialog.cpp:863 configure_Dialog.cpp:868 +msgid "Edit Blacklist..." +msgstr "Editar Lista de Exclusão..." + +#: configure_Dialog.cpp:864 configure_Dialog.cpp:869 +msgid "If the current desktop user is inactive the computer will:" +msgstr "" +"Se o utilizador actual do ambiente de trabalho estiver inactivo, o " +"computador:" + +#: configure_Dialog.cpp:865 +msgid "Autosuspend" +msgstr "Suspensão Automática" + +#: configure_Dialog.cpp:866 +msgid "Enable autodimm the display" +msgstr "Activar o auto-escurecimento do ecrã" + +#: configure_Dialog.cpp:871 configure_Dialog.cpp:893 configure_Dialog.cpp:894 +#: configure_Dialog.cpp:895 configure_Dialog.cpp:896 configure_Dialog.cpp:897 +#: configure_Dialog.cpp:898 +msgid " %" +msgstr " %" + +#: configure_Dialog.cpp:872 +msgid "dimm to:" +msgstr "escurecer para:" + +#: configure_Dialog.cpp:874 +msgid "Autodimm" +msgstr "Auto-escurecimento" + +#: configure_Dialog.cpp:879 +msgid "Set CPU Frequency Policy:" +msgstr "Definir Política de Frequência de CPU:" + +#: configure_Dialog.cpp:880 +msgid "CPU Frequency Policy" +msgstr "Política de Frequência de CPU" + +#: configure_Dialog.cpp:881 +msgid "Disable Notifications" +msgstr "Desactivar Avisos" + +#: configure_Dialog.cpp:884 +msgid "New" +msgstr "Novo" + +#: configure_Dialog.cpp:885 +msgid "Scheme Settings" +msgstr "Definições do Esquema" + +#: configure_Dialog.cpp:886 +msgid "" +"Define the battery warning levels (in percentage) and the releated action if " +"the level get reached:" +msgstr "" +"Definir os níveis de alertas de bateria (em percentagem) e as acções " +"relacionadas se o nível atingir:" + +#: configure_Dialog.cpp:887 +msgid "Warning level:" +msgstr "Nível de alerta:" + +#: configure_Dialog.cpp:888 +msgid "Low level:" +msgstr "Nível baixo:" + +#: configure_Dialog.cpp:889 +msgid "Critical level:" +msgstr "Nível crítico:" + +#: configure_Dialog.cpp:890 configure_Dialog.cpp:891 configure_Dialog.cpp:892 +msgid "if reached call:" +msgstr "Se atingido chamar:" + +#: configure_Dialog.cpp:899 +msgid "Battery" +msgstr "Bateria" + +#: configure_Dialog.cpp:900 +msgid "" +"Define the action which should be executed if the related button get pressed:" +msgstr "Defina a acção que deve ser executada se o botão foi premido:" + +#: configure_Dialog.cpp:901 +msgid "Suspend-to-disk Button:" +msgstr "Botão de Suspender-para-disco:" + +#: configure_Dialog.cpp:902 +msgid "Sleep button:" +msgstr "Botão de adormecer:" + +#: configure_Dialog.cpp:903 +msgid "Lid close Button:" +msgstr "Botão de tampa fechada:" + +#: configure_Dialog.cpp:904 +msgid "Power Button:" +msgstr "Botão de alimentação:" + +#: configure_Dialog.cpp:905 +msgid "Button Events" +msgstr "Eventos de Botões" + +#: configure_Dialog.cpp:906 +msgid "" +"Select the following schemes as default if the system is running on AC or on " +"batteries." +msgstr "" +"Seleccione os esquemas seguintes como pré-definidos se o sistema estiver a " +"correr em AC ou em baterias." + +#: configure_Dialog.cpp:907 +msgid "Battery scheme:" +msgstr "Esquema da bateria:" + +#: configure_Dialog.cpp:908 +msgid "AC scheme:" +msgstr "Esquema da AC:" + +#: configure_Dialog.cpp:909 +msgid "Default Schemes" +msgstr "Esquemas Pré-definidos" + +#: configure_Dialog.cpp:910 +msgid "Lock screen before suspend or standby" +msgstr "Trancar ecrã antes de suspender ou standby" + +#: configure_Dialog.cpp:911 +msgid "Lock screen with:" +msgstr "Trancar ecrã com:" + +#: configure_Dialog.cpp:912 +msgid "Lock screen on lid close" +msgstr "Trancar ecrã ao fechar a tampa" + +#: configure_Dialog.cpp:913 +msgid "Lock Screen" +msgstr "Trancar o Ecrã" + +#: configure_Dialog.cpp:914 +msgid "Notifications" +msgstr "Avisos" + +#: configure_Dialog.cpp:916 +msgid "Autostart" +msgstr "Arranque Automático" + +#: configure_Dialog.cpp:917 +msgid "Never ask me again on exit" +msgstr "Não voltar a perguntar ao sair" + +#: configure_Dialog.cpp:918 +msgid "KPowersave starts automatically on login" +msgstr "Iniciar automaticamente o KPowersave no início da sessão" + +#: configure_Dialog.cpp:919 +msgid "General Blacklists" +msgstr "Lista de Exclusão Geral" + +#: configure_Dialog.cpp:920 +msgid "Edit Autosuspend Blacklist..." +msgstr "Editar a Lista de Exclusão de Suspensão Automática" + +#: configure_Dialog.cpp:921 +msgid "Edit Autodimm Blacklist..." +msgstr "Editar Lista de Exclusão de Escurecimento Automático..." + +#: configure_Dialog.cpp:923 +msgid "General Settings" +msgstr "Definições Gerais" diff --git a/po/pt_BR.po b/po/pt_BR.po new file mode 100644 index 0000000..4d520a0 --- /dev/null +++ b/po/pt_BR.po @@ -0,0 +1,1604 @@ +msgid "" +msgstr "" +"Project-Id-Version: kpowersave\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2007-08-10 03:16+0200\n" +"PO-Revision-Date: 2006-06-01 14:17\n" +"Last-Translator: Novell Language \n" +"Language-Team: Novell Language \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: detailed_Dialog.cpp:228 +#, fuzzy +msgid "kpowersave" +msgstr "Powersave" + +#: detailed_Dialog.cpp:229 +msgid "General Information" +msgstr "Informações Gerais" + +#: detailed_Dialog.cpp:232 +msgid "Battery Status" +msgstr "Status da Bateria" + +#: detailed_Dialog.cpp:233 +msgid "AC Adapter" +msgstr "Adaptador de CA" + +#: detailed_Dialog.cpp:234 detaileddialog.cpp:391 +msgid "plugged in" +msgstr "conectado" + +#: detailed_Dialog.cpp:235 +#, fuzzy +msgid "Power Consumtion: " +msgstr "Consumo de energia" + +#: detailed_Dialog.cpp:237 +msgid "Processor Status" +msgstr "Status do Processador" + +#: detailed_Dialog.cpp:238 blacklistedit_Dialog.cpp:130 info_Dialog.cpp:198 +#: configure_Dialog.cpp:838 +msgid "OK" +msgstr "" + +#: blacklisteditdialog.cpp:60 +msgid "General Blacklist" +msgstr "Lista Negra Geral" + +#: blacklisteditdialog.cpp:63 +msgid "Scheme: " +msgstr "Esquema:" + +#: blacklisteditdialog.cpp:114 +msgid "Selected entry removed." +msgstr "Entrada selecionada removida." + +#: blacklisteditdialog.cpp:117 +msgid "Could not remove the selected entry." +msgstr "Impossível remover a entrada selecionada." + +#: blacklisteditdialog.cpp:137 +msgid "Inserted new entry." +msgstr "Nova entrada inserida." + +#: blacklisteditdialog.cpp:141 +msgid "Entry exists already. Did not insert new entry." +msgstr "A entrada já existe. Não foi inserida nova entrada." + +#: blacklisteditdialog.cpp:144 +msgid "Empty entry was not inserted." +msgstr "A entrada vazia não foi inserida." + +#: inactivity.cpp:298 +msgid "" +"Could not start 'pidof'. Could not autosuspend the machine.\n" +"Please check your installation." +msgstr "" +"Não foi possível iniciar 'pidof'. Impossível suspender automaticamente a " +"máquina.\n" +"Verifique a instalação." + +#: blacklistedit_Dialog.cpp:129 +msgid "Autosuspend Blacklist Edit" +msgstr "Edição da Lista Negra de Suspensão Automática" + +#: blacklistedit_Dialog.cpp:132 configuredialog.cpp:1079 +#: configure_Dialog.cpp:836 +#, fuzzy +msgid "Cancel" +msgstr "&Cancelar" + +#: blacklistedit_Dialog.cpp:135 +msgid "Add" +msgstr "Adicionar" + +#: blacklistedit_Dialog.cpp:136 +#, fuzzy +msgid "Remove" +msgstr "Remo&ver" + +#: infodialog.cpp:76 infodialog.cpp:78 main.cpp:55 +#, fuzzy +msgid "KPowersave" +msgstr "Powersave" + +#: configuredialog.cpp:116 configuredialog.cpp:121 configuredialog.cpp:721 +msgid " - not supported" +msgstr "" + +#: configuredialog.cpp:150 configuredialog.cpp:317 detaileddialog.cpp:432 +#: kpowersave.cpp:192 settings.cpp:66 configure_Dialog.cpp:876 +msgid "Performance" +msgstr "Desempenho" + +#: configuredialog.cpp:154 configuredialog.cpp:319 detaileddialog.cpp:438 +#: kpowersave.cpp:194 settings.cpp:68 configure_Dialog.cpp:878 +msgid "Powersave" +msgstr "Powersave" + +#: configuredialog.cpp:159 configuredialog.cpp:321 kpowersave.cpp:1478 +#: settings.cpp:70 +msgid "Presentation" +msgstr "Apresentação" + +#: configuredialog.cpp:164 configuredialog.cpp:323 kpowersave.cpp:1473 +#: settings.cpp:72 +msgid "Acoustic" +msgstr "Acústica" + +#: configuredialog.cpp:169 configuredialog.cpp:171 configuredialog.cpp:172 +#: configuredialog.cpp:173 kpowersave.cpp:1484 +msgid "Advanced Powersave" +msgstr "Powersave Avançado" + +#: configuredialog.cpp:271 +msgid "" +"This enables specific screen saver settings. \n" +"Note: If selected, the global screen saver settings are \n" +"overwritten while kpowersave runs." +msgstr "" +"Isto habilita configurações específicas de protetor de tela. \n" +"Nota: se selecionado, as configurações globais de protetor de tela serão \n" +"sobregravadas enquanto kpowersave estiver em execução." + +#: configuredialog.cpp:274 +msgid "" +"This disables the screen saver. \n" +"Note: If selected, the global screen saver settings are \n" +"overwritten while kpowersave runs." +msgstr "" +"Isto desabilita o protetor de tela. \n" +"Nota: se selecionado, as configurações globais de protetor de tela serão \n" +"sobregravadas enquanto kpowersave estiver em execução." + +#: configuredialog.cpp:277 +msgid "" +"This blanks the screen instead of using a specific screen saver. \n" +"Note: This may work only with KScreensaver." +msgstr "" +"Isto limpa a tela em vez de usar um protetor de tela específico. \n" +"Nota: talvez isto só funcione com KScreensaver." + +#: configuredialog.cpp:279 +msgid "" +"This enables specific DPMS settings. \n" +"Note: If selected, the global DPMS settings are \n" +"overwritten while kpowersave runs." +msgstr "" +"Isto habilita configurações DPMS específicas. \n" +"Nota: se selecionado, as configurações DPMS globais serão \n" +"sobregravadas enquanto kpowersave estiver em execução." + +#: configuredialog.cpp:282 +msgid "This disables DPMS support." +msgstr "Isto desabilita o suporte DPMS." + +#: configuredialog.cpp:283 +msgid "If selected, the screen is locked on suspend or standby." +msgstr "Se selecionado, a tela será bloqueada no modo suspenso ou de espera. " + +#: configuredialog.cpp:284 +msgid "If selected, the screen is locked if the lid close event is triggered." +msgstr "" +"Se selecionado, a tela será bloqueada se o evento de fechamento de tampa for " +"acionado." + +#: configuredialog.cpp:286 +msgid "" +"Check this box to enable or disable automatic suspension of the computer." +msgstr "" +"Marque esta caixa para habilitar ou desabilitar a suspensão automática do " +"computador." + +#: configuredialog.cpp:288 +msgid "" +"Activate this action if the user was inactive for the defined time \n" +"(greater than 0 minutes). If empty, nothing happens." +msgstr "" +"Ative esta ação se o usuário ficar inativo durante o tempo definido \n" +"(maior que 0 minuto). Se vazio, nada aparecerá." + +#: configuredialog.cpp:291 +msgid "All scheme-related screen saver and DPMS settings." +msgstr "" +"Todas as configurações de protetor de tela e DPMS relativas ao esquema." + +#: configuredialog.cpp:292 +msgid "All scheme-related display brightness settings." +msgstr "Todas as configurações de brilho de tela relativas ao esquema." + +#: configuredialog.cpp:293 +msgid "All scheme-related automatic suspend settings." +msgstr "Todas as configurações de suspensão automática relativas ao esquema." + +#: configuredialog.cpp:295 +msgid "" +"Here you can change the brightness of your display. \n" +"Use the slider to change the brightness directly for \n" +"testing. To reset back to previous level, please press \n" +"the 'Reset' button. " +msgstr "" +"Você pode mudar aqui o brilho da tela. \n" +"Use o controle deslizante para mudar o brilho diretamente para \n" +" teste. Para voltar ao nível anterior, pressione o botão \n" +" 'Redefinir'. " + +#: configuredialog.cpp:299 +msgid "Use this button to set back the slider and the display brightness." +msgstr "" +"Use este botão para retroceder o controle deslizante e o brilho de tela." + +#: configuredialog.cpp:352 +msgid "Press this button to delete the selected scheme." +msgstr "" + +#: configuredialog.cpp:357 +msgid "You can't delete the current AC or battery scheme." +msgstr "" + +#: configuredialog.cpp:363 +msgid "You can't delete this default scheme." +msgstr "" + +#: configuredialog.cpp:546 +msgid "" +"Your hardware supports to change the brightness. The values of the slider " +"are in percent and mapped to the available brightness levels of your " +"hardware." +msgstr "" +"Seu hardware suporta a mudança de brilho. Os valores do controle deslizante " +"são percentuais e mapeados para os níveis de brilho disponíveis do hardware." + +#: configuredialog.cpp:553 +msgid "" +"Your Hardware currently not support changing the brightness of your display." +msgstr "No momento, seu hardware não aceita a mudança do brilho da tela." + +#: configuredialog.cpp:664 +msgid "Select Automatically" +msgstr "selecionar automaticamente" + +#: configuredialog.cpp:665 +msgid "KScreensaver" +msgstr "KScreensaver" + +#: configuredialog.cpp:666 +msgid "XScreensaver" +msgstr "XScreensaver" + +#: configuredialog.cpp:667 +msgid "xlock" +msgstr "xlock" + +#: configuredialog.cpp:668 +#, fuzzy +msgid "GNOME Screensaver" +msgstr "XScreensaver" + +#: configuredialog.cpp:930 +msgid "" +"There are unsaved changes in the active scheme.\n" +"Apply the changes before jumping to the next scheme or discard the changes?" +msgstr "" +"Há mudanças não gravadas no esquema ativo.\n" +"Aplicar as mudanças antes de passar ao próximo esquema ou descartá-las?" + +#: configuredialog.cpp:933 configuredialog.cpp:983 +msgid "Unsaved Changes" +msgstr "Mudanças Não Gravadas" + +#: configuredialog.cpp:981 +msgid "" +"There are unsaved changes.\n" +"Apply the changes before cancel or discard the changes?" +msgstr "" +"Há mudanças não gravadas.\n" +"Aplicar as mudanças antes de cancelar ou descartá-las?" + +#: configuredialog.cpp:1032 +msgid "Please insert a name for the new scheme:" +msgstr "" + +#: configuredialog.cpp:1038 +#, fuzzy +msgid "KPowersave Configuration" +msgstr "Caixa de Diálogo de Informações do KPowersave" + +#: configuredialog.cpp:1046 +msgid "Error: A scheme with this name already exist.\n" +msgstr "" + +#: configuredialog.cpp:1076 +msgid "Do you really want to delete the %1 scheme?" +msgstr "" + +#: configuredialog.cpp:1078 +#, fuzzy +msgid "Confirm delete scheme" +msgstr "Configurar o esquema atual." + +#: configuredialog.cpp:1079 configure_Dialog.cpp:883 +msgid "Delete" +msgstr "" + +#: configuredialog.cpp:1095 +#, fuzzy +msgid "Could not delete the selected scheme." +msgstr "Impossível remover a entrada selecionada." + +#: configuredialog.cpp:1324 +msgid "" +"Note: If you select this option, the computer will suspend or standby " +"if the current user is inactive for the defined time even if somebody is " +"logged in remotely to the X server.

    This feature can also produce " +"problems with some programs, such as video players or cd burner. These " +"programs can be blacklisted by checking Enable scheme-specific blacklist and click Edit Blacklist.... If this does not help, report the " +"problem or deactivate autosuspend.

    Really use this option?" +msgstr "" +"Nota: Se você selecionar esta opção, o computador será suspenso ou " +"entrará em espera se o usuário atual permanecer inativo pelo tempo definido, " +"mesmo que alguém esteja conectado remotamente ao servidor X.

    Este " +"recurso também pode causar problemas com alguns programas, como leitores de " +"vídeo ou gravadores de CD. Para incluir estes programas na lista negra, " +"marque Habilitar Lista Negra Específica do Esquema e clique em " +"Editar Lista Negra.... Se isso não ajudar, relate o problema ou " +"desative a suspensão automática.

    Usar esta opção?" + +#: configuredialog.cpp:1402 configuredialog.cpp:1532 +msgid "" +"The blacklist of the selected scheme is empty. Import the general blacklist?" +msgstr "" +"A lista negra do esquema selecionado está vazia. Importar a lista negra " +"geral?" + +#: configuredialog.cpp:1404 configuredialog.cpp:1534 +msgid "Import" +msgstr "Importar" + +#: configuredialog.cpp:1404 configuredialog.cpp:1534 +msgid "Do Not Import" +msgstr "Não Importar" + +#: configuredialog.cpp:1416 +#, fuzzy +msgid "General Autosuspend Blacklist" +msgstr "Edição da Lista Negra de Suspensão Automática" + +#: configuredialog.cpp:1546 +#, fuzzy +msgid "General Autodimm Blacklist" +msgstr "Lista Negra Geral" + +#: configuredialog.cpp:1779 configuredialog.cpp:1816 +msgid "Shutdown" +msgstr "" + +#: configuredialog.cpp:1781 configuredialog.cpp:1819 +msgid "Logout Dialog" +msgstr "" + +#: configuredialog.cpp:1784 configuredialog.cpp:1822 kpowersave.cpp:182 +#: kpowersave.cpp:2096 kpowersave.cpp:2156 kpowersave.cpp:2247 +msgid "Suspend to Disk" +msgstr "Suspender para Disco" + +#: configuredialog.cpp:1787 configuredialog.cpp:1825 kpowersave.cpp:186 +#: kpowersave.cpp:2101 kpowersave.cpp:2161 kpowersave.cpp:2250 +msgid "Suspend to RAM" +msgstr "Suspender para RAM" + +#: configuredialog.cpp:1790 configuredialog.cpp:1828 +#, fuzzy +msgid "CPU Powersave policy" +msgstr "Powersave" + +#: configuredialog.cpp:1793 configuredialog.cpp:1831 +msgid "CPU Dynamic policy" +msgstr "" + +#: configuredialog.cpp:1796 configuredialog.cpp:1834 +#, fuzzy +msgid "CPU Performance policy" +msgstr "Desempenho" + +#: configuredialog.cpp:1799 configuredialog.cpp:1837 +#, fuzzy +msgid "Set Brightness to" +msgstr "Brilho" + +#: main.cpp:43 +#, fuzzy +msgid "KDE Frontend for Power Management, Battery Monitoring and Suspend" +msgstr "" +"Front-end KDE para o Suporte de Gerenciamento de Pacote, Monitor de Bateria " +"e Energia Geral do Powersave" + +#: main.cpp:45 +#, fuzzy +msgid "Force a new check for ACPI support" +msgstr "Forçar uma nova verificação do suporte para ACPI\n" + +#: main.cpp:46 +msgid "Trace function entry and leave points for debug\n" +msgstr "" + +#: main.cpp:59 +msgid "Current maintainer" +msgstr "Mantenedor atual" + +#: main.cpp:62 +#, fuzzy +msgid "Powersave developer and for D-Bus integration" +msgstr "Desenvolvedor de powersave e para integração com DBUS" + +#: main.cpp:64 +msgid "Powersave developer and tester" +msgstr "Desenvolvedor e testador de powersave" + +#: main.cpp:66 +msgid "Added basic detailed dialog" +msgstr "Adicionada caixa de diálogo com detalhes básicos" + +#: main.cpp:67 +msgid "Packaging Debian and Ubuntu" +msgstr "Compactando Debian e Ubuntu" + +#: detaileddialog.cpp:61 +msgid "KPowersave Information Dialog" +msgstr "Caixa de Diálogo de Informações do KPowersave" + +#: detaileddialog.cpp:65 configure_Dialog.cpp:882 configure_Dialog.cpp:922 +msgid "Miscellaneous" +msgstr "Miscelânea" + +#: detaileddialog.cpp:66 +msgid "CPUs" +msgstr "CPUs" + +#: detaileddialog.cpp:73 detaileddialog.cpp:453 +msgid "Battery state:" +msgstr "Estado da bateria:" + +#: detaileddialog.cpp:79 +msgid "Total:" +msgstr "Total:" + +#: detaileddialog.cpp:81 detaileddialog.cpp:83 +msgid "Battery %1" +msgstr "Bateria %1" + +#: detaileddialog.cpp:114 +msgid "Processor %1" +msgstr "Processador %1" + +#: detaileddialog.cpp:230 +#, fuzzy +msgid "not present" +msgstr "ausente." + +#: detaileddialog.cpp:243 +msgid "charged" +msgstr "carregado" + +#: detaileddialog.cpp:245 +msgid "%1:%2 h until charged" +msgstr "%1:%2 h para carregar" + +#: detaileddialog.cpp:248 +msgid "%1:%2 h remaining" +msgstr "%1:%2 h restantes" + +#: detaileddialog.cpp:253 detaileddialog.cpp:441 detaileddialog.cpp:468 +msgid "unknown" +msgstr "desconhecido" + +#: detaileddialog.cpp:325 detaileddialog.cpp:368 +msgid "%v MHz" +msgstr "%v MHz" + +#: detaileddialog.cpp:330 detaileddialog.cpp:363 dummy.cpp:58 +msgid "deactivated" +msgstr "desativado" + +#: detaileddialog.cpp:395 +msgid "unplugged" +msgstr "desconectado" + +#: detaileddialog.cpp:412 +msgid "Current Scheme: " +msgstr "Esquema Atual:" + +#: detaileddialog.cpp:429 +msgid "Current CPU Frequency Policy:" +msgstr "Atual Política de Freqüência da CPU:" + +#: detaileddialog.cpp:435 kpowersave.cpp:193 configure_Dialog.cpp:877 +msgid "Dynamic" +msgstr "Dinâmico" + +#: detaileddialog.cpp:456 +msgid "Critical" +msgstr "Crítico" + +#: detaileddialog.cpp:459 +msgid "Low" +msgstr "Baixa" + +#: detaileddialog.cpp:462 kpowersave.cpp:277 kpowersave.cpp:652 +#: kpowersave.cpp:659 kpowersave.cpp:705 kpowersave.cpp:713 kpowersave.cpp:761 +#: kpowersave.cpp:769 kpowersave.cpp:817 kpowersave.cpp:824 +#: kpowersave.cpp:1131 kpowersave.cpp:1243 kpowersave.cpp:1272 +#: kpowersave.cpp:1610 kpowersave.cpp:1670 kpowersave.cpp:2186 +msgid "Warning" +msgstr "Aviso" + +#: detaileddialog.cpp:465 +msgid "ok" +msgstr "ok" + +#: detaileddialog.cpp:474 detaileddialog.cpp:477 +msgid "Set brightness supported:" +msgstr "Definir brilho suportado:" + +#: detaileddialog.cpp:475 +msgid "yes" +msgstr "sim" + +#: detaileddialog.cpp:478 +msgid "no" +msgstr "não" + +#: detaileddialog.cpp:481 detaileddialog.cpp:485 +#, fuzzy +msgid "HAL Daemon:" +msgstr "Daemon do HAL:" + +#: detaileddialog.cpp:482 +msgid "running" +msgstr "em execução" + +#: detaileddialog.cpp:486 +msgid "not running" +msgstr "fora de execução" + +#: info_Dialog.cpp:197 +msgid "Information" +msgstr "Informação" + +#: dummy.cpp:36 +msgid "If the current desktop user is inactive, dim the display to:" +msgstr "" +"Se o usuário da área de trabalho atual estiver inativo, escurecer a tela " +"para:" + +#: dummy.cpp:37 +msgid "Enable dim display on inactivity" +msgstr "Permitir o escurecimento da tela durante períodos de inatividade" + +#: dummy.cpp:38 +msgid "Blacklist" +msgstr "Lista Negra" + +#: dummy.cpp:39 +msgid "" +"Here you can add programs which should, if running, prevent the dimming of " +"the display." +msgstr "" +"Aqui você pode adicionar os programas que, se executados, evitariam o " +"escurecimento da tela." + +#: dummy.cpp:41 +msgid "Would you like to import a predefined blacklist?" +msgstr "Você importaria uma lista negra predefinida?" + +#: dummy.cpp:42 +msgid "Disable CPUs/Cores" +msgstr "Desabilitar CPUs/Núcleos" + +#: dummy.cpp:43 +msgid "Max. running CPUs:" +msgstr "Máx. de CPUs em execução:" + +#: dummy.cpp:44 +msgid "Max. running CPUs/Cores:" +msgstr "Máx. de CPUs/Núcleos em execução:" + +#: dummy.cpp:45 +msgid "Min. running CPUs:" +msgstr "Mín. de CPUs em execução:" + +#: dummy.cpp:46 +msgid "Min. running CPUs/Cores:" +msgstr "Mín. de CPUs/Núcleos em execução:" + +#: dummy.cpp:47 +#, fuzzy +msgid "Enable to switch off CPUs/cores" +msgstr "Habilitar desligamento de CPUs/núcleos" + +#: dummy.cpp:48 +msgid "You have a multiprocessor/multicore machine." +msgstr "Sua máquina tem multiprocessadores/multinúcleos." + +#: dummy.cpp:49 +msgid "" +"You can disable CPUs/cores to reduce power consumption and save battery " +"power." +msgstr "" +"Desabilite CPUs/núcleos para reduzir o consumo de energia e economizar " +"bateria." + +#: dummy.cpp:50 +msgid "Device" +msgstr "Dispositivo" + +#: dummy.cpp:51 +msgid "Devices" +msgstr "Dispositivos" + +#: dummy.cpp:52 +msgid "Device class" +msgstr "Classe de dispositivo" + +#: dummy.cpp:53 +msgid "activate" +msgstr "ativar" + +#: dummy.cpp:54 +msgid "Activate" +msgstr "Ativar" + +#: dummy.cpp:55 +msgid "deactivate" +msgstr "desativar" + +#: dummy.cpp:56 +msgid "Deactivate" +msgstr "Desativar" + +#: dummy.cpp:57 +msgid "activated" +msgstr "ativado" + +#: dummy.cpp:59 +msgid "do nothing" +msgstr "não fazer nada" + +#: dummy.cpp:60 +msgid "Deactivate following devices:" +msgstr "Desativar os seguintes dispositivos:" + +#: dummy.cpp:61 +msgid "Activate following devices" +msgstr "Ativar os seguintes dispositivos" + +#: dummy.cpp:62 +msgid "Reactivate following devices" +msgstr "Reativar os seguintes dispositivos" + +#: dummy.cpp:63 +msgid "Deactivate following device classes:" +msgstr "Desativar as seguintes classes de dispositivos:" + +#: dummy.cpp:64 +msgid "Activate following devices classes" +msgstr "Ativar as seguintes classes de dispositivos" + +#: dummy.cpp:65 +msgid "Reactivate following device classes" +msgstr "Reativar as seguintes classes de dispositivos" + +#: dummy.cpp:66 +msgid "If the scheme switched all devices are again activated." +msgstr "" +"Se o esquema tiver sido mudado, todos os dispositivos serão ativados " +"novamente." + +#: dummy.cpp:67 +msgid "This is a experimental feature." +msgstr "Este é um recurso experimental." + +#: dummy.cpp:68 +msgid "If you have problems with this feature, please report them." +msgstr "Caso tenha problemas com esse recurso, informe-os." + +#: dummy.cpp:69 +msgid "Select one of the available devices and click on " +msgstr "Selecione um dos dispositivos disponíveis e clique em" + +#: dummy.cpp:70 +msgid "Select one of the available device classes and click on " +msgstr "Selecione uma das classes de dispositivos disponíveis e clique em" + +#: dummy.cpp:71 +msgid "Select one or more of the available devices and click on " +msgstr "Selecione um ou mais dispositivos disponíveis e clique em" + +#: dummy.cpp:72 +msgid "Select one or more of the available device classes and click on " +msgstr "Selecione uma ou mais classes de dispositivos disponíveis e clique em" + +#: dummy.cpp:73 +msgid "" +"Please note: If you e.g. deactivate a network device you may lose your " +"internet connection." +msgstr "" +"Nota: por exemplo, se você desativar um dispositivo de rede, perderá a " +"conexão com a Internet." + +#: dummy.cpp:75 +msgid "" +"Note: If you select this option, the computer will suspend or standby " +"if the current user is inactive for the defined time.

    This feature " +"can also produce problems with some programs, such as video players or cd " +"burner. These programs can be blacklisted by checking Enable scheme-" +"specific blacklist and click Edit Blacklist.... If this does not " +"help, report the problem or deactivate autosuspend.

    Really use this " +"option?" +msgstr "" +"Nota: Se você selecionar esta opção, o computador será suspenso ou " +"entrará em espera se o usuário atual permanecer inativo pelo tempo definido. " +"

    Este recurso também pode causar problemas com alguns programas, " +"como leitores de vídeo ou gravadores de CD. É possível incluir estes " +"programas na lista negra marcando Habilitar Lista Negra Específica do " +"Esquema e clicando em Editar Lista Negra.... Se isso não ajudar, " +"relate o problema ou desative a suspensão automática.

    Usar esta " +"opção?" + +#: dummy.cpp:82 +msgid "Try to use only one CPU/Core." +msgstr "" + +#: dummy.cpp:83 +msgid "" +"Reduce power consumption by try to use only one CPU/Core instead of " +"spreading the work over all/multiple CPUs." +msgstr "" + +#: dummy.cpp:87 +msgid "Could not load the global configuration." +msgstr "Impossível carregar a configuração global." + +#: dummy.cpp:88 +msgid "Could not load the requested scheme configuration." +msgstr "Impossível carregar a configuração de esquema solicitada." + +#: dummy.cpp:89 +msgid "Configure the current scheme." +msgstr "Configurar o esquema atual." + +#: dummy.cpp:90 +msgid "Try loading the default configuration." +msgstr "Tentar carregar a configuração padrão." + +#: dummy.cpp:91 +msgid "Maybe the global configuration file is empty or missing." +msgstr "Talvez o arquivo de configuração global esteja vazio ou ausente." + +#: dummy.cpp:94 +#, fuzzy +msgid "Cannot connect to D-Bus. The D-Bus daemon may not be running." +msgstr "" +"Impossível conectar a D-BUS. O daemon D-BUS pode não estar sendo executado." + +#: dummy.cpp:95 +msgid "" +"Scheme switched to %1. \n" +" Deactivate following devices: %2" +msgstr "" +"Esquema mudado para %1. \n" +" Desativar os seguintes dispositivos: %2" + +#: dummy.cpp:96 +msgid "" +"Scheme switched to %1. \n" +" Activate following devices: %2" +msgstr "" +"Esquema mudado para %1. \n" +"Ativar os seguintes dispositivos: %2" + +#: dummy.cpp:97 +msgid "Report ..." +msgstr "Relatório..." + +#: dummy.cpp:98 +msgid "Suspend to RAM is not supported on your machine." +msgstr "Suspender para RAM não suportado nesta máquina." + +#: dummy.cpp:99 +msgid "Additionally, please mail the output of %1 to %2 . Thanks!" +msgstr "Além disso, envie a saída de %1 por e-mail para %2. Obrigado!" + +#: dummy.cpp:100 +msgid "Power consumption" +msgstr "Consumo de energia" + +#: dummy.cpp:103 +msgid "KScreensaver not found." +msgstr "KScreensaver não encontrado." + +#: dummy.cpp:104 +msgid "Try locking with XScreensaver or xlock." +msgstr "Tente bloquear com XScreensaver ou xlock." + +#: dummy.cpp:105 +msgid "XScreensaver not found." +msgstr "XScreensaver não encontrado." + +#: dummy.cpp:106 +msgid "Try locking the screen with xlock." +msgstr "Tente bloquear a tela com xlock." + +#: dummy.cpp:107 +msgid "" +"XScreensaver and xlock not found. It is not possible to lock the screen. " +"Check your installation." +msgstr "" +"XScreensaver e xlock não encontrados. Impossível bloquear a tela. Verifique " +"a instalação." + +#: dummy.cpp:111 +msgid "HAL daemon:" +msgstr "Daemon do HAL:" + +#: dummy.cpp:112 +#, fuzzy +msgid "D-Bus daemon:" +msgstr "Daemon do D-BUS:" + +#: dummy.cpp:113 +msgid "ConsoleKit daemon:" +msgstr "" + +#: dummy.cpp:114 +msgid "Autosuspend activated:" +msgstr "Suspensão automática ativada:" + +#: dummy.cpp:115 +#, fuzzy +msgid "Autodimm activated:" +msgstr "Suspensão automática ativada:" + +#: dummy.cpp:116 +msgid "enabled" +msgstr "habilitado" + +#: dummy.cpp:117 +msgid "Session active:" +msgstr "" + +#: dummy.cpp:120 +msgid "Inactivity detected." +msgstr "" + +#: dummy.cpp:121 +msgid "To stop the %1 press the 'Cancel' button before the countdown expire." +msgstr "" + +#: dummy.cpp:122 +msgid "The computer autosuspend in: " +msgstr "" + +#: dummy.cpp:123 +#, c-format +msgid "The display get dimmed down to %1% in: " +msgstr "" + +#: dummy.cpp:124 +msgid "%1 seconds" +msgstr "" + +#: dummy.cpp:127 +msgid "Could not call %1. The current desktop session is not active." +msgstr "" + +#: dummy.cpp:128 +msgid "Could not set %1. The current desktop session is not active." +msgstr "" + +#: dummy.cpp:129 +msgid "Stopped %1. The current desktop session is now inactive." +msgstr "" + +#: dummy.cpp:130 +msgid "Restarted %1. The current desktop session is now active again." +msgstr "" + +#: log_viewer.cpp:78 +msgid "Form1" +msgstr "" + +#: log_viewer.cpp:79 +msgid "Save As ..." +msgstr "" + +#: log_viewer.cpp:80 +msgid "Close" +msgstr "" + +#: logviewer.cpp:44 +#, fuzzy +msgid "KPowersave Logfile Viewer: %1" +msgstr "O Powersave mudou para o esquema: %1" + +#: logviewer.cpp:89 +msgid "File already exist. Overwrite the file?" +msgstr "" + +#: logviewer.cpp:90 logviewer.cpp:97 +msgid "Error while save logfile" +msgstr "" + +#: logviewer.cpp:95 +msgid "File already exist." +msgstr "" + +#: logviewer.cpp:98 +msgid "Try other filename ..." +msgstr "" + +#: suspenddialog.cpp:70 +msgid "Preparing Suspend..." +msgstr "Preparando suspensão..." + +#: kpowersave.cpp:168 +msgid "Configure KPowersave..." +msgstr "Configurar KPowersave..." + +#: kpowersave.cpp:171 configure_Dialog.cpp:915 +msgid "Configure Notifications..." +msgstr "Configurar Notificações..." + +#: kpowersave.cpp:175 +msgid "Start YaST2 Power Management Module..." +msgstr "Iniciar Módulo de Gerenciamento de Energia do YaST2..." + +#: kpowersave.cpp:189 kpowersave.cpp:2106 kpowersave.cpp:2166 +#: kpowersave.cpp:2253 +msgid "Standby" +msgstr "Standby" + +#: kpowersave.cpp:191 kpowersave.cpp:198 +msgid "Set CPU Frequency Policy" +msgstr "Definir Política de Freqüência da CPU" + +#: kpowersave.cpp:205 kpowersave.cpp:206 +msgid "Set Active Scheme" +msgstr "Definir Esquema Ativo" + +#: kpowersave.cpp:212 +msgid "Disable Actions on Inactivity" +msgstr "Desabilitar Ações em Inatividade" + +#: kpowersave.cpp:219 kpowersave.cpp:229 +msgid "&Help" +msgstr "&Ajuda" + +#: kpowersave.cpp:221 +msgid "&KPowersave Handbook" +msgstr "Manual do &KPowersave" + +#: kpowersave.cpp:224 +msgid "&Report a bug ..." +msgstr "&Relatar um bug ..." + +#: kpowersave.cpp:226 +msgid "&About KPowersave" +msgstr "&Sobre o KPowersave" + +#: kpowersave.cpp:275 kpowersave.cpp:648 kpowersave.cpp:656 kpowersave.cpp:703 +#: kpowersave.cpp:710 kpowersave.cpp:759 kpowersave.cpp:766 kpowersave.cpp:815 +#: kpowersave.cpp:822 kpowersave.cpp:1126 kpowersave.cpp:1241 +#: kpowersave.cpp:1270 kpowersave.cpp:2183 +msgid "WARNING" +msgstr "AVISO" + +#: kpowersave.cpp:275 +msgid "Cannot find any schemes." +msgstr "" + +#: kpowersave.cpp:453 +msgid "No information about battery and AC status available" +msgstr "Não estão disponíveis informações sobre o status da bateria e da CA" + +#: kpowersave.cpp:456 +msgid "Plugged in -- fully charged" +msgstr "Conectado -- totalmente carregado" + +#: kpowersave.cpp:460 +msgid "Plugged in" +msgstr "Conectado" + +#: kpowersave.cpp:464 +msgid "Plugged in -- %1% charged (%2:%3 h until full charged)" +msgstr "Conectado -- %1% carregado (%2:%3 h até estar totalmente carregado)" + +#: kpowersave.cpp:467 +msgid "Plugged in -- %1% charged (%2:%3 remaining hours)" +msgstr "Conectado - %1% carregado (%2:%3 horas restantes)" + +#: kpowersave.cpp:471 kpowersave.cpp:475 +#, c-format +msgid "Plugged in -- %1% charged" +msgstr "Conectado -- %1% carregado" + +#: kpowersave.cpp:474 +msgid "Plugged in -- no battery" +msgstr "Conectado - sem bateria" + +#: kpowersave.cpp:480 +msgid "Running on batteries -- %1% charged (%2:%3 hours remaining)" +msgstr "Usando baterias -- %1% carregada (%2:%3 horas restantes)" + +#: kpowersave.cpp:484 +#, c-format +msgid "Running on batteries -- %1% charged" +msgstr "Usando baterias -- %1% carregada" + +#: kpowersave.cpp:491 +msgid " -- battery is charging" +msgstr "-- bateria carregando" + +#: kpowersave.cpp:649 kpowersave.cpp:657 +msgid "Could not start YaST Power Management Module. Check if it is installed." +msgstr "" +"Impossível iniciar YaST Power Management Module. Verificar se está instalado." + +#: kpowersave.cpp:703 +#, fuzzy +msgid "Suspend to disk failed" +msgstr "Suspender para Disco" + +#: kpowersave.cpp:711 +msgid "Suspend to disk disabled by administrator." +msgstr "Suspensão para disco desabilitada pelo administrador." + +#: kpowersave.cpp:759 +#, fuzzy +msgid "Suspend to RAM failed" +msgstr "Suspender para RAM" + +#: kpowersave.cpp:767 +msgid "Suspend to RAM disabled by administrator." +msgstr "Suspensão para RAM desabilitada pelo administrador." + +#: kpowersave.cpp:815 +#, fuzzy +msgid "Standby failed" +msgstr "Standby após:" + +#: kpowersave.cpp:822 +msgid "Standby disabled by administrator." +msgstr "Standby desabilitado pelo administrador." + +#: kpowersave.cpp:853 +msgid "System is going into suspend mode now" +msgstr "O sistema vai entrar no modo de suspensão agora" + +#: kpowersave.cpp:1039 +msgid "Could not call DCOP interface to umount external media." +msgstr "" + +#: kpowersave.cpp:1044 +msgid "" +"Could not umount external media before suspend/standby. \n" +" (Reason: %1)\n" +" \n" +" Would you like to continue suspend/standby anyway? \n" +"(Warning: Continue suspend can cause data loss!)" +msgstr "" + +#: kpowersave.cpp:1052 +msgid "Error while prepare %1" +msgstr "" + +#: kpowersave.cpp:1053 +#, fuzzy +msgid "Suspend anyway" +msgstr "Suspender após:" + +#: kpowersave.cpp:1053 +#, fuzzy +msgid "Cancel suspend" +msgstr "Habilitar Suspensão Automática" + +#: kpowersave.cpp:1127 +msgid "" +"Could not lock the screen. There may be a problem with the selected \n" +"lock method or something else." +msgstr "" +"Impossível bloquear a tela. Talvez haja algum problema no método de \n" +"bloqueio selecionado ou outro problema." + +#: kpowersave.cpp:1144 +msgid "The Lid was closed." +msgstr "A Tampa foi fechada." + +#: kpowersave.cpp:1156 +msgid "The Lid was opened." +msgstr "A Tampa foi aberta." + +#: kpowersave.cpp:1223 +msgid "Start KPowersave automatically when you log in?" +msgstr "Iniciar KPowersave automaticamente ao efetuar login?" + +#: kpowersave.cpp:1224 +msgid "Question" +msgstr "Pergunta" + +#: kpowersave.cpp:1225 +msgid "Start Automatically" +msgstr "Iniciar Automaticamente" + +#: kpowersave.cpp:1225 +msgid "Do Not Start" +msgstr "Não Iniciar" + +#: kpowersave.cpp:1242 +msgid "CPU Freq Policy %1 could not be set." +msgstr "A Política de Freqüência da CPU %1 não pôde ser definida." + +#: kpowersave.cpp:1271 +msgid "Scheme %1 could not be activated." +msgstr "O esquema %1 não pôde ser ativado." + +#: kpowersave.cpp:1600 +#, fuzzy +msgid "" +"The D-Bus daemon is not running.\n" +"Starting it will provide full functionality: /etc/init.d/dbus start" +msgstr "" +"O daemon DBUS não está sendo executado.\n" +"Ao iniciá-lo, você terá funcionalidade completa: /etc/init.d/dbus start" + +#: kpowersave.cpp:1611 +msgid "Don't show this message again." +msgstr "Não exibir esta mensagem novamente." + +#: kpowersave.cpp:1637 +msgid "ERROR" +msgstr "ERRO" + +#: kpowersave.cpp:1638 +msgid "Could not get information from HAL. The haldaemon is maybe not running." +msgstr "" +"Impossível obter informações do HAL. Talvez o haldaemon não esteja em " +"execução." + +#: kpowersave.cpp:1641 +msgid "Error" +msgstr "Erro" + +#: kpowersave.cpp:1912 +msgid "" +"Battery state changed to WARNING -- remaining time: %1 hours and %2 minutes." +msgstr "" +"Estado da bateria mudou para AVISO -- tempo restante: %1 horas e %2 minutos." + +#: kpowersave.cpp:1921 +msgid "" +"Battery state changed to LOW -- remaining time: %1 hours and %2 minutes." +msgstr "" +"Estado da bateria mudou para BAIXO - tempo restante: %1 horas e %2 minutos." + +#: kpowersave.cpp:1932 +#, fuzzy +msgid "" +"Battery state changed to CRITICAL -- remaining time: %1 hours and %2 " +"minutes.\n" +"Shut down your system or plug in the power cable immediately. Otherwise the " +"machine\n" +"will go shutdown in 30 seconds" +msgstr "" +"Estado da bateria mudou para CRÃTICO - tempo restante: %1 horas e %2 " +"minutos. Desligue o sistema ou conecte o cabo de energia imediatamente." + +#: kpowersave.cpp:1943 +#, fuzzy +msgid "" +"Battery state changed to CRITICAL -- remaining time: %1 hours and %2 " +"minutes.\n" +"Shut down your system or plug in the power cable immediately." +msgstr "" +"Estado da bateria mudou para CRÃTICO - tempo restante: %1 horas e %2 " +"minutos. Desligue o sistema ou conecte o cabo de energia imediatamente." + +#: kpowersave.cpp:2041 +msgid "AC adapter plugged in" +msgstr "Adaptador de CA conectado" + +#: kpowersave.cpp:2043 +msgid "AC adapter unplugged" +msgstr "Adaptador de CA desconectado" + +#: kpowersave.cpp:2078 +#, fuzzy +msgid "Switched to scheme: %1" +msgstr "O Powersave mudou para o esquema: %1" + +#: kpowersave.cpp:2095 kpowersave.cpp:2100 kpowersave.cpp:2105 +msgid "System is going into %1 now." +msgstr "O sistema vai para %1 agora." + +#: kpowersave.cpp:2155 kpowersave.cpp:2160 kpowersave.cpp:2165 +msgid "System is resumed from %1." +msgstr "O sistema continuou a partir de %1." + +#: kpowersave.cpp:2184 +msgid "Could not remount (all) external storage media." +msgstr "" + +#: kpowersave.cpp:2192 +msgid "An unknown error occurred while %1. The errorcode is: '%2'" +msgstr "" + +#: kpowersave.cpp:2197 +msgid "Do you want to have a look at the log file?" +msgstr "" + +#: kpowersave.cpp:2198 kpowersave.cpp:2224 +msgid "Error while %1" +msgstr "" + +#: configure_Dialog.cpp:831 +msgid "KPowersave Settings" +msgstr "Configurações de KPowersave" + +#: configure_Dialog.cpp:832 +#, fuzzy +msgid "Apply" +msgstr "&Aplicar" + +#: configure_Dialog.cpp:834 +#, fuzzy +msgid "Help" +msgstr "&Ajuda" + +#: configure_Dialog.cpp:840 +msgid "Enable specific display power management" +msgstr "Habilitar gerenciamento de energia de monitor específico" + +#: configure_Dialog.cpp:841 +msgid "Standby after:" +msgstr "Standby após:" + +#: configure_Dialog.cpp:842 +msgid "Only blank the screen" +msgstr "Somente limpar a tela" + +#: configure_Dialog.cpp:843 +msgid "Disable screen saver" +msgstr "Desabilitar protetor de tela" + +#: configure_Dialog.cpp:844 +msgid "Enable specific screensaver settings" +msgstr "Habilitar configurações específicas de protetor de tela" + +#: configure_Dialog.cpp:845 +msgid "Suspend after:" +msgstr "Suspender após:" + +#: configure_Dialog.cpp:846 +msgid "Power off after:" +msgstr "Desligar após:" + +#: configure_Dialog.cpp:847 +msgid "Disable display power management" +msgstr "Desabilitar gerenciamento de energia de monitor" + +#: configure_Dialog.cpp:848 configure_Dialog.cpp:849 configure_Dialog.cpp:850 +#: configure_Dialog.cpp:862 configure_Dialog.cpp:873 +msgid " min" +msgstr " min" + +#: configure_Dialog.cpp:851 +msgid "Screen Saver and DPMS" +msgstr "Protetor de tela e DPMS" + +#: configure_Dialog.cpp:852 +msgid "Settings" +msgstr "Configurações" + +#: configure_Dialog.cpp:853 +msgid "Reset" +msgstr "Redefinir" + +#: configure_Dialog.cpp:855 +#, fuzzy +msgid "Enable scheme specific Brightness settings" +msgstr "Habilitar configurações de brilho e específicas ao esquema" + +#: configure_Dialog.cpp:858 +msgid "Brightness" +msgstr "Brilho" + +#: configure_Dialog.cpp:859 +msgid "Enable autosuspend" +msgstr "Habilitar Suspensão Automática" + +#: configure_Dialog.cpp:860 configure_Dialog.cpp:867 +msgid "Enable scheme-specific blacklist" +msgstr "Habilitar Lista Negra Específica do Esquema" + +#: configure_Dialog.cpp:861 configure_Dialog.cpp:870 +msgid "after:" +msgstr "após:" + +#: configure_Dialog.cpp:863 configure_Dialog.cpp:868 +msgid "Edit Blacklist..." +msgstr "Editar Lista Negra..." + +#: configure_Dialog.cpp:864 configure_Dialog.cpp:869 +msgid "If the current desktop user is inactive the computer will:" +msgstr "" +"Se o usuário da área de trabalho atual estiver inativo, o computador irá:" + +#: configure_Dialog.cpp:865 +msgid "Autosuspend" +msgstr "Suspender Automaticamente" + +#: configure_Dialog.cpp:866 +#, fuzzy +msgid "Enable autodimm the display" +msgstr "Permitir o escurecimento da tela durante períodos de inatividade" + +#: configure_Dialog.cpp:871 configure_Dialog.cpp:893 configure_Dialog.cpp:894 +#: configure_Dialog.cpp:895 configure_Dialog.cpp:896 configure_Dialog.cpp:897 +#: configure_Dialog.cpp:898 +msgid " %" +msgstr "" + +#: configure_Dialog.cpp:872 +msgid "dimm to:" +msgstr "" + +#: configure_Dialog.cpp:874 +msgid "Autodimm" +msgstr "" + +#: configure_Dialog.cpp:879 +#, fuzzy +msgid "Set CPU Frequency Policy:" +msgstr "Definir Política de Freqüência da CPU" + +#: configure_Dialog.cpp:880 +#, fuzzy +msgid "CPU Frequency Policy" +msgstr "Definir Política de Freqüência da CPU" + +#: configure_Dialog.cpp:881 +msgid "Disable Notifications" +msgstr "Desabilitar Notificações" + +#: configure_Dialog.cpp:884 +msgid "New" +msgstr "" + +#: configure_Dialog.cpp:885 +msgid "Scheme Settings" +msgstr "Configurações do Esquema" + +#: configure_Dialog.cpp:886 +msgid "" +"Define the battery warning levels (in percentage) and the releated action if " +"the level get reached:" +msgstr "" + +#: configure_Dialog.cpp:887 +#, fuzzy +msgid "Warning level:" +msgstr "Aviso" + +#: configure_Dialog.cpp:888 +msgid "Low level:" +msgstr "" + +#: configure_Dialog.cpp:889 +#, fuzzy +msgid "Critical level:" +msgstr "Crítico" + +#: configure_Dialog.cpp:890 configure_Dialog.cpp:891 configure_Dialog.cpp:892 +msgid "if reached call:" +msgstr "" + +#: configure_Dialog.cpp:899 +#, fuzzy +msgid "Battery" +msgstr "Bateria %1" + +#: configure_Dialog.cpp:900 +msgid "" +"Define the action which should be executed if the related button get pressed:" +msgstr "" + +#: configure_Dialog.cpp:901 +#, fuzzy +msgid "Suspend-to-disk Button:" +msgstr "Suspender para Disco" + +#: configure_Dialog.cpp:902 +msgid "Sleep button:" +msgstr "" + +#: configure_Dialog.cpp:903 +msgid "Lid close Button:" +msgstr "" + +#: configure_Dialog.cpp:904 +#, fuzzy +msgid "Power Button:" +msgstr "Consumo de energia" + +#: configure_Dialog.cpp:905 +msgid "Button Events" +msgstr "" + +#: configure_Dialog.cpp:906 +msgid "" +"Select the following schemes as default if the system is running on AC or on " +"batteries." +msgstr "" + +#: configure_Dialog.cpp:907 +#, fuzzy +msgid "Battery scheme:" +msgstr "Estado da bateria:" + +#: configure_Dialog.cpp:908 +#, fuzzy +msgid "AC scheme:" +msgstr "Esquema:" + +#: configure_Dialog.cpp:909 +msgid "Default Schemes" +msgstr "" + +#: configure_Dialog.cpp:910 +msgid "Lock screen before suspend or standby" +msgstr "Bloquear tela antes da suspensão ou standby." + +#: configure_Dialog.cpp:911 +msgid "Lock screen with:" +msgstr "Bloquear tela com:" + +#: configure_Dialog.cpp:912 +msgid "Lock screen on lid close" +msgstr "Bloquear tela ao fechar tampa." + +#: configure_Dialog.cpp:913 +msgid "Lock Screen" +msgstr "Bloquear tela" + +#: configure_Dialog.cpp:914 +msgid "Notifications" +msgstr "Notificações" + +#: configure_Dialog.cpp:916 +msgid "Autostart" +msgstr "Autostart" + +#: configure_Dialog.cpp:917 +msgid "Never ask me again on exit" +msgstr "Não perguntar novamente ao sair." + +#: configure_Dialog.cpp:918 +msgid "KPowersave starts automatically on login" +msgstr "O KPowersave inicia automaticamente no login." + +#: configure_Dialog.cpp:919 +#, fuzzy +msgid "General Blacklists" +msgstr "Lista Negra Geral" + +#: configure_Dialog.cpp:920 +#, fuzzy +msgid "Edit Autosuspend Blacklist..." +msgstr "Edição da Lista Negra de Suspensão Automática" + +#: configure_Dialog.cpp:921 +#, fuzzy +msgid "Edit Autodimm Blacklist..." +msgstr "Editar Lista Negra..." + +#: configure_Dialog.cpp:923 +msgid "General Settings" +msgstr "Configurações gerais" + +#~ msgid "" +#~ "Inactivity detected.\n" +#~ " Machine autosuspend in %1 seconds." +#~ msgstr "" +#~ "Inatividade detectada.\n" +#~ " A máquina será suspensa automaticamente em %1 segundos." + +#~ msgid "" +#~ "Inactivity detected.\n" +#~ " Dim display in %1 seconds to %2%." +#~ msgstr "" +#~ "Inatividade detectada.\n" +#~ " Escurecer tela em %1 segundos para %2%." + +#~ msgid "" +#~ "If you know that it should work, you might override this detection with " +#~ "setting SUSPEND2RAM_FORCE=\"yes\" in /etc/powersave/sleep." +#~ msgstr "" +#~ "Se tiver certeza de que isso funcionará, você poderá ignorar esta " +#~ "detecção configurando SUSPEND2RAM_FORCE=yes em /etc/powersave/sleep." + +#~ msgid "Modules unloaded:" +#~ msgstr "Módulo descarregado:" + +#~ msgid "checking resume kernel" +#~ msgstr "verificando kernel de continuação" + +#~ msgid "checking for swap partition" +#~ msgstr "verificando partições de troca" + +#~ msgid "unmounting FAT/NTFS partitions" +#~ msgstr "desmontando partições FAT/NTFS" + +#~ msgid "stopping services" +#~ msgstr "parando serviços" + +#~ msgid "stopping service:" +#~ msgstr "parando serviço:" + +#~ msgid "unloading modules" +#~ msgstr "descarregando módulos" + +#~ msgid "unloading module:" +#~ msgstr "descarregando módulo:" + +#~ msgid "syncing file systems" +#~ msgstr "sincronizando sistemas de arquivos" + +#~ msgid "preparing bootloader" +#~ msgstr "preparando carregador de boot" + +#~ msgid "Edit General Blacklist..." +#~ msgstr "Editar Lista Negra Geral..." + +#~ msgid "&Cancel" +#~ msgstr "&Cancelar" + +#~ msgid "" +#~ "This scheme support suspend and disable devices. This is a EXPERIMENTAL " +#~ "feature of powersave to save more power on laptops. If you select this " +#~ "scheme you can get in trouble (e.g. kernel oops). You can configure this " +#~ "feature currently in the powersave config files. Please report all " +#~ "problems via http://www.opensuse.org/Submit_a_bug \n" +#~ "\n" +#~ "Would you switch the scheme (on your own risk)?" +#~ msgstr "" +#~ "Este esquema aceita dispositivos de desativação e suspensão. Este é um " +#~ "recurso EXPERIMENTAL do powersave para aumentar a economia de energia em " +#~ "laptops. A seleção desse esquema pode causar problemas (por ex., kernel " +#~ "oops). É possível configurar este recurso atualmente nos arquivos de " +#~ "configuração do powersave. Informe todos os problemas na página http://" +#~ "www.opensuse.org/Submit_a_bug \n" +#~ " \n" +#~ " Deseja mudar o esquema (por seu próprio risco)?" + +#~ msgid "Continue" +#~ msgstr "Continuar" + +#~ msgid " -- %1 MHz" +#~ msgstr "-- %1 MHz" + +#~ msgid "Enabled" +#~ msgstr "habilitado" + +#~ msgid "In" +#~ msgstr "entrada" + +#~ msgid "Out" +#~ msgstr "saída" + +#~ msgid "You are not permitted to connect to the daemon" +#~ msgstr "Você não tem permissão para se conectar ao daemon" diff --git a/po/ru.po b/po/ru.po new file mode 100644 index 0000000..0ae04bb --- /dev/null +++ b/po/ru.po @@ -0,0 +1,1626 @@ +# translation of kpowersave.ru.po to Russian +# This file is distributed under the same license as the PACKAGE package. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER. +# +# Antje Faber , 2004. +# Vitaliy V. Sayfullin , 2006. +# Aleksey Osipov , 2007. +# Igor A. Kondrashkin , 2007 +msgid "" +msgstr "" +"Project-Id-Version: kpowersave.ru\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2007-08-10 03:16+0200\n" +"PO-Revision-Date: 2007-08-20 10:38+0400\n" +"Last-Translator: Aleksey Osipov \n" +"Language-Team: Russian \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: KBabel 1.11.4\n" + +#: detailed_Dialog.cpp:228 +msgid "kpowersave" +msgstr "kpowersave" + +#: detailed_Dialog.cpp:229 +msgid "General Information" +msgstr "Общие ÑведениÑ" + +#: detailed_Dialog.cpp:232 +msgid "Battery Status" +msgstr "СоÑтоÑÐ½Ð¸Ñ Ð±Ð°Ñ‚Ð°Ñ€ÐµÐ¸" + +#: detailed_Dialog.cpp:233 +msgid "AC Adapter" +msgstr "Ðдаптер питаниÑ" + +#: detailed_Dialog.cpp:234 detaileddialog.cpp:391 +msgid "plugged in" +msgstr "подключен" + +#: detailed_Dialog.cpp:235 +msgid "Power Consumtion: " +msgstr "Потребление Ñнергии:" + +#: detailed_Dialog.cpp:237 +msgid "Processor Status" +msgstr "СоÑтоÑние процеÑÑора" + +# ok button label +#: detailed_Dialog.cpp:238 blacklistedit_Dialog.cpp:130 info_Dialog.cpp:198 +#: configure_Dialog.cpp:838 +msgid "OK" +msgstr "OK" + +#: blacklisteditdialog.cpp:60 +msgid "General Blacklist" +msgstr "Общий черный ÑпиÑок" + +#: blacklisteditdialog.cpp:63 +msgid "Scheme: " +msgstr "Схема:" + +#: blacklisteditdialog.cpp:114 +msgid "Selected entry removed." +msgstr "Ð’Ñ‹Ð±Ñ€Ð°Ð½Ð½Ð°Ñ Ð·Ð°Ð¿Ð¸ÑÑŒ удалена." + +#: blacklisteditdialog.cpp:117 +msgid "Could not remove the selected entry." +msgstr "Ðевозможно удалить выбранную запиÑÑŒ." + +#: blacklisteditdialog.cpp:137 +msgid "Inserted new entry." +msgstr "Ð’Ñтавлена Ð½Ð¾Ð²Ð°Ñ Ð·Ð°Ð¿Ð¸ÑÑŒ." + +#: blacklisteditdialog.cpp:141 +msgid "Entry exists already. Did not insert new entry." +msgstr "ЗапиÑÑŒ уже ÑущеÑтвует. ÐÐ¾Ð²Ð°Ñ Ð·Ð°Ð¿Ð¸ÑÑŒ не добавлена." + +#: blacklisteditdialog.cpp:144 +msgid "Empty entry was not inserted." +msgstr "ПуÑÑ‚Ð°Ñ Ð·Ð°Ð¿Ð¸ÑÑŒ не была добавлена." + +#: inactivity.cpp:298 +msgid "" +"Could not start 'pidof'. Could not autosuspend the machine.\n" +"Please check your installation." +msgstr "" +"Ðевозможно запуÑтить 'pidof'. Ðевозможен автопереход компьютера в ÑпÑщий " +"режим.Проверьте уÑтановку ÑиÑтемы." + +#: blacklistedit_Dialog.cpp:129 +msgid "Autosuspend Blacklist Edit" +msgstr "Правка черного ÑпиÑка автоперехода в ÑпÑщий режим." + +# cancel button label +#: blacklistedit_Dialog.cpp:132 configuredialog.cpp:1079 +#: configure_Dialog.cpp:836 +msgid "Cancel" +msgstr "Отмена" + +#: blacklistedit_Dialog.cpp:135 +msgid "Add" +msgstr "Добавить" + +#: blacklistedit_Dialog.cpp:136 +msgid "Remove" +msgstr "Удалить" + +#: infodialog.cpp:76 infodialog.cpp:78 main.cpp:55 +msgid "KPowersave" +msgstr "KPowersave" + +#: configuredialog.cpp:116 configuredialog.cpp:121 configuredialog.cpp:721 +msgid " - not supported" +msgstr " - не поддерживаетÑÑ" + +#: configuredialog.cpp:150 configuredialog.cpp:317 detaileddialog.cpp:432 +#: kpowersave.cpp:192 settings.cpp:66 configure_Dialog.cpp:876 +msgid "Performance" +msgstr "ПроизводительноÑÑ‚ÑŒ" + +#: configuredialog.cpp:154 configuredialog.cpp:319 detaileddialog.cpp:438 +#: kpowersave.cpp:194 settings.cpp:68 configure_Dialog.cpp:878 +msgid "Powersave" +msgstr "ЭнергоÑбережение" + +#: configuredialog.cpp:159 configuredialog.cpp:321 kpowersave.cpp:1478 +#: settings.cpp:70 +msgid "Presentation" +msgstr "ПрезентациÑ" + +#: configuredialog.cpp:164 configuredialog.cpp:323 kpowersave.cpp:1473 +#: settings.cpp:72 +msgid "Acoustic" +msgstr "Шумоподавление" + +#: configuredialog.cpp:169 configuredialog.cpp:171 configuredialog.cpp:172 +#: configuredialog.cpp:173 kpowersave.cpp:1484 +msgid "Advanced Powersave" +msgstr "РаÑширенное ÑнергоÑбережение" + +#: configuredialog.cpp:271 +msgid "" +"This enables specific screen saver settings. \n" +"Note: If selected, the global screen saver settings are \n" +"overwritten while kpowersave runs." +msgstr "" +"Включение оÑобых параметров заÑтавки. \n" +"Примечание: еÑли выбрано, то глобальные параметры заÑтавки\n" +"перезапиÑываютÑÑ Ð½Ð° Ð²Ñ€ÐµÐ¼Ñ Ñ€Ð°Ð±Ð¾Ñ‚Ñ‹ kpowersave." + +#: configuredialog.cpp:274 +msgid "" +"This disables the screen saver. \n" +"Note: If selected, the global screen saver settings are \n" +"overwritten while kpowersave runs." +msgstr "" +"Отключение заÑтавки. \n" +"Примечание: еÑли выбрано, то глобальные пареметры заÑтавки \n" +"перезапиÑываютÑÑ Ð½Ð° Ð²Ñ€ÐµÐ¼Ñ Ñ€Ð°Ð±Ð¾Ñ‚Ñ‹ kpowersave." + +#: configuredialog.cpp:277 +msgid "" +"This blanks the screen instead of using a specific screen saver. \n" +"Note: This may work only with KScreensaver." +msgstr "" +"Гашение Ñкрана вмеÑто иÑÐ¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ð½Ð¸Ñ ÐºÐ¾Ð½ÐºÑ€ÐµÑ‚Ð½Ð¾Ð¹ заÑтавки. \n" +"Примечание: Работает только Ñ KScreensaver." + +#: configuredialog.cpp:279 +msgid "" +"This enables specific DPMS settings. \n" +"Note: If selected, the global DPMS settings are \n" +"overwritten while kpowersave runs." +msgstr "" +"Включение оÑобых параметров DPMS.\n" +"Примечание: ЕÑли выбрано, глобальные параметры DPMS\n" +"перезапиÑываютÑÑ Ð½Ð° Ð²Ñ€ÐµÐ¼Ñ Ñ€Ð°Ð±Ð¾Ñ‚Ñ‹ kpowersave." + +#: configuredialog.cpp:282 +msgid "This disables DPMS support." +msgstr "Отключение поддержки DPMS." + +#: configuredialog.cpp:283 +msgid "If selected, the screen is locked on suspend or standby." +msgstr "" +"ЕÑли выбрано, Ñкран блокируетÑÑ Ð¿Ñ€Ð¸ переходе в ÑпÑщий или ждущий режим." + +#: configuredialog.cpp:284 +msgid "If selected, the screen is locked if the lid close event is triggered." +msgstr "" +"ЕÑли выбрано, Ñкран блокируетÑÑ Ð¿Ñ€Ð¸ запуÑке ÑÐ¾Ð±Ñ‹Ñ‚Ð¸Ñ Ð·Ð°ÐºÑ€Ñ‹Ñ‚Ð¸Ñ ÐºÑ€Ñ‹ÑˆÐºÐ¸ ноутбука." + +#: configuredialog.cpp:286 +msgid "" +"Check this box to enable or disable automatic suspension of the computer." +msgstr "" +"Этот флажок иÑпользуетÑÑ Ð´Ð»Ñ Ð²ÐºÐ»ÑŽÑ‡ÐµÐ½Ð¸Ñ Ð¸Ð»Ð¸ Ð¾Ñ‚ÐºÐ»ÑŽÑ‡ÐµÐ½Ð¸Ñ Ð°Ð²Ñ‚Ð¾Ð¼Ð°Ñ‚Ð¸Ñ‡ÐµÑкого " +"перехода компьютера в ÑпÑщий режим." + +#: configuredialog.cpp:288 +msgid "" +"Activate this action if the user was inactive for the defined time \n" +"(greater than 0 minutes). If empty, nothing happens." +msgstr "" +"Ðктивировать Ñто дейÑтвие, еÑли пользователь не работал некоторое Ð²Ñ€ÐµÐ¼Ñ \n" +"(больше чем 0 минут). ЕÑли пуÑто - ничего не произойдет." + +#: configuredialog.cpp:291 +msgid "All scheme-related screen saver and DPMS settings." +msgstr "Ð’Ñе параметры заÑтавки и DPMS, отноÑÑщиеÑÑ Ðº Ñхеме." + +#: configuredialog.cpp:292 +msgid "All scheme-related display brightness settings." +msgstr "Ð’Ñе параметры ÑркоÑти Ñкрана, отноÑÑщиеÑÑ Ðº Ñхеме." + +#: configuredialog.cpp:293 +msgid "All scheme-related automatic suspend settings." +msgstr "" +"Ð’Ñе параметры автоматичеÑкого перехода в ÑпÑщий режим, отноÑÑщиеÑÑ Ðº Ñхеме." + +#: configuredialog.cpp:295 +msgid "" +"Here you can change the brightness of your display. \n" +"Use the slider to change the brightness directly for \n" +"testing. To reset back to previous level, please press \n" +"the 'Reset' button. " +msgstr "" +"ЗдеÑÑŒ можно изменить ÑркоÑÑ‚ÑŒ вашего диÑплеÑ.\n" +"ИÑпользуйте ползунок Ð´Ð»Ñ Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ ÑркоÑти Ð´Ð»Ñ Ð¿Ñ€Ð¾Ð²ÐµÑ€ÐºÐ¸.\n" +"Чтобы вернуть предыдущий уровень, нажмите кнопку\n" +"'СброÑ'." + +#: configuredialog.cpp:299 +msgid "Use this button to set back the slider and the display brightness." +msgstr "ИÑпользуйте Ñту кнопку Ð´Ð»Ñ Ð²Ð¾ÑÑÑ‚Ð°Ð½Ð¾Ð²Ð»ÐµÐ½Ð¸Ñ Ð¿Ñ€ÐµÐ´Ñ‹Ð´ÑƒÑ‰ÐµÐ¹ ÑркоÑти Ñкрана." + +#: configuredialog.cpp:352 +msgid "Press this button to delete the selected scheme." +msgstr "Ðажмите Ñту кнопку Ð´Ð»Ñ ÑƒÐ´Ð°Ð»ÐµÐ½Ð¸Ñ Ð²Ñ‹Ð±Ñ€Ð°Ð½Ð½Ð¾Ð¹ Ñхемы." + +#: configuredialog.cpp:357 +msgid "You can't delete the current AC or battery scheme." +msgstr "ÐÐµÐ»ÑŒÐ·Ñ ÑƒÐ´Ð°Ð»Ð¸Ñ‚ÑŒ текущую Ñхему Ð¿Ð¸Ñ‚Ð°Ð½Ð¸Ñ Ð¾Ñ‚ Ñети или батареи." + +#: configuredialog.cpp:363 +msgid "You can't delete this default scheme." +msgstr "ÐÐµÐ»ÑŒÐ·Ñ ÑƒÐ´Ð°Ð»Ð¸Ñ‚ÑŒ Ñхему пол умолчанию." + +#: configuredialog.cpp:546 +msgid "" +"Your hardware supports to change the brightness. The values of the slider " +"are in percent and mapped to the available brightness levels of your " +"hardware." +msgstr "" +"Ваше оборудование поддерживает изменение ÑркоÑти. Ð—Ð½Ð°Ñ‡ÐµÐ½Ð¸Ñ Ð¿Ð¾Ð»Ð¾Ð¶ÐµÐ½Ð¸Ð¹ движка " +"в процентах ÑоответÑтвуют доÑтупным уровнÑм ÑркоÑти вашего оборудованиÑ." + +#: configuredialog.cpp:553 +msgid "" +"Your Hardware currently not support changing the brightness of your display." +msgstr "" +"Ваше оборудование в данный момент не поддерживает изменение ÑркоÑти Ñкрана." + +#: configuredialog.cpp:664 +msgid "Select Automatically" +msgstr "Выбрать автоматичеÑки" + +#: configuredialog.cpp:665 +msgid "KScreensaver" +msgstr "KScreensaver" + +#: configuredialog.cpp:666 +msgid "XScreensaver" +msgstr "XScreensaver" + +#: configuredialog.cpp:667 +msgid "xlock" +msgstr "xlock" + +#: configuredialog.cpp:668 +msgid "GNOME Screensaver" +msgstr "ЗаÑтавка GNOME" + +#: configuredialog.cpp:930 +msgid "" +"There are unsaved changes in the active scheme.\n" +"Apply the changes before jumping to the next scheme or discard the changes?" +msgstr "" +"ИмеютÑÑ Ð½ÐµÑохраненные Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð² активной Ñхеме.\n" +"Применить или отклонить Ñти Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð¿ÐµÑ€ÐµÐ´ переходом на Ñледущую Ñхему?" + +#: configuredialog.cpp:933 configuredialog.cpp:983 +msgid "Unsaved Changes" +msgstr "ÐеÑохраненные изменениÑ" + +#: configuredialog.cpp:981 +msgid "" +"There are unsaved changes.\n" +"Apply the changes before cancel or discard the changes?" +msgstr "" +"ИмеютÑÑ Ð½ÐµÑохраненные изменениÑ.\n" +"Применить Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð¿ÐµÑ€ÐµÐ´ выходом?" + +#: configuredialog.cpp:1032 +msgid "Please insert a name for the new scheme:" +msgstr "Введите Ð¸Ð¼Ñ Ð´Ð»Ñ Ð½Ð¾Ð²Ð¾Ð¹ Ñхемы:" + +# Initialization dialog caption +#: configuredialog.cpp:1038 +msgid "KPowersave Configuration" +msgstr "ÐаÑтройка KPowersave" + +#: configuredialog.cpp:1046 +msgid "Error: A scheme with this name already exist.\n" +msgstr "Ошибка: Схема Ñ Ñтим названием уже ÑущеÑтвует.\n" + +# power-off message +#: configuredialog.cpp:1076 +msgid "Do you really want to delete the %1 scheme?" +msgstr "ДейÑтвительно удалить Ñхему %1?" + +#: configuredialog.cpp:1078 +msgid "Confirm delete scheme" +msgstr "Подтвердите удаление Ñхемы." + +#: configuredialog.cpp:1079 configure_Dialog.cpp:883 +msgid "Delete" +msgstr "Удалить" + +#: configuredialog.cpp:1095 +msgid "Could not delete the selected scheme." +msgstr "Ðевозможно удалить выбранную Ñхему." + +#: configuredialog.cpp:1324 +msgid "" +"Note: If you select this option, the computer will suspend or standby " +"if the current user is inactive for the defined time even if somebody is " +"logged in remotely to the X server.

    This feature can also produce " +"problems with some programs, such as video players or cd burner. These " +"programs can be blacklisted by checking Enable scheme-specific blacklist and click Edit Blacklist.... If this does not help, report the " +"problem or deactivate autosuspend.

    Really use this option?" +msgstr "" +"Примечание: ЕÑли выбран Ñтот вариант, компьютер перейдет в ÑпÑщий или " +"ждущий режим, еÑли текущий пользователь был неактивен определенное времени, " +"даже еÑли кто-либо подключен к Ñерверу X удаленно.

    Эта Ñ„ÑƒÐ½ÐºÑ†Ð¸Ñ Ð¼Ð¾Ð¶ÐµÑ‚ " +"привеÑти к проблемам Ñ Ð½ÐµÐºÐ¾Ñ‚Ð¾Ñ€Ñ‹Ð¼Ð¸ программами, например проигрывателÑми " +"видео или программами запиÑи компакт-диÑков. Такие программы можно внеÑти в " +"черный ÑпиÑок, уÑтановив флажок Включить черный ÑпиÑок, завиÑÑщий от " +"Ñхемы и нажав кнопку Изменить черный ÑпиÑок.... ЕÑли Ñто не " +"помогает, Ñообщите о проблеме в Ñлужбу техничеÑкой поддержки или выключите " +"автоматичеÑкий переход в ÑпÑщий режим.

    ИÑпользовать Ñтот вариант?" + +#: configuredialog.cpp:1402 configuredialog.cpp:1532 +msgid "" +"The blacklist of the selected scheme is empty. Import the general blacklist?" +msgstr "Черный ÑпиÑок выбранной Ñхемы пуÑÑ‚. Импортировать общий черный ÑпиÑок?" + +#: configuredialog.cpp:1404 configuredialog.cpp:1534 +msgid "Import" +msgstr "Импортировать" + +#: configuredialog.cpp:1404 configuredialog.cpp:1534 +msgid "Do Not Import" +msgstr "Ðе импортировать" + +#: configuredialog.cpp:1416 +msgid "General Autosuspend Blacklist" +msgstr "Общий черный ÑпиÑок автоперехода в ÑпÑщий режим." + +#: configuredialog.cpp:1546 +msgid "General Autodimm Blacklist" +msgstr "Общий черный ÑпиÑок ÑÐ½Ð¸Ð¶ÐµÐ½Ð¸Ñ ÑркоÑти Ñкрана" + +#: configuredialog.cpp:1779 configuredialog.cpp:1816 +msgid "Shutdown" +msgstr "Выключить" + +#: configuredialog.cpp:1781 configuredialog.cpp:1819 +msgid "Logout Dialog" +msgstr "Диалоговое окно выхода" + +#: configuredialog.cpp:1784 configuredialog.cpp:1822 kpowersave.cpp:182 +#: kpowersave.cpp:2096 kpowersave.cpp:2156 kpowersave.cpp:2247 +msgid "Suspend to Disk" +msgstr "СпÑщий режим Ñ Ñохранением ÑоÑтоÑÐ½Ð¸Ñ Ð½Ð° диÑке" + +#: configuredialog.cpp:1787 configuredialog.cpp:1825 kpowersave.cpp:186 +#: kpowersave.cpp:2101 kpowersave.cpp:2161 kpowersave.cpp:2250 +msgid "Suspend to RAM" +msgstr "СпÑщий режим Ñ Ñохранением ÑоÑтоÑÐ½Ð¸Ñ Ð² памÑти" + +#: configuredialog.cpp:1790 configuredialog.cpp:1828 +msgid "CPU Powersave policy" +msgstr "Политика ÑнергоÑÐ±ÐµÑ€ÐµÐ¶ÐµÐ½Ð¸Ñ Ð´Ð»Ñ Ð¿Ñ€Ð¾Ñ†ÐµÑÑора" + +#: configuredialog.cpp:1793 configuredialog.cpp:1831 +msgid "CPU Dynamic policy" +msgstr "Политика динамичеÑкой чаÑтоты процеÑÑора" + +#: configuredialog.cpp:1796 configuredialog.cpp:1834 +msgid "CPU Performance policy" +msgstr "Политика производительноÑти процеÑÑора" + +#: configuredialog.cpp:1799 configuredialog.cpp:1837 +msgid "Set Brightness to" +msgstr "УÑтановить ÑркоÑÑ‚ÑŒ" + +#: main.cpp:43 +msgid "KDE Frontend for Power Management, Battery Monitoring and Suspend" +msgstr "" +"Ð˜Ð½Ñ‚ÐµÑ€Ñ„ÐµÐ¹Ñ Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÐµÐ»Ñ KDE Ð´Ð»Ñ ÑнергоÑбережениÑ, Ð½Ð°Ð±Ð»ÑŽÐ´ÐµÐ½Ð¸Ñ Ð·Ð° батареей и " +"ÑпÑщего режима." + +#: main.cpp:45 +msgid "Force a new check for ACPI support" +msgstr "Принудительно Ñнова проверить поддержку ACPI" + +#: main.cpp:46 +msgid "Trace function entry and leave points for debug\n" +msgstr "" +"ОтÑлеживать точки входа в функции и выхода из них Ð´Ð»Ñ Ð¾Ñ‚Ð»Ð°Ð´Ð¾Ñ‡Ð½Ñ‹Ñ… целей\n" + +#: main.cpp:59 +msgid "Current maintainer" +msgstr "Текуший Ñопроводитель" + +#: main.cpp:62 +msgid "Powersave developer and for D-Bus integration" +msgstr "Ð”Ð»Ñ Ñ€Ð°Ð·Ñ€Ð°Ð±Ð¾Ñ‚Ñ‡Ð¸ÐºÐ¾Ð² ÑнергоÑÐ±ÐµÑ€ÐµÐ¶ÐµÐ½Ð¸Ñ Ð¸ Ð¸Ð½Ñ‚ÐµÐ³Ñ€Ð°Ñ†Ð¸Ñ Ñ D-Bus" + +#: main.cpp:64 +msgid "Powersave developer and tester" +msgstr "Разработчик ÑнергоÑÐ±ÐµÑ€ÐµÐ¶ÐµÐ½Ð¸Ñ Ð¸ теÑтировщик" + +#: main.cpp:66 +msgid "Added basic detailed dialog" +msgstr "Добавлен оÑновной подробный диалог" + +#: main.cpp:67 +msgid "Packaging Debian and Ubuntu" +msgstr "Пакетирование Ð´Ð»Ñ Debian и Ubuntu" + +#: detaileddialog.cpp:61 +msgid "KPowersave Information Dialog" +msgstr "Информационный диалог KPowersave" + +#: detaileddialog.cpp:65 configure_Dialog.cpp:882 configure_Dialog.cpp:922 +msgid "Miscellaneous" +msgstr "Разное" + +#: detaileddialog.cpp:66 +msgid "CPUs" +msgstr "ПроцеÑÑоры" + +#: detaileddialog.cpp:73 detaileddialog.cpp:453 +msgid "Battery state:" +msgstr "СоÑтоÑние батареи:" + +#: detaileddialog.cpp:79 +msgid "Total:" +msgstr "Ð’Ñего:" + +#: detaileddialog.cpp:81 detaileddialog.cpp:83 +msgid "Battery %1" +msgstr "Ð‘Ð°Ñ‚Ð°Ñ€ÐµÑ %1" + +#: detaileddialog.cpp:114 +msgid "Processor %1" +msgstr "ПроцеÑÑор %1" + +#: detaileddialog.cpp:230 +msgid "not present" +msgstr "отÑутÑтвует" + +#: detaileddialog.cpp:243 +msgid "charged" +msgstr "зарÑжена" + +#: detaileddialog.cpp:245 +msgid "%1:%2 h until charged" +msgstr "%1:%2 ч до Ð¾ÐºÐ¾Ð½Ñ‡Ð°Ð½Ð¸Ñ Ð·Ð°Ñ€Ñдки" + +#: detaileddialog.cpp:248 +msgid "%1:%2 h remaining" +msgstr "%1:%2 ч оÑталоÑÑŒ" + +#: detaileddialog.cpp:253 detaileddialog.cpp:441 detaileddialog.cpp:468 +msgid "unknown" +msgstr "неизвеÑтно" + +#: detaileddialog.cpp:325 detaileddialog.cpp:368 +msgid "%v MHz" +msgstr "%v МГц" + +#: detaileddialog.cpp:330 detaileddialog.cpp:363 dummy.cpp:58 +msgid "deactivated" +msgstr "выключeн" + +#: detaileddialog.cpp:395 +msgid "unplugged" +msgstr "отключен" + +#: detaileddialog.cpp:412 +msgid "Current Scheme: " +msgstr "Ð¢ÐµÐºÑƒÑ‰Ð°Ñ Ñхема:" + +#: detaileddialog.cpp:429 +msgid "Current CPU Frequency Policy:" +msgstr "Ð¢ÐµÐºÑƒÑ‰Ð°Ñ Ð¿Ð¾Ð»Ð¸Ñ‚Ð¸ÐºÐ° чаÑтоты процеÑÑора:" + +#: detaileddialog.cpp:435 kpowersave.cpp:193 configure_Dialog.cpp:877 +msgid "Dynamic" +msgstr "ДинамичеÑки" + +#: detaileddialog.cpp:456 +msgid "Critical" +msgstr "КритичеÑкое" + +#: detaileddialog.cpp:459 +msgid "Low" +msgstr "РазрÑжено" + +#: detaileddialog.cpp:462 kpowersave.cpp:277 kpowersave.cpp:652 +#: kpowersave.cpp:659 kpowersave.cpp:705 kpowersave.cpp:713 kpowersave.cpp:761 +#: kpowersave.cpp:769 kpowersave.cpp:817 kpowersave.cpp:824 +#: kpowersave.cpp:1131 kpowersave.cpp:1243 kpowersave.cpp:1272 +#: kpowersave.cpp:1610 kpowersave.cpp:1670 kpowersave.cpp:2186 +msgid "Warning" +msgstr "Предупреждение" + +#: detaileddialog.cpp:465 +msgid "ok" +msgstr "ок" + +#: detaileddialog.cpp:474 detaileddialog.cpp:477 +msgid "Set brightness supported:" +msgstr "УÑтановка поддержки ÑƒÐ¿Ñ€Ð°Ð²Ð»ÐµÐ½Ð¸Ñ ÑркоÑтью:" + +#: detaileddialog.cpp:475 +msgid "yes" +msgstr "да" + +#: detaileddialog.cpp:478 +msgid "no" +msgstr "нет" + +#: detaileddialog.cpp:481 detaileddialog.cpp:485 +msgid "HAL Daemon:" +msgstr "Демон HAL:" + +#: detaileddialog.cpp:482 +msgid "running" +msgstr "работает" + +#: detaileddialog.cpp:486 +msgid "not running" +msgstr "не работает" + +#: info_Dialog.cpp:197 +msgid "Information" +msgstr "ИнформациÑ" + +#: dummy.cpp:36 +msgid "If the current desktop user is inactive, dim the display to:" +msgstr "ЕÑли текущий рабочий Ñтол не активен, то перевеÑти Ñкран на:" + +#: dummy.cpp:37 +msgid "Enable dim display on inactivity" +msgstr "Уменьшать ÑркоÑÑ‚ÑŒ диÑÐ¿Ð»ÐµÑ Ð¿Ñ€Ð¸ проÑтое" + +#: dummy.cpp:38 +msgid "Blacklist" +msgstr "Чёрный ÑпиÑок" + +#: dummy.cpp:39 +msgid "" +"Here you can add programs which should, if running, prevent the dimming of " +"the display." +msgstr "" +"ЗдеÑÑŒ можно добавить программы, которые не допуÑÑ‚ÑÑ‚ ÑƒÐ¼ÐµÐ½ÑŒÑˆÐµÐ½Ð¸Ñ ÑркоÑти " +"Ñкрана во Ð²Ñ€ÐµÐ¼Ñ Ñвоей работы." + +#: dummy.cpp:41 +msgid "Would you like to import a predefined blacklist?" +msgstr "Импортировать предопределенный чёрный ÑпиÑок?" + +#: dummy.cpp:42 +msgid "Disable CPUs/Cores" +msgstr "Выключить процеÑÑоры/Ñдра" + +#: dummy.cpp:43 +msgid "Max. running CPUs:" +msgstr "МакÑ. работающих процеÑÑоров:" + +#: dummy.cpp:44 +msgid "Max. running CPUs/Cores:" +msgstr "МакÑ. работающих процеÑÑоров/Ñдер:" + +#: dummy.cpp:45 +msgid "Min. running CPUs:" +msgstr "Мин. работÑющих процеÑÑоров:" + +#: dummy.cpp:46 +msgid "Min. running CPUs/Cores:" +msgstr "Мин. работающих процеÑÑоров/Ñдер:" + +#: dummy.cpp:47 +msgid "Enable to switch off CPUs/cores" +msgstr "Разрешить отключение процеÑÑоров/Ñдер" + +#: dummy.cpp:48 +msgid "You have a multiprocessor/multicore machine." +msgstr "У Ð²Ð°Ñ Ð¼Ð½Ð¾Ð³Ð¾Ð¿Ñ€Ð¾Ñ†ÐµÑÑорнаÑ/многоÑÐ´ÐµÑ€Ð½Ð°Ñ Ð¼Ð°ÑˆÐ¸Ð½Ð°." + +#: dummy.cpp:49 +msgid "" +"You can disable CPUs/cores to reduce power consumption and save battery " +"power." +msgstr "" +"Можно отключать процеÑÑоры/Ñдра Ð´Ð»Ñ ÑƒÐ¼ÐµÐ½ÑŒÑˆÐµÐ½Ð¸Ñ Ð¿Ð¾Ñ‚Ñ€ÐµÐ±Ð»ÐµÐ½Ð¸Ñ Ñнергии и " +"Ñкономии батареи." + +#: dummy.cpp:50 +msgid "Device" +msgstr "УÑтройÑтво" + +#: dummy.cpp:51 +msgid "Devices" +msgstr "УÑтройÑтва" + +#: dummy.cpp:52 +msgid "Device class" +msgstr "КлаÑÑ ÑƒÑтройÑтв" + +#: dummy.cpp:53 +msgid "activate" +msgstr "включить" + +#: dummy.cpp:54 +msgid "Activate" +msgstr "Включить" + +#: dummy.cpp:55 +msgid "deactivate" +msgstr "выключить" + +#: dummy.cpp:56 +msgid "Deactivate" +msgstr "Выключить" + +#: dummy.cpp:57 +msgid "activated" +msgstr "включено" + +#: dummy.cpp:59 +msgid "do nothing" +msgstr "ничего не делать" + +#: dummy.cpp:60 +msgid "Deactivate following devices:" +msgstr "Выключить Ñледующие уÑтройÑтва:" + +#: dummy.cpp:61 +msgid "Activate following devices" +msgstr "Включить Ñледующие уÑтройÑтва" + +#: dummy.cpp:62 +msgid "Reactivate following devices" +msgstr "Повторно включить Ñледующие уÑтройÑтва" + +#: dummy.cpp:63 +msgid "Deactivate following device classes:" +msgstr "Выключить Ñледующие клаÑÑÑ‹ уÑтройÑтв:" + +#: dummy.cpp:64 +msgid "Activate following devices classes" +msgstr "Включить Ñледующие клаÑÑÑ‹ уÑтройÑтв" + +#: dummy.cpp:65 +msgid "Reactivate following device classes" +msgstr "Повторно включить Ñледующие клаÑÑÑ‹ уÑтройÑтв" + +#: dummy.cpp:66 +msgid "If the scheme switched all devices are again activated." +msgstr "ЕÑли Ñхема включена, вÑе уÑтройÑтва Ñнова включены." + +#: dummy.cpp:67 +msgid "This is a experimental feature." +msgstr "Это ÑкÑÐ¿ÐµÑ€Ð¸Ð¼ÐµÐ½Ñ‚Ð°Ð»ÑŒÐ½Ð°Ñ Ð²Ð¾Ð·Ð¼Ð¾Ð¶Ð½Ð¾ÑÑ‚ÑŒ." + +#: dummy.cpp:68 +msgid "If you have problems with this feature, please report them." +msgstr "ЕÑли Ñ Ñтой функцией возникли проблемы, Ñообщите авторам." + +#: dummy.cpp:69 +msgid "Select one of the available devices and click on " +msgstr "Выберите одно из доÑтупных уÑтройÑтв и нажмите " + +#: dummy.cpp:70 +msgid "Select one of the available device classes and click on " +msgstr "Выберите один из доÑтупных клаÑÑов уÑтройÑтв и нажмите " + +#: dummy.cpp:71 +msgid "Select one or more of the available devices and click on " +msgstr "Выберите одно или неÑколько доÑтупных уÑтройÑтв и нажмите " + +#: dummy.cpp:72 +msgid "Select one or more of the available device classes and click on " +msgstr "Выберите один или неÑколько доÑтупных клаÑÑов уÑтройÑтв и нажмите " + +#: dummy.cpp:73 +msgid "" +"Please note: If you e.g. deactivate a network device you may lose your " +"internet connection." +msgstr "" +"Обратите внимание: ЕÑли, например, вы отключите Ñетевое уÑтройÑтво, то " +"потерÑете подключение к Интернету." + +#: dummy.cpp:75 +msgid "" +"Note: If you select this option, the computer will suspend or standby " +"if the current user is inactive for the defined time.

    This feature " +"can also produce problems with some programs, such as video players or cd " +"burner. These programs can be blacklisted by checking Enable scheme-" +"specific blacklist and click Edit Blacklist.... If this does not " +"help, report the problem or deactivate autosuspend.

    Really use this " +"option?" +msgstr "" +"Примечание: ЕÑли вы выберете Ñтот вариант, компьютер может перейти в " +"ÑпÑщий или ждущий режим, еÑли текущий пользователь ничего не делал " +"определенное времÑ.

    Эта Ñ„ÑƒÐ½ÐºÑ†Ð¸Ñ Ð¼Ð¾Ð¶ÐµÑ‚ привеÑти к проблемам Ñ " +"некоторыми программами, например проигрывателÑми видео или программами " +"запиÑи компакт-диÑков. Такие программы можно внеÑти в черный ÑпиÑок, " +"уÑтановов флажок Включить черный ÑпиÑок, завиÑÑщий от Ñхемы и нажакв " +"кнопкуИзменить черный ÑпиÑок.... ЕÑли добавление в черный ÑпиÑок не " +"помогает, Ñообщите о проблеме в Ñлужбу техничеÑкой поддержки или выключите " +"автоматичеÑкий переход в ÑпÑщий режим заÑыпание.

    ИÑпользовать Ñтот " +"вариант?" + +#: dummy.cpp:82 +msgid "Try to use only one CPU/Core." +msgstr "Попытка иÑпользовать только один процеÑÑор или одно Ñдро" + +#: dummy.cpp:83 +msgid "" +"Reduce power consumption by try to use only one CPU/Core instead of " +"spreading the work over all/multiple CPUs." +msgstr "" +"Скоратить Ñнергопотребление, пытаÑÑÑŒ иÑпользовать только один процеÑÑор или " +"одно Ñдро вмеÑто раÑÐ¿Ñ€ÐµÐ´ÐµÐ»ÐµÐ½Ð¸Ñ Ñ€Ð°Ð±Ð¾Ñ‚Ñ‹ между вÑеми процеÑÑорами или Ñдрами." + +#: dummy.cpp:87 +msgid "Could not load the global configuration." +msgstr "Ðевозможно загрузить глобальную наÑтройку." + +#: dummy.cpp:88 +msgid "Could not load the requested scheme configuration." +msgstr "Ðевозможно загрузить наÑтройку требуемой Ñхемы." + +#: dummy.cpp:89 +msgid "Configure the current scheme." +msgstr "ÐаÑтройка текущей Ñхемы." + +#: dummy.cpp:90 +msgid "Try loading the default configuration." +msgstr "Попытка загрузить наÑтройку по умолчанию." + +#: dummy.cpp:91 +msgid "Maybe the global configuration file is empty or missing." +msgstr "Возможно, файл глобальной наÑтройки пуÑтой или отÑутÑтвует." + +#: dummy.cpp:94 +msgid "Cannot connect to D-Bus. The D-Bus daemon may not be running." +msgstr "Ðевозможно подключитьÑÑ Ðº D-Bus. Скорее вÑего, демон D-Bus не запущен." + +#: dummy.cpp:95 +msgid "" +"Scheme switched to %1. \n" +" Deactivate following devices: %2" +msgstr "" +"Схема переключена на %1.\n" +"Отключены уÑтройÑтва: %2" + +#: dummy.cpp:96 +msgid "" +"Scheme switched to %1. \n" +" Activate following devices: %2" +msgstr "" +"Схема переключена на %1.\n" +"Включены уÑтройÑтва: %2" + +#: dummy.cpp:97 +msgid "Report ..." +msgstr "Отчёт ..." + +#: dummy.cpp:98 +msgid "Suspend to RAM is not supported on your machine." +msgstr "" +"СпÑщий режим Ñ Ñохранением ÑоÑтоÑÐ½Ð¸Ñ Ð² памÑти не поддерживаетÑÑ Ð½Ð° вашей " +"машине." + +#: dummy.cpp:99 +msgid "Additionally, please mail the output of %1 to %2 . Thanks!" +msgstr "" +"Отправьте, пожалуйÑта, вывод %1 Ñообщением Ñлектронной почты Ð´Ð»Ñ %2. СпаÑибо!" + +#: dummy.cpp:100 +msgid "Power consumption" +msgstr "Потребление Ñнергии" + +#: dummy.cpp:103 +msgid "KScreensaver not found." +msgstr "KScreensaver не найден" + +#: dummy.cpp:104 +msgid "Try locking with XScreensaver or xlock." +msgstr "Попытка блокировать Ñ Ð¿Ð¾Ð¼Ð¾Ñ‰ÑŒÑŽ XScreensaver или xlock" + +#: dummy.cpp:105 +msgid "XScreensaver not found." +msgstr "XScreensaver не найден" + +#: dummy.cpp:106 +msgid "Try locking the screen with xlock." +msgstr "Попытка блокировать Ñкран Ñ Ð¿Ð¾Ð¼Ð¾Ñ‰ÑŒÑŽ xlock." + +#: dummy.cpp:107 +msgid "" +"XScreensaver and xlock not found. It is not possible to lock the screen. " +"Check your installation." +msgstr "" +"XScreensaver и xlock не найдены. Ðевозможно заблокировать Ñкран. Проверьте " +"вашу уÑтановку." + +#: dummy.cpp:111 +msgid "HAL daemon:" +msgstr "Демон HAL:" + +#: dummy.cpp:112 +msgid "D-Bus daemon:" +msgstr "Демон D-Bus:" + +#: dummy.cpp:113 +msgid "ConsoleKit daemon:" +msgstr "Демон ConsoleKit:" + +#: dummy.cpp:114 +msgid "Autosuspend activated:" +msgstr "Ðвтопереход в ÑпÑщий режим включен:" + +#: dummy.cpp:115 +msgid "Autodimm activated:" +msgstr "ÐвтоÑнижение ÑркоÑти Ñкрана включено:" + +#: dummy.cpp:116 +msgid "enabled" +msgstr "включено" + +#: dummy.cpp:117 +msgid "Session active:" +msgstr "Ðктивный ÑеанÑ:" + +#: dummy.cpp:120 +msgid "Inactivity detected." +msgstr "Обнаружено отÑутÑтвие активноÑти." + +#: dummy.cpp:121 +msgid "To stop the %1 press the 'Cancel' button before the countdown expire." +msgstr "" +"Ð”Ð»Ñ Ð¾Ñтановки %1 нажмите кнопку 'Отмена' до Ð¾ÐºÐ¾Ð½Ñ‡Ð°Ð½Ð¸Ñ Ð¾Ð±Ñ€Ð°Ñ‚Ð½Ð¾Ð³Ð¾ отÑчета" + +#: dummy.cpp:122 +msgid "The computer autosuspend in: " +msgstr "Ðвтопереход в ÑпÑщий режим в:" + +#: dummy.cpp:123 +#, fuzzy, c-format +msgid "The display get dimmed down to %1% in: " +msgstr "ЯркоÑÑ‚ÑŒ диÑÐ¿Ð»ÐµÑ Ð±ÑƒÐ´ÐµÑ‚ Ñнижена до %1 в:" + +#: dummy.cpp:124 +msgid "%1 seconds" +msgstr "%1 Ñекунд" + +#: dummy.cpp:127 +msgid "Could not call %1. The current desktop session is not active." +msgstr "Ðе удалоÑÑŒ вызвать %1. Текущий ÑÐµÐ°Ð½Ñ Ñ€Ð°Ð±Ð¾Ñ‡ÐµÐ³Ð¾ Ñтола неактивен." + +#: dummy.cpp:128 +msgid "Could not set %1. The current desktop session is not active." +msgstr "Ðе удалоÑÑŒ уÑтановить %1. Текущий ÑÐµÐ°Ð½Ñ Ñ€Ð°Ð±Ð¾Ñ‡ÐµÐ³Ð¾ Ñтола неактивен." + +#: dummy.cpp:129 +msgid "Stopped %1. The current desktop session is now inactive." +msgstr "%1 оÑтановлен. Текущий ÑÐµÐ°Ð½Ñ Ñ€Ð°Ð±Ð¾Ñ‡ÐµÐ³Ð¾ теперь неактивен." + +#: dummy.cpp:130 +msgid "Restarted %1. The current desktop session is now active again." +msgstr "%1 перезапущен. Текущий ÑÐµÐ°Ð½Ñ Ñ€Ð°Ð±Ð¾Ñ‡ÐµÐ³Ð¾ теперь Ñнова активен." + +#: log_viewer.cpp:78 +msgid "Form1" +msgstr "Form1" + +#: log_viewer.cpp:79 +msgid "Save As ..." +msgstr "Сохранить как..." + +#: log_viewer.cpp:80 +msgid "Close" +msgstr "Закрыть" + +#: logviewer.cpp:44 +msgid "KPowersave Logfile Viewer: %1" +msgstr "СредÑтво проÑмотра файлов журнала KPowersave: %1" + +#: logviewer.cpp:89 +msgid "File already exist. Overwrite the file?" +msgstr "Файл уже ÑущеÑтвует. Заменить его?." + +#: logviewer.cpp:90 logviewer.cpp:97 +msgid "Error while save logfile" +msgstr "Ошибка при Ñохранении файла журнала" + +#: logviewer.cpp:95 +msgid "File already exist." +msgstr "Файл уже ÑущеÑтвует." + +#: logviewer.cpp:98 +msgid "Try other filename ..." +msgstr "Попробуйте другое Ð¸Ð¼Ñ Ñ„Ð°Ð¹Ð»Ð°..." + +#: suspenddialog.cpp:70 +msgid "Preparing Suspend..." +msgstr "Подготовка к переходу в ÑпÑщий режим..." + +#: kpowersave.cpp:168 +msgid "Configure KPowersave..." +msgstr "ÐаÑтроить KPowersave..." + +#: kpowersave.cpp:171 configure_Dialog.cpp:915 +msgid "Configure Notifications..." +msgstr "ÐаÑтроить уведомлениÑ..." + +#: kpowersave.cpp:175 +msgid "Start YaST2 Power Management Module..." +msgstr "ЗапуÑк Ð¼Ð¾Ð´ÑƒÐ»Ñ ÑƒÐ¿Ñ€Ð°Ð²Ð»ÐµÐ½Ð¸Ñ Ð¿Ð¸Ñ‚Ð°Ð½Ð¸ÐµÐ¼ YaST2" + +#: kpowersave.cpp:189 kpowersave.cpp:2106 kpowersave.cpp:2166 +#: kpowersave.cpp:2253 +msgid "Standby" +msgstr "Ждущий режим" + +#: kpowersave.cpp:191 kpowersave.cpp:198 +msgid "Set CPU Frequency Policy" +msgstr "УÑтановить политику чаÑтоты ЦП" + +#: kpowersave.cpp:205 kpowersave.cpp:206 +msgid "Set Active Scheme" +msgstr "УÑтановить активную Ñхему" + +#: kpowersave.cpp:212 +msgid "Disable Actions on Inactivity" +msgstr "Отключить дейÑÑ‚Ð²Ð¸Ñ Ð¿Ñ€Ð¸ неактивноÑти" + +#: kpowersave.cpp:219 kpowersave.cpp:229 +msgid "&Help" +msgstr "Справка" + +#: kpowersave.cpp:221 +msgid "&KPowersave Handbook" +msgstr "РуководÑтво по KPowersave" + +#: kpowersave.cpp:224 +msgid "&Report a bug ..." +msgstr "Сообщить об ошибке" + +#: kpowersave.cpp:226 +msgid "&About KPowersave" +msgstr "О программе" + +#: kpowersave.cpp:275 kpowersave.cpp:648 kpowersave.cpp:656 kpowersave.cpp:703 +#: kpowersave.cpp:710 kpowersave.cpp:759 kpowersave.cpp:766 kpowersave.cpp:815 +#: kpowersave.cpp:822 kpowersave.cpp:1126 kpowersave.cpp:1241 +#: kpowersave.cpp:1270 kpowersave.cpp:2183 +msgid "WARNING" +msgstr "Ð’ÐИМÐÐИЕ" + +# Error message +#: kpowersave.cpp:275 +msgid "Cannot find any schemes." +msgstr "Ðевозможно найти Ñхемы." + +#: kpowersave.cpp:453 +msgid "No information about battery and AC status available" +msgstr "Ðет Ñведений о ÑоÑтоÑнии батареи и питаниÑ" + +#: kpowersave.cpp:456 +msgid "Plugged in -- fully charged" +msgstr "Подключен к Ñети - Ð±Ð°Ñ‚Ð°Ñ€ÐµÑ Ð¿Ð¾Ð»Ð½Ð¾Ñтью зарÑжена" + +#: kpowersave.cpp:460 +msgid "Plugged in" +msgstr "Подключен к Ñети" + +#: kpowersave.cpp:464 +msgid "Plugged in -- %1% charged (%2:%3 h until full charged)" +msgstr "Подключен к Ñети - Ð±Ð°Ñ‚Ð°Ñ€ÐµÑ Ð·Ð°Ñ€Ñжена на %1% (%2:%3 до полного зарÑда)" + +#: kpowersave.cpp:467 +msgid "Plugged in -- %1% charged (%2:%3 remaining hours)" +msgstr "Подключен к Ñети - Ð±Ð°Ñ‚Ð°Ñ€ÐµÑ Ð·Ð°Ñ€Ñжена на %1% (оÑталоÑÑŒ %2:%3)" + +#: kpowersave.cpp:471 kpowersave.cpp:475 +#, c-format +msgid "Plugged in -- %1% charged" +msgstr "Подключен к Ñети - Ð±Ð°Ñ‚Ð°Ñ€ÐµÑ Ð·Ð°Ñ€Ñжена на %1%" + +#: kpowersave.cpp:474 +msgid "Plugged in -- no battery" +msgstr "Подключен к Ñети - нет батареи" + +#: kpowersave.cpp:480 +msgid "Running on batteries -- %1% charged (%2:%3 hours remaining)" +msgstr "Питание от батарей - Ð±Ð°Ñ‚Ð°Ñ€ÐµÑ Ð·Ð°Ñ€Ñжена на %1% (оÑталоÑÑŒ %2:%3)" + +#: kpowersave.cpp:484 +#, c-format +msgid "Running on batteries -- %1% charged" +msgstr "Питание от батарей - Ð±Ð°Ñ‚Ð°Ñ€ÐµÑ Ð·Ð°Ñ€Ñжена на %1%" + +#: kpowersave.cpp:491 +msgid " -- battery is charging" +msgstr " -- Ð±Ð°Ñ‚Ð°Ñ€ÐµÑ Ð·Ð°Ñ€ÑжаетÑÑ" + +#: kpowersave.cpp:649 kpowersave.cpp:657 +msgid "Could not start YaST Power Management Module. Check if it is installed." +msgstr "" +"Ðе удалоÑÑŒ запуÑтить модуль ÑƒÐ¿Ñ€Ð°Ð²Ð»ÐµÐ½Ð¸Ñ Ð¿Ð¸Ñ‚Ð°Ð½Ð¸ÐµÐ¼ YaST2. Проверьте, уÑтановлен " +"ли он." + +#: kpowersave.cpp:703 +msgid "Suspend to disk failed" +msgstr "Сбой перехода в ÑпÑщий режим Ñ Ñохранением на диÑк" + +#: kpowersave.cpp:711 +msgid "Suspend to disk disabled by administrator." +msgstr "СпÑщий режим Ñ Ñохранением на диÑк отключен админиÑтратором." + +#: kpowersave.cpp:759 +msgid "Suspend to RAM failed" +msgstr "Сбой перехода в ÑпÑщий режим Ñ Ñохранением в памÑти" + +#: kpowersave.cpp:767 +msgid "Suspend to RAM disabled by administrator." +msgstr "СпÑщий режим Ñ Ñохранением в памÑти отключен админиÑтратором." + +#: kpowersave.cpp:815 +msgid "Standby failed" +msgstr "Сбой перехода в ждущий режим" + +#: kpowersave.cpp:822 +msgid "Standby disabled by administrator." +msgstr "Ждущий режим отключен админиÑтратором." + +#: kpowersave.cpp:853 +msgid "System is going into suspend mode now" +msgstr "СиÑтема начинает переход в ÑпÑщий режим" + +#: kpowersave.cpp:1039 +msgid "Could not call DCOP interface to umount external media." +msgstr "" +"Ðе удалоÑÑŒ вызвать Ð¸Ð½Ñ‚ÐµÑ€Ñ„ÐµÐ¹Ñ DCOP Ð´Ð»Ñ Ñ€Ð°Ð·Ð¼Ð¾Ð½Ñ‚Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ Ð²Ð½ÐµÑˆÐ½Ð¸Ñ… ноÑителей." + +#: kpowersave.cpp:1044 +msgid "" +"Could not umount external media before suspend/standby. \n" +" (Reason: %1)\n" +" \n" +" Would you like to continue suspend/standby anyway? \n" +"(Warning: Continue suspend can cause data loss!)" +msgstr "" +"Ðе удалоÑÑŒ размонтировать внешние ноÑители до перехода в ÑпÑщий или ждущий " +"режим. \n" +" (Причина: %1)\n" +" \n" +" Продолжить переход в ÑпÑщий/ждущий режим? \n" +"(Предупреждение: продолжение перехода в ÑпÑщий режим может привеÑти к потере " +"данных!)" + +#: kpowersave.cpp:1052 +msgid "Error while prepare %1" +msgstr "Ошибка при подготовке %1" + +#: kpowersave.cpp:1053 +msgid "Suspend anyway" +msgstr "Ð’Ñе равно перейти в ÑпÑщий режим" + +#: kpowersave.cpp:1053 +msgid "Cancel suspend" +msgstr "Отменить переход в ÑпÑщий режим" + +#: kpowersave.cpp:1127 +msgid "" +"Could not lock the screen. There may be a problem with the selected \n" +"lock method or something else." +msgstr "" +"Ðевозможно заблокировать Ñкран. Возможно, имеетÑÑ Ð¿Ñ€Ð¾Ð±Ð»ÐµÐ¼Ð° Ñ Ð²Ñ‹Ð±Ñ€Ð°Ð½Ð½Ñ‹Ð¼ \n" +"методом блокировки или другаÑ." + +#: kpowersave.cpp:1144 +msgid "The Lid was closed." +msgstr "Крышка была закрыта." + +#: kpowersave.cpp:1156 +msgid "The Lid was opened." +msgstr "Крышка была открыта." + +#: kpowersave.cpp:1223 +msgid "Start KPowersave automatically when you log in?" +msgstr "ÐвтоматичеÑки запуÑкать KPowersave при входе в ÑиÑтему?" + +#: kpowersave.cpp:1224 +msgid "Question" +msgstr "ВопроÑ" + +#: kpowersave.cpp:1225 +msgid "Start Automatically" +msgstr "ЗапуÑкать автоматичеÑки" + +#: kpowersave.cpp:1225 +msgid "Do Not Start" +msgstr "Ðе запуÑкать" + +#: kpowersave.cpp:1242 +msgid "CPU Freq Policy %1 could not be set." +msgstr "Ðе удалоÑÑŒ уÑтановить политику чаÑтоты процеÑÑора %1." + +#: kpowersave.cpp:1271 +msgid "Scheme %1 could not be activated." +msgstr "Ðе удалоÑÑŒ включить Ñхему %1." + +#: kpowersave.cpp:1600 +msgid "" +"The D-Bus daemon is not running.\n" +"Starting it will provide full functionality: /etc/init.d/dbus start" +msgstr "" +"Демон D-Bus не запущен.\n" +"Функции будут доÑтупны поÑле запуÑка: /etc/init.d/dbus start" + +#: kpowersave.cpp:1611 +msgid "Don't show this message again." +msgstr "Ðе показывать Ñто Ñообщение." + +#: kpowersave.cpp:1637 +msgid "ERROR" +msgstr "ОШИБКÐ" + +#: kpowersave.cpp:1638 +msgid "Could not get information from HAL. The haldaemon is maybe not running." +msgstr "Ðе удалоÑÑŒ получить информацию из HAL. Возможно, haldaemon не запущен." + +#: kpowersave.cpp:1641 +msgid "Error" +msgstr "Ошибка" + +#: kpowersave.cpp:1912 +msgid "" +"Battery state changed to WARNING -- remaining time: %1 hours and %2 minutes." +msgstr "Предупреждение: разрÑд батареи -- оÑталоÑÑŒ: %1 Ñ‡Ð°Ñ Ð¸ %2 мин." + +#: kpowersave.cpp:1921 +msgid "" +"Battery state changed to LOW -- remaining time: %1 hours and %2 minutes." +msgstr "Ðизкий зарÑд батареи -- оÑталоÑÑŒ: %1 Ñ‡Ð°Ñ Ð¸ %2 мин." + +#: kpowersave.cpp:1932 +msgid "" +"Battery state changed to CRITICAL -- remaining time: %1 hours and %2 " +"minutes.\n" +"Shut down your system or plug in the power cable immediately. Otherwise the " +"machine\n" +"will go shutdown in 30 seconds" +msgstr "" +"КритичеÑкий зарÑд батареи -- оÑталоÑÑŒ: %1 Ñ‡Ð°Ñ Ð¸ %2 мин.\n" +"Выключите ÑиÑтему или немедленно подключите кабель питаниÑ. Ð’ противном " +"Ñлучае\n" +"ÑиÑтема автоматичеÑки выключитÑÑ Ñ‡ÐµÑ€ÐµÐ· 30 Ñ" + +#: kpowersave.cpp:1943 +msgid "" +"Battery state changed to CRITICAL -- remaining time: %1 hours and %2 " +"minutes.\n" +"Shut down your system or plug in the power cable immediately." +msgstr "" +"КритичеÑкий зарÑд батареи -- оÑталоÑÑŒ: %1 Ñ‡Ð°Ñ Ð¸ %2 мин.\n" +"Выключите ÑиÑтему или немедленно подключите кабель питаниÑ." + +#: kpowersave.cpp:2041 +msgid "AC adapter plugged in" +msgstr "Ðдаптер Ð¿Ð¸Ñ‚Ð°Ð½Ð¸Ñ Ð¿Ð¾Ð´ÐºÐ»ÑŽÑ‡ÐµÐ½" + +#: kpowersave.cpp:2043 +msgid "AC adapter unplugged" +msgstr "Ðдаптер Ð¿Ð¸Ñ‚Ð°Ð½Ð¸Ñ Ð¾Ñ‚ÐºÐ»ÑŽÑ‡ÐµÐ½" + +#: kpowersave.cpp:2078 +msgid "Switched to scheme: %1" +msgstr "Переключено на Ñхему: %1" + +#: kpowersave.cpp:2095 kpowersave.cpp:2100 kpowersave.cpp:2105 +msgid "System is going into %1 now." +msgstr "СиÑтема начинает переход в %1." + +#: kpowersave.cpp:2155 kpowersave.cpp:2160 kpowersave.cpp:2165 +msgid "System is resumed from %1." +msgstr "СиÑтема воÑÑтановлена из %1." + +#: kpowersave.cpp:2184 +msgid "Could not remount (all) external storage media." +msgstr "Ðе удалоÑÑŒ перемонтиорвать (вÑе) внешние накопители." + +#: kpowersave.cpp:2192 +msgid "An unknown error occurred while %1. The errorcode is: '%2'" +msgstr "При %1 возникла неизвеÑÑ‚Ð½Ð°Ñ Ð¾ÑˆÐ¸Ð±ÐºÐ°. Код ошибки: '%2'" + +# power-off message +#: kpowersave.cpp:2197 +msgid "Do you want to have a look at the log file?" +msgstr "проÑмотреть файл журнала?" + +#: kpowersave.cpp:2198 kpowersave.cpp:2224 +msgid "Error while %1" +msgstr "Ошибка при %1" + +#: configure_Dialog.cpp:831 +msgid "KPowersave Settings" +msgstr "Параметры KPowersave" + +#: configure_Dialog.cpp:832 +msgid "Apply" +msgstr "Применить" + +#: configure_Dialog.cpp:834 +msgid "Help" +msgstr "Справка" + +#: configure_Dialog.cpp:840 +msgid "Enable specific display power management" +msgstr "Включить управление питанием конкретного монитора" + +#: configure_Dialog.cpp:841 +msgid "Standby after:" +msgstr "Ждущий режим поÑле:" + +#: configure_Dialog.cpp:842 +msgid "Only blank the screen" +msgstr "Только выключить Ñкран" + +#: configure_Dialog.cpp:843 +msgid "Disable screen saver" +msgstr "Отключить заÑтавку" + +#: configure_Dialog.cpp:844 +msgid "Enable specific screensaver settings" +msgstr "Включить параметры конкретной заÑтавки" + +#: configure_Dialog.cpp:845 +msgid "Suspend after:" +msgstr "СпÑщий режим поÑле:" + +#: configure_Dialog.cpp:846 +msgid "Power off after:" +msgstr "Выключить поÑле:" + +#: configure_Dialog.cpp:847 +msgid "Disable display power management" +msgstr "Выключить управление питанием монитора" + +#: configure_Dialog.cpp:848 configure_Dialog.cpp:849 configure_Dialog.cpp:850 +#: configure_Dialog.cpp:862 configure_Dialog.cpp:873 +msgid " min" +msgstr " мин" + +#: configure_Dialog.cpp:851 +msgid "Screen Saver and DPMS" +msgstr "ЗаÑтавка и DPMS" + +#: configure_Dialog.cpp:852 +msgid "Settings" +msgstr "Параметры" + +#: configure_Dialog.cpp:853 +msgid "Reset" +msgstr "СброÑ" + +#: configure_Dialog.cpp:855 +msgid "Enable scheme specific Brightness settings" +msgstr "Включить параметры ÑркоÑти Ñкрана, завиÑÑщие от Ñхемы" + +#: configure_Dialog.cpp:858 +msgid "Brightness" +msgstr "ЯркоÑÑ‚ÑŒ" + +#: configure_Dialog.cpp:859 +msgid "Enable autosuspend" +msgstr "Включить автопереход в ÑпÑщий режим" + +#: configure_Dialog.cpp:860 configure_Dialog.cpp:867 +msgid "Enable scheme-specific blacklist" +msgstr "Включить черный ÑпиÑок, завиÑÑщий от Ñхемы" + +#: configure_Dialog.cpp:861 configure_Dialog.cpp:870 +msgid "after:" +msgstr "поÑле:" + +#: configure_Dialog.cpp:863 configure_Dialog.cpp:868 +msgid "Edit Blacklist..." +msgstr "Изменить черный ÑпиÑок..." + +#: configure_Dialog.cpp:864 configure_Dialog.cpp:869 +msgid "If the current desktop user is inactive the computer will:" +msgstr "ЕÑли текущий пользователь рабочгоь Ñтола бездейÑтвует, то компьютер:" + +#: configure_Dialog.cpp:865 +msgid "Autosuspend" +msgstr "Ðвтопереход в ÑпÑщий режим" + +#: configure_Dialog.cpp:866 +msgid "Enable autodimm the display" +msgstr "Включить автоуменьшение ÑркоÑти диÑплеÑ" + +#: configure_Dialog.cpp:871 configure_Dialog.cpp:893 configure_Dialog.cpp:894 +#: configure_Dialog.cpp:895 configure_Dialog.cpp:896 configure_Dialog.cpp:897 +#: configure_Dialog.cpp:898 +msgid " %" +msgstr " %" + +#: configure_Dialog.cpp:872 +msgid "dimm to:" +msgstr "Ñнизать ÑркоÑÑ‚ÑŒ до:" + +#: configure_Dialog.cpp:874 +msgid "Autodimm" +msgstr "Ðвтоуменьшение ÑркоÑти" + +#: configure_Dialog.cpp:879 +msgid "Set CPU Frequency Policy:" +msgstr "УÑтановить политику чаÑтоты ЦП:" + +#: configure_Dialog.cpp:880 +msgid "CPU Frequency Policy" +msgstr "Политика чаÑтоты ЦП" + +#: configure_Dialog.cpp:881 +msgid "Disable Notifications" +msgstr "Отключить уведомлениÑ" + +#: configure_Dialog.cpp:884 +msgid "New" +msgstr "Ðовый" + +#: configure_Dialog.cpp:885 +msgid "Scheme Settings" +msgstr "Параметры Ñхемы" + +#: configure_Dialog.cpp:886 +msgid "" +"Define the battery warning levels (in percentage) and the releated action if " +"the level get reached:" +msgstr "" +"Определите уровень Ð¿Ñ€ÐµÐ´ÑƒÐ¿Ñ€ÐµÐ¶Ð´ÐµÐ½Ð¸Ñ Ð¿Ñ€Ð¸ разрÑде батареи (в процентах) и " +"ÑоответÑтвующее дейÑтвие при доÑтижении Ñтого уровнÑ:" + +# combo box +#: configure_Dialog.cpp:887 +msgid "Warning level:" +msgstr "Уровень предупреждениÑ:" + +#: configure_Dialog.cpp:888 +msgid "Low level:" +msgstr "Ðизкий уровень:" + +# combo box +#: configure_Dialog.cpp:889 +msgid "Critical level:" +msgstr "КритичеÑкий уровень:" + +#: configure_Dialog.cpp:890 configure_Dialog.cpp:891 configure_Dialog.cpp:892 +msgid "if reached call:" +msgstr "еÑли доÑтигнут, вызвать:" + +#: configure_Dialog.cpp:899 +msgid "Battery" +msgstr "БатареÑ" + +#: configure_Dialog.cpp:900 +msgid "" +"Define the action which should be executed if the related button get pressed:" +msgstr "" +"Определите дейÑтвие, которое будет выполнÑÑ‚ÑŒÑÑ Ð¿Ñ€Ð¸ нажатии ÑоответÑтвующей " +"кнопки:" + +#: configure_Dialog.cpp:901 +msgid "Suspend-to-disk Button:" +msgstr "Кнопка ÑпÑщего режима Ñ Ñохранением на диÑк:" + +# combo box +#: configure_Dialog.cpp:902 +msgid "Sleep button:" +msgstr "Кнопка ÑпÑщего режима:" + +#: configure_Dialog.cpp:903 +msgid "Lid close Button:" +msgstr "Кнопка Ð·Ð°ÐºÑ€Ñ‹Ñ‚Ð¸Ñ ÐºÑ€Ñ‹ÑˆÐºÐ¸:" + +# combo box +#: configure_Dialog.cpp:904 +msgid "Power Button:" +msgstr "Кнопка питаниÑ:" + +#: configure_Dialog.cpp:905 +msgid "Button Events" +msgstr "Ð¡Ð¾Ð±Ñ‹Ñ‚Ð¸Ñ ÐºÐ½Ð¾Ð¿Ð¾Ðº" + +#: configure_Dialog.cpp:906 +msgid "" +"Select the following schemes as default if the system is running on AC or on " +"batteries." +msgstr "" +"Выберите Ñледующие Ñхемы как Ñхемы по умоолчанию при питании ÑиÑтемы " +"питаетÑÑ Ð¾Ñ‚ Ñети или от батареи." + +# summary text, %1 is scheme name +#: configure_Dialog.cpp:907 +msgid "Battery scheme:" +msgstr "Схема Ð¿Ð¸Ñ‚Ð°Ð½Ð¸Ñ Ð¾Ñ‚ батареи:" + +# summary text, %1 is scheme name +#: configure_Dialog.cpp:908 +msgid "AC scheme:" +msgstr "Схема Ð¿Ð¸Ñ‚Ð°Ð½Ð¸Ñ Ð¾Ñ‚ ÑлектроÑети:" + +#: configure_Dialog.cpp:909 +msgid "Default Schemes" +msgstr "Схемы по умолчанию" + +#: configure_Dialog.cpp:910 +msgid "Lock screen before suspend or standby" +msgstr "Блокировать Ñкран перед переходом в ждущий или ÑпÑщий режим" + +#: configure_Dialog.cpp:911 +msgid "Lock screen with:" +msgstr "Блокировать Ñкран Ñ Ð¿Ð¾Ð¼Ð¾Ñ‰ÑŒÑŽ:" + +#: configure_Dialog.cpp:912 +msgid "Lock screen on lid close" +msgstr "Блокировать Ñкран при закрытии крышки" + +#: configure_Dialog.cpp:913 +msgid "Lock Screen" +msgstr "Блокировать Ñкран" + +#: configure_Dialog.cpp:914 +msgid "Notifications" +msgstr "УведомлениÑ" + +#: configure_Dialog.cpp:916 +msgid "Autostart" +msgstr "ÐвтозапуÑк" + +#: configure_Dialog.cpp:917 +msgid "Never ask me again on exit" +msgstr "Ðикогда не Ñпрашивать при выходе." + +#: configure_Dialog.cpp:918 +msgid "KPowersave starts automatically on login" +msgstr "ÐвтоматичеÑкий запуÑк KPowersave при входе в ÑиÑтему" + +#: configure_Dialog.cpp:919 +msgid "General Blacklists" +msgstr "Общие черные ÑпиÑки" + +#: configure_Dialog.cpp:920 +msgid "Edit Autosuspend Blacklist..." +msgstr "Изменить черный ÑпиÑок автоперехода в ÑпÑщий режим..." + +#: configure_Dialog.cpp:921 +msgid "Edit Autodimm Blacklist..." +msgstr "Изменить черный ÑпиÑок..." + +#: configure_Dialog.cpp:923 +msgid "General Settings" +msgstr "Общие параметры" + +#~ msgid "&Cancel" +#~ msgstr "Отменить" + +#~ msgid "Remo&ve" +#~ msgstr "Удалить" + +#~ msgid "Modules unloaded:" +#~ msgstr "Модули выгружены:" + +#~ msgid "Powersave Daemon:" +#~ msgstr "Демон ÑнергоÑбережениÑ:" + +#~ msgid "" +#~ "Inactivity detected.\n" +#~ " Machine autosuspend in %1 seconds." +#~ msgstr "" +#~ "Обнаружен проÑтой ÑиÑтемы.\n" +#~ " Компьютер автоматичеÑки заÑнет через %1 Ñекунд." + +#~ msgid "" +#~ "Inactivity detected.\n" +#~ " Dim display in %1 seconds to %2%." +#~ msgstr "" +#~ "Обнаружен проÑтой ÑиÑтемы.\n" +#~ " Экран погаÑнет через %1 Ñекунд на %2%." + +#~ msgid "" +#~ "If you know that it should work, you might override this detection with " +#~ "setting SUSPEND2RAM_FORCE=\"yes\" in /etc/powersave/sleep." +#~ msgstr "" +#~ "ЕÑли вы знаете, что Ñто работает, вы можете заменить автоопределение " +#~ "наÑтройкой SUSPEND2RAM_FORCE=\"yes\" в файле /etc/powersave/sleep." + +#~ msgid "" +#~ "Cannot find any schemes. Maybe the powersave daemon is not running.\n" +#~ "Starting it with '/etc/init.d/powersaved start' should help." +#~ msgstr "" +#~ "Ðевозможно найти Ñхемы. Возможно демон powersave не запущен.\n" +#~ "ЗапуÑк Ñлужбы должен помочь: /etc/init.d/powersaved start" + +#~ msgid "" +#~ "The powersave daemon must be running in the background for a suspend to " +#~ "disk." +#~ msgstr "Ð”Ð»Ñ Ð·Ð°ÑÑ‹Ð¿Ð°Ð½Ð¸Ñ Ð½Ð° диÑк требуетÑÑ Ñ€Ð°Ð±Ð¾Ñ‚Ð°ÑŽÑ‰Ð¸Ð¹ демон powersave." + +#~ msgid "" +#~ "The powersave daemon must be running in the background for a suspend to " +#~ "RAM." +#~ msgstr "Ð”Ð»Ñ Ð·Ð°ÑÑ‹Ð¿Ð°Ð½Ð¸Ñ Ð² памÑÑ‚ÑŒ требуетÑÑ Ñ€Ð°Ð±Ð¾Ñ‚Ð°ÑŽÑ‰Ð¸Ð¹ демон powersave." + +#~ msgid "The powersave daemon must be running in the background for standby." +#~ msgstr "Ð”Ð»Ñ Ð¶Ð´ÑƒÑ‰ÐµÐ³Ð¾ режима требуетÑÑ Ñ€Ð°Ð±Ð¾Ñ‚Ð°ÑŽÑ‰Ð¸Ð¹ демон powersave." + +#~ msgid "" +#~ "This scheme support suspend and disable devices. This is a EXPERIMENTAL " +#~ "feature of powersave to save more power on laptops. If you select this " +#~ "scheme you can get in trouble (e.g. kernel oops). You can configure this " +#~ "feature currently in the powersave config files. Please report all " +#~ "problems via http://www.opensuse.org/Submit_a_bug \n" +#~ "\n" +#~ "Would you switch the scheme (on your own risk)?" +#~ msgstr "" +#~ "Эта Ñхема поддерживает отключение уÑтройÑтв. Это ÑкÑÐ¿ÐµÑ€Ð¸Ð¼ÐµÐ½Ñ‚Ð°Ð»ÑŒÐ½Ð°Ñ " +#~ "Ñ„ÑƒÐ½ÐºÑ†Ð¸Ñ Ð´Ð»Ñ Ð±Ð¾Ð»ÑŒÑˆÐµÐ¹ Ñкономии батареи ноутбука. При выборе Ñто Ñхемы " +#~ "могут возникнуть проблемы. Ð¤ÑƒÐ½ÐºÑ†Ð¸Ñ Ð½Ð°ÑтраиваетÑÑ Ñ‡ÐµÑ€ÐµÐ· файл конфигурации " +#~ "powersave. Об ошибках Ñообщайте на через форму via http://www.opensuse." +#~ "org/Submit_a_bug \n" +#~ "\n" +#~ "Включить Ñхему (на Ñвой ÑобÑтвенный риÑк)?" + +#~ msgid "Continue" +#~ msgstr "Продолжить" + +#~ msgid "" +#~ "The powersave daemon is not running.\n" +#~ "Starting it will improve performance: /etc/init.d/powersaved start" +#~ msgstr "" +#~ "Демон ÑнергоÑÐ±ÐµÑ€ÐµÐ¶ÐµÐ½Ð¸Ñ Ð½Ðµ работает.\n" +#~ "ЗапуÑк Ñлужбы увеличит производительноÑÑ‚ÑŒ: /etc/init.d/powersaved start" + +#~ msgid "checking resume kernel" +#~ msgstr "проверка воÑÑÑ‚Ð°Ð½Ð¾Ð²Ð»ÐµÐ½Ð¸Ñ Ñдра" + +#~ msgid "checking for swap partition" +#~ msgstr "проверка раздела подкачки" + +#~ msgid "unmounting FAT/NTFS partitions" +#~ msgstr "размонтирование разделов FAT/NTFS" + +#~ msgid "stopping services" +#~ msgstr "оÑтановка Ñлужб" + +#~ msgid "stopping service:" +#~ msgstr "оÑтановка Ñлужбы:" + +#~ msgid "unloading modules" +#~ msgstr "выгрузка модулей" + +#~ msgid "unloading module:" +#~ msgstr "выгрузка модулÑ:" + +#~ msgid "syncing file systems" +#~ msgstr "ÑÐ¸Ð½Ñ…Ñ€Ð¾Ð½Ð¸Ð·Ð°Ð½Ð¸Ñ Ñ„Ð°Ð¹Ð»Ð¾Ð²Ñ‹Ñ… ÑиÑтем" + +#~ msgid "preparing bootloader" +#~ msgstr "подготовка загрузчика" + +#~ msgid "Edit General Blacklist..." +#~ msgstr "Изменить общий черный ÑпиÑок..." + +#~ msgid " -- %1 MHz" +#~ msgstr "-- %1 МГц" + +#~ msgid "Enabled" +#~ msgstr "включено" + +#~ msgid "In" +#~ msgstr "Ð’" + +#~ msgid "Out" +#~ msgstr "Из" + +#~ msgid "" +#~ "You are not permitted to connect to the powersave daemon via DBUS. Please " +#~ "check your DBUS configuration and installation. " +#~ msgstr "" +#~ "Вам запрещено подключатьÑÑ Ðº демону ÑнергоÑÐ±ÐµÑ€ÐµÐ¶ÐµÐ½Ð¸Ñ Ñ‡ÐµÑ€ÐµÐ· DBUS. " +#~ "Проверьте наÑтройки DBUS." diff --git a/po/sl_SI.po b/po/sl_SI.po new file mode 100644 index 0000000..d94e736 --- /dev/null +++ b/po/sl_SI.po @@ -0,0 +1,1491 @@ +# translation of sl_SI.po to Slovenian +# This file is distributed under the same license as the PACKAGE package. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER. +# +# Antje Faber , 2004. +# Janez Krek , 2004, 2005. +# Jure Repinc , 2007. +msgid "" +msgstr "" +"Project-Id-Version: sl_SI\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2007-08-10 03:16+0200\n" +"PO-Revision-Date: 2007-09-17 17:18+0200\n" +"Last-Translator: Jure Repinc \n" +"Language-Team: Slovenian \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: KBabel 1.11.4\n" +"Plural-Forms: nplurals=4; plural=(n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || " +"n%100==4 ? 2 : 3);\n" +"n%100==4 ? 2 : 3);\n" + +#: detailed_Dialog.cpp:228 +msgid "kpowersave" +msgstr "kpowersave" + +#: detailed_Dialog.cpp:229 +msgid "General Information" +msgstr "SploÅ¡ni podatki" + +#: detailed_Dialog.cpp:232 +msgid "Battery Status" +msgstr "Stanje baterije" + +#: detailed_Dialog.cpp:233 +msgid "AC Adapter" +msgstr "elektriÄno omrežje" + +#: detailed_Dialog.cpp:234 detaileddialog.cpp:391 +msgid "plugged in" +msgstr "prikljuÄen" + +#: detailed_Dialog.cpp:235 +msgid "Power Consumtion: " +msgstr "Poraba energije: " + +#: detailed_Dialog.cpp:237 +msgid "Processor Status" +msgstr "Stanje procesorja" + +#: detailed_Dialog.cpp:238 blacklistedit_Dialog.cpp:130 info_Dialog.cpp:198 +#: configure_Dialog.cpp:838 +msgid "OK" +msgstr "V redu" + +#: blacklisteditdialog.cpp:60 +msgid "General Blacklist" +msgstr "SploÅ¡na Ärna lista" + +#: blacklisteditdialog.cpp:63 +msgid "Scheme: " +msgstr "Shema: " + +#: blacklisteditdialog.cpp:114 +msgid "Selected entry removed." +msgstr "Izbran vnos je odstranjen." + +#: blacklisteditdialog.cpp:117 +msgid "Could not remove the selected entry." +msgstr "Izbranega vnosa ni možno odstraniti." + +#: blacklisteditdialog.cpp:137 +msgid "Inserted new entry." +msgstr "Nov vnos je bil dodan." + +#: blacklisteditdialog.cpp:141 +msgid "Entry exists already. Did not insert new entry." +msgstr "Vnos že obstaja. Nov vnos ni bil dodan." + +#: blacklisteditdialog.cpp:144 +msgid "Empty entry was not inserted." +msgstr "Prazen vnos ni bil dodan." + +#: inactivity.cpp:298 +msgid "" +"Could not start 'pidof'. Could not autosuspend the machine.\n" +"Please check your installation." +msgstr "" +"Ni moÄ zagnati »pidof«. Ni moÄ samodejno zaustaviti raÄunalnika.\n" +"Preverite namestitev." + +#: blacklistedit_Dialog.cpp:129 +msgid "Autosuspend Blacklist Edit" +msgstr "Urejanje Ärne liste za samodejno zaustavitev" + +#: blacklistedit_Dialog.cpp:132 configuredialog.cpp:1079 +#: configure_Dialog.cpp:836 +msgid "Cancel" +msgstr "PrekliÄi" + +#: blacklistedit_Dialog.cpp:135 +msgid "Add" +msgstr "Dodaj" + +#: blacklistedit_Dialog.cpp:136 +msgid "Remove" +msgstr "Odstrani" + +#: infodialog.cpp:76 infodialog.cpp:78 main.cpp:55 +msgid "KPowersave" +msgstr "KPowersave" + +#: configuredialog.cpp:116 configuredialog.cpp:121 configuredialog.cpp:721 +msgid " - not supported" +msgstr "- ni podprto" + +#: configuredialog.cpp:150 configuredialog.cpp:317 detaileddialog.cpp:432 +#: kpowersave.cpp:192 settings.cpp:66 configure_Dialog.cpp:876 +msgid "Performance" +msgstr "Zmogljivost" + +#: configuredialog.cpp:154 configuredialog.cpp:319 detaileddialog.cpp:438 +#: kpowersave.cpp:194 settings.cpp:68 configure_Dialog.cpp:878 +msgid "Powersave" +msgstr "VarÄevanje z energijo" + +#: configuredialog.cpp:159 configuredialog.cpp:321 kpowersave.cpp:1478 +#: settings.cpp:70 +msgid "Presentation" +msgstr "Predstavitve" + +#: configuredialog.cpp:164 configuredialog.cpp:323 kpowersave.cpp:1473 +#: settings.cpp:72 +msgid "Acoustic" +msgstr "Tihi naÄin" + +#: configuredialog.cpp:169 configuredialog.cpp:171 configuredialog.cpp:172 +#: configuredialog.cpp:173 kpowersave.cpp:1484 +msgid "Advanced Powersave" +msgstr "Napredno varÄevanje" + +#: configuredialog.cpp:271 +msgid "" +"This enables specific screen saver settings. \n" +"Note: If selected, the global screen saver settings are \n" +"overwritten while kpowersave runs." +msgstr "" +"Možnost omogoÄi (vkljuÄi) specifiÄne nastavitve ohranjevalnika zaslona. \n" +"Opomba: Äe so izbrane specifiÄne nastavitve, le-te med delovanjem kpowersave " +"prepiÅ¡ejo globalne nastavitve. " + +#: configuredialog.cpp:274 +msgid "" +"This disables the screen saver. \n" +"Note: If selected, the global screen saver settings are \n" +"overwritten while kpowersave runs." +msgstr "" +"OnemogoÄi (izkljuÄi) ohranjevalnik zaslona. \n" +"Opomba: Äe so izbrane specifiÄne nastavitve, le-te med delovanjem kpowersave " +"prepiÅ¡ejo globalne nastavitve. " + +#: configuredialog.cpp:277 +msgid "" +"This blanks the screen instead of using a specific screen saver. \n" +"Note: This may work only with KScreensaver." +msgstr "" +"Uporabi se prazen ohranjevalnik zaslona namesto posameznega ohranjevalnika.\n" +"Opomba: možno je, da ohranjevalnik zaslona deluje le s KScreensaver." + +#: configuredialog.cpp:279 +msgid "" +"This enables specific DPMS settings. \n" +"Note: If selected, the global DPMS settings are \n" +"overwritten while kpowersave runs." +msgstr "" +"OmogoÄi specifiÄne nastavitve za DPMS. \n" +"Opomba: Äe so izbrane specifiÄne nastavitve, le-te med delovanjem kpowersave " +"prepiÅ¡ejo globalne nastavitve DPMS. " + +#: configuredialog.cpp:282 +msgid "This disables DPMS support." +msgstr "OnemogoÄi (izkljuÄi) podporo DPMS." + +#: configuredialog.cpp:283 +msgid "If selected, the screen is locked on suspend or standby." +msgstr "" +"ÄŒe je možnost izbrana, je ekran zaklenjen med 'Zaustavitvijo' (Suspend) in " +"'Stanju pripravljenosti' (Standby)" + +#: configuredialog.cpp:284 +msgid "If selected, the screen is locked if the lid close event is triggered." +msgstr "" +"ÄŒe je možnost izbrana, je ekran zaklenjen ob prejemu dogodka 'zaprtje " +"prenosnika' (Lid close)." + +#: configuredialog.cpp:286 +msgid "" +"Check this box to enable or disable automatic suspension of the computer." +msgstr "" +"Izberite kvadratek za vkljuÄitev ali izkljuÄitev samodejne zaustavitve " +"(Suspend) raÄunalnika." + +#: configuredialog.cpp:288 +msgid "" +"Activate this action if the user was inactive for the defined time \n" +"(greater than 0 minutes). If empty, nothing happens." +msgstr "" +"Aktiviraj podprto akcijo, Äe je uporabnik doloÄen Äas \n" +"(> 0 minut) neaktiven. ÄŒe pustite vnos prazen, se ne bo zgodilo niÄ." + +#: configuredialog.cpp:291 +msgid "All scheme-related screen saver and DPMS settings." +msgstr "Vse nastavitve sheme v povezavi z ohranjevalnikom zaslona in DPMS." + +#: configuredialog.cpp:292 +msgid "All scheme-related display brightness settings." +msgstr "Vse nastavitve sheme v povezavi s svetlostjo zaslona." + +#: configuredialog.cpp:293 +msgid "All scheme-related automatic suspend settings." +msgstr "Vse nastavitve sheme v povezavi s samodejno zaustavitvijo." + +#: configuredialog.cpp:295 +msgid "" +"Here you can change the brightness of your display. \n" +"Use the slider to change the brightness directly for \n" +"testing. To reset back to previous level, please press \n" +"the 'Reset' button. " +msgstr "" +"Tu lahko spremenite svetlost zaslona.\n" +"\n" +"Za preizkus spreminjanja svetlosti uporabite drsnik.\n" +"Za nastavitev svetlosti na prejÅ¡njo vrednost kliknite gumb »Ponastavi«." + +#: configuredialog.cpp:299 +msgid "Use this button to set back the slider and the display brightness." +msgstr "Uporabite ta gumb za vrnitev svetlosti na prejÅ¡njo vrednost." + +#: configuredialog.cpp:352 +msgid "Press this button to delete the selected scheme." +msgstr "Kliknite ta gumb za izbris izbrane sheme," + +#: configuredialog.cpp:357 +msgid "You can't delete the current AC or battery scheme." +msgstr "Trenutne sheme za elektriÄno omrežje ali baterijo ni mogoÄe izbrisati." + +#: configuredialog.cpp:363 +msgid "You can't delete this default scheme." +msgstr "Te privzete sheme ni mogoÄe izbrisati." + +#: configuredialog.cpp:546 +msgid "" +"Your hardware supports to change the brightness. The values of the slider " +"are in percent and mapped to the available brightness levels of your " +"hardware." +msgstr "" +"VaÅ¡a strojna oprema omogoÄa spreminjanje svetlosti. Vrednosti za drsnik so v " +"odstotkih in se pretvorijo v nivoje svetlosti, ki jih podpira strojna oprema." + +#: configuredialog.cpp:553 +msgid "" +"Your Hardware currently not support changing the brightness of your display." +msgstr "Strojna oprema ne podpira spreminjanja svetlosti zaslona." + +#: configuredialog.cpp:664 +msgid "Select Automatically" +msgstr "izberi samodejno" + +#: configuredialog.cpp:665 +msgid "KScreensaver" +msgstr "KScreensaver" + +#: configuredialog.cpp:666 +msgid "XScreensaver" +msgstr "XScreensaver" + +#: configuredialog.cpp:667 +msgid "xlock" +msgstr "xlock" + +#: configuredialog.cpp:668 +msgid "GNOME Screensaver" +msgstr "GNOME-ov ohranjevalnik zaslona" + +#: configuredialog.cpp:930 +msgid "" +"There are unsaved changes in the active scheme.\n" +"Apply the changes before jumping to the next scheme or discard the changes?" +msgstr "" +"V trenutno aktivni shemi obstajajo ne-shranjene spremembe.\n" +"Želite uveljaviti te spremembe pred skokom na naslednjo shemo ali želite " +"spremembe pozabiti? " + +#: configuredialog.cpp:933 configuredialog.cpp:983 +msgid "Unsaved Changes" +msgstr "Ne-shranjene spremembe" + +#: configuredialog.cpp:981 +msgid "" +"There are unsaved changes.\n" +"Apply the changes before cancel or discard the changes?" +msgstr "" +"Obstajajo spremembe, ki niso shranjene,.\n" +"Želite uveljaviti te spremembe pred izhodom ali želite spremembe pozabiti?" + +#: configuredialog.cpp:1032 +msgid "Please insert a name for the new scheme:" +msgstr "Vnesite ime nove sheme:" + +#: configuredialog.cpp:1038 +msgid "KPowersave Configuration" +msgstr "Nastavitve KPowersave" + +#: configuredialog.cpp:1046 +msgid "Error: A scheme with this name already exist.\n" +msgstr "Napaka: Shema s tem imenom že obstaja.\n" + +#: configuredialog.cpp:1076 +msgid "Do you really want to delete the %1 scheme?" +msgstr "Ali zares želite izbrisati shemo »%1«?" + +#: configuredialog.cpp:1078 +msgid "Confirm delete scheme" +msgstr "Potrditev izbrisa sheme" + +#: configuredialog.cpp:1079 configure_Dialog.cpp:883 +msgid "Delete" +msgstr "IzbriÅ¡i" + +#: configuredialog.cpp:1095 +msgid "Could not delete the selected scheme." +msgstr "Ni moÄ izbrisati izbrane sheme." + +#: configuredialog.cpp:1324 +msgid "" +"Note: If you select this option, the computer will suspend or standby " +"if the current user is inactive for the defined time even if somebody is " +"logged in remotely to the X server.

    This feature can also produce " +"problems with some programs, such as video players or cd burner. These " +"programs can be blacklisted by checking Enable scheme-specific blacklist and click Edit Blacklist.... If this does not help, report the " +"problem or deactivate autosuspend.

    Really use this option?" +msgstr "" +"Opomba: Z izbiro te možnosti se bo raÄunalnik samodejno zaustavil ali " +"preÅ¡el v stanje pripravljenosti, ko uporabnik doloÄen Äas ne bo aktiven " +"(tudi v primeru, da je kdo na raÄunalnik prijavljen z oddaljenega " +"raÄunalnika).

    Izbira te možnosti lahko povzroÄi težave nekaterim " +"programom, kot so npr. video igre ali program za peko CDjev. Te programe je " +"možno dodati na t.i. \"Ärno listo\" z izbiro možnostiOmogoÄi uporabo Ärne " +"liste za posamezno shemo in izbiro Urejanje Ärne liste.... ÄŒe to " +"ne pomaga, sporoÄite težavo ali odstranite samodejno zaustavitev raÄunalnika." +"

    ResniÄno želite uporabiti to možnost?" + +#: configuredialog.cpp:1402 configuredialog.cpp:1532 +msgid "" +"The blacklist of the selected scheme is empty. Import the general blacklist?" +msgstr "" +"ÄŒrna lista izbrane sheme je prazna. Želite narediti uvoz sploÅ¡ne Ärne liste?" + +#: configuredialog.cpp:1404 configuredialog.cpp:1534 +msgid "Import" +msgstr "Uvozi" + +#: configuredialog.cpp:1404 configuredialog.cpp:1534 +msgid "Do Not Import" +msgstr "Ne uvažaj" + +#: configuredialog.cpp:1416 +msgid "General Autosuspend Blacklist" +msgstr "SploÅ¡na Ärna lista za samodejno zaustavitev" + +#: configuredialog.cpp:1546 +msgid "General Autodimm Blacklist" +msgstr "SploÅ¡na Ärna lista za samodejno potemnitev" + +#: configuredialog.cpp:1779 configuredialog.cpp:1816 +msgid "Shutdown" +msgstr "Ugasni" + +#: configuredialog.cpp:1781 configuredialog.cpp:1819 +msgid "Logout Dialog" +msgstr "Pogovorno okno za odjavo" + +#: configuredialog.cpp:1784 configuredialog.cpp:1822 kpowersave.cpp:182 +#: kpowersave.cpp:2096 kpowersave.cpp:2156 kpowersave.cpp:2247 +msgid "Suspend to Disk" +msgstr "Zaustavitev s shranjevanjem na disk" + +#: configuredialog.cpp:1787 configuredialog.cpp:1825 kpowersave.cpp:186 +#: kpowersave.cpp:2101 kpowersave.cpp:2161 kpowersave.cpp:2250 +msgid "Suspend to RAM" +msgstr "Zaustavitev s shranjevanjem v spomin" + +#: configuredialog.cpp:1790 configuredialog.cpp:1828 +msgid "CPU Powersave policy" +msgstr "VarÄevalna politika za procesor" + +#: configuredialog.cpp:1793 configuredialog.cpp:1831 +msgid "CPU Dynamic policy" +msgstr "DinamiÄna politika za procesor" + +#: configuredialog.cpp:1796 configuredialog.cpp:1834 +msgid "CPU Performance policy" +msgstr "Zmogljivostna politika za procesor" + +#: configuredialog.cpp:1799 configuredialog.cpp:1837 +msgid "Set Brightness to" +msgstr "Nastavi svetlost na" + +#: main.cpp:43 +msgid "KDE Frontend for Power Management, Battery Monitoring and Suspend" +msgstr "" +"UporabniÅ¡ki vmesnik za upravljanje s porabo energije, nadzor baterij in " +"zaustavitev sistema" + +#: main.cpp:45 +msgid "Force a new check for ACPI support" +msgstr "Vsili novo preverjanje podpore za ACPI" + +#: main.cpp:46 +msgid "Trace function entry and leave points for debug\n" +msgstr "Sledi vstopnim in izstopnim toÄkam funkcij, za razhroÅ¡Äevanje\n" + +#: main.cpp:59 +msgid "Current maintainer" +msgstr "Trenutni vzdrževalec" + +#: main.cpp:62 +msgid "Powersave developer and for D-Bus integration" +msgstr "Razvijalec Powersave in integracija z D-Bus" + +#: main.cpp:64 +msgid "Powersave developer and tester" +msgstr "Razvijalec Powersave in preizkuÅ¡evalec" + +#: main.cpp:66 +msgid "Added basic detailed dialog" +msgstr "Dodal osnovno pogovorno okno s podrobnostmi" + +#: main.cpp:67 +msgid "Packaging Debian and Ubuntu" +msgstr "Priprava paketkov za Debian in Ubuntu" + +#: detaileddialog.cpp:61 +msgid "KPowersave Information Dialog" +msgstr "KPowersave podatki" + +#: detaileddialog.cpp:65 configure_Dialog.cpp:882 configure_Dialog.cpp:922 +msgid "Miscellaneous" +msgstr "Razno" + +#: detaileddialog.cpp:66 +msgid "CPUs" +msgstr "Procesor" + +#: detaileddialog.cpp:73 detaileddialog.cpp:453 +msgid "Battery state:" +msgstr "Stanje baterije:" + +#: detaileddialog.cpp:79 +msgid "Total:" +msgstr "Skupno:" + +#: detaileddialog.cpp:81 detaileddialog.cpp:83 +msgid "Battery %1" +msgstr "Baterija %1" + +#: detaileddialog.cpp:114 +msgid "Processor %1" +msgstr "Procesor %1" + +#: detaileddialog.cpp:230 +msgid "not present" +msgstr "ni prisotna" + +#: detaileddialog.cpp:243 +msgid "charged" +msgstr "napolnjena" + +#: detaileddialog.cpp:245 +msgid "%1:%2 h until charged" +msgstr "%1:%2 do konca polnjenja" + +#: detaileddialog.cpp:248 +msgid "%1:%2 h remaining" +msgstr "%1:%2 do izpraznitve" + +#: detaileddialog.cpp:253 detaileddialog.cpp:441 detaileddialog.cpp:468 +msgid "unknown" +msgstr "neznano" + +#: detaileddialog.cpp:325 detaileddialog.cpp:368 +msgid "%v MHz" +msgstr "%v MHz" + +#: detaileddialog.cpp:330 detaileddialog.cpp:363 dummy.cpp:58 +msgid "deactivated" +msgstr "deaktivirano" + +#: detaileddialog.cpp:395 +msgid "unplugged" +msgstr "izklopljeno" + +#: detaileddialog.cpp:412 +msgid "Current Scheme: " +msgstr "Trenutna shema: " + +#: detaileddialog.cpp:429 +msgid "Current CPU Frequency Policy:" +msgstr "Trenutna politika hitrosti procesorja:" + +#: detaileddialog.cpp:435 kpowersave.cpp:193 configure_Dialog.cpp:877 +msgid "Dynamic" +msgstr "DinamiÄno" + +#: detaileddialog.cpp:456 +msgid "Critical" +msgstr "KritiÄno" + +#: detaileddialog.cpp:459 +msgid "Low" +msgstr "Nizko" + +#: detaileddialog.cpp:462 kpowersave.cpp:277 kpowersave.cpp:652 +#: kpowersave.cpp:659 kpowersave.cpp:705 kpowersave.cpp:713 kpowersave.cpp:761 +#: kpowersave.cpp:769 kpowersave.cpp:817 kpowersave.cpp:824 +#: kpowersave.cpp:1131 kpowersave.cpp:1243 kpowersave.cpp:1272 +#: kpowersave.cpp:1610 kpowersave.cpp:1670 kpowersave.cpp:2186 +msgid "Warning" +msgstr "Opozorilo" + +#: detaileddialog.cpp:465 +msgid "ok" +msgstr "v redu" + +#: detaileddialog.cpp:474 detaileddialog.cpp:477 +msgid "Set brightness supported:" +msgstr "Nastavljanje svetlosti podprto:" + +#: detaileddialog.cpp:475 +msgid "yes" +msgstr "da" + +#: detaileddialog.cpp:478 +msgid "no" +msgstr "ne" + +#: detaileddialog.cpp:481 detaileddialog.cpp:485 +msgid "HAL Daemon:" +msgstr "Pritajeni program HAL:" + +#: detaileddialog.cpp:482 +msgid "running" +msgstr "teÄe" + +#: detaileddialog.cpp:486 +msgid "not running" +msgstr "ne teÄe" + +#: info_Dialog.cpp:197 +msgid "Information" +msgstr "Podatki" + +#: dummy.cpp:36 +msgid "If the current desktop user is inactive, dim the display to:" +msgstr "ÄŒe je trenutno prijavljen uporabnik neaktiven, potemni zaslon na:" + +#: dummy.cpp:37 +msgid "Enable dim display on inactivity" +msgstr "OnemogoÄi potemnitev zaslona ob neaktivnosti" + +#: dummy.cpp:38 +msgid "Blacklist" +msgstr "ÄŒrni seznam" + +#: dummy.cpp:39 +msgid "" +"Here you can add programs which should, if running, prevent the dimming of " +"the display." +msgstr "" +"Sem lahko dodate programe, ki med tem, ko so zagnani, prepreÄujejo " +"potemnitev zaslona." + +#: dummy.cpp:41 +msgid "Would you like to import a predefined blacklist?" +msgstr "Ali želite uvoziti v naprej doloÄen seznam?" + +#: dummy.cpp:42 +msgid "Disable CPUs/Cores" +msgstr "OnemogoÄi procesorje/jedra" + +#: dummy.cpp:43 +msgid "Max. running CPUs:" +msgstr "NajveÄ delujoÄih procesorjev:" + +#: dummy.cpp:44 +msgid "Max. running CPUs/Cores:" +msgstr "NajveÄ delujoÄih procesorjev/jeder:" + +#: dummy.cpp:45 +msgid "Min. running CPUs:" +msgstr "Najmanj delujoÄih procesorjev:" + +#: dummy.cpp:46 +msgid "Min. running CPUs/Cores:" +msgstr "Najmanj delujoÄih procesorjev/jeder:" + +#: dummy.cpp:47 +msgid "Enable to switch off CPUs/cores" +msgstr "OmogoÄi izklapljanje procesorjev/jeder" + +#: dummy.cpp:48 +msgid "You have a multiprocessor/multicore machine." +msgstr "Imate raÄunalnik z veÄ procesorji/jedri." + +#: dummy.cpp:49 +msgid "" +"You can disable CPUs/cores to reduce power consumption and save battery " +"power." +msgstr "" +"Procesorje in jedra lahko izkljuÄite, da zmanjÅ¡ate porabo energije in " +"podaljÅ¡ate trajanje baterije." + +#: dummy.cpp:50 +msgid "Device" +msgstr "Naprava" + +#: dummy.cpp:51 +msgid "Devices" +msgstr "Naprave" + +#: dummy.cpp:52 +msgid "Device class" +msgstr "Razred naprave" + +#: dummy.cpp:53 +msgid "activate" +msgstr "aktiviraj" + +#: dummy.cpp:54 +msgid "Activate" +msgstr "Aktiviraj" + +#: dummy.cpp:55 +msgid "deactivate" +msgstr "deaktiviraj" + +#: dummy.cpp:56 +msgid "Deactivate" +msgstr "Deaktiviraj" + +#: dummy.cpp:57 +msgid "activated" +msgstr "aktivirano" + +#: dummy.cpp:59 +msgid "do nothing" +msgstr "ne napravi niÄesar" + +#: dummy.cpp:60 +msgid "Deactivate following devices:" +msgstr "Deaktiviraj sledeÄe naprave:" + +#: dummy.cpp:61 +msgid "Activate following devices" +msgstr "Aktiviraj sledeÄe naprave:" + +#: dummy.cpp:62 +msgid "Reactivate following devices" +msgstr "Ponovno aktiviraj sledeÄe naprave:" + +#: dummy.cpp:63 +msgid "Deactivate following device classes:" +msgstr "Deaktiviraj sledeÄe razrede naprav:" + +#: dummy.cpp:64 +msgid "Activate following devices classes" +msgstr "Aktiviraj sledeÄe razrede naprav:" + +#: dummy.cpp:65 +msgid "Reactivate following device classes" +msgstr "Ponovno aktiviraj sledeÄe razrede naprav:" + +#: dummy.cpp:66 +msgid "If the scheme switched all devices are again activated." +msgstr "ÄŒe se shema spremeni, se vse naprave ponovno aktivirajo." + +#: dummy.cpp:67 +msgid "This is a experimental feature." +msgstr "To je poskusna zmožnost." + +#: dummy.cpp:68 +msgid "If you have problems with this feature, please report them." +msgstr "ÄŒe vam ta zmožnost povzroÄa težave, nam to sporoÄite." + +#: dummy.cpp:69 +msgid "Select one of the available devices and click on " +msgstr "Izberite eno izmed razpoložljivih naprav in kliknite na " + +#: dummy.cpp:70 +msgid "Select one of the available device classes and click on " +msgstr "Izberite enega izmed razpoložljivih razredov naprav in kliknite na " + +#: dummy.cpp:71 +msgid "Select one or more of the available devices and click on " +msgstr "Izberite eno ali veÄ razpoložljivih naprav in kliknite na " + +#: dummy.cpp:72 +msgid "Select one or more of the available device classes and click on " +msgstr "Izberite enega ali veÄ razpoložljivih razredov naprav in kliknite na " + +#: dummy.cpp:73 +msgid "" +"Please note: If you e.g. deactivate a network device you may lose your " +"internet connection." +msgstr "" +"Pomnite: ÄŒe deaktivirate omrežno napravo, lahko izgubite povezavo z " +"internetom." + +#: dummy.cpp:75 +msgid "" +"Note: If you select this option, the computer will suspend or standby " +"if the current user is inactive for the defined time.

    This feature " +"can also produce problems with some programs, such as video players or cd " +"burner. These programs can be blacklisted by checking Enable scheme-" +"specific blacklist and click Edit Blacklist.... If this does not " +"help, report the problem or deactivate autosuspend.

    Really use this " +"option?" +msgstr "" +"Opomba: Z izbiro te možnosti se bo raÄunalnik samodejno zaustavil ali " +"preÅ¡el v stanje pripravljenosti, ko uporabnik doloÄen Äas ne bo aktiven." +"

    Izbira te možnosti lahko povzroÄi težave nekaterim programom, kot " +"so npr. video igre ali program za peko CDjev. Te programe je možno dodati na " +"t.i. \"Ärno listo\" z izbiro možnostiOmogoÄi uporabo Ärne liste za " +"posamezno shemo in izbiro Urejanje Ärne liste.... ÄŒe to ne " +"pomaga, sporoÄite težavo ali odstranite samodejno zaustavitev raÄunalnika." +"

    ResniÄno želite uporabiti to možnost?" + +#: dummy.cpp:82 +msgid "Try to use only one CPU/Core." +msgstr "Poskusi uporabiti samo en procesor/jedro." + +#: dummy.cpp:83 +msgid "" +"Reduce power consumption by try to use only one CPU/Core instead of " +"spreading the work over all/multiple CPUs." +msgstr "" +"ZmanjÅ¡a porabo energije, tako da se poskuÅ¡a uporabiti samo en procesor/" +"jedro, namesto da bi se delo porazdelilo na vse procesorje." + +#: dummy.cpp:87 +msgid "Could not load the global configuration." +msgstr "Globalnih nastavitev ni možno naložiti." + +#: dummy.cpp:88 +msgid "Could not load the requested scheme configuration." +msgstr "Zahtevane nastavitvene sheme ni možno naložiti." + +#: dummy.cpp:89 +msgid "Configure the current scheme." +msgstr "Nastavi trenutno shemo." + +#: dummy.cpp:90 +msgid "Try loading the default configuration." +msgstr "Poizkus naložiti privzeto nastavitev." + +#: dummy.cpp:91 +msgid "Maybe the global configuration file is empty or missing." +msgstr "MogoÄe je globalna nastavitvena datoteka prazna ali se je izgubila." + +#: dummy.cpp:94 +msgid "Cannot connect to D-Bus. The D-Bus daemon may not be running." +msgstr "" +"PrikljuÄitev na D-Bus ni možna. MogoÄe pritajeni program D-Bus ni zagnan." + +#: dummy.cpp:95 +msgid "" +"Scheme switched to %1. \n" +" Deactivate following devices: %2" +msgstr "" +"Sprememba sheme na »%1«.\n" +"Deaktivacija sledeÄih naprav: %2" + +#: dummy.cpp:96 +msgid "" +"Scheme switched to %1. \n" +" Activate following devices: %2" +msgstr "" +"Sprememba sheme na »%1«.\n" +"Aktivacija sledeÄih naprav: %2" + +#: dummy.cpp:97 +msgid "Report ..." +msgstr "PoroÄilo ..." + +#: dummy.cpp:98 +msgid "Suspend to RAM is not supported on your machine." +msgstr "RaÄunalnik ne podpira zaustavitve s shranjevanjem v spomin." + +#: dummy.cpp:99 +msgid "Additionally, please mail the output of %1 to %2 . Thanks!" +msgstr "" +"Poleg tega vas prosimo, da poÅ¡ljete izhod ukaza »%1« na naslov %2. Hvala!" + +#: dummy.cpp:100 +msgid "Power consumption" +msgstr "Poraba energije" + +#: dummy.cpp:103 +msgid "KScreensaver not found." +msgstr "KScreensaver-ja ni možno najti." + +#: dummy.cpp:104 +msgid "Try locking with XScreensaver or xlock." +msgstr "Poizkus zaklepanja z XScreensaver ali xlock." + +#: dummy.cpp:105 +msgid "XScreensaver not found." +msgstr "XScreensaver-ja ni možno najti." + +#: dummy.cpp:106 +msgid "Try locking the screen with xlock." +msgstr "Poizkus zaklepanja zaslona z xlock." + +#: dummy.cpp:107 +msgid "" +"XScreensaver and xlock not found. It is not possible to lock the screen. " +"Check your installation." +msgstr "" +"Programov XScreensaver ali xlock ni možno najti zato zaslona ni možno " +"zakleniti. Prosim, preverite namestitev (Äe je eden od programov nameÅ¡Äen)." + +#: dummy.cpp:111 +msgid "HAL daemon:" +msgstr "Pritajeni program HAL:" + +#: dummy.cpp:112 +msgid "D-Bus daemon:" +msgstr "Pritajeni program D-Bus:" + +#: dummy.cpp:113 +msgid "ConsoleKit daemon:" +msgstr "Pritajeni program ConsoleKit:" + +#: dummy.cpp:114 +msgid "Autosuspend activated:" +msgstr "Samo-zaustavitev aktivirana:" + +#: dummy.cpp:115 +msgid "Autodimm activated:" +msgstr "Samo-potemnitev aktivirana:" + +#: dummy.cpp:116 +msgid "enabled" +msgstr "omogoÄeno" + +#: dummy.cpp:117 +msgid "Session active:" +msgstr "Seja aktivna:" + +#: dummy.cpp:120 +msgid "Inactivity detected." +msgstr "Zaznana neaktivnost." + +#: dummy.cpp:121 +msgid "To stop the %1 press the 'Cancel' button before the countdown expire." +msgstr "Za ustavitev %1 kliknite gumb »PrekliÄi« Å¡e preden poteÄe Äas." + +#: dummy.cpp:122 +msgid "The computer autosuspend in: " +msgstr "Samo-zaustavitev raÄunalnika v: " + +#: dummy.cpp:123 +#, c-format +msgid "The display get dimmed down to %1% in: " +msgstr "Potemnitev zaslona na %1% v: " + +#: dummy.cpp:124 +msgid "%1 seconds" +msgstr "%1 s" + +#: dummy.cpp:127 +msgid "Could not call %1. The current desktop session is not active." +msgstr "Ni bilo moÄ klicati %1. Trenutna seja namizja ni aktivna." + +#: dummy.cpp:128 +msgid "Could not set %1. The current desktop session is not active." +msgstr "Ni bilo moÄ nastaviti %1. Trenutna seja namizja ni aktivna." + +#: dummy.cpp:129 +msgid "Stopped %1. The current desktop session is now inactive." +msgstr "Zaustavil %1. Trenutna seja namizja je sedaj ne-aktivna." + +#: dummy.cpp:130 +msgid "Restarted %1. The current desktop session is now active again." +msgstr "Znova zagnal %1. Trenutna seja namizja je sedaj spet aktivna." + +#: log_viewer.cpp:78 +msgid "Form1" +msgstr "Obrazec1" + +#: log_viewer.cpp:79 +msgid "Save As ..." +msgstr "Shrani kot ..." + +#: log_viewer.cpp:80 +msgid "Close" +msgstr "Zapri" + +#: logviewer.cpp:44 +msgid "KPowersave Logfile Viewer: %1" +msgstr "Pregledovalnik dnevnika KPowersave: %1" + +#: logviewer.cpp:89 +msgid "File already exist. Overwrite the file?" +msgstr "Datoteka že obstaja. Ali nadomestim datoteko?" + +#: logviewer.cpp:90 logviewer.cpp:97 +msgid "Error while save logfile" +msgstr "Napaka med shranjevanjem dnevnika" + +#: logviewer.cpp:95 +msgid "File already exist." +msgstr "Datoteka že obstaja." + +#: logviewer.cpp:98 +msgid "Try other filename ..." +msgstr "Poskusi drugo ime ..." + +#: suspenddialog.cpp:70 +msgid "Preparing Suspend..." +msgstr "Priprava na zaustavitev..." + +#: kpowersave.cpp:168 +msgid "Configure KPowersave..." +msgstr "Nastavi KPowersave..." + +#: kpowersave.cpp:171 configure_Dialog.cpp:915 +msgid "Configure Notifications..." +msgstr "Nastavi obvestila ..." + +#: kpowersave.cpp:175 +msgid "Start YaST2 Power Management Module..." +msgstr "Zaženi YaST2 modul za upravljanje z energijo..." + +#: kpowersave.cpp:189 kpowersave.cpp:2106 kpowersave.cpp:2166 +#: kpowersave.cpp:2253 +msgid "Standby" +msgstr "Stanje pripravljenosti" + +#: kpowersave.cpp:191 kpowersave.cpp:198 +msgid "Set CPU Frequency Policy" +msgstr "Nastavi politiko hitrosti procesorja" + +#: kpowersave.cpp:205 kpowersave.cpp:206 +msgid "Set Active Scheme" +msgstr "Nastavi aktivno shemo" + +#: kpowersave.cpp:212 +msgid "Disable Actions on Inactivity" +msgstr "OnemogoÄi akcije pri neaktivnosti" + +#: kpowersave.cpp:219 kpowersave.cpp:229 +msgid "&Help" +msgstr "&PomoÄ" + +#: kpowersave.cpp:221 +msgid "&KPowersave Handbook" +msgstr "P&riroÄnik za KPowersave" + +#: kpowersave.cpp:224 +msgid "&Report a bug ..." +msgstr "PoroÄaj o &hroÅ¡Äu ..." + +#: kpowersave.cpp:226 +msgid "&About KPowersave" +msgstr "&O KPowersave" + +#: kpowersave.cpp:275 kpowersave.cpp:648 kpowersave.cpp:656 kpowersave.cpp:703 +#: kpowersave.cpp:710 kpowersave.cpp:759 kpowersave.cpp:766 kpowersave.cpp:815 +#: kpowersave.cpp:822 kpowersave.cpp:1126 kpowersave.cpp:1241 +#: kpowersave.cpp:1270 kpowersave.cpp:2183 +msgid "WARNING" +msgstr "OPOZORILO" + +#: kpowersave.cpp:275 +msgid "Cannot find any schemes." +msgstr "Ni moÄ najti nobene sheme." + +#: kpowersave.cpp:453 +msgid "No information about battery and AC status available" +msgstr "Ni podatkov o stanju baterije ali elektriÄnega omrežja." + +#: kpowersave.cpp:456 +msgid "Plugged in -- fully charged" +msgstr "PrikljuÄen na elektriÄno omrežje -- baterija v celoti napolnjena" + +#: kpowersave.cpp:460 +msgid "Plugged in" +msgstr "PrikljuÄen na elektriÄno omrežje" + +#: kpowersave.cpp:464 +msgid "Plugged in -- %1% charged (%2:%3 h until full charged)" +msgstr "" +"PrikljuÄen na elektriÄno omrežje -- baterija napolnjena %1% (do konca " +"polnjenja Å¡e %2:%3)" + +#: kpowersave.cpp:467 +msgid "Plugged in -- %1% charged (%2:%3 remaining hours)" +msgstr "" +"PrikljuÄen na elektriÄno omrežje -- baterija napolnjena %1% (do izpraznitve " +"Å¡e %2:%3)" + +#: kpowersave.cpp:471 kpowersave.cpp:475 +#, c-format +msgid "Plugged in -- %1% charged" +msgstr "PrikljuÄen na elektriÄno omrežje -- baterija napolnjena %1%" + +#: kpowersave.cpp:474 +msgid "Plugged in -- no battery" +msgstr "PrikljuÄen na elektriÄno omrežje -- brez baterije" + +#: kpowersave.cpp:480 +msgid "Running on batteries -- %1% charged (%2:%3 hours remaining)" +msgstr "" +"Delovanje na baterijah -- baterija napolnjena %1% (do izpraznitve Å¡e %2:%3)" + +#: kpowersave.cpp:484 +#, c-format +msgid "Running on batteries -- %1% charged" +msgstr "Delovanje na baterijah -- baterija napolnjena %1%" + +#: kpowersave.cpp:491 +msgid " -- battery is charging" +msgstr " -- baterije se polnijo" + +#: kpowersave.cpp:649 kpowersave.cpp:657 +msgid "Could not start YaST Power Management Module. Check if it is installed." +msgstr "" +"YaST2 modula za upravljanje z energijo ni možno zagnati. Preverite, Äe je " +"modul nameÅ¡Äen?" + +#: kpowersave.cpp:703 +msgid "Suspend to disk failed" +msgstr "Zaustavitev s shranjevanjem na disk ni uspela" + +#: kpowersave.cpp:711 +msgid "Suspend to disk disabled by administrator." +msgstr "Administrator je onemogoÄil zaustavitev s shranjevanjem na disk" + +#: kpowersave.cpp:759 +msgid "Suspend to RAM failed" +msgstr "Zaustavitev s shranjevanjem v spomin je spodletela" + +#: kpowersave.cpp:767 +msgid "Suspend to RAM disabled by administrator." +msgstr "Administrator je onemogoÄil zaustavitev s shranjevanjem v spomin." + +#: kpowersave.cpp:815 +msgid "Standby failed" +msgstr "Prehod v stanje pripravljenosti je spodletel" + +#: kpowersave.cpp:822 +msgid "Standby disabled by administrator." +msgstr "Administrator je onemogoÄil uporabo stanja pripravljenosti." + +#: kpowersave.cpp:853 +msgid "System is going into suspend mode now" +msgstr "Sistem bo sedaj preÅ¡el v stanje zaustavljenosti" + +#: kpowersave.cpp:1039 +msgid "Could not call DCOP interface to umount external media." +msgstr "Ni moÄ klicati prek vmesnika DCOP in odklopiti zunanjih nosilcev." + +#: kpowersave.cpp:1044 +msgid "" +"Could not umount external media before suspend/standby. \n" +" (Reason: %1)\n" +" \n" +" Would you like to continue suspend/standby anyway? \n" +"(Warning: Continue suspend can cause data loss!)" +msgstr "" +"Pred prehodom v pripravljenost/zaustavitev ni bilo moÄ odklopiti zunanjih " +"nosilcev.\n" +"Razlog: %1\n" +"\n" +"Ali kljub temu želite nadaljevati?\n" +"POZOR: Nadaljevanje lahko privede do izgube podatkov!" + +#: kpowersave.cpp:1052 +msgid "Error while prepare %1" +msgstr "Napaka med pripravo %1" + +#: kpowersave.cpp:1053 +msgid "Suspend anyway" +msgstr "Vseeno zaustavi" + +#: kpowersave.cpp:1053 +msgid "Cancel suspend" +msgstr "PrekliÄi zaustavitev" + +#: kpowersave.cpp:1127 +msgid "" +"Could not lock the screen. There may be a problem with the selected \n" +"lock method or something else." +msgstr "" +"Ekrana ni možno zakleniti. MogoÄe je težava v izbrani metodi za zaklepanje\n" +" ali pa kaj drugega." + +#: kpowersave.cpp:1144 +msgid "The Lid was closed." +msgstr "Prenosnik je zaprt." + +#: kpowersave.cpp:1156 +msgid "The Lid was opened." +msgstr "Prenosnik je odprt." + +#: kpowersave.cpp:1223 +msgid "Start KPowersave automatically when you log in?" +msgstr "Naj se KPowersave samodejno zažene ob prijavi v sistem?" + +#: kpowersave.cpp:1224 +msgid "Question" +msgstr "VpraÅ¡anje" + +#: kpowersave.cpp:1225 +msgid "Start Automatically" +msgstr "Zaženi samodejno" + +#: kpowersave.cpp:1225 +msgid "Do Not Start" +msgstr "Ne zaženi" + +#: kpowersave.cpp:1242 +msgid "CPU Freq Policy %1 could not be set." +msgstr "Politike »%1« za hitrost procesorja ni bilo moÄ nastaviti." + +#: kpowersave.cpp:1271 +msgid "Scheme %1 could not be activated." +msgstr "Sheme %1 ni možno aktivirati." + +#: kpowersave.cpp:1600 +msgid "" +"The D-Bus daemon is not running.\n" +"Starting it will provide full functionality: /etc/init.d/dbus start" +msgstr "" +"Pritajeni program za D-Bus ne teÄe.\n" +"Z njegovim zagonom se poveÄajo zmogljivosti: /etc/init.d/dbus start" + +#: kpowersave.cpp:1611 +msgid "Don't show this message again." +msgstr "Tega sporoÄila ne prikaži veÄ." + +#: kpowersave.cpp:1637 +msgid "ERROR" +msgstr "NAPAKA" + +#: kpowersave.cpp:1638 +msgid "Could not get information from HAL. The haldaemon is maybe not running." +msgstr "" +"Ni moÄ dobiti podatkov od HAL-a. MogoÄe pritajeni program haldaemon ni " +"zagnan." + +#: kpowersave.cpp:1641 +msgid "Error" +msgstr "Napaka" + +#: kpowersave.cpp:1912 +msgid "" +"Battery state changed to WARNING -- remaining time: %1 hours and %2 minutes." +msgstr "" +"Status baterije spremenjen v OPOZORILO -- preostali Äas: %1 ur in %2 minut." + +#: kpowersave.cpp:1921 +msgid "" +"Battery state changed to LOW -- remaining time: %1 hours and %2 minutes." +msgstr "" +"Status baterije spremenjen v NIZKO -- preostali Äas: %1 ur in %2 minut." + +#: kpowersave.cpp:1932 +msgid "" +"Battery state changed to CRITICAL -- remaining time: %1 hours and %2 " +"minutes.\n" +"Shut down your system or plug in the power cable immediately. Otherwise the " +"machine\n" +"will go shutdown in 30 seconds" +msgstr "" +"Stanje baterije spremenjeno v KRITIÄŒNO -- preostali Äas: %1 ur in %2 minut.\n" +"Takoj ugasnite sistem ali prikljuÄite napajalni kabel! V nasprotnem\n" +"se bo sistem ugasnil Äez 30 sekund." + +#: kpowersave.cpp:1943 +msgid "" +"Battery state changed to CRITICAL -- remaining time: %1 hours and %2 " +"minutes.\n" +"Shut down your system or plug in the power cable immediately." +msgstr "" +"Stanje baterije spremenjeno v KRITIÄŒNO -- preostali Äas: %1 ur in %2 minut.\n" +"Takoj ugasnite sistem ali prikljuÄite napajalni kabel!" + +#: kpowersave.cpp:2041 +msgid "AC adapter plugged in" +msgstr "Napajalni kabel je prikljuÄen" + +#: kpowersave.cpp:2043 +msgid "AC adapter unplugged" +msgstr "Napajalni kabel ni prikljuÄen" + +#: kpowersave.cpp:2078 +msgid "Switched to scheme: %1" +msgstr "Preklopljeno v shemo: %1" + +#: kpowersave.cpp:2095 kpowersave.cpp:2100 kpowersave.cpp:2105 +msgid "System is going into %1 now." +msgstr "Sistem sedaj prehaja v %1." + +#: kpowersave.cpp:2155 kpowersave.cpp:2160 kpowersave.cpp:2165 +msgid "System is resumed from %1." +msgstr "Sistem se je vrnil v normalno stanje iz %1." + +#: kpowersave.cpp:2184 +msgid "Could not remount (all) external storage media." +msgstr "" +"Ni bilo moÄ ponovno priklopiti (vseh) zunanjih nosilcev za shranjevanje " +"podatkov." + +#: kpowersave.cpp:2192 +msgid "An unknown error occurred while %1. The errorcode is: '%2'" +msgstr "PriÅ¡lo je do neznane napake med %1. Koda napake je: »%2«" + +#: kpowersave.cpp:2197 +msgid "Do you want to have a look at the log file?" +msgstr "Ali želite pregledati dnevnik?" + +#: kpowersave.cpp:2198 kpowersave.cpp:2224 +msgid "Error while %1" +msgstr "Napaka med %1" + +#: configure_Dialog.cpp:831 +msgid "KPowersave Settings" +msgstr "KPowersave nastavitve" + +#: configure_Dialog.cpp:832 +msgid "Apply" +msgstr "Uveljavi" + +#: configure_Dialog.cpp:834 +msgid "Help" +msgstr "PomoÄ" + +#: configure_Dialog.cpp:840 +msgid "Enable specific display power management" +msgstr "OmogoÄi posebno upravljanje z energijo za zaslon" + +#: configure_Dialog.cpp:841 +msgid "Standby after:" +msgstr "Preidi v stanje pripravljenosti po:" + +#: configure_Dialog.cpp:842 +msgid "Only blank the screen" +msgstr "Samo prazen ekran" + +#: configure_Dialog.cpp:843 +msgid "Disable screen saver" +msgstr "OnemogoÄili ohranjevalnik zaslona" + +#: configure_Dialog.cpp:844 +msgid "Enable specific screensaver settings" +msgstr "OmogoÄi posebne nastavitve ohranjevalnika zaslona" + +#: configure_Dialog.cpp:845 +msgid "Suspend after:" +msgstr "Zaustavitev po:" + +#: configure_Dialog.cpp:846 +msgid "Power off after:" +msgstr "Ugasni raÄunalnik po:" + +#: configure_Dialog.cpp:847 +msgid "Disable display power management" +msgstr "OnemogoÄi upravljanje z energijo zaslona" + +#: configure_Dialog.cpp:848 configure_Dialog.cpp:849 configure_Dialog.cpp:850 +#: configure_Dialog.cpp:862 configure_Dialog.cpp:873 +msgid " min" +msgstr " min" + +#: configure_Dialog.cpp:851 +msgid "Screen Saver and DPMS" +msgstr "Ohranjevalnik zaslona in DPMS" + +#: configure_Dialog.cpp:852 +msgid "Settings" +msgstr "Nastavitve" + +#: configure_Dialog.cpp:853 +msgid "Reset" +msgstr "Ponastavi" + +#: configure_Dialog.cpp:855 +msgid "Enable scheme specific Brightness settings" +msgstr "OmogoÄi posebne nastavitve svetlosti" + +#: configure_Dialog.cpp:858 +msgid "Brightness" +msgstr "Svetlost" + +#: configure_Dialog.cpp:859 +msgid "Enable autosuspend" +msgstr "OmogoÄi samodejno zaustavitev" + +#: configure_Dialog.cpp:860 configure_Dialog.cpp:867 +msgid "Enable scheme-specific blacklist" +msgstr "OmogoÄi uporabo ÄŒrne liste za posamezno shemo" + +#: configure_Dialog.cpp:861 configure_Dialog.cpp:870 +msgid "after:" +msgstr "po:" + +#: configure_Dialog.cpp:863 configure_Dialog.cpp:868 +msgid "Edit Blacklist..." +msgstr "Urejanje Ärne liste..." + +#: configure_Dialog.cpp:864 configure_Dialog.cpp:869 +msgid "If the current desktop user is inactive the computer will:" +msgstr "ÄŒe je trenutno prijavljen uporabnik neaktiven, bo raÄunalnik:" + +#: configure_Dialog.cpp:865 +msgid "Autosuspend" +msgstr "Samodejna zaustavitev" + +#: configure_Dialog.cpp:866 +msgid "Enable autodimm the display" +msgstr "OmogoÄi samo-potemnitev zaslona" + +#: configure_Dialog.cpp:871 configure_Dialog.cpp:893 configure_Dialog.cpp:894 +#: configure_Dialog.cpp:895 configure_Dialog.cpp:896 configure_Dialog.cpp:897 +#: configure_Dialog.cpp:898 +msgid " %" +msgstr " %" + +#: configure_Dialog.cpp:872 +msgid "dimm to:" +msgstr "potemni na:" + +#: configure_Dialog.cpp:874 +msgid "Autodimm" +msgstr "Samo-potemnitev" + +#: configure_Dialog.cpp:879 +msgid "Set CPU Frequency Policy:" +msgstr "Nastavi politiko hitrosti procesorja:" + +#: configure_Dialog.cpp:880 +msgid "CPU Frequency Policy" +msgstr "Politika hitrosti procesorja" + +#: configure_Dialog.cpp:881 +msgid "Disable Notifications" +msgstr "OnemogoÄi obvestila" + +#: configure_Dialog.cpp:884 +msgid "New" +msgstr "Nova" + +#: configure_Dialog.cpp:885 +msgid "Scheme Settings" +msgstr "Nastavitve sheme" + +#: configure_Dialog.cpp:886 +msgid "" +"Define the battery warning levels (in percentage) and the releated action if " +"the level get reached:" +msgstr "" +"DoloÄite opozorilne nivoje baterije (v odstotkih) in ustrezna dejanja, ob " +"dosegu posameznega nivoja." + +#: configure_Dialog.cpp:887 +msgid "Warning level:" +msgstr "Opozorilni nivo:" + +#: configure_Dialog.cpp:888 +msgid "Low level:" +msgstr "Nizek nivo:" + +#: configure_Dialog.cpp:889 +msgid "Critical level:" +msgstr "KritiÄen nivo:" + +#: configure_Dialog.cpp:890 configure_Dialog.cpp:891 configure_Dialog.cpp:892 +msgid "if reached call:" +msgstr "Ob dosegu kliÄi:" + +#: configure_Dialog.cpp:899 +msgid "Battery" +msgstr "Baterija" + +#: configure_Dialog.cpp:900 +msgid "" +"Define the action which should be executed if the related button get pressed:" +msgstr "DoloÄite dejanje, ki naj se sproži ob pritisku na doloÄen gumb:" + +#: configure_Dialog.cpp:901 +msgid "Suspend-to-disk Button:" +msgstr "Gumb za zaustavitev:" + +#: configure_Dialog.cpp:902 +msgid "Sleep button:" +msgstr "Gumb za pripravljenost:" + +#: configure_Dialog.cpp:903 +msgid "Lid close Button:" +msgstr "Zaprtje prenosnika:" + +#: configure_Dialog.cpp:904 +msgid "Power Button:" +msgstr "Gumb za ugaÅ¡anje:" + +#: configure_Dialog.cpp:905 +msgid "Button Events" +msgstr "Gumbi" + +#: configure_Dialog.cpp:906 +msgid "" +"Select the following schemes as default if the system is running on AC or on " +"batteries." +msgstr "" +"Izberite privzeto shemo za primer, da je sistem prikljuÄen na elektriÄno " +"omrežje, ali pa teÄe na baterijah." + +#: configure_Dialog.cpp:907 +msgid "Battery scheme:" +msgstr "Baterije:" + +#: configure_Dialog.cpp:908 +msgid "AC scheme:" +msgstr "ElektriÄno omrežje:" + +#: configure_Dialog.cpp:909 +msgid "Default Schemes" +msgstr "Privzete sheme" + +#: configure_Dialog.cpp:910 +msgid "Lock screen before suspend or standby" +msgstr "" +"Zakleni zaslon pred zaustavitvijo ali prehodom v stanje pripravljenosti." + +#: configure_Dialog.cpp:911 +msgid "Lock screen with:" +msgstr "Zakleni zaslon z/s:" + +#: configure_Dialog.cpp:912 +msgid "Lock screen on lid close" +msgstr "Zakleni zaslon ob zaprtju prenosnika." + +#: configure_Dialog.cpp:913 +msgid "Lock Screen" +msgstr "Zakleni zaslon" + +#: configure_Dialog.cpp:914 +msgid "Notifications" +msgstr "Obvestila" + +#: configure_Dialog.cpp:916 +msgid "Autostart" +msgstr "Samodejni zagon" + +#: configure_Dialog.cpp:917 +msgid "Never ask me again on exit" +msgstr "Ob izhodu me nikoli ne vpraÅ¡aj." + +#: configure_Dialog.cpp:918 +msgid "KPowersave starts automatically on login" +msgstr "KPowersave se samodejno zažene ob prijavi v sistem." + +#: configure_Dialog.cpp:919 +msgid "General Blacklists" +msgstr "SploÅ¡ne Ärne liste" + +#: configure_Dialog.cpp:920 +msgid "Edit Autosuspend Blacklist..." +msgstr "Uredi Ärno listo za samo-zaustavitev ..." + +#: configure_Dialog.cpp:921 +msgid "Edit Autodimm Blacklist..." +msgstr "Uredi Ärno listo za samo-potemnitev ..." + +#: configure_Dialog.cpp:923 +msgid "General Settings" +msgstr "SploÅ¡ne nastavitve" diff --git a/po/sv.po b/po/sv.po new file mode 100644 index 0000000..9cf8e3e --- /dev/null +++ b/po/sv.po @@ -0,0 +1,1485 @@ +# translation of kpowersave.po to +# Översättning kpowersave.po till Svenska +# This file is distributed under the same license as the PACKAGE package. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER. +# +# Mattias Newzella , 2004. +# Mattias Newzella , 2007. +msgid "" +msgstr "" +"Project-Id-Version: kpowersave\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2007-08-10 03:16+0200\n" +"PO-Revision-Date: 2007-08-11 10:17+0200\n" +"Last-Translator: Mattias Newzella \n" +"Language-Team: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: KBabel 1.11.4\n" + +#: detailed_Dialog.cpp:228 +msgid "kpowersave" +msgstr "Kpowersave" + +#: detailed_Dialog.cpp:229 +msgid "General Information" +msgstr "Allmän information" + +#: detailed_Dialog.cpp:232 +msgid "Battery Status" +msgstr "Batteristatus" + +#: detailed_Dialog.cpp:233 +msgid "AC Adapter" +msgstr "Strömadapter" + +#: detailed_Dialog.cpp:234 detaileddialog.cpp:391 +msgid "plugged in" +msgstr "ansluten" + +#: detailed_Dialog.cpp:235 +msgid "Power Consumtion: " +msgstr "Strömförbrukning: " + +#: detailed_Dialog.cpp:237 +msgid "Processor Status" +msgstr "Processorstatus" + +# ok button label +#: detailed_Dialog.cpp:238 blacklistedit_Dialog.cpp:130 info_Dialog.cpp:198 +#: configure_Dialog.cpp:838 +msgid "OK" +msgstr "OK" + +#: blacklisteditdialog.cpp:60 +msgid "General Blacklist" +msgstr "Allmän svartlista" + +#: blacklisteditdialog.cpp:63 +msgid "Scheme: " +msgstr "Schema: " + +#: blacklisteditdialog.cpp:114 +msgid "Selected entry removed." +msgstr "Vald post borttagen." + +#: blacklisteditdialog.cpp:117 +msgid "Could not remove the selected entry." +msgstr "Kunde inte ta bort vald post." + +#: blacklisteditdialog.cpp:137 +msgid "Inserted new entry." +msgstr "Ny post infogades." + +#: blacklisteditdialog.cpp:141 +msgid "Entry exists already. Did not insert new entry." +msgstr "Posten finns redan. Ingen ny post infogades." + +#: blacklisteditdialog.cpp:144 +msgid "Empty entry was not inserted." +msgstr "Den tomma posten infogades inte." + +#: inactivity.cpp:298 +msgid "" +"Could not start 'pidof'. Could not autosuspend the machine.\n" +"Please check your installation." +msgstr "" +"Det gick inte att starta pidof. Det gick inte att försätta maskinen i " +"viloläge automatiskt.\n" +"Kontrollera installationen." + +#: blacklistedit_Dialog.cpp:129 +msgid "Autosuspend Blacklist Edit" +msgstr "Redigering av svartlista för automatiskt viloläge" + +# cancel button label +#: blacklistedit_Dialog.cpp:132 configuredialog.cpp:1079 +#: configure_Dialog.cpp:836 +msgid "Cancel" +msgstr "Avbryt" + +#: blacklistedit_Dialog.cpp:135 +msgid "Add" +msgstr "Lägg till" + +#: blacklistedit_Dialog.cpp:136 +msgid "Remove" +msgstr "Ta bort" + +#: infodialog.cpp:76 infodialog.cpp:78 main.cpp:55 +msgid "KPowersave" +msgstr "KPowersave" + +#: configuredialog.cpp:116 configuredialog.cpp:121 configuredialog.cpp:721 +msgid " - not supported" +msgstr " - stöds inte" + +#: configuredialog.cpp:150 configuredialog.cpp:317 detaileddialog.cpp:432 +#: kpowersave.cpp:192 settings.cpp:66 configure_Dialog.cpp:876 +msgid "Performance" +msgstr "Prestanda" + +#: configuredialog.cpp:154 configuredialog.cpp:319 detaileddialog.cpp:438 +#: kpowersave.cpp:194 settings.cpp:68 configure_Dialog.cpp:878 +msgid "Powersave" +msgstr "Spara ström" + +#: configuredialog.cpp:159 configuredialog.cpp:321 kpowersave.cpp:1478 +#: settings.cpp:70 +msgid "Presentation" +msgstr "Presentation" + +#: configuredialog.cpp:164 configuredialog.cpp:323 kpowersave.cpp:1473 +#: settings.cpp:72 +msgid "Acoustic" +msgstr "Akustiskt" + +#: configuredialog.cpp:169 configuredialog.cpp:171 configuredialog.cpp:172 +#: configuredialog.cpp:173 kpowersave.cpp:1484 +msgid "Advanced Powersave" +msgstr "Avancerade Powersave-funktioner" + +#: configuredialog.cpp:271 +msgid "" +"This enables specific screen saver settings. \n" +"Note: If selected, the global screen saver settings are \n" +"overwritten while kpowersave runs." +msgstr "" +"Aktiverar specifika skärmsläckarinställningar. \n" +"Obs! Om du markerar alternativet skrivs de globala \n" +" skärmsläckarinställningarna över och kpowersave körs." + +#: configuredialog.cpp:274 +msgid "" +"This disables the screen saver. \n" +"Note: If selected, the global screen saver settings are \n" +"overwritten while kpowersave runs." +msgstr "" +"Skärmsläckaren inaktiveras. \n" +"Obs! Om du markerar alternativet skrivs de globala \n" +" skärmsläckarinställningarna över och kpowersave körs." + +#: configuredialog.cpp:277 +msgid "" +"This blanks the screen instead of using a specific screen saver. \n" +"Note: This may work only with KScreensaver." +msgstr "" +"Skärmen släcks i stället för att en specifik skärmsläckare används. \n" +"Obs! Detta kanske bara fungerar med KScreensaver." + +#: configuredialog.cpp:279 +msgid "" +"This enables specific DPMS settings. \n" +"Note: If selected, the global DPMS settings are \n" +"overwritten while kpowersave runs." +msgstr "" +"Detta aktiverar specifika DPMS-inställningar. \n" +"Obs! Om du markerar alternativet skrivs de globala \n" +" DPMS-inställningarna över och kpowersave körs." + +#: configuredialog.cpp:282 +msgid "This disables DPMS support." +msgstr "Stödet för DPMS inaktiveras." + +#: configuredialog.cpp:283 +msgid "If selected, the screen is locked on suspend or standby." +msgstr "Om du markerar alternativet lÃ¥ses skärmen i vilo- eller vänteläge." + +#: configuredialog.cpp:284 +msgid "If selected, the screen is locked if the lid close event is triggered." +msgstr "" +"Om alternativet markeras lÃ¥ses skärmen om lockstängningshändelsen startas." + +#: configuredialog.cpp:286 +msgid "" +"Check this box to enable or disable automatic suspension of the computer." +msgstr "" +"Markera kryssrutan om du vill aktivera eller inaktivera automatiskt viloläge " +"för datorn." + +#: configuredialog.cpp:288 +msgid "" +"Activate this action if the user was inactive for the defined time \n" +"(greater than 0 minutes). If empty, nothing happens." +msgstr "" +"Aktivera Ã¥tgärden om användaren var inaktiv under den angivna tiden \n" +"(mer än 0 minuter). Om kryssrutan är tom händer ingenting." + +#: configuredialog.cpp:291 +msgid "All scheme-related screen saver and DPMS settings." +msgstr "Alla schemarelaterade inställningar för skärmsläckare och DPMS." + +#: configuredialog.cpp:292 +msgid "All scheme-related display brightness settings." +msgstr "Alla schemarelaterade inställningar för skärmljusstyrka." + +#: configuredialog.cpp:293 +msgid "All scheme-related automatic suspend settings." +msgstr "Alla schemarelaterade inställningar för automatiskt viloläge." + +#: configuredialog.cpp:295 +msgid "" +"Here you can change the brightness of your display. \n" +"Use the slider to change the brightness directly for \n" +"testing. To reset back to previous level, please press \n" +"the 'Reset' button. " +msgstr "" +"Här kan du ändra skärmens ljusstyrka. \n" +"Använd skjutreglaget och ändra ljusstyrkan direkt för \n" +" att testa. Om du vill Ã¥terställa till tidigare nivÃ¥ trycker du pÃ¥ \n" +" knappen Ã…terställ. " + +#: configuredialog.cpp:299 +msgid "Use this button to set back the slider and the display brightness." +msgstr "" +"Använd den här knappen om du vill Ã¥terställa skjutreglaget och " +"skärmljusstyrkan." + +#: configuredialog.cpp:352 +msgid "Press this button to delete the selected scheme." +msgstr "Klicka pÃ¥ den knappen för att ta bort valt schema." + +#: configuredialog.cpp:357 +msgid "You can't delete the current AC or battery scheme." +msgstr "" + +#: configuredialog.cpp:363 +msgid "You can't delete this default scheme." +msgstr "Du kan inte ta bort det här standardschemat." + +#: configuredialog.cpp:546 +msgid "" +"Your hardware supports to change the brightness. The values of the slider " +"are in percent and mapped to the available brightness levels of your " +"hardware." +msgstr "" +"Din maskinvara kan hantera ljusstyrkeändringen. Värdena för skjutreglaget " +"anges i procent och kopplas till maskinvarans tillgängliga ljusstyrkenivÃ¥er." + +#: configuredialog.cpp:553 +msgid "" +"Your Hardware currently not support changing the brightness of your display." +msgstr "" +"Maskinvara har för närvarande inget stöd för ändring av skärmens ljusstyrka." + +#: configuredialog.cpp:664 +msgid "Select Automatically" +msgstr "Välj automatiskt" + +#: configuredialog.cpp:665 +msgid "KScreensaver" +msgstr "KScreensaver" + +#: configuredialog.cpp:666 +msgid "XScreensaver" +msgstr "XScreensaver" + +#: configuredialog.cpp:667 +msgid "xlock" +msgstr "xlock" + +#: configuredialog.cpp:668 +msgid "GNOME Screensaver" +msgstr "GNOME Screensaver" + +#: configuredialog.cpp:930 +msgid "" +"There are unsaved changes in the active scheme.\n" +"Apply the changes before jumping to the next scheme or discard the changes?" +msgstr "" +"Det finns osparade ändringar i det aktiva schemat.\n" +"Vill du tillämpa ändringarna innan du gÃ¥r till nästa schema eller Ã¥ngra " +"ändringarna?" + +#: configuredialog.cpp:933 configuredialog.cpp:983 +msgid "Unsaved Changes" +msgstr "Osparade ändringar" + +#: configuredialog.cpp:981 +msgid "" +"There are unsaved changes.\n" +"Apply the changes before cancel or discard the changes?" +msgstr "" +"Det finns osparade ändringar.\n" +"Vill du tillämpa ändringarna innan du avbryter eller Ã¥ngra ändringarna?" + +#: configuredialog.cpp:1032 +msgid "Please insert a name for the new scheme:" +msgstr "Ange ett namn för det nya schemat." + +#: configuredialog.cpp:1038 +msgid "KPowersave Configuration" +msgstr "Inställning av strömhantering" + +#: configuredialog.cpp:1046 +msgid "Error: A scheme with this name already exist.\n" +msgstr "Fel: Ett schema med det här namnet finns redan.\n" + +#: configuredialog.cpp:1076 +msgid "Do you really want to delete the %1 scheme?" +msgstr "Vill du verkligen ta bort schemat %1?" + +#: configuredialog.cpp:1078 +msgid "Confirm delete scheme" +msgstr "Bekräfta borttag av schema" + +#: configuredialog.cpp:1079 configure_Dialog.cpp:883 +msgid "Delete" +msgstr "Ta bort" + +#: configuredialog.cpp:1095 +msgid "Could not delete the selected scheme." +msgstr "Kunde inte ta bort valda scheman." + +#: configuredialog.cpp:1324 +msgid "" +"Note: If you select this option, the computer will suspend or standby " +"if the current user is inactive for the defined time even if somebody is " +"logged in remotely to the X server.

    This feature can also produce " +"problems with some programs, such as video players or cd burner. These " +"programs can be blacklisted by checking Enable scheme-specific blacklist and click Edit Blacklist.... If this does not help, report the " +"problem or deactivate autosuspend.

    Really use this option?" +msgstr "" +"Obs! Om du valde det här alternativet övergår datorn till vilo- eller " +"vänteläge om den aktuella användaren är inaktiv under den angivna perioden " +"även om någon är fjärrinloggad på X-servern.

    Denna funktion kan ge " +"problem med vissa program, t.ex. videospelare eller cd-brännare. Du kan " +"svartlista programmen genom att markera Aktivera schemaspecifik " +"svartlista och klicka på Redigera svartlista.... Om detta inte " +"fungerar rapporterar du problemet eller inaktiverar det automatiska " +"viloläget.

    Vill du använda det här alternativet?" + +#: configuredialog.cpp:1402 configuredialog.cpp:1532 +msgid "" +"The blacklist of the selected scheme is empty. Import the general blacklist?" +msgstr "" +"Det valda schemats svartlista är tom. Vill du importera den generella " +"svartlistan?" + +#: configuredialog.cpp:1404 configuredialog.cpp:1534 +msgid "Import" +msgstr "Importera" + +#: configuredialog.cpp:1404 configuredialog.cpp:1534 +msgid "Do Not Import" +msgstr "Importera inte" + +#: configuredialog.cpp:1416 +#, fuzzy +msgid "General Autosuspend Blacklist" +msgstr "Redigering av svartlista för automatiskt viloläge" + +#: configuredialog.cpp:1546 +#, fuzzy +msgid "General Autodimm Blacklist" +msgstr "Allmän svartlista" + +#: configuredialog.cpp:1779 configuredialog.cpp:1816 +msgid "Shutdown" +msgstr "Stäng av" + +#: configuredialog.cpp:1781 configuredialog.cpp:1819 +msgid "Logout Dialog" +msgstr "Dialogrutan logga ut" + +#: configuredialog.cpp:1784 configuredialog.cpp:1822 kpowersave.cpp:182 +#: kpowersave.cpp:2096 kpowersave.cpp:2156 kpowersave.cpp:2247 +msgid "Suspend to Disk" +msgstr "spara till disk" + +#: configuredialog.cpp:1787 configuredialog.cpp:1825 kpowersave.cpp:186 +#: kpowersave.cpp:2101 kpowersave.cpp:2161 kpowersave.cpp:2250 +msgid "Suspend to RAM" +msgstr "Spara till RAM" + +#: configuredialog.cpp:1790 configuredialog.cpp:1828 +#, fuzzy +msgid "CPU Powersave policy" +msgstr "Spara ström" + +#: configuredialog.cpp:1793 configuredialog.cpp:1831 +msgid "CPU Dynamic policy" +msgstr "" + +#: configuredialog.cpp:1796 configuredialog.cpp:1834 +msgid "CPU Performance policy" +msgstr "Princip för processorprestanda" + +#: configuredialog.cpp:1799 configuredialog.cpp:1837 +msgid "Set Brightness to" +msgstr "Ange ljusstyrka till" + +#: main.cpp:43 +#, fuzzy +msgid "KDE Frontend for Power Management, Battery Monitoring and Suspend" +msgstr "" +"KDE-gränssnitt för strömsparfunktioner (powersave Package, Battery Monitor, " +"General Power Management Support)" + +#: main.cpp:45 +msgid "Force a new check for ACPI support" +msgstr "Tvinga fram en ny kontroll av ACPI-stöd" + +#: main.cpp:46 +msgid "Trace function entry and leave points for debug\n" +msgstr "" + +#: main.cpp:59 +msgid "Current maintainer" +msgstr "sNuvarande utvecklare" + +#: main.cpp:62 +msgid "Powersave developer and for D-Bus integration" +msgstr "Powersave-utvecklare och DBUS-integrering" + +#: main.cpp:64 +msgid "Powersave developer and tester" +msgstr "Utvecklare och testare för Powersave" + +#: main.cpp:66 +msgid "Added basic detailed dialog" +msgstr "Grundläggande detaljerad dialogruta lades till" + +#: main.cpp:67 +msgid "Packaging Debian and Ubuntu" +msgstr "Paketerar Debian och Ubuntu" + +#: detaileddialog.cpp:61 +msgid "KPowersave Information Dialog" +msgstr "KPowersave - informationsdialogruta" + +#: detaileddialog.cpp:65 configure_Dialog.cpp:882 configure_Dialog.cpp:922 +msgid "Miscellaneous" +msgstr "Diverse" + +#: detaileddialog.cpp:66 +msgid "CPUs" +msgstr "Processorer" + +#: detaileddialog.cpp:73 detaileddialog.cpp:453 +msgid "Battery state:" +msgstr "Batteristatus:" + +#: detaileddialog.cpp:79 +msgid "Total:" +msgstr "Totalt:" + +#: detaileddialog.cpp:81 detaileddialog.cpp:83 +msgid "Battery %1" +msgstr "Batteri %1" + +#: detaileddialog.cpp:114 +msgid "Processor %1" +msgstr "Processor %1" + +#: detaileddialog.cpp:230 +msgid "not present" +msgstr "inte närvarande" + +#: detaileddialog.cpp:243 +msgid "charged" +msgstr "laddad" + +#: detaileddialog.cpp:245 +msgid "%1:%2 h until charged" +msgstr "%1:%2 tim tills fulladdad" + +#: detaileddialog.cpp:248 +msgid "%1:%2 h remaining" +msgstr "%1:%2 tim återstår" + +#: detaileddialog.cpp:253 detaileddialog.cpp:441 detaileddialog.cpp:468 +msgid "unknown" +msgstr "okänd" + +#: detaileddialog.cpp:325 detaileddialog.cpp:368 +msgid "%v MHz" +msgstr "%v MHz" + +#: detaileddialog.cpp:330 detaileddialog.cpp:363 dummy.cpp:58 +msgid "deactivated" +msgstr "inaktiverad" + +#: detaileddialog.cpp:395 +msgid "unplugged" +msgstr "ej anslutet" + +#: detaileddialog.cpp:412 +msgid "Current Scheme: " +msgstr "Aktuellt schema:" + +#: detaileddialog.cpp:429 +msgid "Current CPU Frequency Policy:" +msgstr "Aktuell frekvensprincip för processor:" + +#: detaileddialog.cpp:435 kpowersave.cpp:193 configure_Dialog.cpp:877 +msgid "Dynamic" +msgstr "Dynamisk" + +#: detaileddialog.cpp:456 +msgid "Critical" +msgstr "Kritisk" + +#: detaileddialog.cpp:459 +msgid "Low" +msgstr "Låg" + +#: detaileddialog.cpp:462 kpowersave.cpp:277 kpowersave.cpp:652 +#: kpowersave.cpp:659 kpowersave.cpp:705 kpowersave.cpp:713 kpowersave.cpp:761 +#: kpowersave.cpp:769 kpowersave.cpp:817 kpowersave.cpp:824 +#: kpowersave.cpp:1131 kpowersave.cpp:1243 kpowersave.cpp:1272 +#: kpowersave.cpp:1610 kpowersave.cpp:1670 kpowersave.cpp:2186 +msgid "Warning" +msgstr "Varning" + +#: detaileddialog.cpp:465 +msgid "ok" +msgstr "OK" + +#: detaileddialog.cpp:474 detaileddialog.cpp:477 +msgid "Set brightness supported:" +msgstr "Ljusstyrkeinställning stöds:" + +#: detaileddialog.cpp:475 +msgid "yes" +msgstr "ja" + +#: detaileddialog.cpp:478 +msgid "no" +msgstr "nej" + +#: detaileddialog.cpp:481 detaileddialog.cpp:485 +msgid "HAL Daemon:" +msgstr "HAL-demon:" + +#: detaileddialog.cpp:482 +msgid "running" +msgstr "igång" + +#: detaileddialog.cpp:486 +msgid "not running" +msgstr "inte igång" + +#: info_Dialog.cpp:197 +msgid "Information" +msgstr "Information" + +#: dummy.cpp:36 +msgid "If the current desktop user is inactive, dim the display to:" +msgstr "" +"Om den aktuella skrivbordsanvändaren är inaktiv tonas skärmen ned till:" + +#: dummy.cpp:37 +msgid "Enable dim display on inactivity" +msgstr "Aktivera nedtoning av skärm vid inaktivitet" + +#: dummy.cpp:38 +msgid "Blacklist" +msgstr "Svartlista" + +#: dummy.cpp:39 +msgid "" +"Here you can add programs which should, if running, prevent the dimming of " +"the display." +msgstr "" +"Här kan du lägga till program som skulle förhindra nedtoning av skärmen om " +"de kördes." + +#: dummy.cpp:41 +msgid "Would you like to import a predefined blacklist?" +msgstr "Vill du importera en fördefinierad svartlista?" + +#: dummy.cpp:42 +msgid "Disable CPUs/Cores" +msgstr "Inaktivera processorer/kärnor" + +#: dummy.cpp:43 +msgid "Max. running CPUs:" +msgstr "Högsta antal aktiva processorer:" + +#: dummy.cpp:44 +msgid "Max. running CPUs/Cores:" +msgstr "Högsta antal aktiva processorer/kärnor:" + +#: dummy.cpp:45 +msgid "Min. running CPUs:" +msgstr "Lägsta antal aktiva processorer:" + +#: dummy.cpp:46 +msgid "Min. running CPUs/Cores:" +msgstr "Lägsta antal aktiva processorer/kärnor:" + +#: dummy.cpp:47 +msgid "Enable to switch off CPUs/cores" +msgstr "Aktivera avstängning av processorer/kärnor" + +#: dummy.cpp:48 +msgid "You have a multiprocessor/multicore machine." +msgstr "Du har en dator med flera processorer/flera kärnor." + +#: dummy.cpp:49 +msgid "" +"You can disable CPUs/cores to reduce power consumption and save battery " +"power." +msgstr "" +"Du kan inaktivera processorer/kärnor för att minska strömförbrukningen och " +"spara batteritid." + +#: dummy.cpp:50 +msgid "Device" +msgstr "Enhet" + +#: dummy.cpp:51 +msgid "Devices" +msgstr "Enheter" + +#: dummy.cpp:52 +msgid "Device class" +msgstr "Enhetsklass" + +#: dummy.cpp:53 +msgid "activate" +msgstr "aktivera" + +#: dummy.cpp:54 +msgid "Activate" +msgstr "Aktivera" + +#: dummy.cpp:55 +msgid "deactivate" +msgstr "inaktivera" + +#: dummy.cpp:56 +msgid "Deactivate" +msgstr "Inaktivera" + +#: dummy.cpp:57 +msgid "activated" +msgstr "aktiverad" + +#: dummy.cpp:59 +msgid "do nothing" +msgstr "gör ingenting" + +#: dummy.cpp:60 +msgid "Deactivate following devices:" +msgstr "Inaktivera följande enheter:" + +#: dummy.cpp:61 +msgid "Activate following devices" +msgstr "Aktivera följande enheter" + +#: dummy.cpp:62 +msgid "Reactivate following devices" +msgstr "Återaktivera följande enheter" + +#: dummy.cpp:63 +msgid "Deactivate following device classes:" +msgstr "Inaktivera följande enhetsklasser:" + +#: dummy.cpp:64 +msgid "Activate following devices classes" +msgstr "Aktivera följande enhetsklasser" + +#: dummy.cpp:65 +msgid "Reactivate following device classes" +msgstr "Återaktivera följande enhetsklasser" + +#: dummy.cpp:66 +msgid "If the scheme switched all devices are again activated." +msgstr "Om schemat växlades, aktiveras alla enheter igen." + +#: dummy.cpp:67 +msgid "This is a experimental feature." +msgstr "Detta är en experimentfunktion." + +#: dummy.cpp:68 +msgid "If you have problems with this feature, please report them." +msgstr "Om du har problem med funktionen vill vi att du rapporterar dem." + +#: dummy.cpp:69 +msgid "Select one of the available devices and click on " +msgstr "Välj en av de tillgängliga enheterna och klicka på" + +#: dummy.cpp:70 +msgid "Select one of the available device classes and click on " +msgstr "Välj en av de tillgängliga enhetsklasserna och klicka på" + +#: dummy.cpp:71 +msgid "Select one or more of the available devices and click on " +msgstr "Välj en eller flera av de tillgängliga enheterna och klicka på" + +#: dummy.cpp:72 +msgid "Select one or more of the available device classes and click on " +msgstr "Välj en eller flera av de tillgängliga enhetsklasserna och klicka på" + +#: dummy.cpp:73 +msgid "" +"Please note: If you e.g. deactivate a network device you may lose your " +"internet connection." +msgstr "" +"Obs! Om du t.ex. inaktiverar en nätverksenhet kan du förlora anslutningen " +"till Internet." + +#: dummy.cpp:75 +msgid "" +"Note: If you select this option, the computer will suspend or standby " +"if the current user is inactive for the defined time.

    This feature " +"can also produce problems with some programs, such as video players or cd " +"burner. These programs can be blacklisted by checking Enable scheme-" +"specific blacklist and click Edit Blacklist.... If this does not " +"help, report the problem or deactivate autosuspend.

    Really use this " +"option?" +msgstr "" +"Obs! Om du väljer det här alternativet övergår datorn till vilo- " +"eller vänteläge om den aktuella användaren är inaktiv under den angivna " +"tiden.

    Denna funktion kan ge problem med vissa program, t.ex. " +"videospelare eller cd-brännare. Du kan svartlista programmen genom att " +"markera Aktivera schemaspecifik svartlista och klicka på Redigera " +"svartlista.... Om detta inte fungerar rapporterar du problemet eller " +"inaktiverar det automatiska viloläget.

    Vill du använda det här " +"alternativet?" + +#: dummy.cpp:82 +msgid "Try to use only one CPU/Core." +msgstr "Försök endast att använda en processor/kärna." + +#: dummy.cpp:83 +msgid "" +"Reduce power consumption by try to use only one CPU/Core instead of " +"spreading the work over all/multiple CPUs." +msgstr "" + +#: dummy.cpp:87 +msgid "Could not load the global configuration." +msgstr "Det gick inte att läsa in de globala inställningarna." + +#: dummy.cpp:88 +msgid "Could not load the requested scheme configuration." +msgstr "Det gick inte att läsa in de begärda schemainställningarna." + +#: dummy.cpp:89 +msgid "Configure the current scheme." +msgstr "Ställ in aktuellt schema." + +#: dummy.cpp:90 +msgid "Try loading the default configuration." +msgstr "Försök läsa in standardinställningarna." + +#: dummy.cpp:91 +msgid "Maybe the global configuration file is empty or missing." +msgstr "Den globala inställningsfilen kan vara tom eller saknas." + +#: dummy.cpp:94 +msgid "Cannot connect to D-Bus. The D-Bus daemon may not be running." +msgstr "Det går inte att ansluta till D-BUS. D-BUS-demonen kanske inte körs." + +#: dummy.cpp:95 +msgid "" +"Scheme switched to %1. \n" +" Deactivate following devices: %2" +msgstr "" +"Schemat har växlats till %1. \n" +" Inaktivera följande enheter: %2" + +#: dummy.cpp:96 +msgid "" +"Scheme switched to %1. \n" +" Activate following devices: %2" +msgstr "" +"Schemat har växlats till %1. \n" +" Aktivera följande enheter: %2" + +#: dummy.cpp:97 +msgid "Report ..." +msgstr "Rapportera..." + +#: dummy.cpp:98 +msgid "Suspend to RAM is not supported on your machine." +msgstr "Spara till RAM stöds inte på din maskin." + +#: dummy.cpp:99 +msgid "Additionally, please mail the output of %1 to %2 . Thanks!" +msgstr "Skicka också utdata från %1 till %2 . Tack!" + +#: dummy.cpp:100 +msgid "Power consumption" +msgstr "Strömförbrukning" + +#: dummy.cpp:103 +msgid "KScreensaver not found." +msgstr "KScreensaver hittades inte." + +#: dummy.cpp:104 +msgid "Try locking with XScreensaver or xlock." +msgstr "Försök låsa med XScreensaver eller xlock." + +#: dummy.cpp:105 +msgid "XScreensaver not found." +msgstr "XScreensaver hittades inte." + +#: dummy.cpp:106 +msgid "Try locking the screen with xlock." +msgstr "Försök låsa skärmen med xlock." + +#: dummy.cpp:107 +msgid "" +"XScreensaver and xlock not found. It is not possible to lock the screen. " +"Check your installation." +msgstr "" +"XScreensaver och xlock hittades inte. Det går inte att låsa skärmen. " +"Kontrollera installationen." + +#: dummy.cpp:111 +msgid "HAL daemon:" +msgstr "HAL-demon:" + +#: dummy.cpp:112 +msgid "D-Bus daemon:" +msgstr "D-BUS-demon:" + +#: dummy.cpp:113 +#, fuzzy +msgid "ConsoleKit daemon:" +msgstr "Demonisera inte" + +#: dummy.cpp:114 +msgid "Autosuspend activated:" +msgstr "Automatiskt viloläge aktiverat:" + +#: dummy.cpp:115 +#, fuzzy +msgid "Autodimm activated:" +msgstr "Automatiskt viloläge aktiverat:" + +#: dummy.cpp:116 +msgid "enabled" +msgstr "aktiverad" + +#: dummy.cpp:117 +msgid "Session active:" +msgstr "Session aktiv:" + +#: dummy.cpp:120 +msgid "Inactivity detected." +msgstr "Identifierade inaktivitet." + +#: dummy.cpp:121 +msgid "To stop the %1 press the 'Cancel' button before the countdown expire." +msgstr "" + +#: dummy.cpp:122 +msgid "The computer autosuspend in: " +msgstr "" + +#: dummy.cpp:123 +#, c-format +msgid "The display get dimmed down to %1% in: " +msgstr "" + +#: dummy.cpp:124 +msgid "%1 seconds" +msgstr "%1 sekunder" + +#: dummy.cpp:127 +msgid "Could not call %1. The current desktop session is not active." +msgstr "Kunde inte anropa %1. Den aktuella skrivbordssessionen är inte aktiv." + +#: dummy.cpp:128 +msgid "Could not set %1. The current desktop session is not active." +msgstr "" +"Kunde inte ställa in %1. Den aktuella skrivbordssessionen är inte aktiv." + +#: dummy.cpp:129 +msgid "Stopped %1. The current desktop session is now inactive." +msgstr "Stoppade %1. Den aktuella skrivbordssessionen är nu inaktiv." + +#: dummy.cpp:130 +msgid "Restarted %1. The current desktop session is now active again." +msgstr "Startade om %1. Den aktuella skrivbordssessionen är nu aktiv igen." + +#: log_viewer.cpp:78 +msgid "Form1" +msgstr "Form1" + +#: log_viewer.cpp:79 +msgid "Save As ..." +msgstr "Spara som..." + +#: log_viewer.cpp:80 +msgid "Close" +msgstr "Stäng" + +#: logviewer.cpp:44 +#, fuzzy +msgid "KPowersave Logfile Viewer: %1" +msgstr "Powersave-funktionen växlade till schemat: %1" + +#: logviewer.cpp:89 +msgid "File already exist. Overwrite the file?" +msgstr "Filen finns redan. Skriva över?" + +#: logviewer.cpp:90 logviewer.cpp:97 +msgid "Error while save logfile" +msgstr "Fel när loggfilen skulle sparas" + +#: logviewer.cpp:95 +msgid "File already exist." +msgstr "Filen finns redan." + +#: logviewer.cpp:98 +msgid "Try other filename ..." +msgstr "Ange ett annat filnamn..." + +#: suspenddialog.cpp:70 +msgid "Preparing Suspend..." +msgstr "Förbereder viloläge..." + +#: kpowersave.cpp:168 +msgid "Configure KPowersave..." +msgstr "Ställ in KPowersave..." + +#: kpowersave.cpp:171 configure_Dialog.cpp:915 +msgid "Configure Notifications..." +msgstr "Ställ in meddelanden..." + +#: kpowersave.cpp:175 +msgid "Start YaST2 Power Management Module..." +msgstr "Starta YaST-strömhanteringsmodul..." + +#: kpowersave.cpp:189 kpowersave.cpp:2106 kpowersave.cpp:2166 +#: kpowersave.cpp:2253 +msgid "Standby" +msgstr "Vänteläge" + +#: kpowersave.cpp:191 kpowersave.cpp:198 +msgid "Set CPU Frequency Policy" +msgstr "Ange frekvensprincip för processor" + +#: kpowersave.cpp:205 kpowersave.cpp:206 +msgid "Set Active Scheme" +msgstr "Ange aktivt schema" + +#: kpowersave.cpp:212 +msgid "Disable Actions on Inactivity" +msgstr "Inaktivera åtgärder vid inaktivitet" + +#: kpowersave.cpp:219 kpowersave.cpp:229 +msgid "&Help" +msgstr "&Hjälp" + +#: kpowersave.cpp:221 +msgid "&KPowersave Handbook" +msgstr "&KPowersave - handbok" + +#: kpowersave.cpp:224 +msgid "&Report a bug ..." +msgstr "&Rapportera en bugg ..." + +#: kpowersave.cpp:226 +msgid "&About KPowersave" +msgstr "&Om KPowersave" + +#: kpowersave.cpp:275 kpowersave.cpp:648 kpowersave.cpp:656 kpowersave.cpp:703 +#: kpowersave.cpp:710 kpowersave.cpp:759 kpowersave.cpp:766 kpowersave.cpp:815 +#: kpowersave.cpp:822 kpowersave.cpp:1126 kpowersave.cpp:1241 +#: kpowersave.cpp:1270 kpowersave.cpp:2183 +msgid "WARNING" +msgstr "VARNING" + +#: kpowersave.cpp:275 +msgid "Cannot find any schemes." +msgstr "Kan inte hitta några scheman." + +#: kpowersave.cpp:453 +msgid "No information about battery and AC status available" +msgstr "Ingen statusinformation om batteri och strömförsörjning tillgänglig" + +#: kpowersave.cpp:456 +msgid "Plugged in -- fully charged" +msgstr "Ansluten till vägguttag - Fulladdad" + +#: kpowersave.cpp:460 +msgid "Plugged in" +msgstr "Ansluten till vägguttag" + +#: kpowersave.cpp:464 +msgid "Plugged in -- %1% charged (%2:%3 h until full charged)" +msgstr "Ansluten -- %1% laddad (%2:%3 tim tills fulladdad)" + +#: kpowersave.cpp:467 +msgid "Plugged in -- %1% charged (%2:%3 remaining hours)" +msgstr "Ansluten till vägguttag -- %1% laddat (%2:%3 timmar återstår)" + +#: kpowersave.cpp:471 kpowersave.cpp:475 +#, c-format +msgid "Plugged in -- %1% charged" +msgstr "Ansluten till vägguttag - %1% laddat" + +#: kpowersave.cpp:474 +msgid "Plugged in -- no battery" +msgstr "Ansluten till vägguttag - Inget batteri" + +#: kpowersave.cpp:480 +msgid "Running on batteries -- %1% charged (%2:%3 hours remaining)" +msgstr "Kör på batterier - %1% laddat (%2:%3 timmar återstår)" + +#: kpowersave.cpp:484 +#, c-format +msgid "Running on batteries -- %1% charged" +msgstr "Kör på batterier - %1% laddat" + +#: kpowersave.cpp:491 +msgid " -- battery is charging" +msgstr " -- batteriet laddas" + +#: kpowersave.cpp:649 kpowersave.cpp:657 +msgid "Could not start YaST Power Management Module. Check if it is installed." +msgstr "" +"Det gick inte att starta YaST Power Management Module. Kontrollera om den " +"har installerats." + +#: kpowersave.cpp:703 +msgid "Suspend to disk failed" +msgstr "Spara till disk misslyckades" + +#: kpowersave.cpp:711 +msgid "Suspend to disk disabled by administrator." +msgstr "Spara till disk inaktiverat av administratör." + +#: kpowersave.cpp:759 +msgid "Suspend to RAM failed" +msgstr "Spara till RAM misslyckades" + +#: kpowersave.cpp:767 +msgid "Suspend to RAM disabled by administrator." +msgstr "Spara till RAM inaktiverat av administratören." + +#: kpowersave.cpp:815 +msgid "Standby failed" +msgstr "Vänteläge misslyckades" + +#: kpowersave.cpp:822 +msgid "Standby disabled by administrator." +msgstr "Vänteläge inaktiverat av administratör." + +#: kpowersave.cpp:853 +msgid "System is going into suspend mode now" +msgstr "Systemet övergår till viloläge" + +#: kpowersave.cpp:1039 +msgid "Could not call DCOP interface to umount external media." +msgstr "" + +#: kpowersave.cpp:1044 +msgid "" +"Could not umount external media before suspend/standby. \n" +" (Reason: %1)\n" +" \n" +" Would you like to continue suspend/standby anyway? \n" +"(Warning: Continue suspend can cause data loss!)" +msgstr "" + +#: kpowersave.cpp:1052 +msgid "Error while prepare %1" +msgstr "Fel vid förberedelse %1" + +#: kpowersave.cpp:1053 +#, fuzzy +msgid "Suspend anyway" +msgstr "Viloläge aktiverat" + +#: kpowersave.cpp:1053 +#, fuzzy +msgid "Cancel suspend" +msgstr "övergå till viloläge" + +#: kpowersave.cpp:1127 +msgid "" +"Could not lock the screen. There may be a problem with the selected \n" +"lock method or something else." +msgstr "" +"Det gick inte att låsa skärmen. Det kan vara problem med den valda \n" +"låsmetoden eller med något annat." + +#: kpowersave.cpp:1144 +msgid "The Lid was closed." +msgstr "Locket stängdes." + +#: kpowersave.cpp:1156 +msgid "The Lid was opened." +msgstr "Locket öppnades." + +#: kpowersave.cpp:1223 +msgid "Start KPowersave automatically when you log in?" +msgstr "Ska KPowersave startas automatiskt när du loggar in?" + +#: kpowersave.cpp:1224 +msgid "Question" +msgstr "Fråga" + +#: kpowersave.cpp:1225 +msgid "Start Automatically" +msgstr "Starta automatiskt" + +#: kpowersave.cpp:1225 +msgid "Do Not Start" +msgstr "Starta inte" + +#: kpowersave.cpp:1242 +msgid "CPU Freq Policy %1 could not be set." +msgstr "Det gick inte att ange processorfrekvensprincipen %1." + +#: kpowersave.cpp:1271 +msgid "Scheme %1 could not be activated." +msgstr "Schemat %1 kunde inte aktiveras." + +#: kpowersave.cpp:1600 +msgid "" +"The D-Bus daemon is not running.\n" +"Starting it will provide full functionality: /etc/init.d/dbus start" +msgstr "" +"D-BUS-demonen körs inte.\n" +"Om du startar den får du full funktionalitet: /etc/init.d/messagebus start" + +#: kpowersave.cpp:1611 +msgid "Don't show this message again." +msgstr "Visa inte det här meddelandet igen." + +#: kpowersave.cpp:1637 +msgid "ERROR" +msgstr "FEL" + +#: kpowersave.cpp:1638 +msgid "Could not get information from HAL. The haldaemon is maybe not running." +msgstr "" +"Det gick inte att få information från HAL. HAL-demonen kanske inte körs." + +#: kpowersave.cpp:1641 +msgid "Error" +msgstr "Fel" + +#: kpowersave.cpp:1912 +msgid "" +"Battery state changed to WARNING -- remaining time: %1 hours and %2 minutes." +msgstr "" +"Batteristatus ändrad till VARNING. Återstående tid: %1 timmar och %2 minuter." + +#: kpowersave.cpp:1921 +msgid "" +"Battery state changed to LOW -- remaining time: %1 hours and %2 minutes." +msgstr "" +"Batteristatus ändrades till LÅG - återstående tid: %1 timmar och %2 minuter." + +#: kpowersave.cpp:1932 +#, fuzzy +msgid "" +"Battery state changed to CRITICAL -- remaining time: %1 hours and %2 " +"minutes.\n" +"Shut down your system or plug in the power cable immediately. Otherwise the " +"machine\n" +"will go shutdown in 30 seconds" +msgstr "" +"Batteristatus ändrades till KRITISK - återstående tid: %1 timmar och %2 " +"minuter. Stäng av datorn eller anslut strömkabeln omedelbart." + +#: kpowersave.cpp:1943 +msgid "" +"Battery state changed to CRITICAL -- remaining time: %1 hours and %2 " +"minutes.\n" +"Shut down your system or plug in the power cable immediately." +msgstr "" +"Batteristatus ändrades till KRITISK - återstående tid: %1 timmar och %2 " +"minuter.\n" +"Stäng av datorn eller anslut strömkabeln omedelbart." + +#: kpowersave.cpp:2041 +msgid "AC adapter plugged in" +msgstr "Strömkabeln ansluten" + +#: kpowersave.cpp:2043 +msgid "AC adapter unplugged" +msgstr "Strömkabeln urkopplad" + +#: kpowersave.cpp:2078 +msgid "Switched to scheme: %1" +msgstr "Växlade till schemat: %1" + +#: kpowersave.cpp:2095 kpowersave.cpp:2100 kpowersave.cpp:2105 +msgid "System is going into %1 now." +msgstr "Systemet övergår till %1." + +#: kpowersave.cpp:2155 kpowersave.cpp:2160 kpowersave.cpp:2165 +msgid "System is resumed from %1." +msgstr "System övergår från %1." + +#: kpowersave.cpp:2184 +msgid "Could not remount (all) external storage media." +msgstr "" + +#: kpowersave.cpp:2192 +#, fuzzy +msgid "An unknown error occurred while %1. The errorcode is: '%2'" +msgstr "Ett okänt fel uppstod vid autentiseringen." + +# power-off message +#: kpowersave.cpp:2197 +msgid "Do you want to have a look at the log file?" +msgstr "Vill du se loggfilen?" + +#: kpowersave.cpp:2198 kpowersave.cpp:2224 +msgid "Error while %1" +msgstr "Fel vid %1" + +#: configure_Dialog.cpp:831 +msgid "KPowersave Settings" +msgstr "KPowersave-inställningar" + +#: configure_Dialog.cpp:832 +msgid "Apply" +msgstr "Verkställ" + +#: configure_Dialog.cpp:834 +msgid "Help" +msgstr "Hjälp" + +#: configure_Dialog.cpp:840 +msgid "Enable specific display power management" +msgstr "Aktivera specifika strömsparfunktioner för skärm" + +#: configure_Dialog.cpp:841 +msgid "Standby after:" +msgstr "Vänteläge efter:" + +#: configure_Dialog.cpp:842 +msgid "Only blank the screen" +msgstr "Endast släckning av skärmen" + +#: configure_Dialog.cpp:843 +msgid "Disable screen saver" +msgstr "Inaktivera skärmsläckare" + +#: configure_Dialog.cpp:844 +msgid "Enable specific screensaver settings" +msgstr "Aktivera specifika inställningar för skärmsläckare" + +#: configure_Dialog.cpp:845 +msgid "Suspend after:" +msgstr "Viloläge efter:" + +#: configure_Dialog.cpp:846 +msgid "Power off after:" +msgstr "Stäng av efter:" + +#: configure_Dialog.cpp:847 +msgid "Disable display power management" +msgstr "Inaktivera strömhantering för skärmen" + +#: configure_Dialog.cpp:848 configure_Dialog.cpp:849 configure_Dialog.cpp:850 +#: configure_Dialog.cpp:862 configure_Dialog.cpp:873 +msgid " min" +msgstr "min" + +#: configure_Dialog.cpp:851 +msgid "Screen Saver and DPMS" +msgstr "Skärmsläckare och DPMS" + +#: configure_Dialog.cpp:852 +msgid "Settings" +msgstr "Inställningar" + +#: configure_Dialog.cpp:853 +msgid "Reset" +msgstr "Återställ" + +#: configure_Dialog.cpp:855 +msgid "Enable scheme specific Brightness settings" +msgstr "Aktivera schemaspecifika inställningar för ljusstyrka" + +#: configure_Dialog.cpp:858 +msgid "Brightness" +msgstr "Ljusstyrka" + +#: configure_Dialog.cpp:859 +msgid "Enable autosuspend" +msgstr "Aktivera automatiskt viloläge" + +#: configure_Dialog.cpp:860 configure_Dialog.cpp:867 +msgid "Enable scheme-specific blacklist" +msgstr "Aktivera schemaspecifik svartlista" + +#: configure_Dialog.cpp:861 configure_Dialog.cpp:870 +msgid "after:" +msgstr "efter:" + +#: configure_Dialog.cpp:863 configure_Dialog.cpp:868 +msgid "Edit Blacklist..." +msgstr "Redigera svartlista..." + +#: configure_Dialog.cpp:864 configure_Dialog.cpp:869 +msgid "If the current desktop user is inactive the computer will:" +msgstr "Om den aktuella skrivbordsanvändaren är inaktiv gör datorn följande:" + +#: configure_Dialog.cpp:865 +msgid "Autosuspend" +msgstr "Automatiskt viloläge" + +#: configure_Dialog.cpp:866 +msgid "Enable autodimm the display" +msgstr "Aktivera nedtoning av skärm" + +#: configure_Dialog.cpp:871 configure_Dialog.cpp:893 configure_Dialog.cpp:894 +#: configure_Dialog.cpp:895 configure_Dialog.cpp:896 configure_Dialog.cpp:897 +#: configure_Dialog.cpp:898 +msgid " %" +msgstr " %" + +#: configure_Dialog.cpp:872 +msgid "dimm to:" +msgstr "" + +#: configure_Dialog.cpp:874 +msgid "Autodimm" +msgstr "" + +#: configure_Dialog.cpp:879 +msgid "Set CPU Frequency Policy:" +msgstr "Ange frekvensprincip för processor:" + +#: configure_Dialog.cpp:880 +msgid "CPU Frequency Policy" +msgstr "Frekvensprincip för processor" + +#: configure_Dialog.cpp:881 +msgid "Disable Notifications" +msgstr "Inaktivera meddelanden" + +#: configure_Dialog.cpp:884 +msgid "New" +msgstr "Ny" + +#: configure_Dialog.cpp:885 +msgid "Scheme Settings" +msgstr "Schemainställningar" + +#: configure_Dialog.cpp:886 +msgid "" +"Define the battery warning levels (in percentage) and the releated action if " +"the level get reached:" +msgstr "" + +#: configure_Dialog.cpp:887 +msgid "Warning level:" +msgstr "Varningsnivå:" + +#: configure_Dialog.cpp:888 +#, fuzzy +msgid "Low level:" +msgstr "Brusnivå" + +#: configure_Dialog.cpp:889 +msgid "Critical level:" +msgstr "Kritisk nivå:" + +#: configure_Dialog.cpp:890 configure_Dialog.cpp:891 configure_Dialog.cpp:892 +msgid "if reached call:" +msgstr "" + +#: configure_Dialog.cpp:899 +msgid "Battery" +msgstr "Batteri" + +#: configure_Dialog.cpp:900 +msgid "" +"Define the action which should be executed if the related button get pressed:" +msgstr "" + +#: configure_Dialog.cpp:901 +msgid "Suspend-to-disk Button:" +msgstr "Spara till disk-knapp:" + +#: configure_Dialog.cpp:902 +msgid "Sleep button:" +msgstr "Sova-knapp:" + +#: configure_Dialog.cpp:903 +#, fuzzy +msgid "Lid close Button:" +msgstr "Mittenmusknapp:" + +#: configure_Dialog.cpp:904 +msgid "Power Button:" +msgstr "Strömknapp:" + +#: configure_Dialog.cpp:905 +msgid "Button Events" +msgstr "Knapphändelser" + +#: configure_Dialog.cpp:906 +msgid "" +"Select the following schemes as default if the system is running on AC or on " +"batteries." +msgstr "" + +#: configure_Dialog.cpp:907 +msgid "Battery scheme:" +msgstr "Batterischema:" + +#: configure_Dialog.cpp:908 +msgid "AC scheme:" +msgstr "AC-schema:" + +#: configure_Dialog.cpp:909 +msgid "Default Schemes" +msgstr "Standardscheman" + +#: configure_Dialog.cpp:910 +msgid "Lock screen before suspend or standby" +msgstr "Lås skärm före vilo- eller vänteläge" + +#: configure_Dialog.cpp:911 +msgid "Lock screen with:" +msgstr "Lås skärm med:" + +#: configure_Dialog.cpp:912 +msgid "Lock screen on lid close" +msgstr "Lås skärm när locket stängs" + +#: configure_Dialog.cpp:913 +msgid "Lock Screen" +msgstr "Lås skärm" + +#: configure_Dialog.cpp:914 +msgid "Notifications" +msgstr "Meddelanden" + +#: configure_Dialog.cpp:916 +msgid "Autostart" +msgstr "Autostart" + +#: configure_Dialog.cpp:917 +msgid "Never ask me again on exit" +msgstr "Fråga inte igen vid avslut" + +#: configure_Dialog.cpp:918 +msgid "KPowersave starts automatically on login" +msgstr "KPowersave startas automatiskt vid inloggning" + +#: configure_Dialog.cpp:919 +msgid "General Blacklists" +msgstr "Allmänna svartlistor" + +#: configure_Dialog.cpp:920 +msgid "Edit Autosuspend Blacklist..." +msgstr "Redigera svartlista för automatiskt viloläge..." + +#: configure_Dialog.cpp:921 +#, fuzzy +msgid "Edit Autodimm Blacklist..." +msgstr "Redigera svartlista..." + +#: configure_Dialog.cpp:923 +msgid "General Settings" +msgstr "Allmänna inställningar" diff --git a/po/tr.po b/po/tr.po new file mode 100644 index 0000000..52030fd --- /dev/null +++ b/po/tr.po @@ -0,0 +1,1571 @@ +# translation of kpowersave-2.po to +# Görkem Çetin , 2006. +msgid "" +msgstr "" +"Project-Id-Version: kpowersave-2\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2007-08-10 03:16+0200\n" +"PO-Revision-Date: 2006-11-06 19:35+0200\n" +"Last-Translator: Görkem Çetin \n" +"Language-Team: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: KBabel 1.11.4\n" + +#: detailed_Dialog.cpp:228 +msgid "kpowersave" +msgstr "Güç Koruma" + +#: detailed_Dialog.cpp:229 +msgid "General Information" +msgstr "Genel Bilgi" + +#: detailed_Dialog.cpp:232 +msgid "Battery Status" +msgstr "Pil Durumu" + +#: detailed_Dialog.cpp:233 +msgid "AC Adapter" +msgstr "AC Adaptör" + +#: detailed_Dialog.cpp:234 detaileddialog.cpp:391 +msgid "plugged in" +msgstr "fişe takılı" + +#: detailed_Dialog.cpp:235 +msgid "Power Consumtion: " +msgstr "Güç tüketimi: " + +#: detailed_Dialog.cpp:237 +msgid "Processor Status" +msgstr "İşlemci Durumu" + +#: detailed_Dialog.cpp:238 blacklistedit_Dialog.cpp:130 info_Dialog.cpp:198 +#: configure_Dialog.cpp:838 +msgid "OK" +msgstr "Tamam" + +#: blacklisteditdialog.cpp:60 +msgid "General Blacklist" +msgstr "Genel Kara Liste" + +#: blacklisteditdialog.cpp:63 +msgid "Scheme: " +msgstr "Şema:" + +#: blacklisteditdialog.cpp:114 +msgid "Selected entry removed." +msgstr "Seçilen girdi silindi." + +#: blacklisteditdialog.cpp:117 +msgid "Could not remove the selected entry." +msgstr "Seçilen girdi silinemedi." + +#: blacklisteditdialog.cpp:137 +msgid "Inserted new entry." +msgstr "Yeni eklenmiş girdi." + +#: blacklisteditdialog.cpp:141 +msgid "Entry exists already. Did not insert new entry." +msgstr "Bu girdi zaten var. Yeni girdi eklenmedi." + +#: blacklisteditdialog.cpp:144 +msgid "Empty entry was not inserted." +msgstr "Boş girdi eklenmedi." + +#: inactivity.cpp:298 +msgid "" +"Could not start 'pidof'. Could not autosuspend the machine.\n" +"Please check your installation." +msgstr "" +"'pidof' başlatılamadı. Sistem otomatik olarak askıya alınamadı.\n" +"Lütfen kurulumunuzu kontrol edin." + +#: blacklistedit_Dialog.cpp:129 +msgid "Autosuspend Blacklist Edit" +msgstr "Otomatik Askıya Alma Kara Listesi" + +#: blacklistedit_Dialog.cpp:132 configuredialog.cpp:1079 +#: configure_Dialog.cpp:836 +msgid "Cancel" +msgstr "Vazgeç" + +#: blacklistedit_Dialog.cpp:135 +msgid "Add" +msgstr "Ekle" + +#: blacklistedit_Dialog.cpp:136 +msgid "Remove" +msgstr "Kaldır" + +#: infodialog.cpp:76 infodialog.cpp:78 main.cpp:55 +msgid "KPowersave" +msgstr "Güç Koruma" + +#: configuredialog.cpp:116 configuredialog.cpp:121 configuredialog.cpp:721 +msgid " - not supported" +msgstr " - desteklenmiyor" + +#: configuredialog.cpp:150 configuredialog.cpp:317 detaileddialog.cpp:432 +#: kpowersave.cpp:192 settings.cpp:66 configure_Dialog.cpp:876 +msgid "Performance" +msgstr "Performans" + +#: configuredialog.cpp:154 configuredialog.cpp:319 detaileddialog.cpp:438 +#: kpowersave.cpp:194 settings.cpp:68 configure_Dialog.cpp:878 +msgid "Powersave" +msgstr "Güç Koruma" + +#: configuredialog.cpp:159 configuredialog.cpp:321 kpowersave.cpp:1478 +#: settings.cpp:70 +msgid "Presentation" +msgstr "Sunum" + +#: configuredialog.cpp:164 configuredialog.cpp:323 kpowersave.cpp:1473 +#: settings.cpp:72 +msgid "Acoustic" +msgstr "Akustik" + +#: configuredialog.cpp:169 configuredialog.cpp:171 configuredialog.cpp:172 +#: configuredialog.cpp:173 kpowersave.cpp:1484 +msgid "Advanced Powersave" +msgstr "Gelişmiş Güç Koruma" + +#: configuredialog.cpp:271 +msgid "" +"This enables specific screen saver settings. \n" +"Note: If selected, the global screen saver settings are \n" +"overwritten while kpowersave runs." +msgstr "" +"Ekran koruyucu özel ayarlarını etkinleştirir. \n" +"Not: Eğer seçilirse kpowersave çalıştığı sürece \n" +"genel ekrankoruyucu ayarlarınızın üzerine yazılır." + +#: configuredialog.cpp:274 +msgid "" +"This disables the screen saver. \n" +"Note: If selected, the global screen saver settings are \n" +"overwritten while kpowersave runs." +msgstr "" +"Ekran koruyucuyu kapat. \n" +"Not: Eğer seçilirse kpowersave çalıştığı sürece \n" +"genel ekrankoruyucu ayarlarınızın üzerine yazılır." + +#: configuredialog.cpp:277 +msgid "" +"This blanks the screen instead of using a specific screen saver. \n" +"Note: This may work only with KScreensaver." +msgstr "" +"Ekran koruyucu kullanmak yerine ekranı boş bırakır.\n" +"Not: Sadece KScreensaver ile çalışabilir." + +#: configuredialog.cpp:279 +msgid "" +"This enables specific DPMS settings. \n" +"Note: If selected, the global DPMS settings are \n" +"overwritten while kpowersave runs." +msgstr "" +"Ekran Güç Yönetimi Sistemini (DPMS) etkinleştirir.\n" +"Not: Eğer seçilirse, kpowersave çalışırken \n" +"genel ekran güç yönetimi sistemi ayarlarınızın üzerine yazılır." + +#: configuredialog.cpp:282 +msgid "This disables DPMS support." +msgstr "Ekran Güç Yönetimi Sistemini (DPMS) kapat." + +#: configuredialog.cpp:283 +msgid "If selected, the screen is locked on suspend or standby." +msgstr "Seçilirse, bekleme ya da askıya alma modunda ekran kilitlenir." + +#: configuredialog.cpp:284 +msgid "If selected, the screen is locked if the lid close event is triggered." +msgstr "Eğer seçilirse, lid close olayı tetiklendiğinde ekran kilitlenir." + +#: configuredialog.cpp:286 +msgid "" +"Check this box to enable or disable automatic suspension of the computer." +msgstr "" +"Bu kutuyu kullanarak bilgisayarın otomatik olarak askıya alınmasını " +"etkinleştirin ya da kapatın." + +#: configuredialog.cpp:288 +msgid "" +"Activate this action if the user was inactive for the defined time \n" +"(greater than 0 minutes). If empty, nothing happens." +msgstr "" +"Kullanıcı tanımlanan süre içerisinde hiçbir işlem yapmazsa bu işlemi aktif " +"et \n" +" Boş bırakırsanız hiçbir şey olmaz." + +#: configuredialog.cpp:291 +msgid "All scheme-related screen saver and DPMS settings." +msgstr "" +"Tüm şema tabanlı ekran koruyucu ve ekran güç yönetimi sistemi ayarları." + +#: configuredialog.cpp:292 +msgid "All scheme-related display brightness settings." +msgstr "Tüm şema tabanlı ekran parlaklığı ayarları." + +#: configuredialog.cpp:293 +msgid "All scheme-related automatic suspend settings." +msgstr "Tüm şema tabanlı otomatik askıya alma ayarları." + +#: configuredialog.cpp:295 +msgid "" +"Here you can change the brightness of your display. \n" +"Use the slider to change the brightness directly for \n" +"testing. To reset back to previous level, please press \n" +"the 'Reset' button. " +msgstr "" +"Buradan ekranınızın parlaklığını değiştirebilirsiniz. \n" +" Kaydırıcıyı kullanarak parlaklığı hemen değiştirebilirsiniz.\n" +" Parlaklığı eski düzeyine getirmek için \n" +"' Öntanımlı' düğmesine basın." + +#: configuredialog.cpp:299 +msgid "Use this button to set back the slider and the display brightness." +msgstr "" +"Kaydırıcıyı ve parlaklığı eski konumuna almak için bu düğmeyi kullanın." + +#: configuredialog.cpp:352 +msgid "Press this button to delete the selected scheme." +msgstr "Seçili şemayı silmek için bu düğmeye basın." + +#: configuredialog.cpp:357 +msgid "You can't delete the current AC or battery scheme." +msgstr "Mevcut AC veya pib şemasını silemezsiniz." + +#: configuredialog.cpp:363 +msgid "You can't delete this default scheme." +msgstr "Öntanımlı şemayı silemezsiniz." + +#: configuredialog.cpp:546 +msgid "" +"Your hardware supports to change the brightness. The values of the slider " +"are in percent and mapped to the available brightness levels of your " +"hardware." +msgstr "" +"Donanımınız parlaklık değiştirmeyi destekliyor. Kaydırıcı değerleri yüzdelik " +"olarak donanımınızın sağladığı parlaklık düzeylerine göre " +"aralıklandırılmıştır." + +#: configuredialog.cpp:553 +msgid "" +"Your Hardware currently not support changing the brightness of your display." +msgstr "Donanımınız ekran parlaklığını değiştirme özelliğini desteklemiyor." + +#: configuredialog.cpp:664 +msgid "Select Automatically" +msgstr "Otomatik Olarak Seç" + +#: configuredialog.cpp:665 +msgid "KScreensaver" +msgstr "KDE Ekran Koruyucu" + +#: configuredialog.cpp:666 +msgid "XScreensaver" +msgstr "XScreensaver" + +#: configuredialog.cpp:667 +msgid "xlock" +msgstr "xlock" + +#: configuredialog.cpp:668 +msgid "GNOME Screensaver" +msgstr "GNOME Ekran Koruyucu" + +#: configuredialog.cpp:930 +msgid "" +"There are unsaved changes in the active scheme.\n" +"Apply the changes before jumping to the next scheme or discard the changes?" +msgstr "" +"Aktif şemada kaydedilmemiş değişiklikler var.\n" +"Sonraki şemaya geçilmeden ya da değişiklikler iptal edilmeden önce " +"uygulansın mı?" + +#: configuredialog.cpp:933 configuredialog.cpp:983 +msgid "Unsaved Changes" +msgstr "Kaydedilmemiş Değişiklikler" + +#: configuredialog.cpp:981 +msgid "" +"There are unsaved changes.\n" +"Apply the changes before cancel or discard the changes?" +msgstr "" +"Kaydedilmemiş değişiklikler var.\n" +"İptal edilmeden önce değişiklikler uygulansın mı?" + +#: configuredialog.cpp:1032 +msgid "Please insert a name for the new scheme:" +msgstr "Lütfen yeni şema için bir isim girin:" + +#: configuredialog.cpp:1038 +msgid "KPowersave Configuration" +msgstr "KPowersave Yapılandırması" + +#: configuredialog.cpp:1046 +msgid "Error: A scheme with this name already exist.\n" +msgstr "Hata: Aynı isme sahip bir şema zaten mevcut.\n" + +#: configuredialog.cpp:1076 +msgid "Do you really want to delete the %1 scheme?" +msgstr "%1 isimli şemayı silmek istediğinizden emin misiniz?" + +#: configuredialog.cpp:1078 +msgid "Confirm delete scheme" +msgstr "Şema silmeyi onaylayınız" + +#: configuredialog.cpp:1079 configure_Dialog.cpp:883 +msgid "Delete" +msgstr "Sil" + +#: configuredialog.cpp:1095 +msgid "Could not delete the selected scheme." +msgstr "Seçilen şema silinemedi." + +#: configuredialog.cpp:1324 +msgid "" +"Note: If you select this option, the computer will suspend or standby " +"if the current user is inactive for the defined time even if somebody is " +"logged in remotely to the X server.

    This feature can also produce " +"problems with some programs, such as video players or cd burner. These " +"programs can be blacklisted by checking Enable scheme-specific blacklist and click Edit Blacklist.... If this does not help, report the " +"problem or deactivate autosuspend.

    Really use this option?" +msgstr "" +" Not: Bu seçeneği işaretlerseniz, şimdiki kullanıcı belirlenen süre " +"hiçbir şey yapmazsa bilgisayar bekleme ya da askıya alma moduna " +"geçecektir. \n" +"\n" +" Bu özellik video oynatıcı ve cd yazıcı programlarla kullanıldığında bazı " +"problemlere de yol açabilir. Bu programlar Şema tabanlı kara listeyi " +"etkinleştir seçeneği işaretlenerek kara listeye alınabilir. Ardından, " +" Kara listeyi düzenle... seçeneği tıklanarak işlem yapılır. Eğer bu " +"olmazsa sorunu bildirin ya da otomatik askıya almayı kapatın. \n" +"\n" +" Bu seçenek gerçekten kullanılsın mı?" + +#: configuredialog.cpp:1402 configuredialog.cpp:1532 +msgid "" +"The blacklist of the selected scheme is empty. Import the general blacklist?" +msgstr "Seçilen şema için kara liste boş. Genel kara liste kullanılsın mı?" + +#: configuredialog.cpp:1404 configuredialog.cpp:1534 +msgid "Import" +msgstr "İçeriye Aktar" + +#: configuredialog.cpp:1404 configuredialog.cpp:1534 +msgid "Do Not Import" +msgstr "İçeriye Aktarma" + +#: configuredialog.cpp:1416 +#, fuzzy +msgid "General Autosuspend Blacklist" +msgstr "Otomatik Askıya Alma Kara Listesi" + +#: configuredialog.cpp:1546 +#, fuzzy +msgid "General Autodimm Blacklist" +msgstr "Genel Kara Liste" + +#: configuredialog.cpp:1779 configuredialog.cpp:1816 +msgid "Shutdown" +msgstr "Kapat" + +#: configuredialog.cpp:1781 configuredialog.cpp:1819 +msgid "Logout Dialog" +msgstr "Çıkış Penceresi" + +#: configuredialog.cpp:1784 configuredialog.cpp:1822 kpowersave.cpp:182 +#: kpowersave.cpp:2096 kpowersave.cpp:2156 kpowersave.cpp:2247 +msgid "Suspend to Disk" +msgstr "Diski kullanarak askıya al" + +#: configuredialog.cpp:1787 configuredialog.cpp:1825 kpowersave.cpp:186 +#: kpowersave.cpp:2101 kpowersave.cpp:2161 kpowersave.cpp:2250 +msgid "Suspend to RAM" +msgstr "RAM kullanarak askıya al" + +#: configuredialog.cpp:1790 configuredialog.cpp:1828 +msgid "CPU Powersave policy" +msgstr "CPU Güç Koruma politikası" + +#: configuredialog.cpp:1793 configuredialog.cpp:1831 +msgid "CPU Dynamic policy" +msgstr "CPU Dinamik politikası" + +#: configuredialog.cpp:1796 configuredialog.cpp:1834 +msgid "CPU Performance policy" +msgstr "CPU Performans politikası" + +#: configuredialog.cpp:1799 configuredialog.cpp:1837 +msgid "Set Brightness to" +msgstr "Parlaklığı ayarla" + +#: main.cpp:43 +msgid "KDE Frontend for Power Management, Battery Monitoring and Suspend" +msgstr "" +"KDE için Güç Yönetim arayüzü, Pil Durumu Göstericisi ve Askıya alma " +"uygulaması" + +#: main.cpp:45 +#, fuzzy +msgid "Force a new check for ACPI support" +msgstr "ACPI desteği için yeniden kontrol etmeye zorla\n" + +#: main.cpp:46 +msgid "Trace function entry and leave points for debug\n" +msgstr "" + +#: main.cpp:59 +msgid "Current maintainer" +msgstr "Şimdiki Geliştirici" + +#: main.cpp:62 +msgid "Powersave developer and for D-Bus integration" +msgstr "KPowersave geliştiricisi ve DBUS entegrasyonu" + +#: main.cpp:64 +msgid "Powersave developer and tester" +msgstr "KPowersave geliştiricisi ve testçisi" + +#: main.cpp:66 +msgid "Added basic detailed dialog" +msgstr "Ayrıntılı diyalog penceresi" + +#: main.cpp:67 +msgid "Packaging Debian and Ubuntu" +msgstr "Debian ve Ubuntu Paketleri" + +#: detaileddialog.cpp:61 +msgid "KPowersave Information Dialog" +msgstr "KPowersave Bigilendirme Penceresi" + +#: detaileddialog.cpp:65 configure_Dialog.cpp:882 configure_Dialog.cpp:922 +msgid "Miscellaneous" +msgstr "Diğer Ayarlar" + +#: detaileddialog.cpp:66 +msgid "CPUs" +msgstr "İşlemciler" + +#: detaileddialog.cpp:73 detaileddialog.cpp:453 +msgid "Battery state:" +msgstr "Pil Durumu:" + +#: detaileddialog.cpp:79 +msgid "Total:" +msgstr "Toplam:" + +#: detaileddialog.cpp:81 detaileddialog.cpp:83 +msgid "Battery %1" +msgstr "Pil %1" + +#: detaileddialog.cpp:114 +msgid "Processor %1" +msgstr "İşlemci %1" + +#: detaileddialog.cpp:230 +msgid "not present" +msgstr "mevcut değil" + +#: detaileddialog.cpp:243 +msgid "charged" +msgstr "dolu" + +#: detaileddialog.cpp:245 +msgid "%1:%2 h until charged" +msgstr "%1: %2 saat dolana kadar" + +#: detaileddialog.cpp:248 +msgid "%1:%2 h remaining" +msgstr "%1:%2 saat kaldı" + +#: detaileddialog.cpp:253 detaileddialog.cpp:441 detaileddialog.cpp:468 +msgid "unknown" +msgstr "bilinmeyen" + +#: detaileddialog.cpp:325 detaileddialog.cpp:368 +msgid "%v MHz" +msgstr "%v MHz" + +#: detaileddialog.cpp:330 detaileddialog.cpp:363 dummy.cpp:58 +msgid "deactivated" +msgstr "kapatıldı" + +#: detaileddialog.cpp:395 +msgid "unplugged" +msgstr "fiş çekili" + +#: detaileddialog.cpp:412 +msgid "Current Scheme: " +msgstr "Şimdiki Şema: " + +#: detaileddialog.cpp:429 +msgid "Current CPU Frequency Policy:" +msgstr "Şimdiki İşlemci Frekans Davranışı:" + +#: detaileddialog.cpp:435 kpowersave.cpp:193 configure_Dialog.cpp:877 +msgid "Dynamic" +msgstr "Dinamik" + +#: detaileddialog.cpp:456 +msgid "Critical" +msgstr "Kritik" + +#: detaileddialog.cpp:459 +msgid "Low" +msgstr "Düşük" + +#: detaileddialog.cpp:462 kpowersave.cpp:277 kpowersave.cpp:652 +#: kpowersave.cpp:659 kpowersave.cpp:705 kpowersave.cpp:713 kpowersave.cpp:761 +#: kpowersave.cpp:769 kpowersave.cpp:817 kpowersave.cpp:824 +#: kpowersave.cpp:1131 kpowersave.cpp:1243 kpowersave.cpp:1272 +#: kpowersave.cpp:1610 kpowersave.cpp:1670 kpowersave.cpp:2186 +msgid "Warning" +msgstr "Uyarı" + +#: detaileddialog.cpp:465 +msgid "ok" +msgstr "tamam" + +#: detaileddialog.cpp:474 detaileddialog.cpp:477 +msgid "Set brightness supported:" +msgstr "Parlaklık Ayarları Destekleniyor:" + +#: detaileddialog.cpp:475 +msgid "yes" +msgstr "evet" + +#: detaileddialog.cpp:478 +msgid "no" +msgstr "hayır" + +#: detaileddialog.cpp:481 detaileddialog.cpp:485 +msgid "HAL Daemon:" +msgstr "HAL Servisi:" + +#: detaileddialog.cpp:482 +msgid "running" +msgstr "çalışıyor" + +#: detaileddialog.cpp:486 +msgid "not running" +msgstr "çalışmıyor" + +#: info_Dialog.cpp:197 +msgid "Information" +msgstr "Bilgi" + +#: dummy.cpp:36 +msgid "If the current desktop user is inactive, dim the display to:" +msgstr "Oturumu açmış olan kullanıcı aktif değilse, ekranı şöyle karart:" + +#: dummy.cpp:37 +msgid "Enable dim display on inactivity" +msgstr "Hareketsizlik durumunda karartılmış ekranı etkinleştir" + +#: dummy.cpp:38 +msgid "Blacklist" +msgstr "Kara Liste" + +#: dummy.cpp:39 +msgid "" +"Here you can add programs which should, if running, prevent the dimming of " +"the display." +msgstr "Ekran görüntüsünün karamasını ekleyen programlar varsa buraya ekleyin." + +#: dummy.cpp:41 +msgid "Would you like to import a predefined blacklist?" +msgstr "Önceden hazırlanmış bir kara listeyi almak istiyor musunuz?" + +#: dummy.cpp:42 +msgid "Disable CPUs/Cores" +msgstr "İşlemciyi Kapat" + +#: dummy.cpp:43 +msgid "Max. running CPUs:" +msgstr "Çalışan En Fazla İşlemci:" + +#: dummy.cpp:44 +msgid "Max. running CPUs/Cores:" +msgstr "Çalışan En Fazla İşlemci/Çekirdek:" + +#: dummy.cpp:45 +msgid "Min. running CPUs:" +msgstr "Çalışan En Az İşlemci:" + +#: dummy.cpp:46 +msgid "Min. running CPUs/Cores:" +msgstr "Çalışan En Az İşlemci/Çekirdek:" + +#: dummy.cpp:47 +msgid "Enable to switch off CPUs/cores" +msgstr "İşlemcileri/Çekirdeği Kapatmaya İzin Ver" + +#: dummy.cpp:48 +msgid "You have a multiprocessor/multicore machine." +msgstr "Çok işlemcili ya da çok çekirdekli bir makineye sahipsiniz." + +#: dummy.cpp:49 +msgid "" +"You can disable CPUs/cores to reduce power consumption and save battery " +"power." +msgstr "" +"İşlemcileri ya da çekirdekleri kapatabilir, bu sayede güç tasarrufu " +"yapabilirsiniz." + +#: dummy.cpp:50 +msgid "Device" +msgstr "Aygıt" + +#: dummy.cpp:51 +msgid "Devices" +msgstr "Aygıtlar" + +#: dummy.cpp:52 +msgid "Device class" +msgstr "Aygıt sınıfı" + +#: dummy.cpp:53 +msgid "activate" +msgstr "etkinleştir" + +#: dummy.cpp:54 +msgid "Activate" +msgstr "Etkinleştir" + +#: dummy.cpp:55 +msgid "deactivate" +msgstr "kapat" + +#: dummy.cpp:56 +msgid "Deactivate" +msgstr "Kapat" + +#: dummy.cpp:57 +msgid "activated" +msgstr "etkinleştirildi" + +#: dummy.cpp:59 +msgid "do nothing" +msgstr "hiçbir şey yapma" + +#: dummy.cpp:60 +msgid "Deactivate following devices:" +msgstr "Bu aygıtları kapat:" + +#: dummy.cpp:61 +msgid "Activate following devices" +msgstr "Bu aygıtları etkinleştir" + +#: dummy.cpp:62 +msgid "Reactivate following devices" +msgstr "Bu aygıtları yeniden etkinleştir" + +#: dummy.cpp:63 +msgid "Deactivate following device classes:" +msgstr "Bu aygıt sınıflarını kapat:" + +#: dummy.cpp:64 +msgid "Activate following devices classes" +msgstr "Bu aygıt sınıflarını etkinleştir" + +#: dummy.cpp:65 +msgid "Reactivate following device classes" +msgstr "Bu aygıt sınıflarını yeniden etkinleştir" + +#: dummy.cpp:66 +msgid "If the scheme switched all devices are again activated." +msgstr "Eğer bu şema seçildiyse tüm aygıtlar yeniden aktifleştirilmiş olur." + +#: dummy.cpp:67 +msgid "This is a experimental feature." +msgstr "Bu deneysel bir özelliktir." + +#: dummy.cpp:68 +msgid "If you have problems with this feature, please report them." +msgstr "Bu özellikle ilgili bir sorun yaşadıysanız lütfen hatayı bildirin." + +#: dummy.cpp:69 +msgid "Select one of the available devices and click on " +msgstr "Kullanılabilir aygıtlardan birini seçin ve üzerine tıklayın" + +#: dummy.cpp:70 +msgid "Select one of the available device classes and click on " +msgstr "Kullanılabilir aygıt sınıflarından birini seçin ve üzerine tıklayın" + +#: dummy.cpp:71 +msgid "Select one or more of the available devices and click on " +msgstr "" +"Kullanılabilir aygıtlardan birini ya da daha çoğunu seçin ve üzerine tıklayın" + +#: dummy.cpp:72 +msgid "Select one or more of the available device classes and click on " +msgstr "" +"Kullanılabilir aygıt sınıflarından birini ya da daha çoğunu seçin ve üzerine " +"tıklayın" + +#: dummy.cpp:73 +msgid "" +"Please note: If you e.g. deactivate a network device you may lose your " +"internet connection." +msgstr "" +"Dikkat: Eğer ağ aygıtınızı kapatırsanız İntrnet bağlantınız kesilecektir." + +#: dummy.cpp:75 +msgid "" +"Note: If you select this option, the computer will suspend or standby " +"if the current user is inactive for the defined time.

    This feature " +"can also produce problems with some programs, such as video players or cd " +"burner. These programs can be blacklisted by checking Enable scheme-" +"specific blacklist and click Edit Blacklist.... If this does not " +"help, report the problem or deactivate autosuspend.

    Really use this " +"option?" +msgstr "" +" Not: Bu seçeneÄŸi iÅŸaretlerseniz, ÅŸimdiki kullanıcı belirlenen süre " +"hiçbir ÅŸey yapmazsa bilgisayar bekleme ya da askıya alma moduna " +"geçecektir. \n" +"\n" +" Bu özellik video oynatıcı ve cd yazıcı programlarla kullanıldığında bazı " +"problemlere de yol açabilir. Bu programlar Åžema tabanlı kara listeyi " +"etkinleÅŸtir seçeneÄŸi iÅŸaretlenerek kara listeye alınabilir. Ardından, " +" Kara listeyi düzenle... seçeneÄŸi tıklanarak iÅŸlem yapılır. EÄŸer bu " +"olmazsa sorunu bildirin ya da otomatik askıya almayı kapatın. \n" +"\n" +" Bu seçenek gerçekten kullanılsın mı?" + +#: dummy.cpp:82 +msgid "Try to use only one CPU/Core." +msgstr "" + +#: dummy.cpp:83 +msgid "" +"Reduce power consumption by try to use only one CPU/Core instead of " +"spreading the work over all/multiple CPUs." +msgstr "" + +#: dummy.cpp:87 +msgid "Could not load the global configuration." +msgstr "Genel yapılandırma yüklenemedi." + +#: dummy.cpp:88 +msgid "Could not load the requested scheme configuration." +msgstr "Ä°stenilen ÅŸema yapılandırması yüklenemedi." + +#: dummy.cpp:89 +msgid "Configure the current scheme." +msgstr "Kullanılan ÅŸemayı yapılandır." + +#: dummy.cpp:90 +msgid "Try loading the default configuration." +msgstr "Öntanımlı yapılandırmayı yüklemeyi dene." + +#: dummy.cpp:91 +msgid "Maybe the global configuration file is empty or missing." +msgstr "Genel yapılandırma dosyası boÅŸ ya da kayıp." + +#: dummy.cpp:94 +msgid "Cannot connect to D-Bus. The D-Bus daemon may not be running." +msgstr "D-BUS'a baÄŸlanılamıyor.D-BUS servisi çalışmıyor olabilir." + +#: dummy.cpp:95 +msgid "" +"Scheme switched to %1. \n" +" Deactivate following devices: %2" +msgstr "" +"%1 Åžeması seçildi.\n" +"Bu aygıtları kapat: %2" + +#: dummy.cpp:96 +msgid "" +"Scheme switched to %1. \n" +" Activate following devices: %2" +msgstr "" +"%1 Åžeması seçildi.\n" +"Bu aygıtları etkinleÅŸtir: %2" + +#: dummy.cpp:97 +msgid "Report ..." +msgstr "Raporla..." + +#: dummy.cpp:98 +msgid "Suspend to RAM is not supported on your machine." +msgstr "BelleÄŸe askıya alma bu bilgisayarda desteklenmiyor." + +#: dummy.cpp:99 +msgid "Additionally, please mail the output of %1 to %2 . Thanks!" +msgstr "Lütfen %1 çıktısını %2 adresine gönderin. TeÅŸekkürler!" + +#: dummy.cpp:100 +msgid "Power consumption" +msgstr "Güç tüketimi" + +#: dummy.cpp:103 +msgid "KScreensaver not found." +msgstr "KScreensaver bulunamadı." + +#: dummy.cpp:104 +msgid "Try locking with XScreensaver or xlock." +msgstr "XScreensaver ya da xlock ile kilitlemeyi dene." + +#: dummy.cpp:105 +msgid "XScreensaver not found." +msgstr "XScreensaver bulunamadı." + +#: dummy.cpp:106 +msgid "Try locking the screen with xlock." +msgstr "Ekranı xlock kullanarak kilitlemeyi dene." + +#: dummy.cpp:107 +msgid "" +"XScreensaver and xlock not found. It is not possible to lock the screen. " +"Check your installation." +msgstr "" +"XScreensaver ve xlock bulunamadı. Ekranın kilitlenmesi mümkün deÄŸil. " +"Kurulumunuzu kontrol edin." + +#: dummy.cpp:111 +msgid "HAL daemon:" +msgstr "HAL baÅŸlngıç betiÄŸi:" + +#: dummy.cpp:112 +msgid "D-Bus daemon:" +msgstr "D-BUS servisi:" + +#: dummy.cpp:113 +msgid "ConsoleKit daemon:" +msgstr "" + +#: dummy.cpp:114 +msgid "Autosuspend activated:" +msgstr "Otomatik askıya alma etkinleÅŸtirildi:" + +#: dummy.cpp:115 +#, fuzzy +msgid "Autodimm activated:" +msgstr "Otomatik askıya alma etkinleÅŸtirildi:" + +#: dummy.cpp:116 +msgid "enabled" +msgstr "etkin" + +#: dummy.cpp:117 +msgid "Session active:" +msgstr "" + +#: dummy.cpp:120 +msgid "Inactivity detected." +msgstr "" + +#: dummy.cpp:121 +msgid "To stop the %1 press the 'Cancel' button before the countdown expire." +msgstr "" + +#: dummy.cpp:122 +msgid "The computer autosuspend in: " +msgstr "" + +#: dummy.cpp:123 +#, c-format +msgid "The display get dimmed down to %1% in: " +msgstr "" + +#: dummy.cpp:124 +msgid "%1 seconds" +msgstr "" + +#: dummy.cpp:127 +msgid "Could not call %1. The current desktop session is not active." +msgstr "" + +#: dummy.cpp:128 +msgid "Could not set %1. The current desktop session is not active." +msgstr "" + +#: dummy.cpp:129 +msgid "Stopped %1. The current desktop session is now inactive." +msgstr "" + +#: dummy.cpp:130 +msgid "Restarted %1. The current desktop session is now active again." +msgstr "" + +#: log_viewer.cpp:78 +msgid "Form1" +msgstr "" + +#: log_viewer.cpp:79 +msgid "Save As ..." +msgstr "" + +#: log_viewer.cpp:80 +msgid "Close" +msgstr "" + +#: logviewer.cpp:44 +#, fuzzy +msgid "KPowersave Logfile Viewer: %1" +msgstr "Powesave için seçiln ÅŸema: %1" + +#: logviewer.cpp:89 +msgid "File already exist. Overwrite the file?" +msgstr "" + +#: logviewer.cpp:90 logviewer.cpp:97 +#, fuzzy +msgid "Error while save logfile" +msgstr "%1 hazırlanırken hata oluÅŸtu" + +#: logviewer.cpp:95 +msgid "File already exist." +msgstr "" + +#: logviewer.cpp:98 +msgid "Try other filename ..." +msgstr "" + +#: suspenddialog.cpp:70 +msgid "Preparing Suspend..." +msgstr "Askıya Almaya Hazırlanılıyor..." + +#: kpowersave.cpp:168 +msgid "Configure KPowersave..." +msgstr "&KPowersave'i Yapılandır" + +#: kpowersave.cpp:171 configure_Dialog.cpp:915 +msgid "Configure Notifications..." +msgstr "Uyarıları Yapılandır..." + +#: kpowersave.cpp:175 +msgid "Start YaST2 Power Management Module..." +msgstr "YaST2 güç yönetim modülünü baÅŸlat..." + +#: kpowersave.cpp:189 kpowersave.cpp:2106 kpowersave.cpp:2166 +#: kpowersave.cpp:2253 +msgid "Standby" +msgstr "Bekleme moduna geç" + +#: kpowersave.cpp:191 kpowersave.cpp:198 +msgid "Set CPU Frequency Policy" +msgstr "Ä°ÅŸlemci Frekans Davranışını Ayarla" + +#: kpowersave.cpp:205 kpowersave.cpp:206 +msgid "Set Active Scheme" +msgstr "Aktif Åžemayı Seç" + +#: kpowersave.cpp:212 +msgid "Disable Actions on Inactivity" +msgstr "Hareketsizlik durumunda uygulanacak iÅŸlemleri kapat" + +#: kpowersave.cpp:219 kpowersave.cpp:229 +msgid "&Help" +msgstr "&Yardım" + +#: kpowersave.cpp:221 +msgid "&KPowersave Handbook" +msgstr "&KPowersave El Kitabı" + +#: kpowersave.cpp:224 +msgid "&Report a bug ..." +msgstr "Hata &bildirin..." + +#: kpowersave.cpp:226 +msgid "&About KPowersave" +msgstr "KPowersave &Hakkında" + +#: kpowersave.cpp:275 kpowersave.cpp:648 kpowersave.cpp:656 kpowersave.cpp:703 +#: kpowersave.cpp:710 kpowersave.cpp:759 kpowersave.cpp:766 kpowersave.cpp:815 +#: kpowersave.cpp:822 kpowersave.cpp:1126 kpowersave.cpp:1241 +#: kpowersave.cpp:1270 kpowersave.cpp:2183 +msgid "WARNING" +msgstr "UYARI" + +#: kpowersave.cpp:275 +msgid "Cannot find any schemes." +msgstr "Herhangi bir ÅŸema bulunamadı" + +#: kpowersave.cpp:453 +msgid "No information about battery and AC status available" +msgstr "Pil ya da AC Adaptör durumu ile ilgili bilgi yok" + +#: kpowersave.cpp:456 +msgid "Plugged in -- fully charged" +msgstr "FiÅŸe takılı -- tam dolu" + +#: kpowersave.cpp:460 +msgid "Plugged in" +msgstr "FiÅŸe takılı" + +#: kpowersave.cpp:464 +msgid "Plugged in -- %1% charged (%2:%3 h until full charged)" +msgstr "FiÅŸe takılı -- %%1 ÅŸarj edilmiÅŸ (pilin dolması için kalan süre %2:%3)" + +#: kpowersave.cpp:467 +msgid "Plugged in -- %1% charged (%2:%3 remaining hours)" +msgstr "FiÅŸe takılı -- %%1 ÅŸarj edilmiÅŸ (kalan süre %2:%3)" + +#: kpowersave.cpp:471 kpowersave.cpp:475 +#, c-format +msgid "Plugged in -- %1% charged" +msgstr "FiÅŸe takılı -- %%1 ÅŸarj edilmiÅŸ" + +#: kpowersave.cpp:474 +msgid "Plugged in -- no battery" +msgstr "FiÅŸe takılı -- pil yok" + +#: kpowersave.cpp:480 +msgid "Running on batteries -- %1% charged (%2:%3 hours remaining)" +msgstr "Pil ile çalışıyor -- %%1 ÅŸarj edilmiÅŸ (kalan süre %2:%3)" + +#: kpowersave.cpp:484 +#, c-format +msgid "Running on batteries -- %1% charged" +msgstr "Pil ile çalışıyor -- %%1 ÅŸarj edilmiÅŸ" + +#: kpowersave.cpp:491 +msgid " -- battery is charging" +msgstr " -- pil ÅŸarj ediliyor" + +#: kpowersave.cpp:649 kpowersave.cpp:657 +msgid "Could not start YaST Power Management Module. Check if it is installed." +msgstr "" +"YaST güç yönetim modülü çalıştırılamıyor. Kurulu olduÄŸunu kontrol edin." + +#: kpowersave.cpp:703 +msgid "Suspend to disk failed" +msgstr "Diski kullanarak askıya alma baÅŸarısız" + +#: kpowersave.cpp:711 +msgid "Suspend to disk disabled by administrator." +msgstr "" +"Diski kullanarak askıya alma özelliÄŸi sistem yöneticisi tarafından " +"kapatılmış." + +#: kpowersave.cpp:759 +msgid "Suspend to RAM failed" +msgstr "RAM kullanarak askıya alma baÅŸarısız" + +#: kpowersave.cpp:767 +msgid "Suspend to RAM disabled by administrator." +msgstr "" +"RAM kullanarak askıya alma özelliÄŸi sistem yöneticisi tarafından kapatılmış." + +#: kpowersave.cpp:815 +msgid "Standby failed" +msgstr "Bekleme Moduna geçme baÅŸarısız" + +#: kpowersave.cpp:822 +msgid "Standby disabled by administrator." +msgstr "Bekleme modu sistem yöneticisi tarafından kapatılmış." + +#: kpowersave.cpp:853 +msgid "System is going into suspend mode now" +msgstr "Sistem ÅŸimdi askıya alınıyor" + +#: kpowersave.cpp:1039 +msgid "Could not call DCOP interface to umount external media." +msgstr "Harici cihazları sistemden ayırmak için DCOP çaÄŸrısı yapılamıyor." + +#: kpowersave.cpp:1044 +msgid "" +"Could not umount external media before suspend/standby. \n" +" (Reason: %1)\n" +" \n" +" Would you like to continue suspend/standby anyway? \n" +"(Warning: Continue suspend can cause data loss!)" +msgstr "" +"Askıya almadan önce harici diskler sistemden ayrılamadu. \n" +" (Sebep: %1)\n" +" \n" +" Askıya alma iÅŸlemine devam etmek istiyor musunuz? \n" +" (Uyarı: Devam etmek veri kaybına yol açabilir!)" + +#: kpowersave.cpp:1052 +msgid "Error while prepare %1" +msgstr "%1 hazırlanırken hata oluÅŸtu" + +#: kpowersave.cpp:1053 +msgid "Suspend anyway" +msgstr "Her durumda askıya al" + +#: kpowersave.cpp:1053 +msgid "Cancel suspend" +msgstr "Askıya almaktan vazgeç" + +#: kpowersave.cpp:1127 +msgid "" +"Could not lock the screen. There may be a problem with the selected \n" +"lock method or something else." +msgstr "" +"Ekran kilitlenemdi. Seçilen yöntem ile ilgili bir sorun \n" +" ya da baÅŸka bir sorun olmuÅŸ olabilir." + +#: kpowersave.cpp:1144 +msgid "The Lid was closed." +msgstr "Kapak kapalı." + +#: kpowersave.cpp:1156 +msgid "The Lid was opened." +msgstr "Kapak açık." + +#: kpowersave.cpp:1223 +msgid "Start KPowersave automatically when you log in?" +msgstr "KPowersave sisteme giriÅŸ yaptığınızda otomatik olarak baÅŸlatılsın mı?" + +#: kpowersave.cpp:1224 +msgid "Question" +msgstr "Soru" + +#: kpowersave.cpp:1225 +msgid "Start Automatically" +msgstr "Otomatik Olarak BaÅŸla" + +#: kpowersave.cpp:1225 +msgid "Do Not Start" +msgstr "BaÅŸlama" + +#: kpowersave.cpp:1242 +msgid "CPU Freq Policy %1 could not be set." +msgstr "Ä°ÅŸlemci Frekansı Davranışı %1 ayarlanamadı." + +#: kpowersave.cpp:1271 +msgid "Scheme %1 could not be activated." +msgstr "%1 ÅŸeması aktifleÅŸtirlemedi." + +#: kpowersave.cpp:1600 +msgid "" +"The D-Bus daemon is not running.\n" +"Starting it will provide full functionality: /etc/init.d/dbus start" +msgstr "" +"DBUS servisi çalışmıyor.\n" +"Bunu çalıştırmanız sistem performansını arttıracaktır: /etc/init.d/dbus start" + +#: kpowersave.cpp:1611 +msgid "Don't show this message again." +msgstr "Bu mesajı bir daha gösterme." + +#: kpowersave.cpp:1637 +msgid "ERROR" +msgstr "HATA" + +#: kpowersave.cpp:1638 +msgid "Could not get information from HAL. The haldaemon is maybe not running." +msgstr "HAL yazılımından bilgi alınamadı. Hal servisi çalışmıyor olabilir." + +#: kpowersave.cpp:1641 +msgid "Error" +msgstr "Hata" + +#: kpowersave.cpp:1912 +msgid "" +"Battery state changed to WARNING -- remaining time: %1 hours and %2 minutes." +msgstr "Pil seviyesi UYARI durumuna indi -- kalan süre: %1 saat %2 dakika. " + +#: kpowersave.cpp:1921 +msgid "" +"Battery state changed to LOW -- remaining time: %1 hours and %2 minutes." +msgstr "Pil seviyesi DÜŞÜK durumda -- kalan süre: %1 saat %2 dakika." + +#: kpowersave.cpp:1932 +msgid "" +"Battery state changed to CRITICAL -- remaining time: %1 hours and %2 " +"minutes.\n" +"Shut down your system or plug in the power cable immediately. Otherwise the " +"machine\n" +"will go shutdown in 30 seconds" +msgstr "" +"Pil seviyesi KRÄ°TÄ°K duruma geldi -- kalan süre: %1 saat %2 dakika.\n" +"Biran önce sistemi kapatın ya da güç kablosunu takın. Aksi halde sistem 30 " +"saniye sonra kapanacaktır" + +#: kpowersave.cpp:1943 +msgid "" +"Battery state changed to CRITICAL -- remaining time: %1 hours and %2 " +"minutes.\n" +"Shut down your system or plug in the power cable immediately." +msgstr "" +"Pil seviyesi KRÄ°TÄ°K duruma geldi -- kalan süre: %1 saat %2 dakika.\n" +"Biran önce sistemi kapatın ya da güç kablosunu takın." + +#: kpowersave.cpp:2041 +msgid "AC adapter plugged in" +msgstr "AC adaptör takıldı" + +#: kpowersave.cpp:2043 +msgid "AC adapter unplugged" +msgstr "AC adaptör çıkarıldı" + +#: kpowersave.cpp:2078 +#, fuzzy +msgid "Switched to scheme: %1" +msgstr "Powesave için seçiln ÅŸema: %1" + +#: kpowersave.cpp:2095 kpowersave.cpp:2100 kpowersave.cpp:2105 +msgid "System is going into %1 now." +msgstr "Sistem ÅŸimdi %1 moduna geçiyor." + +#: kpowersave.cpp:2155 kpowersave.cpp:2160 kpowersave.cpp:2165 +msgid "System is resumed from %1." +msgstr "Sistem %1 modundan geri yüklendi." + +#: kpowersave.cpp:2184 +msgid "Could not remount (all) external storage media." +msgstr "Harici cihazlar (tüm) tekrar baÄŸlanamadı." + +#: kpowersave.cpp:2192 +msgid "An unknown error occurred while %1. The errorcode is: '%2'" +msgstr "" + +#: kpowersave.cpp:2197 +#, fuzzy +msgid "Do you want to have a look at the log file?" +msgstr "%1 isimli ÅŸemayı silmek istediÄŸinizden emin misiniz?" + +#: kpowersave.cpp:2198 kpowersave.cpp:2224 +#, fuzzy +msgid "Error while %1" +msgstr "%1 hazırlanırken hata oluÅŸtu" + +#: configure_Dialog.cpp:831 +msgid "KPowersave Settings" +msgstr "KPowersave Ayarları" + +#: configure_Dialog.cpp:832 +msgid "Apply" +msgstr "Uygula" + +#: configure_Dialog.cpp:834 +msgid "Help" +msgstr "Yardım" + +#: configure_Dialog.cpp:840 +msgid "Enable specific display power management" +msgstr "Ekran güç yönetimi için özel ayarları etkinleÅŸtir" + +#: configure_Dialog.cpp:841 +msgid "Standby after:" +msgstr "Bekleme Moduna Geç:" + +#: configure_Dialog.cpp:842 +msgid "Only blank the screen" +msgstr "Ekranı sadece boÅŸ bırak" + +#: configure_Dialog.cpp:843 +msgid "Disable screen saver" +msgstr "Ekran koruyucuyu kapat" + +#: configure_Dialog.cpp:844 +msgid "Enable specific screensaver settings" +msgstr "Ekran koruyucu için özel ayarları etkinleÅŸtir" + +#: configure_Dialog.cpp:845 +msgid "Suspend after:" +msgstr "Askıya Al:" + +#: configure_Dialog.cpp:846 +msgid "Power off after:" +msgstr "Gücü Kapat:" + +#: configure_Dialog.cpp:847 +msgid "Disable display power management" +msgstr "Ekran güç yönetimi sistemini kapat" + +#: configure_Dialog.cpp:848 configure_Dialog.cpp:849 configure_Dialog.cpp:850 +#: configure_Dialog.cpp:862 configure_Dialog.cpp:873 +msgid " min" +msgstr " dakika" + +#: configure_Dialog.cpp:851 +msgid "Screen Saver and DPMS" +msgstr "Ekran Koruyucu ve Ekran Güç Yönetimi Sistemi (DPMS)" + +#: configure_Dialog.cpp:852 +msgid "Settings" +msgstr "Ayarlar" + +#: configure_Dialog.cpp:853 +msgid "Reset" +msgstr "Öntanımlı" + +#: configure_Dialog.cpp:855 +msgid "Enable scheme specific Brightness settings" +msgstr "Åžema-tanımlı özel Parlaklık ayarlarını etkinleÅŸtir" + +#: configure_Dialog.cpp:858 +msgid "Brightness" +msgstr "Parlaklık" + +#: configure_Dialog.cpp:859 +msgid "Enable autosuspend" +msgstr "Otomatik askıya almayı etkinleÅŸtir" + +#: configure_Dialog.cpp:860 configure_Dialog.cpp:867 +msgid "Enable scheme-specific blacklist" +msgstr "Åžema-tanımlı kara listeyi etkinleÅŸtir" + +#: configure_Dialog.cpp:861 configure_Dialog.cpp:870 +msgid "after:" +msgstr "sonra:" + +#: configure_Dialog.cpp:863 configure_Dialog.cpp:868 +msgid "Edit Blacklist..." +msgstr "Kara Listeyi Düzenle" + +#: configure_Dialog.cpp:864 configure_Dialog.cpp:869 +msgid "If the current desktop user is inactive the computer will:" +msgstr "Åžimdiki kullanıcı aktif deÄŸilse bilgisayar:" + +#: configure_Dialog.cpp:865 +msgid "Autosuspend" +msgstr "Otomatik Askıya Al" + +#: configure_Dialog.cpp:866 +#, fuzzy +msgid "Enable autodimm the display" +msgstr "Hareketsizlik durumunda karartılmış ekranı etkinleÅŸtir" + +#: configure_Dialog.cpp:871 configure_Dialog.cpp:893 configure_Dialog.cpp:894 +#: configure_Dialog.cpp:895 configure_Dialog.cpp:896 configure_Dialog.cpp:897 +#: configure_Dialog.cpp:898 +msgid " %" +msgstr " %" + +#: configure_Dialog.cpp:872 +msgid "dimm to:" +msgstr "" + +#: configure_Dialog.cpp:874 +msgid "Autodimm" +msgstr "" + +#: configure_Dialog.cpp:879 +msgid "Set CPU Frequency Policy:" +msgstr "Ä°ÅŸlemci Frekans Davranışı Politikası:" + +#: configure_Dialog.cpp:880 +msgid "CPU Frequency Policy" +msgstr "Ä°ÅŸlemci Frekans Davranışı Politikası" + +#: configure_Dialog.cpp:881 +msgid "Disable Notifications" +msgstr "Uyarıları Kapat" + +#: configure_Dialog.cpp:884 +msgid "New" +msgstr "Yeni" + +#: configure_Dialog.cpp:885 +msgid "Scheme Settings" +msgstr "Åžema Ayarları" + +#: configure_Dialog.cpp:886 +msgid "" +"Define the battery warning levels (in percentage) and the releated action if " +"the level get reached:" +msgstr "" +"Pil uyarı seviyelerini (yüzde olarak) ve bu seviyelere ulaşınca uygulanacak " +"eylemleri tanımlayın:" + +#: configure_Dialog.cpp:887 +msgid "Warning level:" +msgstr "Uyarı seviyesi:" + +#: configure_Dialog.cpp:888 +msgid "Low level:" +msgstr "Düşük seviye:" + +#: configure_Dialog.cpp:889 +msgid "Critical level:" +msgstr "Kritik seviye:" + +#: configure_Dialog.cpp:890 configure_Dialog.cpp:891 configure_Dialog.cpp:892 +msgid "if reached call:" +msgstr "eÄŸer ulaşırsa çağır" + +#: configure_Dialog.cpp:899 +msgid "Battery" +msgstr "Pil" + +#: configure_Dialog.cpp:900 +msgid "" +"Define the action which should be executed if the related button get pressed:" +msgstr "Ä°lgili düğmeye basılınca uygulanacak eylemi seçin:" + +#: configure_Dialog.cpp:901 +msgid "Suspend-to-disk Button:" +msgstr "Diski kullanarak askıya al Düğmesi:" + +#: configure_Dialog.cpp:902 +msgid "Sleep button:" +msgstr "Uyku düğmesi:" + +#: configure_Dialog.cpp:903 +msgid "Lid close Button:" +msgstr "Kapak kapatma düğmesi:" + +#: configure_Dialog.cpp:904 +msgid "Power Button:" +msgstr "Güç Düğmesi:" + +#: configure_Dialog.cpp:905 +msgid "Button Events" +msgstr "Düğme Eylemleri" + +#: configure_Dialog.cpp:906 +msgid "" +"Select the following schemes as default if the system is running on AC or on " +"batteries." +msgstr "" +"Sistem AC Adaptörü veya pil kullanırken bu ÅŸemaları öntanımlı olarak seç." + +#: configure_Dialog.cpp:907 +msgid "Battery scheme:" +msgstr "Pil ÅŸeması:" + +#: configure_Dialog.cpp:908 +msgid "AC scheme:" +msgstr "AC ÅŸeması:" + +#: configure_Dialog.cpp:909 +msgid "Default Schemes" +msgstr "Öntanımlı Åžemalar" + +#: configure_Dialog.cpp:910 +msgid "Lock screen before suspend or standby" +msgstr "Askıya almadan ya da beklemeye geçmeden önce ekranı kilitle" + +#: configure_Dialog.cpp:911 +msgid "Lock screen with:" +msgstr "Ekranı ÅŸununla kilitle:" + +#: configure_Dialog.cpp:912 +msgid "Lock screen on lid close" +msgstr "Lid close durumunda ekranı kilitle" + +#: configure_Dialog.cpp:913 +msgid "Lock Screen" +msgstr "Ekranı Kilitle" + +#: configure_Dialog.cpp:914 +msgid "Notifications" +msgstr "Uyarılar" + +#: configure_Dialog.cpp:916 +msgid "Autostart" +msgstr "Otomatik BaÅŸla" + +#: configure_Dialog.cpp:917 +msgid "Never ask me again on exit" +msgstr "Çıkış sırasında bir daha asla sorma" + +#: configure_Dialog.cpp:918 +msgid "KPowersave starts automatically on login" +msgstr "KPowersave sisteme giriÅŸ yapıldığında otomatik olarak baÅŸlatılsın" + +#: configure_Dialog.cpp:919 +#, fuzzy +msgid "General Blacklists" +msgstr "Genel Kara Liste" + +#: configure_Dialog.cpp:920 +#, fuzzy +msgid "Edit Autosuspend Blacklist..." +msgstr "Otomatik Askıya Alma Kara Listesi" + +#: configure_Dialog.cpp:921 +#, fuzzy +msgid "Edit Autodimm Blacklist..." +msgstr "Kara Listeyi Düzenle" + +#: configure_Dialog.cpp:923 +msgid "General Settings" +msgstr "Genel Ayarlar" + +#~ msgid "" +#~ "Inactivity detected.\n" +#~ " Machine autosuspend in %1 seconds." +#~ msgstr "" +#~ "Sisteminizde hiçbir iÅŸlem yapılmadığı belirlendi.\n" +#~ "Sisteminiz %1 saniye sonra otomatik olarak askıya alınacak." + +#~ msgid "" +#~ "Inactivity detected.\n" +#~ " Dim display in %1 seconds to %2%." +#~ msgstr "" +#~ "Sisteminizde hiçbir iÅŸlem yapılmadığı belirlendi.\n" +#~ "%2% için %1 saniye sonra ekranınız karartılacak." + +#~ msgid "" +#~ "If you know that it should work, you might override this detection with " +#~ "setting SUSPEND2RAM_FORCE=\"yes\" in /etc/powersave/sleep." +#~ msgstr "" +#~ "/etc/powersave/sleep dosyasına SUSPEND2RAM_FORCE=\"yes\" satırını " +#~ "ekleyerek bu tanımın üzerine yazmayı deneyebilirsiniz." + +#~ msgid "Modules unloaded:" +#~ msgstr "Kaldırılan modüller:" + +#~ msgid "checking resume kernel" +#~ msgstr "kernel yeniden yüklemesi kontrol ediliyor" + +#~ msgid "checking for swap partition" +#~ msgstr "takas bölümü kontrol ediliyor" + +#~ msgid "unmounting FAT/NTFS partitions" +#~ msgstr "FAT/NTFS bölümleri ayrılıyor" + +#~ msgid "stopping services" +#~ msgstr "servisler durduruluyor" + +#~ msgid "stopping service:" +#~ msgstr "durdurulan servis:" + +#~ msgid "unloading modules" +#~ msgstr "modüller kaldırılıyor" + +#~ msgid "unloading module:" +#~ msgstr "kaldırılan modül:" + +#~ msgid "syncing file systems" +#~ msgstr "dosya sistemleri eÅŸzamanlanıyor" + +#~ msgid "preparing bootloader" +#~ msgstr "önyükleyici hazırlanıyor" + +#~ msgid "Edit General Blacklist..." +#~ msgstr "Genel Kara Listeyi Düzenle" + +#~ msgid "" +#~ "This scheme support suspend and disable devices. This is a EXPERIMENTAL " +#~ "feature of powersave to save more power on laptops. If you select this " +#~ "scheme you can get in trouble (e.g. kernel oops). You can configure this " +#~ "feature currently in the powersave config files. Please report all " +#~ "problems via http://www.opensuse.org/Submit_a_bug \n" +#~ "\n" +#~ "Would you switch the scheme (on your own risk)?" +#~ msgstr "" +#~ "Bu ÅŸema askıya almayı ve aygıtları kapatmayı destekler. Bu özellik " +#~ "dizüstü bilgisayarlar için daha uzun süre pil kullanımı saÄŸlamak için " +#~ "kullanılan DENEYSEL bir özelliktir. Bu ÅŸemayı seçerseniz sorunlar " +#~ "yaÅŸayabilirsiniz (kernel oops gibi). Powesave ayar dosyasından bu " +#~ "özelliÄŸi yapılandırabilirsiniz. Lütfen tüm problemlerinizi ÅŸu adrese " +#~ "bildirin: http://www.opensuse.org/Submit_a_bug \n" +#~ "\n" +#~ "Riskleri göze alarak bu ÅŸemayı seçmek istediÄŸinizden emin misiniz?" + +#~ msgid "Continue" +#~ msgstr "Devam Et" + +#~ msgid " -- %1 MHz" +#~ msgstr " -- %1 MHz" + +#~ msgid "Enabled" +#~ msgstr "Etkin" + +#~ msgid "In" +#~ msgstr "GiriÅŸ" + +#~ msgid "Out" +#~ msgstr "Çıkış" diff --git a/po/uk.po b/po/uk.po new file mode 100644 index 0000000..024e8a3 --- /dev/null +++ b/po/uk.po @@ -0,0 +1,1477 @@ +# Translation of kpowersave.uk.po to Ukrainian +# This file is distributed under the same license as the PACKAGE package. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER. +# +# Ivan Petrouchtchak , 2005. +# Ivan Petrouchtchak , 2006, 2007. +msgid "" +msgstr "" +"Project-Id-Version: kpowersave.uk\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2007-08-10 03:16+0200\n" +"PO-Revision-Date: 2007-08-14 23:15-0700\n" +"Last-Translator: Ivan Petrouchtchak \n" +"Language-Team: Ukrainian \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: KBabel 1.11.4\n" +"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%" +"10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" + +#: detailed_Dialog.cpp:228 +msgid "kpowersave" +msgstr "kpowersave" + +#: detailed_Dialog.cpp:229 +msgid "General Information" +msgstr "Загальна інформаціÑ" + +#: detailed_Dialog.cpp:232 +msgid "Battery Status" +msgstr "Стан батареї" + +#: detailed_Dialog.cpp:233 +msgid "AC Adapter" +msgstr "Ðдаптер живленнÑ" + +#: detailed_Dialog.cpp:234 detaileddialog.cpp:391 +msgid "plugged in" +msgstr "з'єднаний" + +#: detailed_Dialog.cpp:235 +msgid "Power Consumtion: " +msgstr "Ð¡Ð¿Ð¾Ð¶Ð¸Ð²Ð°Ð½Ð½Ñ ÐµÐ»ÐµÐºÑ‚Ñ€Ð¾ÐµÐ½ÐµÑ€Ð³Ñ–Ñ—: " + +#: detailed_Dialog.cpp:237 +msgid "Processor Status" +msgstr "Стан процеÑора" + +# ok button label +#: detailed_Dialog.cpp:238 blacklistedit_Dialog.cpp:130 info_Dialog.cpp:198 +#: configure_Dialog.cpp:838 +msgid "OK" +msgstr "Гаразд" + +#: blacklisteditdialog.cpp:60 +msgid "General Blacklist" +msgstr "Загальний чорний ÑпиÑок" + +#: blacklisteditdialog.cpp:63 +msgid "Scheme: " +msgstr "Схема: " + +#: blacklisteditdialog.cpp:114 +msgid "Selected entry removed." +msgstr "Вибраний Ð·Ð°Ð¿Ð¸Ñ Ð²Ð¸Ð»ÑƒÑ‡ÐµÐ½Ð¾." + +#: blacklisteditdialog.cpp:117 +msgid "Could not remove the selected entry." +msgstr "Ðе вдалоÑÑŒ вилучити вибраний запиÑ." + +#: blacklisteditdialog.cpp:137 +msgid "Inserted new entry." +msgstr "Ð’Ñтавлено новий запиÑ." + +#: blacklisteditdialog.cpp:141 +msgid "Entry exists already. Did not insert new entry." +msgstr "Ð—Ð°Ð¿Ð¸Ñ Ð²Ð¶Ðµ Ñ–Ñнує. Ðовий Ð·Ð°Ð¿Ð¸Ñ Ð½Ðµ був вÑтавлений." + +#: blacklisteditdialog.cpp:144 +msgid "Empty entry was not inserted." +msgstr "Порожній Ð·Ð°Ð¿Ð¸Ñ Ð½Ðµ був вÑтавлений." + +#: inactivity.cpp:298 +msgid "" +"Could not start 'pidof'. Could not autosuspend the machine.\n" +"Please check your installation." +msgstr "" +"Ðе вдалоÑÑ Ð·Ð°Ð¿ÑƒÑтити \"pidof\". Ðе вдалоÑÑ Ð°Ð²Ñ‚Ð¾Ð¼Ð°Ñ‚Ð¸Ñ‡Ð½Ð¾ перемкнути комп'ютер " +"в режим Ñну.\n" +"Будь лаÑка, перевірте ваше вÑтановленнÑ." + +#: blacklistedit_Dialog.cpp:129 +msgid "Autosuspend Blacklist Edit" +msgstr "Змінити чорний ÑпиÑок режиму автоÑну" + +# cancel button label +#: blacklistedit_Dialog.cpp:132 configuredialog.cpp:1079 +#: configure_Dialog.cpp:836 +msgid "Cancel" +msgstr "СкаÑувати" + +#: blacklistedit_Dialog.cpp:135 +msgid "Add" +msgstr "Додати" + +#: blacklistedit_Dialog.cpp:136 +msgid "Remove" +msgstr "Вилучити" + +#: infodialog.cpp:76 infodialog.cpp:78 main.cpp:55 +msgid "KPowersave" +msgstr "KPowersave" + +#: configuredialog.cpp:116 configuredialog.cpp:121 configuredialog.cpp:721 +msgid " - not supported" +msgstr " - не підтримуєтьÑÑ" + +#: configuredialog.cpp:150 configuredialog.cpp:317 detaileddialog.cpp:432 +#: kpowersave.cpp:192 settings.cpp:66 configure_Dialog.cpp:876 +msgid "Performance" +msgstr "ШвидкодіÑ" + +#: configuredialog.cpp:154 configuredialog.cpp:319 detaileddialog.cpp:438 +#: kpowersave.cpp:194 settings.cpp:68 configure_Dialog.cpp:878 +msgid "Powersave" +msgstr "ЗаощадженнÑ" + +#: configuredialog.cpp:159 configuredialog.cpp:321 kpowersave.cpp:1478 +#: settings.cpp:70 +msgid "Presentation" +msgstr "ПрезентаціÑ" + +#: configuredialog.cpp:164 configuredialog.cpp:323 kpowersave.cpp:1473 +#: settings.cpp:72 +msgid "Acoustic" +msgstr "ÐкуÑтичний" + +#: configuredialog.cpp:169 configuredialog.cpp:171 configuredialog.cpp:172 +#: configuredialog.cpp:173 kpowersave.cpp:1484 +msgid "Advanced Powersave" +msgstr "Розширене ÐºÐµÑ€ÑƒÐ²Ð°Ð½Ð½Ñ Ð¶Ð¸Ð²Ð»ÐµÐ½Ð½Ñм" + +#: configuredialog.cpp:271 +msgid "" +"This enables specific screen saver settings. \n" +"Note: If selected, the global screen saver settings are \n" +"overwritten while kpowersave runs." +msgstr "" +"Вмикає Ñпецифічні параметри зберігача екрана. \n" +"Примітка: Якщо увімкнено, глобальні параметри зберігача екрана " +"перезапиÑуютьÑÑ, коли запущено kpowersave." + +#: configuredialog.cpp:274 +msgid "" +"This disables the screen saver. \n" +"Note: If selected, the global screen saver settings are \n" +"overwritten while kpowersave runs." +msgstr "" +"Вимикає зберігач екрана. \n" +"Примітка: Якщо увімкнено, глобальні параметри зберігача екрана " +"перезапиÑуютьÑÑ, коли запущено kpowersave." + +#: configuredialog.cpp:277 +msgid "" +"This blanks the screen instead of using a specific screen saver. \n" +"Note: This may work only with KScreensaver." +msgstr "" +"Вимикає екран заміÑÑ‚ÑŒ викориÑÑ‚Ð°Ð½Ð½Ñ Ð¿ÐµÐ²Ð½Ð¾Ð³Ð¾ зберігача екрана. \n" +"Примітка: Можливо, це працюватиме тільки з KScreensaver." + +#: configuredialog.cpp:279 +msgid "" +"This enables specific DPMS settings. \n" +"Note: If selected, the global DPMS settings are \n" +"overwritten while kpowersave runs." +msgstr "" +"Вмикає Ñпецифічні параметри DPMS. \n" +"Примітка: Якщо увімкнено, глобальні параметри DPMS перезапиÑуютьÑÑ, коли " +"запущено kpowersave." + +#: configuredialog.cpp:282 +msgid "This disables DPMS support." +msgstr "Вимикає підтримку DPMS." + +#: configuredialog.cpp:283 +msgid "If selected, the screen is locked on suspend or standby." +msgstr "Якщо увімкнено, екран замикаєтьÑÑ Ð² режимі Ñну або чергуваннÑ." + +#: configuredialog.cpp:284 +msgid "If selected, the screen is locked if the lid close event is triggered." +msgstr "" +"Якщо увімкнено, екран замикаєтьÑÑ, коли Ñпрацювала Ð¿Ð¾Ð´Ñ–Ñ \"кришку закрито\"." + +#: configuredialog.cpp:286 +msgid "" +"Check this box to enable or disable automatic suspension of the computer." +msgstr "Увімкнути / вимкнути автоматичний перехід комп'ютера в режим Ñну." + +#: configuredialog.cpp:288 +msgid "" +"Activate this action if the user was inactive for the defined time \n" +"(greater than 0 minutes). If empty, nothing happens." +msgstr "" +"Ввімкнути цю дію, Ñкщо кориÑтувач був неактивним певний Ñ‡Ð°Ñ \n" +"(> 0 хв.). Якщо порожньо, то нічого не ÑтанетьÑÑ." + +#: configuredialog.cpp:291 +msgid "All scheme-related screen saver and DPMS settings." +msgstr "Ð’ÑÑ– параметри Ñхеми зберігача екрана Ñ– DPMS." + +#: configuredialog.cpp:292 +msgid "All scheme-related display brightness settings." +msgstr "Ð’ÑÑ– параметри Ñхеми ÑÑкравоÑÑ‚Ñ– диÑплею." + +#: configuredialog.cpp:293 +msgid "All scheme-related automatic suspend settings." +msgstr "Ð’ÑÑ– параметри Ñхеми автоматичного переходу в режим Ñну." + +#: configuredialog.cpp:295 +msgid "" +"Here you can change the brightness of your display. \n" +"Use the slider to change the brightness directly for \n" +"testing. To reset back to previous level, please press \n" +"the 'Reset' button. " +msgstr "" +"Тут можна змінити ÑÑкравіÑÑ‚ÑŒ вашого диÑплеÑ. \n" +"Вживайте повзунок Ð´Ð»Ñ Ð·Ð¼Ñ–Ð½Ð¸ ÑÑкравоÑÑ‚Ñ– Ð´Ð»Ñ Ð¿ÐµÑ€ÐµÐ²Ñ–Ñ€ÐºÐ¸.\n" +"Щоб повернутиÑÑŒ назад до попереднього рівнÑ, будь \n" +"лаÑка, натиÑніть кнопку \"Скинути\". " + +#: configuredialog.cpp:299 +msgid "Use this button to set back the slider and the display brightness." +msgstr "Вживайте цю кнопку Ð´Ð»Ñ Ð²Ñ–Ð´Ð½Ð¾Ð²Ð»ÐµÐ½Ð½Ñ Ð¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð½ÑŒÐ¾Ñ— ÑÑкравоÑÑ‚Ñ– екрана." + +#: configuredialog.cpp:352 +msgid "Press this button to delete the selected scheme." +msgstr "ÐатиÑніть цю кнопку, щоб вилучити вибрану Ñхему." + +#: configuredialog.cpp:357 +msgid "You can't delete the current AC or battery scheme." +msgstr "Ðеможливо вилучити поточну Ñхему Ð¶Ð¸Ð²Ð»ÐµÐ½Ð½Ñ Ð²Ñ–Ð´ ел. мережі або батареї." + +#: configuredialog.cpp:363 +msgid "You can't delete this default scheme." +msgstr "Ðеможливо вилучити цю типову Ñхему." + +#: configuredialog.cpp:546 +msgid "" +"Your hardware supports to change the brightness. The values of the slider " +"are in percent and mapped to the available brightness levels of your " +"hardware." +msgstr "" +"Ваше Ð¾Ð±Ð»Ð°Ð´Ð½Ð°Ð½Ð½Ñ Ð¿Ñ–Ð´Ñ‚Ñ€Ð¸Ð¼ÑƒÑ” зміну ÑÑкравоÑÑ‚Ñ–. Ð—Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ð¿Ð¾Ð²Ð·ÑƒÐ½ÐºÐ° в процентах " +"відповідають наÑвним рівнÑм ÑÑкравоÑÑ‚Ñ– обладнаннÑ." + +#: configuredialog.cpp:553 +msgid "" +"Your Hardware currently not support changing the brightness of your display." +msgstr "Ваше Ð¾Ð±Ð»Ð°Ð´Ð½Ð°Ð½Ð½Ñ Ð² даний Ñ‡Ð°Ñ Ð½Ðµ підтримує зміну ÑÑкравоÑÑ‚Ñ– диÑплеÑ." + +#: configuredialog.cpp:664 +msgid "Select Automatically" +msgstr "Вибрати автоматично" + +#: configuredialog.cpp:665 +msgid "KScreensaver" +msgstr "KScreensaver" + +#: configuredialog.cpp:666 +msgid "XScreensaver" +msgstr "XScreensaver" + +#: configuredialog.cpp:667 +msgid "xlock" +msgstr "xlock" + +#: configuredialog.cpp:668 +msgid "GNOME Screensaver" +msgstr "Зберігач екрана GNOME" + +#: configuredialog.cpp:930 +msgid "" +"There are unsaved changes in the active scheme.\n" +"Apply the changes before jumping to the next scheme or discard the changes?" +msgstr "" +"Ð’ активній Ñхемі Ñ” не збережені зміни.\n" +"ЗаÑтоÑувати зроблені зміни перед переходом до нової Ñхеми чи відкинути Ñ—Ñ…?" + +#: configuredialog.cpp:933 configuredialog.cpp:983 +msgid "Unsaved Changes" +msgstr "Ðе збережені зміни" + +#: configuredialog.cpp:981 +msgid "" +"There are unsaved changes.\n" +"Apply the changes before cancel or discard the changes?" +msgstr "" +"ІÑнують не збережені зміни.\n" +"Хочете заÑтоÑувати зміни перед ÑкаÑуваннÑм чи відкинути зміни?" + +#: configuredialog.cpp:1032 +msgid "Please insert a name for the new scheme:" +msgstr "Будь лаÑка, введіть назву нової Ñхеми:" + +#: configuredialog.cpp:1038 +msgid "KPowersave Configuration" +msgstr "ÐÐ°Ð»Ð°ÑˆÑ‚ÑƒÐ²Ð°Ð½Ð½Ñ KPowersave" + +#: configuredialog.cpp:1046 +msgid "Error: A scheme with this name already exist.\n" +msgstr "Помилка: вже Ñ–Ñнує Ñхема з цією назвою.\n" + +#: configuredialog.cpp:1076 +msgid "Do you really want to delete the %1 scheme?" +msgstr "Ви дійÑно хочете вилучити Ñхему %1?" + +#: configuredialog.cpp:1078 +msgid "Confirm delete scheme" +msgstr "Підтвердити Ð²Ð¸Ð»ÑƒÑ‡ÐµÐ½Ð½Ñ Ñхеми" + +#: configuredialog.cpp:1079 configure_Dialog.cpp:883 +msgid "Delete" +msgstr "Вилучити" + +#: configuredialog.cpp:1095 +msgid "Could not delete the selected scheme." +msgstr "Ðе вдалоÑÑŒ вилучити вибрану Ñхему." + +#: configuredialog.cpp:1324 +msgid "" +"Note: If you select this option, the computer will suspend or standby " +"if the current user is inactive for the defined time even if somebody is " +"logged in remotely to the X server.

    This feature can also produce " +"problems with some programs, such as video players or cd burner. These " +"programs can be blacklisted by checking Enable scheme-specific blacklist and click Edit Blacklist.... If this does not help, report the " +"problem or deactivate autosuspend.

    Really use this option?" +msgstr "" +"Примітка: Якщо ви виберете цей параметр, комп'ютер перейде в режим " +"Ñну або чергуваннÑ, Ñкщо поточний кориÑтувач бездіÑльний протÑгом певного " +"чаÑу, навіть, Ñкщо хтоÑÑŒ віддалено з'єднаний з X-Ñервером.

    Ð¦Ñ " +"функціональніÑÑ‚ÑŒ може призвеÑти до проблем в деÑких програмах, таких Ñк " +"відеопрогравачах або програмах запиÑу компакт-диÑків. Ці програми можна " +"внеÑти до чорного ÑпиÑку, увімкнувши параметр Увімкнути Ñпецифічний Ð´Ð»Ñ " +"Ñхеми чорний ÑпиÑок Ñ– клацнувши Змінити чорний ÑпиÑок.... Якщо це " +"не допоможе, повідомте про проблему або вимкніть режим автоÑну.

    " +"ДійÑно вживати цей параметр?" + +#: configuredialog.cpp:1402 configuredialog.cpp:1532 +msgid "" +"The blacklist of the selected scheme is empty. Import the general blacklist?" +msgstr "" +"Чорний ÑпиÑок цієї Ñхеми -- порожній. Імпортувати загальний чорний ÑпиÑок?" + +#: configuredialog.cpp:1404 configuredialog.cpp:1534 +msgid "Import" +msgstr "Імпортувати" + +#: configuredialog.cpp:1404 configuredialog.cpp:1534 +msgid "Do Not Import" +msgstr "Ðе імпортувати" + +#: configuredialog.cpp:1416 +msgid "General Autosuspend Blacklist" +msgstr "Чорний ÑпиÑок режиму автоÑну" + +#: configuredialog.cpp:1546 +msgid "General Autodimm Blacklist" +msgstr "Чорний ÑпиÑок автозатемненнÑ" + +#: configuredialog.cpp:1779 configuredialog.cpp:1816 +msgid "Shutdown" +msgstr "Вимкнути" + +#: configuredialog.cpp:1781 configuredialog.cpp:1819 +msgid "Logout Dialog" +msgstr "Вікно виходу" + +#: configuredialog.cpp:1784 configuredialog.cpp:1822 kpowersave.cpp:182 +#: kpowersave.cpp:2096 kpowersave.cpp:2156 kpowersave.cpp:2247 +msgid "Suspend to Disk" +msgstr "Сон зі збереженнÑм на диÑк" + +#: configuredialog.cpp:1787 configuredialog.cpp:1825 kpowersave.cpp:186 +#: kpowersave.cpp:2101 kpowersave.cpp:2161 kpowersave.cpp:2250 +msgid "Suspend to RAM" +msgstr "Сон із збереженнÑм у RAM" + +#: configuredialog.cpp:1790 configuredialog.cpp:1828 +msgid "CPU Powersave policy" +msgstr "Правила ÐµÐ½ÐµÑ€Ð³Ð¾Ð·Ð±ÐµÑ€ÐµÐ¶ÐµÐ½Ð½Ñ Ð´Ð»Ñ Ð¦ÐŸ" + +#: configuredialog.cpp:1793 configuredialog.cpp:1831 +msgid "CPU Dynamic policy" +msgstr "Динамічні правила Ð´Ð»Ñ Ð¦ÐŸ" + +#: configuredialog.cpp:1796 configuredialog.cpp:1834 +msgid "CPU Performance policy" +msgstr "Правила Ð´Ð»Ñ ÑˆÐ²Ð¸Ð´ÐºÐ¾Ð´Ñ–Ñ— ЦП" + +#: configuredialog.cpp:1799 configuredialog.cpp:1837 +msgid "Set Brightness to" +msgstr "Ð’Ñтановити ÑÑкравіÑÑ‚ÑŒ до" + +#: main.cpp:43 +msgid "KDE Frontend for Power Management, Battery Monitoring and Suspend" +msgstr "" +"Ð†Ð½Ñ‚ÐµÑ€Ñ„ÐµÐ¹Ñ KDE Ð´Ð»Ñ Ð¿Ð°ÐºÑƒÐ½ÐºÐ° енергозбереженнÑ, монітора батареї Ñ– режиму Ñну" + +#: main.cpp:45 +msgid "Force a new check for ACPI support" +msgstr "ПримуÑово наново перевірити підтримку ACPI" + +#: main.cpp:46 +msgid "Trace function entry and leave points for debug\n" +msgstr "Стежити за входом функції й залишити точки Ð´Ð»Ñ Ð·Ð½ÐµÐ²Ð°Ð´Ð¶ÐµÐ½Ð½Ñ\n" + +#: main.cpp:59 +msgid "Current maintainer" +msgstr "Поточний Ñупровід" + +#: main.cpp:62 +msgid "Powersave developer and for D-Bus integration" +msgstr "Розробка Powersave Ñ– Ñ–Ð½Ñ‚ÐµÐ³Ñ€Ð°Ñ†Ñ–Ñ Ð· DBUS" + +#: main.cpp:64 +msgid "Powersave developer and tester" +msgstr "Розробник Ñ– випробовувач Powersave" + +#: main.cpp:66 +msgid "Added basic detailed dialog" +msgstr "Додав проÑте вікно подробиць" + +#: main.cpp:67 +msgid "Packaging Debian and Ubuntu" +msgstr "Пакунки Ð´Ð»Ñ Debian Ñ– Ubuntu" + +#: detaileddialog.cpp:61 +msgid "KPowersave Information Dialog" +msgstr "Вікно інформації KPowersave" + +#: detaileddialog.cpp:65 configure_Dialog.cpp:882 configure_Dialog.cpp:922 +msgid "Miscellaneous" +msgstr "Різне" + +#: detaileddialog.cpp:66 +msgid "CPUs" +msgstr "ПроцеÑори" + +#: detaileddialog.cpp:73 detaileddialog.cpp:453 +msgid "Battery state:" +msgstr "Стан батареї:" + +#: detaileddialog.cpp:79 +msgid "Total:" +msgstr "Ð’Ñього:" + +#: detaileddialog.cpp:81 detaileddialog.cpp:83 +msgid "Battery %1" +msgstr "Ð‘Ð°Ñ‚Ð°Ñ€ÐµÑ %1" + +#: detaileddialog.cpp:114 +msgid "Processor %1" +msgstr "ПроцеÑор %1" + +#: detaileddialog.cpp:230 +msgid "not present" +msgstr "відÑутнÑ" + +#: detaileddialog.cpp:243 +msgid "charged" +msgstr "зарÑджена" + +#: detaileddialog.cpp:245 +msgid "%1:%2 h until charged" +msgstr "%1:%2 г. до Ð·Ð°ÐºÑ–Ð½Ñ‡ÐµÐ½Ð½Ñ Ð·Ð°Ñ€Ñдки" + +#: detaileddialog.cpp:248 +msgid "%1:%2 h remaining" +msgstr "%1:%2 г. залишилоÑÑŒ" + +#: detaileddialog.cpp:253 detaileddialog.cpp:441 detaileddialog.cpp:468 +msgid "unknown" +msgstr "невідомий" + +#: detaileddialog.cpp:325 detaileddialog.cpp:368 +msgid "%v MHz" +msgstr "%v МГц" + +#: detaileddialog.cpp:330 detaileddialog.cpp:363 dummy.cpp:58 +msgid "deactivated" +msgstr "вимкнено" + +#: detaileddialog.cpp:395 +msgid "unplugged" +msgstr "виключено" + +#: detaileddialog.cpp:412 +msgid "Current Scheme: " +msgstr "Поточна Ñхема: " + +#: detaileddialog.cpp:429 +msgid "Current CPU Frequency Policy:" +msgstr "Поточне правило ÐºÐµÑ€ÑƒÐ²Ð°Ð½Ð½Ñ Ñ‡Ð°Ñтотою ЦП:" + +#: detaileddialog.cpp:435 kpowersave.cpp:193 configure_Dialog.cpp:877 +msgid "Dynamic" +msgstr "Динамічно" + +#: detaileddialog.cpp:456 +msgid "Critical" +msgstr "Критичний" + +#: detaileddialog.cpp:459 +msgid "Low" +msgstr "Ðизький" + +#: detaileddialog.cpp:462 kpowersave.cpp:277 kpowersave.cpp:652 +#: kpowersave.cpp:659 kpowersave.cpp:705 kpowersave.cpp:713 kpowersave.cpp:761 +#: kpowersave.cpp:769 kpowersave.cpp:817 kpowersave.cpp:824 +#: kpowersave.cpp:1131 kpowersave.cpp:1243 kpowersave.cpp:1272 +#: kpowersave.cpp:1610 kpowersave.cpp:1670 kpowersave.cpp:2186 +msgid "Warning" +msgstr "ПопередженнÑ" + +#: detaileddialog.cpp:465 +msgid "ok" +msgstr "гаразд" + +#: detaileddialog.cpp:474 detaileddialog.cpp:477 +msgid "Set brightness supported:" +msgstr "Підтримка ÐºÐµÑ€ÑƒÐ²Ð°Ð½Ð½Ñ ÑÑкравіÑÑ‚ÑŽ:" + +#: detaileddialog.cpp:475 +msgid "yes" +msgstr "так" + +#: detaileddialog.cpp:478 +msgid "no" +msgstr "ні" + +#: detaileddialog.cpp:481 detaileddialog.cpp:485 +msgid "HAL Daemon:" +msgstr "Даемон HAL:" + +#: detaileddialog.cpp:482 +msgid "running" +msgstr "запущено" + +#: detaileddialog.cpp:486 +msgid "not running" +msgstr "не запущено" + +#: info_Dialog.cpp:197 +msgid "Information" +msgstr "ІнформаціÑ" + +#: dummy.cpp:36 +msgid "If the current desktop user is inactive, dim the display to:" +msgstr "" +"Якщо поточний кориÑтувач Ñтільниці не активний, зменшити ÑÑкравіÑÑ‚ÑŒ екрана " +"до:" + +#: dummy.cpp:37 +msgid "Enable dim display on inactivity" +msgstr "Зменшити ÑÑкравіÑÑ‚ÑŒ екрана при бездіÑльноÑÑ‚Ñ–" + +#: dummy.cpp:38 +msgid "Blacklist" +msgstr "Чорний ÑпиÑок" + +#: dummy.cpp:39 +msgid "" +"Here you can add programs which should, if running, prevent the dimming of " +"the display." +msgstr "" +"Сюди додайте програми, при виконанні Ñких, ÑÑкравіÑÑ‚ÑŒ екрана не повинна " +"зменшуватиÑÑŒ." + +#: dummy.cpp:41 +msgid "Would you like to import a predefined blacklist?" +msgstr "Хочете імпортувати готовий чорний ÑпиÑок?" + +#: dummy.cpp:42 +msgid "Disable CPUs/Cores" +msgstr "Вимкнути процеÑори/Ñ—Ñ… Ñдра" + +#: dummy.cpp:43 +msgid "Max. running CPUs:" +msgstr "МакÑ. робочих процеÑорів:" + +#: dummy.cpp:44 +msgid "Max. running CPUs/Cores:" +msgstr "МакÑ. робочих процеÑорів/Ñ—Ñ… Ñдер:" + +#: dummy.cpp:45 +msgid "Min. running CPUs:" +msgstr "Мін. робочих процеÑорів:" + +#: dummy.cpp:46 +msgid "Min. running CPUs/Cores:" +msgstr "Мін. робочих процеÑорів/Ñ—Ñ… Ñдер:" + +#: dummy.cpp:47 +msgid "Enable to switch off CPUs/cores" +msgstr "Уможливити Ð²Ð¸Ð¼Ð¸ÐºÐ°Ð½Ð½Ñ Ð¿Ñ€Ð¾Ñ†ÐµÑорів/Ñ—Ñ… Ñдер" + +#: dummy.cpp:48 +msgid "You have a multiprocessor/multicore machine." +msgstr "Ви маєте багатопроцеÑорний/багатоÑдровий комп'ютер." + +#: dummy.cpp:49 +msgid "" +"You can disable CPUs/cores to reduce power consumption and save battery " +"power." +msgstr "" +"Ви можете вимкнути процеÑори/Ñдра, щоб зменшити енерговитрати Ñ– заощадити " +"зарÑд батареї." + +#: dummy.cpp:50 +msgid "Device" +msgstr "ПриÑтрій" + +#: dummy.cpp:51 +msgid "Devices" +msgstr "ПриÑтрої" + +#: dummy.cpp:52 +msgid "Device class" +msgstr "ÐšÐ»Ð°Ñ Ð¿Ñ€Ð¸Ñтрою" + +#: dummy.cpp:53 +msgid "activate" +msgstr "увімкнути" + +#: dummy.cpp:54 +msgid "Activate" +msgstr "Увімкнути" + +#: dummy.cpp:55 +msgid "deactivate" +msgstr "вимкнути" + +#: dummy.cpp:56 +msgid "Deactivate" +msgstr "Вимкнути" + +#: dummy.cpp:57 +msgid "activated" +msgstr "увімкнено" + +#: dummy.cpp:59 +msgid "do nothing" +msgstr "нічого не робити" + +#: dummy.cpp:60 +msgid "Deactivate following devices:" +msgstr "Вимкнути наÑтупні приÑтрої:" + +#: dummy.cpp:61 +msgid "Activate following devices" +msgstr "Увімкнути наÑтупні приÑтрої" + +#: dummy.cpp:62 +msgid "Reactivate following devices" +msgstr "Заново увімкнути наÑтупні приÑтрої" + +#: dummy.cpp:63 +msgid "Deactivate following device classes:" +msgstr "Вимкнути наÑтупні клаÑи приÑтроїв:" + +#: dummy.cpp:64 +msgid "Activate following devices classes" +msgstr "Увімкнути наÑтупні клаÑи приÑтроїв" + +#: dummy.cpp:65 +msgid "Reactivate following device classes" +msgstr "Заново увімкнути наÑтупні клаÑи приÑтроїв" + +#: dummy.cpp:66 +msgid "If the scheme switched all devices are again activated." +msgstr "Якщо змінено Ñхему, то вÑÑ– приÑтрої знов було увімкнено." + +#: dummy.cpp:67 +msgid "This is a experimental feature." +msgstr "Це екÑпериментальна функціональніÑÑ‚ÑŒ." + +#: dummy.cpp:68 +msgid "If you have problems with this feature, please report them." +msgstr "Якщо з цією функцією виникнуть проблеми, будь лаÑка, повідомте." + +#: dummy.cpp:69 +msgid "Select one of the available devices and click on " +msgstr "Виберіть один з наÑвних приÑтроїв Ñ– клацніть на " + +#: dummy.cpp:70 +msgid "Select one of the available device classes and click on " +msgstr "Виберіть один з наÑвних клаÑів приÑтроїв Ñ– клацніть на " + +#: dummy.cpp:71 +msgid "Select one or more of the available devices and click on " +msgstr "Виберіть один або більше з наÑвних приÑтроїв Ñ– клацніть на " + +#: dummy.cpp:72 +msgid "Select one or more of the available device classes and click on " +msgstr "Виберіть один або більше з наÑвних клаÑів приÑтроїв Ñ– клацніть на " + +#: dummy.cpp:73 +msgid "" +"Please note: If you e.g. deactivate a network device you may lose your " +"internet connection." +msgstr "" +"Примітка: Якщо ви, напр., вимкнете мережний приÑтрій, то можете втрати " +"з'Ñ”Ð´Ð½Ð°Ð½Ð½Ñ Ð· Інтернетом." + +#: dummy.cpp:75 +msgid "" +"Note: If you select this option, the computer will suspend or standby " +"if the current user is inactive for the defined time.

    This feature " +"can also produce problems with some programs, such as video players or cd " +"burner. These programs can be blacklisted by checking Enable scheme-" +"specific blacklist and click Edit Blacklist.... If this does not " +"help, report the problem or deactivate autosuspend.

    Really use this " +"option?" +msgstr "" +"Примітка: Якщо ви виберете цей параметр, комп'ютер перейде в режим " +"Ñну або чергуваннÑ, Ñкщо поточний кориÑтувач бездіÑльний протÑгом певного " +"чаÑу.

    Ð¦Ñ Ñ„ÑƒÐ½ÐºÑ†Ñ–Ð¾Ð½Ð°Ð»ÑŒÐ½Ñ–ÑÑ‚ÑŒ може призвеÑти до проблем в деÑких " +"програмах, таких Ñк відеопрогравачах або програмах запиÑу компакт-диÑків. Ці " +"програми можна внеÑти до чорного ÑпиÑку, увімкнувши параметр Увімкнути " +"Ñпецифічний Ð´Ð»Ñ Ñхеми чорний ÑпиÑок Ñ– клацнувши Змінити чорний " +"ÑпиÑок.... Якщо це не допоможе, повідомте про проблему або вимкніть " +"режим автоÑну.

    ДійÑно вживати цей параметр?" + +#: dummy.cpp:82 +msgid "Try to use only one CPU/Core." +msgstr "ÐамагатиÑÑ Ð²Ð¶Ð¸Ð²Ð°Ñ‚Ð¸ тільки один ЦП/Ñдро." + +#: dummy.cpp:83 +msgid "" +"Reduce power consumption by try to use only one CPU/Core instead of " +"spreading the work over all/multiple CPUs." +msgstr "" +"Зменшити енергоÑÐ¿Ð¾Ð¶Ð¸Ð²Ð°Ð½Ð½Ñ Ð·Ð° допомогою Ð²Ð¶Ð¸Ð²Ð°Ð½Ð½Ñ Ð¾Ð´Ð½Ð¾Ð³Ð¾ процеÑора/Ñдра, " +"заміÑÑ‚ÑŒ розподілу роботи Ð´Ð»Ñ Ð²Ð¸ÐºÐ¾Ð½Ð°Ð½Ð½Ñ Ð½Ð° вÑÑ–Ñ…/декількох ЦП." + +#: dummy.cpp:87 +msgid "Could not load the global configuration." +msgstr "Ðе вдалоÑÑŒ завантажити глобальну конфігурацію." + +#: dummy.cpp:88 +msgid "Could not load the requested scheme configuration." +msgstr "Ðе вдалоÑÑŒ завантажити конфігурацію необхідної Ñхеми." + +#: dummy.cpp:89 +msgid "Configure the current scheme." +msgstr "Ðалаштувати поточну Ñхему." + +#: dummy.cpp:90 +msgid "Try loading the default configuration." +msgstr "Спробуйте завантажити типову конфігурацію." + +#: dummy.cpp:91 +msgid "Maybe the global configuration file is empty or missing." +msgstr "Можливо, файл глобальної конфігурації порожній або відÑутній." + +#: dummy.cpp:94 +msgid "Cannot connect to D-Bus. The D-Bus daemon may not be running." +msgstr "Ðеможливо приєднатиÑÑŒ до D-BUS. Можливо, не запущено даемон D-BUS." + +#: dummy.cpp:95 +msgid "" +"Scheme switched to %1. \n" +" Deactivate following devices: %2" +msgstr "" +"Схему перемкнено на %1. \n" +"Вимкнути наÑтупні приÑтрої: %2" + +#: dummy.cpp:96 +msgid "" +"Scheme switched to %1. \n" +" Activate following devices: %2" +msgstr "" +"Схему перемкнено на %1. \n" +"Увімкнути наÑтупні приÑтрої: %2" + +#: dummy.cpp:97 +msgid "Report ..." +msgstr "Звіт..." + +#: dummy.cpp:98 +msgid "Suspend to RAM is not supported on your machine." +msgstr "Режим Ñну зі збереженнÑм в RAM цим комп'ютером не підтримуєтьÑÑ." + +#: dummy.cpp:99 +msgid "Additionally, please mail the output of %1 to %2 . Thanks!" +msgstr "Крім того, будь лаÑка, надішліть вивід з %1 до %2. ДÑкуємо!" + +#: dummy.cpp:100 +msgid "Power consumption" +msgstr "Ð¡Ð¿Ð¾Ð¶Ð¸Ð²Ð°Ð½Ð½Ñ ÐµÐ»ÐµÐºÑ‚Ñ€Ð¾ÐµÐ½ÐµÑ€Ð³Ñ–Ñ—" + +#: dummy.cpp:103 +msgid "KScreensaver not found." +msgstr "KScreensaver не знайдено." + +#: dummy.cpp:104 +msgid "Try locking with XScreensaver or xlock." +msgstr "Спробуйте заблокувати за допомогою XScreensaver або xlock." + +#: dummy.cpp:105 +msgid "XScreensaver not found." +msgstr "XScreensaver не знайдено." + +#: dummy.cpp:106 +msgid "Try locking the screen with xlock." +msgstr "Спробуйте заблокувати екран за допомогою xlock." + +#: dummy.cpp:107 +msgid "" +"XScreensaver and xlock not found. It is not possible to lock the screen. " +"Check your installation." +msgstr "" +"Ðе знайдено ні XScreensaver, ні xlock. Ðеможливо заблокувати екран. " +"Перевірте вашу інÑталÑцію." + +#: dummy.cpp:111 +msgid "HAL daemon:" +msgstr "Даемон HAL:" + +#: dummy.cpp:112 +msgid "D-Bus daemon:" +msgstr "Даемон D-BUS:" + +#: dummy.cpp:113 +msgid "ConsoleKit daemon:" +msgstr "Даемон ConsoleKit:" + +#: dummy.cpp:114 +msgid "Autosuspend activated:" +msgstr "Ðвтоперехід в режим Ñну активовано:" + +#: dummy.cpp:115 +msgid "Autodimm activated:" +msgstr "ÐÐ²Ñ‚Ð¾Ð·Ð°Ñ‚ÐµÐ¼Ð½ÐµÐ½Ð½Ñ Ð°ÐºÑ‚Ð¸Ð²Ð¾Ð²Ð°Ð½Ð¾:" + +#: dummy.cpp:116 +msgid "enabled" +msgstr "увімкнено" + +#: dummy.cpp:117 +msgid "Session active:" +msgstr "Ðктивний ÑеанÑ:" + +#: dummy.cpp:120 +msgid "Inactivity detected." +msgstr "ВиÑвлено бездіÑльніÑÑ‚ÑŒ." + +#: dummy.cpp:121 +msgid "To stop the %1 press the 'Cancel' button before the countdown expire." +msgstr "" +"Щоб зупинити %1, натиÑніть кнопку \"СкаÑувати\", перш ніж закінчитьÑÑ Ð²Ñ–Ð´Ð»Ñ–Ðº." + +#: dummy.cpp:122 +msgid "The computer autosuspend in: " +msgstr "Комп'ютер перейде в режим Ñну через: " + +#: dummy.cpp:123 +#, c-format +msgid "The display get dimmed down to %1% in: " +msgstr "ДиÑплей буде затемнено до %1% через: " + +#: dummy.cpp:124 +msgid "%1 seconds" +msgstr "%1 Ñек." + +#: dummy.cpp:127 +msgid "Could not call %1. The current desktop session is not active." +msgstr "Ðе вдалоÑÑ Ð²Ð¸ÐºÐ»Ð¸ÐºÐ°Ñ‚Ð¸ %1. Поточний Ñтільничний ÑÐµÐ°Ð½Ñ - неактивний." + +#: dummy.cpp:128 +msgid "Could not set %1. The current desktop session is not active." +msgstr "Ðе вдалоÑÑ Ð²Ñтановити %1. Поточний Ñтільничний ÑÐµÐ°Ð½Ñ - неактивний." + +#: dummy.cpp:129 +msgid "Stopped %1. The current desktop session is now inactive." +msgstr "Зупинено %1. Поточний Ñтільничний ÑÐµÐ°Ð½Ñ Ñ‚ÐµÐ¿ÐµÑ€ активний." + +#: dummy.cpp:130 +msgid "Restarted %1. The current desktop session is now active again." +msgstr "Перезапущено %1. Поточний Ñтільничний ÑÐµÐ°Ð½Ñ Ñ‚ÐµÐ¿ÐµÑ€ знову активний." + +#: log_viewer.cpp:78 +msgid "Form1" +msgstr "Form1" + +#: log_viewer.cpp:79 +msgid "Save As ..." +msgstr "Зберегти Ñк..." + +#: log_viewer.cpp:80 +msgid "Close" +msgstr "Закрити" + +#: logviewer.cpp:44 +msgid "KPowersave Logfile Viewer: %1" +msgstr "ПереглÑдач файлів журналу KPowersave: %1" + +#: logviewer.cpp:89 +msgid "File already exist. Overwrite the file?" +msgstr "Файл вже Ñ–Ñнує. ПерезапиÑати його?" + +#: logviewer.cpp:90 logviewer.cpp:97 +msgid "Error while save logfile" +msgstr "Помилка під Ñ‡Ð°Ñ Ð·Ð±ÐµÑ€ÐµÐ¶ÐµÐ½Ð½Ñ Ñ„Ð°Ð¹Ð»Ð° журналу" + +#: logviewer.cpp:95 +msgid "File already exist." +msgstr "Файл вже Ñ–Ñнує." + +#: logviewer.cpp:98 +msgid "Try other filename ..." +msgstr "Спробуйте іншу назву файла ..." + +#: suspenddialog.cpp:70 +msgid "Preparing Suspend..." +msgstr "Підготовка до режиму Ñну..." + +#: kpowersave.cpp:168 +msgid "Configure KPowersave..." +msgstr "Ðалаштувати KPowersave..." + +#: kpowersave.cpp:171 configure_Dialog.cpp:915 +msgid "Configure Notifications..." +msgstr "Ðалаштувати ÑповіщеннÑ..." + +#: kpowersave.cpp:175 +msgid "Start YaST2 Power Management Module..." +msgstr "ЗапуÑк Ð¼Ð¾Ð´ÑƒÐ»Ñ ÐºÐµÑ€ÑƒÐ²Ð°Ð½Ð½Ñ Ð¶Ð¸Ð²Ð»ÐµÐ½Ð½Ñм - YaST2..." + +#: kpowersave.cpp:189 kpowersave.cpp:2106 kpowersave.cpp:2166 +#: kpowersave.cpp:2253 +msgid "Standby" +msgstr "Режим чергуваннÑ" + +#: kpowersave.cpp:191 kpowersave.cpp:198 +msgid "Set CPU Frequency Policy" +msgstr "Вказати правило ÐºÐµÑ€ÑƒÐ²Ð°Ð½Ð½Ñ Ñ‡Ð°Ñтотою процеÑора" + +#: kpowersave.cpp:205 kpowersave.cpp:206 +msgid "Set Active Scheme" +msgstr "ÐаÑтавити активну Ñхему" + +#: kpowersave.cpp:212 +msgid "Disable Actions on Inactivity" +msgstr "Вимкнути дії при бездіÑльноÑÑ‚Ñ–" + +#: kpowersave.cpp:219 kpowersave.cpp:229 +msgid "&Help" +msgstr "&Довідка" + +#: kpowersave.cpp:221 +msgid "&KPowersave Handbook" +msgstr "Підручник &KPowersave" + +#: kpowersave.cpp:224 +msgid "&Report a bug ..." +msgstr "&ÐадіÑлати звіт про помилку..." + +#: kpowersave.cpp:226 +msgid "&About KPowersave" +msgstr "&Про KPowersave" + +#: kpowersave.cpp:275 kpowersave.cpp:648 kpowersave.cpp:656 kpowersave.cpp:703 +#: kpowersave.cpp:710 kpowersave.cpp:759 kpowersave.cpp:766 kpowersave.cpp:815 +#: kpowersave.cpp:822 kpowersave.cpp:1126 kpowersave.cpp:1241 +#: kpowersave.cpp:1270 kpowersave.cpp:2183 +msgid "WARNING" +msgstr "ПОПЕРЕДЖЕÐÐЯ" + +#: kpowersave.cpp:275 +msgid "Cannot find any schemes." +msgstr "Ðе вдаєтьÑÑ Ð·Ð½Ð°Ð¹Ñ‚Ð¸ ÑкуÑÑŒ Ñхему." + +#: kpowersave.cpp:453 +msgid "No information about battery and AC status available" +msgstr "Ðема інформації про Ñтан батареї Ñ– адаптера живленнÑ" + +#: kpowersave.cpp:456 +msgid "Plugged in -- fully charged" +msgstr "Увімкнений в електромережу - повний зарÑд" + +#: kpowersave.cpp:460 +msgid "Plugged in" +msgstr "Увімкнений в електромережу" + +#: kpowersave.cpp:464 +msgid "Plugged in -- %1% charged (%2:%3 h until full charged)" +msgstr "Увімкнено - %1% зарÑджено (%2: %3 год. до повного зарÑду)" + +#: kpowersave.cpp:467 +msgid "Plugged in -- %1% charged (%2:%3 remaining hours)" +msgstr "Увімкнений в електромережу -- %1% зарÑду (залишилоÑÑŒ %2:%3 год)" + +#: kpowersave.cpp:471 kpowersave.cpp:475 +#, c-format +msgid "Plugged in -- %1% charged" +msgstr "Увімкнений в електромережу -- %1% зарÑду" + +#: kpowersave.cpp:474 +msgid "Plugged in -- no battery" +msgstr "Увімкнений в електромережу -- немає батареї" + +#: kpowersave.cpp:480 +msgid "Running on batteries -- %1% charged (%2:%3 hours remaining)" +msgstr "Працює на батареї -- %1% зарÑду (залишилоÑÑŒ %2:%3 год)" + +#: kpowersave.cpp:484 +#, c-format +msgid "Running on batteries -- %1% charged" +msgstr "Працює на батареї -- %1% зарÑду" + +#: kpowersave.cpp:491 +msgid " -- battery is charging" +msgstr " -- Ð±Ð°Ñ‚Ð°Ñ€ÐµÑ Ð·Ð°Ñ€ÑджаєтьÑÑ" + +#: kpowersave.cpp:649 kpowersave.cpp:657 +msgid "Could not start YaST Power Management Module. Check if it is installed." +msgstr "" +"Ðе вдалоÑÑŒ запуÑтити модуль ÐºÐµÑ€ÑƒÐ²Ð°Ð½Ð½Ñ Ð¶Ð¸Ð²Ð»ÐµÐ½Ð½Ñм YaST. Перевірте чи його " +"вÑтановлено." + +#: kpowersave.cpp:703 +msgid "Suspend to disk failed" +msgstr "Режим Ñну зі збереженнÑм на диÑк зазнав невдачі" + +#: kpowersave.cpp:711 +msgid "Suspend to disk disabled by administrator." +msgstr "Режим Ñну із збереженнÑм на диÑк заблоковано адмініÑтратором." + +#: kpowersave.cpp:759 +msgid "Suspend to RAM failed" +msgstr "Сон із збереженнÑм у RAM зазнав невдачі" + +#: kpowersave.cpp:767 +msgid "Suspend to RAM disabled by administrator." +msgstr "Режим Ñну із збереженнÑм в RAM заблоковано адмініÑтратором." + +#: kpowersave.cpp:815 +msgid "Standby failed" +msgstr "Режим Ñ‡ÐµÑ€Ð³ÑƒÐ²Ð°Ð½Ð½Ñ Ð·Ð°Ð·Ð½Ð°Ð² невдачі" + +#: kpowersave.cpp:822 +msgid "Standby disabled by administrator." +msgstr "Режим Ñ‡ÐµÑ€Ð³ÑƒÐ²Ð°Ð½Ð½Ñ Ð·Ð°Ð±Ð»Ð¾ÐºÐ¾Ð²Ð°Ð½Ð¾ адмініÑтратором." + +#: kpowersave.cpp:853 +msgid "System is going into suspend mode now" +msgstr "СиÑтема тепер переходить в режим Ñну" + +#: kpowersave.cpp:1039 +msgid "Could not call DCOP interface to umount external media." +msgstr "" +"Ðе вдалоÑÑ Ð²Ð¸ÐºÐ»Ð¸ÐºÐ°Ñ‚Ð¸ Ñ–Ð½Ñ‚ÐµÑ€Ñ„ÐµÐ¹Ñ DCOP Ð´Ð»Ñ Ð´ÐµÐ¼Ð¾Ð½Ñ‚ÑƒÐ²Ð°Ð½Ð½Ñ Ð·Ð¾Ð²Ð½Ñ–ÑˆÐ½ÑŒÐ¾Ð³Ð¾ ноÑÑ–Ñ." + +#: kpowersave.cpp:1044 +msgid "" +"Could not umount external media before suspend/standby. \n" +" (Reason: %1)\n" +" \n" +" Would you like to continue suspend/standby anyway? \n" +"(Warning: Continue suspend can cause data loss!)" +msgstr "" +"Ðе вдалоÑÑ Ð´ÐµÐ¼Ð¾Ð½Ñ‚ÑƒÐ²Ð°Ñ‚Ð¸ зовнішній ноÑій перед режимом Ñну/чергуваннÑ. \n" +" (Причина: %1)\n" +" \n" +" Хочете продовжити Ñон/чергуваннÑ, попри вÑе? \n" +"(Увага:Ð¿Ñ€Ð¾Ð´Ð¾Ð²Ð¶ÐµÐ½Ð½Ñ Ñну може Ñпричинити втрату даних!)" + +#: kpowersave.cpp:1052 +msgid "Error while prepare %1" +msgstr "Помилка під Ñ‡Ð°Ñ Ð¿Ñ€Ð¸Ð³Ð¾Ñ‚ÑƒÐ²Ð°Ð½Ð½Ñ %1" + +#: kpowersave.cpp:1053 +msgid "Suspend anyway" +msgstr "Ð’ режим Ñну, попри вÑе" + +#: kpowersave.cpp:1053 +msgid "Cancel suspend" +msgstr "СкаÑувати перехід в режим Ñну" + +#: kpowersave.cpp:1127 +msgid "" +"Could not lock the screen. There may be a problem with the selected \n" +"lock method or something else." +msgstr "" +"Ðе вдалоÑÑ Ð·Ð°Ð±Ð»Ð¾ÐºÑƒÐ²Ð°Ñ‚Ð¸ екран. Можливо, Ñ–Ñнує проблема з \n" +"вибраним методом Ð±Ð»Ð¾ÐºÑƒÐ²Ð°Ð½Ð½Ñ Ð°Ð±Ð¾ ÑкаÑÑŒ інша." + +#: kpowersave.cpp:1144 +msgid "The Lid was closed." +msgstr "Лептоп закрито." + +#: kpowersave.cpp:1156 +msgid "The Lid was opened." +msgstr "Лептоп відкрито." + +#: kpowersave.cpp:1223 +msgid "Start KPowersave automatically when you log in?" +msgstr "Ðвтоматично запуÑкати KPowersave при вході в ÑиÑтему?" + +#: kpowersave.cpp:1224 +msgid "Question" +msgstr "ПитаннÑ" + +#: kpowersave.cpp:1225 +msgid "Start Automatically" +msgstr "ЗапуÑкати автоматично" + +#: kpowersave.cpp:1225 +msgid "Do Not Start" +msgstr "Ðе запуÑкати" + +#: kpowersave.cpp:1242 +msgid "CPU Freq Policy %1 could not be set." +msgstr "Ðе вдаєтьÑÑ Ð²ÐºÐ°Ð·Ð°Ñ‚Ð¸ правило чаÑтоти ЦП %1." + +#: kpowersave.cpp:1271 +msgid "Scheme %1 could not be activated." +msgstr "Ðе вдалоÑÑŒ активувати Ñхему %1." + +#: kpowersave.cpp:1600 +msgid "" +"The D-Bus daemon is not running.\n" +"Starting it will provide full functionality: /etc/init.d/dbus start" +msgstr "" +"Ðе запущено даемон DBUS. Його запуÑк надаÑÑ‚ÑŒ\n" +"повну функціональніÑÑ‚ÑŒ: /etc/init.d/messagebus start" + +#: kpowersave.cpp:1611 +msgid "Don't show this message again." +msgstr "Ðе показувати це Ð¿Ð¾Ð²Ñ–Ð´Ð¾Ð¼Ð»ÐµÐ½Ð½Ñ Ð·Ð½Ð¾Ð²." + +#: kpowersave.cpp:1637 +msgid "ERROR" +msgstr "ПОМИЛКÐ" + +#: kpowersave.cpp:1638 +msgid "Could not get information from HAL. The haldaemon is maybe not running." +msgstr "Ðе вдалоÑÑ Ð¾Ñ‚Ñ€Ð¸Ð¼Ð°Ñ‚Ð¸ інформацію з HAL. Можливо, не запущено haldaemon." + +#: kpowersave.cpp:1641 +msgid "Error" +msgstr "Помилка" + +#: kpowersave.cpp:1912 +msgid "" +"Battery state changed to WARNING -- remaining time: %1 hours and %2 minutes." +msgstr "" +"ЗарÑд батареї змінивÑÑ Ð½Ð° ПОПЕРЕДЖЕÐÐЯ -- залишилоÑÑŒ чаÑу:%1 год. Ñ– %2 хв." + +#: kpowersave.cpp:1921 +msgid "" +"Battery state changed to LOW -- remaining time: %1 hours and %2 minutes." +msgstr "ЗарÑд батареї змінивÑÑ Ð½Ð° ÐИЗЬКИЙ -- залишилоÑÑŒ чаÑу:%1 год. Ñ– %2 хв." + +#: kpowersave.cpp:1932 +msgid "" +"Battery state changed to CRITICAL -- remaining time: %1 hours and %2 " +"minutes.\n" +"Shut down your system or plug in the power cable immediately. Otherwise the " +"machine\n" +"will go shutdown in 30 seconds" +msgstr "" +"ЗарÑд батареї змінивÑÑ Ð½Ð° КРИТИЧÐИЙ -- залишилоÑÑŒ чаÑу:%1 год. Ñ– %2 хв.\n" +"Вимкніть вашу ÑиÑтему або негайно увімкніть Ð¶Ð¸Ð²Ð»ÐµÐ½Ð½Ñ Ð· електромережі. " +"Інакше,\n" +"машина почне Ð²Ð¸Ð¼ÐºÐ½ÐµÐ½Ð½Ñ Ñ‡ÐµÑ€ÐµÐ· 30 Ñекунд" + +#: kpowersave.cpp:1943 +msgid "" +"Battery state changed to CRITICAL -- remaining time: %1 hours and %2 " +"minutes.\n" +"Shut down your system or plug in the power cable immediately." +msgstr "" +"ЗарÑд батареї змінивÑÑ Ð½Ð° КРИТИЧÐИЙ -- залишилоÑÑŒ чаÑу:%1 год. Ñ– %2 хв.\n" +"Вимкніть вашу ÑиÑтему або негайно увімкніть Ð¶Ð¸Ð²Ð»ÐµÐ½Ð½Ñ Ð· електромережі." + +#: kpowersave.cpp:2041 +msgid "AC adapter plugged in" +msgstr "Ðдаптер AC увімкнено в електромережу" + +#: kpowersave.cpp:2043 +msgid "AC adapter unplugged" +msgstr "Ðдаптер AC вимкнено з електромережі" + +#: kpowersave.cpp:2078 +msgid "Switched to scheme: %1" +msgstr "Перемкнено на Ñхему: %1" + +#: kpowersave.cpp:2095 kpowersave.cpp:2100 kpowersave.cpp:2105 +msgid "System is going into %1 now." +msgstr "СиÑтема тепер переходить в %1." + +#: kpowersave.cpp:2155 kpowersave.cpp:2160 kpowersave.cpp:2165 +msgid "System is resumed from %1." +msgstr "СиÑтему відновлено з %1." + +#: kpowersave.cpp:2184 +msgid "Could not remount (all) external storage media." +msgstr "ÐЕ вдалоÑÑ Ð¿ÐµÑ€ÐµÐ¼Ð¾Ð½Ñ‚ÑƒÐ²Ð°Ñ‚Ð¸ (вÑÑ–) зовнішні ноÑÑ–Ñ—." + +#: kpowersave.cpp:2192 +msgid "An unknown error occurred while %1. The errorcode is: '%2'" +msgstr "ТрапилаÑÑŒ невідома помилка під Ñ‡Ð°Ñ %1. Помилка коду: \"%2\"" + +# power-off message +#: kpowersave.cpp:2197 +msgid "Do you want to have a look at the log file?" +msgstr "Хочете переглÑнути файл журналу?" + +#: kpowersave.cpp:2198 kpowersave.cpp:2224 +msgid "Error while %1" +msgstr "Помилка під Ñ‡Ð°Ñ %1" + +#: configure_Dialog.cpp:831 +msgid "KPowersave Settings" +msgstr "Параметри KPowersave" + +#: configure_Dialog.cpp:832 +msgid "Apply" +msgstr "ЗаÑтоÑувати" + +#: configure_Dialog.cpp:834 +msgid "Help" +msgstr "Довідка" + +#: configure_Dialog.cpp:840 +msgid "Enable specific display power management" +msgstr "Ввімкнути певне ÐºÐµÑ€ÑƒÐ²Ð°Ð½Ð½Ñ Ð¶Ð¸Ð²Ð»ÐµÐ½Ð½Ñм диÑплеÑ" + +#: configure_Dialog.cpp:841 +msgid "Standby after:" +msgstr "Режим Ñ‡ÐµÑ€Ð³ÑƒÐ²Ð°Ð½Ð½Ñ Ð¿Ñ–ÑлÑ:" + +#: configure_Dialog.cpp:842 +msgid "Only blank the screen" +msgstr "Тільки затемнити екран" + +#: configure_Dialog.cpp:843 +msgid "Disable screen saver" +msgstr "Ввімкнути зберігач екрану" + +#: configure_Dialog.cpp:844 +msgid "Enable specific screensaver settings" +msgstr "Увімкнути певні параметри зберігача екрана" + +#: configure_Dialog.cpp:845 +msgid "Suspend after:" +msgstr "Режим Ñну піÑлÑ:" + +#: configure_Dialog.cpp:846 +msgid "Power off after:" +msgstr "Вимкнути Ð¶Ð¸Ð²Ð»ÐµÐ½Ð½Ñ Ð¿Ñ–ÑлÑ:" + +#: configure_Dialog.cpp:847 +msgid "Disable display power management" +msgstr "Ввімкнути ÐºÐµÑ€ÑƒÐ²Ð°Ð½Ð½Ñ Ð¶Ð¸Ð²Ð»ÐµÐ½Ð½Ñм диÑплеÑ" + +#: configure_Dialog.cpp:848 configure_Dialog.cpp:849 configure_Dialog.cpp:850 +#: configure_Dialog.cpp:862 configure_Dialog.cpp:873 +msgid " min" +msgstr " хв" + +#: configure_Dialog.cpp:851 +msgid "Screen Saver and DPMS" +msgstr "Зберігач екрана Ñ– DPMS" + +#: configure_Dialog.cpp:852 +msgid "Settings" +msgstr "Параметри" + +#: configure_Dialog.cpp:853 +msgid "Reset" +msgstr "Скинути" + +#: configure_Dialog.cpp:855 +msgid "Enable scheme specific Brightness settings" +msgstr "Увімкнути параметри ÑÑкравоÑÑ‚Ñ– Ð´Ð»Ñ Ñхем" + +#: configure_Dialog.cpp:858 +msgid "Brightness" +msgstr "ЯÑкравіÑÑ‚ÑŒ" + +#: configure_Dialog.cpp:859 +msgid "Enable autosuspend" +msgstr "Увімкнути автоперехід в режим Ñну" + +#: configure_Dialog.cpp:860 configure_Dialog.cpp:867 +msgid "Enable scheme-specific blacklist" +msgstr "Увімкнути Ñпецифічний Ð´Ð»Ñ Ñхеми чорний ÑпиÑок" + +#: configure_Dialog.cpp:861 configure_Dialog.cpp:870 +msgid "after:" +msgstr "піÑлÑ:" + +#: configure_Dialog.cpp:863 configure_Dialog.cpp:868 +msgid "Edit Blacklist..." +msgstr "Змінити чорний ÑпиÑок..." + +#: configure_Dialog.cpp:864 configure_Dialog.cpp:869 +msgid "If the current desktop user is inactive the computer will:" +msgstr "Якщо кориÑтувач Ñтільниці бездіÑльний, то:" + +#: configure_Dialog.cpp:865 +msgid "Autosuspend" +msgstr "Ðвтоматично в режим Ñну" + +#: configure_Dialog.cpp:866 +msgid "Enable autodimm the display" +msgstr "Увімкнути Ð°Ð²Ñ‚Ð¾Ð·Ð°Ñ‚ÐµÐ¼Ð½ÐµÐ½Ð½Ñ Ð´Ð¸ÑплеÑ" + +#: configure_Dialog.cpp:871 configure_Dialog.cpp:893 configure_Dialog.cpp:894 +#: configure_Dialog.cpp:895 configure_Dialog.cpp:896 configure_Dialog.cpp:897 +#: configure_Dialog.cpp:898 +msgid " %" +msgstr " %" + +#: configure_Dialog.cpp:872 +msgid "dimm to:" +msgstr "затемнити до:" + +#: configure_Dialog.cpp:874 +msgid "Autodimm" +msgstr "ÐвтозатемненнÑ" + +#: configure_Dialog.cpp:879 +msgid "Set CPU Frequency Policy:" +msgstr "Вкажіть правило Ð´Ð»Ñ Ñ‡Ð°Ñтоти ЦП:" + +#: configure_Dialog.cpp:880 +msgid "CPU Frequency Policy" +msgstr "Правило Ð´Ð»Ñ Ñ‡Ð°Ñтоти ЦП" + +#: configure_Dialog.cpp:881 +msgid "Disable Notifications" +msgstr "Вимкнути ÑповіщеннÑ" + +#: configure_Dialog.cpp:884 +msgid "New" +msgstr "Ðовий" + +#: configure_Dialog.cpp:885 +msgid "Scheme Settings" +msgstr "Параметри Ñхеми" + +#: configure_Dialog.cpp:886 +msgid "" +"Define the battery warning levels (in percentage) and the releated action if " +"the level get reached:" +msgstr "" +"Вкажіть рівні Ð¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ Ð¿Ñ€Ð¾ розрÑÐ´Ð¶ÐµÐ½Ð½Ñ Ð±Ð°Ñ‚Ð°Ñ€ÐµÑ— (у відÑотках) Ñ– " +"відповідну дію, Ñкщо доÑÑгнуто певного рівнÑ:" + +#: configure_Dialog.cpp:887 +msgid "Warning level:" +msgstr "Рівень попередженнÑ:" + +#: configure_Dialog.cpp:888 +msgid "Low level:" +msgstr "Ðизький рівень:" + +#: configure_Dialog.cpp:889 +msgid "Critical level:" +msgstr "Критичний рівень:" + +#: configure_Dialog.cpp:890 configure_Dialog.cpp:891 configure_Dialog.cpp:892 +msgid "if reached call:" +msgstr "Ñкщо доÑÑгнуто, викликати:" + +#: configure_Dialog.cpp:899 +msgid "Battery" +msgstr "БатареÑ" + +#: configure_Dialog.cpp:900 +msgid "" +"Define the action which should be executed if the related button get pressed:" +msgstr "Вкажіть дію, Ñку треба виконати при натиÑканні відповідної кнопки:" + +#: configure_Dialog.cpp:901 +msgid "Suspend-to-disk Button:" +msgstr "Кнопка Ñну із збереженнÑм на диÑк:" + +#: configure_Dialog.cpp:902 +msgid "Sleep button:" +msgstr "Кнопка Ñну:" + +#: configure_Dialog.cpp:903 +msgid "Lid close Button:" +msgstr "Кнопка Ð·Ð°ÐºÑ€Ð¸Ñ‚Ñ‚Ñ ÐºÑ€Ð¸ÑˆÐºÐ¸:" + +#: configure_Dialog.cpp:904 +msgid "Power Button:" +msgstr "Кнопки живленнÑ:" + +#: configure_Dialog.cpp:905 +msgid "Button Events" +msgstr "Події кнопок" + +#: configure_Dialog.cpp:906 +msgid "" +"Select the following schemes as default if the system is running on AC or on " +"batteries." +msgstr "" +"Виберіть наÑтупні Ñхеми Ñк типові, Ñкщо ÑиÑтема живитьÑÑ Ð²Ñ–Ð´ електромережі " +"або від батареї." + +#: configure_Dialog.cpp:907 +msgid "Battery scheme:" +msgstr "Схема батареї:" + +#: configure_Dialog.cpp:908 +msgid "AC scheme:" +msgstr "Схема ел. мережі:" + +#: configure_Dialog.cpp:909 +msgid "Default Schemes" +msgstr "Типові Ñхеми" + +#: configure_Dialog.cpp:910 +msgid "Lock screen before suspend or standby" +msgstr "Блокувати екран перед режимом Ñну або чергуваннÑ" + +#: configure_Dialog.cpp:911 +msgid "Lock screen with:" +msgstr "Заблокувати екран за допомогою:" + +#: configure_Dialog.cpp:912 +msgid "Lock screen on lid close" +msgstr "Блокувати екран при закритті кришки" + +#: configure_Dialog.cpp:913 +msgid "Lock Screen" +msgstr "Заблокувати екран" + +#: configure_Dialog.cpp:914 +msgid "Notifications" +msgstr "СповіщеннÑ" + +#: configure_Dialog.cpp:916 +msgid "Autostart" +msgstr "ÐвтозапуÑк" + +#: configure_Dialog.cpp:917 +msgid "Never ask me again on exit" +msgstr "Ðіколи знов не запитувати при виході" + +#: configure_Dialog.cpp:918 +msgid "KPowersave starts automatically on login" +msgstr "KPowersave запуÑкаєтьÑÑ Ð°Ð²Ñ‚Ð¾Ð¼Ð°Ñ‚Ð¸Ñ‡Ð½Ð¾ при вході в ÑиÑтему" + +#: configure_Dialog.cpp:919 +msgid "General Blacklists" +msgstr "Загальні чорні ÑпиÑки" + +#: configure_Dialog.cpp:920 +msgid "Edit Autosuspend Blacklist..." +msgstr "Змінити чорний ÑпиÑок режиму автоÑну..." + +#: configure_Dialog.cpp:921 +msgid "Edit Autodimm Blacklist..." +msgstr "Змінити чорний ÑпиÑок автозатемненнÑ..." + +#: configure_Dialog.cpp:923 +msgid "General Settings" +msgstr "Загальні параметри" diff --git a/po/zh_CN.po b/po/zh_CN.po new file mode 100644 index 0000000..53fc1f6 --- /dev/null +++ b/po/zh_CN.po @@ -0,0 +1,1576 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# FIRST AUTHOR , YEAR. +msgid "" +msgstr "" +"Project-Id-Version: kpowersave\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2007-08-10 03:16+0200\n" +"PO-Revision-Date: 2007-08-26 00:46+0800\n" +"Last-Translator: Thruth Wang \n" +"Language-Team: Novell Language \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: detailed_Dialog.cpp:228 +msgid "kpowersave" +msgstr "kpowersave" + +#: detailed_Dialog.cpp:229 +msgid "General Information" +msgstr "常规信æ¯" + +#: detailed_Dialog.cpp:232 +msgid "Battery Status" +msgstr "电池状æ€" + +#: detailed_Dialog.cpp:233 +msgid "AC Adapter" +msgstr "AC 适é…器" + +#: detailed_Dialog.cpp:234 detaileddialog.cpp:391 +msgid "plugged in" +msgstr "å·²æ’å…¥" + +#: detailed_Dialog.cpp:235 +msgid "Power Consumtion: " +msgstr "电æºæ¶ˆè€—:" + +#: detailed_Dialog.cpp:237 +msgid "Processor Status" +msgstr "处ç†å™¨çŠ¶æ€" + +#: detailed_Dialog.cpp:238 blacklistedit_Dialog.cpp:130 info_Dialog.cpp:198 +#: configure_Dialog.cpp:838 +msgid "OK" +msgstr "确定" + +#: blacklisteditdialog.cpp:60 +msgid "General Blacklist" +msgstr "常规黑åå•" + +#: blacklisteditdialog.cpp:63 +msgid "Scheme: " +msgstr "方案:" + +#: blacklisteditdialog.cpp:114 +msgid "Selected entry removed." +msgstr "已去除选定项。" + +#: blacklisteditdialog.cpp:117 +msgid "Could not remove the selected entry." +msgstr "无法去除选定项。" + +#: blacklisteditdialog.cpp:137 +msgid "Inserted new entry." +msgstr "å·²æ’入新的项。" + +#: blacklisteditdialog.cpp:141 +msgid "Entry exists already. Did not insert new entry." +msgstr "项已存在。没有æ’入新的项。" + +#: blacklisteditdialog.cpp:144 +msgid "Empty entry was not inserted." +msgstr "没有æ’入空项。" + +#: inactivity.cpp:298 +msgid "" +"Could not start 'pidof'. Could not autosuspend the machine.\n" +"Please check your installation." +msgstr "" +"无法å¯åŠ¨\"pidof\"。无法自动挂起机器。\n" +"请检查您的安装。" + +#: blacklistedit_Dialog.cpp:129 +msgid "Autosuspend Blacklist Edit" +msgstr "编辑自动挂起黑åå•" + +# cancel button label +#: blacklistedit_Dialog.cpp:132 configuredialog.cpp:1079 +#: configure_Dialog.cpp:836 +msgid "Cancel" +msgstr "å–消" + +#: blacklistedit_Dialog.cpp:135 +msgid "Add" +msgstr "添加" + +#: blacklistedit_Dialog.cpp:136 +msgid "Remove" +msgstr "去除" + +#: infodialog.cpp:76 infodialog.cpp:78 main.cpp:55 +msgid "KPowersave" +msgstr "KPowersave" + +#: configuredialog.cpp:116 configuredialog.cpp:121 configuredialog.cpp:721 +msgid " - not supported" +msgstr "- ä¸æ”¯æŒ" + +#: configuredialog.cpp:150 configuredialog.cpp:317 detaileddialog.cpp:432 +#: kpowersave.cpp:192 settings.cpp:66 configure_Dialog.cpp:876 +msgid "Performance" +msgstr "性能" + +#: configuredialog.cpp:154 configuredialog.cpp:319 detaileddialog.cpp:438 +#: kpowersave.cpp:194 settings.cpp:68 configure_Dialog.cpp:878 +msgid "Powersave" +msgstr "节能" + +#: configuredialog.cpp:159 configuredialog.cpp:321 kpowersave.cpp:1478 +#: settings.cpp:70 +msgid "Presentation" +msgstr "演示" + +#: configuredialog.cpp:164 configuredialog.cpp:323 kpowersave.cpp:1473 +#: settings.cpp:72 +msgid "Acoustic" +msgstr "声音" + +#: configuredialog.cpp:169 configuredialog.cpp:171 configuredialog.cpp:172 +#: configuredialog.cpp:173 kpowersave.cpp:1484 +msgid "Advanced Powersave" +msgstr "高级çœç”µ" + +#: configuredialog.cpp:271 +msgid "" +"This enables specific screen saver settings. \n" +"Note: If selected, the global screen saver settings are \n" +"overwritten while kpowersave runs." +msgstr "" +"这将å¯ç”¨ç‰¹å®šçš„å±å¹•ä¿æŠ¤ç¨‹åºè®¾ç½®ã€‚\n" +"注æ„:如果选中了此选项,å±å¹•ä¿æŠ¤ç¨‹åºçš„全局设置\n" +"将在 kpowersave è¿è¡Œæ—¶è¢«è¦†ç›–。" + +#: configuredialog.cpp:274 +msgid "" +"This disables the screen saver. \n" +"Note: If selected, the global screen saver settings are \n" +"overwritten while kpowersave runs." +msgstr "" +"这将ç¦ç”¨å±å¹•ä¿æŠ¤ç¨‹åºã€‚\n" +"注æ„:如果选中了此选项,å±å¹•ä¿æŠ¤ç¨‹åºçš„全局设置\n" +"将在 kpowersave è¿è¡Œæ—¶è¢«è¦†ç›–。" + +#: configuredialog.cpp:277 +msgid "" +"This blanks the screen instead of using a specific screen saver. \n" +"Note: This may work only with KScreensaver." +msgstr "" +"这使å±å¹•ç©ºç™½ï¼Œè€Œéžä½¿ç”¨ç‰¹å®šçš„å±å¹•ä¿æŠ¤ç¨‹åºã€‚\n" +"注æ„:仅在与 Kscreensaver 一起使用时æ‰æœ‰æ•ˆã€‚" + +#: configuredialog.cpp:279 +msgid "" +"This enables specific DPMS settings. \n" +"Note: If selected, the global DPMS settings are \n" +"overwritten while kpowersave runs." +msgstr "" +"这将å¯ç”¨ç‰¹å®šçš„ DPMS 设置。\n" +"注æ„:如果选中了此选项,DPMS 全局设置\n" +"将在 kpowersave è¿è¡Œæ—¶è¢«è¦†ç›–。" + +#: configuredialog.cpp:282 +msgid "This disables DPMS support." +msgstr "这将ç¦ç”¨ DPMS 支æŒã€‚" + +#: configuredialog.cpp:283 +msgid "If selected, the screen is locked on suspend or standby." +msgstr "如果选中了此选项,则在挂起或待机时将å±å¹•é”定。" + +#: configuredialog.cpp:284 +msgid "If selected, the screen is locked if the lid close event is triggered." +msgstr "å¦‚æžœé€‰ä¸­äº†æ­¤é€‰é¡¹ï¼Œåˆ™åœ¨è§¦å‘ lid close 事件时将é”定å±å¹•ã€‚" + +#: configuredialog.cpp:286 +msgid "" +"Check this box to enable or disable automatic suspension of the computer." +msgstr "选中此框å¯å¯ç”¨æˆ–ç¦ç”¨è®¡ç®—机的自动挂起。" + +#: configuredialog.cpp:288 +msgid "" +"Activate this action if the user was inactive for the defined time \n" +"(greater than 0 minutes). If empty, nothing happens." +msgstr "" +"如果用户在已定义的时间(大于 0 分钟)\n" +"ä¸æ´»åŠ¨ï¼Œåˆ™æ¿€æ´»è¯¥æ“作。如果为空,则ä¸æ‰§è¡Œä»»ä½•æ“作。" + +#: configuredialog.cpp:291 +msgid "All scheme-related screen saver and DPMS settings." +msgstr "所有和方案有关的å±å¹•ä¿æŠ¤ç¨‹åºå’Œ DPMS 设置。" + +#: configuredialog.cpp:292 +msgid "All scheme-related display brightness settings." +msgstr "所有与方案有关的显示亮度设置。" + +#: configuredialog.cpp:293 +msgid "All scheme-related automatic suspend settings." +msgstr "所有和方案有关的自动挂起设置。" + +#: configuredialog.cpp:295 +msgid "" +"Here you can change the brightness of your display. \n" +"Use the slider to change the brightness directly for \n" +"testing. To reset back to previous level, please press \n" +"the 'Reset' button. " +msgstr "" +"在此您å¯ä»¥æ›´æ”¹æ˜¾ç¤ºå™¨äº®åº¦ã€‚\n" +"使用此滑å—直接更改亮度\n" +"æ¥è¿›è¡Œè¯•éªŒã€‚è¦é‡ç½®ä¼šå‰ä¸€çº§åˆ«ï¼Œè¯·æŒ‰\n" +"\"é‡ç½®\"按钮。 " + +#: configuredialog.cpp:299 +msgid "Use this button to set back the slider and the display brightness." +msgstr "使用此按钮å¯è°ƒèŠ‚滑å—和显示器亮度。" + +#: configuredialog.cpp:352 +#, fuzzy +msgid "Press this button to delete the selected scheme." +msgstr "使用该按钮å¯è¿žæŽ¥åˆ°ä»¥ä¸Šé€‰å®šçš„访问点。" + +#: configuredialog.cpp:357 +msgid "You can't delete the current AC or battery scheme." +msgstr "您ä¸èƒ½åˆ é™¤å½“å‰äº¤æµç”µæˆ–者电池方案。" + +#: configuredialog.cpp:363 +msgid "You can't delete this default scheme." +msgstr "您ä¸èƒ½åˆ é™¤é»˜è®¤æ–¹æ¡ˆã€‚" + +#: configuredialog.cpp:546 +msgid "" +"Your hardware supports to change the brightness. The values of the slider " +"are in percent and mapped to the available brightness levels of your " +"hardware." +msgstr "" +"您的硬件支æŒæ›´æ”¹äº®åº¦ã€‚滑å—的值以百分比的形å¼è¡¨ç¤ºï¼Œå¹¶ä¸Žç¡¬ä»¶çš„å¯ç”¨äº®åº¦ç­‰çº§ç›¸æ˜ " +"射。" + +#: configuredialog.cpp:553 +msgid "" +"Your Hardware currently not support changing the brightness of your display." +msgstr "您的硬件当å‰ä¸æ”¯æŒæ›´æ”¹æ‚¨æ˜¾ç¤ºå™¨çš„亮度。" + +#: configuredialog.cpp:664 +msgid "Select Automatically" +msgstr "自动选择" + +#: configuredialog.cpp:665 +msgid "KScreensaver" +msgstr "KScreensaver" + +#: configuredialog.cpp:666 +msgid "XScreensaver" +msgstr "XScreensaver" + +#: configuredialog.cpp:667 +msgid "xlock" +msgstr "xlock" + +#: configuredialog.cpp:668 +msgid "GNOME Screensaver" +msgstr "GNOME å±å¹•ä¿æŠ¤ç¨‹åº" + +#: configuredialog.cpp:930 +msgid "" +"There are unsaved changes in the active scheme.\n" +"Apply the changes before jumping to the next scheme or discard the changes?" +msgstr "" +"活动方案中存在未ä¿å­˜çš„更改。\n" +"是è¦åœ¨è·³åˆ°ä¸‹ä¸€ä¸ªæ–¹æ¡ˆå‰åº”用这些更改,还是è¦ä¸¢å¼ƒè¿™äº›æ›´æ”¹ï¼Ÿ" + +#: configuredialog.cpp:933 configuredialog.cpp:983 +msgid "Unsaved Changes" +msgstr "未ä¿å­˜çš„更改" + +#: configuredialog.cpp:981 +msgid "" +"There are unsaved changes.\n" +"Apply the changes before cancel or discard the changes?" +msgstr "" +"存在未ä¿å­˜çš„更改。\n" +"是è¦åœ¨å–消å‰åº”用这些更改,还是è¦ä¸¢å¼ƒè¿™äº›æ›´æ”¹ï¼Ÿ" + +#: configuredialog.cpp:1032 +msgid "Please insert a name for the new scheme:" +msgstr "请æ’入新方案的å称:" + +#: configuredialog.cpp:1038 +msgid "KPowersave Configuration" +msgstr "KPowersave é…ç½®" + +#: configuredialog.cpp:1046 +#, fuzzy +msgid "Error: A scheme with this name already exist.\n" +msgstr "导出选项å称 %1 已存在。" + +#: configuredialog.cpp:1076 +#, fuzzy +msgid "Do you really want to delete the %1 scheme?" +msgstr "确实è¦ç»“æŸä¼šè¯ï¼Ÿ" + +#: configuredialog.cpp:1078 +msgid "Confirm delete scheme" +msgstr "确认删除方案" + +#: configuredialog.cpp:1079 configure_Dialog.cpp:883 +msgid "Delete" +msgstr "删除" + +#: configuredialog.cpp:1095 +msgid "Could not delete the selected scheme." +msgstr "无法删除选定方案" + +#: configuredialog.cpp:1324 +msgid "" +"Note: If you select this option, the computer will suspend or standby " +"if the current user is inactive for the defined time even if somebody is " +"logged in remotely to the X server.

    This feature can also produce " +"problems with some programs, such as video players or cd burner. These " +"programs can be blacklisted by checking Enable scheme-specific blacklist and click Edit Blacklist.... If this does not help, report the " +"problem or deactivate autosuspend.

    Really use this option?" +msgstr "" +"注æ„: 如果选中了此选项,则在当å‰ç”¨æˆ·åœ¨å·²å®šä¹‰æ—¶é—´ä¸æ´»åŠ¨æ—¶ï¼ˆå³ä½¿æŸäººè¿œ" +"程登录到 X æœåŠ¡å™¨ï¼‰ï¼Œè®¡ç®—机将挂起或待机。

    该功能也会给æŸäº›ç¨‹åºï¼ˆä¾‹å¦‚:" +"视频播放器或 cd 刻录程åºï¼‰é€ æˆä¸€äº›é—®é¢˜ã€‚å¯ä»¥é€šè¿‡é€‰ä¸­å¯ç”¨ç‰¹å®šäºŽæ–¹æ¡ˆçš„黑åå•" +",然åŽå•å‡»ç¼–辑黑åå•...,将这些程åºåˆ—入黑åå•ã€‚ 如果ä¸èµ·ä½œç”¨ï¼Œè¯·" +"报告此问题或å–消激活自动挂起。

    确实è¦ä½¿ç”¨è¯¥é€‰é¡¹å—?" + +#: configuredialog.cpp:1402 configuredialog.cpp:1532 +msgid "" +"The blacklist of the selected scheme is empty. Import the general blacklist?" +msgstr "选定方案的黑åå•ä¸ºç©ºã€‚是å¦å¯¼å…¥å¸¸è§„黑åå•ï¼Ÿ" + +#: configuredialog.cpp:1404 configuredialog.cpp:1534 +msgid "Import" +msgstr "导入" + +#: configuredialog.cpp:1404 configuredialog.cpp:1534 +msgid "Do Not Import" +msgstr "ä¸å¯¼å…¥" + +#: configuredialog.cpp:1416 +msgid "General Autosuspend Blacklist" +msgstr "一般自动挂起黑åå•" + +#: configuredialog.cpp:1546 +msgid "General Autodimm Blacklist" +msgstr "常规自动é™ä½Žäº®åº¦é»‘åå•" + +#: configuredialog.cpp:1779 configuredialog.cpp:1816 +msgid "Shutdown" +msgstr "关机" + +#: configuredialog.cpp:1781 configuredialog.cpp:1819 +msgid "Logout Dialog" +msgstr "注销对è¯æ¡†" + +#: configuredialog.cpp:1784 configuredialog.cpp:1822 kpowersave.cpp:182 +#: kpowersave.cpp:2096 kpowersave.cpp:2156 kpowersave.cpp:2247 +msgid "Suspend to Disk" +msgstr "挂起到ç£ç›˜" + +#: configuredialog.cpp:1787 configuredialog.cpp:1825 kpowersave.cpp:186 +#: kpowersave.cpp:2101 kpowersave.cpp:2161 kpowersave.cpp:2250 +msgid "Suspend to RAM" +msgstr "挂起到 RAM" + +#: configuredialog.cpp:1790 configuredialog.cpp:1828 +msgid "CPU Powersave policy" +msgstr "CPU 节能策略" + +#: configuredialog.cpp:1793 configuredialog.cpp:1831 +msgid "CPU Dynamic policy" +msgstr "CPU 动æ€è°ƒæ•´ç­–ç•¥" + +#: configuredialog.cpp:1796 configuredialog.cpp:1834 +msgid "CPU Performance policy" +msgstr "CPU 性能策略" + +#: configuredialog.cpp:1799 configuredialog.cpp:1837 +msgid "Set Brightness to" +msgstr "设置亮度为" + +#: main.cpp:43 +msgid "KDE Frontend for Power Management, Battery Monitoring and Suspend" +msgstr "电æºç®¡ç†ã€ç”µæ± ç›‘测和系统挂起的 KDE å‰ç«¯" + +#: main.cpp:45 +#, fuzzy +msgid "Force a new check for ACPI support" +msgstr "强制新的ACPI支æŒæ£€æµ‹\n" + +#: main.cpp:46 +msgid "Trace function entry and leave points for debug\n" +msgstr "" + +#: main.cpp:59 +msgid "Current maintainer" +msgstr "当å‰ç»´æŠ¤è€…" + +#: main.cpp:62 +#, fuzzy +msgid "Powersave developer and for D-Bus integration" +msgstr "Powersaveå¼€å‘者和DBUSæ•´åˆ" + +#: main.cpp:64 +msgid "Powersave developer and tester" +msgstr "Powersaveå¼€å‘与测试者" + +#: main.cpp:66 +msgid "Added basic detailed dialog" +msgstr "增加基本细节对è¯æ¡†" + +#: main.cpp:67 +msgid "Packaging Debian and Ubuntu" +msgstr "为Debianå’ŒUbuntu打包" + +#: detaileddialog.cpp:61 +msgid "KPowersave Information Dialog" +msgstr "KPowersave ä¿¡æ¯å¯¹è¯æ¡†" + +#: detaileddialog.cpp:65 configure_Dialog.cpp:882 configure_Dialog.cpp:922 +msgid "Miscellaneous" +msgstr "æ‚项" + +#: detaileddialog.cpp:66 +msgid "CPUs" +msgstr "CPU" + +#: detaileddialog.cpp:73 detaileddialog.cpp:453 +msgid "Battery state:" +msgstr "电池状æ€ï¼š" + +#: detaileddialog.cpp:79 +msgid "Total:" +msgstr "总计:" + +#: detaileddialog.cpp:81 detaileddialog.cpp:83 +msgid "Battery %1" +msgstr "电池 %1" + +#: detaileddialog.cpp:114 +msgid "Processor %1" +msgstr "处ç†å™¨ %1" + +#: detaileddialog.cpp:230 +msgid "not present" +msgstr "ä¸å¯ç”¨" + +#: detaileddialog.cpp:243 +msgid "charged" +msgstr "已充电" + +#: detaileddialog.cpp:245 +msgid "%1:%2 h until charged" +msgstr "%1:%2 å°æ—¶åŽå……电完æˆ" + +#: detaileddialog.cpp:248 +msgid "%1:%2 h remaining" +msgstr "%1: 剩余 %2 å°æ—¶" + +#: detaileddialog.cpp:253 detaileddialog.cpp:441 detaileddialog.cpp:468 +msgid "unknown" +msgstr "未知" + +#: detaileddialog.cpp:325 detaileddialog.cpp:368 +msgid "%v MHz" +msgstr "%v MHz" + +#: detaileddialog.cpp:330 detaileddialog.cpp:363 dummy.cpp:58 +msgid "deactivated" +msgstr "å·²å–消激活" + +#: detaileddialog.cpp:395 +msgid "unplugged" +msgstr "已拔出" + +#: detaileddialog.cpp:412 +msgid "Current Scheme: " +msgstr "当å‰æ–¹æ¡ˆï¼š" + +#: detaileddialog.cpp:429 +msgid "Current CPU Frequency Policy:" +msgstr "å½“å‰ CPU 频率策略:" + +#: detaileddialog.cpp:435 kpowersave.cpp:193 configure_Dialog.cpp:877 +msgid "Dynamic" +msgstr "动æ€" + +#: detaileddialog.cpp:456 +msgid "Critical" +msgstr "电é‡ä¸¥é‡ä¸è¶³" + +#: detaileddialog.cpp:459 +msgid "Low" +msgstr "电é‡ä½Ž" + +#: detaileddialog.cpp:462 kpowersave.cpp:277 kpowersave.cpp:652 +#: kpowersave.cpp:659 kpowersave.cpp:705 kpowersave.cpp:713 kpowersave.cpp:761 +#: kpowersave.cpp:769 kpowersave.cpp:817 kpowersave.cpp:824 +#: kpowersave.cpp:1131 kpowersave.cpp:1243 kpowersave.cpp:1272 +#: kpowersave.cpp:1610 kpowersave.cpp:1670 kpowersave.cpp:2186 +msgid "Warning" +msgstr "警告" + +#: detaileddialog.cpp:465 +msgid "ok" +msgstr "确定" + +#: detaileddialog.cpp:474 detaileddialog.cpp:477 +msgid "Set brightness supported:" +msgstr "设置支æŒçš„亮度:" + +#: detaileddialog.cpp:475 +msgid "yes" +msgstr "是" + +#: detaileddialog.cpp:478 +msgid "no" +msgstr "å¦" + +#: detaileddialog.cpp:481 detaileddialog.cpp:485 +msgid "HAL Daemon:" +msgstr "HAL 守护程åºï¼š" + +#: detaileddialog.cpp:482 +msgid "running" +msgstr "正在è¿è¡Œ" + +#: detaileddialog.cpp:486 +msgid "not running" +msgstr "ä¸åœ¨è¿è¡Œ" + +#: info_Dialog.cpp:197 +msgid "Information" +msgstr "ä¿¡æ¯" + +#: dummy.cpp:36 +msgid "If the current desktop user is inactive, dim the display to:" +msgstr "如果当å‰æ¡Œé¢ç”¨æˆ·å¤„于ä¸æ´»åŠ¨çŠ¶æ€ï¼Œå°†æ˜¾ç¤ºå™¨é™æš—为:" + +#: dummy.cpp:37 +msgid "Enable dim display on inactivity" +msgstr "在ä¸æ´»åŠ¨æ—¶å¯ç”¨é™ä½Žæ˜¾ç¤ºå™¨äº®åº¦" + +#: dummy.cpp:38 +msgid "Blacklist" +msgstr "黑åå•" + +#: dummy.cpp:39 +msgid "" +"Here you can add programs which should, if running, prevent the dimming of " +"the display." +msgstr "在此å¯æ·»åŠ è¿è¡Œæ—¶åº”阻止显示器é™ä½Žäº®åº¦çš„程åºã€‚" + +#: dummy.cpp:41 +msgid "Would you like to import a predefined blacklist?" +msgstr "è¦å¯¼å…¥é¢„定义的黑åå•å—?" + +#: dummy.cpp:42 +msgid "Disable CPUs/Cores" +msgstr "ç¦ç”¨ CPU/核心" + +#: dummy.cpp:43 +msgid "Max. running CPUs:" +msgstr "最多å¯è¿è¡Œçš„ CPU 数:" + +#: dummy.cpp:44 +msgid "Max. running CPUs/Cores:" +msgstr "最多å¯è¿è¡Œçš„ CPU/核心数:" + +#: dummy.cpp:45 +msgid "Min. running CPUs:" +msgstr "最少å¯è¿è¡Œçš„ CPU 数:" + +#: dummy.cpp:46 +msgid "Min. running CPUs/Cores:" +msgstr "最少å¯è¿è¡Œçš„ CPU/核心数:" + +#: dummy.cpp:47 +#, fuzzy +msgid "Enable to switch off CPUs/cores" +msgstr "å…许关闭 CPU/核心" + +#: dummy.cpp:48 +msgid "You have a multiprocessor/multicore machine." +msgstr "您具有一个多处ç†å™¨/多核心机器。" + +#: dummy.cpp:49 +msgid "" +"You can disable CPUs/cores to reduce power consumption and save battery " +"power." +msgstr "您å¯ä»¥ç¦ç”¨ CPU/核心æ¥å‡å°‘电æºæ¶ˆè€—并节约电池电é‡ã€‚" + +#: dummy.cpp:50 +msgid "Device" +msgstr "设备" + +#: dummy.cpp:51 +msgid "Devices" +msgstr "设备" + +#: dummy.cpp:52 +msgid "Device class" +msgstr "设备类" + +#: dummy.cpp:53 +msgid "activate" +msgstr "激活" + +#: dummy.cpp:54 +msgid "Activate" +msgstr "激活" + +#: dummy.cpp:55 +msgid "deactivate" +msgstr "å–消激活" + +#: dummy.cpp:56 +msgid "Deactivate" +msgstr "å–消激活" + +#: dummy.cpp:57 +msgid "activated" +msgstr "已激活" + +#: dummy.cpp:59 +msgid "do nothing" +msgstr "ä¸é‡‡å–任何æ“作" + +#: dummy.cpp:60 +msgid "Deactivate following devices:" +msgstr "å–消激活以下设备:" + +#: dummy.cpp:61 +msgid "Activate following devices" +msgstr "å–消激活以下设备" + +#: dummy.cpp:62 +msgid "Reactivate following devices" +msgstr "å–消激活以下设备" + +#: dummy.cpp:63 +msgid "Deactivate following device classes:" +msgstr "å–消激活以下设备类:" + +#: dummy.cpp:64 +msgid "Activate following devices classes" +msgstr "激活以下设备类" + +#: dummy.cpp:65 +msgid "Reactivate following device classes" +msgstr "å–消激活以下设备类" + +#: dummy.cpp:66 +msgid "If the scheme switched all devices are again activated." +msgstr "如果切æ¢äº†æ–¹æ¡ˆï¼Œåˆ™æ‰€æœ‰çš„设备将å†æ¬¡æ¿€æ´»ã€‚f" + +#: dummy.cpp:67 +msgid "This is a experimental feature." +msgstr "这是试验性的功能。" + +#: dummy.cpp:68 +msgid "If you have problems with this feature, please report them." +msgstr "如果您在使用此功能时å‘生问题,请报告。" + +#: dummy.cpp:69 +msgid "Select one of the available devices and click on " +msgstr "请选择一个å¯ç”¨è®¾å¤‡å¹¶å•å‡»" + +#: dummy.cpp:70 +msgid "Select one of the available device classes and click on " +msgstr "请选择一个å¯ç”¨è®¾å¤‡ç±»å¹¶å•å‡»ã€‚" + +#: dummy.cpp:71 +msgid "Select one or more of the available devices and click on " +msgstr "请选择一个或多个å¯ç”¨è®¾å¤‡å¹¶å•å‡»" + +#: dummy.cpp:72 +msgid "Select one or more of the available device classes and click on " +msgstr "请选择一个或多个å¯ç”¨è®¾å¤‡ç±»å¹¶å•å‡»" + +#: dummy.cpp:73 +msgid "" +"Please note: If you e.g. deactivate a network device you may lose your " +"internet connection." +msgstr "请注æ„:如果您å–消激活了网络设备,则将丢失因特网连接。" + +#: dummy.cpp:75 +msgid "" +"Note: If you select this option, the computer will suspend or standby " +"if the current user is inactive for the defined time.

    This feature " +"can also produce problems with some programs, such as video players or cd " +"burner. These programs can be blacklisted by checking Enable scheme-" +"specific blacklist and click Edit Blacklist.... If this does not " +"help, report the problem or deactivate autosuspend.

    Really use this " +"option?" +msgstr "" +"注æ„:如果选中了此选项,则在当å‰ç”¨æˆ·åœ¨å·²å®šä¹‰æ—¶é—´ä¸æ´»åŠ¨æ—¶ï¼Œè®¡ç®—机将挂起" +"或待机。

    该功能也会给æŸäº›ç¨‹åºï¼ˆä¾‹å¦‚:视频播放器或 cd 刻录程åºï¼‰é€ æˆä¸€" +"些问题。å¯ä»¥é€šè¿‡é€‰ä¸­å¯ç”¨ç‰¹å®šäºŽæ–¹æ¡ˆçš„黑åå•ï¼Œç„¶åŽå•å‡»ç¼–辑黑åå•...,将这些程åºåˆ—入黑åå•ã€‚如果ä¸èµ·ä½œç”¨ï¼Œè¯·æŠ¥å‘Šæ­¤é—®é¢˜æˆ–å–消激活自动挂起。" +"

    确实è¦ä½¿ç”¨è¯¥é€‰é¡¹å—?" + +#: dummy.cpp:82 +msgid "Try to use only one CPU/Core." +msgstr "å°è¯•ä»…仅使用一个 CPU/核心。" + +#: dummy.cpp:83 +msgid "" +"Reduce power consumption by try to use only one CPU/Core instead of " +"spreading the work over all/multiple CPUs." +msgstr "" + +#: dummy.cpp:87 +msgid "Could not load the global configuration." +msgstr "无法装载全局é…置。" + +#: dummy.cpp:88 +msgid "Could not load the requested scheme configuration." +msgstr "无法装载请求的方案é…置。" + +#: dummy.cpp:89 +msgid "Configure the current scheme." +msgstr "é…置当å‰æ–¹æ¡ˆã€‚" + +#: dummy.cpp:90 +msgid "Try loading the default configuration." +msgstr "å°è¯•è£…载默认é…置。" + +#: dummy.cpp:91 +msgid "Maybe the global configuration file is empty or missing." +msgstr "å¯èƒ½å…¨å±€é…置文件为空或缺少此文件。" + +#: dummy.cpp:94 +#, fuzzy +msgid "Cannot connect to D-Bus. The D-Bus daemon may not be running." +msgstr "无法连接到 D-BUS。D-BUS 守护程åºå¯èƒ½æœªè¿è¡Œã€‚" + +#: dummy.cpp:95 +msgid "" +"Scheme switched to %1. \n" +" Deactivate following devices: %2" +msgstr "" +"方案已切æ¢ä¸º %1。 \n" +"å–消激活以下设备:%2" + +#: dummy.cpp:96 +msgid "" +"Scheme switched to %1. \n" +" Activate following devices: %2" +msgstr "" +"方案已切æ¢ä¸º %1。 \n" +"å–消激活以下设备:%2" + +#: dummy.cpp:97 +msgid "Report ..." +msgstr "报告..." + +#: dummy.cpp:98 +msgid "Suspend to RAM is not supported on your machine." +msgstr "您的机器ä¸æ”¯æŒæŒ‚起到 RAM。" + +#: dummy.cpp:99 +msgid "Additionally, please mail the output of %1 to %2 . Thanks!" +msgstr "此外,请将 %1 的输出å‘é€åˆ° %2。谢谢ï¼" + +#: dummy.cpp:100 +msgid "Power consumption" +msgstr "电æºæ¶ˆè€—" + +#: dummy.cpp:103 +msgid "KScreensaver not found." +msgstr "未找到 Kscreensaver。" + +#: dummy.cpp:104 +msgid "Try locking with XScreensaver or xlock." +msgstr "å°è¯•ä½¿ç”¨ XScreensaver 或 xlock é”定。" + +#: dummy.cpp:105 +msgid "XScreensaver not found." +msgstr "找ä¸åˆ° Xscreensaver。" + +#: dummy.cpp:106 +msgid "Try locking the screen with xlock." +msgstr "å°è¯•ä½¿ç”¨ xlock é”定å±å¹•ã€‚" + +#: dummy.cpp:107 +msgid "" +"XScreensaver and xlock not found. It is not possible to lock the screen. " +"Check your installation." +msgstr "找ä¸åˆ° XScreensaver å’Œ xlock。无法é”定å±å¹•ã€‚请检查安装。" + +#: dummy.cpp:111 +msgid "HAL daemon:" +msgstr "HAL 守护程åºï¼š" + +#: dummy.cpp:112 +msgid "D-Bus daemon:" +msgstr "D-Bus 守护程åºï¼š" + +#: dummy.cpp:113 +msgid "ConsoleKit daemon:" +msgstr "ConsoleKit 守护程åºï¼š" + +#: dummy.cpp:114 +msgid "Autosuspend activated:" +msgstr "自动挂起已激活:" + +#: dummy.cpp:115 +msgid "Autodimm activated:" +msgstr "自动é™ä½Žäº®åº¦å·²æ¿€æ´»ï¼š" + +#: dummy.cpp:116 +msgid "enabled" +msgstr "å·²å¯ç”¨" + +#: dummy.cpp:117 +msgid "Session active:" +msgstr "活动会è¯ï¼š" + +#: dummy.cpp:120 +msgid "Inactivity detected." +msgstr "检测到ä¸åœ¨æ´»åŠ¨ã€‚" + +#: dummy.cpp:121 +msgid "To stop the %1 press the 'Cancel' button before the countdown expire." +msgstr "" + +#: dummy.cpp:122 +msgid "The computer autosuspend in: " +msgstr "计算机自动挂起于:" + +#: dummy.cpp:123 +#, c-format +msgid "The display get dimmed down to %1% in: " +msgstr "å±å¹•é™ä½Žäº®åº¦åˆ° %1% 于:" + +#: dummy.cpp:124 +msgid "%1 seconds" +msgstr "%1 秒" + +#: dummy.cpp:127 +msgid "Could not call %1. The current desktop session is not active." +msgstr "" + +#: dummy.cpp:128 +msgid "Could not set %1. The current desktop session is not active." +msgstr "" + +#: dummy.cpp:129 +msgid "Stopped %1. The current desktop session is now inactive." +msgstr "" + +#: dummy.cpp:130 +msgid "Restarted %1. The current desktop session is now active again." +msgstr "" + +#: log_viewer.cpp:78 +msgid "Form1" +msgstr "Form1" + +#: log_viewer.cpp:79 +msgid "Save As ..." +msgstr "å¦å­˜ä¸º..." + +#: log_viewer.cpp:80 +msgid "Close" +msgstr "关闭" + +#: logviewer.cpp:44 +msgid "KPowersave Logfile Viewer: %1" +msgstr "Powersave 日志文件查看程åºï¼š %1" + +#: logviewer.cpp:89 +#, fuzzy +msgid "File already exist. Overwrite the file?" +msgstr "文件已存在。是å¦è¦†ç›–?" + +#: logviewer.cpp:90 logviewer.cpp:97 +msgid "Error while save logfile" +msgstr "ä¿å­˜æ—¥å¿—文件时出错" + +#: logviewer.cpp:95 +msgid "File already exist." +msgstr "文件已存在。" + +#: logviewer.cpp:98 +msgid "Try other filename ..." +msgstr "å°è¯•å…¶ä»–文件å..." + +#: suspenddialog.cpp:70 +msgid "Preparing Suspend..." +msgstr "正在准备挂起..." + +#: kpowersave.cpp:168 +msgid "Configure KPowersave..." +msgstr "é…ç½® KPowersave..." + +#: kpowersave.cpp:171 configure_Dialog.cpp:915 +msgid "Configure Notifications..." +msgstr "é…置通知..." + +#: kpowersave.cpp:175 +msgid "Start YaST2 Power Management Module..." +msgstr "å¯åŠ¨ YaST2 电æºç®¡ç†æ¨¡å—..." + +#: kpowersave.cpp:189 kpowersave.cpp:2106 kpowersave.cpp:2166 +#: kpowersave.cpp:2253 +msgid "Standby" +msgstr "待机" + +#: kpowersave.cpp:191 kpowersave.cpp:198 +msgid "Set CPU Frequency Policy" +msgstr "设置 CPU 频率策略" + +#: kpowersave.cpp:205 kpowersave.cpp:206 +msgid "Set Active Scheme" +msgstr "设置活动方案" + +#: kpowersave.cpp:212 +msgid "Disable Actions on Inactivity" +msgstr "在ä¸æ´»åŠ¨æ—¶ç¦ç”¨æ“作" + +#: kpowersave.cpp:219 kpowersave.cpp:229 +msgid "&Help" +msgstr "帮助(&H)" + +#: kpowersave.cpp:221 +msgid "&KPowersave Handbook" +msgstr "KPowersave 手册(&K)" + +#: kpowersave.cpp:224 +msgid "&Report a bug ..." +msgstr "报告bug ...(&R)" + +#: kpowersave.cpp:226 +msgid "&About KPowersave" +msgstr "关于KPowersave(&A)" + +#: kpowersave.cpp:275 kpowersave.cpp:648 kpowersave.cpp:656 kpowersave.cpp:703 +#: kpowersave.cpp:710 kpowersave.cpp:759 kpowersave.cpp:766 kpowersave.cpp:815 +#: kpowersave.cpp:822 kpowersave.cpp:1126 kpowersave.cpp:1241 +#: kpowersave.cpp:1270 kpowersave.cpp:2183 +msgid "WARNING" +msgstr "警告" + +#: kpowersave.cpp:275 +msgid "Cannot find any schemes." +msgstr "找ä¸åˆ°ä»»ä½•æ–¹æ¡ˆ." + +#: kpowersave.cpp:453 +msgid "No information about battery and AC status available" +msgstr "没有å¯ç”¨çš„电池和交æµç”µæºçŠ¶æ€ä¿¡æ¯" + +#: kpowersave.cpp:456 +msgid "Plugged in -- fully charged" +msgstr "å·²æ’å…¥ ï¼ å·²å……æ»¡ç”µ" + +#: kpowersave.cpp:460 +msgid "Plugged in" +msgstr "å·²æ’å…¥" + +#: kpowersave.cpp:464 +msgid "Plugged in -- %1% charged (%2:%3 h until full charged)" +msgstr "å·²æ’å…¥ - 已充 %1% ï¼ˆè¿˜éœ€è¦ %2:%3 æ‰èƒ½å…¨éƒ¨å……满)" + +#: kpowersave.cpp:467 +msgid "Plugged in -- %1% charged (%2:%3 remaining hours)" +msgstr "å·²æ’å…¥ ï¼ å·²å…… %1%(剩余 %2:%3 å°æ—¶ï¼‰" + +#: kpowersave.cpp:471 kpowersave.cpp:475 +#, c-format +msgid "Plugged in -- %1% charged" +msgstr "å·²æ’å…¥ ï¼ å·²å…… %1%" + +#: kpowersave.cpp:474 +msgid "Plugged in -- no battery" +msgstr "å·²æ’å…¥ ï¼ æ— ç”µæ± " + +#: kpowersave.cpp:480 +msgid "Running on batteries -- %1% charged (%2:%3 hours remaining)" +msgstr "采用电池è¿è¡Œ ï¼ å·²å…… %1%(剩余 %2:%3 å°æ—¶ï¼‰" + +#: kpowersave.cpp:484 +#, c-format +msgid "Running on batteries -- %1% charged" +msgstr "采用电池è¿è¡Œ ï¼ å·²å…… %1%" + +#: kpowersave.cpp:491 +msgid " -- battery is charging" +msgstr " ï¼ ç”µæ± æ­£åœ¨å……ç”µ" + +#: kpowersave.cpp:649 kpowersave.cpp:657 +msgid "Could not start YaST Power Management Module. Check if it is installed." +msgstr "无法å¯åŠ¨ YaST 电æºç®¡ç†æ¨¡å—。检查是å¦å·²å®‰è£…了此模å—?" + +#: kpowersave.cpp:703 +msgid "Suspend to disk failed" +msgstr "挂起到ç£ç›˜å¤±è´¥" + +#: kpowersave.cpp:711 +msgid "Suspend to disk disabled by administrator." +msgstr "管ç†å‘˜ç¦ç”¨äº†æŒ‚起到ç£ç›˜ã€‚" + +#: kpowersave.cpp:759 +msgid "Suspend to RAM failed" +msgstr "挂起到 RAM 失败" + +#: kpowersave.cpp:767 +msgid "Suspend to RAM disabled by administrator." +msgstr "管ç†å‘˜ç¦ç”¨äº†æŒ‚起到 RAM。" + +#: kpowersave.cpp:815 +msgid "Standby failed" +msgstr "待机失败" + +#: kpowersave.cpp:822 +msgid "Standby disabled by administrator." +msgstr "管ç†å‘˜ç¦ç”¨äº†å¾…机。" + +#: kpowersave.cpp:853 +msgid "System is going into suspend mode now" +msgstr "系统将立å³è¿›å…¥æš‚åœæ–¹å¼" + +#: kpowersave.cpp:1039 +msgid "Could not call DCOP interface to umount external media." +msgstr "未能调用DCOP接å£ï¼Œä»¥å¸è½½å¤–接设备" + +#: kpowersave.cpp:1044 +msgid "" +"Could not umount external media before suspend/standby. \n" +" (Reason: %1)\n" +" \n" +" Would you like to continue suspend/standby anyway? \n" +"(Warning: Continue suspend can cause data loss!)" +msgstr "" +"挂起/待机å‰ä¸èƒ½å¸è½½å¤–挂设备。 \n" +"(原因: %1)\n" +"\n" +"您是å¦è¦ç»§ç»­æŒ‚èµ·/待机? \n" +"(警告: 继续挂起å¯èƒ½ä¼šå¯¼è‡´æ‚¨çš„æ•°æ®ä¸¢å¤±ã€‚" + +#: kpowersave.cpp:1052 +msgid "Error while prepare %1" +msgstr "准备 %1 时出错" + +#: kpowersave.cpp:1053 +msgid "Suspend anyway" +msgstr "强制挂起" + +#: kpowersave.cpp:1053 +msgid "Cancel suspend" +msgstr "å–消挂起" + +#: kpowersave.cpp:1127 +msgid "" +"Could not lock the screen. There may be a problem with the selected \n" +"lock method or something else." +msgstr "" +"无法é”定å±å¹•ã€‚选定的\n" +"é”定方å¼æˆ–其他项å¯èƒ½æœ‰é—®é¢˜ã€‚" + +#: kpowersave.cpp:1144 +msgid "The Lid was closed." +msgstr "此盖已关闭。" + +#: kpowersave.cpp:1156 +msgid "The Lid was opened." +msgstr "此盖已打开。" + +#: kpowersave.cpp:1223 +msgid "Start KPowersave automatically when you log in?" +msgstr "是å¦åœ¨æ‚¨ç™»å½•æ—¶è‡ªåŠ¨å¯åŠ¨ Kpowersave?" + +#: kpowersave.cpp:1224 +msgid "Question" +msgstr "问题" + +#: kpowersave.cpp:1225 +msgid "Start Automatically" +msgstr "自动å¯åŠ¨" + +#: kpowersave.cpp:1225 +msgid "Do Not Start" +msgstr "ä¸å¯åŠ¨" + +#: kpowersave.cpp:1242 +msgid "CPU Freq Policy %1 could not be set." +msgstr "无法设置 CPU 频率策略 %1。" + +#: kpowersave.cpp:1271 +msgid "Scheme %1 could not be activated." +msgstr "无法激活方案 %1。" + +#: kpowersave.cpp:1600 +#, fuzzy +msgid "" +"The D-Bus daemon is not running.\n" +"Starting it will provide full functionality: /etc/init.d/dbus start" +msgstr "" +"DBUS 守护程åºï¼ˆmessagebus)未在è¿è¡Œã€‚\n" +"å¯åŠ¨å®ƒå°†æ供完全功能:/etc/init.d/messagebus start" + +#: kpowersave.cpp:1611 +msgid "Don't show this message again." +msgstr "ä¸è¦å†æ¬¡æ˜¾ç¤ºæ­¤æ¶ˆæ¯ã€‚" + +#: kpowersave.cpp:1637 +msgid "ERROR" +msgstr "错误" + +#: kpowersave.cpp:1638 +msgid "Could not get information from HAL. The haldaemon is maybe not running." +msgstr "无法从 HAL 获å–ä¿¡æ¯ã€‚Haldaemon å¯èƒ½æœªåœ¨è¿è¡Œã€‚" + +#: kpowersave.cpp:1641 +msgid "Error" +msgstr "错误" + +#: kpowersave.cpp:1912 +msgid "" +"Battery state changed to WARNING -- remaining time: %1 hours and %2 minutes." +msgstr "电池状æ€æ›´æ”¹ä¸º\"警告 ï¼ å‰©ä½™æ—¶é—´ï¼š%1 å°æ—¶ %2 分钟\"。" + +#: kpowersave.cpp:1921 +msgid "" +"Battery state changed to LOW -- remaining time: %1 hours and %2 minutes." +msgstr "电池状æ€å˜ä¸º\"低电é‡\"ï¼ å‰©ä½™æ—¶é—´ï¼š%1 å°æ—¶ %2 分钟。" + +#: kpowersave.cpp:1932 +#, fuzzy +msgid "" +"Battery state changed to CRITICAL -- remaining time: %1 hours and %2 " +"minutes.\n" +"Shut down your system or plug in the power cable immediately. Otherwise the " +"machine\n" +"will go shutdown in 30 seconds" +msgstr "" +"电池状æ€å˜ä¸º\"电é‡ä¸¥é‡ä¸è¶³\"ï¼ å‰©ä½™æ—¶é—´ï¼š%1 å°æ—¶ %2 分钟。关闭您的系统或立å³" +"æ’入电æºçº¿ã€‚" + +#: kpowersave.cpp:1943 +#, fuzzy +msgid "" +"Battery state changed to CRITICAL -- remaining time: %1 hours and %2 " +"minutes.\n" +"Shut down your system or plug in the power cable immediately." +msgstr "" +"电池状æ€å˜ä¸º\"电é‡ä¸¥é‡ä¸è¶³\"ï¼ å‰©ä½™æ—¶é—´ï¼š%1 å°æ—¶ %2 分钟。关闭您的系统或立å³" +"æ’入电æºçº¿ã€‚" + +#: kpowersave.cpp:2041 +msgid "AC adapter plugged in" +msgstr "AC 适é…器已æ’å…¥" + +#: kpowersave.cpp:2043 +msgid "AC adapter unplugged" +msgstr "AC 适é…器已拔出" + +#: kpowersave.cpp:2078 +msgid "Switched to scheme: %1" +msgstr "切æ¢ä¸ºä»¥ä¸‹æ–¹æ¡ˆï¼š %1" + +#: kpowersave.cpp:2095 kpowersave.cpp:2100 kpowersave.cpp:2105 +msgid "System is going into %1 now." +msgstr "系统将立å³è¿›å…¥ %1。" + +#: kpowersave.cpp:2155 kpowersave.cpp:2160 kpowersave.cpp:2165 +msgid "System is resumed from %1." +msgstr "系统将从 %1 æ¢å¤ã€‚" + +#: kpowersave.cpp:2184 +msgid "Could not remount (all) external storage media." +msgstr "无法é‡æ–°æŒ‚è½½(所有的)外接存储设备。" + +#: kpowersave.cpp:2192 +#, fuzzy +msgid "An unknown error occurred while %1. The errorcode is: '%2'" +msgstr "鉴定时出现未知错误。" + +# power-off message +#: kpowersave.cpp:2197 +msgid "Do you want to have a look at the log file?" +msgstr "您è¦æŸ¥çœ‹æ—¥å¿—文件么?" + +#: kpowersave.cpp:2198 kpowersave.cpp:2224 +msgid "Error while %1" +msgstr "装载 %1 时出错" + +#: configure_Dialog.cpp:831 +msgid "KPowersave Settings" +msgstr "KPowersave 设置" + +#: configure_Dialog.cpp:832 +msgid "Apply" +msgstr "应用" + +#: configure_Dialog.cpp:834 +msgid "Help" +msgstr "帮助" + +#: configure_Dialog.cpp:840 +msgid "Enable specific display power management" +msgstr "å¯ç”¨ç‰¹å®šçš„显示器电æºç®¡ç†" + +#: configure_Dialog.cpp:841 +msgid "Standby after:" +msgstr "待机å‰ç»è¿‡çš„时间:" + +#: configure_Dialog.cpp:842 +msgid "Only blank the screen" +msgstr "仅使å±å¹•ç©ºç™½" + +#: configure_Dialog.cpp:843 +msgid "Disable screen saver" +msgstr "ç¦ç”¨å±å¹•ä¿æŠ¤ç¨‹åº" + +#: configure_Dialog.cpp:844 +msgid "Enable specific screensaver settings" +msgstr "å¯ç”¨ç‰¹å®šçš„å±å¹•ä¿æŠ¤ç¨‹åºè®¾ç½®" + +#: configure_Dialog.cpp:845 +msgid "Suspend after:" +msgstr "挂起å‰ç»è¿‡çš„时间:" + +#: configure_Dialog.cpp:846 +msgid "Power off after:" +msgstr "关闭电æºå‰ç»è¿‡çš„时间:" + +#: configure_Dialog.cpp:847 +msgid "Disable display power management" +msgstr "ç¦ç”¨æ˜¾ç¤ºå™¨ç”µæºç®¡ç†" + +#: configure_Dialog.cpp:848 configure_Dialog.cpp:849 configure_Dialog.cpp:850 +#: configure_Dialog.cpp:862 configure_Dialog.cpp:873 +msgid " min" +msgstr "最å°" + +#: configure_Dialog.cpp:851 +msgid "Screen Saver and DPMS" +msgstr "å±å¹•ä¿æŠ¤ç¨‹åºå’Œ DPMS" + +#: configure_Dialog.cpp:852 +msgid "Settings" +msgstr "设置" + +#: configure_Dialog.cpp:853 +msgid "Reset" +msgstr "é‡è®¾ç½®" + +#: configure_Dialog.cpp:855 +msgid "Enable scheme specific Brightness settings" +msgstr "å¯ç”¨ç‰¹å®šäºŽæ–¹æ¡ˆçš„亮度设置" + +#: configure_Dialog.cpp:858 +msgid "Brightness" +msgstr "亮度" + +#: configure_Dialog.cpp:859 +msgid "Enable autosuspend" +msgstr "å¯ç”¨è‡ªåŠ¨æŒ‚èµ·" + +#: configure_Dialog.cpp:860 configure_Dialog.cpp:867 +msgid "Enable scheme-specific blacklist" +msgstr "å¯ç”¨ç‰¹å®šäºŽæ–¹æ¡ˆçš„黑åå•" + +#: configure_Dialog.cpp:861 configure_Dialog.cpp:870 +msgid "after:" +msgstr "ç»è¿‡çš„时间:" + +#: configure_Dialog.cpp:863 configure_Dialog.cpp:868 +msgid "Edit Blacklist..." +msgstr "编辑黑åå•..." + +#: configure_Dialog.cpp:864 configure_Dialog.cpp:869 +msgid "If the current desktop user is inactive the computer will:" +msgstr "如果当å‰æ¡Œé¢ç”¨æˆ·å¤„于ä¸æ´»åŠ¨çŠ¶æ€ï¼Œè®¡ç®—机将:" + +#: configure_Dialog.cpp:865 +msgid "Autosuspend" +msgstr "自动挂起" + +#: configure_Dialog.cpp:866 +msgid "Enable autodimm the display" +msgstr "对显示器å¯ç”¨é™ä½Žæ˜¾ç¤ºå™¨äº®åº¦" + +#: configure_Dialog.cpp:871 configure_Dialog.cpp:893 configure_Dialog.cpp:894 +#: configure_Dialog.cpp:895 configure_Dialog.cpp:896 configure_Dialog.cpp:897 +#: configure_Dialog.cpp:898 +msgid " %" +msgstr " %" + +#: configure_Dialog.cpp:872 +msgid "dimm to:" +msgstr "亮度é™ä½Žåˆ°ï¼š" + +#: configure_Dialog.cpp:874 +msgid "Autodimm" +msgstr "自动é™ä½Žäº®åº¦" + +#: configure_Dialog.cpp:879 +msgid "Set CPU Frequency Policy:" +msgstr "设置 CPU 频率策略:" + +#: configure_Dialog.cpp:880 +msgid "CPU Frequency Policy" +msgstr "CPU 频率策略" + +#: configure_Dialog.cpp:881 +msgid "Disable Notifications" +msgstr "ç¦ç”¨é€šçŸ¥" + +#: configure_Dialog.cpp:884 +msgid "New" +msgstr "新建" + +#: configure_Dialog.cpp:885 +msgid "Scheme Settings" +msgstr "方案设置" + +#: configure_Dialog.cpp:886 +msgid "" +"Define the battery warning levels (in percentage) and the releated action if " +"the level get reached:" +msgstr "请指定警告的水平(以百分数的形å¼æ˜¾ç¤ºï¼‰ï¼Œå·²ç»è¾¾åˆ°è­¦å‘Šæ—¶çš„动作。" + +#: configure_Dialog.cpp:887 +msgid "Warning level:" +msgstr "警告级别:" + +#: configure_Dialog.cpp:888 +msgid "Low level:" +msgstr "电é‡ä½Žçº§åˆ«ï¼š" + +#: configure_Dialog.cpp:889 +msgid "Critical level:" +msgstr "紧急级别:" + +#: configure_Dialog.cpp:890 configure_Dialog.cpp:891 configure_Dialog.cpp:892 +msgid "if reached call:" +msgstr "达到时调用:" + +#: configure_Dialog.cpp:899 +msgid "Battery" +msgstr "电池" + +#: configure_Dialog.cpp:900 +msgid "" +"Define the action which should be executed if the related button get pressed:" +msgstr "定义相关按钮按下时执行的动作:" + +#: configure_Dialog.cpp:901 +msgid "Suspend-to-disk Button:" +msgstr "挂起到ç£ç›˜æŒ‰é’®ï¼š" + +#: configure_Dialog.cpp:902 +msgid "Sleep button:" +msgstr "休眠按钮:" + +#: configure_Dialog.cpp:903 +msgid "Lid close Button:" +msgstr "å±å¹•é—­åˆæŒ‰é’®ï¼š" + +#: configure_Dialog.cpp:904 +msgid "Power Button:" +msgstr "电æºæŒ‰é’®ï¼š" + +#: configure_Dialog.cpp:905 +msgid "Button Events" +msgstr "按钮事件" + +#: configure_Dialog.cpp:906 +msgid "" +"Select the following schemes as default if the system is running on AC or on " +"batteries." +msgstr "从下列方案中选择使用外接电æºæˆ–者电池时è¦ä½¿ç”¨çš„默认方案" + +#: configure_Dialog.cpp:907 +msgid "Battery scheme:" +msgstr "电池方案:" + +#: configure_Dialog.cpp:908 +msgid "AC scheme:" +msgstr "交æµç”µæ–¹æ¡ˆï¼š" + +#: configure_Dialog.cpp:909 +msgid "Default Schemes" +msgstr "默认方案" + +#: configure_Dialog.cpp:910 +msgid "Lock screen before suspend or standby" +msgstr "挂起或待机å‰é”定å±å¹•ã€‚" + +#: configure_Dialog.cpp:911 +msgid "Lock screen with:" +msgstr "é”定å±å¹•çš„方法:" + +#: configure_Dialog.cpp:912 +msgid "Lock screen on lid close" +msgstr "在 lid close æ—¶é”定å±å¹•ã€‚" + +#: configure_Dialog.cpp:913 +msgid "Lock Screen" +msgstr "é”定å±å¹•" + +#: configure_Dialog.cpp:914 +msgid "Notifications" +msgstr "通知" + +#: configure_Dialog.cpp:916 +msgid "Autostart" +msgstr "自动å¯åŠ¨" + +#: configure_Dialog.cpp:917 +msgid "Never ask me again on exit" +msgstr "退出时ä¸å†è¯¢é—®æ­¤é—®é¢˜ã€‚" + +#: configure_Dialog.cpp:918 +msgid "KPowersave starts automatically on login" +msgstr "登录时自动å¯åŠ¨ Kpowersave。" + +#: configure_Dialog.cpp:919 +msgid "General Blacklists" +msgstr "通用黑åå•" + +#: configure_Dialog.cpp:920 +msgid "Edit Autosuspend Blacklist..." +msgstr "编辑自动挂起黑åå•..." + +#: configure_Dialog.cpp:921 +msgid "Edit Autodimm Blacklist..." +msgstr "编辑自动é™ä½Žäº®åº¦é»‘åå•..." + +#: configure_Dialog.cpp:923 +msgid "General Settings" +msgstr "一般设置" + +#~ msgid "&Cancel" +#~ msgstr "å–消(&C)" + +#~ msgid "Remo&ve" +#~ msgstr "去除(&V)" + +#~ msgid "Modules unloaded:" +#~ msgstr "å·²å¸è½½çš„模å—:" + +#~ msgid "Powersave Daemon:" +#~ msgstr "Powersave 守护程åºï¼š" + +#~ msgid "" +#~ "Inactivity detected.\n" +#~ " Machine autosuspend in %1 seconds." +#~ msgstr "" +#~ "检测到ä¸æ´»åŠ¨çŠ¶æ€ã€‚\n" +#~ " 计算机将在 %1 秒åŽè‡ªåŠ¨æŒ‚起。" + +#~ msgid "" +#~ "Inactivity detected.\n" +#~ " Dim display in %1 seconds to %2%." +#~ msgstr "" +#~ "检测到ä¸æ´»åŠ¨çŠ¶æ€ã€‚\n" +#~ "在 %1 秒åŽå°†æ˜¾ç¤ºå™¨é™æš—到 %2%。" + +#~ msgid "" +#~ "If you know that it should work, you might override this detection with " +#~ "setting SUSPEND2RAM_FORCE=\"yes\" in /etc/powersave/sleep." +#~ msgstr "" +#~ "如果您知é“它应该è¿è¡Œï¼Œå¯ä»¥ä½¿ç”¨è®¾ç½® SUSPEND2RAM_FORCE=\"yes\" in /etc/" +#~ "powersave/sleep 覆盖检测。" + +#~ msgid "" +#~ "Cannot find any schemes. Maybe the powersave daemon is not running.\n" +#~ "Starting it with '/etc/init.d/powersaved start' should help." +#~ msgstr "" +#~ "找ä¸åˆ°ä»»ä½•æ–¹æ¡ˆã€‚å¯èƒ½æ²¡æœ‰è¿è¡Œ powersave 守护程åºã€‚\n" +#~ "用\"/etc/init.d/powersaved start\"å¯åŠ¨å®ƒåº”该对此有帮助。" + +#~ msgid "" +#~ "The powersave daemon must be running in the background for a suspend to " +#~ "disk." +#~ msgstr "挂起到ç£ç›˜è¦æ±‚ powersave 守护程åºå¿…须在åŽå°è¿è¡Œã€‚" + +#~ msgid "" +#~ "The powersave daemon must be running in the background for a suspend to " +#~ "RAM." +#~ msgstr "挂起到 RAM è¦æ±‚ powersave 守护程åºå¿…须在åŽå°è¿è¡Œã€‚" + +#~ msgid "The powersave daemon must be running in the background for standby." +#~ msgstr "待机æ“作è¦æ±‚ powersave 守护程åºå¿…须在åŽå°è¿è¡Œã€‚" + +#~ msgid "" +#~ "This scheme support suspend and disable devices. This is a EXPERIMENTAL " +#~ "feature of powersave to save more power on laptops. If you select this " +#~ "scheme you can get in trouble (e.g. kernel oops). You can configure this " +#~ "feature currently in the powersave config files. Please report all " +#~ "problems via http://www.opensuse.org/Submit_a_bug \n" +#~ "\n" +#~ "Would you switch the scheme (on your own risk)?" +#~ msgstr "" +#~ "此方案支æŒæŒ‚èµ·å’Œç¦ç”¨è®¾å¤‡ã€‚这是试验性的çœç”µåŠŸèƒ½ï¼Œç”¨äºŽæ›´å¥½åœ°èŠ‚çœä¾¿æºå¼è®¡ç®—机" +#~ "的电æºã€‚如果您选择此方案,å¯èƒ½ä¼šé‡åˆ°é—®é¢˜ï¼ˆä¾‹å¦‚ kernel oops)。 您目å‰å¯ä»¥" +#~ "在çœç”µé…置文件中对此功能进行é…置。请通过 http://www.opensuse.org/" +#~ "Submit_a_bug 报告所有的问题。\n" +#~ " \n" +#~ "您是å¦è¦åˆ‡æ¢è¯¥æ–¹æ¡ˆï¼ˆç”±æ‚¨è‡ªå·±æ‰¿æ‹…风险)?" + +#~ msgid "Continue" +#~ msgstr "继续" + +#~ msgid "" +#~ "The powersave daemon is not running.\n" +#~ "Starting it will improve performance: /etc/init.d/powersaved start" +#~ msgstr "" +#~ "powersave 守护程åºæ²¡æœ‰è¿è¡Œã€‚\n" +#~ "å¯åŠ¨æ­¤ç¨‹åºå°†æ高性能:/etc/init.d/powersaved start" + +#~ msgid "checking resume kernel" +#~ msgstr "正在检查æ¢å¤å†…æ ¸" + +#~ msgid "checking for swap partition" +#~ msgstr "正在检查交æ¢åˆ†åŒº" + +#~ msgid "unmounting FAT/NTFS partitions" +#~ msgstr "正在å¸ä¸‹ FAT/NTFS 分区" + +#~ msgid "stopping services" +#~ msgstr "正在åœæ­¢æœåŠ¡" + +#~ msgid "stopping service:" +#~ msgstr "正在åœæ­¢æœåŠ¡ï¼š" + +#~ msgid "unloading modules" +#~ msgstr "正在å¸è½½æ¨¡å—" + +#~ msgid "unloading module:" +#~ msgstr "正在å¸è½½æ¨¡å—:" + +#~ msgid "syncing file systems" +#~ msgstr "正在åŒæ­¥æ–‡ä»¶ç³»ç»Ÿ" + +#~ msgid "preparing bootloader" +#~ msgstr "正在准备 bootloader" + +#~ msgid "Edit General Blacklist..." +#~ msgstr "编辑常规黑åå•..." + +#~ msgid " -- %1 MHz" +#~ msgstr " ï¼ %1 MHz" + +#~ msgid "Enabled" +#~ msgstr "å·²å¯ç”¨" + +#~ msgid "In" +#~ msgstr "æ’å…¥" + +#~ msgid "Out" +#~ msgstr "拔出" + +#~ msgid "" +#~ "You are not permitted to connect to the powersave daemon via DBUS. Please " +#~ "check your DBUS configuration and installation. " +#~ msgstr "" +#~ "ä¸å…许您通过 DBUS 连接到 powersave 守护程åºã€‚请检查您的 DBUS é…置和安装。" diff --git a/po/zh_TW.po b/po/zh_TW.po new file mode 100644 index 0000000..a3d653a --- /dev/null +++ b/po/zh_TW.po @@ -0,0 +1,1508 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# FIRST AUTHOR , YEAR. +# Novell Language , 2007 +msgid "" +msgstr "" +"Project-Id-Version: Kpowersave\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2007-08-10 03:16+0200\n" +"PO-Revision-Date: 2007-02-10 01:29\n" +"Last-Translator: Tetralet \n" +"Language-Team: Debian-user in Chinese [Big5] \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: detailed_Dialog.cpp:228 +msgid "kpowersave" +msgstr "kpowersave" + +#: detailed_Dialog.cpp:229 +msgid "General Information" +msgstr "一般資訊" + +#: detailed_Dialog.cpp:232 +msgid "Battery Status" +msgstr "電池狀態" + +#: detailed_Dialog.cpp:233 +msgid "AC Adapter" +msgstr "é›»æºè½‰æŽ¥å™¨" + +#: detailed_Dialog.cpp:234 detaileddialog.cpp:391 +msgid "plugged in" +msgstr "已連接電æº" + +#: detailed_Dialog.cpp:235 +msgid "Power Consumtion: " +msgstr "é›»æºæ¶ˆè€—:" + +#: detailed_Dialog.cpp:237 +msgid "Processor Status" +msgstr "處ç†å™¨ç‹€æ…‹" + +#: detailed_Dialog.cpp:238 blacklistedit_Dialog.cpp:130 info_Dialog.cpp:198 +#: configure_Dialog.cpp:838 +msgid "OK" +msgstr "OK" + +#: blacklisteditdialog.cpp:60 +msgid "General Blacklist" +msgstr "一般黑åå–®" + +#: blacklisteditdialog.cpp:63 +msgid "Scheme: " +msgstr "方案:" + +#: blacklisteditdialog.cpp:114 +msgid "Selected entry removed." +msgstr "é¸å–的項目已移除。" + +#: blacklisteditdialog.cpp:117 +msgid "Could not remove the selected entry." +msgstr "無法移除é¸å–的項目。" + +#: blacklisteditdialog.cpp:137 +msgid "Inserted new entry." +msgstr "æ’入的新項目。" + +#: blacklisteditdialog.cpp:141 +msgid "Entry exists already. Did not insert new entry." +msgstr "項目已存在。未æ’入新的項目。" + +#: blacklisteditdialog.cpp:144 +msgid "Empty entry was not inserted." +msgstr "未æ’入空的項目。" + +#: inactivity.cpp:298 +msgid "" +"Could not start 'pidof'. Could not autosuspend the machine.\n" +"Please check your installation." +msgstr "" +"無法開始 'pidof'。無法自動暫åœæ©Ÿå™¨ã€‚\n" +"請檢查您的安è£ä½œæ¥­ã€‚" + +#: blacklistedit_Dialog.cpp:129 +msgid "Autosuspend Blacklist Edit" +msgstr "編輯自動暫åœä¹‹é»‘åå–®" + +#: blacklistedit_Dialog.cpp:132 configuredialog.cpp:1079 +#: configure_Dialog.cpp:836 +msgid "Cancel" +msgstr "å–消" + +#: blacklistedit_Dialog.cpp:135 +msgid "Add" +msgstr "新增" + +#: blacklistedit_Dialog.cpp:136 +msgid "Remove" +msgstr "移除" + +#: infodialog.cpp:76 infodialog.cpp:78 main.cpp:55 +msgid "KPowersave" +msgstr "KPowersave" + +#: configuredialog.cpp:116 configuredialog.cpp:121 configuredialog.cpp:721 +msgid " - not supported" +msgstr " - ä¸æ”¯æ´" + +#: configuredialog.cpp:150 configuredialog.cpp:317 detaileddialog.cpp:432 +#: kpowersave.cpp:192 settings.cpp:66 configure_Dialog.cpp:876 +msgid "Performance" +msgstr "效能" + +#: configuredialog.cpp:154 configuredialog.cpp:319 detaileddialog.cpp:438 +#: kpowersave.cpp:194 settings.cpp:68 configure_Dialog.cpp:878 +msgid "Powersave" +msgstr "çœé›»" + +#: configuredialog.cpp:159 configuredialog.cpp:321 kpowersave.cpp:1478 +#: settings.cpp:70 +msgid "Presentation" +msgstr "ç°¡å ±" + +#: configuredialog.cpp:164 configuredialog.cpp:323 kpowersave.cpp:1473 +#: settings.cpp:72 +msgid "Acoustic" +msgstr "音效" + +#: configuredialog.cpp:169 configuredialog.cpp:171 configuredialog.cpp:172 +#: configuredialog.cpp:173 kpowersave.cpp:1484 +msgid "Advanced Powersave" +msgstr "進階 Powersave" + +#: configuredialog.cpp:271 +msgid "" +"This enables specific screen saver settings. \n" +"Note: If selected, the global screen saver settings are \n" +"overwritten while kpowersave runs." +msgstr "" +"如此å¯ä»¥å•Ÿç”¨ç‰¹å®šçš„螢幕ä¿è­·ç¨‹å¼è¨­å®šã€‚\n" +"注æ„事項:若é¸å–,kpowersave 在執行時將覆寫全部的\n" +"螢幕ä¿è­·ç¨‹å¼è¨­å®šã€‚" + +#: configuredialog.cpp:274 +msgid "" +"This disables the screen saver. \n" +"Note: If selected, the global screen saver settings are \n" +"overwritten while kpowersave runs." +msgstr "" +"如此會åœç”¨èž¢å¹•ä¿è­·ç¨‹å¼ã€‚\n" +"注æ„事項:若é¸å–,kpowersave 在執行時將覆寫全部的\n" +"螢幕ä¿è­·ç¨‹å¼è¨­å®šã€‚" + +#: configuredialog.cpp:277 +msgid "" +"This blanks the screen instead of using a specific screen saver. \n" +"Note: This may work only with KScreensaver." +msgstr "" +"如此將會使螢幕呈ç¾ç©ºç™½ï¼Œè€Œéžä½¿ç”¨ç‰¹å®šçš„螢幕ä¿è­·ç¨‹å¼ã€‚\n" +"注æ„事項:此功能僅å¯æ­é… KScreensaver 使用。" + +#: configuredialog.cpp:279 +msgid "" +"This enables specific DPMS settings. \n" +"Note: If selected, the global DPMS settings are \n" +"overwritten while kpowersave runs." +msgstr "" +"如此å¯ä»¥å•Ÿç”¨ç‰¹å®šçš„ DPMS 設定。\n" +"注æ„事項:若é¸å–,kpowersave 執行時將覆寫全部的 \n" +"DPMS 設定。" + +#: configuredialog.cpp:282 +msgid "This disables DPMS support." +msgstr "這將會åœç”¨ DPMS 支æ´ã€‚" + +#: configuredialog.cpp:283 +msgid "If selected, the screen is locked on suspend or standby." +msgstr "è‹¥é¸å–,「暫åœã€æˆ–「待機ã€æ™‚將鎖定螢幕。" + +#: configuredialog.cpp:284 +msgid "If selected, the screen is locked if the lid close event is triggered." +msgstr "è‹¥é¸å–,在外蓋閉闔事件觸發時,將會鎖定螢幕。" + +#: configuredialog.cpp:286 +msgid "" +"Check this box to enable or disable automatic suspension of the computer." +msgstr "æ ¸å–此方塊來啟用或åœç”¨é›»è…¦çš„自動暫åœã€‚" + +#: configuredialog.cpp:288 +msgid "" +"Activate this action if the user was inactive for the defined time \n" +"(greater than 0 minutes). If empty, nothing happens." +msgstr "" +"若使用者在定義的時間 \n" +"(> 0 分é˜) 內沒有動作,則啟用此動作。如果是空白,則ä¸æœƒç™¼ç”Ÿä»»ä½•å‹•ä½œã€‚" + +#: configuredialog.cpp:291 +msgid "All scheme-related screen saver and DPMS settings." +msgstr "所有與方案相關的螢幕ä¿è­·ç¨‹å¼åŠ DPMS 設定。" + +#: configuredialog.cpp:292 +msgid "All scheme-related display brightness settings." +msgstr "所有與方案相關的畫é¢äº®åº¦è¨­å®šã€‚" + +#: configuredialog.cpp:293 +msgid "All scheme-related automatic suspend settings." +msgstr "所有與方案相關的自動暫åœè¨­å®šã€‚" + +#: configuredialog.cpp:295 +msgid "" +"Here you can change the brightness of your display. \n" +"Use the slider to change the brightness directly for \n" +"testing. To reset back to previous level, please press \n" +"the 'Reset' button. " +msgstr "" +"您å¯åœ¨æ­¤è®Šæ›´ç•«é¢äº®åº¦ã€‚ \n" +"å¯ä½¿ç”¨æ»‘桿來試著直接變更亮度\n" +"。若è¦å›žåˆ°åŽŸå§‹çš„設定,請按下ã€é‡æ–°è¨­å®šã€‘按鈕。" + +#: configuredialog.cpp:299 +msgid "Use this button to set back the slider and the display brightness." +msgstr "使用這個按鈕,å¯ä»¥å›žå¾©æ»‘桿和畫é¢äº®åº¦ã€‚" + +#: configuredialog.cpp:352 +msgid "Press this button to delete the selected scheme." +msgstr "按下此按鈕來刪除已é¸å–的方案。" + +#: configuredialog.cpp:357 +msgid "You can't delete the current AC or battery scheme." +msgstr "您無法刪除目å‰çš„é›»æºæˆ–電池方案。" + +#: configuredialog.cpp:363 +msgid "You can't delete this default scheme." +msgstr "您無法刪除此é è¨­æ–¹æ¡ˆã€‚" + +#: configuredialog.cpp:546 +msgid "" +"Your hardware supports to change the brightness. The values of the slider " +"are in percent and mapped to the available brightness levels of your " +"hardware." +msgstr "" +"您的硬體支æ´äº®åº¦è®Šæ›´ã€‚滑桿的值為百分比值,並å°æ‡‰è‡³æ‚¨ç¡¬é«”å¯ç”¨çš„亮度階層。" + +#: configuredialog.cpp:553 +msgid "" +"Your Hardware currently not support changing the brightness of your display." +msgstr "ç›®å‰æ‚¨çš„硬體ä¸æ”¯æ´è®Šæ›´ç•«é¢äº®åº¦ã€‚" + +#: configuredialog.cpp:664 +msgid "Select Automatically" +msgstr "自動é¸å–" + +#: configuredialog.cpp:665 +msgid "KScreensaver" +msgstr "KScreensaver" + +#: configuredialog.cpp:666 +msgid "XScreensaver" +msgstr "XScreensaver" + +#: configuredialog.cpp:667 +msgid "xlock" +msgstr "xlock" + +#: configuredialog.cpp:668 +msgid "GNOME Screensaver" +msgstr "GNOME Screensaver" + +#: configuredialog.cpp:930 +msgid "" +"There are unsaved changes in the active scheme.\n" +"Apply the changes before jumping to the next scheme or discard the changes?" +msgstr "" +"ç›®å‰çš„方案中有尚未儲存的變更。\n" +"是å¦åœ¨è·³è‡³ä¸‹ä¸€å€‹æ–¹æ¡ˆå‰å…ˆå¥—用變更,或是放棄變更?" + +#: configuredialog.cpp:933 configuredialog.cpp:983 +msgid "Unsaved Changes" +msgstr "未儲存的變更" + +#: configuredialog.cpp:981 +msgid "" +"There are unsaved changes.\n" +"Apply the changes before cancel or discard the changes?" +msgstr "" +"有未儲存的變更。\n" +"是å¦åœ¨å–消å‰å…ˆå¥—用變更,或是放棄變更?" + +#: configuredialog.cpp:1032 +msgid "Please insert a name for the new scheme:" +msgstr "請替這個新方案輸入å稱:" + +#: configuredialog.cpp:1038 +msgid "KPowersave Configuration" +msgstr "KPowersave 設定" + +#: configuredialog.cpp:1046 +msgid "Error: A scheme with this name already exist.\n" +msgstr "錯誤:已有方案使用這個å稱。\n" + +#: configuredialog.cpp:1076 +msgid "Do you really want to delete the %1 scheme?" +msgstr "您是å¦ç¢ºå®šè¦åˆªé™¤ %1 方案?" + +#: configuredialog.cpp:1078 +msgid "Confirm delete scheme" +msgstr "確èªåˆªé™¤æ–¹æ¡ˆ" + +#: configuredialog.cpp:1079 configure_Dialog.cpp:883 +msgid "Delete" +msgstr "刪除" + +#: configuredialog.cpp:1095 +msgid "Could not delete the selected scheme." +msgstr "無法移除所é¸å–的方案。" + +#: configuredialog.cpp:1324 +msgid "" +"Note: If you select this option, the computer will suspend or standby " +"if the current user is inactive for the defined time even if somebody is " +"logged in remotely to the X server.

    This feature can also produce " +"problems with some programs, such as video players or cd burner. These " +"programs can be blacklisted by checking Enable scheme-specific blacklist and click Edit Blacklist.... If this does not help, report the " +"problem or deactivate autosuspend.

    Really use this option?" +msgstr "" +"注æ„事項: 如果您é¸å–æ­¤é¸é …,而目å‰çš„使用者在定義的時間內沒有活動,å³" +"使有æŸäººå¾žé ç«¯ç™»å…¥è‡³ X 伺æœå™¨ï¼Œé›»è…¦ä»å°‡æœƒæš«åœæˆ–待機。

    此功能é‡åˆ°æŸäº›" +"程å¼æ™‚也會發生å•é¡Œï¼Œä¾‹å¦‚影片播放程å¼æˆ– CD 燒錄程å¼ã€‚您å¯ä»¥åœ¨ã€Œå•Ÿç”¨ç‰¹å®šæ–¹æ¡ˆ" +"黑åå–®ã€ä¸­è¨­å®šä¸¦æŒ‰ä¸€ä¸‹ã€Œç·¨è¼¯é»‘åå–®ã€...,將這些程å¼åˆ—入黑å單。如" +"æžœå•é¡Œä»æœªè§£æ±ºï¼Œè«‹å ±å‘Šæ­¤å•é¡Œæˆ–åœç”¨è‡ªå‹•æš«åœåŠŸèƒ½ã€‚

    確定è¦ä½¿ç”¨æ­¤é¸é …?" + +#: configuredialog.cpp:1402 configuredialog.cpp:1532 +msgid "" +"The blacklist of the selected scheme is empty. Import the general blacklist?" +msgstr "所é¸å–方案的黑å單是空白的。是å¦è¦åŒ¯å…¥ä¸€èˆ¬é»‘å單?" + +#: configuredialog.cpp:1404 configuredialog.cpp:1534 +msgid "Import" +msgstr "匯入" + +#: configuredialog.cpp:1404 configuredialog.cpp:1534 +msgid "Do Not Import" +msgstr "請勿匯入" + +#: configuredialog.cpp:1416 +#, fuzzy +msgid "General Autosuspend Blacklist" +msgstr "編輯自動暫åœä¹‹é»‘åå–®" + +#: configuredialog.cpp:1546 +#, fuzzy +msgid "General Autodimm Blacklist" +msgstr "一般黑åå–®" + +#: configuredialog.cpp:1779 configuredialog.cpp:1816 +msgid "Shutdown" +msgstr "關機" + +#: configuredialog.cpp:1781 configuredialog.cpp:1819 +msgid "Logout Dialog" +msgstr "登出å°è©±ç›’" + +#: configuredialog.cpp:1784 configuredialog.cpp:1822 kpowersave.cpp:182 +#: kpowersave.cpp:2096 kpowersave.cpp:2156 kpowersave.cpp:2247 +msgid "Suspend to Disk" +msgstr "休眠 (Suspend to Disk)" + +#: configuredialog.cpp:1787 configuredialog.cpp:1825 kpowersave.cpp:186 +#: kpowersave.cpp:2101 kpowersave.cpp:2161 kpowersave.cpp:2250 +msgid "Suspend to RAM" +msgstr "æš«åœ (Suspend to RAM)" + +#: configuredialog.cpp:1790 configuredialog.cpp:1828 +msgid "CPU Powersave policy" +msgstr "CPU çœé›»æ–¹é‡" + +#: configuredialog.cpp:1793 configuredialog.cpp:1831 +msgid "CPU Dynamic policy" +msgstr "CPU 動態調整方é‡" + +#: configuredialog.cpp:1796 configuredialog.cpp:1834 +msgid "CPU Performance policy" +msgstr "CPU 效能方é‡" + +#: configuredialog.cpp:1799 configuredialog.cpp:1837 +msgid "Set Brightness to" +msgstr "將亮度設定為" + +#: main.cpp:43 +msgid "KDE Frontend for Power Management, Battery Monitoring and Suspend" +msgstr "KDE çš„é›»æºç®¡ç†ã€é›»æ± ç›£æŽ§åŠå¾…機設定之å‰ç«¯ç¨‹å¼" + +#: main.cpp:45 +#, fuzzy +msgid "Force a new check for ACPI support" +msgstr "強制檢查是å¦æ”¯æ´æ–°çš„ ACPI\n" + +#: main.cpp:46 +msgid "Trace function entry and leave points for debug\n" +msgstr "" + +#: main.cpp:59 +msgid "Current maintainer" +msgstr "ç›®å‰ç¶­è­·è€…" + +#: main.cpp:62 +msgid "Powersave developer and for D-Bus integration" +msgstr "Powersave 研發者åŠæ•´åˆè‡³ D-Bus" + +#: main.cpp:64 +msgid "Powersave developer and tester" +msgstr "Powersave 研發者與測試者" + +#: main.cpp:66 +msgid "Added basic detailed dialog" +msgstr "新增的基本詳細å°è©±ç›’" + +#: main.cpp:67 +msgid "Packaging Debian and Ubuntu" +msgstr "製作 Debian 與 Ubuntu 套件" + +#: detaileddialog.cpp:61 +msgid "KPowersave Information Dialog" +msgstr "KPowersave 資訊å°è©±ç›’" + +#: detaileddialog.cpp:65 configure_Dialog.cpp:882 configure_Dialog.cpp:922 +msgid "Miscellaneous" +msgstr "其他" + +#: detaileddialog.cpp:66 +msgid "CPUs" +msgstr "CPU" + +#: detaileddialog.cpp:73 detaileddialog.cpp:453 +msgid "Battery state:" +msgstr "電池狀態:" + +#: detaileddialog.cpp:79 +msgid "Total:" +msgstr "總計:" + +#: detaileddialog.cpp:81 detaileddialog.cpp:83 +msgid "Battery %1" +msgstr "電池 %1" + +#: detaileddialog.cpp:114 +msgid "Processor %1" +msgstr "處ç†å™¨ %1" + +#: detaileddialog.cpp:230 +msgid "not present" +msgstr "ä¸å­˜åœ¨" + +#: detaileddialog.cpp:243 +msgid "charged" +msgstr "已充電" + +#: detaileddialog.cpp:245 +msgid "%1:%2 h until charged" +msgstr "%1:%2 å°æ™‚後充滿" + +#: detaileddialog.cpp:248 +msgid "%1:%2 h remaining" +msgstr "%1:還剩 %2 å°æ™‚" + +#: detaileddialog.cpp:253 detaileddialog.cpp:441 detaileddialog.cpp:468 +msgid "unknown" +msgstr "ä¸æ˜Žçš„" + +#: detaileddialog.cpp:325 detaileddialog.cpp:368 +msgid "%v MHz" +msgstr "%v MHz" + +#: detaileddialog.cpp:330 detaileddialog.cpp:363 dummy.cpp:58 +msgid "deactivated" +msgstr "å·²åœç”¨" + +#: detaileddialog.cpp:395 +msgid "unplugged" +msgstr "未連接電æº" + +#: detaileddialog.cpp:412 +msgid "Current Scheme: " +msgstr "ç›®å‰çš„方案:" + +#: detaileddialog.cpp:429 +msgid "Current CPU Frequency Policy:" +msgstr "ç›®å‰çš„ CPU 頻率方é‡ï¼š" + +#: detaileddialog.cpp:435 kpowersave.cpp:193 configure_Dialog.cpp:877 +msgid "Dynamic" +msgstr "å‹•æ…‹" + +#: detaileddialog.cpp:456 +msgid "Critical" +msgstr "緊急" + +#: detaileddialog.cpp:459 +msgid "Low" +msgstr "低" + +#: detaileddialog.cpp:462 kpowersave.cpp:277 kpowersave.cpp:652 +#: kpowersave.cpp:659 kpowersave.cpp:705 kpowersave.cpp:713 kpowersave.cpp:761 +#: kpowersave.cpp:769 kpowersave.cpp:817 kpowersave.cpp:824 +#: kpowersave.cpp:1131 kpowersave.cpp:1243 kpowersave.cpp:1272 +#: kpowersave.cpp:1610 kpowersave.cpp:1670 kpowersave.cpp:2186 +msgid "Warning" +msgstr "警告" + +#: detaileddialog.cpp:465 +msgid "ok" +msgstr "確定" + +#: detaileddialog.cpp:474 detaileddialog.cpp:477 +msgid "Set brightness supported:" +msgstr "å¯ä»¥è¨­å®šäº®åº¦ï¼š" + +#: detaileddialog.cpp:475 +msgid "yes" +msgstr "是" + +#: detaileddialog.cpp:478 +msgid "no" +msgstr "å¦" + +#: detaileddialog.cpp:481 detaileddialog.cpp:485 +msgid "HAL Daemon:" +msgstr "HAL 背景程å¼ï¼š" + +#: detaileddialog.cpp:482 +msgid "running" +msgstr "執行中" + +#: detaileddialog.cpp:486 +msgid "not running" +msgstr "尚未執行" + +#: info_Dialog.cpp:197 +msgid "Information" +msgstr "資訊" + +#: dummy.cpp:36 +msgid "If the current desktop user is inactive, dim the display to:" +msgstr "如果目å‰çš„æ¡Œé¢ä½¿ç”¨è€…沒有活動,畫é¢æœƒè®Šæš—為:" + +#: dummy.cpp:37 +msgid "Enable dim display on inactivity" +msgstr "在閒置時讓畫é¢è®Šæš—" + +#: dummy.cpp:38 +msgid "Blacklist" +msgstr "黑åå–®" + +#: dummy.cpp:39 +msgid "" +"Here you can add programs which should, if running, prevent the dimming of " +"the display." +msgstr "您å¯åœ¨æ­¤æ–°å¢žç¨‹å¼ï¼Œè©²ç¨‹å¼åœ¨åŸ·è¡Œæ™‚å¯é¿å…顯示器變暗。" + +#: dummy.cpp:41 +msgid "Would you like to import a predefined blacklist?" +msgstr "是å¦åŒ¯å…¥é å…ˆæº–備好的黑å單?" + +#: dummy.cpp:42 +msgid "Disable CPUs/Cores" +msgstr "åœç”¨ CPU/核心" + +#: dummy.cpp:43 +msgid "Max. running CPUs:" +msgstr "最多å¯åŸ·è¡Œçš„ CPU:" + +#: dummy.cpp:44 +msgid "Max. running CPUs/Cores:" +msgstr "最多å¯åŸ·è¡Œçš„ CPU/核心:" + +#: dummy.cpp:45 +msgid "Min. running CPUs:" +msgstr "最少å¯åŸ·è¡Œçš„ CPU:" + +#: dummy.cpp:46 +msgid "Min. running CPUs/Cores:" +msgstr "最少å¯åŸ·è¡Œçš„ CPU/核心:" + +#: dummy.cpp:47 +msgid "Enable to switch off CPUs/cores" +msgstr "啟用 CPU/核心的關閉功能" + +#: dummy.cpp:48 +msgid "You have a multiprocessor/multicore machine." +msgstr "您有多處ç†å™¨/多核心機器。" + +#: dummy.cpp:49 +msgid "" +"You can disable CPUs/cores to reduce power consumption and save battery " +"power." +msgstr "您å¯åœç”¨ CPU/核心以減少耗電,並節çœé›»æ± é›»åŠ›ã€‚" + +#: dummy.cpp:50 +msgid "Device" +msgstr "è£ç½®" + +#: dummy.cpp:51 +msgid "Devices" +msgstr "è£ç½®" + +#: dummy.cpp:52 +msgid "Device class" +msgstr "è£ç½®é¡žåˆ¥" + +#: dummy.cpp:53 +msgid "activate" +msgstr "啟用" + +#: dummy.cpp:54 +msgid "Activate" +msgstr "啟用" + +#: dummy.cpp:55 +msgid "deactivate" +msgstr "åœç”¨" + +#: dummy.cpp:56 +msgid "Deactivate" +msgstr "åœç”¨" + +#: dummy.cpp:57 +msgid "activated" +msgstr "已啟用" + +#: dummy.cpp:59 +msgid "do nothing" +msgstr "ä¸åŸ·è¡Œä»»ä½•å‹•ä½œ" + +#: dummy.cpp:60 +msgid "Deactivate following devices:" +msgstr "åœç”¨ä¸‹åˆ—è£ç½®ï¼š" + +#: dummy.cpp:61 +msgid "Activate following devices" +msgstr "啟用下列è£ç½®" + +#: dummy.cpp:62 +msgid "Reactivate following devices" +msgstr "é‡æ–°å•Ÿç”¨ä¸‹åˆ—è£ç½®" + +#: dummy.cpp:63 +msgid "Deactivate following device classes:" +msgstr "åœç”¨ä¸‹åˆ—è£ç½®é¡žåˆ¥ï¼š" + +#: dummy.cpp:64 +msgid "Activate following devices classes" +msgstr "啟用下列è£ç½®é¡žåˆ¥" + +#: dummy.cpp:65 +msgid "Reactivate following device classes" +msgstr "é‡æ–°å•Ÿç”¨ä¸‹åˆ—è£ç½®é¡žåˆ¥" + +#: dummy.cpp:66 +msgid "If the scheme switched all devices are again activated." +msgstr "如果切æ›æ–¹æ¡ˆï¼Œæ‰€æœ‰è£ç½®æœƒé‡æ–°å•Ÿç”¨ã€‚" + +#: dummy.cpp:67 +msgid "This is a experimental feature." +msgstr "這是實驗功能。" + +#: dummy.cpp:68 +msgid "If you have problems with this feature, please report them." +msgstr "如果您使用這個功能時發生任何å•é¡Œï¼Œè«‹å‘Šè¨´æˆ‘們。" + +#: dummy.cpp:69 +msgid "Select one of the available devices and click on " +msgstr "è«‹é¸å–任一å¯ç”¨è£ç½®ï¼Œç„¶å¾ŒæŒ‰ä¸€ä¸‹" + +#: dummy.cpp:70 +msgid "Select one of the available device classes and click on " +msgstr "è«‹é¸å–任一å¯ç”¨è£ç½®é¡žåˆ¥ï¼Œç„¶å¾ŒæŒ‰ä¸€ä¸‹" + +#: dummy.cpp:71 +msgid "Select one or more of the available devices and click on " +msgstr "è«‹é¸å–一或多個å¯ç”¨è£ç½®ï¼Œç„¶å¾ŒæŒ‰ä¸€ä¸‹" + +#: dummy.cpp:72 +msgid "Select one or more of the available device classes and click on " +msgstr "è«‹é¸å–一或多個å¯ç”¨è£ç½®é¡žåˆ¥ï¼Œç„¶å¾ŒæŒ‰ä¸€ä¸‹" + +#: dummy.cpp:73 +msgid "" +"Please note: If you e.g. deactivate a network device you may lose your " +"internet connection." +msgstr "請注æ„:如果åƒæ˜¯ç¶²è·¯è£ç½®è¢«åœç”¨äº†ï¼Œå‰‡æœƒå¤±åŽ»ç¶²éš›ç¶²è·¯é€£ç·šã€‚" + +#: dummy.cpp:75 +msgid "" +"Note: If you select this option, the computer will suspend or standby " +"if the current user is inactive for the defined time.

    This feature " +"can also produce problems with some programs, such as video players or cd " +"burner. These programs can be blacklisted by checking Enable scheme-" +"specific blacklist and click Edit Blacklist.... If this does not " +"help, report the problem or deactivate autosuspend.

    Really use this " +"option?" +msgstr "" +"注æ„事項: 如果您é¸æ“‡æ­¤é¸é …,當目å‰çš„使用者在定義的時間內沒有活動,電" +"è…¦ä»å°‡æœƒæš«åœæˆ–待機。

    此功能é‡åˆ°æŸäº›ç¨‹å¼æ™‚也會發生å•é¡Œï¼Œä¾‹å¦‚影片播放程" +"å¼æˆ– CD 燒錄程å¼ã€‚您å¯ä»¥åœ¨ã€Œå•Ÿç”¨ç‰¹å®šæ–¹æ¡ˆé»‘åå–®ã€ä¸­è¨­å®šä¸¦æŒ‰ä¸€ä¸‹ã€Œç·¨" +"輯黑åå–®ã€...,將這些程å¼åˆ—入黑å單。如果å•é¡Œä»æœªè§£æ±ºï¼Œè«‹å ±å‘Šæ­¤å•é¡Œæˆ–åœç”¨" +"自動暫åœåŠŸèƒ½ã€‚

    確定è¦ä½¿ç”¨æ­¤é¸é …?" + +#: dummy.cpp:82 +msgid "Try to use only one CPU/Core." +msgstr "" + +#: dummy.cpp:83 +msgid "" +"Reduce power consumption by try to use only one CPU/Core instead of " +"spreading the work over all/multiple CPUs." +msgstr "" + +#: dummy.cpp:87 +msgid "Could not load the global configuration." +msgstr "無法載入全域設定。" + +#: dummy.cpp:88 +msgid "Could not load the requested scheme configuration." +msgstr "無法載入指定的方案之設定。" + +#: dummy.cpp:89 +msgid "Configure the current scheme." +msgstr "設定目å‰æ–¹æ¡ˆã€‚" + +#: dummy.cpp:90 +msgid "Try loading the default configuration." +msgstr "嘗試載入é è¨­çš„設定。" + +#: dummy.cpp:91 +msgid "Maybe the global configuration file is empty or missing." +msgstr "全域組態檔案å¯èƒ½æ˜¯ç©ºçš„或找ä¸åˆ°ã€‚" + +#: dummy.cpp:94 +msgid "Cannot connect to D-Bus. The D-Bus daemon may not be running." +msgstr "無法連線至 D-Bus。D-Bus 背景程å¼å¯èƒ½ä¸¦æ²’有執行。" + +#: dummy.cpp:95 +msgid "" +"Scheme switched to %1. \n" +" Deactivate following devices: %2" +msgstr "" +"將方案切æ›è‡³ %1。\n" +" åœç”¨ä¸‹åˆ—è£ç½®ï¼š%2" + +#: dummy.cpp:96 +msgid "" +"Scheme switched to %1. \n" +" Activate following devices: %2" +msgstr "" +"方案切æ›è‡³ %1。\n" +" 啟用下列è£ç½®ï¼š%2" + +#: dummy.cpp:97 +msgid "Report ..." +msgstr "報告..." + +#: dummy.cpp:98 +msgid "Suspend to RAM is not supported on your machine." +msgstr "您的機器ä¸æ”¯æ´æš«åœ (Suspend to RAM) 功能。" + +#: dummy.cpp:99 +msgid "Additionally, please mail the output of %1 to %2 . Thanks!" +msgstr "此外,請將 %1 的輸出郵寄到 %2,è¬è¬ï¼" + +#: dummy.cpp:100 +msgid "Power consumption" +msgstr "é›»æºæ¶ˆè€—" + +#: dummy.cpp:103 +msgid "KScreensaver not found." +msgstr "找ä¸åˆ° Kscreensaver。" + +#: dummy.cpp:104 +msgid "Try locking with XScreensaver or xlock." +msgstr "嘗試以 XScreensaver 或 xlock 來鎖定。" + +#: dummy.cpp:105 +msgid "XScreensaver not found." +msgstr "找ä¸åˆ° Kscreensaver。" + +#: dummy.cpp:106 +msgid "Try locking the screen with xlock." +msgstr "嘗試以 xlock 來鎖定螢幕。" + +#: dummy.cpp:107 +msgid "" +"XScreensaver and xlock not found. It is not possible to lock the screen. " +"Check your installation." +msgstr "找ä¸åˆ° Kscreensaver 與 xlock。無法鎖定螢幕。請檢查您的安è£ä½œæ¥­ã€‚" + +#: dummy.cpp:111 +msgid "HAL daemon:" +msgstr "HAL 背景程å¼ï¼š" + +#: dummy.cpp:112 +msgid "D-Bus daemon:" +msgstr "D-Bus 背景程å¼ï¼š" + +#: dummy.cpp:113 +msgid "ConsoleKit daemon:" +msgstr "" + +#: dummy.cpp:114 +msgid "Autosuspend activated:" +msgstr "自動暫åœåŠŸèƒ½å·²å•Ÿç”¨ï¼š" + +#: dummy.cpp:115 +#, fuzzy +msgid "Autodimm activated:" +msgstr "自動暫åœåŠŸèƒ½å·²å•Ÿç”¨ï¼š" + +#: dummy.cpp:116 +msgid "enabled" +msgstr "已啟用" + +#: dummy.cpp:117 +msgid "Session active:" +msgstr "" + +#: dummy.cpp:120 +msgid "Inactivity detected." +msgstr "" + +#: dummy.cpp:121 +msgid "To stop the %1 press the 'Cancel' button before the countdown expire." +msgstr "" + +#: dummy.cpp:122 +msgid "The computer autosuspend in: " +msgstr "" + +#: dummy.cpp:123 +#, c-format +msgid "The display get dimmed down to %1% in: " +msgstr "" + +#: dummy.cpp:124 +msgid "%1 seconds" +msgstr "" + +#: dummy.cpp:127 +msgid "Could not call %1. The current desktop session is not active." +msgstr "" + +#: dummy.cpp:128 +msgid "Could not set %1. The current desktop session is not active." +msgstr "" + +#: dummy.cpp:129 +msgid "Stopped %1. The current desktop session is now inactive." +msgstr "" + +#: dummy.cpp:130 +msgid "Restarted %1. The current desktop session is now active again." +msgstr "" + +#: log_viewer.cpp:78 +msgid "Form1" +msgstr "" + +#: log_viewer.cpp:79 +msgid "Save As ..." +msgstr "" + +#: log_viewer.cpp:80 +msgid "Close" +msgstr "" + +#: logviewer.cpp:44 +#, fuzzy +msgid "KPowersave Logfile Viewer: %1" +msgstr "Powersave 已切æ›è‡³æ–¹æ¡ˆï¼š %1" + +#: logviewer.cpp:89 +msgid "File already exist. Overwrite the file?" +msgstr "" + +#: logviewer.cpp:90 logviewer.cpp:97 +#, fuzzy +msgid "Error while save logfile" +msgstr "在準備 %1 時發生錯誤" + +#: logviewer.cpp:95 +msgid "File already exist." +msgstr "" + +#: logviewer.cpp:98 +msgid "Try other filename ..." +msgstr "" + +#: suspenddialog.cpp:70 +msgid "Preparing Suspend..." +msgstr "正在準備暫åœ..." + +#: kpowersave.cpp:168 +msgid "Configure KPowersave..." +msgstr "設定 KPowersave..." + +#: kpowersave.cpp:171 configure_Dialog.cpp:915 +msgid "Configure Notifications..." +msgstr "設定通知..." + +#: kpowersave.cpp:175 +msgid "Start YaST2 Power Management Module..." +msgstr "å•Ÿå‹• YaST2 é›»æºç®¡ç†æ¨¡çµ„..." + +#: kpowersave.cpp:189 kpowersave.cpp:2106 kpowersave.cpp:2166 +#: kpowersave.cpp:2253 +msgid "Standby" +msgstr "å¾…æ©Ÿ" + +#: kpowersave.cpp:191 kpowersave.cpp:198 +msgid "Set CPU Frequency Policy" +msgstr "設定 CPU 頻率方é‡" + +#: kpowersave.cpp:205 kpowersave.cpp:206 +msgid "Set Active Scheme" +msgstr "設定使用中方案" + +#: kpowersave.cpp:212 +msgid "Disable Actions on Inactivity" +msgstr "閒置時åœç”¨çš„動作" + +#: kpowersave.cpp:219 kpowersave.cpp:229 +msgid "&Help" +msgstr "說明(&H)" + +#: kpowersave.cpp:221 +msgid "&KPowersave Handbook" +msgstr "KPowersave 手冊(&K)" + +#: kpowersave.cpp:224 +msgid "&Report a bug ..." +msgstr "錯誤回報(&R)..." + +#: kpowersave.cpp:226 +msgid "&About KPowersave" +msgstr "關於 Kpowersave(&A)" + +#: kpowersave.cpp:275 kpowersave.cpp:648 kpowersave.cpp:656 kpowersave.cpp:703 +#: kpowersave.cpp:710 kpowersave.cpp:759 kpowersave.cpp:766 kpowersave.cpp:815 +#: kpowersave.cpp:822 kpowersave.cpp:1126 kpowersave.cpp:1241 +#: kpowersave.cpp:1270 kpowersave.cpp:2183 +msgid "WARNING" +msgstr "警告" + +#: kpowersave.cpp:275 +msgid "Cannot find any schemes." +msgstr "無法找到任何方案。" + +#: kpowersave.cpp:453 +msgid "No information about battery and AC status available" +msgstr "沒有電池和電æºç‹€æ…‹çš„相關資訊" + +#: kpowersave.cpp:456 +msgid "Plugged in -- fully charged" +msgstr "é›»æºå·²é€£æŽ¥ -- é›»é‡é£½å’Œ" + +#: kpowersave.cpp:460 +msgid "Plugged in" +msgstr "é›»æºå·²é€£æŽ¥" + +#: kpowersave.cpp:464 +msgid "Plugged in -- %1% charged (%2:%3 h until full charged)" +msgstr "é›»æºå·²é€£æŽ¥ -- %1% é›»é‡ (%2:完全飽和尚需 %3 å°æ™‚)" + +#: kpowersave.cpp:467 +msgid "Plugged in -- %1% charged (%2:%3 remaining hours)" +msgstr "é›»æºå·²é€£æŽ¥ -- %1% é›»é‡ (%2:剩餘 %3 å°æ™‚)" + +#: kpowersave.cpp:471 kpowersave.cpp:475 +#, c-format +msgid "Plugged in -- %1% charged" +msgstr "é›»æºå·²é€£æŽ¥ -- %1% é›»é‡" + +#: kpowersave.cpp:474 +msgid "Plugged in -- no battery" +msgstr "é›»æºå·²é€£æŽ¥ -- 沒有電池" + +#: kpowersave.cpp:480 +msgid "Running on batteries -- %1% charged (%2:%3 hours remaining)" +msgstr "使用電池 -- %1% é›»é‡ (%2:剩餘 %3 å°æ™‚)" + +#: kpowersave.cpp:484 +#, c-format +msgid "Running on batteries -- %1% charged" +msgstr "使用電池 -- %1% é›»é‡" + +#: kpowersave.cpp:491 +msgid " -- battery is charging" +msgstr " -- 電池正在充電中" + +#: kpowersave.cpp:649 kpowersave.cpp:657 +msgid "Could not start YaST Power Management Module. Check if it is installed." +msgstr "無法啟動 YaST é›»æºç®¡ç†æ¨¡çµ„,請檢查是å¦å®‰è£ã€‚" + +#: kpowersave.cpp:703 +msgid "Suspend to disk failed" +msgstr "休眠 (Suspend to Disk) 失敗" + +#: kpowersave.cpp:711 +msgid "Suspend to disk disabled by administrator." +msgstr "管ç†å“¡å·±åœç”¨ä¼‘眠 (Suspend to Disk) 功能" + +#: kpowersave.cpp:759 +msgid "Suspend to RAM failed" +msgstr "ç„¡æ³•æš«åœ (Suspend to RAM)" + +#: kpowersave.cpp:767 +msgid "Suspend to RAM disabled by administrator." +msgstr "管ç†å“¡å·²åœç”¨æš«åœ (Suspend to RAM) 功能。" + +#: kpowersave.cpp:815 +msgid "Standby failed" +msgstr "待機失敗" + +#: kpowersave.cpp:822 +msgid "Standby disabled by administrator." +msgstr "管ç†å“¡åœç”¨å¾…機功能。" + +#: kpowersave.cpp:853 +msgid "System is going into suspend mode now" +msgstr "系統å³å°‡é€²å…¥æš«åœæ¨¡å¼" + +#: kpowersave.cpp:1039 +msgid "Could not call DCOP interface to umount external media." +msgstr "ç„¡æ³•å‘¼å« DCOP 介é¢ä¾†å¸è¼‰å¤–部媒體。" + +#: kpowersave.cpp:1044 +msgid "" +"Could not umount external media before suspend/standby. \n" +" (Reason: %1)\n" +" \n" +" Would you like to continue suspend/standby anyway? \n" +"(Warning: Continue suspend can cause data loss!)" +msgstr "" +"無法在 æš«åœ/å¾…æ©Ÿ 之å‰å¸è¼‰å¤–部媒體。\n" +" (原因:%1)\n" +" \n" +" 您是å¦è¦å¼·åˆ¶é€²è¡Œæš«åœæˆ–待機?\n" +" (警告:強制暫åœå¯èƒ½æœƒå°Žè‡´è³‡æ–™éºå¤±ï¼ï¼‰" + +#: kpowersave.cpp:1052 +msgid "Error while prepare %1" +msgstr "在準備 %1 時發生錯誤" + +#: kpowersave.cpp:1053 +msgid "Suspend anyway" +msgstr "å¼·è¿«æš«åœ" + +#: kpowersave.cpp:1053 +msgid "Cancel suspend" +msgstr "å–消暫åœ" + +#: kpowersave.cpp:1127 +msgid "" +"Could not lock the screen. There may be a problem with the selected \n" +"lock method or something else." +msgstr "" +"無法鎖定螢幕。所é¸å–的鎖定方å¼å¯èƒ½æœ‰å•é¡Œï¼Œ\n" +"或者有其他原因。" + +#: kpowersave.cpp:1144 +msgid "The Lid was closed." +msgstr "外蓋已閉闔" + +#: kpowersave.cpp:1156 +msgid "The Lid was opened." +msgstr "外蓋已開啟" + +#: kpowersave.cpp:1223 +msgid "Start KPowersave automatically when you log in?" +msgstr "是å¦è¦åœ¨ç™»å…¥æ™‚,讓 KPowersave 自動啟動?" + +#: kpowersave.cpp:1224 +msgid "Question" +msgstr "å•é¡Œ" + +#: kpowersave.cpp:1225 +msgid "Start Automatically" +msgstr "自動啟動" + +#: kpowersave.cpp:1225 +msgid "Do Not Start" +msgstr "ä¸å•Ÿå‹•" + +#: kpowersave.cpp:1242 +msgid "CPU Freq Policy %1 could not be set." +msgstr "無法將 CPU é »çŽ‡è¨­å®šç‚ºæ–¹é‡ %1。" + +#: kpowersave.cpp:1271 +msgid "Scheme %1 could not be activated." +msgstr "無法啟用 %1 方案。" + +#: kpowersave.cpp:1600 +msgid "" +"The D-Bus daemon is not running.\n" +"Starting it will provide full functionality: /etc/init.d/dbus start" +msgstr "" +"D-Bus 背景程å¼ä¸¦æœªåœ¨åŸ·è¡Œä¸­ã€‚\n" +"啟動它以æ供完整功能:/etc/init.d/dbus start" + +#: kpowersave.cpp:1611 +msgid "Don't show this message again." +msgstr "以後ä¸å†é¡¯ç¤ºé€™å‰‡è¨Šæ¯ã€‚" + +#: kpowersave.cpp:1637 +msgid "ERROR" +msgstr "錯誤" + +#: kpowersave.cpp:1638 +msgid "Could not get information from HAL. The haldaemon is maybe not running." +msgstr "無法å–å¾—ç”± HAL å–得資訊。å¯èƒ½ haldaemon 並未執行。" + +#: kpowersave.cpp:1641 +msgid "Error" +msgstr "錯誤" + +#: kpowersave.cpp:1912 +msgid "" +"Battery state changed to WARNING -- remaining time: %1 hours and %2 minutes." +msgstr "電池狀態變更為「警告〠-- 剩餘時間: %1 å°æ™‚ %2 分é˜ã€‚" + +#: kpowersave.cpp:1921 +msgid "" +"Battery state changed to LOW -- remaining time: %1 hours and %2 minutes." +msgstr "電池狀態變更為「低〠-- 剩餘時間:%1 å°æ™‚ %2 分é˜ã€‚" + +#: kpowersave.cpp:1932 +msgid "" +"Battery state changed to CRITICAL -- remaining time: %1 hours and %2 " +"minutes.\n" +"Shut down your system or plug in the power cable immediately. Otherwise the " +"machine\n" +"will go shutdown in 30 seconds" +msgstr "" +"電池狀態變更為「緊急〠-- 剩餘時間:%1 å°æ™‚ %2 分é˜ã€‚\n" +"è«‹ç«‹å³å°‡æ‚¨çš„系統關機,或是æ’入電æºç·šã€‚å¦å‰‡æ©Ÿå™¨å°‡æ–¼ 30 秒後進行關機。" + +#: kpowersave.cpp:1943 +msgid "" +"Battery state changed to CRITICAL -- remaining time: %1 hours and %2 " +"minutes.\n" +"Shut down your system or plug in the power cable immediately." +msgstr "" +"電池狀態變更為「緊急〠-- 剩餘時間:%1 å°æ™‚ %2 分é˜ã€‚\n" +"è«‹ç«‹å³é—œæ©Ÿï¼Œæˆ–是æ’入電æºç·šã€‚" + +#: kpowersave.cpp:2041 +msgid "AC adapter plugged in" +msgstr "é›»æºè½‰æŽ¥å™¨å·²é€£æŽ¥" + +#: kpowersave.cpp:2043 +msgid "AC adapter unplugged" +msgstr "é›»æºè½‰æŽ¥å™¨å·²æ‹”除" + +#: kpowersave.cpp:2078 +#, fuzzy +msgid "Switched to scheme: %1" +msgstr "Powersave 已切æ›è‡³æ–¹æ¡ˆï¼š %1" + +#: kpowersave.cpp:2095 kpowersave.cpp:2100 kpowersave.cpp:2105 +msgid "System is going into %1 now." +msgstr "系統å³å°‡é€²å…¥ %1。" + +#: kpowersave.cpp:2155 kpowersave.cpp:2160 kpowersave.cpp:2165 +msgid "System is resumed from %1." +msgstr "系統已由 %1 æ¢å¾©ã€‚" + +#: kpowersave.cpp:2184 +msgid "Could not remount (all) external storage media." +msgstr "無法é‡æ–°æŽ›è¼‰ï¼ˆæ‰€æœ‰çš„)外部儲存媒體。" + +#: kpowersave.cpp:2192 +msgid "An unknown error occurred while %1. The errorcode is: '%2'" +msgstr "" + +#: kpowersave.cpp:2197 +#, fuzzy +msgid "Do you want to have a look at the log file?" +msgstr "您是å¦ç¢ºå®šè¦åˆªé™¤ %1 方案?" + +#: kpowersave.cpp:2198 kpowersave.cpp:2224 +#, fuzzy +msgid "Error while %1" +msgstr "在準備 %1 時發生錯誤" + +#: configure_Dialog.cpp:831 +msgid "KPowersave Settings" +msgstr "KPowersave 設定" + +#: configure_Dialog.cpp:832 +msgid "Apply" +msgstr "套用" + +#: configure_Dialog.cpp:834 +msgid "Help" +msgstr "說明" + +#: configure_Dialog.cpp:840 +msgid "Enable specific display power management" +msgstr "啟用指定的顯示器電æºç®¡ç†" + +#: configure_Dialog.cpp:841 +msgid "Standby after:" +msgstr "在下列情æ³ä¹‹å¾Œå¾…機:" + +#: configure_Dialog.cpp:842 +msgid "Only blank the screen" +msgstr "僅讓螢幕變æˆç©ºç™½" + +#: configure_Dialog.cpp:843 +msgid "Disable screen saver" +msgstr "åœç”¨èž¢å¹•ä¿è­·ç¨‹å¼" + +#: configure_Dialog.cpp:844 +msgid "Enable specific screensaver settings" +msgstr "啟用特定的螢幕ä¿è­·ç¨‹å¼è¨­å®š" + +#: configure_Dialog.cpp:845 +msgid "Suspend after:" +msgstr "在下列情æ³ä¹‹å¾Œæš«åœï¼š" + +#: configure_Dialog.cpp:846 +msgid "Power off after:" +msgstr "在下列情形之後關閉電æºï¼š" + +#: configure_Dialog.cpp:847 +msgid "Disable display power management" +msgstr "åœç”¨é¡¯ç¤ºå™¨é›»æºç®¡ç†" + +#: configure_Dialog.cpp:848 configure_Dialog.cpp:849 configure_Dialog.cpp:850 +#: configure_Dialog.cpp:862 configure_Dialog.cpp:873 +msgid " min" +msgstr "最å°" + +#: configure_Dialog.cpp:851 +msgid "Screen Saver and DPMS" +msgstr "螢幕ä¿è­·ç¨‹å¼èˆ‡ DPMS" + +#: configure_Dialog.cpp:852 +msgid "Settings" +msgstr "設定" + +#: configure_Dialog.cpp:853 +msgid "Reset" +msgstr "é‡è¨­" + +#: configure_Dialog.cpp:855 +msgid "Enable scheme specific Brightness settings" +msgstr "啟用特定方案的亮度設定" + +#: configure_Dialog.cpp:858 +msgid "Brightness" +msgstr "亮度" + +#: configure_Dialog.cpp:859 +msgid "Enable autosuspend" +msgstr "啟用自動暫åœ" + +#: configure_Dialog.cpp:860 configure_Dialog.cpp:867 +msgid "Enable scheme-specific blacklist" +msgstr "啟用特定方案的黑åå–®" + +#: configure_Dialog.cpp:861 configure_Dialog.cpp:870 +msgid "after:" +msgstr "在下列情æ³ä¹‹å¾Œï¼š" + +#: configure_Dialog.cpp:863 configure_Dialog.cpp:868 +msgid "Edit Blacklist..." +msgstr "編輯黑åå–®..." + +#: configure_Dialog.cpp:864 configure_Dialog.cpp:869 +msgid "If the current desktop user is inactive the computer will:" +msgstr "如果目å‰çš„æ¡Œé¢ä½¿ç”¨è€…沒有活動,電腦將會:" + +#: configure_Dialog.cpp:865 +msgid "Autosuspend" +msgstr "自動暫åœ" + +#: configure_Dialog.cpp:866 +#, fuzzy +msgid "Enable autodimm the display" +msgstr "在閒置時讓畫é¢è®Šæš—" + +#: configure_Dialog.cpp:871 configure_Dialog.cpp:893 configure_Dialog.cpp:894 +#: configure_Dialog.cpp:895 configure_Dialog.cpp:896 configure_Dialog.cpp:897 +#: configure_Dialog.cpp:898 +msgid " %" +msgstr " %" + +#: configure_Dialog.cpp:872 +msgid "dimm to:" +msgstr "" + +#: configure_Dialog.cpp:874 +msgid "Autodimm" +msgstr "" + +#: configure_Dialog.cpp:879 +msgid "Set CPU Frequency Policy:" +msgstr "設定 CPU 頻率方é‡ï¼š" + +#: configure_Dialog.cpp:880 +msgid "CPU Frequency Policy" +msgstr "CPU 頻率方é‡" + +#: configure_Dialog.cpp:881 +msgid "Disable Notifications" +msgstr "åœç”¨é€šçŸ¥" + +#: configure_Dialog.cpp:884 +msgid "New" +msgstr "æ–°" + +#: configure_Dialog.cpp:885 +msgid "Scheme Settings" +msgstr "方案設定" + +#: configure_Dialog.cpp:886 +msgid "" +"Define the battery warning levels (in percentage) and the releated action if " +"the level get reached:" +msgstr "請指定電池的警告層級(以 % 為單ä½ï¼‰åŠåˆ°é”該層級時的相關動作:" + +#: configure_Dialog.cpp:887 +msgid "Warning level:" +msgstr "「警告ã€å±¤ç´šï¼š" + +#: configure_Dialog.cpp:888 +msgid "Low level:" +msgstr "「低ã€å±¤ç´šï¼š" + +#: configure_Dialog.cpp:889 +msgid "Critical level:" +msgstr "「緊急ã€å±¤ç´šï¼š" + +#: configure_Dialog.cpp:890 configure_Dialog.cpp:891 configure_Dialog.cpp:892 +msgid "if reached call:" +msgstr "到é”時呼å«ï¼š" + +#: configure_Dialog.cpp:899 +msgid "Battery" +msgstr "電池" + +#: configure_Dialog.cpp:900 +msgid "" +"Define the action which should be executed if the related button get pressed:" +msgstr "請指定在按下特定按鈕時所è¦é€²è¡Œçš„動作:" + +#: configure_Dialog.cpp:901 +msgid "Suspend-to-disk Button:" +msgstr "休眠 (Suspend to Disk) 按鈕:" + +#: configure_Dialog.cpp:902 +msgid "Sleep button:" +msgstr "ç¡çœ æŒ‰éˆ•" + +#: configure_Dialog.cpp:903 +msgid "Lid close Button:" +msgstr "外蓋閉闔按鈕:" + +#: configure_Dialog.cpp:904 +msgid "Power Button:" +msgstr "é›»æºæŒ‰éˆ•" + +#: configure_Dialog.cpp:905 +msgid "Button Events" +msgstr "按鈕事件" + +#: configure_Dialog.cpp:906 +msgid "" +"Select the following schemes as default if the system is running on AC or on " +"batteries." +msgstr "如果系統是藉由電æºæˆ–電池é‹ä½œæ™‚,請在以下é¸æ“‡å‡ºé è¨­æ–¹æ¡ˆã€‚" + +#: configure_Dialog.cpp:907 +msgid "Battery scheme:" +msgstr "電池方案:" + +#: configure_Dialog.cpp:908 +msgid "AC scheme:" +msgstr "é›»æºæ–¹æ¡ˆï¼š" + +#: configure_Dialog.cpp:909 +msgid "Default Schemes" +msgstr "é è¨­æ–¹æ¡ˆ" + +#: configure_Dialog.cpp:910 +msgid "Lock screen before suspend or standby" +msgstr "在暫åœæˆ–待機之å‰éŽ–定螢幕" + +#: configure_Dialog.cpp:911 +msgid "Lock screen with:" +msgstr "鎖定螢幕,以:" + +#: configure_Dialog.cpp:912 +msgid "Lock screen on lid close" +msgstr "在關閉筆記型電腦的外蓋時鎖定螢幕。" + +#: configure_Dialog.cpp:913 +msgid "Lock Screen" +msgstr "鎖定螢幕" + +#: configure_Dialog.cpp:914 +msgid "Notifications" +msgstr "通知" + +#: configure_Dialog.cpp:916 +msgid "Autostart" +msgstr "自動啟動" + +#: configure_Dialog.cpp:917 +msgid "Never ask me again on exit" +msgstr "çµæŸæ™‚ä¸è¦å†å•æˆ‘。" + +#: configure_Dialog.cpp:918 +msgid "KPowersave starts automatically on login" +msgstr "KPowersave 會在登入時自動啟動。" + +#: configure_Dialog.cpp:919 +#, fuzzy +msgid "General Blacklists" +msgstr "一般黑åå–®" + +#: configure_Dialog.cpp:920 +#, fuzzy +msgid "Edit Autosuspend Blacklist..." +msgstr "編輯自動暫åœä¹‹é»‘åå–®" + +#: configure_Dialog.cpp:921 +#, fuzzy +msgid "Edit Autodimm Blacklist..." +msgstr "編輯黑åå–®..." + +#: configure_Dialog.cpp:923 +msgid "General Settings" +msgstr "一般設定" + +#~ msgid "Force a new check for ACPI support\n" +#~ msgstr "強制檢查是å¦æ”¯æ´æ–°çš„ ACPI\n" + +#~ msgid "" +#~ "Inactivity detected.\n" +#~ " Machine autosuspend in %1 seconds." +#~ msgstr "" +#~ "åµæ¸¬åˆ°é–’置。\n" +#~ " 電腦會在 %1 秒內自動暫åœã€‚" + +#~ msgid "" +#~ "Inactivity detected.\n" +#~ " Dim display in %1 seconds to %2%." +#~ msgstr "" +#~ "åµæ¸¬åˆ°é–’置。\n" +#~ " ç•«é¢åœ¨ %1 秒內變暗為 %2%。" + +#~ msgid "" +#~ "If you know that it should work, you might override this detection with " +#~ "setting SUSPEND2RAM_FORCE=\"yes\" in /etc/powersave/sleep." +#~ msgstr "" +#~ "若您確定應該有此功能,å¯ä»¥ç”¨ /etc/powersave/sleep 中的 " +#~ "SUSPEND2RAM_FORCE=yes 設定,覆蓋這個åµæ¸¬åŠŸèƒ½ã€‚" + +#~ msgid "Modules unloaded:" +#~ msgstr "å·²å¸è¼‰æ¨¡çµ„:" + +#~ msgid "checking resume kernel" +#~ msgstr "正在檢查 resume 核心" + +#~ msgid "checking for swap partition" +#~ msgstr "正在檢查置æ›åˆ†å‰²å€" + +#~ msgid "unmounting FAT/NTFS partitions" +#~ msgstr "正在å¸è¼‰ FAT/NTFS 分割å€" + +#~ msgid "stopping services" +#~ msgstr "正在åœæ­¢æœå‹™" + +#~ msgid "stopping service:" +#~ msgstr "正在åœæ­¢æœå‹™ï¼š" + +#~ msgid "unloading modules" +#~ msgstr "正在å¸è¼‰æ¨¡çµ„" + +#~ msgid "unloading module:" +#~ msgstr "å¸è¼‰æ¨¡çµ„:" + +#~ msgid "syncing file systems" +#~ msgstr "正在åŒæ­¥æª”案系統" + +#~ msgid "preparing bootloader" +#~ msgstr "正在準備開機程å¼" + +#~ msgid "Powersave switched to scheme: %1" +#~ msgstr "Powersave 已切æ›è‡³æ–¹æ¡ˆï¼š %1" + +#~ msgid "Edit General Blacklist..." +#~ msgstr "編輯一般黑åå–®..." diff --git a/src/Makefile.am b/src/Makefile.am new file mode 100644 index 0000000..9e85c65 --- /dev/null +++ b/src/Makefile.am @@ -0,0 +1,103 @@ +# set the include path for X, qt and KDE +INCLUDES = \ + -DPACKAGE_KDE_SOUND_DIR=\""$(prefix)/share/sounds/"\" \ + $(all_includes) \ + @PACKAGE_CFLAGS@ + +# these are the headers for your project +noinst_HEADERS = \ + autodimm.h \ + autosuspend.h \ + blacklisteditdialog.h \ + configuredialog.h \ + countdowndialog.h \ + dbusHAL.h \ + detaileddialog.h \ + hardware.h \ + hardware_battery.h \ + hardware_batteryCollection.h \ + hardware_cpu.h \ + inactivity.h \ + infodialog.h \ + kpowersave.h \ + logviewer.h \ + privileges.h \ + screen.h \ + settings.h \ + suspenddialog.h + + +# let automoc handle all of the meta source files (moc) +METASOURCES = AUTO + +KDE_ICON = kpowersave + +######################################################################### +# APPLICATION SECTION +######################################################################### +# this is the program that gets installed. it's name is used for all +# of the other Makefile.am variables + +bin_PROGRAMS = +lib_LTLIBRARIES = +kdeinit_LTLIBRARIES = kpowersave.la + +# the application source, library search path, and link libraries +kpowersave_la_SOURCES = \ + dummy.cpp \ + autodimm.cpp \ + autosuspend.cpp \ + blacklistedit_Dialog.ui \ + blacklisteditdialog.cpp \ + configure_Dialog.ui \ + configuredialog.cpp \ + countdown_Dialog.ui \ + countdowndialog.cpp \ + dbusHAL.cpp \ + detailed_Dialog.ui \ + detaileddialog.cpp \ + hardware.cpp \ + hardware_battery.cpp \ + hardware_batteryCollection.cpp \ + hardware_cpu.cpp \ + inactivity.cpp \ + info_Dialog.ui \ + infodialog.cpp \ + kpowersave.cpp \ + kpowersave.skel \ + log_viewer.ui \ + logviewer.cpp \ + main.cpp \ + screen.cpp \ + settings.cpp \ + suspenddialog.cpp \ + suspend_Dialog.ui + + +kpowersave_la_LDFLAGS = $(KDE_RPATH) $(all_libraries) -module -avoid-version +kpowersave_la_LIBADD = $(LIB_KIO) @PACKAGE_LIBS@ -ldbus-qt-1 -lXss -lXext -lXtst + +# this is where the desktop file will go +xdg_apps_DATA = kpowersave.desktop + +# and for autostart +autostartdir = $(prefix)/share/autostart +autostart_DATA = kpowersave-autostart.desktop + +# this is where the shell's XML-GUI resource file goes +shellrcdir = $(kde_datadir)/kpowersave +shellrc_DATA = eventsrc +# shellrc_DATA = kpowersaveui.rc + +# pics subdir +SUBDIRS = pics +messages: + $(EXTRACTRC) *ui eventsrc >> rc.cpp + $(XGETTEXT) `find . -name \*.h -o -name \*.H -o -name \*.cpp -o -name \*.C` -o $(podir)/kpowersave.pot + rm -f rc.cpp + +install-data-local: + $(mkinstalldirs) $(DESTDIR)$(kde_confdir) + $(INSTALL_DATA) $(top_srcdir)/src/config/kpowersaverc_default $(DESTDIR)$(kde_confdir)/kpowersaverc + + diff --git a/src/autodimm.cpp b/src/autodimm.cpp new file mode 100644 index 0000000..03dc0bc --- /dev/null +++ b/src/autodimm.cpp @@ -0,0 +1,91 @@ +/*************************************************************************** + * Copyright (C) 2007 by Danny Kukawka * + * , * + * * + * This program is free software; you can redistribute it and/or modify * + * it under the terms of version 2 of the GNU General Public License * + * as published by the Free Software Foundation. * + * * + * This program is distributed in the hope that it will be useful, * + * but WITHOUT ANY WARRANTY; without even the implied warranty of * + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * + * GNU General Public License for more details. * + * * + * You should have received a copy of the GNU General Public License * + * along with this program; if not, write to the * + * Free Software Foundation, Inc., * + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. * + ***************************************************************************/ + +/*! \file autodimm.cpp + * \brief In this file can be found the autodimm class related code. + * \author Danny Kukawka, , + * \version 0.0.1 + * \date 2007 + */ + +#include "autodimm.h" + +/*! The default constructor of the class autodimm */ +autodimm::autodimm() : inactivity() { + kdDebugFuncIn(trace); + + lastIdleTime = 0; + + checkActivity = new QTimer( this ); + connect( checkActivity, SIGNAL(timeout()), this, SLOT(pollActivity())); + + kdDebugFuncOut(trace); +} + +/*! The default destructor of the class autodimm */ +autodimm::~autodimm() { + kdDebugFuncIn(trace); +} + +/*! + * Public function to start to check (poll) if the user get active again. + */ +void autodimm::startCheckForActivity() { + kdDebugFuncIn(trace); + + lastIdleTime = 0; + + // stop the timer if running + if (checkActivity->isActive()) + checkActivity->stop(); + + checkActivity->start(RECHECK_INTERVALL, false); + + kdDebugFuncOut(trace); +} + +/*! + * \b SLOT to call check if the user is active again. + */ +void autodimm::pollActivity() { + kdDebugFuncIn(trace); + + unsigned long idletime = 0; + + idletime = getXInactivity(); + if (idletime < lastIdleTime) { + kdDebug() << "Looks as if the user is active again (lastIdleTime:" << lastIdleTime + << " , current idletime: " << idletime << ")" << endl; + + // The user is/was active ... + if (idletime <= 1000) + kdDebug() << "Looks as if the user was active within the last second" << endl; + + // stop the timer ... no need to let run ... start again if needed + if (checkActivity->isActive()) checkActivity->stop(); + // emit the signal that the user is active again. + emit UserIsActiveAgain(); + } else { + lastIdleTime = idletime; + } + + kdDebugFuncOut(trace); +} + +#include "autodimm.moc" diff --git a/src/autodimm.h b/src/autodimm.h new file mode 100644 index 0000000..ace1e08 --- /dev/null +++ b/src/autodimm.h @@ -0,0 +1,79 @@ +/*************************************************************************** + * Copyright (C) 2007 by Danny Kukawka * + * , >danny.kukawka@web.de> * + * * + * This program is free software; you can redistribute it and/or modify * + * it under the terms of version 2 of the GNU General Public License * + * as published by the Free Software Foundation. * + * * + * This program is distributed in the hope that it will be useful, * + * but WITHOUT ANY WARRANTY; without even the implied warranty of * + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * + * GNU General Public License for more details. * + * * + * You should have received a copy of the GNU General Public License * + * along with this program; if not, write to the * + * Free Software Foundation, Inc., * + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. * + ***************************************************************************/ + +/*! +* \file autodimm.h +* \brief Headerfile for autodimm.cpp and the class \ref autodimm. +*/ +/*! +* \class autodimm +* \brief class for 'dimm the display on user inactivity' related funtionality +* \author Danny Kukawka, , +* \version 0.0.1 +* \date 2007 +*/ + +#ifndef AUTODIMM_H +#define AUTODIMM_H + +// from project +#include "inactivity.h" + +class autodimm : public inactivity +{ + Q_OBJECT + +public: + //! default constructor + autodimm(); + //! default destructor + ~autodimm(); + + //! to start check if the user is active again + void startCheckForActivity(); + +signals: + //! signal emited if the user is active again + void UserIsActiveAgain(); + +private: + //! idle time from the last check + unsigned long lastIdleTime; + + //! QTimer intervall for the Timer to recheck for user activity + /*! + * The time intervall to recheck for the activity of the user. + * The timeslice is currently 1 sec. + */ + static const int RECHECK_INTERVALL = 1000; + + //! QTimer for check activity + /*! + * This timer is used to check if the user get active again. + * The timerinterval is defined trough \ref RECHECK_INTERVALL . + */ + QTimer *checkActivity; + +private slots: + //! to poll X to get info if the user is active again + void pollActivity(); + +}; + +#endif diff --git a/src/autosuspend.cpp b/src/autosuspend.cpp new file mode 100644 index 0000000..a46a93c --- /dev/null +++ b/src/autosuspend.cpp @@ -0,0 +1,39 @@ +/*************************************************************************** + * Copyright (C) 2004 by Danny Kukawka * + * , * + * * + * This program is free software; you can redistribute it and/or modify * + * it under the terms of version 2 of the GNU General Public License * + * as published by the Free Software Foundation. * + * * + * This program is distributed in the hope that it will be useful, * + * but WITHOUT ANY WARRANTY; without even the implied warranty of * + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * + * GNU General Public License for more details. * + * * + * You should have received a copy of the GNU General Public License * + * along with this program; if not, write to the * + * Free Software Foundation, Inc., * + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. * + ***************************************************************************/ + +/*! \file autosuspend.cpp + * \brief In this file can be found the autosuspend related code. + * \author Danny Kukawka, , + * \date 2005 + */ + +#include "autosuspend.h" + +/*! The default constructor of the class autosuspend */ +autosuspend::autosuspend() : inactivity () { + kdDebugFuncIn(trace); + +} + +/*! The default destructor of the class autosuspend */ +autosuspend::~autosuspend() { + kdDebugFuncIn(trace); +} + +#include "autosuspend.moc" diff --git a/src/autosuspend.h b/src/autosuspend.h new file mode 100644 index 0000000..e537f34 --- /dev/null +++ b/src/autosuspend.h @@ -0,0 +1,48 @@ +/*************************************************************************** + * Copyright (C) 2004 by Danny Kukawka * + * , * + * * + * This program is free software; you can redistribute it and/or modify * + * it under the terms of version 2 of the GNU General Public License * + * as published by the Free Software Foundation. * + * * + * This program is distributed in the hope that it will be useful, * + * but WITHOUT ANY WARRANTY; without even the implied warranty of * + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * + * GNU General Public License for more details. * + * * + * You should have received a copy of the GNU General Public License * + * along with this program; if not, write to the * + * Free Software Foundation, Inc., * + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. * + ***************************************************************************/ + +#ifndef AUTOSUSPEND_H +#define AUTOSUSPEND_H + +// from project +#include "inactivity.h" + +/*! +* \file autosuspend.h +* \brief Headerfile for autosuspend.cpp and the class \ref autosuspend. +*/ +/*! +* \class autosuspend +* \brief class for autosuspend related funtionality +* \author Danny Kukawka, , +* \date 2005 +*/ + +class autosuspend : public inactivity +{ + Q_OBJECT + +public: + //! default constructor + autosuspend(); + //! default destructor + ~autosuspend(); +}; + +#endif diff --git a/src/blacklistedit_Dialog.ui b/src/blacklistedit_Dialog.ui new file mode 100644 index 0000000..5a91bfc --- /dev/null +++ b/src/blacklistedit_Dialog.ui @@ -0,0 +1,275 @@ + +blacklistedit_Dialog + + + blacklistedit_Dialog + + + + 0 + 0 + 490 + 246 + + + + Autosuspend Blacklist Edit + + + true + + + + unnamed + + + + layout2 + + + + unnamed + + + + buttonOk + + + OK + + + + + + true + + + true + + + + + buttonCancel + + + + 1 + 0 + 0 + 0 + + + + Cancel + + + + + + true + + + + + Horizontal Spacing2 + + + Horizontal + + + Expanding + + + + 305 + 20 + + + + + + + + bG_scheme + + + + 7 + 7 + 0 + 0 + + + + + + + + unnamed + + + + lE_blacklist + + + + + pB_add + + + Add + + + + + pB_remove + + + Remove + + + + + + + + lB_blacklist + + + + 7 + 7 + 0 + 0 + + + + + 0 + 150 + + + + + + spacer22 + + + Vertical + + + Preferred + + + + 31 + 20 + + + + + + spacer23 + + + Vertical + + + Preferred + + + + 21 + 140 + + + + + + tLabel_info + + + + 3 + 3 + 0 + 0 + + + + + 220 + 110 + + + + + + + AlignBottom + + + + + + + + + buttonOk + released() + blacklistedit_Dialog + buttonOk_released() + + + buttonCancel + released() + blacklistedit_Dialog + buttonCancel_released() + + + pB_remove + released() + blacklistedit_Dialog + pB_remove_released() + + + pB_add + released() + blacklistedit_Dialog + pB_add_released() + + + lE_blacklist + textChanged(const QString&) + blacklistedit_Dialog + lE_blacklist_textChanged() + + + lB_blacklist + currentChanged(QListBoxItem*) + blacklistedit_Dialog + lB_blacklist_currentChanged() + + + + buttonOk + buttonCancel + lE_blacklist + pB_add + pB_remove + lB_blacklist + + + buttonOk_released() + buttonCancel_released() + buttonApply_released() + pB_remove_released() + pB_add_released() + lB_blacklist_selected( QListBoxItem * ) + lE_blacklist_textChanged() + lB_blacklist_selected() + lB_blacklist_currentChanged(QListBoxItem*) + lB_blacklist_currentChanged() + + + diff --git a/src/blacklisteditdialog.cpp b/src/blacklisteditdialog.cpp new file mode 100644 index 0000000..fb2ce80 --- /dev/null +++ b/src/blacklisteditdialog.cpp @@ -0,0 +1,172 @@ +/*************************************************************************** + * Copyright (C) 2005 by Danny Kukawka * + * danny.kukawka@web.de, dkukawka@suse.de * + * * + * This program is free software; you can redistribute it and/or modify * + * it under the terms of version 2 of the GNU General Public License * + * as published by the Free Software Foundation. * + * * + * This program is distributed in the hope that it will be useful, * + * but WITHOUT ANY WARRANTY; without even the implied warranty of * + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * + * GNU General Public License for more details. * + * * + * You should have received a copy of the GNU General Public License * + * along with this program; if not, write to the * + * Free Software Foundation, Inc., * + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. * + ***************************************************************************/ + +/*! + * \file blacklisteditdialog.cpp + * \brief In this file can be found the "blacklist edit dialog" related code. + * \author Danny Kukawka, , + * \date 2005 + */ + +// own header +#include "blacklisteditdialog.h" + +// KDE headers: +#include +#include + +// QT headers: +#include +#include +#include +#include +#include +#include +#include +#include +#include + +/*! This is the default constructor of class blacklistEditDialog . */ +blacklistEditDialog::blacklistEditDialog( QStringList blacklisted, QString captionName, + bool initImport, QWidget *parent, const char *name) + :blacklistedit_Dialog(parent, name, false, WDestructiveClose ) +{ + blacklist = blacklisted; + + changed = initImport; + + pB_add->setEnabled(false); + pB_remove->setEnabled(false); + + lB_blacklist->insertStringList(blacklist); + lB_blacklist->sort(); + + if (captionName.startsWith(i18n("General Blacklist"))) + this->bG_scheme->setTitle(captionName); + else + this->bG_scheme->setTitle( i18n("Scheme: ") + captionName); + this->setIcon(SmallIcon("configure", QIconSet::Automatic)); + buttonCancel->setIconSet(SmallIconSet("cancel", QIconSet::Automatic)); + buttonOk->setIconSet(SmallIconSet("ok", QIconSet::Automatic)); + pB_add->setIconSet(SmallIconSet("forward", QIconSet::Automatic)); + pB_remove->setIconSet(SmallIconSet("back", QIconSet::Automatic)); + +} + +/*! This is the default destructor of class blacklistEditDialog . */ +blacklistEditDialog::~blacklistEditDialog() +{ + // no need to delete child widgets, Qt does it all for us +} + +/*! + * SLOT: called if the 'ok' button clicked. This SLOT emit + * \ref config_finished() and close the dialog. + */ +void blacklistEditDialog::buttonOk_released() { + + if(changed == true) { + changed = false; + emit config_finished( blacklist ); + } + close(); +} + + +/*! + * SLOT: called if the 'cancel' button clicked. This SLOT close + * the dialog. + */ +void blacklistEditDialog::buttonCancel_released(){ + changed = false; + close(); +} + + +/*! + * SLOT: called if the 'remove' button clicked. The SLOT try to remove + * the selected item from the QListBox and the QStringList \ref blacklist . + */ +void blacklistEditDialog::pB_remove_released(){ + + if(blacklist.remove(lB_blacklist->selectedItem()->text()) > 0) { + lB_blacklist->removeItem(lB_blacklist->currentItem()); + lB_blacklist->sort(); + changed = true; + + pB_remove->setEnabled(false); + tLabel_info->setText(i18n("Selected entry removed.")); + } + else { + tLabel_info->setText(i18n("Could not remove the selected entry.")); + } +} + + +/*! + * SLOT: called if the 'add' button clicked. The SLOT try to add the string from + * the QLineEdit lE_blacklist to the QListBox and the QStringList \ref blacklist . + */ +void blacklistEditDialog::pB_add_released(){ + + QString text = lE_blacklist->text(); + // remove the whitespaces and check if text is empty + if(text.stripWhiteSpace() != "") { + // check if the entry is already present + if(!lB_blacklist->findItem(text, Qt::ExactMatch)) { + lB_blacklist->insertItem(text); + lB_blacklist->sort(); + blacklist.append(text); + blacklist.sort(); + tLabel_info->setText(i18n("Inserted new entry.")); + changed = true; + } + else { + tLabel_info->setText(i18n("Entry exists already. Did not insert new entry.")); + } + } + else tLabel_info->setText(i18n("Empty entry was not inserted.")); + + // set the widgets back to default + lE_blacklist->setText(""); + pB_remove->setEnabled(false); + pB_add->setEnabled(false); +} + + +/*! + * SLOT: called if a item in the QListBox lB_blacklist is selected. + * Here we enable the remove button pB_remove . + */ +void blacklistEditDialog::lB_blacklist_currentChanged(){ + // enable the remove button + pB_remove->setEnabled(true); +} + + +/*! + * SLOT: called if the input-line in the dialog is modified. Here we enable + * the add button pB_add . + */ +void blacklistEditDialog::lE_blacklist_textChanged(){ + // enable the add button + pB_add->setEnabled(true); +} + +#include "blacklisteditdialog.moc" diff --git a/src/blacklisteditdialog.h b/src/blacklisteditdialog.h new file mode 100644 index 0000000..adbf559 --- /dev/null +++ b/src/blacklisteditdialog.h @@ -0,0 +1,94 @@ +/*************************************************************************** + * Copyright (C) 2005 by Danny Kukawka * + * danny.kukawka@web.de, dkukawka@suse.de * + * * + * This program is free software; you can redistribute it and/or modify * + * it under the terms of version 2 of the GNU General Public License * + * as published by the Free Software Foundation. * + * * + * This program is distributed in the hope that it will be useful, * + * but WITHOUT ANY WARRANTY; without even the implied warranty of * + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * + * GNU General Public License for more details. * + * * + * You should have received a copy of the GNU General Public License * + * along with this program; if not, write to the * + * Free Software Foundation, Inc., * + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. * + ***************************************************************************/ + +/*! +* \file blacklisteditdialog.h +* \brief Headerfile for blacklisteditdialog.cpp and the class \ref +* blacklistEditDialog . +*/ +/*! +* \class blacklistEditDialog +* \brief class for dialog to edit the blacklist related funtionality +* \author Danny Kukawka, , +* \date 2005 +*/ + +#ifndef BLACKLISTEDITDIALOG_H +#define BLACKLISTEDITDIALOG_H + +#include "blacklistedit_Dialog.h" + +class blacklistEditDialog: public blacklistedit_Dialog { + + Q_OBJECT + +public: + + //! default constructor + blacklistEditDialog(QStringList blacklisted, QString captionName, bool initImport = false, + QWidget *parent = 0, const char *name = 0); + //! default destructor + ~blacklistEditDialog(); + +private: + + //! QStringList with the blacklisted processes + /*! + * This QStringList contains the given blacklisted processes + * for edit. If the dialog changed, we change also this list. + */ + QStringList blacklist; + + //! to tell if the blacklist was changed + /*! + * This boolean value tells if the current blacklist was changed. + * \li true: if the blacklist changed + * \li false: if the blacklist isn't changed + */ + bool changed; + + +private slots: + + //! called if the 'ok' button clicked + void buttonOk_released(); + //! called if the 'cancel' button clicked + void buttonCancel_released(); + //! called if the 'remove' button clicked + void pB_remove_released(); + //! called if the 'add' button clicked + void pB_add_released(); + //! called if a item of the listbox selected + void lB_blacklist_currentChanged(); + //! called if something input in the QLineEdit + void lE_blacklist_textChanged(); + +signals: + + //! signal emited if the configuration finished + /*! + * This signal is emited if the configuration is finished + * and the blacklist was modified- + * \return QStringList (the modified blacklist) + */ + void config_finished( QStringList ); + +}; + +#endif diff --git a/src/config/kpowersaverc_default b/src/config/kpowersaverc_default new file mode 100644 index 0000000..61e6e05 --- /dev/null +++ b/src/config/kpowersaverc_default @@ -0,0 +1,151 @@ +[General] +lockOnSuspend=true +lockOnLidClose=true +ActionOnLidClose= +ActionOnLidCloseValue= +ActionOnPowerButton=SHUTDOWN +ActionOnPowerButtonValue= +ActionOnSleepButton=SUSPEND2RAM +ActionOnS2DiskButton=SUSPEND2DISK +buttonsAllowedActions=SHUTDOWN,LOGOUT_DIALOG,SUSPEND2DISK,SUSPEND2RAM +AutoSuspendCountdown=true +AutoSuspendCountdownTimeOut=30 +Autostart=true +AutostartNeverAsk=false +unmountExternalOnSuspend=false +callSetPowerSaveOnAC=true +lockMethod=automatic +timeToFakeKeyAfterLock=2500 +forceDpmsOffOnLidClose=true +psMsgAsPassivePopup=false +autoInactiveBlacklist=mplayer,gmplayer,kaffeine,xine,mencoder,cdrecord,cdrecord-dvd,cdrdao,growisofs,kdetv,xawtv,realplay.bin,wodim +autoDimmBlacklist=mplayer,gmplayer,kaffeine,xine,kdetv,xawtv,realplay.bin +schemes=Performance,Powersave,Presentation,Acoustic +ac_scheme=Performance +battery_scheme=Powersave +batteryWarning=12 +batteryWarningAction= +batteryWarningActionValue= +batteryLow=7 +batteryLowAction=BRIGHTNESS +batteryLowActionValue=1 +batteryCritical=2 +batteryCriticalAction=SHUTDOWN +batteryCriticalActionValue= +batteryAllowedActions=SHUTDOWN,SUSPEND2DISK,SUSPEND2RAM,CPUFREQ_POWERSAVE,CPUFREQ_PERFORMANCE,CPUFREQ_DYNAMIC,BRIGHTNESS + +[default-scheme] +specSsSettings=false +disableSs=false +blankSs=false +specPMSettings=false +standbyAfter=5 +suspendAfter=10 +powerOffAfter=15 +disableDPMS=false +autoSuspend=false +autoInactiveAction=_NONE_ +autoInactiveActionAfter=0 +autoInactiveSchemeBlacklistEnabled=false +autoInactiveSchemeBlacklist= +autoDimm=false +autoDimmAfter=0 +autoDimmTo=50 +autoDimmSchemeBlacklistEnabled=false +autoDimmSchemeBlacklist= +enableBrightness=true +brightnessPercent=100 +cpuFreqPolicy=DYNAMIC +cpuFreqPolicyPerformance=51 + +[Performance] +specSsSettings=false +specPMSettings=true +standbyAfter=10 +suspendAfter=20 +powerOffAfter=30 +disableDPMS=false +autoSuspend=false +autoInactiveAction=_NONE_ +autoInactiveActionAfter=0 +autoInactiveSchemeBlacklistEnabled=false +autoInactiveSchemeBlacklist= +autoDimm=false +autoDimmAfter=0 +autoDimmTo=50 +autoDimmSchemeBlacklistEnabled=false +autoDimmSchemeBlacklist= +enableBrightness=true +brightnessPercent=100 +cpuFreqPolicy=DYNAMIC +cpuFreqDynamicPerformance=75 + +[Powersave] +specSsSettings=true +disableSs=false +blankSs=true +specPMSettings=true +standbyAfter=2 +suspendAfter=3 +powerOffAfter=5 +disableDPMS=false +autoSuspend=false +autoInactiveAction=_NONE_ +autoInactiveActionAfter=0 +autoInactiveSchemeBlacklistEnabled=false +autoInactiveSchemeBlacklist= +autoDimm=true +autoDimmAfter=5 +autoDimmTo=15 +autoDimmSchemeBlacklistEnabled=No +autoDimmSchemeBlacklist= +enableBrightness=true +brightnessPercent=50 +cpuFreqPolicy=DYNAMIC +cpuFreqDynamicPerformance=25 + +[Presentation] +specSsSettings=true +disableSs=true +specPMSettings=true +standbyAfter=10 +suspendAfter=20 +powerOffAfter=30 +disableDPMS=true +autoSuspend=false +autoInactiveAction=_NONE_ +autoInactiveActionAfter=0 +autoInactiveSchemeBlacklistEnabled=false +autoInactiveSchemeBlacklist= +autoDimm=false +autoDimmAfter=0 +autoDimmTo=100 +autoDimmSchemeBlacklistEnabled=false +autoDimmSchemeBlacklist= +enableBrightness=true +brightnessPercent=100 +cpuFreqPolicy=DYNAMIC +cpuFreqDynamicPerformance=60 + +[Acoustic] +specSsSettings=true +disableSs=false +specPMSettings=true +standbyAfter=5 +suspendAfter=7 +powerOffAfter=10 +disableDPMS=false +autoSuspend=false +autoInactiveAction=_NONE_ +autoInactiveActionAfter=0 +autoInactiveSchemeBlacklistEnabled=false +autoInactiveSchemeBlacklist= +autoDimm=false +autoDimmAfter=0 +autoDimmTo=50 +autoDimmSchemeBlacklistEnabled=false +autoDimmSchemeBlacklist= +enableBrightness=true +brightnessPercent=100 +cpuFreqPolicy=DYNAMIC +cpuFreqDynamicPerformance=50 diff --git a/src/configure.in.in b/src/configure.in.in new file mode 100644 index 0000000..796c968 --- /dev/null +++ b/src/configure.in.in @@ -0,0 +1,9 @@ +#MIN_CONFIG(3.0.0) + +AM_INIT_AUTOMAKE(kpowersave, 0.1) +AC_C_BIGENDIAN +AC_CHECK_KDEMAXPATHLEN + +AC_PATH_QT +AC_PATH_QT_MOC_UIC + diff --git a/src/configure_Dialog.ui b/src/configure_Dialog.ui new file mode 100644 index 0000000..0578501 --- /dev/null +++ b/src/configure_Dialog.ui @@ -0,0 +1,2602 @@ + +configure_Dialog + + + configure_Dialog + + + + 0 + 0 + 534 + 476 + + + + + 3 + 3 + 0 + 0 + + + + KPowersave Settings + + + true + + + + unnamed + + + + layout5 + + + + unnamed + + + + buttonApply + + + false + + + Apply + + + + + + + + buttonHelp + + + Help + + + + + + true + + + true + + + + + buttonCancel + + + + 1 + 0 + 0 + 0 + + + + Cancel + + + + + + true + + + + + Horizontal Spacing2 + + + Horizontal + + + Expanding + + + + 250 + 20 + + + + + + buttonOk + + + OK + + + + + + true + + + true + + + + + + + tabWidget + + + + 3 + 3 + 0 + 0 + + + + + screen_settings + + + Scheme Settings + + + + unnamed + + + + tB_scheme + + + + 3 + 3 + 0 + 0 + + + + NoFrame + + + Plain + + + 0 + + + 3 + + + + screensaver + + + PaletteBackground + + + Screen Saver and DPMS + + + + unnamed + + + + cB_SpecificPM + + + true + + + Enable specific display power management + + + + + tL_standbyAfter + + + false + + + Standby after: + + + sB_standby + + + + + spacer4 + + + Horizontal + + + Fixed + + + + 20 + 20 + + + + + + cB_blankScreen + + + false + + + Only blank the screen + + + + + cB_disable_Ss + + + false + + + Disable screen saver + + + + + cB_specificSettings + + + Enable specific screensaver settings + + + + + tL_suspendAfter + + + false + + + Suspend after: + + + sB_suspend + + + + + spacer7_2 + + + Horizontal + + + MinimumExpanding + + + + 160 + 20 + + + + + + tL_powerOffAfter + + + false + + + Power off after: + + + sB_powerOff + + + + + cB_disablePM + + + false + + + Disable display power management + + + + + sB_powerOff + + + false + + + min + + + 120 + + + + + sB_suspend + + + false + + + min + + + 120 + + + + + sB_standby + + + false + + + min + + + 120 + + + + + + + brightness + + + PaletteBackground + + + Brightness + + + + unnamed + + + + gB_Brightness + + + true + + + Settings + + + + unnamed + + + + spacer47_2 + + + Horizontal + + + Fixed + + + + 16 + 20 + + + + + + pB_resetBrightness + + + false + + + Reset + + + + + tL_valueBrightness + + + + 5 + 5 + 0 + 0 + + + + + 40 + 30 + + + + + + + + + spacer51 + + + Horizontal + + + Expanding + + + + 231 + 31 + + + + + + spacer44 + + + Vertical + + + MinimumExpanding + + + + 21 + 20 + + + + + + brightnessSlider + + + false + + + StrongFocus + + + 1 + + + 100 + + + 3 + + + 10 + + + Horizontal + + + Below + + + 0 + + + + + + + cB_Brightness + + + Enable scheme specific Brightness settings + + + + + + + + tL_brightness + + + + 0 + 50 + + + + + + + WordBreak|AlignTop + + + + + + + autosuspend + + + PaletteBackground + + + Autosuspend + + + + unnamed + + + + cB_autoSuspend + + + Enable autosuspend + + + + + cB_autoInactivity + + + false + + + + 1 + 5 + 0 + 0 + + + + + 100 + 20 + + + + + 32767 + 20 + + + + + + line2 + + + + 5 + 0 + 0 + 0 + + + + HLine + + + Sunken + + + Horizontal + + + + + cB_Blacklist + + + false + + + Enable scheme-specific blacklist + + + + + tL_autoInactivity_After + + + false + + + + 1 + 5 + 0 + 0 + + + + after: + + + AlignCenter + + + sB_autoInactivity + + + + + sB_autoInactivity + + + false + + + + 1 + 5 + 0 + 0 + + + + min + + + + + pB_editBlacklist + + + false + + + Edit Blacklist... + + + + + spacer17_2 + + + Vertical + + + Preferred + + + + 21 + 50 + + + + + + spacer16 + + + Horizontal + + + Fixed + + + + 30 + 21 + + + + + + tL_autoInactivity_explain + + + false + + + + 1 + 5 + 0 + 0 + + + + If the current desktop user is inactive the computer will: + + + cB_autoInactivity + + + + + + + page + + + PaletteBackground + + + Autodimm + + + + unnamed + + + + cB_autoDimm + + + Enable autodimm the display + + + + + line2_2 + + + + 5 + 0 + 0 + 0 + + + + HLine + + + Sunken + + + Horizontal + + + + + cB_BlacklistDimm + + + false + + + Enable scheme-specific blacklist + + + + + pB_editBlacklistDimm + + + false + + + Edit Blacklist... + + + + + tL_autoDimmExplain + + + false + + + + 1 + 5 + 0 + 0 + + + + + 0 + 0 + + + + If the current desktop user is inactive the computer will: + + + cB_autoInactivity + + + + + spacer83 + + + Vertical + + + Preferred + + + + 20 + 40 + + + + + + tL_autoDimmAfter + + + false + + + + 1 + 5 + 0 + 0 + + + + after: + + + AlignCenter + + + sB_autoInactivity + + + + + sB_autoDimmTo + + + false + + + + 1 + 5 + 0 + 0 + + + + % + + + 100 + + + + + tL_autoDimmTo + + + false + + + + 1 + 5 + 0 + 0 + + + + dimm to: + + + + + spacer16_2 + + + Horizontal + + + Fixed + + + + 20 + 21 + + + + + + sB_autoDimmTime + + + false + + + + 1 + 5 + 0 + 0 + + + + + 32767 + 20 + + + + min + + + + + + + cpufreq + + + PaletteBackground + + + CPU Frequency Policy + + + + unnamed + + + + + Performance + + + + + Dynamic + + + + + Powersave + + + + comboB_cpuFreq + + + + + spacer19 + + + Vertical + + + Expanding + + + + 20 + 170 + + + + + + textLabel1 + + + Set CPU Frequency Policy: + + + comboB_cpuFreq + + + + + spacer18 + + + Horizontal + + + MinimumExpanding + + + + 20 + 20 + + + + + + + + misc + + + PaletteBackground + + + Miscellaneous + + + + unnamed + + + + cB_disableNotifications + + + Disable Notifications + + + + + spacer34 + + + Vertical + + + Expanding + + + + 20 + 170 + + + + + + + + + layout3 + + + + unnamed + + + + pB_deleteScheme + + + Delete + + + + + pB_newScheme + + + New + + + + + listBox_schemes + + + + 5 + 7 + 0 + 0 + + + + + 110 + 0 + + + + + + + + + + TabPage + + + General Settings + + + + unnamed + + + + tB_general + + + 4 + + + + g_bat + + + PaletteBackground + + + Battery + + + + unnamed + + + + textLabel2 + + + + 5 + 3 + 0 + 0 + + + + + 75 + 0 + + + + Define the battery warning levels (in percentage) and the releated action if the level get reached: + + + RichText + + + WordBreak|AlignTop + + + + + textLabel1_2 + + + + 90 + 0 + + + + Warning level: + + + sB_batWarning + + + + + textLabel1_2_2 + + + + 90 + 0 + + + + Low level: + + + sB_batLow + + + + + textLabel1_2_3 + + + + 90 + 0 + + + + Critical level: + + + sB_batCritical + + + + + spacer78 + + + Vertical + + + Expanding + + + + 20 + 50 + + + + + + textLabel3 + + + if reached call: + + + cB_batWarning + + + + + textLabel3_2 + + + if reached call: + + + cB_batLow + + + + + textLabel3_3 + + + if reached call: + + + cB_batCritical + + + + + cB_batWarning + + + + 150 + 0 + + + + + + cB_batLow + + + + 150 + 0 + + + + + + cB_batCritical + + + + 150 + 0 + + + + + + sB_batLowAction_value + + + + 5 + 0 + 0 + 0 + + + + % + + + 100 + + + + + sB_batCritAction_value + + + + 5 + 0 + 0 + 0 + + + + % + + + 100 + + + + + sB_batWarning + + + + 5 + 0 + 0 + 0 + + + + % + + + 100 + + + + + sB_batLow + + + + 5 + 0 + 0 + 0 + + + + % + + + 100 + + + + + sB_batCritical + + + + 5 + 0 + 0 + 0 + + + + % + + + 100 + + + + + sB_batWarnAction_value + + + + 5 + 0 + 0 + 0 + + + + % + + + 100 + + + + + + + g_button + + + PaletteBackground + + + Button Events + + + + unnamed + + + + textLabel1_3_2 + + + + 5 + 1 + 0 + 0 + + + + + 0 + 30 + + + + Define the action which should be executed if the related button get pressed: + + + RichText + + + WordBreak|AlignTop + + + + + textLabel3_4_4 + + + Suspend-to-disk Button: + + + cB_S2DiskButton + + + + + textLabel3_4_3 + + + Sleep button: + + + cB_SleepButton + + + + + textLabel3_4_2 + + + Lid close Button: + + + cB_LidcloseButton + + + + + textLabel3_4 + + + Power Button: + + + cB_PowerButton + + + + + spacer85 + + + Horizontal + + + Expanding + + + + 130 + 20 + + + + + + spacer85_2 + + + Horizontal + + + Expanding + + + + 130 + 20 + + + + + + spacer85_3 + + + Horizontal + + + Expanding + + + + 130 + 20 + + + + + + spacer85_4 + + + Horizontal + + + Expanding + + + + 130 + 20 + + + + + + cB_SleepButton + + + + 160 + 0 + + + + + + cB_LidcloseButton + + + + 160 + 0 + + + + + + cB_PowerButton + + + + 160 + 0 + + + + + + cB_S2DiskButton + + + + 160 + 0 + + + + + + spacer89 + + + Vertical + + + Expanding + + + + 20 + 20 + + + + + + + + g_schemes + + + PaletteBackground + + + Default Schemes + + + + unnamed + + + + textLabel1_3 + + + + 5 + 1 + 0 + 0 + + + + + 0 + 0 + + + + Select the following schemes as default if the system is running on AC or on batteries. + + + RichText + + + WordBreak|AlignTop + + + + + textLabel2_2_2 + + + Battery scheme: + + + cB_batteryScheme + + + + + cB_acScheme + + + + 175 + 0 + + + + + + spacer80 + + + Horizontal + + + Expanding + + + + 110 + 20 + + + + + + spacer80_2 + + + Horizontal + + + Expanding + + + + 110 + 20 + + + + + + cB_batteryScheme + + + + 175 + 0 + + + + + + textLabel2_2 + + + AC scheme: + + + cB_acScheme + + + + + spacer82 + + + Vertical + + + Expanding + + + + 20 + 75 + + + + + + + + g_lock + + + PaletteBackground + + + Lock Screen + + + + unnamed + + + + cB_lockSuspend + + + Lock screen before suspend or standby + + + + + comboB_lock + + + false + + + + + spacer5_2 + + + Horizontal + + + Preferred + + + + 163 + 20 + + + + + + tL_lockWith + + + Lock screen with: + + + comboB_lock + + + + + cB_lockLid + + + Lock screen on lid close + + + + + spacer79 + + + Vertical + + + Expanding + + + + 20 + 110 + + + + + + + + g_misc + + + PaletteBackground + + + Miscellaneous + + + + unnamed + + + + groupBox_notify + + + + 5 + 0 + 0 + 0 + + + + Notifications + + + + unnamed + + + + pB_configNotify + + + Configure Notifications... + + + + + spacer47_3 + + + Horizontal + + + Expanding + + + + 100 + 21 + + + + + + spacer48_2 + + + Horizontal + + + Expanding + + + + 100 + 21 + + + + + + + + groupBox7 + + + Autostart + + + + unnamed + + + + cB_autostart_neverAsk + + + Never ask me again on exit + + + + + cB_autostart + + + KPowersave starts automatically on login + + + + + spacer11 + + + Horizontal + + + Fixed + + + + 16 + 20 + + + + + + + + groupBox7_2 + + + + 5 + 0 + 0 + 0 + + + + General Blacklists + + + + unnamed + + + + pB_editAutosuspendGBlacklist + + + Edit Autosuspend Blacklist... + + + + + spacer47 + + + Horizontal + + + Expanding + + + + 100 + 21 + + + + + + spacer48 + + + Horizontal + + + Expanding + + + + 100 + 21 + + + + + + pB_editAutodimmGBlacklist + + + Edit Autodimm Blacklist... + + + + + + + + + + + + + + + buttonApply + clicked() + configure_Dialog + buttonApply_clicked() + + + cB_specificSettings + toggled(bool) + configure_Dialog + cB_specificSettings_toggled(bool) + + + cB_SpecificPM + toggled(bool) + configure_Dialog + cB_SpecificPM_toggled(bool) + + + cB_disablePM + toggled(bool) + configure_Dialog + cB_disablePM_toggled(bool) + + + cB_disable_Ss + toggled(bool) + configure_Dialog + cB_disable_Ss_toggled(bool) + + + cB_specificSettings + toggled(bool) + configure_Dialog + scheme_valueChanged() + + + cB_disable_Ss + toggled(bool) + configure_Dialog + scheme_valueChanged() + + + cB_blankScreen + toggled(bool) + configure_Dialog + scheme_valueChanged() + + + cB_SpecificPM + toggled(bool) + configure_Dialog + scheme_valueChanged() + + + sB_standby + valueChanged(int) + configure_Dialog + scheme_valueChanged() + + + sB_suspend + valueChanged(int) + configure_Dialog + scheme_valueChanged() + + + sB_powerOff + valueChanged(int) + configure_Dialog + scheme_valueChanged() + + + cB_disablePM + toggled(bool) + configure_Dialog + scheme_valueChanged() + + + buttonOk + clicked() + configure_Dialog + buttonOk_clicked() + + + listBox_schemes + currentChanged(QListBoxItem*) + configure_Dialog + listBox_schemes_currentChanged() + + + buttonCancel + clicked() + configure_Dialog + buttonCancel_clicked() + + + cB_Blacklist + toggled(bool) + configure_Dialog + cB_Blacklist_toggled(bool) + + + cB_autoInactivity + activated(int) + configure_Dialog + cB_autoInactivity_activated(int) + + + cB_autoSuspend + toggled(bool) + configure_Dialog + cB_autoSuspend_toggled(bool) + + + sB_autoInactivity + valueChanged(int) + configure_Dialog + scheme_valueChanged() + + + cB_Brightness + toggled(bool) + configure_Dialog + scheme_valueChanged() + + + cB_Brightness + toggled(bool) + configure_Dialog + cB_Brightness_toggled(bool) + + + pB_resetBrightness + clicked() + configure_Dialog + pB_resetBrightness_clicked() + + + brightnessSlider + sliderMoved(int) + configure_Dialog + brightnessSlider_sliderMoved(int) + + + cB_disableNotifications + toggled(bool) + configure_Dialog + scheme_valueChanged() + + + sB_standby + valueChanged(int) + configure_Dialog + sB_standby_valueChanged() + + + sB_suspend + valueChanged(int) + configure_Dialog + sB_suspend_valueChanged() + + + sB_powerOff + valueChanged(int) + configure_Dialog + sB_powerOff_valueChanged() + + + pB_newScheme + clicked() + configure_Dialog + pB_newScheme_clicked() + + + pB_deleteScheme + clicked() + configure_Dialog + pB_deleteScheme_clicked() + + + comboB_cpuFreq + activated(int) + configure_Dialog + scheme_valueChanged() + + + cB_PowerButton + activated(int) + configure_Dialog + general_valueChanged() + + + cB_LidcloseButton + activated(int) + configure_Dialog + general_valueChanged() + + + cB_SleepButton + activated(int) + configure_Dialog + general_valueChanged() + + + cB_S2DiskButton + activated(int) + configure_Dialog + general_valueChanged() + + + cB_batWarning + activated(int) + configure_Dialog + general_valueChanged() + + + cB_batLow + activated(int) + configure_Dialog + general_valueChanged() + + + cB_batCritical + activated(int) + configure_Dialog + general_valueChanged() + + + sB_batWarning + valueChanged(int) + configure_Dialog + general_valueChanged() + + + sB_batLow + valueChanged(int) + configure_Dialog + general_valueChanged() + + + sB_batCritical + valueChanged(int) + configure_Dialog + general_valueChanged() + + + cB_acScheme + activated(int) + configure_Dialog + general_valueChanged() + + + cB_batteryScheme + activated(int) + configure_Dialog + general_valueChanged() + + + comboB_lock + activated(int) + configure_Dialog + general_valueChanged() + + + cB_lockSuspend + toggled(bool) + configure_Dialog + general_valueChanged() + + + cB_lockLid + toggled(bool) + configure_Dialog + general_valueChanged() + + + pB_configNotify + released() + configure_Dialog + pB_configNotify_released() + + + cB_autostart + toggled(bool) + configure_Dialog + general_valueChanged() + + + cB_autostart_neverAsk + toggled(bool) + configure_Dialog + general_valueChanged() + + + sB_batWarning + valueChanged(int) + configure_Dialog + sB_batWarning_valueChanged() + + + sB_batLow + valueChanged(int) + configure_Dialog + sB_batLow_valueChanged() + + + sB_batCritical + valueChanged(int) + configure_Dialog + sB_batCritical_valueChanged() + + + sB_batWarnAction_value + valueChanged(int) + configure_Dialog + general_valueChanged() + + + sB_batLowAction_value + valueChanged(int) + configure_Dialog + general_valueChanged() + + + sB_batCritAction_value + valueChanged(int) + configure_Dialog + general_valueChanged() + + + cB_batWarning + activated(int) + configure_Dialog + cB_batWarning_activated() + + + cB_batLow + activated(int) + configure_Dialog + cB_batLow_activated() + + + cB_batCritical + activated(int) + configure_Dialog + cB_batCritical_activated() + + + cB_autoDimm + toggled(bool) + configure_Dialog + cB_autoDimm_toggled(bool) + + + sB_autoDimmTime + valueChanged(int) + configure_Dialog + scheme_valueChanged() + + + sB_autoDimmTo + valueChanged(int) + configure_Dialog + scheme_valueChanged() + + + cB_BlacklistDimm + toggled(bool) + configure_Dialog + cB_BlacklistDimm_toggled(bool) + + + pB_editBlacklistDimm + clicked() + configure_Dialog + pB_editBlacklistDimm_clicked() + + + pB_editBlacklist + clicked() + configure_Dialog + pB_editBlacklistSuspend_clicked() + + + pB_editAutosuspendGBlacklist + clicked() + configure_Dialog + pB_editBlacklistSuspend_clicked() + + + pB_editAutodimmGBlacklist + clicked() + configure_Dialog + pB_editBlacklistDimm_clicked() + + + sB_autoDimmTime + valueChanged(int) + configure_Dialog + sB_autoDimmTime_valueChanged(int) + + + + tabWidget + buttonOk + buttonApply + buttonCancel + listBox_schemes + pB_newScheme + pB_deleteScheme + cB_specificSettings + cB_disable_Ss + cB_blankScreen + cB_SpecificPM + sB_standby + sB_suspend + sB_powerOff + cB_disablePM + cB_Brightness + brightnessSlider + pB_resetBrightness + cB_autoSuspend + cB_autoInactivity + sB_autoInactivity + cB_Blacklist + pB_editBlacklist + comboB_cpuFreq + cB_disableNotifications + sB_batWarning + sB_batLow + sB_batCritical + cB_batWarning + cB_batLow + cB_batCritical + sB_batWarnAction_value + sB_batLowAction_value + sB_batCritAction_value + cB_PowerButton + cB_LidcloseButton + cB_SleepButton + cB_S2DiskButton + cB_acScheme + cB_batteryScheme + cB_lockSuspend + cB_lockLid + comboB_lock + pB_editAutosuspendGBlacklist + pB_configNotify + cB_autostart + cB_autostart_neverAsk + buttonHelp + + + buttonApply_clicked() + cB_specificSettings_toggled( bool ) + cB_SpecificPM_toggled( bool ) + cB_disablePM_toggled( bool ) + cB_disable_Ss_toggled( bool ) + buttonOk_clicked() + listBox_schemes_currentChanged() + buttonCancel_clicked() + comboB_autoInactivity_activated( int ) + cB_Blacklist_toggled( bool ) + cB_autoInactivity_activated( int ) + pB_editBlacklist_clicked() + cB_disableAutosuspendSound_toggled( bool ) + cB_disableBatSound_toggled( bool ) + cB_batWarning_toggled( bool ) + cB_batLow_toggled( bool ) + cB_batCritical_toggled( bool ) + cB_autosuspendSound_toggled( bool ) + pB_playWarning_released() + pB_playLow_released() + pB_playCritical_released() + pB_playAutosuspend_released() + pB_fileDialogWarning_released() + pB_fileDialogLow_released() + pB_fileDialogCritical_released() + pB_fileDialogAutosuspend_released() + cB_ACOutSound_toggled( bool ) + cB_ACInSound_toggled( bool ) + pB_playACOut_released() + pB_playACIn_released() + pB_fileDialogACOut_released() + pB_fileDialogACIn_released() + lE_path_textChanged() + cB_autoSuspend_toggled( bool ) + buttonHelp_clicked() + cB_Brightness_toggled( bool ) + brighnessSlider_valueChanged( int ) + pB_testBrightness_clicked() + pB_resetBrightness_clicked() + brightnessSlider_valueChanged( int ) + brightnessSlider_sliderMoved( int ) + cB_disableNotifications_toggled( bool ) + sB_standby_valueChanged() + sB_suspend_valueChanged() + sB_powerOff_valueChanged() + pB_newScheme_clicked() + pB_deleteScheme_clicked() + comboB_cpuFreq_activated( int ) + scheme_valueChanged() + pB_configNotify_released() + sB_batWarning_valueChanged() + sB_batLow_valueChanged() + sB_batCritical_valueChanged() + general_valueChanged() + cB_batWarning_activated() + cB_batLow_activated() + cB_batCritical_activated() + cB_autoDimm_toggled( bool ) + cB_BlacklistDimm_toggled( bool ) + pB_editBlacklistDimm_clicked() + pB_editAutosuspendBlacklist_clicked() + pB_editBlacklistSuspend_clicked() + pB_editAutosuspendGBlacklist_released() + pB_editAutosuspendGBlacklist_clicked() + pB_editAutodimmGBlacklist_clicked() + sB_autoDimmTime_valueChanged( int ) + + + diff --git a/src/configuredialog.cpp b/src/configuredialog.cpp new file mode 100644 index 0000000..196b26b --- /dev/null +++ b/src/configuredialog.cpp @@ -0,0 +1,1874 @@ +/*************************************************************************** + * Copyright (C) 2005 by Danny Kukawka * + * , * + * * + * This program is free software; you can redistribute it and/or modify * + * it under the terms of version 2 of the GNU General Public License * + * as published by the Free Software Foundation. * + * * + * This program is distributed in the hope that it will be useful, * + * but WITHOUT ANY WARRANTY; without even the implied warranty of * + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * + * GNU General Public License for more details. * + * * + * You should have received a copy of the GNU General Public License * + * along with this program; if not, write to the * + * Free Software Foundation, Inc., * + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. * + ***************************************************************************/ + +/*! \file configuredialog.cpp + * All here displayed file members of configureDialog.cpp are related to operations with the + * configure dialog for kpowersave + * \brief In this file can be found all configure dialog related code. + * \author Danny Kukawka, , + * \date 2005 + */ + + // KDE - Headers + #include + #include + #include + #include + #include + #include + #include + + // QT - Headers + #include + #include + #include + #include + #include + #include + #include + #include + #include + #include + #include + #include + #include + #include + #include + + #include "configuredialog.h" + +/*! This is the default constructor of the class ConfigureDialog. */ +ConfigureDialog::ConfigureDialog( KConfig *_config, HardwareInfo *_hwinfo, Settings *_settings, + QWidget *parent, const char *name) + :configure_Dialog(parent, name, false, WDestructiveClose ) +{ + kdDebugFuncIn(trace); + + kconfig = _config; + settings = _settings; + hwinfo = _hwinfo; + suspend = hwinfo->getSuspendSupport(); + + QString session = getenv("DESKTOP_SESSION"); + if(session.startsWith("gnome")) gnome_session = true; + else gnome_session = false; + + initalised = false; + general_changed = false; + scheme_changed = false; + displayed_WARN_autosuspend = false; + + // check if brightness is supporte + if(hwinfo->supportBrightness()) { + brightnessLevels = hwinfo->getMaxBrightnessLevel() -1; + brightness_last = hwinfo->getCurrentBrightnessLevel(); + } else { + brightnessLevels = -1; + brightness_last = -1; + } + brightness_changed = false; + + currentScheme = -1; + + // get the correct available suspend types + SuspendStates suspend = hwinfo->getSuspendSupport(); + if( suspend.suspend2ram && (suspend.suspend2ram_allowed || suspend.suspend2ram_allowed == -1)) + actions.append("Suspend to RAM"); + if ( suspend.suspend2disk && (suspend.suspend2disk_allowed || suspend.suspend2disk_allowed == -1)) + actions.append("Suspend to Disk"); + if ( suspend.standby && (suspend.standby_allowed || suspend.standby_allowed == -1)) + actions.append("Standby"); + + setIcons(); + setTooltips(); + getSchemeList(); + setSchemeList(); + setGeneralSettings(); + setInactivityBox(); + selectScheme(settings->currentScheme); + + tL_valueBrightness->setFrameStyle(QFrame::Panel | QFrame::Sunken); + tL_valueBrightness->setBackgroundMode(Qt::PaletteBase); + tL_valueBrightness->setAlignment(Qt::AlignCenter); + tL_valueBrightness->setFocusPolicy(NoFocus); + + // hide Lid item if this is not a laptop + if (!hwinfo->isLaptop()) + cB_lockLid->hide(); + // hide CPU Freq page if not supported + if (!hwinfo->supportCPUFreq()) { + tB_scheme->setItemLabel( 4, tB_scheme->itemLabel(4) + i18n(" - not supported")); + tB_scheme->setItemEnabled( 4, false); + } + + if (!hwinfo->supportBrightness()) { + tB_scheme->setItemLabel( 3, tB_scheme->itemLabel(3) + i18n(" - not supported")); + tB_scheme->setItemEnabled( 3, false); + } + + initalised = true; + kdDebugFuncOut(trace); +} + +/*! This is the default destructor of the class ConfigureDialog. */ +ConfigureDialog::~ConfigureDialog(){ + kdDebugFuncIn(trace); + // no need to delete child widgets, Qt does it all for us +} + +/* ---- START General setup SECTION ---- */ + +/*! + * This used to fill the QListBox listBox_schemes and the scheme related QComboBoxes + * with the existing schemes. + */ +void ConfigureDialog::setSchemeList(){ + kdDebugFuncIn(trace); + + listBox_schemes->clear(); + cB_acScheme->clear(); + cB_batteryScheme->clear(); + + for ( QStringList::Iterator it = schemes.begin(); it != schemes.end(); ++it ) { + QString _tmp = *it; + if(_tmp == "Performance" || _tmp == i18n("Performance")) { + listBox_schemes->insertItem(SmallIcon("scheme_power", QIconSet::Automatic), i18n(_tmp)); + cB_acScheme->insertItem(i18n(_tmp)); + cB_batteryScheme->insertItem(i18n(_tmp)); + } else if(_tmp == "Powersave" || _tmp == i18n("Powersave")) { + listBox_schemes->insertItem(SmallIcon("scheme_powersave", QIconSet::Automatic), + i18n(_tmp)); + cB_acScheme->insertItem(i18n(_tmp)); + cB_batteryScheme->insertItem(i18n(_tmp)); + } else if(_tmp == "Presentation" || _tmp == i18n("Presentation")){ + listBox_schemes->insertItem(SmallIcon("scheme_presentation", QIconSet::Automatic), + i18n(_tmp)); + cB_acScheme->insertItem(i18n(_tmp)); + cB_batteryScheme->insertItem(i18n(_tmp)); + } else if(_tmp == "Acoustic" || _tmp == i18n("Acoustic")) { + listBox_schemes->insertItem(SmallIcon("scheme_acoustic", QIconSet::Automatic), + i18n(_tmp)); + cB_acScheme->insertItem(i18n(_tmp)); + cB_batteryScheme->insertItem(i18n(_tmp)); + } else if(_tmp == "AdvancedPowersave" || _tmp == i18n("Advanced Powersave")) { + listBox_schemes->insertItem(SmallIcon("scheme_advanced_powersave", + QIconSet::Automatic), i18n("Advanced Powersave")); + cB_acScheme->insertItem(i18n("Advanced Powersave")); + cB_batteryScheme->insertItem(i18n("Advanced Powersave")); + } else { + listBox_schemes->insertItem(i18n(_tmp)); + cB_acScheme->insertItem(i18n(_tmp)); + cB_batteryScheme->insertItem(i18n(_tmp)); + } + } + + KAcceleratorManager::manage(pB_newScheme); + kdDebugFuncOut(trace); +} + +/*! + * This used to get the list of schemes in from the config + */ +void ConfigureDialog::getSchemeList(){ + kdDebugFuncIn(trace); + + if (kconfig->hasGroup("General")) { + kconfig->setGroup("General"); + schemes = kconfig->readListEntry("schemes", ','); + } + + kdDebugFuncOut(trace); +} + +/*! + * This used to set the current scheme based on the name of the scheme + * \param _scheme QString with the name of the scheme + */ +void ConfigureDialog::selectScheme (QString _scheme){ + kdDebugFuncIn(trace); + + // select the current scheme in the listbox + if(!_scheme.isEmpty()) { + int pos = schemes.findIndex(_scheme); + if(pos > -1) { + listBox_schemes->setCurrentItem(pos); + currentScheme = pos; + } else { + listBox_schemes->setCurrentItem(0); + } + } else { + listBox_schemes->setCurrentItem(0); + } + + kdDebugFuncOut(trace); +} + +/*! + * This used to set all needed Icons for the dialog. + */ +void ConfigureDialog::setIcons(){ + kdDebugFuncIn(trace); + + /* set all Icons */ + this->setIcon(SmallIcon("kpowersave", QIconSet::Automatic)); + buttonApply->setIconSet(SmallIconSet("apply", QIconSet::Automatic)); + buttonCancel->setIconSet(SmallIconSet("cancel", QIconSet::Automatic)); + buttonOk->setIconSet(SmallIconSet("ok", QIconSet::Automatic)); + buttonHelp->setIconSet(SmallIconSet("help", QIconSet::Automatic)); + + pB_editBlacklist->setIconSet(SmallIconSet("configure", QIconSet::Automatic)); + pB_editBlacklistDimm->setIconSet(SmallIconSet("configure", QIconSet::Automatic)); + pB_editAutosuspendGBlacklist->setIconSet(SmallIconSet("configure", QIconSet::Automatic)); + pB_editAutodimmGBlacklist->setIconSet(SmallIconSet("configure", QIconSet::Automatic)); + + tB_scheme->setItemIconSet( 0 ,SmallIcon("kscreensaver", QIconSet::Automatic)); + tB_scheme->setItemIconSet( 1 ,SmallIcon("display", QIconSet::Automatic)); + + if(actions[0] == "Suspend to Disk") + tB_scheme->setItemIconSet( 2 ,SmallIcon("suspend_to_disk", QIconSet::Automatic)); + else if(actions[0] == "Suspend to RAM") + tB_scheme->setItemIconSet( 2 ,SmallIcon("suspend_to_ram", QIconSet::Automatic)); + else if(actions[0] == "Standby") + tB_scheme->setItemIconSet( 2 ,SmallIcon("stand_by", QIconSet::Automatic)); + + tB_scheme->setItemIconSet( 3 ,SmallIcon("autodimm", QIconSet::Automatic)); + tB_scheme->setItemIconSet( 4 ,SmallIcon("processor", QIconSet::Automatic)); + tB_scheme->setItemIconSet( 5 ,SmallIcon("misc", QIconSet::Automatic)); + + tB_general->setItemIconSet( 0, SmallIcon( "scheme_powersave", QIconSet::Automatic)); + tB_general->setItemIconSet( 1, SmallIcon( "button", QIconSet::Automatic)); + tB_general->setItemIconSet( 2, SmallIcon( "scheme_power", QIconSet::Automatic)); + tB_general->setItemIconSet( 3, SmallIcon( "lock", QIconSet::Automatic)); + tB_general->setItemIconSet( 4, SmallIcon( "misc", QIconSet::Automatic)); + pB_configNotify->setIconSet(SmallIconSet("knotify", QIconSet::Automatic)); + + kdDebugFuncOut(trace); +} + +/*! + * This used to set all needed Tooltips for the dialog. + */ +void ConfigureDialog::setTooltips(){ + kdDebugFuncIn(trace); + + // QToolTip::setWakeUpDelay ( 1000 ); + QToolTip::add(cB_specificSettings, i18n("This enables specific screen saver settings. \n" + "Note: If selected, the global screen saver settings are \n" + "overwritten while kpowersave runs.")); + QToolTip::add(cB_disable_Ss, i18n("This disables the screen saver. \n" + "Note: If selected, the global screen saver settings are \n" + "overwritten while kpowersave runs.")); + QToolTip::add(cB_blankScreen, i18n("This blanks the screen instead of using a specific screen saver. \n" + "Note: This may work only with KScreensaver.")); + QToolTip::add(cB_SpecificPM, i18n("This enables specific DPMS settings. \n" + "Note: If selected, the global DPMS settings are \n" + "overwritten while kpowersave runs.")); + QToolTip::add(cB_disablePM, i18n("This disables DPMS support.")); + QToolTip::add(cB_lockSuspend, i18n("If selected, the screen is locked on suspend or standby.")); + QToolTip::add(cB_lockLid, i18n("If selected, the screen is locked if the lid close event is triggered.")); + + QToolTip::add(cB_autoSuspend, i18n("Check this box to enable or disable automatic suspension of " + "the computer.")); + QToolTip::add(cB_autoInactivity, i18n("Activate this action if the user was inactive for the defined " + "time \n(greater than 0 minutes). If empty, nothing happens.")); + + tB_scheme->setItemToolTip ( 0, i18n("All scheme-related screen saver and DPMS settings.")); + tB_scheme->setItemToolTip ( 1, i18n("All scheme-related display brightness settings.")); + tB_scheme->setItemToolTip ( 2, i18n("All scheme-related automatic suspend settings.")); + + QToolTip::add(brightnessSlider, i18n("Here you can change the brightness of your display. \n" + "Use the slider to change the brightness directly for \n" + "testing. To reset back to previous level, please press \n" + "the 'Reset' button. ")); + QToolTip::add(pB_resetBrightness, i18n("Use this button to set back the slider and the " + "display brightness.")); + + kdDebugFuncOut(trace); +} + +/*! + * This function is used to get the real name of the predefined schemes. + * This is a workaround for the case if Yast translated the name of the + * scheme In this case is a new config section created and the old settings + * would be lost. + * \param s_scheme QString with the 'current' name of the scheme + * \return QString with the english name of the scheme + */ +QString ConfigureDialog::getSchemeRealName(QString s_scheme) { + kdDebugFuncIn(trace); + QString ret = s_scheme; + + if( s_scheme == "Performance" || s_scheme == i18n("Performance")) + ret = "Performance"; + else if( s_scheme == "Powersave" || s_scheme == i18n("Powersave")) + ret = "Powersave"; + else if( s_scheme == "Presentation" || s_scheme == i18n("Presentation")) + ret = "Presentation"; + else if( s_scheme == "Acoustic" || s_scheme == i18n("Acoustic")) + ret = "Acoustic"; + + kdDebugFuncOut(trace); + return ret; +} + +/*! + * This function is used to read the settings from configfile and + * set the values to the related dialog elements. + * \param schemeID Integer value, represent the position of the + * scheme in the QListBox and within the pdaemon-list. + */ +void ConfigureDialog::setConfigToDialog( int schemeID ){ + if (trace) kdDebug() << funcinfo << "IN , scheme: " << schemeID << endl; + + initalised = false; + + QString s_scheme = getSchemeRealName(schemes[schemeID]); + if (kconfig->hasGroup(s_scheme)){ + settings->load_general_settings(); + + // set the delete scheme button enabled if needed + if (!s_scheme.startsWith("Performance") && !s_scheme.startsWith("Powersave") && + !s_scheme.startsWith("Presentation") && !s_scheme.startsWith("Acoustic")) { + if (!s_scheme.startsWith(settings->ac_scheme) || + !s_scheme.startsWith(settings->battery_scheme)) { + // enable delete button + pB_deleteScheme->setEnabled( true ); + QToolTip::add(pB_deleteScheme, i18n("Press this button to delete the " + "selected scheme.")); + } else { + // disable button + pB_deleteScheme->setEnabled( false ); + QToolTip::add(pB_deleteScheme, i18n("You can't delete the current AC " + "or battery scheme.")); + } + } else { + // disable button, can't delete these scheme, they are default + pB_deleteScheme->setEnabled( false ); + QToolTip::add(pB_deleteScheme, i18n("You can't delete this default scheme.")); + } + + kconfig->setGroup(s_scheme); + } + // no configuration found, set to default values ?! + else { + if(kconfig->hasGroup("default-scheme")) + kconfig->setGroup("default-scheme"); + else { + kdDebugFuncOut(trace); + return; + } + } + + cB_disable_Ss_toggled(kconfig->readBoolEntry("disableSs",false)); + cB_blankScreen->setChecked(kconfig->readBoolEntry("blankSs",false)); + cB_specificSettings_toggled(kconfig->readBoolEntry("specSsSettings",false)); + + int i_standby = kconfig->readNumEntry("standbyAfter", -1); + if(i_standby >= 0) { + sB_standby->setValue(i_standby); + } + else { + // load value from default-scheme + if(kconfig->hasGroup("default-scheme")){ + kconfig->setGroup("default-scheme"); + i_standby = kconfig->readNumEntry("standbyAfter", -1); + if(i_standby >= 0) { + sB_standby->setValue(i_standby); + } + else sB_standby->setValue(0); + } + else{ + sB_standby->setValue(0); + } + // reset group to selected scheme + if (kconfig->hasGroup(s_scheme)) kconfig->setGroup(s_scheme); + else kconfig->setGroup("default-scheme"); + } + + int i_suspend = kconfig->readNumEntry("suspendAfter", -1); + if(i_suspend >= 0) { + sB_suspend->setValue(i_suspend); + } + else { + // load value from default-scheme + if(kconfig->hasGroup("default-scheme")){ + kconfig->setGroup("default-scheme"); + i_standby = kconfig->readNumEntry("suspendAfter", -1); + if(i_standby >= 0) { + sB_standby->setValue(i_standby); + } + else sB_standby->setValue(0); + } + else{ + sB_standby->setValue(0); + } + // reset group to selected scheme + if (kconfig->hasGroup(s_scheme)) kconfig->setGroup(s_scheme); + else kconfig->setGroup("default-scheme"); + } + + int i_poweroff = kconfig->readNumEntry("powerOffAfter", -1); + if(i_poweroff >= 0) { + sB_powerOff->setValue(i_poweroff); + } + else { + // load value from default-scheme + if(kconfig->hasGroup("default-scheme")){ + kconfig->setGroup("default-scheme"); + i_standby = kconfig->readNumEntry("powerOffAfter", -1); + if(i_poweroff >= 0) { + sB_powerOff->setValue(i_poweroff); + } + else sB_powerOff->setValue(0); + } + else{ + sB_powerOff->setValue(0); + } + // reset group to selected scheme + if (kconfig->hasGroup(s_scheme)) kconfig->setGroup(s_scheme); + else kconfig->setGroup("default-scheme"); + } + + cB_SpecificPM_toggled(kconfig->readBoolEntry("specPMSettings",false)); + cB_disablePM_toggled(kconfig->readBoolEntry("disableDPMS",false)); + + // set autosuspend related settings + QString _action = kconfig->readEntry("autoInactiveAction", "NULL"); + if( _action != "NULL") { + int _index = actions.findIndex(_action); + if( _index != -1) { + cB_autoInactivity->setCurrentItem( _index ); + cB_autoInactivity_activated( _index ); + cB_Blacklist->setEnabled(true); + } + else { + // set to empty element if not supported by current machine or + // if the value is "_NONE_" + cB_autoInactivity->setCurrentItem( 0 ); + cB_autoInactivity_activated( 0 ); + cB_Blacklist->setEnabled(false); + } + } + else { + // set to disabled (to reduce code), if a entry found set to enabled ! + cB_Blacklist->setEnabled(false); + + if(kconfig->hasGroup("default-scheme")){ + kconfig->setGroup("default-scheme"); + _action = kconfig->readEntry("autoInactiveAction", "NULL"); + if(_action != "NULL") { + int _index = actions.findIndex(_action); + if( _index != -1) { + cB_autoInactivity->setCurrentItem( _index ); + tL_autoInactivity_After->setEnabled(true); + cB_Blacklist->setEnabled(true); + } + else { + cB_autoInactivity->setCurrentItem( 0 ); + } + } + else { + cB_autoInactivity->setCurrentItem( 0 ); + } + // reset group to selected scheme + if (kconfig->hasGroup(s_scheme)) kconfig->setGroup(s_scheme); + else kconfig->setGroup("default-scheme"); + } + else{ + cB_autoInactivity->setCurrentItem( 0 ); + } + } + if( cB_autoInactivity->currentItem() == 0 ) { + sB_autoInactivity->setEnabled(false); + tL_autoInactivity_After->setEnabled(false); + } + + int i_autoInactivityAfter = kconfig->readNumEntry("autoInactiveActionAfter", -1); + if(i_autoInactivityAfter >= 0) { + sB_autoInactivity->setValue(i_autoInactivityAfter); + } + else { + // load value from default-scheme + if(kconfig->hasGroup("default-scheme")){ + kconfig->setGroup("default-scheme"); + i_autoInactivityAfter = kconfig->readNumEntry("autoInactiveActionAfter", -1); + if(i_autoInactivityAfter >= 0) { + sB_autoInactivity->setValue(i_autoInactivityAfter); + } + else sB_autoInactivity->setValue(0); + } + else{ + sB_autoInactivity->setValue(0); + } + // reset group to selected scheme + if (kconfig->hasGroup(s_scheme)) kconfig->setGroup(s_scheme); + else kconfig->setGroup("default-scheme"); + } + + if (hwinfo->supportBrightness()) { + // enable the widgets + cB_Brightness->setEnabled(true); + cB_Brightness_toggled(kconfig->readBoolEntry("enableBrightness",false)); + + if (brightnessLevels > 33) + brightnessSlider->setLineStep(3); + else + brightnessSlider->setLineStep(100/brightnessLevels); + + brightnessSlider->setPageStep(10); + + int i_brightnessPercent = kconfig->readNumEntry("brightnessPercent", -1); + if(i_brightnessPercent >= 0) { + brightnessSlider->setValue(i_brightnessPercent); + tL_valueBrightness->setText(QString::number(i_brightnessPercent) + " %"); + } + else { + brightnessSlider->setValue(100); + tL_valueBrightness->setText(QString::number(100)+ " %"); + } + + tL_brightness->setText(i18n("Your hardware supports to change the brightness. The " + "values of the slider are in percent and mapped " + "to the available brightness levels of your hardware.")); + } + else { + cB_Brightness->setEnabled(false); + gB_Brightness->setEnabled(false); + tL_brightness->setText(i18n("Your Hardware currently not support changing the brightness " + "of your display.")); + } + + // no need to enable autodimm if not support change brightness + if (hwinfo->supportBrightness()) { + int i_autoDimmAfter = kconfig->readNumEntry("autoDimmAfter", -1); + if(i_autoDimmAfter >= 0) { + sB_autoDimmTime->setValue(i_autoDimmAfter); + } + else { + // load value from default-scheme + if(kconfig->hasGroup("default-scheme")){ + kconfig->setGroup("default-scheme"); + i_autoDimmAfter = kconfig->readNumEntry("autoDimmAfter", -1); + if(i_autoDimmAfter >= 0) { + sB_autoDimmTime->setValue(i_autoDimmAfter); + } + else sB_autoDimmTime->setValue(0); + } + else{ + sB_autoDimmTime->setValue(0); + } + // reset group to selected scheme + if (kconfig->hasGroup(s_scheme)) kconfig->setGroup(s_scheme); + else kconfig->setGroup("default-scheme"); + } + + int i_autoDimmTo = kconfig->readNumEntry("autoDimmTo", -1); + if(i_autoDimmTo >= 0) { + sB_autoDimmTo->setValue(i_autoDimmTo); + } + else { + // load value from default-scheme + if(kconfig->hasGroup("default-scheme")){ + kconfig->setGroup("default-scheme"); + i_autoDimmTo = kconfig->readNumEntry("autoDimmTo", -1); + if(i_autoDimmAfter >= 0) { + sB_autoDimmTo->setValue(i_autoDimmTo); + } + else sB_autoDimmTo->setValue(0); + } + else{ + sB_autoDimmTo->setValue(0); + } + // reset group to selected scheme + if (kconfig->hasGroup(s_scheme)) kconfig->setGroup(s_scheme); + else kconfig->setGroup("default-scheme"); + } + } + + if (hwinfo->supportCPUFreq()) { + QString cpuFreqPolicy = kconfig->readEntry("cpuFreqPolicy"); + + if (cpuFreqPolicy.isEmpty()) { + // load value from default-scheme + if(kconfig->hasGroup("default-scheme")){ + kconfig->setGroup("default-scheme"); + cpuFreqPolicy = kconfig->readEntry("cpuFreqPolicy"); + } + if (cpuFreqPolicy.isEmpty()) { + cpuFreqPolicy = "DYNAMIC"; + } + // reset group to selected scheme + if (kconfig->hasGroup(s_scheme)) kconfig->setGroup(s_scheme); + else kconfig->setGroup("default-scheme"); + } + + if (cpuFreqPolicy.startsWith("PERFORMANCE")) { + comboB_cpuFreq->setCurrentItem(0); + } else if (cpuFreqPolicy.startsWith("DYNAMIC")) { + comboB_cpuFreq->setCurrentItem(1); + } else if (cpuFreqPolicy.startsWith("POWERSAVE")) { + comboB_cpuFreq->setCurrentItem(2); + } else { + kdWarning() << "Could not read/map CPU Freq Policy, set to dynamic" << endl; + comboB_cpuFreq->setCurrentItem(1); + } + } + + cB_disableNotifications->setChecked(kconfig->readBoolEntry("disableNotifications",false)); + + cB_Blacklist_toggled(kconfig->readBoolEntry("autoInactiveSchemeBlacklistEnabled",false)); + cB_autoSuspend_toggled(kconfig->readBoolEntry("autoSuspend",false)); + cB_BlacklistDimm_toggled(kconfig->readBoolEntry("autoDimmSchemeBlacklistEnabled",false)); + cB_autoDimm_toggled(kconfig->readBoolEntry("autoDimm",false)); + + initalised = true; + scheme_changed = false; + if(!general_changed) buttonApply->setEnabled(false); + currentScheme = schemeID; + + kdDebugFuncOut(trace); +} + +/*! + * This is used to set the values from the section general in configfile to the + * related items in the dialog. + */ +void ConfigureDialog::setGeneralSettings() { + kdDebugFuncIn(trace); + + kconfig->setGroup("General"); + + cB_lockSuspend->setChecked(kconfig->readBoolEntry("lockOnSuspend",false)); + cB_lockLid->setChecked(kconfig->readBoolEntry("lockOnLidClose",false)); + cB_autostart->setChecked(kconfig->readBoolEntry("Autostart",false)); + cB_autostart_neverAsk->setChecked(kconfig->readBoolEntry("AutostartNeverAsk",false)); + + QString lockmethod = kconfig->readEntry("lockMethod", "NULL"); + if(comboB_lock->count() == 0 ){ + comboB_lock->insertItem(i18n("Select Automatically"),0); + comboB_lock->insertItem(i18n("KScreensaver"),1); + comboB_lock->insertItem(i18n("XScreensaver"),2); + comboB_lock->insertItem(i18n("xlock"),3); + if (gnome_session) comboB_lock->insertItem(i18n("GNOME Screensaver"),4); + } + + if (lockmethod == "automatic") comboB_lock->setCurrentItem(0); + else if (lockmethod == "kscreensaver") comboB_lock->setCurrentItem(1); + else if (lockmethod == "xscreensaver") comboB_lock->setCurrentItem(2); + else if (lockmethod == "xlock") comboB_lock->setCurrentItem(3); + else if (gnome_session && (lockmethod == "gnomescreensaver")) comboB_lock->setCurrentItem(4); + else comboB_lock->setCurrentItem(0); + + if(cB_lockSuspend->isOn() || cB_lockLid->isOn() ) { + tL_lockWith->setEnabled(true); + comboB_lock->setEnabled(true); + } + else { + tL_lockWith->setEnabled(false); + comboB_lock->setEnabled(false); + } + + // battery tab + BatteryCollection* _primBats = hwinfo->getPrimaryBatteries(); + if (_primBats->getNumBatteries() > 0) { + // set widgets in the tab + sB_batWarning->setValue(kconfig->readNumEntry("batteryWarning",0)); + sB_batLow->setValue(kconfig->readNumEntry("batteryLow",0)); + sB_batCritical->setValue(kconfig->readNumEntry("batteryCritical",0)); + // hide them and enable only if needed + sB_batWarnAction_value->hide(); + sB_batLowAction_value->hide(); + sB_batCritAction_value->hide(); + + QString _select; + QStringList _actions = kconfig->readListEntry("batteryAllowedActions", QString()); + _select = kconfig->readEntry("batteryWarningAction", QString()); + fillActionComboBox(cB_batWarning, _actions, _select); + if (_select == "BRIGHTNESS" && hwinfo->supportBrightness()) { + sB_batWarnAction_value->show(); + sB_batWarnAction_value->setValue(kconfig->readNumEntry( "batteryWarningActionValue",0)); + } + _select = kconfig->readEntry("batteryLowAction", QString()); + fillActionComboBox(cB_batLow, _actions, _select); + if (_select == "BRIGHTNESS" && hwinfo->supportBrightness()) { + sB_batLowAction_value->show(); + sB_batLowAction_value->setValue( kconfig->readNumEntry( "batteryLowActionValue",0)); + } + _select = kconfig->readEntry("batteryCriticalAction", QString()); + fillActionComboBox(cB_batCritical, _actions, _select); + if (_select == "BRIGHTNESS" && hwinfo->supportBrightness()) { + sB_batCritAction_value->show(); + sB_batCritAction_value->setValue(kconfig->readNumEntry("batteryCriticalActionValue",0)); + } + } else { + // disable tab + tB_general->setItemLabel( 0, tB_scheme->itemLabel(0) + i18n(" - not supported")); + tB_general->setItemEnabled( 0, false); + } + + // buttons tab: + QStringList _actions = kconfig->readListEntry("buttonsAllowedActions", QString()); + fillActionComboBox(cB_PowerButton, _actions, kconfig->readEntry("ActionOnPowerButton", QString())); + fillActionComboBox(cB_SleepButton, _actions, kconfig->readEntry("ActionOnSleepButton", QString())); + fillActionComboBox(cB_S2DiskButton, _actions, kconfig->readEntry("ActionOnS2DiskButton", QString())); + // avoid logout dialog for lidclose - this make no sense + _actions.remove("LOGOUT_DIALOG"); + fillActionComboBox(cB_LidcloseButton, _actions, kconfig->readEntry("ActionOnLidClose", QString())); + + // default scheme tab: + QString _ac_scheme = kconfig->readEntry( "ac_scheme", "Performance"); + QString _bat_scheme = kconfig->readEntry( "battery_scheme", "Powersave"); + cB_acScheme->setCurrentItem(schemes.findIndex(_ac_scheme)); + cB_batteryScheme->setCurrentItem(schemes.findIndex(_bat_scheme)); + + kdDebugFuncOut(trace); +} + +/* ---- END General setup SECTION ---- */ + +/* ---- START store settings SECTION ---- */ + +/*! + * This used to save changes in settings of the current scheme. + */ +void ConfigureDialog::saveSchemeSettings() { + kdDebugFuncIn(trace); + + QString s_scheme = getSchemeRealName(schemes[currentScheme]); + kconfig->setGroup(s_scheme); + + kconfig->writeEntry("specSsSettings",cB_specificSettings->isOn()); + kconfig->writeEntry("disableSs",cB_disable_Ss->isOn()); + kconfig->writeEntry("blankSs",cB_blankScreen->isOn()); + kconfig->writeEntry("specPMSettings",cB_SpecificPM->isOn()); + kconfig->writeEntry("disableDPMS",cB_disablePM->isOn()); + + kconfig->writeEntry("standbyAfter",sB_standby->value()); + kconfig->writeEntry("suspendAfter",sB_suspend->value()); + kconfig->writeEntry("powerOffAfter",sB_powerOff->value()); + + kconfig->writeEntry("disableNotifications",cB_disableNotifications->isOn()); + + if(cB_autoInactivity->currentText() == " "){ + kconfig->writeEntry("autoInactiveAction", "_NONE_"); + } + else{ + int _index = cB_autoInactivity->currentItem(); + if(_index > 0) { + /*if(_index == (cB_autoInactivity->count()-1)) { + kconfig->writeEntry("autoInactiveAction","shutdown"); + } + else { + kconfig->writeEntry("autoInactiveAction",actions[(_index)]); + }*/ + kconfig->writeEntry("autoInactiveAction",actions[(_index)]); + } + kconfig->writeEntry("autoInactiveActionAfter",sB_autoInactivity->value()); + } + kconfig->writeEntry("autoSuspend",cB_autoSuspend->isOn()); + kconfig->writeEntry("autoInactiveSchemeBlacklistEnabled",cB_Blacklist->isOn()); + + kconfig->writeEntry("autoDimm",cB_autoDimm->isOn()); + kconfig->writeEntry("autoDimmAfter", sB_autoDimmTime->value()); + kconfig->writeEntry("autoDimmTo", sB_autoDimmTo->value()); + kconfig->writeEntry("autoDimmSchemeBlacklistEnabled",cB_BlacklistDimm->isOn()); + + kconfig->writeEntry("enableBrightness",cB_Brightness->isOn()); + if(brightness_changed) + kconfig->writeEntry("brightnessPercent",brightnessSlider->value()); + + + if(hwinfo->supportCPUFreq()) { + switch( comboB_cpuFreq->currentItem()) { + case 0: + kconfig->writeEntry("cpuFreqPolicy", "PERFORMANCE"); + break; + case 2: + kconfig->writeEntry("cpuFreqPolicy", "POWERSAVE"); + break; + case 1: + default: + kconfig->writeEntry("cpuFreqPolicy", "DYNAMIC"); + break; + } + } + + kconfig->sync(); + scheme_changed = false; + if(!general_changed) buttonApply->setEnabled(false); + + kdDebugFuncOut(trace); +} + +/*! + * This used to save changes in settings of the current scheme. + */ +void ConfigureDialog::saveGeneralSettings() { + kdDebugFuncIn(trace); + + kconfig->setGroup("General"); + + kconfig->writeEntry("lockOnSuspend",cB_lockSuspend->isOn()); + kconfig->writeEntry("lockOnLidClose",cB_lockLid->isOn()); + kconfig->writeEntry("Autostart",cB_autostart->isOn()); + kconfig->writeEntry("AutostartNeverAsk",cB_autostart_neverAsk->isOn()); + + QString selected_method = ""; + int _selected = comboB_lock->currentItem(); + if(_selected == 0) selected_method = "automatic"; + else if(_selected == 1) selected_method = "kscreensaver"; + else if(_selected == 2) selected_method = "xscreensaver"; + else if(_selected == 3) selected_method = "xlock"; + else if(gnome_session && (_selected == 4)) selected_method = "gnomescreensaver"; + kconfig->writeEntry( "lockMethod", selected_method ); + + kconfig->writeEntry("batteryWarning", sB_batWarning->value()); + kconfig->writeEntry("batteryLow", sB_batLow->value()); + kconfig->writeEntry("batteryCritical", sB_batCritical->value()); + + // battery level tab + QString _action = mapDescriptionToAction(cB_batWarning->currentText()); + kconfig->writeEntry("batteryWarningAction", _action); + if (_action == "BRIGHTNESS") { + kconfig->writeEntry("batteryWarningActionValue", sB_batWarnAction_value->value()); + } + _action = mapDescriptionToAction(cB_batLow->currentText()); + kconfig->writeEntry("batteryLowAction", _action); + if (_action == "BRIGHTNESS") { + kconfig->writeEntry("batteryLowActionValue", sB_batLowAction_value->value()); + } + _action = mapDescriptionToAction(cB_batCritical->currentText()); + kconfig->writeEntry("batteryCriticalAction", _action); + if (_action == "BRIGHTNESS") { + kconfig->writeEntry("batteryCriticalActionValue", sB_batCritAction_value->value()); + } + + // button tab + kconfig->writeEntry("ActionOnPowerButton", mapDescriptionToAction(cB_PowerButton->currentText())); + kconfig->writeEntry("ActionOnLidClose", mapDescriptionToAction(cB_LidcloseButton->currentText())); + kconfig->writeEntry("ActionOnSleepButton", mapDescriptionToAction(cB_SleepButton->currentText())); + kconfig->writeEntry("ActionOnS2DiskButton", mapDescriptionToAction(cB_S2DiskButton->currentText())); + + // schemes tab + kconfig->writeEntry("ac_scheme", getSchemeRealName(schemes[cB_acScheme->currentItem()])); + kconfig->writeEntry("battery_scheme", getSchemeRealName(schemes[cB_batteryScheme->currentItem()])); + + kconfig->sync(); + general_changed = false; + if(!scheme_changed) buttonApply->setEnabled(false); + + kdDebugFuncOut(trace); +} + +/* ---- END store settings SECTION ---- */ + +/* ---- START monitor changes SECTION ---- */ + +/*! + * SLOT: Called if a value within the Tab 'General Settings' is changed. + */ +void ConfigureDialog::general_valueChanged(){ + kdDebugFuncIn(trace); + + if(initalised) { + general_changed = true; + buttonApply->setEnabled(true); + // enable/disable the comboB_lock and tL_lockWith + if(cB_lockSuspend->isOn() || cB_lockLid->isOn() ) { + tL_lockWith->setEnabled(true); + comboB_lock->setEnabled(true); + } + else { + tL_lockWith->setEnabled(false); + comboB_lock->setEnabled(false); + } + } + + kdDebugFuncOut(trace); +} + +/*! + * SLOT: Called if a value within the Tab 'Scheme Settings' is changed. + */ +void ConfigureDialog::scheme_valueChanged(){ + kdDebugFuncIn(trace); + + if(initalised) { + scheme_changed = true; + buttonApply->setEnabled(true); + } + + kdDebugFuncOut(trace); +} + +/*! + * SLOT: called if the current scheme in the QListBox listBox_schemes is + * changed/ a other scheme was selected. + */ +void ConfigureDialog::listBox_schemes_currentChanged(){ + kdDebugFuncIn(trace); + + // store current settings if something changed + if(initalised && scheme_changed ) { + int res = KMessageBox::warningYesNo(this, + i18n("There are unsaved changes in the active scheme.\n" + "Apply the changes before jumping to the next scheme " + "or discard the changes?"), + i18n("Unsaved Changes"), KStdGuiItem::apply(), + KStdGuiItem::discard()); + + if (res == KMessageBox::Yes) { + // Save changes + saveSchemeSettings(); + } + if (res == KMessageBox::No) { + // discard changes and reset trigger + scheme_changed = false; + } + } + // set to new Item + setConfigToDialog(listBox_schemes->currentItem()); + + kdDebugFuncOut(trace); +} + +/* ---- END monitor changes SECTION ---- */ + +/* ---- START BUTTON SECTION ---- */ + +/*! + * SLOT: called if the 'Apply' button is clicked. + */ +void ConfigureDialog::buttonApply_clicked(){ + kdDebugFuncIn(trace); + + if(initalised && scheme_changed ) { + saveSchemeSettings(); + scheme_changed = false; + } + if(initalised && general_changed ) { + saveGeneralSettings(); + general_changed = false; + } + + kdDebugFuncOut(trace); +} + +/*! + * SLOT: called if the 'Chancel' button is clicked. + */ +void ConfigureDialog::buttonCancel_clicked(){ + kdDebugFuncOut(trace); + + if (scheme_changed || general_changed) { + int res = KMessageBox::warningYesNoCancel(this, + i18n("There are unsaved changes.\nApply the changes " + "before cancel or discard the changes?"), + i18n("Unsaved Changes"), KStdGuiItem::apply(), + KStdGuiItem::discard()); + if (res == KMessageBox::Yes) { + buttonApply_clicked(); + } + else if (res == KMessageBox::Cancel) return; + } + + kdDebugFuncOut(trace); + close(); +} + +/*! + * SLOT: called if the 'OK' button is clicked. + */ +void ConfigureDialog::buttonOk_clicked(){ + kdDebugFuncIn(trace); + + buttonApply_clicked(); + buttonApply->setEnabled(false); + + kdDebugFuncOut(trace); + close(); +} + +/*! + * SLOT: called if the 'Help' button is clicked. + */ +void ConfigureDialog::buttonHelp_clicked(){ + kdDebugFuncIn(trace); + + emit openHelp(); + + kdDebugFuncOut(trace); +} + +/* ---- END BUTTON SECTION ---- */ + +/* ---- START SCHEME ADD/DELETE SECTION ---- */ + +/*! + * SLOT: called if the 'New' scheme button is clicked. + */ +void ConfigureDialog::pB_newScheme_clicked(){ + kdDebugFuncIn(trace); + + bool _ok = false; + bool _end = false; + QString _new; + QString _text = i18n("Please insert a name for the new scheme:"); + QString _error; + + getSchemeList(); + + while (!_end) { + _new = KInputDialog::getText( i18n("KPowersave Configuration"), + _error + _text, QString::null, &_ok, this); + if (!_ok ) { + _end = true; + } else { + _error = QString(); + if (!_new.isEmpty()) { + if ( schemes.contains(_new)) + _error = i18n("Error: A scheme with this name already exist.\n"); + else + _end = true; + } + } + } + + if (!_new.isEmpty()) { + // write append new scheme to list + schemes.append(_new); + kconfig->setGroup("General"); + kconfig->writeEntry("schemes", schemes, ","); + kconfig->sync(); + + // update GUI + setSchemeList(); + selectScheme(_new); + saveSchemeSettings(); + } + + kdDebugFuncOut(trace); +} + +/*! + * SLOT: called if the 'Delete' scheme button is clicked. + */ +void ConfigureDialog::pB_deleteScheme_clicked(){ + kdDebugFuncIn(trace); + + if (pB_deleteScheme->isEnabled()) { + int answer = KMessageBox::questionYesNo( this, i18n("Do you really want to delete the " + "%1 scheme?").arg(schemes[currentScheme]), + i18n("Confirm delete scheme"), + i18n("Delete"), i18n("Cancel")); + if (answer == KMessageBox::Yes) { + // delete the scheme, we can be sure this is a userscheme + QString _s_tmp = getSchemeRealName(schemes[currentScheme]); + if (kconfig->hasGroup(_s_tmp) && kconfig->deleteGroup(_s_tmp)) { + schemes.remove(_s_tmp); + kconfig->setGroup("General"); + kconfig->writeEntry("schemes", schemes, ","); + kconfig->sync(); + + // update GUI + setSchemeList(); + selectScheme(settings->currentScheme); + } else { + // could not delete the scheme ... error case + KMessageBox::queuedMessageBox(this, KMessageBox::Error, + i18n("Could not delete the selected scheme.")); + } + } + } + + kdDebugFuncOut(trace); +} + +/* ---- END SCHEME ADD/DELETE SECTION ---- */ + +/* ---- START SCREENSAVER SECTION ---- */ + +/*! + * SLOT: called if QCheckBox cB_specificSettings is toggled. + * \param state boolean, true if toggled on + * false if toggled off + */ +void ConfigureDialog::cB_specificSettings_toggled(bool state){ + kdDebugFuncIn(trace); + + if(!initalised) cB_specificSettings->setChecked(state); + + /* set widgets visible/disabled */ + if(state){ + cB_disable_Ss->setEnabled(true); + if(cB_disable_Ss->isOn()){ + cB_blankScreen->setEnabled(false); + } + else { + cB_blankScreen->setEnabled(true); + } + } + else { + cB_disable_Ss->setEnabled(false); + cB_blankScreen->setEnabled(false); + } + + kdDebugFuncOut(trace); +} + +/*! + * SLOT: called if QCheckBox cB_disable_Ss is toggled. + * \param state boolean, true if toggled on + * false if toggled off + */ +void ConfigureDialog::cB_disable_Ss_toggled(bool state){ + kdDebugFuncIn(trace); + + /* set widgets visible/disabled */ + if(!initalised) cB_disable_Ss->setChecked(state); + cB_blankScreen->setEnabled(!state); + + kdDebugFuncOut(trace); +} + + +/* ---- END SCREENSAVER SECTION ---- */ + +/* ---- START DPMS SECTION ---- */ + +/*! + * SLOT: called if QCheckBox cB_SpecificPM is toggled. + * \param state boolean, true if toggled on + * false if toggled offtrue + */ +void ConfigureDialog::cB_SpecificPM_toggled(bool state){ + kdDebugFuncIn(trace); + + if(!initalised) cB_SpecificPM->setChecked(state); + + /* set widgets visible/disabled */ + cB_disablePM->setEnabled(state); + if(cB_disablePM->isOn()) { + state = false; + } + tL_standbyAfter->setEnabled(state); + sB_standby->setEnabled(state); + tL_suspendAfter->setEnabled(state); + sB_suspend->setEnabled(state); + tL_powerOffAfter->setEnabled(state); + sB_powerOff->setEnabled(state); + + kdDebugFuncOut(trace); +} + +/*! + * SLOT: called if QCheckBox cB_disablePM is toggled. + * \param state boolean, true if toggled on + * false if toggled off + */ +void ConfigureDialog::cB_disablePM_toggled(bool state){ + kdDebugFuncIn(trace); + + if(!initalised) cB_disablePM->setChecked(state); + + /* set widgets visible/disabled */ + tL_standbyAfter->setEnabled(!state); + sB_standby->setEnabled(!state); + tL_suspendAfter->setEnabled(!state); + sB_suspend->setEnabled(!state); + tL_powerOffAfter->setEnabled(!state); + sB_powerOff->setEnabled(!state); + + kdDebugFuncOut(trace); +} + +/*! + * SLOT: called if the standby QSpinBoxes for DPMS timout is changed. + */ +void ConfigureDialog::sB_standby_valueChanged() { + kdDebugFuncIn(trace); + + if (initalised) { + if (sB_standby->value() == 0 ) + return; + if ( sB_standby->value() > sB_suspend->value()) { + sB_suspend->setValue(sB_standby->value()); + } + } + + kdDebugFuncOut(trace); +} + +/*! + * SLOT: called if the suspend QSpinBoxes for DPMS timout is changed. + */ +void ConfigureDialog::sB_suspend_valueChanged() { + kdDebugFuncIn(trace); + + if (initalised) { + if (sB_suspend->value() == 0 ) + return; + + if ( sB_suspend->value() < sB_standby->value()) { + sB_standby->setValue(sB_suspend->value()); + } + if ( sB_suspend->value() > sB_powerOff->value()) { + sB_powerOff->setValue(sB_suspend->value()); + } + } + + kdDebugFuncOut(trace); +} + +/*! + * SLOT: called if the powerOff QSpinBoxes for DPMS timout is changed. + */ +void ConfigureDialog::sB_powerOff_valueChanged() { + kdDebugFuncIn(trace); + + if (initalised) { + if (sB_powerOff->value() == 0 ) + return; + if ( sB_powerOff->value() < sB_suspend->value()) { + sB_suspend->setValue(sB_powerOff->value()); + } + } + + kdDebugFuncOut(trace); +} + +/* ---- END DPMS SECTION ---- */ + +/* ---- START Inactivity SECTION ---- */ + +/*! + * This used to set the inactivity related combobox cB_autoInactivity . + */ +void ConfigureDialog::setInactivityBox(){ + kdDebugFuncIn(trace); + + cB_autoInactivity->clear(); + // add "nothing" at start of the list + actions.push_front(" "); + // add "Turn Off Computer" at end of the list + // QString _to_i18n = i18n("Turn Off Computer"); + // actions.append("Turn Off Computer"); + + for ( QStringList::Iterator it = actions.begin(); it != actions.end(); ++it ) { + cB_autoInactivity->insertItem( i18n( *it ) ); + } + + kdDebugFuncOut(trace); +} + +/*! + * This used to set the autosuspend related widgets. + */ +void ConfigureDialog::cB_autoSuspend_toggled( bool toggled ) { + kdDebugFuncIn(trace); + + if(cB_autoSuspend->isOn() != toggled) + cB_autoSuspend->setChecked(toggled); + + tL_autoInactivity_explain->setEnabled(toggled); + cB_autoInactivity->setEnabled(toggled); + if(cB_autoInactivity->currentItem() > 0) { + cB_autoInactivity->setEnabled(true); + tL_autoInactivity_After->setEnabled(true); + sB_autoInactivity->setEnabled(true); + cB_Blacklist->setEnabled(true); + cB_Blacklist_toggled(cB_Blacklist->isOn()); + } + + if(!toggled) { + cB_autoSuspend->setChecked(false); + tL_autoInactivity_After->setEnabled(false); + cB_autoInactivity->setEnabled(false); + sB_autoInactivity->setEnabled(false); + cB_Blacklist->setEnabled(false); + pB_editBlacklist->setEnabled(false); + } + + scheme_changed = true; + buttonApply->setEnabled(true); + + kdDebugFuncOut(trace); +} + +/*! + * SLOT: called if a new item in cB_autoInactivity is selected. + * \param selectedItem Integer, contains the ID of the new item in the + * comboBox. + */ +void ConfigureDialog::cB_autoInactivity_activated( int selectedItem ) { + kdDebugFuncIn(trace); + + if( actions[selectedItem] != " " ) { + if(!displayed_WARN_autosuspend && initalised) { + QString _msg = "" + i18n("Note: If you select this option, the computer " + "will suspend or standby if the current user is " + "inactive for the defined time even if somebody is " + "logged in remotely to the X server.

    This " + "feature can also produce problems with some programs, " + "such as video players or cd burner. These programs can " + "be blacklisted by checking Enable scheme-specific " + "blacklist and click Edit Blacklist.... If " + "this does not help, report the problem or deactivate " + "autosuspend.

    Really use this option?") + + "
    "; + + int tmp = KMessageBox::warningContinueCancel(this, _msg); + if (tmp == KMessageBox::Cancel) { + selectedItem = 0; + } + displayed_WARN_autosuspend = true; + } + sB_autoInactivity->setEnabled(true); + tL_autoInactivity_After->setEnabled(true); + cB_Blacklist->setEnabled(true); + if(cB_Blacklist->isChecked()) pB_editBlacklist->setEnabled(true); + + } + else { + sB_autoInactivity->setEnabled(false); + tL_autoInactivity_After->setEnabled(false); + cB_Blacklist->setEnabled(false); + pB_editBlacklist->setEnabled(false); + } + + cB_autoInactivity->setCurrentItem( selectedItem ); + + if(initalised) { + scheme_changed = true; + buttonApply->setEnabled(true); + } + + kdDebugFuncOut(trace); +} + +/*! + * SLOT: Called if the 'Enable scheme specific blacklist' is toggled. + * \param toggled boolean, true if toggled on + * false if toggled off + */ +void ConfigureDialog::cB_Blacklist_toggled( bool toggled ){ + kdDebugFuncIn(trace); + + pB_editBlacklist->setEnabled(toggled); + + if(initalised) { + buttonApply->setEnabled(true); + scheme_changed = true; + } else { + cB_Blacklist->setChecked(toggled); + } + + kdDebugFuncOut(trace); +} + +/*! + * SLOT: Called if the 'edit blacklist' button is toggled. + */ +void ConfigureDialog::pB_editBlacklistSuspend_clicked(){ + kdDebugFuncIn(trace); + + QString _top_text = ""; + bool initialiseImport = false; + + if(tabWidget->currentPageIndex() == 0 ) { + QString s_scheme = getSchemeRealName(schemes[listBox_schemes->currentItem()]); + _top_text = listBox_schemes->currentText(); + if (kconfig->hasGroup(s_scheme)){ + kconfig->setGroup(s_scheme); + } + blacklist = kconfig->readListEntry("autoInactiveSchemeBlacklist", ','); + if( blacklist.empty()) { + QString _msg = i18n("The blacklist of the selected scheme is empty. " + "Import the general blacklist?"); + int tmp = KMessageBox::questionYesNo(this, _msg, QString(), i18n("Import"), i18n("Do Not Import")); + if (tmp == KMessageBox::Yes) { + initialiseImport = true; + if(kconfig->hasGroup("General")){ + kconfig->setGroup("General"); + blacklist = kconfig->readListEntry("autoInactiveBlacklist", ','); + } + } + } + } + else { + if(kconfig->hasGroup("General")){ + _top_text = i18n("General Autosuspend Blacklist"); + kconfig->setGroup("General"); + blacklist = kconfig->readListEntry("autoInactiveBlacklist", ','); + } + } + blacklistEDlgAS = new blacklistEditDialog(blacklist, _top_text, initialiseImport, this); + + connect( blacklistEDlgAS, SIGNAL(config_finished(QStringList)), this, + SLOT(saveSchemeSuspendBlacklist(QStringList))); + blacklistEDlgAS->exec(); + + kdDebugFuncOut(trace); +} + +/*! + * SLOT: Called if the signal config_finished(QStringList) recieved + * and the autosuspend blacklist is edited. + * \param new_blacklist QStringlist with the edited blacklisted processes + */ + +void ConfigureDialog::saveSchemeSuspendBlacklist( QStringList new_blacklist){ + kdDebugFuncIn(trace); + + if(tabWidget->currentPageIndex() == 0 ) { + QString s_scheme = getSchemeRealName(schemes[currentScheme]); + kconfig->setGroup(s_scheme); + kconfig->writeEntry("autoInactiveSchemeBlacklist", new_blacklist, ','); + } + else { + kconfig->setGroup("General"); + kconfig->writeEntry("autoInactiveBlacklist", new_blacklist, ','); + } + + kconfig->sync(); + kdDebugFuncOut(trace); +} + +/* ---- END Inactivity SECTION ---- */ + +/* ---- START Autodimm SECTION ---- */ + +/*! + * This used to set the autodimm related widgets. + */ +void ConfigureDialog::cB_autoDimm_toggled( bool toggled ) { + kdDebugFuncIn(trace); + + if(cB_autoDimm->isOn() != toggled) + cB_autoDimm->setChecked(toggled); + + if (toggled) + tL_autoDimmExplain->setEnabled(toggled); + tL_autoDimmAfter->setEnabled(toggled); + sB_autoDimmTime->setEnabled(toggled); + tL_autoDimmTo->setEnabled(toggled); + sB_autoDimmTo->setEnabled(toggled); + + if (sB_autoDimmTime->value() > 0) + cB_BlacklistDimm->setEnabled(toggled); + + if (cB_BlacklistDimm->isOn()) + pB_editBlacklistDimm->setEnabled(toggled); + + if (toggled) { + if (sB_autoDimmTime->value() > 0) { + tL_autoDimmTo->setEnabled(true); + sB_autoDimmTo->setEnabled(true); + } else { + tL_autoDimmTo->setEnabled(false); + sB_autoDimmTo->setEnabled(false); + } + } + + scheme_changed = true; + buttonApply->setEnabled(true); + + kdDebugFuncOut(trace); +} + +/*! + * SLOT: Called if the 'Enable scheme specific blacklist' is toggled. + * \param toggled boolean, true if toggled on + * false if toggled off + */ +void ConfigureDialog::cB_BlacklistDimm_toggled( bool toggled ){ + kdDebugFuncIn(trace); + + pB_editBlacklistDimm->setEnabled(toggled); + + if(initalised) { + buttonApply->setEnabled(true); + scheme_changed = true; + } else { + cB_BlacklistDimm->setChecked(toggled); + } + + kdDebugFuncOut(trace); +} + +/*! + * SLOT: Called if the 'edit blacklist' button for autodimm is toggled. + */ +void ConfigureDialog::pB_editBlacklistDimm_clicked(){ + kdDebugFuncIn(trace); + + QString _top_text = ""; + bool initialiseImport = false; + + if(tabWidget->currentPageIndex() == 0 ) { + QString s_scheme = getSchemeRealName(schemes[listBox_schemes->currentItem()]); + _top_text = listBox_schemes->currentText(); + if (kconfig->hasGroup(s_scheme)){ + kconfig->setGroup(s_scheme); + } + blacklist = kconfig->readListEntry("autoDimmSchemeBlacklist", ','); + if( blacklist.empty()) { + QString _msg = i18n("The blacklist of the selected scheme is empty. " + "Import the general blacklist?"); + int tmp = KMessageBox::questionYesNo(this, _msg, QString(), i18n("Import"), i18n("Do Not Import")); + if (tmp == KMessageBox::Yes) { + initialiseImport = true; + if(kconfig->hasGroup("General")){ + kconfig->setGroup("General"); + blacklist = kconfig->readListEntry("autoDimmBlacklist", ','); + } + } + } + } + else { + if(kconfig->hasGroup("General")){ + _top_text = i18n("General Autodimm Blacklist"); + kconfig->setGroup("General"); + blacklist = kconfig->readListEntry("autoDimmBlacklist", ','); + } + } + blacklistEDlgAD = new blacklistEditDialog(blacklist, _top_text, initialiseImport, this); + + connect( blacklistEDlgAD, SIGNAL(config_finished(QStringList)), this, + SLOT(saveSchemeDimmBlacklist(QStringList))); + blacklistEDlgAD->exec(); + + kdDebugFuncOut(trace); +} + +/*! + * SLOT: Called if the signal config_finished(QStringList) recieved + * and the autdimm blacklist is edited. + * \param new_blacklist QStringlist with the edited blacklisted processes + */ +void ConfigureDialog::saveSchemeDimmBlacklist( QStringList new_blacklist){ + kdDebugFuncIn(trace); + + if(tabWidget->currentPageIndex() == 0 ) { + QString s_scheme = getSchemeRealName(schemes[currentScheme]); + kconfig->setGroup(s_scheme); + kconfig->writeEntry("autoDimmSchemeBlacklist", new_blacklist, ','); + } + else { + kconfig->setGroup("General"); + kconfig->writeEntry("autoDimmBlacklist", new_blacklist, ','); + } + + kconfig->sync(); + kdDebugFuncOut(trace); +} + +/*! + * SLOT: Called if there \ref sB_autoDimmTime get changed + * \param value Integer with the new value + */ +void ConfigureDialog::sB_autoDimmTime_valueChanged( int value ) { + kdDebugFuncIn(trace); + + if (value > 0) { + if (!tL_autoDimmTo->isEnabled()) { + tL_autoDimmTo->setEnabled(true); + sB_autoDimmTo->setEnabled(true); + cB_BlacklistDimm->setEnabled(true); + if (cB_BlacklistDimm->isOn()) + pB_editBlacklistDimm->setEnabled(true); + } + } else { + if (tL_autoDimmTo->isEnabled()) { + tL_autoDimmTo->setEnabled(false); + sB_autoDimmTo->setEnabled(false); + cB_BlacklistDimm->setEnabled(false); + pB_editBlacklistDimm->setEnabled(false); + } + } + kdDebugFuncOut(trace); +} + + +/* ---- END Autodimm SECTION ---- */ + +/* ---- START Brightness SECTION ---- */ +/*! \b SLOT: to enable the brigthness related widgets */ +void ConfigureDialog::cB_Brightness_toggled( bool toggled ) { + kdDebugFuncIn(trace); + + gB_Brightness->setEnabled(toggled); + cB_Brightness->setChecked(toggled); + connect(brightnessSlider, SIGNAL(valueChanged (int)), this, SLOT(brightnessSlider_sliderMoved(int))); + + kdDebugFuncOut(trace); +} + +/*! \b SLOT: to change the brightness if the slider is changed */ +void ConfigureDialog::brightnessSlider_sliderMoved( int new_value ) { + kdDebugFuncIn(trace); + + if (cB_Brightness->isEnabled() && cB_Brightness->isChecked()) { + scheme_valueChanged(); + tL_valueBrightness->setText(QString::number(new_value) + " %"); + hwinfo->setBrightness(-1, new_value); + pB_resetBrightness->setEnabled(true); + brightness_changed = true; + } + + kdDebugFuncOut(trace); +} + +/*! \b SLOT: to reset the brightness if the reset button clicked */ +void ConfigureDialog::pB_resetBrightness_clicked( ) { + kdDebugFuncIn(trace); + + hwinfo->setBrightness(brightness_last, -1); + brightnessSlider->setValue(brightness_last); + pB_resetBrightness->setEnabled(false); + brightness_changed = false; + + kdDebugFuncOut(trace); +} + +/* ---- END Brightness SECTION ---- */ + +/* ---- START battery level SECTION ---- */ +/*! + * SLOT: called if the warning QSpinBoxes for battery level is changed. + */ +void ConfigureDialog::sB_batWarning_valueChanged() { + kdDebugFuncIn(trace); + + if (initalised) { + if (sB_batWarning->value() == 0 ) + sB_batWarning->setValue(1); + if ( sB_batWarning->value() <= sB_batLow->value()) { + sB_batLow->setValue(sB_batWarning->value()-1); + } + } + + kdDebugFuncOut(trace); +} + +/*! + * SLOT: called if the low QSpinBoxes for battery level is changed. + */ +void ConfigureDialog::sB_batLow_valueChanged() { + kdDebugFuncIn(trace); + + if (initalised) { + if (sB_batLow->value() == 0 ) + sB_batLow->setValue(1); + + if ( sB_batLow->value() >= sB_batWarning->value()) { + sB_batWarning->setValue(sB_batLow->value()+1); + } + if ( sB_batLow->value() <= sB_batCritical->value()) { + sB_batCritical->setValue(sB_batLow->value()-1); + } + } + + kdDebugFuncOut(trace); +} + +/*! + * SLOT: called if the critical QSpinBoxes for battery level is changed. + */ +void ConfigureDialog::sB_batCritical_valueChanged() { + kdDebugFuncIn(trace); + + if (initalised) { + if (sB_batCritical->value() == 0 ) + sB_batCritical->setValue(1); + if ( sB_batCritical->value() >= sB_batLow->value()) { + sB_batLow->setValue(sB_batCritical->value()+1); + } + } + + kdDebugFuncOut(trace); +} + +/*! + * SLOT: called if the QComboBox for the battery warning level action changed, + * used to hide/show the related QSpinboxes if needed. + */ +void ConfigureDialog::cB_batWarning_activated() { + kdDebugFuncIn(trace); + + if ( mapDescriptionToAction(cB_batWarning->currentText()) == "BRIGHTNESS") { + sB_batWarnAction_value->show(); + } else { + sB_batWarnAction_value->hide(); + } + + kdDebugFuncOut(trace); +} + +//! called if the QComboBox for the battery low level action changed +/*! + * used to hide/show the related QSpinboxes if needed. + */ +void ConfigureDialog::cB_batLow_activated() { + kdDebugFuncIn(trace); + + if ( mapDescriptionToAction(cB_batLow->currentText()) == "BRIGHTNESS") { + sB_batLowAction_value->show(); + } else { + sB_batLowAction_value->hide(); + } + + kdDebugFuncOut(trace); +} + +/*! + * SLOT: called if the QComboBox for the battery critical level action changed, + * used to hide/show the related QSpinboxes if needed. + */ +void ConfigureDialog::cB_batCritical_activated() { + kdDebugFuncIn(trace); + + if ( mapDescriptionToAction(cB_batCritical->currentText()) == "BRIGHTNESS") { + sB_batCritAction_value->show(); + } else { + sB_batCritAction_value->hide(); + } + + kdDebugFuncOut(trace); +} + +/* ---- END battery level SECTION ---- */ + +/*! \b SLOT: to open the KNotify config dialog */ +void ConfigureDialog::pB_configNotify_released( ) { + kdDebugFuncIn(trace); + + emit openKNotify(); + + kdDebugFuncOut(trace); +} + +/* ---- START helper functions SECTION ---- */ +/*! + * Map the key from config for a action to a descriptive name. + * \param action QString with the config key value + * \return QString with the description + */ +QString ConfigureDialog::mapActionToDescription( QString action ) { + kdDebugFuncIn(trace); + + QString ret; + + if (action.startsWith("SHUTDOWN")) { + ret = i18n("Shutdown"); + } else if (action.startsWith("LOGOUT_DIALOG")) { + ret = i18n("Logout Dialog"); + } else if (action.startsWith("SUSPEND2DISK")) { + if (actions.contains("Suspend to Disk")) + ret = i18n("Suspend to Disk"); + } else if (action.startsWith("SUSPEND2RAM")) { + if (actions.contains("Suspend to RAM")) + ret = i18n("Suspend to RAM"); + } else if (action.startsWith("CPUFREQ_POWERSAVE")) { + if (hwinfo->supportCPUFreq()) + ret = i18n("CPU Powersave policy"); + } else if (action.startsWith("CPUFREQ_DYNAMIC")) { + if (hwinfo->supportCPUFreq()) + ret = i18n("CPU Dynamic policy"); + } else if (action.startsWith("CPUFREQ_PERFORMANCE")) { + if (hwinfo->supportCPUFreq()) + ret = i18n("CPU Performance policy"); + } else if (action.startsWith("BRIGHTNESS")) { + if (hwinfo->supportBrightness()) + ret = i18n("Set Brightness to"); + } + + kdDebugFuncOut(trace); + return ret; +} + +/*! + * Map the action description (maybe translated) back to a QString key for the config. + * \param description QString with the description + * \return QString with the config key value + */ +QString ConfigureDialog::mapDescriptionToAction( QString description ) { + kdDebugFuncIn(trace); + + QString ret; + + if (description.startsWith("Shutdown") || description.startsWith(i18n("Shutdown"))) { + ret = "SHUTDOWN"; + } else if (description.startsWith("Logout Dialog") || + description.startsWith(i18n("Logout Dialog"))) { + ret = "LOGOUT_DIALOG"; + } else if (description.startsWith("Suspend to Disk") || + description.startsWith(i18n("Suspend to Disk"))) { + ret = "SUSPEND2DISK"; + } else if (description.startsWith("Suspend to RAM") || + description.startsWith(i18n("Suspend to RAM"))) { + ret = "SUSPEND2RAM"; + } else if (description.startsWith("CPU Powersave policy") || + description.startsWith(i18n("CPU Powersave policy"))) { + ret = "CPUFREQ_POWERSAVE"; + } else if (description.startsWith("CPU Dynamic policy") || + description.startsWith(i18n("CPU Dynamic policy"))) { + ret = "CPUFREQ_DYNAMIC"; + } else if (description.startsWith("CPU Performance policy") || + description.startsWith(i18n("CPU Performance policy"))) { + ret = "CPUFREQ_PERFORMANCE"; + } else if (description.startsWith("Set Brightness to") || + description.startsWith(i18n("Set Brightness to"))) { + ret = "BRIGHTNESS"; + } + + kdDebugFuncOut(trace); + return ret; +} + +/*! + * Helper to fill a QComboBox with their text and select the correct item + * \param _cb Pointer to the QComboBox + * \param _actions QStringList with the allowed actions + * \param _select QString with the action to select + */ +void ConfigureDialog::fillActionComboBox(QComboBox *_cb, QStringList _actions, QString _select) { + kdDebugFuncIn(trace); + + _cb->clear(); + _cb->insertItem(""); + + for ( QStringList::Iterator it = _actions.begin(); it != _actions.end(); ++it ) { + QString _tmp = *it; + + QString _desc = mapActionToDescription( _tmp ); + if (!_desc.isEmpty()) { + _cb->insertItem( _desc ); + if (_tmp == _select) { + _cb->setCurrentItem(_cb->count()-1); + } + } + } + + kdDebugFuncOut(trace); +} + +/* ---- END helper functions SECTION ---- */ + +#include "configuredialog.moc" diff --git a/src/configuredialog.h b/src/configuredialog.h new file mode 100644 index 0000000..19cbdeb --- /dev/null +++ b/src/configuredialog.h @@ -0,0 +1,225 @@ +/*************************************************************************** + * Copyright (C) 2005 by Danny Kukawka * + * , * + * * + * This program is free software; you can redistribute it and/or modify * + * it under the terms of version 2 of the GNU General Public License * + * as published by the Free Software Foundation. * + * * + * This program is distributed in the hope that it will be useful, * + * but WITHOUT ANY WARRANTY; without even the implied warranty of * + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * + * GNU General Public License for more details. * + * * + * You should have received a copy of the GNU General Public License * + * along with this program; if not, write to the * + * Free Software Foundation, Inc., * + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. * + ***************************************************************************/ + +#ifndef CONFIGUREDIALOG_H +#define CONFIGUREDIALOG_H + +/*! +* \file configuredialog.h +* \brief Headerfile for configureDialog.cpp and the class \ref ConfigureDialog. +*/ +/*! +* \class ConfigureDialog +* \brief class for all config dialog related funtionality +* \author Danny Kukawka, , +* \date 2005 +*/ + +// own header +#include "blacklisteditdialog.h" +#include "settings.h" +#include "hardware.h" + +// header of the UI +#include "configure_Dialog.h" + +class ConfigureDialog: public configure_Dialog { + + Q_OBJECT + +public: + //! default constructor + ConfigureDialog( KConfig *_config, HardwareInfo *_hwinfo, Settings *_settings, + QWidget *parent = 0, const char *name = 0); + //! default destructor + ~ConfigureDialog(); + +private: + + //! pointer to instance of the blacklist edit dialog for Autosuspend + blacklistEditDialog* blacklistEDlgAS; + //! pointer to instance of the blacklist edit dialog for Autodimm + blacklistEditDialog* blacklistEDlgAD; + + //! the pointer to the config of kpowersave, get from constructor + KConfig *kconfig; + //! pointer to the KPowersave settings, get from constructor + Settings *settings; + //! pointer to hardware information and actions + HardwareInfo *hwinfo; + //! struct with allowed suspend states + SuspendStates suspend; + + //! QStringList with the blacklisted processes + QStringList blacklist; + //! QStringList with all available supported actions + QStringList actions; + //! QStringList with the name of the schemes in the config + QStringList schemes; + + //! true if the current desktop session is a GNOME session, else if not + bool gnome_session; + + //! true if a value within the Tab 'General Settings' is changed, else if not + bool general_changed; + //! true if all is initialised, false if not + bool initalised; + //! true if a value within the Tab 'Scheme Settings' is changed, else if not + bool scheme_changed; + //! true if the warning message was displayed , else if not! + bool displayed_WARN_autosuspend; + //! true if the brightness was changed + bool brightness_changed; + + //! represent the ID of the current selected scheme related to the schemeList + int currentScheme; + + //! the max numbers of levels supported by the machine + int brightnessLevels; + //! the brightness as the configdialog was started + int brightness_last; + + //! to store the changed 'General' setttings + void saveGeneralSettings(); + //! to store the (changed) settings of the current scheme + void saveSchemeSettings(); + //! set all needed widgets in the dialog for a given ID of a scheme + + void setConfigToDialog( int ); + //! set the values from the section general in configfile to dialog + void setGeneralSettings(); + //! set all needed icons + void setIcons(); + //! set all needed tooltips + void setTooltips(); + //! set the gB_inactivity visible/invisible + void setInactivityBox(); + + //! set the schemelist to the listbox + void setSchemeList(); + //! get the list of schemes and fill \ref schemes + void getSchemeList(); + //! set the current scheme + void selectScheme (QString _scheme); + //! to get the real Name of the Scheme + QString getSchemeRealName( QString ); + + //! map a action string from options to a description + QString mapActionToDescription( QString action ); + //! map a (translated) description of a action back to the name config key + QString mapDescriptionToAction( QString description ); + //! fill a QComboBox with actions (translated text) and select a value + void fillActionComboBox(QComboBox *_cb, QStringList _actions, QString _select); + +signals: + + //! signal to open the Help + void openHelp(); + //! signal to open the KNotify dialog + void openKNotify(); + +private slots: + + //! alled if the user click on 'Apply' Button + void buttonApply_clicked(); + //! called if the user click on 'Chancel' Button + void buttonCancel_clicked(); + //! called if the user click on 'OK' Button + void buttonOk_clicked(); + //! called if the user click on 'Help' Button + void buttonHelp_clicked(); + + //! called if the 'Enable scheme specific blacklist' checkbox toggled + void cB_Blacklist_toggled( bool ); + //! called if the 'Disable screensaver' checkbox toggled + void cB_disable_Ss_toggled( bool ); + //! called if the 'disablePM' checkbox toggled + void cB_disablePM_toggled( bool ); + //! called if the 'SpecificPM' checkbox toggled + void cB_SpecificPM_toggled( bool ); + //! called if the 'specificSettings' checkbox toggled + void cB_specificSettings_toggled( bool ); + + //! called if the checkbox cB_autoSuspend toggled + void cB_autoSuspend_toggled( bool ); + //! called if the current comboB_autoInactivity item is changed + void cB_autoInactivity_activated( int ); + + //! called if the checkbox cB_autoDimm toggled + void cB_autoDimm_toggled( bool ); + //! called if the 'Enable scheme specific blacklist' checkbox toggled + void cB_BlacklistDimm_toggled( bool ); + //! called if the value of sB_autoDimmTime get changed + void sB_autoDimmTime_valueChanged( int ); + + //! called if a value in section 'general' changed + void general_valueChanged(); + //! called if the current 'schemes' ListBoxItem changed + void listBox_schemes_currentChanged(); + //! called if a checkbox in section 'scheme' changed + void scheme_valueChanged(); + + //! called if the pB_editBlacklist clicked + void pB_editBlacklistSuspend_clicked(); + //! to store the changed and from BlacklistEditDlg recieved suspend blacklist to scheme + void saveSchemeSuspendBlacklist( QStringList ); + //! called if the pB_editBlacklistDimm clicked + void pB_editBlacklistDimm_clicked(); + //! to store the changed and from BlacklistEditDlg recieved dimm blacklist to scheme + void saveSchemeDimmBlacklist( QStringList ); + + //! called if the checkbox cB_Brightness toggled + void cB_Brightness_toggled ( bool ); + //! called if the slider for brightness changed + void brightnessSlider_sliderMoved( int ); + //! called if pB_resetBrightness clicked + void pB_resetBrightness_clicked(); + //! called if pB_configNotify released + void pB_configNotify_released(); + + //! called if the button for a new scheme get clicked + void pB_newScheme_clicked(); + //! called if the button for delete a scheme get clicked + void pB_deleteScheme_clicked(); + + //! called if the value of the standby DPMS spinBox changed + void sB_standby_valueChanged(); + //! called if the value of the suspend DPMS spinBox changed + void sB_suspend_valueChanged(); + //! called if the value of the powerOff DPMS spinBox changed + void sB_powerOff_valueChanged(); + + //! called if the warning QSpinBoxes for battery level is changed + void sB_batWarning_valueChanged(); + //! called if the low QSpinBoxes for battery level is changed + void sB_batLow_valueChanged(); + //! called if the critical QSpinBoxes for battery level is changed + void sB_batCritical_valueChanged(); + + //! called if the QComboBox for the battery warning level action changed + void cB_batWarning_activated(); + //! called if the QComboBox for the battery low level action changed + void cB_batLow_activated(); + //! called if the QComboBox for the battery critical level action changed + void cB_batCritical_activated(); + +}; + +#endif + diff --git a/src/countdown_Dialog.ui b/src/countdown_Dialog.ui new file mode 100644 index 0000000..eda8d01 --- /dev/null +++ b/src/countdown_Dialog.ui @@ -0,0 +1,204 @@ + +countdown_Dialog + + + countdown_Dialog + + + + 0 + 0 + 344 + 127 + + + + + 5 + 5 + 0 + 0 + + + + + + + false + + + + unnamed + + + + spacer3 + + + Horizontal + + + Expanding + + + + 142 + 21 + + + + + + pB_cancel + + + &Cancel + + + Alt+C + + + + + spacer1 + + + Horizontal + + + Maximum + + + + 30 + 20 + + + + + + spacer4 + + + Horizontal + + + Expanding + + + + 144 + 21 + + + + + + iconPixmap + + + + 48 + 48 + + + + + 48 + 48 + + + + image0 + + + false + + + + + spacer5 + + + Horizontal + + + Fixed + + + + 5 + 20 + + + + + + textLabel + + + + + + AutoText + + + WordBreak|AlignVCenter + + + + + spacer2 + + + Horizontal + + + Maximum + + + + 30 + 20 + + + + + + progressBar + + + + 3 + 5 + 0 + 0 + + + + + 200 + 20 + + + + + + + + 789c8593c9721a311086ef3cc5947573a5dacc303043a57230b6f1beef4ee530128bc1069bcd5b2aef9e5f52b702d855410cf0a9b7bf5b626d35ba39398c56d74a936931ed99c8dc17e368b5351b0cde7ffefaf1bbb4922411de59354a56be9556681c994895ddcbf12c70eeb8c19cb27d12d8d955c7711efc47cc6ca7a970ece2559739e77c3781bdff85b0f7a71d66c3fecf81bdff8be7b8ccfe75cb71b96c98ef3cc7a27f37b08fbf1266ff3eb3e879779c076e0ab3ff03b3e88985d95eb69cd42b329f4761b6f798a57ed572250efcc12cf56acc92ffd2732af932c775b03f9f4238f1f637cb699c72bc3281bdbe7bcbd5a456653e715c04ce99eb5c6f10d8db9f84b9de3a738bede7c2deae7cbd228bd99e58ae2562a7d47316b37f8bb9caac1c17b9c46f0973fc2db3e8df6716fd1b96b34a883f6516ff0ab3f4776839d745c1f98f2cd7d3c07b81eb8ebbcc6dd64b9e75c2fe078e8d663b5d5b2e52dde67a9bc21cdff36c12d63f0cecfd5bc29c6f9bb9c6f74f0973bc0eecedafc21c7fc65c707c4798ef4fdbb191fa4a0b73fc31b3d433817d3e89977a0533e73f9d06ce3d93a282d4fcb73ccbfbbedf85a5977861f9fa4bb93496a116b53fd798cbdfe1dc5dbaa71ef5e9811e69005aa839af1f11437aa2671ad1982678a634a317c4bc7ea95fc3fbcd79cee81d153e5063e2f80d96aff4af5303b9fbb4419bd0afd1c11635113d428d3658f46fb3ee1df8efd21ee77aa57d3aa043c48fa1f1888e17f41b3a419e199d22dad019f6cee9822e5169cbf5f3f4497f0fbb57748daeb79d36eb7543b788b8c3aff2d27c0ce637418c71bfd7e16975af439546e7638ad14d27e4b7937cc0ee87d36dbdc7e8654c899b5b0f99faf6f4e6f2b7713a53ecb6a802dd13e4f64f0a3d764655d273fa35340fb03b41779b5443fe017237dcca506744f9bff9b8b32d30cf3a229a98e0266ad83b94baf3b027b6a3e8d3fd39c644ed79f695822a5bf34015dc47e6e2b717ee8f565a19d7a93de30f74d9740a6d8d866a7dca8fa5dad0fd8c8899bf71aa8333cfe0ddc5ccf457f71f73eae22c7b98f73b6632806ef4a1eedd348ba5fbc97da81e3e87f018867d7916ef7f31f75feab86f1df6cd57faffbf56fe7c2ffd0519fbee77 + + + + + pB_cancel + pressed() + countdown_Dialog + pB_cancel_pressed() + + + + pB_cancel_pressed() + + + diff --git a/src/countdowndialog.cpp b/src/countdowndialog.cpp new file mode 100644 index 0000000..3deac27 --- /dev/null +++ b/src/countdowndialog.cpp @@ -0,0 +1,177 @@ +/*************************************************************************** + * Copyright (C) 2007 by Danny Kukawka * + * , * + * * + * This program is free software; you can redistribute it and/or modify * + * it under the terms of version 2 of the GNU General Public License * + * as published by the Free Software Foundation. * + * * + * This program is distributed in the hope that it will be useful, * + * but WITHOUT ANY WARRANTY; without even the implied warranty of * + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * + * GNU General Public License for more details. * + * * + * You should have received a copy of the GNU General Public License * + * along with this program; if not, write to the * + * Free Software Foundation, Inc., * + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. * + ***************************************************************************/ + +/*! \file countdowndialog.cpp + * \brief In this file can be found the countdown dialog related code. + * \author Danny Kukawka, + * \date 2007 + */ + +// own header +#include "countdowndialog.h" +#include "kpowersave_debug.h" + +// KDE headers: +#include +#include +#include + +// QT headers: +#include +#include +#include +#include +#include +#include + +/*! This is the default constructor of class countDownDialog . */ +countDownDialog::countDownDialog( int timeout, QWidget *parent, const char *name) + :countdown_Dialog(parent, name, false, Qt::WStyle_StaysOnTop | Qt::WDestructiveClose ) +{ + kdDebugFuncIn(trace); + chancel = false; + remaining = timeout; + timeOut = timeout; + + PROGRESS = new QTimer(this); + connect(PROGRESS, SIGNAL(timeout()), this, SLOT(updateProgress())); + + this->setCaption(i18n("KPowersave")); + + kdDebugFuncOut(trace); +} + +/*! This is the default destructor of class countDownDialog . */ +countDownDialog::~countDownDialog() { + kdDebugFuncIn(trace); + // no need to delete child widgets, Qt does it all for us + emit dialogClosed(chancel); + + kdDebugFuncOut(trace); +} + +/*! + * This used to set Icon/pixmap for the dialog. + * \param type QString with the type of the current suspend + * to set the pixmap in the dialog + */ +void countDownDialog::setPixmap( QString type ) +{ + QPixmap pixmap = 0; + + if(type.startsWith("suspend2disk")){ + pixmap = KGlobal::iconLoader()->loadIcon("suspend_to_disk", KIcon::NoGroup, KIcon::SizeLarge); + } else if (type.startsWith("suspend2ram")) { + pixmap = KGlobal::iconLoader()->loadIcon("suspend_to_ram", KIcon::NoGroup, KIcon::SizeLarge); + } else if (type.startsWith("standby")) { + pixmap = KGlobal::iconLoader()->loadIcon("stand_by", KIcon::NoGroup, KIcon::SizeLarge); + } else { + pixmap = KGlobal::iconLoader()->loadIcon("kpowersave", KIcon::NoGroup, KIcon::SizeLarge); + } + iconPixmap->setPixmap( pixmap ); +} + +/*! + * To set the message to the dialog, which should be shown to the user. + * \param text QString with the message. + */ +void countDownDialog::setMessageText(QString text) { + kdDebugFuncIn(trace); + + if (!text.isEmpty()) { + textLabel->setText(text); + } + + kdDebugFuncOut(trace); +} + +/*! + * To show the dialog and start the countdown. + * \return boolean with the result of the operation + * \retval true if the dialog could get displayed + * \retval false if there is any problem + */ +bool countDownDialog::showDialog() { + kdDebugFuncIn(trace); + + bool _retval = false; + + if (!textLabel->text().isEmpty() && timeOut > 0) { + // init the progressbar + progressBar->setFormat(i18n("%1 seconds").arg(remaining)); + progressBar->setPercentageVisible(true); + progressBar->setProgress(100); + progressBar->setEnabled(true); + + this->adjustSize(); + this->show(); + + PROGRESS->start(1000, true); + } + + kdDebugFuncOut(trace); + return _retval; +} + +/*! + * \b SLOT to get the event if the 'Cancel' button was pressed. + */ +void countDownDialog::pB_cancel_pressed() { + kdDebugFuncIn(trace); + + if (PROGRESS->isActive()) + PROGRESS->stop(); + + chancel = true; + close(); + + kdDebugFuncOut(trace); +} + +/*! + * \b SLOT to handle the change of the progressbar. + */ +void countDownDialog::updateProgress() { + kdDebugFuncIn(trace); + + if (remaining == 0 ) { + if (PROGRESS->isActive()) + PROGRESS->stop(); + + chancel = false; + close(); + } else if ( remaining > 0) { + int setTo = (int)((100.0/(float)timeOut)*(float)remaining); + + // set the progressBar + progressBar->setFormat(i18n("%1 seconds").arg(remaining)); + progressBar->setPercentageVisible(true); + progressBar->setProgress(setTo); + progressBar->setEnabled(true); + + // increase counter + remaining--; + // start needed timer + PROGRESS->start(1000, true); + } + + kdDebugFuncOut(trace); +} + +#include "countdowndialog.moc" diff --git a/src/countdowndialog.h b/src/countdowndialog.h new file mode 100644 index 0000000..86662f6 --- /dev/null +++ b/src/countdowndialog.h @@ -0,0 +1,83 @@ +/*************************************************************************** + * Copyright (C) 2007 by Danny Kukawka * + * , * + * * + * This program is free software; you can redistribute it and/or modify * + * it under the terms of version 2 of the GNU General Public License * + * as published by the Free Software Foundation. * + * * + * This program is distributed in the hope that it will be useful, * + * but WITHOUT ANY WARRANTY; without even the implied warranty of * + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * + * GNU General Public License for more details. * + * * + * You should have received a copy of the GNU General Public License * + * along with this program; if not, write to the * + * Free Software Foundation, Inc., * + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. * + ***************************************************************************/ + +/*! +* \file countdowndialog.h +* \brief Headerfile for countdowndialog.cpp and the class \ref countDownDialog. +*/ +/*! +* \class countDownDialog +* \brief class for countdown dialog related funtionality +* \author Danny Kukawka, , +* \date 2007 +*/ + +#ifndef COUNTDOWNDIALOG_H +#define COUNTDOWNDIALOG_H + +#include "countdown_Dialog.h" + +class countDownDialog: public countdown_Dialog { + + Q_OBJECT + +public: + + //! default constructor + countDownDialog(int timeout, QWidget *parent = 0, const char *name = 0); + //! default destructor + ~countDownDialog(); + + //! set needed icons + void setPixmap( QString ); + //! to set the message text for the user + void setMessageText(QString text); + //! to show up the dialog + bool showDialog(); + +private: + //! Timer for the timeout + /*! + * This timer is used to change the progressbar and to close the dialog if + * the \ref timeOut is over. + */ + QTimer *PROGRESS; + + //! time the dialog should be displayed + int timeOut; + //! remaining time to show the dialog + int remaining; + + //! to store the info if the countdown was chanceled + bool chancel; + +private slots: + + //! to update the progressbar + void updateProgress(); + //! to catch the event if the 'Chancel' button get pressed + void pB_cancel_pressed(); + +signals: + //! emited if the dialog get closed + void dialogClosed( bool result); + +}; + +#endif diff --git a/src/dbusHAL.cpp b/src/dbusHAL.cpp new file mode 100644 index 0000000..3c9a293 --- /dev/null +++ b/src/dbusHAL.cpp @@ -0,0 +1,1314 @@ + /************************************************************************** + * Copyright (C) 2006-2007 by Danny Kukawka * + * , * + * * + * This program is free software; you can redistribute it and/or modify * + * it under the terms of version 2 of the GNU General Public License * + * as published by the Free Software Foundation. * + * * + * This program is distributed in the hope that it will be useful, * + * but WITHOUT ANY WARRANTY; without even the implied warranty of * + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * + * GNU General Public License for more details. * + * * + * You should have received a copy of the GNU General Public License * + * along with this program; if not, write to the * + * Free Software Foundation, Inc., * + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. * + ***************************************************************************/ + +/*! + * \file dbusHAL.cpp + * \brief In this file can be found the functionality to connect to + * the HAL daemon via D-Bus, to handle D-Bus calls/events and to + * provide wrapper to HAL lib and functions + * \author Danny Kukawka, , + * \date 2006-2007 + */ + + // KDE Header +#include + +// DBUS - Header +#include "dbusHAL.h" + +// system headers +#include + +static void* myInstance = 0; + +/*! The default constructor of the class dbusHAL. */ +dbusHAL::dbusHAL(){ + kdDebugFuncIn(trace); + + dbus_is_connected = false; + hal_is_connected = false; + aquiredPolicyPower = false; + hal_ctx = NULL; + + // add pointer to this for filter_function() + myInstance=this; + // init connection to dbus + if(!initDBUS()) { + kdError() << "Can't connect to D-Bus" << endl; + m_dBusQtConnection = NULL; + } + if(!initHAL()) + kdError() << "Can't connect to HAL" << endl; + + kdDebugFuncOut(trace); +} + +/*! This is the default destructor of class dbusPowersaveConnection. */ +dbusHAL::~dbusHAL(){ + kdDebugFuncIn(trace); + + close(); + myInstance = NULL; + + kdDebugFuncOut(trace); +} + +/*! + * This function return information about connection status to the DBUS daemon. + * \return boolean with the state of the connection to D-Bus + * \retval true if connected + * \retval false if disconnected + */ +bool dbusHAL::isConnectedToDBUS() { + return dbus_is_connected; +} + +/*! + * This function return information about connection status to the HAL daemon. + * \return boolean with the state of the connection to HAL + * \retval true if connected + * \retval false if disconnected + */ +bool dbusHAL::isConnectedToHAL() { + return hal_is_connected; +} + +/*! + * This function return information if the org.freedesktop.Policy.Power + * interface was claimed. + * \return boolean with the status of claim the interface + * \retval true if aquired + * \retval false if not + */ +bool dbusHAL::aquiredPolicyPowerInterface() { + return aquiredPolicyPower; +} + +/*! + * This function try a reconnect to D-Bus and HAL daemon. + * \return boolean with the result of the operation + * \retval true if successful reconnected to D-Bus and HAL + * \retval false if unsuccessful + */ +bool dbusHAL::reconnect() { + // free HAL context + freeHAL(); + // close D-Bus connection + close(); + // init D-Bus conntection and HAL context + return (initDBUS() && initHAL()); +} + +/*! + * This function close the connection to powersave over the D-Bus daemon. + * \return boolean with the result of the operation + * \retval true if successful closed the connection + * \retval false if any problems + */ +bool dbusHAL::close() { + if ( m_dBusQtConnection != NULL ) { + releasePolicyPowerIface(); + m_dBusQtConnection->close(); + m_dBusQtConnection = NULL; + } + dbus_is_connected = false; + + return true; +} + +/* ----> D-Bus section :: START <---- */ + +/*! + * This function initialise the connection to the D-Bus daemon. + * \return boolean with the result of the operation + * \retval true if successful initialised D-Bus connection + * \retval false if unsuccessful + */ +bool dbusHAL::initDBUS(){ + kdDebugFuncIn(trace); + + dbus_is_connected = false; + + DBusError error; + dbus_error_init(&error); + + dbus_connection = dbus_bus_get( DBUS_BUS_SYSTEM, &error ); + + if (dbus_connection == NULL){ + kdError() << "Failed to open connection to system message bus: " << error.message << endl; + dbus_error_free (&error); + return false; + } + + if ( dbus_error_is_set( &error ) ) { + kdError() << "Failed to register connection with system message bus: " << error.message << endl; + return false; + } + + aquirePolicyPowerIface(); + + dbus_connection_set_exit_on_disconnect( dbus_connection, false ); + + /* add the filter function which should be executed on events on the bus */ + if ( ! dbus_connection_add_filter( dbus_connection, filterFunction, this, NULL) ) { + kdFatal() << "Error: Not enough memory to add filter to dbus connection" << endl; + exit(EXIT_FAILURE); + } + + /* add a match rule to catch all signals going through the bus with D-Bus interface */ + dbus_bus_add_match( dbus_connection, "type='signal'," + "interface='org.freedesktop.DBus'," + "member='NameOwnerChanged'", NULL); + + /* add a match rule to catch all signals going through the bus with HAL interface */ + dbus_bus_add_match( dbus_connection, "type='signal'," + "interface='org.freedesktop.Hal.Manager'," + "member='DeviceAdded'", NULL); + dbus_bus_add_match( dbus_connection, "type='signal'," + "interface='org.freedesktop.Hal.Manager'," + "member='DeviceRemoved'", NULL); + dbus_bus_add_match( dbus_connection, "type='signal'," + "interface='org.freedesktop.Hal.Device'," + "member='PropertyModified'", NULL); + dbus_bus_add_match( dbus_connection, "type='signal'," + "interface='org.freedesktop.Hal.Device'," + "member='Condition'", NULL); + + /* add a match rule to catch all signals going through the bus with ConsoleKit Interface */ + dbus_bus_add_match( dbus_connection, "type='signal'," + "interface='org.freedesktop.ConsoleKit.Session'," + "member='ActiveChanged'", NULL); + + m_dBusQtConnection = new DBusQt::Connection(this); + m_dBusQtConnection->dbus_connection_setup_with_qt_main(dbus_connection); + + dbus_is_connected = true; + + kdDebugFuncOut(trace); + return true; +} + +/*! + * This function aquire the org.freedesktop.Policy.Power interface + * \return boolean with the result of the operation + * \retval true if successful aquired the interface + * \retval false if unsuccessful + */ +bool dbusHAL::aquirePolicyPowerIface(){ + kdDebugFuncIn(trace); + + if (dbus_connection == NULL) { + kdDebugFuncOut(trace); + return false; + } + + switch (dbus_bus_request_name(dbus_connection, "org.freedesktop.Policy.Power", + DBUS_NAME_FLAG_REPLACE_EXISTING, NULL)) { + case DBUS_REQUEST_NAME_REPLY_PRIMARY_OWNER: + kdDebug() << "Acquired org.freedesktop.Policy.Power interface" << endl; + aquiredPolicyPower = true; + break; + case DBUS_REQUEST_NAME_REPLY_IN_QUEUE: + kdWarning() << "Queued to aquire org.freedesktop.Policy.Power interface" << endl; + aquiredPolicyPower = false; + break; + default: + kdWarning() << "Unknown error while aquire org.freedesktop.Policy.Power interface" << endl; + aquiredPolicyPower = false; + break; + } + + kdDebugFuncOut(trace); + return aquiredPolicyPower; +} + +/*! + * This function release the org.freedesktop.Policy.Power interface + * \return boolean with the result of the operation + * \retval true if successful aquired the interface + * \retval false if unsuccessful + */ +bool dbusHAL::releasePolicyPowerIface(){ + kdDebugFuncIn(trace); + + int result; + bool retval = false; + DBusError error; + + if (dbus_connection == NULL) { + kdDebugFuncOut(trace); + return false; + } + + dbus_error_init(&error); + + result = dbus_bus_release_name(dbus_connection, "org.freedesktop.Policy.Power", &error); + + if ( dbus_error_is_set( &error ) ) { + kdError() << "Failed to release org.freedesktop.Policy.Power: " << error.message << endl; + dbus_error_free(&error); + } else { + switch (result) { + case DBUS_RELEASE_NAME_REPLY_RELEASED: + kdDebug() << "Released org.freedesktop.Policy.Power interface" << endl; + retval = true; + aquiredPolicyPower = false; + break; + case DBUS_RELEASE_NAME_REPLY_NOT_OWNER: + kdWarning() << "Couldn't release org.freedesktop.Policy.Power, not the owner" << endl; + break; + case DBUS_RELEASE_NAME_REPLY_NON_EXISTENT: + kdWarning() << "Couldn't release org.freedesktop.Policy.Power, Iface not existing" << endl; + break; + default: + kdWarning() << "Couldn't release org.freedesktop.Policy.Power, unknown error" << endl; + break; + } + } + + return retval; + kdDebugFuncOut(trace); +} + +/*! + * This function check if the org.freedesktop.Policy.Power + * interface is owned by someone + * \return boolean with the result of the operation + * \retval true if the interface is owned by someone + * \retval false if else + */ +bool dbusHAL::isPolicyPowerIfaceOwned(){ + kdDebugFuncIn(trace); + + bool retval = false; + DBusError error; + + if (dbus_connection == NULL) { + kdDebugFuncOut(trace); + return false; + } + + dbus_error_init(&error); + + retval = dbus_bus_name_has_owner(dbus_connection, "org.freedesktop.Policy.Power", &error); + + if ( dbus_error_is_set( &error ) ) { + kdError() << "Failed to check if org.freedesktop.Policy.Power has an owner: " << error.message << endl; + dbus_error_free(&error); + } + + kdDebugFuncOut(trace); + return retval; +} + +/* ----> DBUS section :: END <---- */ +/* ----> HAL section :: START <---- */ + +/*! + * This function initialise the connection to HAL over the D-Bus daemon. + * \return boolean with the result of the operation + * \retval true if successful initialised HAL connection and context + * \retval false if unsuccessful + */ +bool dbusHAL::initHAL(){ + kdDebugFuncIn(trace); + + if ( !dbus_is_connected ) { + freeHAL(); + return false; + } else if ( hal_is_connected && (hal_ctx != NULL)) { + return true; + } + + // could not connect to HAL, reset all and try again + freeHAL(); + + DBusError error; + dbus_error_init(&error); + + dbus_connection = dbus_bus_get(DBUS_BUS_SYSTEM, &error); + if (dbus_connection == NULL || dbus_error_is_set(&error)) { + kdError() << "could not open connection to system bus: " << error.message << endl; + dbus_error_free(&error); + return false; + } + + bool hal_is_ready = dbus_bus_name_has_owner(dbus_connection, "org.freedesktop.Hal", &error); + + if (!hal_is_ready) { + kdWarning() << "HAL is not ready. We will try later... " << endl; + + if ( dbus_error_is_set( &error ) ) { + kdError() << "Error checking if hal service exists: " << error.message << endl; + dbus_error_free( &error ); + } + + freeHAL(); + return false; + } + + if((hal_ctx = libhal_ctx_new()) == NULL) { + kdError() << "Could not init HAL context" << endl; + return false; + } + + /* setup dbus connection for hal */ + if (!libhal_ctx_set_dbus_connection(hal_ctx, dbus_connection)) { + kdError() << "Could not set up connection to dbus for hal" << endl; + freeHAL(); + return false; + } + + /* init the hal library */ + if (!libhal_ctx_init(hal_ctx, &error)) { + kdError() << "Could not init hal library: " << error.message << endl; + freeHAL(); + return false; + } + + hal_is_connected = true; + + kdDebugFuncOut(trace); + return hal_is_connected; +} + +/*! + * This function free the hal connection/context. + */ +void dbusHAL::freeHAL(){ + + if ( hal_ctx != NULL ) { + libhal_ctx_free( hal_ctx ); + hal_ctx = NULL; + } + hal_is_connected = false; +} + +/*! + * This function try a reconnect to the HAL daemon only. + * \return boolean with the result of the operation + * \retval true if successful reconnected to HAL + * \retval false if unsuccessful + */ +bool dbusHAL::reconnectHAL() { + // free HAL context + freeHAL(); + // init HAL context + return (initHAL()); +} + +/*! + * This function query a integer property from HAL for a given device + * \param udi QString with the UDI of the device + * \param property QString with the property + * \param returnval pointer to the return value + * \return If the query was successful or not + */ +bool dbusHAL::halGetPropertyInt(QString udi, QString property, int *returnval){ + kdDebugFuncIn(trace); + + bool ret = false; + + if (!initHAL() || udi.isEmpty() || property.isEmpty()) + goto out; + + DBusError error; + dbus_error_init(&error); + + if (!libhal_device_property_exists(hal_ctx, udi, property, &error)) { + kdWarning() << "Property: " << property << " for: " << udi << " doesn't exist." << endl; + goto out; + } + + *returnval = libhal_device_get_property_int(hal_ctx, udi, property, &error); + + if (dbus_error_is_set(&error)) { + kdError() << "Fetching property: " << property << " for: " << udi + << " failed with: " << error.message << endl; + dbus_error_free(&error); + goto out; + } else { + ret = true; + } + +out: + kdDebugFuncOut(trace); + return true; +} + +/*! + * This function query a boolean property from HAL for a given device + * \param udi QString with the UDI of the device + * \param property QString with the property + * \param returnval pointer to the return value + * \return If the query was successful or not + */ +bool dbusHAL::halGetPropertyBool(QString udi, QString property, bool *returnval){ + kdDebugFuncIn(trace); + + bool ret = false; + + if (!initHAL() || udi.isEmpty() || property.isEmpty()) + goto out; + + DBusError error; + dbus_error_init(&error); + + if (!libhal_device_property_exists(hal_ctx, udi, property, &error)) { + kdWarning() << "Property: " << property << " for: " << udi << " doesn't exist." << endl; + goto out; + } + + *returnval = libhal_device_get_property_bool(hal_ctx, udi, property, &error); + + if (dbus_error_is_set(&error)) { + kdError() << "Fetching property: " << property << " for: " << udi + << " failed with: " << error.message << endl; + dbus_error_free(&error); + goto out; + } else { + ret = true; + } + +out: + kdDebugFuncOut(trace); + return ret; +} + + +/*! + * This function query a Sting property from HAL for a given device + * \param udi QString with the UDI of the device + * \param property QString with the property + * \param returnval pointer to the return value + * \return If the query was successful or not + */ +bool dbusHAL::halGetPropertyString(QString udi, QString property, QString *returnval){ + kdDebugFuncIn(trace); + + bool ret = false; + + if (!initHAL() || udi.isEmpty() || property.isEmpty()) + goto out; + + DBusError error; + dbus_error_init(&error); + + if (!libhal_device_property_exists(hal_ctx, udi, property, &error)) { + kdWarning() << "Property: " << property << " for: " << udi << " doesn't exist." << endl; + goto out; + } + + *returnval = libhal_device_get_property_string(hal_ctx, udi, property, &error); + + if (dbus_error_is_set(&error)) { + kdError() << "Fetching property: " << property << " for: " << udi + << " failed with: " << error.message << endl; + dbus_error_free(&error); + goto out; + } else { + ret = true; + } + +out: + kdDebugFuncOut(trace); + return ret; +} + +/*! + * This function query a String List property from HAL for a given device + * \param udi QString with the udi of the device + * \param property QString with the property to query + * \param devices QStringList to return the values + * \return If the query was successful or not + */ +bool dbusHAL::halGetPropertyStringList (QString udi, QString property, QStringList *devices) { + kdDebugFuncIn(trace); + + bool ret = false; + + if (!initHAL() || udi.isEmpty() || property.isEmpty()) + goto out; + + DBusError error; + char ** found; + + dbus_error_init(&error); + + if (!libhal_device_property_exists(hal_ctx, udi, property, &error)) { + kdWarning() << "Property: " << property << " for: " << udi << " doesn't exist." << endl; + goto out; + } + + found = libhal_device_get_property_strlist (hal_ctx, udi, property, &error); + + if (dbus_error_is_set(&error)) { + kdWarning() << "Error while query existing strlist Property: " << property + << " for: " << udi << " error: " << error.message << endl; + dbus_error_free(&error); + libhal_free_string_array(found); + goto out; + } else { + for (int i = 0; found[i] != NULL ; ++i) { + QString _to_add = found[i]; + if (!_to_add.isEmpty()) *devices += _to_add; + } + libhal_free_string_array(found); + ret = true; + } + +out: + kdDebugFuncOut(trace); + return ret; +} + + +/*! + * This function query a capability from HAL for a given device + * \param udi QString with the UDI of the device + * \param capability QString with the capability to query + * \param returnval pointer to the return value as boolean + * \return If the query was successful or not + */ +bool dbusHAL::halQueryCapability(QString udi, QString capability, bool *returnval) { + kdDebugFuncIn(trace); + + bool ret = false; + + if (!initHAL() || udi.isEmpty() || capability.isEmpty()) + goto out; + + DBusError error; + dbus_error_init(&error); + + *returnval = libhal_device_query_capability(hal_ctx, udi, capability, &error); + + if (dbus_error_is_set(&error)) { + kdError() << "Fetching capability: " << capability << " for: " << udi + << " failed with: " << error.message << endl; + dbus_error_free(&error); + goto out; + } else { + ret = true; + } + +out: + kdDebugFuncOut(trace); + return ret; +} + +/*! + * Use this function to check if a device has a specia property/key. + * \param udi QString with the UDI of the device + * \param property QString with the property + * \return If the query was successful or not + */ +bool dbusHAL::halDevicePropertyExist(QString udi, QString property ) { + kdDebugFuncIn(trace); + + bool ret = false; + + if (!initHAL() || udi.isEmpty() || property.isEmpty()) + goto out; + + DBusError error; + dbus_error_init(&error); + + if (! libhal_device_property_exists (hal_ctx, udi, property, &error)) { + if (dbus_error_is_set(&error)) { + kdError() << "Fetching existing property: " << property << " for: " << udi + << " failed with: " << error.message << endl; + dbus_error_free(&error); + } + goto out; + } else { + ret = true; + } + +out: + kdDebugFuncOut(trace); + return ret; +} + +/*! + * Use this function to search find devices with a give capability + * \param capability QString with the capability to query + * \param devices QStringList to return the found devices + * \return If the query was successful or not + */ +bool dbusHAL::halFindDeviceByCapability (QString capability, QStringList *devices) { + kdDebugFuncIn(trace); + + DBusError error; + char ** found; + int num = 0; + bool ret = false; + + if (!initHAL() || capability.isEmpty()) + goto out; + + dbus_error_init(&error); + + found = libhal_find_device_by_capability (hal_ctx, capability, &num, &error); + + if (dbus_error_is_set(&error)) { + kdError() << "Could not get list of devices with capability: " << capability + << " error: " << error.message << endl; + dbus_error_free(&error); + libhal_free_string_array(found); + goto out; + } else { + for (int i = 0; i < num; ++i) { + QString _to_add = found[i]; + if (!_to_add.isEmpty()) *devices += _to_add; + } + libhal_free_string_array(found); + ret = true; + } + +out: + kdDebugFuncOut(trace); + return ret; +} + +/*! + * Use this function to search find devices with a special string property + * \param property QString with the name of the property + * \param keyval QString with value of the string property + * \param devices QStringList to return the found devices + * \return If the query was successful or not + */ +bool dbusHAL::halFindDeviceByString (QString property, QString keyval, QStringList *devices) { + kdDebugFuncIn(trace); + + DBusError error; + char ** found; + int num = 0; + bool ret = false; + + if (!initHAL() || property.isEmpty() || keyval.isEmpty()) + goto out; + + dbus_error_init(&error); + + found = libhal_manager_find_device_string_match (hal_ctx, property, keyval, &num, &error); + + if (dbus_error_is_set(&error)) { + kdError() << "Could not get list of devices with key: " << property + << "and string value: " << keyval << " error: " << error.message << endl; + dbus_error_free(&error); + libhal_free_string_array(found); + goto out; + } else { + for (int i = 0; i < num; ++i) { + QString _to_add = found[i]; + if (!_to_add.isEmpty()) *devices += _to_add; + } + libhal_free_string_array(found); + ret = true; + } + +out: + kdDebugFuncOut(trace); + return ret; +} + +/* ----> HAL section :: END <---- */ +/* ----> D-Bus methode calls functions :: START <---- */ +/*! + * This function call a D-Bus method + * \param interface QString with te dbus interface + * \param path QString with the object path + * \param object QString with the object name + * \param method QString with the name of the methode + * \param first_arg_type integer with the dbus type of the first argument + * \param ... more arguments + * \return If the query was successful or not + */ +bool dbusHAL::dbusSystemMethodCall( QString interface, QString path, QString object, QString method, + int first_arg_type, ... ) { + kdDebugFuncIn(trace); + + bool _ret = false; + va_list var_args; + + va_start(var_args, first_arg_type); + _ret = dbusMethodCall( interface, path, object, method, DBUS_BUS_SYSTEM, + NULL, -1, first_arg_type, var_args); + va_end(var_args); + + kdDebugFuncOut(trace); + return _ret; +} + + +/*! + * This overloaded function call a D-Bus method on the D-Bus system bus with a return value + * \param interface QString with the dbus interface + * \param path QString with the object path + * \param object QString with the object name + * \param method QString with the name of the method + * \param retvalue void pointer to arguments, if NULL we make a simple call + * \param retval_type Integer with the dbus type of the return value, set to -1 if retvalue is NULL + * \param first_arg_type Integer with the dbus type of the first argument followed by the value + * \return If the query was successful or not + */ +bool dbusHAL::dbusSystemMethodCall( QString interface, QString path, QString object, QString method, + void *retvalue, int retval_type, int first_arg_type, ... ) { + kdDebugFuncIn(trace); + + bool _ret = false; + va_list var_args; + + va_start(var_args, first_arg_type); + _ret = dbusMethodCall( interface, path, object, method, DBUS_BUS_SYSTEM, + retvalue, retval_type, first_arg_type, var_args); + va_end(var_args); + + kdDebugFuncOut(trace); + return _ret; +} + + +/*! + * This function call a D-Bus method with a return value + * \param interface QString with the dbus interface + * \param path QString with the object path + * \param object QString with the object name + * \param method QString with the name of the method + * \param dbus_type DBusBusType with the D-Bus BUS Type + * \param retvalue void pointer to arguments, if NULL we make a simple call + * \param retval_type Integer with the dbus type of the return value, set to -1 if retvalue is NULL + * \param first_arg_type Integer with the dbus type of the first argument followed by the value + * \param var_args va_list with more arguments + * \return If the query was successful or not + */ +bool dbusHAL::dbusMethodCall( QString interface, QString path, QString object, QString method, + DBusBusType dbus_type, void *retvalue, int retval_type, int first_arg_type, + va_list var_args ) { + kdDebugFuncIn(trace); + + DBusMessage *message; + DBusMessage *reply; + DBusError error; + bool ret = false; + + dbus_error_init(&error); + + dbus_connection = dbus_bus_get(dbus_type, &error); + + if (dbus_error_is_set(&error)) { + kdError() << "Could not get dbus connection: " << error.message << endl; + dbus_error_free(&error); + goto out; + } + + message = dbus_message_new_method_call( interface, path, object, method ); + dbus_message_append_args_valist(message, first_arg_type, var_args); + + if (retvalue == NULL) { + if (!dbus_connection_send(dbus_connection, message, NULL)) { + kdError() << "Could not send method call." << endl; + dbus_message_unref( message ); + goto out; + } + } else { + reply = dbus_connection_send_with_reply_and_block(dbus_connection, message, -1, &error); + + if (dbus_error_is_set(&error)) { + kdError() << "Could not send dbus message: " << error.message << endl; + dbus_message_unref(message); + dbus_error_free(&error); + goto out; + } + + int type = dbus_message_get_type(reply); + if (type == DBUS_MESSAGE_TYPE_METHOD_RETURN) { + if (!dbus_message_get_args(reply, &error, retval_type, retvalue, DBUS_TYPE_INVALID)){ + if (dbus_error_is_set(&error)) { + kdError() << "Could not get argument from reply: " + << error.message << endl; + dbus_error_free(&error); + } + dbus_message_unref(reply); + dbus_message_unref(message); + goto out; + } + } else { + kdError() << "Revieved invalid DBUS_MESSAGE_TYPE: " << type + << "expected: " << DBUS_MESSAGE_TYPE_METHOD_RETURN << endl; + dbus_message_unref(reply); + dbus_message_unref(message); + goto out; + } + } + + ret = true; // if we are here, everything should be okay + dbus_message_unref(message); + dbus_connection_flush(dbus_connection); + +out: + kdDebugFuncOut(trace); + return ret; +} + +/*! + * Function to call a suspend and call if resumed \ref callBackSuspend() + * to emit a resume signal. + * \param suspend a char pointer with the name of the suspend interface + * \return If the query was successful or not + */ +bool dbusHAL::dbusMethodCallSuspend ( const char *suspend ) { + kdDebugFuncIn(trace); + + DBusMessage *message; + DBusError error; + DBusPendingCall* pcall = NULL; + bool ret = false; + + dbus_error_init(&error); + dbus_connection = dbus_bus_get(DBUS_BUS_SYSTEM, &error); + + if (dbus_error_is_set(&error)) { + kdError() << "Could not get dbus connection: " << error.message << endl; + dbus_error_free(&error); + goto out; + } + + message = dbus_message_new_method_call( HAL_SERVICE, HAL_COMPUTER_UDI, HAL_PM_IFACE, suspend); + if (strcmp( suspend, "Suspend") == 0) { + int wake_up = 0; + dbus_message_append_args (message, DBUS_TYPE_INT32, &wake_up, DBUS_TYPE_INVALID); + } + + if (message) { + // need to set INT_MAX as default and not -1 + dbus_connection_send_with_reply (dbus_connection, message, &pcall, INT_MAX); + if (pcall) { + dbus_pending_call_ref (pcall); // really needed? + dbus_pending_call_set_notify (pcall, dbusHAL::callBackSuspend, NULL, NULL); + } + dbus_message_unref (message); + ret = true; + } + +out: + kdDebugFuncOut(trace); + return ret; +} + +/*! + * Slot called by D-Bus as set in \ref dbusMethodCallSuspend() + * Here we emit the resume signal. + */ +void dbusHAL::callBackSuspend (DBusPendingCall* pcall, void* /*data*/) { + kdDebugFuncIn(trace); + + DBusMessage* reply = NULL; + DBusError error; + int result; + bool failed = false; + + if (!pcall) { + kdError() << "dbusHAL::callBackSuspend - DBusPendingCall not set, return" << endl; + kdDebugFuncOut(trace); + return; + } + + reply = dbus_pending_call_steal_reply (pcall); + if (reply == NULL) { + kdError() << "dbusHAL::callBackSuspend - Got no reply, return" << endl; + goto out; + } + + dbus_error_init(&error); + + if (!dbus_message_get_args (reply, &error, DBUS_TYPE_INT32, &result, DBUS_TYPE_INVALID)) { + if (dbus_error_is_set(&error)) { + kdError() << "Could not get argument from reply: " << error.message << endl; + dbus_error_free(&error); + } + + kdWarning() << "dbusHAL::callBackSuspend dbus_message_get_args failed, maybe timouted" << endl; + failed = true; + } + + dbus_message_unref (reply); + +out: + dbus_pending_call_unref (pcall); + + if (failed) + emit ((dbusHAL*) myInstance)->backFromSuspend( -1 ); + else + emit ((dbusHAL*) myInstance)->backFromSuspend( result ); + + kdDebugFuncOut(trace); + return; +} + + +/* ----> D-Bus methode calls functions :: END <---- */ +/* ---> PolicyKit method call section :: START <--- */ + +/*! + * Check if the user is privileged to a special privilege + * \param privilege QString with the name of the requested privilege + * \param udi QString with the UDI. + * \param ressource QString with the name of the ressource + * \param user QString with the name of the user. If empty the current user is used. + * \return int with info if the user is allowed or not. + * \retval 0 if not allowed + * \retval 1 if allowed + * \retval -1 if a error occurs or we could not query the interface + */ +int dbusHAL::isUserPrivileged(QString privilege, QString udi, QString ressource, QString user) { + kdDebugFuncIn(trace); + + const char *_unique_name; + const char *_user; + const char *_privilege; + + int retval = -1; + + if (user.isEmpty() || user.isNull()) + _user = getenv("USER"); + else + _user = user.latin1(); + + if (_user == NULL || privilege.isEmpty()) + goto out; + + _unique_name = dbus_bus_get_unique_name(dbus_connection); + _privilege = privilege.latin1(); + +#ifdef USE_LIBHAL_POLICYCHECK + DBusError error; + char *result; + + if (udi.isEmpty()) { + kdError() << "No UDI given ... could not lookup privileges" << endl; + goto out; + } + if (!hal_is_connected) { + kdError() << "HAL not running, could not call libhal for lookup privileges" << endl; + goto out; + } + + dbus_error_init(&error); + result = libhal_device_is_caller_privileged ( hal_ctx, udi.latin1(), _privilege, _unique_name, &error); + + if ( dbus_error_is_set( &error ) ) { + kdWarning() << "Error while lookup privileges: " << error.message << endl; + dbus_error_free( &error ); + retval = -1; + } else { + if (!strcmp(result, "yes")) { + retval = 1; + } else if (!strcmp(result, "no")) { + retval = 0; + } else { + retval = -1; + } + } + + libhal_free_string(result); +#else + // not sure if we need this, but to avoid problems + dbus_bool_t _retval; + const char *_ressource; + _ressource = ressource.latin1(); + + if (!dbusSystemMethodCall( "org.freedesktop.PolicyKit", + "/org/freedesktop/PolicyKit/Manager", + "org.freedesktop.PolicyKit.Manager", + "IsUserPrivileged", + &_retval, DBUS_TYPE_BOOLEAN, + DBUS_TYPE_STRING, &_unique_name, + DBUS_TYPE_STRING, &_user, + DBUS_TYPE_STRING, &_privilege, + DBUS_TYPE_STRING, &_ressource, + DBUS_TYPE_INVALID)) { + retval = -1; // only to be sure we have no changes trough the call + } else { + retval = (int) _retval; + } +#endif + +out: + kdDebugFuncOut(trace); + return retval; +} +/* ---> PolicyKit method call section :: END <--- */ + +/*! + * Use this SLOT to emit a reviced messages to the kpowersave. + * NOTE: Because of the filter function this need to be a public function. + * Don't use this function in any other place than this class. + * \param type enum with the type of the message + * \param message String with the message + * \param string String with additional info + */ +void dbusHAL::emitMsgReceived( msg_type type, QString message, QString string ) { + + if (message.startsWith("dbus.terminate")) + dbus_is_connected = false; + + if (type == POLICY_POWER_OWNER_CHANGED) { + if (message.startsWith("NOW_OWNER")) + aquiredPolicyPower = true; + else + aquiredPolicyPower = false; + } + + emit msgReceived_withStringString( type, message, string ); +} + +#include "dbusHAL.moc" +// --> functions which are not member of the class ... + +/*! + * This function is needed filter function for the D-Bus connection to filter + * all needed messages from the bus which are needful for KPowersave. + * \param connection existing connection to the D-Bus daemon + * \param message the recieved message from the D-Bus daemon + * \param data void pointer (see dbus bindings for more information) + * \return DBusHandlerResult + */ +DBusHandlerResult +filterFunction (DBusConnection *connection, DBusMessage *message, void */*data*/) { + kdDebugFuncIn(trace); + + bool reply_wanted; + char *value; + QString ifaceType; + + DBusError error; + dbus_error_init( &error ); + + if (dbus_message_is_signal (message, + DBUS_INTERFACE_LOCAL, + "Disconnected")){ + ((dbusHAL*) myInstance)->emitMsgReceived( DBUS_EVENT, "dbus.terminate", 0 ); + dbus_connection_unref(connection); + kdDebugFuncOut(trace); + return DBUS_HANDLER_RESULT_NOT_YET_HANDLED; + } + + if ( dbus_message_get_type( message ) != DBUS_MESSAGE_TYPE_SIGNAL ) { + if (trace) kdDebug() << "recieved message, but wasn't from type DBUS_MESSAGE_TYPE_SIGNAL" << endl; + kdDebugFuncOut(trace); + return DBUS_HANDLER_RESULT_NOT_YET_HANDLED; + } + + ifaceType = dbus_message_get_interface( message ); + if (ifaceType == NULL) { + kdDebug() << "Received message from invalid interface" << endl; + kdDebugFuncOut(trace); + return DBUS_HANDLER_RESULT_NOT_YET_HANDLED; + } + + reply_wanted = !dbus_message_get_no_reply( message ); + + if (ifaceType.startsWith(DBUS_INTERFACE_DBUS)) { + if(trace) kdDebug() << "Received from DBUS_INTERFACE_DBUS" << endl; + /* get the name of the signal */ + const char *signal = dbus_message_get_member( message ); + + /* get the first argument. This must be a string at the moment */ + dbus_message_get_args( message, &error, DBUS_TYPE_STRING, &value, DBUS_TYPE_INVALID ); + + if ( dbus_error_is_set( &error ) ) { + kdWarning() << "Received signal " << error.message << " but no string argument" << endl; + dbus_error_free( &error ); + kdDebugFuncOut(trace); + return DBUS_HANDLER_RESULT_HANDLED; + } + + if (trace) kdDebug() << "filter_function::SIGNAL=" << signal << " VALUE=" << value << endl; + + /* our name is... */ + if ( ! strcmp( signal, "NameAcquired" ) ) { + kdDebugFuncOut(trace); + return DBUS_HANDLER_RESULT_HANDLED; + } + + else if ( ! strcmp( signal, "NameOwnerChanged" )) { + char *service; + char *old_owner; + char *new_owner; + + if (dbus_message_get_args (message, NULL, DBUS_TYPE_STRING, &service, + DBUS_TYPE_STRING, &old_owner, + DBUS_TYPE_STRING, &new_owner, DBUS_TYPE_INVALID)) { + if (!strcmp(service, "org.freedesktop.Hal")) { + if (!strcmp(new_owner, "") && strcmp(old_owner, "")) { + // Hal service stopped. + kdDebug() << "=== org.freedesktop.Hal terminated ===" << endl; + ((dbusHAL*) myInstance)->emitMsgReceived( DBUS_EVENT, + "hal.terminate", + NULL ); + } + else if (!strcmp(old_owner, "") && strcmp(new_owner, "")) { + // Hal service started. + kdDebug() << "=== org.freedesktop.Hal started ===" << endl; + ((dbusHAL*) myInstance)->emitMsgReceived( DBUS_EVENT, + "hal.started", + NULL ); + } + } else if (!strcmp(service, "org.freedesktop.Policy.Power")) { + const char *own_name; + + own_name = dbus_bus_get_unique_name(((dbusHAL*) myInstance)->get_DBUS_connection()); + + if (!strcmp(new_owner, own_name)) { + kdDebug() << "=== now owner of org.freedesktop.Policy.Power ===" << endl; + // we have now again the ower of the name! + ((dbusHAL*) myInstance)->emitMsgReceived( POLICY_POWER_OWNER_CHANGED, + "NOW_OWNER", + NULL ); + } else { + // some other has now the interface + kdDebug() << "=== someone owner of org.freedesktop.Policy.Power ===" << endl; + ((dbusHAL*) myInstance)->emitMsgReceived( POLICY_POWER_OWNER_CHANGED, + "OTHER_OWNER", + NULL ); + } + } + } + } + kdDebugFuncOut(trace); + return DBUS_HANDLER_RESULT_HANDLED; + } else if (ifaceType.startsWith("org.freedesktop.Hal.Manager")) { + kdDebug() << "Received from org.freedesktop.Hal.Manager" << endl; + char *udi; + + const char *signal = dbus_message_get_member( message ); + /* get the first argument. This must be a string at the moment */ + dbus_message_get_args( message, &error, DBUS_TYPE_STRING, &value, DBUS_TYPE_INVALID ); + + if ( dbus_error_is_set( &error ) ) { + kdWarning() << "Received signal, but no string argument: " << error.message << endl; + dbus_error_free( &error ); + kdDebugFuncOut(trace); + return DBUS_HANDLER_RESULT_HANDLED; + } + + if (dbus_message_get_args( message, &error, DBUS_TYPE_STRING, &udi, DBUS_TYPE_INVALID )) { + if (! strcmp(signal, "DeviceRemoved") || ! strcmp(signal, "DeviceAdded")) { + ((dbusHAL*) myInstance)->emitMsgReceived( HAL_DEVICE, signal, udi ); + kdDebug() << "org.freedesktop.Hal.Manager: uid: " << udi + << " signal: " << signal << endl; + } else { + kdWarning() << "Received unknown signal from org.freedesktop.Hal.Manager: " + << signal << endl; + } + } + kdDebugFuncOut(trace); + return DBUS_HANDLER_RESULT_HANDLED; + + } else if (ifaceType.startsWith("org.freedesktop.Hal.Device")) { + const char *udi = dbus_message_get_path (message); + const char *signal = dbus_message_get_member( message ); + + /* Code taken from libhal */ + if (! strcmp(signal, "PropertyModified")) { + if (trace) kdDebug() << "-------- PropertyModified ------" << endl; + int i, num_modifications; + DBusMessageIter iter; + DBusMessageIter iter_array; + + dbus_message_iter_init (message, &iter); + dbus_message_iter_get_basic (&iter, &num_modifications); + dbus_message_iter_next (&iter); + + dbus_message_iter_recurse (&iter, &iter_array); + + for (i = 0; i < num_modifications; i++) { + dbus_bool_t removed, added; + char *key; + DBusMessageIter iter_struct; + + dbus_message_iter_recurse (&iter_array, &iter_struct); + + dbus_message_iter_get_basic (&iter_struct, &key); + dbus_message_iter_next (&iter_struct); + dbus_message_iter_get_basic (&iter_struct, &removed); + dbus_message_iter_next (&iter_struct); + dbus_message_iter_get_basic (&iter_struct, &added); + + /* don't check if we really need this device, check this in an other class */ + ((dbusHAL*) myInstance)->emitMsgReceived( HAL_PROPERTY_CHANGED, udi, key); + kdDebug() << "PropertyModified: uid: " << udi << " key: " << key << endl; + + dbus_message_iter_next (&iter_array); + } + } else if (! strcmp(signal, "Condition")) { + if (trace) kdDebug() << "-------- Condition ------" << endl; + char *name, *detail; + + dbus_message_get_args( message, &error, DBUS_TYPE_STRING, &value, DBUS_TYPE_INVALID ); + + if (dbus_message_get_args (message, &error, DBUS_TYPE_STRING, &name, + DBUS_TYPE_STRING, &detail, DBUS_TYPE_INVALID)) { + ((dbusHAL*) myInstance)->emitMsgReceived( HAL_CONDITION, name, detail ); + } else { + if (dbus_error_is_set( &error )) dbus_error_free( &error ); + } + } else { + kdDebug() << "Received unknown signal from org.freedesktop.Hal.Device: " + << signal << endl; + } + kdDebugFuncOut(trace); + return DBUS_HANDLER_RESULT_HANDLED; + } else if (ifaceType.startsWith("org.freedesktop.ConsoleKit.Session")) { + kdDebug() << "Received from org.freedesktop.ConsoleKit.Session" << endl; + + const char *session = dbus_message_get_path (message); + const char *signal = dbus_message_get_member( message ); + + if (! strcmp(signal, "ActiveChanged")) { + dbus_bool_t active; + + if (dbus_message_get_args( message, &error, DBUS_TYPE_BOOLEAN, &active, DBUS_TYPE_INVALID )) { + ((dbusHAL*) myInstance)->emitMsgReceived( CONSOLEKIT_SESSION_ACTIVE, + session, QString("%1").arg((int)active)); + } else { + if (dbus_error_is_set( &error )) dbus_error_free( &error ); + } + } else { + kdDebug() << "Received unknown signal from org.freedesktop.ConsoleKit.Session: " + << signal << endl; + kdDebugFuncOut(trace); + return DBUS_HANDLER_RESULT_NOT_YET_HANDLED; + } + kdDebugFuncOut(trace); + return DBUS_HANDLER_RESULT_HANDLED; + } else { + kdDebugFuncOut(trace); + return DBUS_HANDLER_RESULT_NOT_YET_HANDLED; + } +} + +// --> some functions to get private members + +//! to get the current connection to D-Bus +DBusConnection * dbusHAL::get_DBUS_connection() { + return dbus_connection; +} diff --git a/src/dbusHAL.h b/src/dbusHAL.h new file mode 100644 index 0000000..9346f0a --- /dev/null +++ b/src/dbusHAL.h @@ -0,0 +1,214 @@ + /************************************************************************** + * Copyright (C) 2006-2007 by Danny Kukawka * + * , * + * * + * This program is free software; you can redistribute it and/or modify * + * it under the terms of version 2 of the GNU General Public License * + * as published by the Free Software Foundation. * + * * + * This program is distributed in the hope that it will be useful, * + * but WITHOUT ANY WARRANTY; without even the implied warranty of * + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * + * GNU General Public License for more details. * + * * + * You should have received a copy of the GNU General Public License * + * along with this program; if not, write to the * + * Free Software Foundation, Inc., * + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. * + ***************************************************************************/ + +/*! +* \file dbusHAL.h +* \brief Headerfile for dbusHAL.cpp and the class \ref dbusHAL. +*/ +/*! +* \class dbusHAL +* \brief class for connection to HAL via D-Bus +* \author Danny Kukawka, , +* \date 2006-2007 +*/ + +#ifndef _DBUSHAL_H_ +#define _DBUSHAL_H_ + +#ifndef DBUS_API_SUBJECT_TO_CHANGE +#define DBUS_API_SUBJECT_TO_CHANGE +#endif + +// Global Header +#ifdef HAVE_CONFIG_H +#include +#endif + +// QT - Header +#include + +// D-Bus Header +#include // needed for dbus_bool_t +#include +#include + +// HAL Library +#include + +// kpowersave - Header +#include "kpowersave_debug.h" + +#define HAL_SERVICE "org.freedesktop.Hal" +#define HAL_PM_IFACE "org.freedesktop.Hal.Device.SystemPowerManagement" +#define HAL_LPANEL_IFACE "org.freedesktop.Hal.Device.LaptopPanel" +#define HAL_CPUFREQ_IFACE "org.freedesktop.Hal.Device.CPUFreq" +#define HAL_COMPUTER_UDI "/org/freedesktop/Hal/devices/computer" +#define CK_SERVICE "org.freedesktop.ConsoleKit" +#define CK_MANAGER_IFACE "org.freedesktop.ConsoleKit.Manager" +#define CK_MANAGER_OBJECT "/org/freedesktop/ConsoleKit/Manager" +#define CK_SESSION_IFACE "org.freedesktop.ConsoleKit.Session" + +enum msg_type { + ACPI_EVENT, + DBUS_EVENT, + HAL_DEVICE, + HAL_PROPERTY_CHANGED, + HAL_CONDITION, + CONSOLEKIT_SESSION_ACTIVE, + POLICY_POWER_OWNER_CHANGED +}; + +class dbusHAL : public QObject{ + Q_OBJECT + +private: + + //! QT connection to D-Bus + DBusQt::Connection* m_dBusQtConnection; + //! real connection to D-Bus + DBusConnection *dbus_connection; + //! HAL context + LibHalContext *hal_ctx; + + //! to store information if KPowersave is connected to D-Bus + /*! + * This boolean represent information about the state of the connection to D-Bus + * \li true: if connected + * \li false: if disconnected + */ + bool dbus_is_connected; + //! to store information if KPowersave is connected to HAL + /*! + * This boolean represent information about the state of the connection to HAL + * \li true: if connected + * \li false: if disconnected + */ + bool hal_is_connected; + + //! if we could claim the org.freedesktop.Policy.Power interface + /*! + * This boolean represent information if KPowersave could claim the + * org.freedesktop.Policy.Power interface from the D-Bus + * \li true: if aquired + * \li false: if not + */ + bool aquiredPolicyPower; + + /* D-Bus helper functions */ + //! to initialise the connection to D-Bus + bool initDBUS(); + //! to call a methode on a dbus interface with reply + bool dbusMethodCall( QString interface, QString path, QString object, QString method, + DBusBusType dbus_type, void *retvalue, int retval_type, + int first_arg_type, va_list var_args); + + //! function to be called back by DBusPendingCall::dbus_pending_call_set_notify() + static void callBackSuspend (DBusPendingCall* pcall, void* /*data*/); + + /* HAL helper functions */ + //! to initialise the connection to HAL + bool initHAL(); + //! to free the HAL context + void freeHAL(); + +public: + + //! default constructor + dbusHAL(); + //! default destructor + ~dbusHAL(); + + //! to reconnect to D-Bus and HAL + bool reconnect(); + //! to reconnect only HAL + bool reconnectHAL(); + //! to close the connection to D-Bus and HAL + bool close(); + + //! to aquire the org.freedesktop.Policy.Power interface + bool aquirePolicyPowerIface(); + //! to release the org.freedesktop.Policy.Power interface + bool releasePolicyPowerIface(); + //! to check if the org.freedesktop.Policy.Power interface has an owner + bool isPolicyPowerIfaceOwned(); + + // --- helper to get private members of the class --- // + //! to get information if KPowersave is connected to D-Bus + bool isConnectedToDBUS(); + //! to get information if KPowersave is connected to HAL + bool isConnectedToHAL(); + //! to get info about claim org.freedesktop.Policy.Power interface + bool aquiredPolicyPowerInterface(); + + //! return the current HAL context + LibHalContext *get_HAL_context(); + //! return the current DBus connection + DBusConnection *get_DBUS_connection(); + + /* HAL device information stuff */ + //! Query a integer device property from HAL + bool halGetPropertyInt(QString udi, QString property, int *returnval); + //! Query a bolean device property from HAL + bool halGetPropertyBool(QString udi, QString property, bool *returnval); + //! Query a string device property from HAL + bool halGetPropertyString(QString udi, QString property, QString *returnval); + //! Query a string list device property from HAL + bool halGetPropertyStringList (QString udi, QString property, QStringList *devices); + //! Query a capability for a HAL device + bool halQueryCapability(QString udi, QString capability, bool *returnval); + + /* functions to find devices and check stuff */ + //! check if a property exist on a device + bool halDevicePropertyExist(QString udi, QString property); + //! to find a device by capability + bool halFindDeviceByCapability (QString capability, QStringList *devices); + //! to find a device by a string property + bool halFindDeviceByString (QString property, QString keyval, QStringList *devices); + + /* D-Bus helper functions */ + + /* functions to call methodes */ + //! to call a methode on a dbus system bus method without reply + bool dbusSystemMethodCall( QString interface, QString path, QString object, QString method, + int first_arg_type, ... ); + //! to call a methode on a dbus system bus method with reply + bool dbusSystemMethodCall( QString interface, QString path, QString object, QString method, + void *retvalue, int retval_type, int first_arg_type, ... ); + + //! to call a suspend method on HAL + bool dbusMethodCallSuspend ( const char *suspend ); + + /* PolicyKit call helper */ + //! check if the user has a requested privilege + int isUserPrivileged( QString privilege, QString udi, QString ressource = "", QString user = QString()); + + //! wrapper to emit a signal with a event from HAL + void emitMsgReceived( msg_type type, QString message, QString string ); + +signals: + //! signal with message to forward from D-Bus to HAL + void msgReceived_withStringString( msg_type, QString, QString ); + //! signal if we resumed! + void backFromSuspend( int result ); +}; + +//! filter function to filter out needed information from D-Bus messages +DBusHandlerResult filterFunction (DBusConnection *connection, DBusMessage *message, void *data); + +#endif diff --git a/src/detailed_Dialog.ui b/src/detailed_Dialog.ui new file mode 100644 index 0000000..79a9335 --- /dev/null +++ b/src/detailed_Dialog.ui @@ -0,0 +1,642 @@ + +detailed_Dialog + + + detailed_Dialog + + + + 0 + 0 + 287 + 381 + + + + + 5 + 3 + 0 + 0 + + + + kpowersave + + + true + + + + unnamed + + + + GeneralGroup + + + + 3 + 3 + 0 + 0 + + + + General Information + + + + unnamed + + + + splitter7 + + + + 7 + 7 + 0 + 0 + + + + Horizontal + + + + layout17 + + + + unnamed + + + + InfoLabelValue + + + + 3 + 3 + 0 + 0 + + + + + 1 + + + + + + + AlignTop|AlignRight + + + + + InfoLabel + + + + 3 + 3 + 0 + 0 + + + + + + + AlignTop + + + + + + + spacer13 + + + Horizontal + + + Fixed + + + + 10 + 50 + + + + + + + layout18 + + + + unnamed + + + + InfoPictogram + + + + 0 + 0 + 0 + 0 + + + + + 22 + 22 + + + + + 22 + 22 + + + + true + + + + + spacer14 + + + Vertical + + + MinimumExpanding + + + + 20 + 40 + + + + + + + + + + BatteryGroup + + + + 3 + 3 + 0 + 0 + + + + Battery Status + + + + unnamed + + + + spacer2_2 + + + Horizontal + + + Fixed + + + + 16 + 118 + + + + + + layout15 + + + + unnamed + + + + layout14 + + + + unnamed + + + + LabelAC + + + + 1 + 0 + 0 + 0 + + + + AC Adapter + + + + + spacer9_3 + + + Horizontal + + + Expanding + + + + 5 + 20 + + + + + + LedAC + + + + 0 + 0 + 0 + 0 + + + + + + spacer9 + + + Horizontal + + + Expanding + + + + 5 + 20 + + + + + + LabelACStatus + + + + 7 + 5 + 0 + 0 + + + + plugged in + + + AlignVCenter|AlignRight + + + + + + + powerConsLayout + + + + unnamed + + + + tl_powerConsDesc + + + Power Consumtion: + + + + + tl_powerConsValue + + + + + + AlignVCenter|AlignRight + + + + + + + BatteryFrame + + + + 3 + 3 + 0 + 0 + + + + NoFrame + + + Raised + + + + + spacer3 + + + Vertical + + + Fixed + + + + 20 + 5 + + + + + + + + layout12 + + + + unnamed + + + + spacer5 + + + Vertical + + + Expanding + + + + 20 + 90 + + + + + + BatteryPictogram + + + + 0 + 0 + 0 + 0 + + + + + 22 + 22 + + + + + 22 + 22 + + + + true + + + + + + + + + ProcessorGroup + + + + 3 + 3 + 0 + 0 + + + + Processor Status + + + + unnamed + + + + layout12_2 + + + + unnamed + + + + spacer5_2 + + + Vertical + + + Expanding + + + + 20 + 90 + + + + + + ProcessorPictogram + + + + 0 + 0 + 0 + 0 + + + + + 22 + 22 + + + + + 22 + 22 + + + + true + + + + + + + splitter6 + + + + 7 + 7 + 0 + 0 + + + + Horizontal + + + + layout16 + + + + unnamed + + + + ProcessorFrame + + + + 3 + 3 + 0 + 0 + + + + NoFrame + + + Raised + + + + + + + spacer2_2_2 + + + Horizontal + + + Fixed + + + + 10 + 20 + + + + + + + + + layout19 + + + + unnamed + + + + spacer2 + + + Horizontal + + + Expanding + + + + 230 + 20 + + + + + + OkButton + + + + 0 + 0 + 0 + 0 + + + + OK + + + + + + + + + + + diff --git a/src/detaileddialog.cpp b/src/detaileddialog.cpp new file mode 100644 index 0000000..c48df79 --- /dev/null +++ b/src/detaileddialog.cpp @@ -0,0 +1,497 @@ +/*************************************************************************** + * Copyright (C) 2006 by Daniel Gollub * + * * + * 2006-2007 Danny Kukawka * + * , * + * * + * This program is free software; you can redistribute it and/or modify * + * it under the terms of version 2 of the GNU General Public License * + * as published by the Free Software Foundation. * + * * + * This program is distributed in the hope that it will be useful, * + * but WITHOUT ANY WARRANTY; without even the implied warranty of * + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * + * GNU General Public License for more details. * + * * + * You should have received a copy of the GNU General Public License * + * along with this program; if not, write to the * + * Free Software Foundation, Inc., * + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. * + ***************************************************************************/ + +/*! + * \file detaileddialog.cpp + * \brief In this file can be found the detailed dialog related code. + * \author Daniel Gollub + * \author Danny Kukawka, , + * \date 2006-2007 + */ + +// KDE headers: +#include +#include +#include + +// QT headers: +#include +#include +#include +#include +#include + +// own headers +#include "detaileddialog.h" + +/*! + * This is the default constructor of the class detaileddialog. + */ +detaileddialog::detaileddialog( HardwareInfo *_hwinfo, QPixmap *_pixmap, Settings *_set, + QWidget* parent, const char* name ) + : detailed_Dialog( parent, name, false, WDestructiveClose ) { + kdDebugFuncIn(trace); + hwinfo = _hwinfo; + config = _set; + pixmap = _pixmap; + primaryBatteries = hwinfo->getPrimaryBatteries(); + cpuInfo = new CPUInfo(); + + int batteries = primaryBatteries->getNumBatteries(); + numOfCPUs = cpuInfo->getCPUNum(); + + this->setCaption(i18n("KPowersave Information Dialog")); + + // use this as compromise with current translation process + // TODO: remove them in the next translation round + GeneralGroup->setTitle(i18n("Miscellaneous")); + ProcessorGroup->setTitle(i18n("CPUs")); + + ProcessorGridLayout = new QGridLayout(ProcessorFrame, numOfCPUs, 2, 0, 5, "ProcessorGridLayout"); + + if (batteries > 0) { + if (batteries > 1) batteries++; + + BatteryGroup->setTitle(i18n("Battery state:").remove(":")); + BatteryGridLayout = new QGridLayout(BatteryFrame, batteries, 2, 0, 5, "BatteryGridLayout"); + + for (int i = 0; i < batteries; i++) { + QLabel *Label = new QLabel(BatteryFrame, "BatteryLabel"); + if ((primaryBatteries->getNumBatteries() > 1) && (i == 0)) + Label->setText( i18n( "Total:" )); + else if ((primaryBatteries->getNumBatteries() > 1) && (i > 0)) + Label->setText( i18n( "Battery %1" ).arg(i)); + else + Label->setText( i18n( "Battery %1" ).arg(i + 1)); + + BatteryGridLayout->addWidget( Label, i , 0); + + KProgress *PBar = new KProgress(BatteryFrame, "BatteryPBar"); + PBar->setTextEnabled(true); + + BatteryPBar.append( PBar ); + BatteryGridLayout->addWidget( PBar, i , 1); + } + BatteryFrame->adjustSize(); + tl_powerConsDesc->hide(); + tl_powerConsValue->hide(); + connect(hwinfo, SIGNAL(generalDataChanged()), this, SLOT(setBattery())); + connect(primaryBatteries, SIGNAL(batteryChanged()), this, SLOT(setBattery())); + connect(primaryBatteries, SIGNAL(batteryChargingStateChanged(int)), this, + SLOT(setPowerConsumption())); + connect(primaryBatteries, SIGNAL(batteryRateChanged()), this, + SLOT(setPowerConsumption())); + setBattery(); + setPowerConsumption(); + } else { + BatteryGroup->hide(); + } + + cpuInfo->checkCPUSpeed(); + + ProcessorPictogram->setPixmap(SmallIcon("processor", 22)); + + for (int i = 0; i < numOfCPUs; i++) { + QLabel *Label = new QLabel(ProcessorFrame, "ProcessorLabel"); + Label->setText( i18n( "Processor %1" ).arg(i + 1)); + ProcessorGridLayout->addWidget( Label, i , 0); + + KProgress *CPUPBar = new KProgress(ProcessorFrame, "ProcessorPBar"); + CPUPBar->setTextEnabled(true); + + ProcessorPBar.append( CPUPBar ); + ProcessorGridLayout->addWidget( CPUPBar, i , 1); + } + ProcessorFrame->adjustSize(); + + connect(OkButton, SIGNAL(clicked()), this, SLOT(closeDetailedDlg())); + connect(hwinfo, SIGNAL(ACStatus(bool)), this, SLOT(setAC())); + // TODO: replace event + //connect(pd, SIGNAL(schemeDataChanged()), this, SLOT(setInfos())); + connect(hwinfo, SIGNAL(generalDataChanged()), this, SLOT(setInfos())); + + if (hwinfo->supportCPUFreq() || cpuInfo->cpuFreqHW) { + // Check if cpufreq is available + cpuInfo->getCPUMaxSpeed(); + setProcessor(); + connect(hwinfo, SIGNAL(currentCPUFreqPolicyChanged()), this, SLOT(setInfos())); + } else { + // .. if not, use cpu throttling + if (!cpuInfo->getCPUThrottlingState() || numOfCPUs <= 1) { + connect(hwinfo, SIGNAL(generalDataChanged()), this, SLOT(setProcessorThrottling())); + } + setProcessorThrottling(); + } + + setAC(); + setInfos(); + + kdDebugFuncOut(trace); +} + +/*! This is the default destructor of class detaileddialog. */ +detaileddialog::~detaileddialog() { + kdDebugFuncIn(trace); + // no need to delete child widgets, Qt does it all for us +} + +/*! + * \b SLOT called if the dialog is closed by the user. + * We do some cleanups here. + */ +void detaileddialog::closeDetailedDlg() { + kdDebugFuncIn(trace); + + this->close(); + delete(this); +} + +/*! + * \b SLOT to set up the battery progress widgets. + */ +void detaileddialog::setBattery() { + kdDebugFuncIn(trace); + + QString minutes; + int batteries = 0; + + + // refresh battery collection + primaryBatteries = hwinfo->getPrimaryBatteries(); + QPtrList allBatteries = hwinfo->getAllBatteries(); + + batteries = primaryBatteries->getNumBatteries(); + + if (batteries > 1) batteries++; + + for (int i=0; i < batteries ; i++) { + int _r_min = 0; + int _r_per = 0; + int _c_state = UNKNOWN_STATE; + bool _present = false; + + BatteryPBar[i]->setTextEnabled(true); + BatteryPBar[i]->reset(); + + if ( (primaryBatteries->getNumBatteries() > 1) && (i == 0) ) { + // first progressbar with overall infos + + _r_min = primaryBatteries->getRemainingMinutes(); + _r_per = primaryBatteries->getRemainingPercent(); + _c_state = primaryBatteries->getChargingState(); + if (primaryBatteries->getNumPresentBatteries() > 0) + _present = true; + } + else { + // find the related primary battery + int _current = 0; + Battery *bat; + for (bat = allBatteries.first(); bat; bat = allBatteries.next() ) { + if (bat->getType() == primaryBatteries->getBatteryType()) { + _current++; + + if (!bat->isPresent()) { + _present = false; + } + else { + _r_min = bat->getRemainingMinutes(); + _r_per = bat->getPercentage(); + _c_state = bat->getChargingState(); + _present = true; + } + + if (_current == i) { + break; + } + + } + } + } + + if (!_present) { + BatteryPBar[i]->setFormat(i18n("not present")); + BatteryPBar[i]->setProgress(0); + BatteryPBar[i]->setEnabled(false); + } else { + int hours = _r_min / 60; + minutes.setNum(_r_min % 60); + minutes = minutes.rightJustify(2, '0'); + + // CHARG_STATE_CHARG_DISCHARG --> display only the percentage + if (_c_state == UNKNOWN_STATE || _r_min < 0 ) { + BatteryPBar[i]->setFormat("%p%"); + } else if (_c_state == CHARGING && hwinfo->hasAPM() ) { + // this should fix apm, where we have no time info if charging + BatteryPBar[i]->setFormat("%p% " + i18n("charged")); + } else if (_c_state == CHARGING) { + QString temp = i18n("%1:%2 h until charged").arg(hours).arg(minutes); + BatteryPBar[i]->setFormat(temp); + } else if (_c_state == DISCHARGING) { + QString temp = i18n("%1:%2 h remaining").arg(hours).arg(minutes); + BatteryPBar[i]->setFormat(temp); + + } else { + //fallback + BatteryPBar[i]->setFormat(i18n("unknown")); + } + + if (_r_per < 0) + BatteryPBar[i]->setProgress(0); + else + BatteryPBar[i]->setProgress(_r_per); + BatteryPBar[i]->setEnabled(true); + } + } + + BatteryPictogram->setPixmap(*pixmap); + kdDebugFuncOut(trace); +} + +/*! + * \b SLOT to set up the Processor/CPU progress bar widgets. + */ +void detaileddialog::setPowerConsumption() { + kdDebugFuncIn(trace); + + // refresh battery collection + primaryBatteries = hwinfo->getPrimaryBatteries(); + int rate = primaryBatteries->getCurrentRate(); + + if (rate > 0 && !primaryBatteries->getChargeLevelUnit().isEmpty()) { + + QString _val; + _val.setNum(rate); + _val += " " + primaryBatteries->getChargeLevelUnit().remove('h'); + + tl_powerConsValue->setText(_val); + + if (!tl_powerConsDesc->isShown()) { + tl_powerConsDesc->show(); + tl_powerConsValue->show(); + } + } else { + if (tl_powerConsDesc->isShown()) { + tl_powerConsDesc->hide(); + tl_powerConsValue->hide(); + } + } + + kdDebugFuncOut(trace); +} + +/*! + * \b SLOT to set up the Processor/CPU progress bar widgets. + */ +void detaileddialog::setProcessor() { + kdDebugFuncIn(trace); + + cpuInfo->checkCPUSpeed(); + + for (int i=0; i < numOfCPUs; i++) { + kdDebug() << "ID: " << i << "(" << cpuInfo->cpufreq_speed.count() + << ") cur_freq: " << cpuInfo->cpufreq_speed[i] << " max_freq: " + << cpuInfo->cpufreq_max_speed[i] << endl; + + //ProcessorPBar[i]->setTextEnabled(true); + if (cpuInfo->cpufreq_speed[i] > 0) { + // CPU/Core is back from offline + if(ProcessorPBar[i]->progress() == 0) + cpuInfo->getCPUMaxSpeed(); + + if(ProcessorPBar[i]->progress() != cpuInfo->cpufreq_speed[i]) { + // get max cpu freq and set it to the max of the progressbar + int maxfreq = cpuInfo->cpufreq_max_speed[i]; + ProcessorPBar[i]->setTotalSteps(maxfreq); + + // display 1400 MHz instead of 1400% + ProcessorPBar[i]->setFormat(i18n("%v MHz")); + ProcessorPBar[i]->setProgress(cpuInfo->cpufreq_speed[i]); + ProcessorPBar[i]->setEnabled(true); + } + } else { + ProcessorPBar[i]->setFormat(i18n("deactivated")); + ProcessorPBar[i]->setProgress(0); + ProcessorPBar[i]->setEnabled(false); + } + } + QTimer::singleShot(333, this, SLOT(setProcessor())); + kdDebugFuncOut(trace); +} + +/*! + * \b SLOT to set up the Processor/CPU bar widgets for cpu throttling machines. + */ +void detaileddialog::setProcessorThrottling() { + kdDebugFuncOut(trace); + + bool throttling = cpuInfo->getCPUThrottlingState(); + cpuInfo->checkCPUSpeedThrottling(); + + for (int i=0; i < numOfCPUs; i++) { + if (throttling) + kdDebug() << "Throttling CPU : " << i << " - freq: " << cpuInfo->cpufreq_speed[i] + << " - throttling state: " << cpuInfo->cpu_throttling[i] << "%" << endl; + else + kdDebug() << "CPU - freq: " << cpuInfo->cpufreq_speed[i] << endl; + + if (throttling && cpuInfo->cpufreq_speed[i] > 0 && cpuInfo->cpu_throttling[i] >= 0) { + // get max cpu freq and set it to the max of the progressbar + ProcessorPBar[i]->setTotalSteps(100); + QString ProgressString = QString("%1% (%2 MHz)").arg(100 - cpuInfo->cpu_throttling[i]).arg(cpuInfo->cpufreq_speed[i]); + ProcessorPBar[i]->setFormat(i18n(ProgressString)); + ProcessorPBar[i]->setProgress(100 - cpuInfo->cpu_throttling[i]); + ProcessorPBar[i]->setEnabled(true); + } else if (cpuInfo->cpufreq_speed[i] < 0) { + ProcessorPBar[i]->setFormat(i18n("deactivated")); + ProcessorPBar[i]->setProgress(0); + ProcessorPBar[i]->setEnabled(false); + } else { + ProcessorPBar[i]->setTotalSteps(cpuInfo->cpufreq_speed[i]); + ProcessorPBar[i]->setFormat(i18n("%v MHz")); + ProcessorPBar[i]->setProgress(cpuInfo->cpufreq_speed[i]); + ProcessorPBar[i]->setEnabled(true); + } + } + + if (throttling || numOfCPUs > 1) { + // currently there are no events we can use to get actual data + // so we recheck data ever 2 secs to register changes in the + // throttling state and if a CPU/core online state change + QTimer::singleShot(2000, this, SLOT(setProcessorThrottling())); + } + + kdDebugFuncOut(trace); +} + +/*! + * \b SLOT to set up the AC status within the Led widget. + */ +void detaileddialog::setAC() { + kdDebugFuncIn(trace); + + if (hwinfo->getAcAdapter()) { + LabelACStatus->setText( i18n("plugged in") ); + LedAC->on(); + } else { + LedAC->off(); + LabelACStatus->setText( i18n("unplugged") ); + } + + setInfos(); + kdDebugFuncOut(trace); +} + +/*! + * \b SLOT to set all additional informtation as e.g. CPUFrequency policy + * or current scheme + */ +void detaileddialog::setInfos() { + kdDebugFuncOut(trace); + + QString display; + QString displayValue; + + if(!config->currentScheme.isEmpty()) + display += i18n("Current Scheme: ") + "\n"; + displayValue += i18n(config->currentScheme) + "\n"; + if(config->currentScheme == config->ac_scheme) + InfoPictogram->setPixmap(SmallIcon("scheme_power", 22)); + else if(config->currentScheme == config->battery_scheme) + InfoPictogram->setPixmap(SmallIcon("scheme_powersave", 22)); + else if(config->currentScheme == "Acoustic") + InfoPictogram->setPixmap(SmallIcon("scheme_acoustic", 22)); + else if(config->currentScheme == "Presentation") + InfoPictogram->setPixmap(SmallIcon("scheme_presentation", 22)); + else if(config->currentScheme == "AdvancedPowersave") + InfoPictogram->setPixmap(SmallIcon("scheme_advanced_powersave", 22)); + else + InfoPictogram->setPixmap(SmallIcon("kpowersave", 22)); + + if(hwinfo->isOnline()) { + if (hwinfo->supportCPUFreq()) { + display += i18n("Current CPU Frequency Policy:") + "\n"; + switch (hwinfo->getCurrentCPUFreqPolicy()){ + case PERFORMANCE: + displayValue += i18n("Performance") + "\n"; + break; + case DYNAMIC: + displayValue += i18n("Dynamic") + "\n"; + break; + case POWERSAVE: + displayValue += i18n("Powersave") + "\n"; + break; + default: + displayValue += i18n("unknown") + "\n"; + break; + } + } + + // refresh battery collection + primaryBatteries = hwinfo->getPrimaryBatteries(); + int batteries = primaryBatteries->getNumBatteries(); + QPtrList allBatteries = hwinfo->getAllBatteries(); + + if (batteries > 0 && primaryBatteries->getNumPresentBatteries() > 0) { + + display += i18n("Battery state:") + "\n"; + switch (primaryBatteries->getBatteryState()){ + case BAT_CRIT: + displayValue += i18n("Critical") + "\n"; + break; + case BAT_LOW: + displayValue += i18n("Low") + "\n"; + break; + case BAT_WARN: + displayValue += i18n("Warning") + "\n"; + break; + case BAT_NORM: + displayValue += i18n("ok") + "\n"; + break; + default: + displayValue += i18n("unknown") + "\n"; + break; + } + } + + if(hwinfo->supportBrightness()) { + display += i18n("Set brightness supported:") + "\n"; + displayValue += i18n("yes") + "\n"; + } else { + display += i18n("Set brightness supported:") + "\n"; + displayValue += i18n("no") + "\n"; + } + + display += i18n("HAL Daemon:"); + displayValue += i18n("running"); + } + else { + display += i18n("HAL Daemon:"); + displayValue += i18n("not running"); + } + + if(!display.isEmpty()) + InfoLabel->setText(display); + + InfoLabelValue->setText(displayValue); + kdDebugFuncOut(trace); +} + +#include "detaileddialog.moc" diff --git a/src/detaileddialog.h b/src/detaileddialog.h new file mode 100644 index 0000000..3873030 --- /dev/null +++ b/src/detaileddialog.h @@ -0,0 +1,113 @@ +/*************************************************************************** + * Copyright (C) 2006 by Daniel Gollub * + * * + * Danny Kukawka * + * , * + * * + * This program is free software; you can redistribute it and/or modify * + * it under the terms of version 2 of the GNU General Public License * + * as published by the Free Software Foundation. * + * * + * This program is distributed in the hope that it will be useful, * + * but WITHOUT ANY WARRANTY; without even the implied warranty of * + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * + * GNU General Public License for more details. * + * * + * You should have received a copy of the GNU General Public License * + * along with this program; if not, write to the * + * Free Software Foundation, Inc., * + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. * + ***************************************************************************/ + +#ifndef DETAILEDDIALOG_H +#define DETAILEDDIALOG_H + +// own headers: +#include "detailed_Dialog.h" + +// KDE headers: +#include + +// other QT headers: +#include + +// own headers: +#include "hardware.h" +#include "hardware_cpu.h" +#include "settings.h" +#include "hardware_batteryCollection.h" + +/*! +* \file detaileddialog.h +* \brief Headerfile for detaileddialog.cpp and the class \ref detaileddialog. +*/ + /*! + * \class detaileddialog + * \brief The class for the detailed information dialog + * \author Daniel Gollub, + * \author Danny Kukawka, , + * \date 2006 + */ +class detaileddialog: public detailed_Dialog { + + Q_OBJECT + +public: + //! default constructor + detaileddialog(HardwareInfo *_hwinfo, QPixmap *_pixmap, Settings *_set, QWidget *parent = 0, const char *name = 0); + //! default destructor + ~detaileddialog(); + +private slots: + //! to close the dialog + void closeDetailedDlg(); + //! to setup the battery progress widgets + void setBattery(); + //! to setup the current power consumtion widgets + void setPowerConsumption(); + //! to setup the CPU progress widgets + void setProcessor(); + //! to setup the Throttling CPU progress widgets + void setProcessorThrottling(); + //! to set the state AC KLed + void setAC(); + //! to set all other information + void setInfos(); + +private: + //! pointer to class HardwareInfo to get cpu/battey/AC information + HardwareInfo *hwinfo; + //! pointer to class CPUInfo to get CPU information + CPUInfo *cpuInfo; + //! pointer to hardware information about the primary batteries. + BatteryCollection *primaryBatteries; + //! pointer to class settinfs to get the current settings + Settings *config; + + //! pointer to the kpowersave class + QPixmap *pixmap; + + //! the numbers of CPUs in the system + int numOfCPUs; + + //! list of progressbars for battery information + /*! + * This QValueList with type KProgress contains the list + * of battery progress widgets. Each element represent + * one battery or batteryslot + */ + QValueList BatteryPBar; + //! list of progressbars for CPU information + /*! + * This QValueList with type KProgress contains the list + * of CPU progress widgets. Each element represent one CPU. + */ + QValueList ProcessorPBar; + + //! QGridLayout for Battery progress widgets + QGridLayout* BatteryGridLayout; + //! QGridLayout for Processor progress widgets + QGridLayout* ProcessorGridLayout; +}; + +#endif diff --git a/src/dummy.cpp b/src/dummy.cpp new file mode 100644 index 0000000..4db9268 --- /dev/null +++ b/src/dummy.cpp @@ -0,0 +1,127 @@ +/*************************************************************************** + * Copyright (C) 2007 by Danny Kukawka * + * , * + * * + * This program is free software; you can redistribute it and/or modify * + * it under the terms of version 2 of the GNU General Public License * + * as published by the Free Software Foundation. * + * * + * This program is distributed in the hope that it will be useful, * + * but WITHOUT ANY WARRANTY; without even the implied warranty of * + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * + * GNU General Public License for more details. * + * * + * You should have received a copy of the GNU General Public License * + * along with this program; if not, write to the * + * Free Software Foundation, Inc., * + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. * + ***************************************************************************/ + +/*! \file dummy.cpp + * \brief This file contains unused strings for translation + * \author Danny Kukawka, , + * \version 0.0.1 + * \date 2007 + */ + +#include +#include + +class dummy { + + dummy() { + QString dummy; + + // from configuredialog.cpp: + dummy = i18n("If the current desktop user is inactive, dim the display to:"); + dummy = i18n("Enable dim display on inactivity"); + dummy = i18n("Blacklist"); + dummy = i18n("Here you can add programs which should, if running, prevent the dimming " + "of the display."); + dummy = i18n("Would you like to import a predefined blacklist?"); + dummy = i18n("Disable CPUs/Cores"); + dummy = i18n("Max. running CPUs:"); + dummy = i18n("Max. running CPUs/Cores:"); + dummy = i18n("Min. running CPUs:"); + dummy = i18n("Min. running CPUs/Cores:"); + dummy = i18n("Enable to switch off CPUs/cores"); + dummy = i18n("You have a multiprocessor/multicore machine."); + dummy = i18n("You can disable CPUs/cores to reduce power consumption and save battery power."); + dummy = i18n("Device"); + dummy = i18n("Devices"); + dummy = i18n("Device class"); + dummy = i18n("activate"); + dummy = i18n("Activate"); + dummy = i18n("deactivate"); + dummy = i18n("Deactivate"); + dummy = i18n("activated"); + dummy = i18n("deactivated"); + dummy = i18n("do nothing"); + dummy = i18n("Deactivate following devices:"); + dummy = i18n("Activate following devices"); + dummy = i18n("Reactivate following devices"); + dummy = i18n("Deactivate following device classes:"); + dummy = i18n("Activate following devices classes"); + dummy = i18n("Reactivate following device classes"); + dummy = i18n("If the scheme switched all devices are again activated."); + dummy = i18n("This is a experimental feature."); + dummy = i18n("If you have problems with this feature, please report them."); + dummy = i18n("Select one of the available devices and click on "); + dummy = i18n("Select one of the available device classes and click on "); + dummy = i18n("Select one or more of the available devices and click on "); + dummy = i18n("Select one or more of the available device classes and click on "); + dummy = i18n("Please note: If you e.g. deactivate a network device you may lose your " + "internet connection."); + dummy = i18n("Note: If you select this option, the computer will suspend or standby " + "if the current user is inactive for the defined time.

    This feature " + "can also produce problems with some programs, such as video players or " + "cd burner. These programs can be blacklisted by checking Enable " + "scheme-specific blacklist and click Edit Blacklist.... If this " + "does not help, report the problem or deactivate autosuspend.

    " + "Really use this option?"); + dummy = i18n("Try to use only one CPU/Core."); + dummy = i18n("Reduce power consumption by try to use only one CPU/Core instead of spreading " + "the work over all/multiple CPUs."); + + // for settings.cpp: + dummy = i18n("Could not load the global configuration."); + dummy = i18n("Could not load the requested scheme configuration."); + dummy = i18n("Configure the current scheme."); + dummy = i18n("Try loading the default configuration."); + dummy = i18n("Maybe the global configuration file is empty or missing."); + + // for kpowersave.cpp: + dummy = i18n("Cannot connect to D-Bus. The D-Bus daemon may not be running."); + dummy = i18n("Scheme switched to %1. \n Deactivate following devices: %2").arg("").arg(""); + dummy = i18n("Scheme switched to %1. \n Activate following devices: %2").arg("").arg(""); + dummy = i18n("Report ..."); + dummy = i18n("Suspend to RAM is not supported on your machine."); + dummy = i18n("Additionally, please mail the output of %1 to %2 . Thanks!").arg("").arg(""); + dummy = i18n("Power consumption"); + + // for screen.cpp + dummy = i18n("KScreensaver not found."); + dummy = i18n("Try locking with XScreensaver or xlock."); + dummy = i18n("XScreensaver not found."); + dummy = i18n("Try locking the screen with xlock."); + dummy = i18n("XScreensaver and xlock not found. It is not possible to lock the screen. " + "Check your installation."); + + // for detaileddialog.cpp: + dummy = i18n("D-Bus daemon:"); + dummy = i18n("ConsoleKit daemon:"); + dummy = i18n("Autosuspend activated:"); + dummy = i18n("Autodimm activated:"); + dummy = i18n("enabled"); + dummy = i18n("Session active:"); + + // for countdowndialog.cpp + dummy = i18n("The display get dimmed down to %1% in: ").arg(30); + + // other ConsoleKit related stuff + dummy = i18n("Could not call %1. The current desktop session is not active.").arg(""); + dummy = i18n("Could not set %1. The current desktop session is not active.").arg(""); + dummy = i18n("Stopped %1. The current desktop session is now inactive.").arg(""); + dummy = i18n("Restarted %1. The current desktop session is now active again.").arg(""); + } +}; diff --git a/src/eventsrc b/src/eventsrc new file mode 100644 index 0000000..88ccc0b --- /dev/null +++ b/src/eventsrc @@ -0,0 +1,364 @@ +[!Global!] +IconName=kpowersave +Comment=KPowersave +Comment[cs]=KPowersave +Comment[de]=KPowersave +Comment[es]=KPowersave +Comment[fr]=KPowersave +Comment[it]=KPowersave +Comment[ja]=KPowersave +Comment[pl]=KPowersave +Comment[pt]=KPowersave +Comment[pt_BR]=KPowersave +Comment[ru]=KPowersave +Comment[zh_CN]=KPowersave +Comment[zh_TW]=KPowersave + +[plug_event] +Name=PlugEvent +Comment=AC adapter plugged in +Comment[cs]=PÅ™ipojen do sítÄ› +Comment[de]=Netzstecker angeschlossen +Comment[es]=Adaptador de CA conectado +Comment[fr]=Adaptateur CA branché +Comment[it]=Adattatore CA collegato +Comment[ja]=ACアダプタプラグ接続 +Comment[pl]=Zasilacz sieciowy podÅ‚Ä…czony +Comment[pt]=Foi ligado o Adaptador CA +Comment[pt_BR]=Adaptador de CA conectado +Comment[ru]=Питание подключено +Comment[zh_CN]=AC 适é…器已æ’å…¥ +Comment[zh_TW]=å·²æ’å…¥ AC 介é¢å¡ +default_sound=KDE_Dialog_Appear.ogg +default_presentation=17 + +[unplug_event] +Name=UnplugEvent +Comment=AC adpater unplugged +Comment[cs]=Odpojen ze sítÄ› +Comment[de]=Netzstecker entfernt +Comment[es]=Adaptador de CA desconectado +Comment[fr]=Adaptateur CA non branché +Comment[it]=Adattatore CA scollegato +Comment[ja]=ACアダプタプラグéžæŽ¥ç¶š +Comment[pl]=Zasilacz sieciowy odÅ‚Ä…czony +Comment[pt]=O Adaptador CA foi desligado +Comment[pt_BR]=Adaptador de CA desconectado +Comment[ru]=Питание отключено +Comment[zh_CN]=AC 适é…器已拔出 +Comment[zh_TW]=未æ’å…¥ AC 介é¢å¡ +default_sound=KDE_Dialog_Disappear.ogg +default_presentation=17 + +[battery_warning_event] +Name=BatteryWarningEvent +Comment=Battery charge dropped to level WARNING +Comment[cs]=Stav baterie dosáhl úrovnÄ› POPLACH +Comment[de]=Batteriestand erreicht Level WARNUNG +Comment[es]=El nivel de carga de la batería es ADVERTENCIA +Comment[fr]=Le niveau de charge de la batterie est tombé au niveau AVERTISSEMENT +Comment[it]=La carica della batteria è sul livello AVVERTENZA +Comment[ja]=å……é›»é‡ãŒè­¦å‘Šãƒ¬ãƒ™ãƒ«ã¾ã§ä¸‹ãŒã‚Šã¾ã—㟠+Comment[pl]=NaÅ‚adowanie baterii spadÅ‚o do poziomu OSTRZEÅ»ENIE +Comment[pt]=Estado da bateria baixou para o nível de AVISO +Comment[pt_BR]=A carga da bateria caiu para o nível AVISO +Comment[ru]=Уровень зарÑда батареи ÑменилÑÑ Ð½Ð° ПРЕДУПРЕЖДЕÐИ +Comment[zh_CN]=电池电é‡é™è‡³"警告"级别 +Comment[zh_TW]=電池充電é‡å·²é™è‡³ã€Œè­¦å‘Šã€å±¤ç´š +default_sound=KDE_Event_1.ogg +default_presentation=17 + +[battery_low_event] +Name=BatteryLowEvent +Comment=Battery charge dropped to level LOW +Comment[cs]=Stav baterie dosáhl NÃZKÄš úrovnÄ› +Comment[de]=Batteriestand erreicht Level NIEDRIG +Comment[es]=El nivel de carga de la batería es BAJO +Comment[fr]=Le niveau de charge de la batterie est tombé au niveau FAIBLE +Comment[it]=La carica della batteria è sul livello BASSA +Comment[ja]=å……é›»é‡ãŒä½Žãƒ¬ãƒ™ãƒ«ã¾ã§ä¸‹ãŒã‚Šã¾ã—㟠+Comment[pl]=NaÅ‚adowanie baterii spadÅ‚o do poziomu NISKI +Comment[pt]=Estado da bateria baixou para o nível de BAIXO +Comment[pt_BR]=A carga da bateria caiu para o nível BAIXO +Comment[ru]=СоÑтоÑние батареи изменилоÑÑŒ к ÐИЗКОМУ +Comment[zh_CN]=电池电é‡é™è‡³"低电é‡"级别 +Comment[zh_TW]=電池充電é‡å·²é™è‡³ã€Œä½Žã€å±¤ç´š +default_sound=KDE_Event_1.ogg +default_presentation=17 + +[battery_critical_event] +Name=BatteryCriticalEvent +Comment=Battery charge dropped to level CRITICAL +Comment[cs]=Stav baterie dosáhl KRITICKÉ úrovnÄ› +Comment[de]=Batteriestand erreicht Level KRITISCH +Comment[es]=El nivel de carga de la batería es CRÃTICO +Comment[fr]=Le niveau de charge de la batterie est tombé au niveau CRITIQUE +Comment[it]=La carica della batteria è sul livello CRITICA +Comment[ja]=å……é›»é‡ãŒè‡´å‘½çš„レベルã¾ã§ä¸‹ãŒã‚Šã¾ã—㟠+Comment[pl]=NaÅ‚adowanie baterii spadÅ‚o do poziomu OSTRZEÅ»ENIE +Comment[pt]=Estado da bateria baixou para o nível CRÃTICO +Comment[pt_BR]=A carga da bateria caiu para o nível CRÃTICO +Comment[ru]=СоÑтоÑние батареи изменилоÑÑŒ к КРИТИЧЕСКОМУ +Comment[zh_CN]=电池电é‡é™è‡³"电é‡ä¸¥é‡ä¸è¶³"级别 +Comment[zh_TW]=電池充電é‡å·²é™è‡³ã€Œå±æ€¥ã€å±¤ç´š +default_sound=KDE_Event_1.ogg +default_presentation=17 + +[autosuspend_event] +Name=AutosupendEvent +Comment=Autosuspend is going to be executed +Comment[cs]=Vykonává se automatické uspání +Comment[de]=Autosuspend wird ausgeführt +Comment[es]=Se ejecutará la suspensión automática +Comment[fr]=La mise en veille automatique va être exécutée +Comment[it]=Attivazione in corso della sospensione automatica +Comment[ja]=自動サスペンドãŒå®Ÿè¡Œã•ã‚Œã¾ã™ã€‚ +Comment[pl]=Zostanie wykonane automatyczne uÅ›pienie +Comment[pt]=Será executada a sustensão automática +Comment[pt_BR]=A suspensão automática será executada +Comment[ru]=ЗапуÑкаетÑÑ Ð°Ð²Ñ‚Ð¾Ð·Ð°Ñыпание +Comment[zh_CN]=å°†æ‰§è¡Œè‡ªåŠ¨æš‚åœ +Comment[zh_TW]=å³å°‡åŸ·è¡Œè‡ªå‹•æš«åœ +default_sound=KDE_Event_2.ogg +default_presentation=17 + +[autodimm_down_event] +Name=AutodimmDownEvent +Comment=Autodimm dimm the display down +default_presentation=0 + +[autodimm_up_event] +Name=AutodimmUpEvent +Comment=Autodimm dimm the display up +default_presentation=0 + +[scheme_Performance] +Name=SchemeSwitchToPerformanceEvent +Comment=Switched to scheme Performance +Comment[cs]=Powersave pÅ™epnut do schématu Výkon +Comment[de]=Zu Schema Leistung gewechselt. +Comment[es]=Powersave ha pasado al esquema de rendimiento +Comment[fr]=La fonction d'économie d'énergie a été basculée sur le profil Performance +Comment[it]=Powersave attivato nello schema Prestazioni +Comment[ja]=çœé›»åŠ›ãŒã‚¹ã‚­ãƒ¼ãƒ ã€Œãƒ‘フォーマンスã€ã«åˆ‡ã‚Šæ›¿ã‚ã‚Šã¾ã—㟠+Comment[pl]=Schemat oszczÄ™dzania przeÅ‚Ä…czono na Wydajność +Comment[pt]=Powersave alterou para o esquema de Desempenho +Comment[pt_BR]=O Powersave mudou para o esquema Desempenhodefault_presentation=0 +Comment[ru]=Управление питанием переключено на Ñхему ПроизводительноÑÑ‚ÑŒ +Comment[zh_CN]=Powersave 切æ¢ä¸º"执行"方案 +Comment[zh_TW]=Powersave 已切æ›è‡³ã€Œæ•ˆèƒ½ã€è¦åŠƒ +default_presentation=0 + +[scheme_Powersave] +Name=SchemeSwitchToPowersaveEvent +Comment=Switched to scheme Powersave +Comment[cs]=Powersave pÅ™epnut do schématu Úspora energie +Comment[de]=Zu Schema Energiesparen gewechselt +Comment[es]=Powersave ha pasado al esquema de ahorro de energía +Comment[fr]=La fonction d'économie d'énergie a été basculée sur le profil Économie d'énergie +Comment[it]=Powersave attivato nello schema Risparmio energetico +Comment[ja]=çœé›»åŠ›ãŒã‚¹ã‚­ãƒ¼ãƒ ã€Œçœé›»åŠ›ã€ã«åˆ‡ã‚Šæ›¿ã‚ã‚Šã¾ã—㟠+Comment[pl]=Schemat oszczÄ™dzania przeÅ‚Ä…czono na OszczÄ™dzanie +Comment[pt]=Powersave alterou para o esquema de Economia +Comment[pt_BR]=O Powersave mudou para o esquema Powersave +Comment[ru]=Управление питанием переключено на Ñхему ЭнергоÑбережение +Comment[zh_CN]=Powersave 切æ¢ä¸º"çœç”µ"方案 +Comment[zh_TW]=Powersave 已切æ›è‡³ Powersave è¦åŠƒ +default_presentation=0 + +[scheme_Acoustic] +Name=SchemeSwitchToAcousticEvent +Comment=Switched to scheme Acoustic +Comment[cs]=Powersave pÅ™epnut do schématu Tichý +Comment[de]=Zu Schema Akustik gewechselt +Comment[es]=Powersave ha pasado al esquema acústico +Comment[fr]=La fonction d'économie d'énergie a été basculée sur le profil Acoustique +Comment[it]=Powersave attivato nello schema Acustica +Comment[ja]=çœé›»åŠ›ãŒã‚¹ã‚­ãƒ¼ãƒ ã€Œã‚¢ã‚³ãƒ¼ã‚¹ãƒ†ã‚£ãƒƒã‚¯ã€ã«åˆ‡ã‚Šæ›¿ã‚ã‚Šã¾ã—㟠+Comment[pl]=Schemat oszczÄ™dzania przeÅ‚Ä…czono na HaÅ‚as +Comment[pt]=Powersave alterou para o esquema Silencioso +Comment[pt_BR]=O Powersave mudou para o esquema Acústica +Comment[ru]=Управление питанием переключилено на Ñхему Шумоподавление +Comment[zh_CN]=Powersave 切æ¢ä¸º"声音"方案 +Comment[zh_TW]=Powersave 已切æ›è‡³ã€ŒéŸ³æ•ˆã€è¦åŠƒ +default_presentation=0 + +[scheme_Presentation] +Name=SchemeSwitchToPresentationEvent +Comment=Switched to scheme Presentation +Comment[cs]=Powersave pÅ™epnut do schématu Prezentace +Comment[de]=Zu Schema Präsentation gewechselt +Comment[es]=Powersave ha pasado al esquema de presentación +Comment[fr]=La fonction d'économie d'énergie a été basculée sur le profil Présentation +Comment[it]=Powersave attivato nello schema Presentazione +Comment[ja]=çœé›»åŠ›ãŒã‚¹ã‚­ãƒ¼ãƒ ã€Œãƒ—レゼンテーションã€ã«åˆ‡ã‚Šæ›¿ã‚ã‚Šã¾ã—ãŸ: +Comment[pl]=Schemat oszczÄ™dzania przeÅ‚Ä…czono na Prezentacja +Comment[pt]=Powersave alterou para o esquema de Apresentação +Comment[pt_BR]=O Powersave mudou para o esquema Apresentação +Comment[ru]=Управление питанием переключено на Ñхему ÐŸÑ€ÐµÐ·ÐµÐ½Ñ‚Ð°Ñ†Ð¸Ñ +Comment[zh_CN]=Powersave 切æ¢ä¸º"演示"方案 +Comment[zh_TW]=Powersave 已切æ›è‡³ã€Œç°¡å ±ã€è¦åŠƒ +default_presentation=0 + +[scheme_Unknown] +Name=SchemeSwitchToUnknownEvent +Comment=Switched to unknown/user defined scheme +Comment[cs]=Powersave pÅ™epnut do neznámého/uživatelem definovaného schématu +Comment[de]=Zu unbekanntem/benutzerdefiniertem Schema gewechselt +Comment[es]=Powersave ha pasado a un esquema desconocido o definido por el usuario +Comment[fr]=La fonction d'économie d'énergie a été basculée sur un profil inconnu/défini par un utilisateur +Comment[it]=Powersave attivato nello schema sconosciuto/definito dall'utente +Comment[ja]=çœé›»åŠ›ãŒä¸æ˜Ž/ユーザ定義スキームã«åˆ‡ã‚Šæ›¿ã‚ã‚Šã¾ã—ãŸ: +Comment[pl]=Schemat oszczÄ™dzania przeÅ‚Ä…czono na schemat nieznany lub użytkownika +Comment[pt]=Powersave alterou para um esquema desconhecido ou definido pelo utilizador +Comment[pt_BR]=O Powersave mudou para um esquema desconhecido/definido pelo usuário +Comment[ru]=Управление питанием переключилоÑÑŒ на определÑемую пользователем Ñхему +Comment[zh_CN]=Powersave 切æ¢ä¸ºæœªçŸ¥/用户定义的方案。 +Comment[zh_TW]=Powersave 已切æ›è‡³æœªçŸ¥çš„/使用者定義的è¦åŠƒ +default_presentation=0 + +[suspend2disk_event] +Name=SuspendToDiskEvent +Comment=Suspend to Disk is started +Comment[cs]=Uspávání na disk +Comment[de]='Suspend to Disk' wurde gestartet +Comment[es]=Se ha iniciado la suspensión en disco +Comment[fr]=La mise en veille sur disque a été lancée +Comment[it]=Sospendi su disco avviata +Comment[ja]=サスペンド(ディスク)を開始ã—ã¾ã—㟠+Comment[pl]=RozpoczÄ™to Usypianie na Dysk +Comment[pt]=Iniciou-se a Suspensão para o Disco +Comment[pt_BR]=Suspender para Disco foi iniciado +Comment[ru]=ЗапуÑк УÑнуть на диÑк +Comment[zh_CN]=å¯åŠ¨æš‚挂到ç£ç›˜ +Comment[zh_TW]=已啟動「暫åœå¯«å…¥åˆ°ç£ç¢Ÿã€ +default_presentation=0 + +[suspend2ram_event] +Name=SuspendToRamEvent +Comment=Suspend to RAM is started +Comment[cs]=Uspávání do RAM +Comment[de]='Suspend to RAM' wurde gestartet +Comment[es]=Se ha iniciado la suspensión en RAM +Comment[fr]=La mise en veille sur RAM a été lancée +Comment[it]=Sospensione su RAM avviata +Comment[ja]=サスペンド(RAM)を開始ã—ã¾ã—㟠+Comment[pl]=RozpoczÄ™to Usypianie do pamiÄ™ci RAM +Comment[pt]=Iniciou-se a Suspensão para a Memória +Comment[pt_BR]=Suspender para RAM foi iniciado +Comment[ru]=ЗапуÑк УÑнуть в памÑÑ‚ÑŒ +Comment[zh_CN]=å¯åŠ¨æš‚挂到 RAM +Comment[zh_TW]=已啟動「暫åœå¯«å…¥åˆ° RAM〠+default_presentation=0 + +[standby_event] +Name=StandbyEvent +Comment=Standby is started +Comment[cs]=PÅ™epínání do pohotovosti +Comment[de]=Stand-by wurde gestartet +Comment[es]=Se ha iniciado el modo de stand-by +Comment[fr]=La mise en attente a été lancée +Comment[it]=Standby avviato +Comment[ja]=スタンãƒã‚¤ã‚’開始ã—ã¾ã—㟠+Comment[pl]=Przechodzenie w Stan UÅ›pienia +Comment[pt]=Iniciou-se o StandBy +Comment[pt_BR]=O Standby foi iniciado +Comment[ru]=ЗапуÑк ждущего режима +Comment[zh_CN]=å¯åŠ¨å¾…机 +Comment[zh_TW]=已啟動「待機〠+default_presentation=0 + +[resume_from_suspend2disk_event] +Name=ResumeFromSuspendToDiskEvent +Comment=Resumed from Suspend to Disk +Comment[cs]=Probouzení z uspání na disk +Comment[de]=Wiederaufnahme nach 'Suspend to Disk' +Comment[es]=Reanudación desde suspensión en disco +Comment[fr]=Reprise après la mise en veille sur disque +Comment[it]=Ripristinato da Sospendi su disco +Comment[ja]=サスペンド(ディスク)ã‹ã‚‰å†é–‹ã—ã¾ã—㟠+Comment[pl]=Wznowiono po UÅ›pieniu na Dysk +Comment[pt]=O Sistema acordou da Suspensão para Disco +Comment[pt_BR]=Continuação a partir da Suspensão para Disco +Comment[ru]=Возврат из режима 'УÑнуть на диÑк' +Comment[zh_CN]=已从暂挂到ç£ç›˜æ¢å¤ +Comment[zh_TW]=從「暫åœå¯«å…¥åˆ°ç£ç¢Ÿã€ç¹¼çºŒ +default_presentation=0 + +[resume_from_suspend2ram_event] +Name=ResumeFromSuspendToRamEvent +Comment=Resumed from Suspend to RAM +Comment[cs]=Probouzení z uspání do RAM +Comment[de]=Wiederaufnahme nach 'Suspend to RAM' +Comment[es]=Reanudación desde suspensión en RAM +Comment[fr]=Reprise après la mise en veille sur RAM +Comment[it]=Ripristinato da Sospendi su RAM +Comment[ja]=サスペンド(RAM)ã‹ã‚‰å†é–‹ã—ã¾ã—㟠+Comment[pl]=Wznowiono po UÅ›pieniu do pamiÄ™ci RAM +Comment[pt]=O Sistema acordou da Suspensão para Memória +Comment[pt_BR]=Continuação a partir da Suspensão para a Memória +Comment[ru]=Возврат из режима 'уÑнуть в памÑÑ‚ÑŒ' +Comment[zh_CN]=从“暂挂到 RAMâ€ç»§ç»­æ‰§è¡Œ +Comment[zh_TW]=從「暫åœå¯«å…¥åˆ° RAMã€ç¹¼çºŒåŸ·è¡Œ +default_presentation=0 + +[resume_from_standby_event] +Name=ResumeFromStandbyEvent +Comment=Resumed from Standby +Comment[cs]=Probouzení z pohotovosti +Comment[de]=Wiederaufnahme nach Stand-by +Comment[es]=Reanudación desde stand-by +Comment[fr]=Reprise après la mise en attente +Comment[it]=Ripristinato da Standby +Comment[ja]=スタンãƒã‚¤ã‹ã‚‰å†é–‹ã—ã¾ã—㟠+Comment[pl]=Wznowiono ze Stanu UÅ›pienia +Comment[pt]=O Sistema acordou do StandBy +Comment[pt_BR]=Continuação a partir do Standby +Comment[ru]=Возврат из ждущего режима +Comment[zh_CN]=已从待机æ¢å¤ +Comment[zh_TW]=從「待機ã€ç¹¼çºŒ +default_presentation=0 + +[lid_closed_event] +Name=LidCloseEvent +Comment=The lid was closed +Comment[cs]=Víko zavÅ™eno +Comment[de]=Der Laptop wurde geschlossen +Comment[es]=Tapa cerrada +Comment[fr]=L'écran était fermé +Comment[it]=Lo schermo è stato chiuso +Comment[ja]=LidãŒã‚¯ãƒ­ãƒ¼ã‚ºã—ã¾ã—㟠+Comment[pl]=Pokrywa zostaÅ‚a zamkniÄ™ta +Comment[pt]=A tampa foi fechada +Comment[pt_BR]=A tampa foi fechada +Comment[ru]=ДиÑплей ноутбука закрыт +Comment[zh_CN]=此盖已关闭 +Comment[zh_TW]=è“‹å­å·²é—œé–‰ +default_presentation=0 + +[lid_opened_event] +Name=LidOpenedEvent +Comment=The lid was opened +Comment[cs]=Víko otevÅ™eno +Comment[de]=Der Laptop wurde geöffnet +Comment[es]=Tapa abierta +Comment[fr]=L'écran était ouvert +Comment[it]=Lo schermo è stato aperto +Comment[ja]=LidãŒã‚ªãƒ¼ãƒ—ンã—ã¾ã—㟠+Comment[pl]=Pokrywa zostaÅ‚a otwarta +Comment[pt]=A tampa foi aberta +Comment[pt_BR]=A tampa foi aberta +Comment[ru]=ДиÑплей ноутбука открыт +Comment[zh_CN]=此盖已打开 +Comment[zh_TW]=è“‹å­å·²é–‹å•Ÿ +default_presentation=0 + +[brightness_up_event] +Name=BrightnessUpEvent +Comment=The brightness up key was pressed +default_presentation=0 + +[brightness_down_event] +Name=BrightnessDownEvent +Comment=The brightness down key was pressed +default_presentation=0 diff --git a/src/hardware.cpp b/src/hardware.cpp new file mode 100644 index 0000000..6be19a1 --- /dev/null +++ b/src/hardware.cpp @@ -0,0 +1,1720 @@ + /************************************************************************** + * Copyright (C) 2006-2007 by Danny Kukawka * + * , * + * * + * This program is free software; you can redistribute it and/or modify * + * it under the terms of version 2 of the GNU General Public License * + * as published by the Free Software Foundation. * + * * + * This program is distributed in the hope that it will be useful, * + * but WITHOUT ANY WARRANTY; without even the implied warranty of * + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * + * GNU General Public License for more details. * + * * + * You should have received a copy of the GNU General Public License * + * along with this program; if not, write to the * + * Free Software Foundation, Inc., * + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. * + ***************************************************************************/ + +/*! + * \file hardware.cpp + * \brief In this file can be found the hardware information related code. + * \author Danny Kukawka, , + * \date 2006-2007 + */ + +// include global header +#include + +// include QT header +#include +#include + +// include own header +#include "hardware.h" +#include "kpowersave_debug.h" +#include "privileges.h" + +/*! The default constructor of the class HardwareInfo */ +HardwareInfo::HardwareInfo() { + kdDebugFuncIn(trace); + + // init members + acadapter = true; + lidclose = false; + dbus_terminated = true; + hal_terminated = true; + laptop = false; + brightness = false; + brightness_in_hardware = false; + schedPowerSavings = false; + sessionIsActive = true; // assume as first we are active + + // update everything the first time + update_info_ac_changed = true; + update_info_cpufreq_policy_changed = true; + update_info_primBattery_changed = true; + + currentCPUFreqPolicy = UNKNOWN_CPUFREQ; + primaryBatteriesWarnLevel = 12; + primaryBatteriesLowLevel = 7; + primaryBatteriesCriticalLevel = 2; + + allUDIs = QStringList(); + consoleKitSession = QString(); + BatteryList.setAutoDelete( true ); // the list owns the objects + + primaryBatteries = new BatteryCollection(BAT_PRIMARY); + setPrimaryBatteriesWarningLevel(); // force default settings + + // connect to D-Bus and HAL + dbus_HAL = new dbusHAL(); + if (dbus_HAL->isConnectedToDBUS()) { + dbus_terminated = false; + if (dbus_HAL->isConnectedToHAL()) { + hal_terminated = false; + } else { + kdError() << "Could not connect to HAL" << endl; + } + } else { + kdError() << "Could not connect to D-Bus & HAL" << endl; + } + + checkConsoleKitSession(); + checkPowermanagement(); + checkIsLaptop(); + checkBrightness(); + checkCPUFreq(); + // getSchedPowerSavings(); + checkSuspend(); + intialiseHWInfo(); + + updatePrimaryBatteries(); + + // connect to signals + connect(dbus_HAL, SIGNAL(msgReceived_withStringString( msg_type, QString, QString )), + this, SLOT(processMessage( msg_type, QString, QString ))); + connect(dbus_HAL, SIGNAL(backFromSuspend(int)), this, SLOT(handleResumeSignal(int))); + + kdDebugFuncOut(trace); +} + +/*! The default desctuctor of the class HardwareInfo */ +HardwareInfo::~HardwareInfo() { + kdDebugFuncIn(trace); + + delete dbus_HAL; + dbus_HAL = NULL; + + kdDebugFuncOut(trace); +} + +/*! + * This funtion is used to handle the reconnect to the D-Bus daemon + */ +void HardwareInfo::reconnectDBUS() { + kdDebugFuncIn(trace); + + if (!dbus_HAL->isConnectedToDBUS()) { + bool _reconnect = dbus_HAL->reconnect(); + + if (!_reconnect && !dbus_HAL->isConnectedToDBUS()) { + //reconnect failed + emit dbusRunning(DBUS_NOT_RUNNING); + QTimer::singleShot(4000, this, SLOT(reconnectDBUS())); + } else if (!_reconnect && dbus_HAL->isConnectedToDBUS()) { + // reset everything, we are reconnected + dbus_terminated = false; + hal_terminated = true; + emit dbusRunning(DBUS_RUNNING); + } else if (_reconnect) { + // reset everything, we are reconnected + dbus_terminated = false; + hal_terminated = false; + reinitHardwareInfos(); + emit dbusRunning(hal_terminated); + emit halRunning(DBUS_RUNNING); + } + } + + kdDebugFuncOut(trace); +} + +/*! + * This funtion is used to reinit all hardware information. + * \return Boolean with result of the call + * \retval true if reinit HW infos correct + * \retval false if not + */ +bool HardwareInfo::reinitHardwareInfos () { + kdDebugFuncIn(trace); + + if (dbus_HAL->isConnectedToDBUS() && dbus_HAL->isConnectedToHAL()) { + /* first cleanup */ + acadapter = true; + lidclose = false; + laptop = false; + brightness = false; + has_APM = false; + has_ACPI = false; + + update_info_ac_changed = true; + update_info_cpufreq_policy_changed = true; + update_info_primBattery_changed = true; + + allUDIs = QStringList(); + + BatteryList.clear(); + primaryBatteries = new BatteryCollection(BAT_PRIMARY); + + // check the current desktop session again + checkConsoleKitSession(); + + /* reinit hardware data */ + checkPowermanagement(); + checkIsLaptop(); + checkBrightness(); + checkCPUFreq(); + checkSuspend(); + intialiseHWInfo(); + // getSchedPowerSavings(); + updatePrimaryBatteries(); + + kdDebugFuncOut(trace); + return true; + } else { + kdDebugFuncOut(trace); + return false; + } +} + +/*! + * This funtion is used to parse a message from D-Bus for the different + * messagetypes and events. + * \param type a \ref msg_type which should be parse/processed + * \param message the message + * \param value an optional message value as e.g. message string + */ +void HardwareInfo::processMessage (msg_type type, QString message, QString value) { + kdDebugFuncIn(trace); + + switch(type) { + case ACPI_EVENT: + // we don't handle acpi events here atm + break; + case DBUS_EVENT: + kdDebug() << "D-Bus Event: " << value << endl; + if ( message.startsWith("dbus.terminate")){ + // TODO: addapt from pdaemon + dbus_terminated = true; + QTimer::singleShot(4000, this, SLOT(reconnectDBUS())); + } + else if ( message.startsWith("hal.")) { + if ( message.startsWith("hal.terminate")) { + hal_terminated = true; + emit halRunning(false); + // TODO: update data + emit generalDataChanged(); + } else if ( message.startsWith("hal.started")) { + hal_terminated = false; + reinitHardwareInfos(); + emit halRunning( true ); + // TODO: update data + emit generalDataChanged(); + } + // TODO: addapt from pdaemon + } + break; + case HAL_DEVICE: + // --> we can maybe ignore these events except for batteries, not shure atm + int _type; + + if (message.startsWith("DeviceAdded")) { + if (checkIfHandleDevice(value, &_type)) { + switch (_type) { + case BATTERY: + case AC_ADAPTER: + case BUTTON_SLEEP: + case BUTTON_POWER: + case LID: + // TODO: handle code if needed actually not + break; + case LAPTOP_PANEL: + checkBrightness(); + break; + default: + kdDebug() << "New device added Device udi: " + << value << "type: " << _type << endl; + break; + } + } + } else if (message.startsWith("DeviceRemoved")) { + if (allUDIs.contains(value)) { + if (checkIfHandleDevice(value, &_type)) { + switch (_type) { + case BATTERY: + case AC_ADAPTER: + case BUTTON_SLEEP: + case BUTTON_POWER: + case LID: + // TODO: handle code if needed + break; + case LAPTOP_PANEL: + checkBrightness(); + break; + default: + kdDebug() << "Couldn't handle unknown device" << endl; + break; + } + } + } else { + kdDebug() << "Not monitored device removed: " << value << endl; + } + } else { + kdDebug() << "Unknown HAL_DEVICE message: " << message << endl; + } + break; + case HAL_PROPERTY_CHANGED: + if (!message.isEmpty() && allUDIs.contains( message )) { + if (value.startsWith( "ac_adapter.present" )) { + QTimer::singleShot(50, this, SLOT(checkACAdapterState())); + } else if (value.startsWith( "battery." )) { + // this is a battery event + updateBatteryValues(message, value); + } else if (value.startsWith( "button.state.value" )) { + if (message.startsWith( *udis["lidclose"] )) { + QTimer::singleShot(50, this, SLOT(checkLidcloseState())); + } + } else if (value.startsWith( "laptop_panel")) { + if (message.startsWith( *udis["laptop_panel"] )) { + QTimer::singleShot(50, this, SLOT(checkBrightness())); + } + } + // TODO: add needed code + } else { + kdDebug() << "HAL_PROPERTY_CHANGED for unmonitored device: " << value << endl; + } + break; + case HAL_CONDITION: + // TODO: Check if we really need to monitor this events. We get maybe also + // HAL_PROPERTY_CHANGED event for the key + if (message.startsWith("ButtonPressed")) { + kdDebug() << "ButtonPressed event from HAL: " << value << endl; + if (value.startsWith("lid")) { + QTimer::singleShot(50, this, SLOT(checkLidcloseState())); + } else if (value.startsWith("power")) { + QTimer::singleShot(50, this, SLOT(emitPowerButtonPressed())); + } else if (value.startsWith("sleep") || value.startsWith("suspend")) { + QTimer::singleShot(50, this, SLOT(emitSleepButtonPressed())); + } else if (value.startsWith("hibernate")) { + QTimer::singleShot(50, this, SLOT(emitS2diskButtonPressed())); + } else if (value.startsWith("brightness-")) { + if (!brightness_in_hardware && value.endsWith("-up")) + QTimer::singleShot(50, this, SLOT(brightnessUpPressed())); + else if (!brightness_in_hardware && value.endsWith("-down")) + QTimer::singleShot(50, this, SLOT(brightnessDownPressed())); + } + } else { + kdDebug() << "Unmonitored HAL_CONDITION: " << message << " : " << value << endl; + } + break; + case CONSOLEKIT_SESSION_ACTIVE: + if (!message.isEmpty() && !value.isEmpty()) { + if (message == consoleKitSession) { + if (value == "1") { + sessionIsActive = true; + } else { + sessionIsActive = false; + } + QTimer::singleShot(50, this, SLOT(emitSessionActiveState())); + } else { + if (trace) + kdDebug() << "CONSOLEKIT_SESSION_ACTIVE: not our session" << endl; + } + } + break; + case POLICY_POWER_OWNER_CHANGED: + if (message.startsWith("NOW_OWNER")) { + // TODO: add code + } else if (message.startsWith("OTHER_OWNER")){ + // TODO: add code + } + break; + default: + kdDebug() << "Recieved unknown package type: " << type << endl; + break; + } + + kdDebugFuncOut(trace); +} + +/*! + * This SLOT is used to fetch the resume signal and multiplex. If needed some + * actions after resume, do this here. + * \param result integer with the result of the resume/suspend + */ +void HardwareInfo::handleResumeSignal (int result) { + if (trace) kdDebug() << funcinfo << "IN: " << "(int result: " << result << ")"<< endl; + + if (result == -1) { + // check if time since suspend is higher than 6 hours, + // the magic D-Bus timeout for pending calls + if (calledSuspend.elapsed() > 21600000) { + emit resumed(INT_MAX); + } + } else { + emit resumed(result); + } + + calledSuspend = QTime(); + kdDebugFuncOut(trace); +} + +/*! + * This function checks the session for the running KPowersave instance + * \return Boolean with result of operation + * \retval true if the query/check could get finished + * \retval false on every error + */ +bool HardwareInfo::checkConsoleKitSession () { + kdDebugFuncIn(trace); + + bool retval = false; + + if (dbus_HAL->isConnectedToDBUS()) { + char *reply; + char *cookie = getenv("XDG_SESSION_COOKIE"); + + if (cookie == NULL) { + kdDebug() << "Could not get XDG_SESSION_COOKIE from environment" << endl; + sessionIsActive = true; + } else { + if (dbus_HAL->dbusSystemMethodCall( CK_SERVICE, CK_MANAGER_OBJECT, + CK_MANAGER_IFACE, "GetSessionForCookie", + &reply, DBUS_TYPE_OBJECT_PATH, + DBUS_TYPE_STRING, &cookie, + DBUS_TYPE_INVALID)) { + if (trace) + kdDebug() << "GetSessionForCookie returned: " << reply << endl; + + if (reply != NULL) { + dbus_bool_t i_reply; + consoleKitSession = reply; + + if (dbus_HAL->dbusSystemMethodCall( CK_SERVICE, consoleKitSession, + CK_SESSION_IFACE, "IsActive", + &i_reply, DBUS_TYPE_BOOLEAN, + DBUS_TYPE_INVALID)) { + sessionIsActive = ((i_reply != 0) ? true: false); + if (trace) + kdDebug() << "IsActive returned: " << sessionIsActive << endl; + + retval = true; + } else { + kdError() << "Could get session cookie and session name, but not " + << "but not the status of the session. Assume for now " + << "the Session is inactive!" << endl; + sessionIsActive = false; + } + } + } + } + } + + kdDebugFuncOut(trace); + return retval; +} + + +/*! + * This function check for a given UDI, if we should handle a device + * \param _udi QString with the UDI of the device + * \param *type pointer to a integer to return the type of the device, see \ref device_type + * \return Boolean with info if we should handle the device. + * \retval true if we should handle + * \retval false if not + */ +bool HardwareInfo::checkIfHandleDevice ( QString _udi, int *type) { + kdDebugFuncIn(trace); + + QStringList _cap; + bool ret = true; + + if (dbus_HAL->halGetPropertyStringList( _udi, "info.capabilities", &_cap) && !_cap.isEmpty()) { + if (_cap.contains("ac_adapter")) { + *type = BATTERY; + } else if (_cap.contains("button")) { + QString _val; + if (dbus_HAL->halGetPropertyString( _udi, "button.type", &_val)) { + if (_val.startsWith("lid")) { + *type = LID; + } else if ( _val.startsWith("power")) { + *type = BUTTON_POWER; + } else if ( _val.startsWith("sleep")) { + *type = BUTTON_SLEEP; + } else { + ret = false; + } + } else { + ret = false; + } + } else if (_cap.contains("battery")) { + *type = BATTERY; + } else if (_cap.contains("laptop_panel")) { + *type = LAPTOP_PANEL; + } else { + ret = false; + kdDebug() << "Device with capability " << _cap.join(", ") << " unhandled" << endl; + } + } else { + ret = false; + } + + if (!ret) *type = UNKNOWN_DEVICE; + + kdDebugFuncOut(trace); + return ret; +} + +// --> set some values for devices +/*! + * This function set the warning level for the primary battery collection + * If all give param are -1 or not set this function force the current + * settings to the primary battery collection. + * \param _warn value for the state BAT_WARN or -1 + * \param _low value for the state BAT_LOW or -1 + * \param _crit value for the state BAT_CRIT or -1 + */ +void HardwareInfo::setPrimaryBatteriesWarningLevel (int _warn, int _low, int _crit ) { + if (trace) kdDebug() << funcinfo << "IN: " << "warn: " << _warn << " low: " << _low << " crit: " << _crit << endl; + + if (_warn > -1 && _low > -1 && _crit > -1 ){ + primaryBatteriesWarnLevel = _warn; + primaryBatteriesLowLevel = _low; + primaryBatteriesCriticalLevel = _crit; + } + + if (primaryBatteries) { + primaryBatteries->setWarnLevel( primaryBatteriesWarnLevel ); + primaryBatteries->setLowLevel( primaryBatteriesLowLevel ); + primaryBatteries->setCritLevel( primaryBatteriesCriticalLevel ); + if (!BatteryList.isEmpty()) { + primaryBatteries->refreshInfo( BatteryList, true ); + } + } + + kdDebugFuncOut(trace); +} + +// --> init HW information section -- START <--- + +/*! + * The function checks if the machine is a laptop. + */ +void HardwareInfo::checkIsLaptop () { + kdDebugFuncIn(trace); + + QString ret; + + if (dbus_HAL->halGetPropertyString(HAL_COMPUTER_UDI, "system.formfactor", &ret)) { + + if (!ret.isEmpty() && ret.startsWith("laptop")) + laptop = true; + else + laptop = false; + } else { + // error case + laptop = false; + } + + kdDebugFuncOut(trace); +} + +/*! + * The function checks wether the machine support ACPI/APM/PMU or not. + */ +void HardwareInfo::checkPowermanagement() { + kdDebugFuncIn(trace); + + QString ret; + + has_APM = false; + has_ACPI = false; + has_PMU = false; + + if (dbus_HAL->halGetPropertyString( HAL_COMPUTER_UDI, "power_management.type", &ret)) { + + if (ret.isEmpty()) { + return; + } else if (ret.startsWith("acpi")) { + has_ACPI = true; + } else if (ret.startsWith("apm")) { + has_APM = true; + } else if (ret.startsWith("pmu")) { + has_PMU = true; + } + } + + kdDebugFuncOut(trace); +} + + +/*! + * The function checks wether the machine can suspend/standby. + */ +void HardwareInfo::checkSuspend() { + kdDebugFuncIn(trace); + + QStringList ret; + bool _ret_b = false; + + suspend_states = SuspendStates(); + + if (dbus_HAL->halGetPropertyStringList( HAL_COMPUTER_UDI, HAL_PM_IFACE ".method_names", + &ret )) { + // check for suspend2ram + if (dbus_HAL->halGetPropertyBool( HAL_COMPUTER_UDI, "power_management.can_suspend", &_ret_b ) || + dbus_HAL->halGetPropertyBool( HAL_COMPUTER_UDI, "power_management.can_suspend_to_ram", + &_ret_b )) { + suspend_states.suspend2ram_can = _ret_b; + if (_ret_b) { + if (ret.contains( "Suspend" )) { + suspend_states.suspend2ram = true; + suspend_states.suspend2ram_allowed = dbus_HAL->isUserPrivileged(PRIV_SUSPEND, + HAL_COMPUTER_UDI); + } + } else { + suspend_states.suspend2ram = false; + suspend_states.suspend2ram_allowed = -1; + } + } else { + suspend_states.suspend2ram_can = false; + suspend_states.suspend2ram = false; + suspend_states.suspend2ram_allowed = -1; + } + + // check for suspend2disk + if (dbus_HAL->halGetPropertyBool( HAL_COMPUTER_UDI, "power_management.can_hibernate", &_ret_b ) || + dbus_HAL->halGetPropertyBool( HAL_COMPUTER_UDI, "power_management.can_suspend_to_disk", + &_ret_b )) { + suspend_states.suspend2disk_can = _ret_b; + if (_ret_b) { + if (ret.contains( "Hibernate" )) { + suspend_states.suspend2disk = true; + suspend_states.suspend2disk_allowed = + dbus_HAL->isUserPrivileged(PRIV_HIBERNATE, + HAL_COMPUTER_UDI); + } + } else { + suspend_states.suspend2disk = false; + suspend_states.suspend2disk_allowed = -1; + } + } else { + suspend_states.suspend2disk_can = false; + suspend_states.suspend2disk = false; + suspend_states.suspend2disk_allowed = -1; + } + + // check for StandBy + if (dbus_HAL->halGetPropertyBool( HAL_COMPUTER_UDI, "power_management.can_standby", &_ret_b )) { + suspend_states.standby_can = _ret_b; + if (_ret_b) { + if (ret.contains( "Standby" )) { + suspend_states.standby = true; + suspend_states.standby_allowed = dbus_HAL->isUserPrivileged(PRIV_STANDBY, + HAL_COMPUTER_UDI); + } + } else { + suspend_states.standby = false; + suspend_states.standby_allowed = -1; + } + } else { + suspend_states.standby_can = false; + suspend_states.standby = false; + suspend_states.standby_allowed = -1; + } + } + + kdDebugFuncOut(trace); +} + +/*! + * The function checks wether the machine support CPU frequency changes + * via HAL. + */ +void HardwareInfo::checkCPUFreq() { + kdDebugFuncIn(trace); + + bool ret = false; + + if (dbus_HAL->halQueryCapability( HAL_COMPUTER_UDI, "cpufreq_control", &ret )) { + cpuFreq = ret; + cpuFreqAllowed = dbus_HAL->isUserPrivileged( PRIV_CPUFREQ, HAL_COMPUTER_UDI); + + checkCurrentCPUFreqPolicy(); + } else { + cpuFreq = false; + } + + kdDebugFuncOut(trace); +} + +/*! + * The function check the currently selected CPU Frequency policy + * \return the current policy + */ +cpufreq_type HardwareInfo::checkCurrentCPUFreqPolicy() { + kdDebugFuncIn(trace); + + char *gov; + + cpufreq_type _current = UNKNOWN_CPUFREQ; + + if (cpuFreq) { + + if (dbus_HAL->dbusSystemMethodCall( HAL_SERVICE, HAL_COMPUTER_UDI, + HAL_CPUFREQ_IFACE, "GetCPUFreqGovernor", + &gov, DBUS_TYPE_STRING, DBUS_TYPE_INVALID)) { + if (gov != NULL) { + kdDebug() << "got CPU Freq gov: " << gov << endl; + if (!strcmp(gov, "ondemand") || !strcmp(gov, "userspace") || + !strcmp(gov, "conservative")) { + _current = DYNAMIC; + } else if (!strcmp(gov, "powersave")) { + _current = POWERSAVE; + } else if (!strcmp(gov, "performance")) { + _current = PERFORMANCE; + } else { + kdError() << "Got unknown CPUFreq Policy back: " << gov << endl; + } + cpuFreqGovernor = gov; + } + else { + kdWarning() << "Could not get information about current governor" << endl; + } + } else { + kdWarning() << "Could not get information about current governor" << endl; + } + } else { + kdWarning() << "CPU Frequency interface not supported by machine or HAL" << endl; + } + + if (_current != currentCPUFreqPolicy) { + currentCPUFreqPolicy = _current; + update_info_cpufreq_policy_changed = true; + emit currentCPUFreqPolicyChanged(); + } else { + update_info_cpufreq_policy_changed = false; + } + + kdDebugFuncOut(trace); + return currentCPUFreqPolicy; +} + + +/*! + * The function checks wether the machine provide a brightness interface and init + * (if needed) brightness information. + */ +void HardwareInfo::checkBrightness() { + kdDebugFuncIn(trace); + + QStringList devices; + + brightness = false; + currentBrightnessLevel = -1; + availableBrightnessLevels = -1; + + if( dbus_HAL->halFindDeviceByCapability("laptop_panel", &devices)) { + if (devices.isEmpty()) { + udis.remove("laptop_panel"); + kdDebug() << "no device with category laptop_panel found" << endl; + kdDebugFuncOut(trace); + return; + } else { + int retval; + + + kdDebug() << "laptop_panel device found: " << devices.first() << endl; + // we should asume there is only one laptop panel device in the system + if (dbus_HAL->halGetPropertyInt(devices.first(), "laptop_panel.num_levels", &retval )) { + udis.insert("laptop_panel", new QString( devices.first() )); + if (!allUDIs.contains( devices.first() )) + allUDIs.append( devices.first() ); + + if (retval > 1) { + dbus_HAL->halGetPropertyBool(devices.first(), "laptop_panel.brightness_in_hardware", + &brightness_in_hardware); + + availableBrightnessLevels = retval; +#ifdef USE_LIBHAL_POLICYCHECK + brightnessAllowed = dbus_HAL->isUserPrivileged( PRIV_LAPTOP_PANEL, + devices.first()); + // TODO: check brightnessAllowed +#endif + brightness = true; + // get the current level via GetBrightness + checkCurrentBrightness(); + } else { + kdError() << "Found a Panel, but laptop_panel.num_levels < 2, which means " + << "KPowersave can't set usefull values" << endl; + } + } + } + } + + kdDebugFuncOut(trace); +} + + +/*! + * The function check the current brigthness + */ +void HardwareInfo::checkCurrentBrightness() { + kdDebugFuncIn(trace); + + if (brightness) { + int retval; + // get the current level via GetBrightness + if (dbus_HAL->dbusSystemMethodCall( HAL_SERVICE, *udis["laptop_panel"], HAL_LPANEL_IFACE, + "GetBrightness", &retval, DBUS_TYPE_INT32, + DBUS_TYPE_INVALID ) ) { + currentBrightnessLevel = (int) retval; + } + } + + kdDebugFuncOut(trace); +} + + +/*! + * The function initialise the hardware information and collect all + * initial information from HAL. + * \return boolean with result of the operation + * \retval true if successful + * \retval false else, if a error occurs + */ +bool HardwareInfo::intialiseHWInfo() { + kdDebugFuncIn(trace); + + QStringList ret; + + if (!dbus_HAL->isConnectedToDBUS() || !dbus_HAL->isConnectedToHAL()) + return false; + + if( dbus_HAL->halFindDeviceByCapability("ac_adapter", &ret)) { + // there should be normaly only one device, but let be sure + for ( QStringList::iterator it = ret.begin(); it != ret.end(); ++it ) { + // we need a deep copy + udis.insert("acadapter", new QString( *it )); + if (!allUDIs.contains( *it )) + allUDIs.append( *it ); + checkACAdapterState(); + } + } + + ret.clear(); + + if( dbus_HAL->halFindDeviceByString("button.type", "lid", &ret)) { + // there should be normaly only one device, but let be sure + for ( QStringList::iterator it = ret.begin(); it != ret.end(); ++it ) { + // we need a deep copy + udis.insert("lidclose", new QString( *it )); + if (!allUDIs.contains( *it )) + allUDIs.append( *it ); + checkLidcloseState(); + } + } + + ret.clear(); + + // find batteries and fill battery information + if( dbus_HAL->halFindDeviceByCapability("battery", &ret)) { + if (!ret.isEmpty()) { + // there should be normaly only one device, but let be sure + for ( QStringList::iterator it = ret.begin(); it != ret.end(); ++it ) { + if (!allUDIs.contains( *it )) + allUDIs.append( *it ); + BatteryList.append( new Battery(dbus_HAL, *it) ); + } + + // connect to signals for primary batteries: + Battery *bat; + for (bat = BatteryList.first(); bat; bat = BatteryList.next() ) { + if (bat->getType() == BAT_PRIMARY) { + connect(bat, SIGNAL(changedBattery()),this, SLOT(updatePrimaryBatteries())); + } + } + } + } + + kdDebugFuncOut(trace); + return true; +} + +/*! + * The function/SLOT checks the state of the AC adapter. + */ +void HardwareInfo::checkACAdapterState() { + kdDebugFuncIn(trace); + + if ( udis["acadapter"] ) { + bool _state; + + if (dbus_HAL->halGetPropertyBool(*udis["acadapter"] , "ac_adapter.present", &_state )) { + if (_state != acadapter) { + acadapter = _state; + update_info_ac_changed = true; + emit ACStatus( acadapter ); + } else { + update_info_ac_changed = false; + } + } else { + // we use true as default e.g. for workstations + acadapter = true; + } + } + + kdDebugFuncOut(trace); +} + +/*! + * The function checks the state of the Lidclose button. + */ +void HardwareInfo::checkLidcloseState() { + kdDebugFuncIn(trace); + + if ( udis["lidclose"] ) { + bool _state; + + if (dbus_HAL->halGetPropertyBool(*udis["lidclose"] , "button.state.value", &_state )) { + if (_state != lidclose) { + lidclose = _state; + emit lidcloseStatus( lidclose ); + } + } else { + lidclose = false; + } + } + + kdDebugFuncOut(trace); +} + +/*! + * This funtion is used to call a update of a battery value for a given + * UDI and the given changed property + * \param udi QString with the UDI of the battery + * \param property QString with the changed property + */ +void HardwareInfo::updateBatteryValues (QString udi, QString property) { + kdDebugFuncIn(trace); + + if (!udi.isEmpty() && allUDIs.contains( udi )) { + // find effected battery object + Battery *bat; + for (bat = BatteryList.first(); bat; bat = BatteryList.next() ) { + if (udi.startsWith( bat->getUdi())) { + // found a battery with udi + bat->updateProperty(udi, property); + } + } + } else { + kdDebug() << "UDI is empty or not in the list of monitored devices: " << udi << endl; + } + + kdDebugFuncOut(trace); + return; +} + +/*! + * This function refresh the information for the primary battery collection. + */ +void HardwareInfo::updatePrimaryBatteries () { + kdDebugFuncIn(trace); + + if (!BatteryList.isEmpty()) { + if (primaryBatteries->getNumBatteries() < 1) { + setPrimaryBatteriesWarningLevel(); + primaryBatteries->refreshInfo( BatteryList ); + connect(primaryBatteries, SIGNAL(batteryChanged()), this, + SLOT(setPrimaryBatteriesChanges())); + connect(primaryBatteries, SIGNAL(batteryWarnState(int,int)), this, + SLOT(emitBatteryWARNState(int,int))); + } else { + setPrimaryBatteriesWarningLevel(); + primaryBatteries->refreshInfo( BatteryList ); + } + } else { + primaryBatteries = new BatteryCollection(BAT_PRIMARY); + } + + kdDebugFuncOut(trace); +} + +/*! + * This function set the change status for the primary battery collection + */ +void HardwareInfo::setPrimaryBatteriesChanges () { + kdDebugFuncIn(trace); + + update_info_primBattery_changed = true; + emit primaryBatteryChanged(); + + kdDebugFuncOut(trace); +} + +/*! + * This slot emit a signal if a warning state of a battery reached + */ +void HardwareInfo::emitBatteryWARNState (int type, int state) { + kdDebugFuncIn(trace); + + if (type == BAT_PRIMARY) + emit primaryBatteryChanged(); + else + emit generalDataChanged(); + + emit batteryWARNState(type, state); + + kdDebugFuncOut(trace); +} + +// --> init HW information section -- END <--- +// --> HAL method call (trigger actions) section -- START <--- + +/*! + * Function to trigger a suspend via HAL + * \param suspend enum of suspend_type with the requested suspend + * \return boolean with result of the operation + * \retval true if successful + * \retval false else, if a error occurs + */ +bool HardwareInfo::suspend( suspend_type suspend ) { + kdDebugFuncIn(trace); + + calledSuspend = QTime(); + + if (dbus_HAL->isConnectedToDBUS() && dbus_HAL->isConnectedToHAL()) { + switch (suspend) { + case SUSPEND2DISK: + if (suspend_states.suspend2disk && (suspend_states.suspend2disk_allowed != 0)) { + if (dbus_HAL->dbusMethodCallSuspend("Hibernate")) { + calledSuspend.start(); + return true; + } else { + return false; + } + } else { + if ( !suspend_states.suspend2disk ) + kdDebug() << "The machine does not support suspend to disk." << endl; + else + kdWarning() << "Policy forbid user to trigger suspend to disk" << endl; + + return false; + } + break; + case SUSPEND2RAM: + if (suspend_states.suspend2ram && (suspend_states.suspend2ram_allowed != 0)) { + if (dbus_HAL->dbusMethodCallSuspend("Suspend")) { + calledSuspend.start(); + return true; + } else { + return false; + } + } else { + if ( !suspend_states.suspend2ram ) + kdDebug() << "The machine does not support suspend to ram." << endl; + else + kdWarning() << "Policy forbid user to trigger suspend to ram" << endl; + + return false; + } + break; + case STANDBY: + if (suspend_states.standby && (suspend_states.standby_allowed != 0)) { + if (dbus_HAL->dbusMethodCallSuspend("Standby")) { + calledSuspend.start(); + return true; + } else { + return false; + } + } else { + if ( !suspend_states.standby ) + kdDebug() << "The machine does not support standby." << endl; + else + kdWarning() << "Policy forbid user to trigger standby" << endl; + + return false; + } + break; + default: + return false; + } + } + + kdDebugFuncOut(trace); + return false; +} + +/*! + * Function to set brightness via HAL (if supported by hardware) + * \param level Integer with the level to set, (range: 0 - \ref availableBrightnessLevels ) + * \param percent Integer with the brightness percentage to set + * \return boolean with result of the operation + * \retval true if successful + * \retval false else, if a error occurs + */ +bool HardwareInfo::setBrightness ( int level, int percent ){ + if (trace) kdDebug() << funcinfo << "IN: " << "level: " << level << " percent: " << percent << endl; + + bool retval = false; + + if ((level == -1) && (percent >= 0)) { + if (percent == 0) { + level = 0; + } else if (percent >= 98) { + level = (availableBrightnessLevels - 1); + } else { + level = (int)((float)availableBrightnessLevels * ((float)percent/100.0)); + if (level > (availableBrightnessLevels -1)) + level = availableBrightnessLevels -1; + kdDebug() << "percentage mapped to new level: " << level << endl; + } + } + + if (dbus_HAL->isConnectedToDBUS() && dbus_HAL->isConnectedToHAL()) { + if (!brightness) + checkBrightness(); + + if (!brightness || (level < 0 ) || (level >= availableBrightnessLevels)) { + kdError() << "Change brightness or requested level not supported " << endl; + } else { + if (currentBrightnessLevel == level) { + kdDebug() << "Brightness level not changed, requested level == current level" << endl; + retval = true; + } else { + if (dbus_HAL->dbusSystemMethodCall( HAL_SERVICE, *udis["laptop_panel"], + HAL_LPANEL_IFACE, "SetBrightness", + DBUS_TYPE_INT32, &level, + DBUS_TYPE_INVALID )) { + retval = true; + } + } + } + } + + // check for actual brightness level to be sure everything was set correct + checkCurrentBrightness(); + kdDebugFuncOut(trace); + return retval; +} + +/*! + * Function to set the CPU frequency policy via HAL. + * \param cpufreq enum of cpufreq_type with the policy to set + * \param limit integer with range 0 - 100 (only if cpufreq == DYNAMIC) + * \return boolean with result of the operation + * \retval true if successful + * \retval false else, if a error occurs + */ +bool HardwareInfo::setCPUFreq ( cpufreq_type cpufreq, int limit ) { + if (trace) kdDebug() << funcinfo << "IN: " << "cpufreq_type: " << cpufreq << " limit: " << limit << endl; + + if (!cpuFreq) { + kdError() << "This machine does not support change the CPU Freq via HAL" << endl; + return false; + } + + if (cpuFreqAllowed == 0) { + kdError() << "Could not set CPU Freq, this not the needed privileges." << endl; + return false; + } + + if (dbus_HAL->isConnectedToDBUS() && dbus_HAL->isConnectedToHAL()) { + dbus_bool_t consider = (dbus_bool_t) getAcAdapter(); + QStringList dynamic; + + if (checkCurrentCPUFreqPolicy() == cpufreq) { + if (cpufreq == DYNAMIC && !cpuFreqGovernor.startsWith("ondemand")) { + kdDebug() << "CPU Freq Policy is already DYNAMIC, but not governor is currently " + << "not 'ondemand'. Try to set ondemand governor." << endl; + } else { + kdDebug() << "Didn't change Policy, was already set." << endl; + return true; + } + } + + switch (cpufreq) { + case PERFORMANCE: + if (!setCPUFreqGovernor("performance")) { + kdError() << "Could not set CPU Freq to performance policy" << endl; + return false; + } + break; + case DYNAMIC: + dynamic << "ondemand" << "userspace" << "conservative"; + + for (QStringList::Iterator it = dynamic.begin(); it != dynamic.end(); it++){ + kdDebug() << "Try to set dynamic CPUFreq to: " << *it << endl; + + if (setCPUFreqGovernor((*it).latin1())) { + kdDebug() << "Set dynamic successful to: " << *it << endl; + break; + } + } + + // set dynamic performance limit + if (!dbus_HAL->dbusSystemMethodCall( HAL_SERVICE, HAL_COMPUTER_UDI, + HAL_CPUFREQ_IFACE, + "SetCPUFreqPerformance", + DBUS_TYPE_INT32, &limit, + DBUS_TYPE_INVALID)) { + kdError() << "Could not call/set SetCPUFreqPerformance with value: " + << limit << endl; + } + + // correct set ondemand + if (!dbus_HAL->dbusSystemMethodCall( HAL_SERVICE, HAL_COMPUTER_UDI, + HAL_CPUFREQ_IFACE, + "SetCPUFreqConsiderNice", + DBUS_TYPE_BOOLEAN, &consider, + DBUS_TYPE_INVALID)) { + kdError() << "Couldn't set SetCPUFreqConsiderNice for DYNAMIC" << endl; + } + + break; + case POWERSAVE: + if (!setCPUFreqGovernor("powersave")) { + kdError() << "Could not set CPU Freq to powersave policy" << endl; + return false; + } + break; + default: + kdWarning() << "Unknown cpufreq_type: " << cpufreq << endl; + return false; + } + + // check if the policy was really set (and emit signal) + if (checkCurrentCPUFreqPolicy() == cpufreq) { +// update_info_cpufreq_policy_changed = true; +// emit currentCPUFreqPolicyChanged(); + return true; + } else { + return false; + } + } else { + return false; + } +} + +/*! + * Function to set the CPU governor via HAL. + * \param governor char * with the name of the governor + * \return boolean with result of the operation + * \retval true if successful + * \retval false else, if a error occurs + */ +bool HardwareInfo::setCPUFreqGovernor( const char *governor ) { + kdDebugFuncIn(trace); + + int reply; + bool ret = true; + + kdDebug() << "Try to set CPUFreq to governor: " << governor << endl; + if (!dbus_HAL->dbusSystemMethodCall( HAL_SERVICE, HAL_COMPUTER_UDI, + HAL_CPUFREQ_IFACE, "SetCPUFreqGovernor", + &reply, DBUS_TYPE_INVALID, + DBUS_TYPE_STRING, &governor, + DBUS_TYPE_INVALID)) { + kdError() << "Could not set CPU Freq to governor: " << governor << endl; + ret = false; + } + + kdDebugFuncOut(trace); + return ret; +} + + +/*! + * Function to set the powersave mode (incl. e.g. disk settings) via HAL. + * \param on boolean which tell if enable/disable powersave mode + * \return boolean with result of the operation + * \retval true if successful + * \retval false else, if a error occurs + */ +bool HardwareInfo::setPowerSave( bool on ) { + kdDebugFuncIn(trace); + + bool retval = false; + + if (dbus_HAL->isConnectedToDBUS() && dbus_HAL->isConnectedToHAL()) { + dbus_bool_t _tmp = (dbus_bool_t) on; + int reply; + +#ifdef USE_LIBHAL_POLICYCHECK + if (dbus_HAL->isUserPrivileged(PRIV_SETPOWERSAVE, HAL_COMPUTER_UDI) != 0) { +#else + if (true) { +#endif + if (!dbus_HAL->dbusSystemMethodCall( HAL_SERVICE, HAL_COMPUTER_UDI, + HAL_PM_IFACE, "SetPowerSave", + &reply, DBUS_TYPE_INT32, + DBUS_TYPE_BOOLEAN, &_tmp, + DBUS_TYPE_INVALID)) { + kdError() << "Could not call/set SetPowerSave on HAL, " + << "could be a bug in HAL spec" << endl; + } else { + retval = true; + } + } else { + kdError() << "The user isn't allowed to call SetPowerSave() on HAL. " + << "Maybe KPowersave run not in a active session." << endl; + } + } + + kdDebugFuncOut(trace); + return retval; +} + +/*! + * Function to call GetSchedPowerSavings() via HAL. + * \return boolean with result of the operation + * \retval true if successful + * \retval false else, if a error occurs + */ +bool HardwareInfo::getSchedPowerSavings() { + kdDebugFuncIn(trace); + + bool returnval = false; + + if (dbus_HAL->isConnectedToDBUS() && dbus_HAL->isConnectedToHAL()) { + dbus_bool_t ret; + + //NOTE: the kernel only allow 1/0 for the related sysfs entry + if (dbus_HAL->dbusSystemMethodCall( HAL_SERVICE, HAL_COMPUTER_UDI, + HAL_CPUFREQ_IFACE, "GetSchedPowerSavings", + &ret, DBUS_TYPE_BOOLEAN, DBUS_TYPE_INVALID)) { + schedPowerSavings = ((ret != 0) ? true: false); + returnval = true; + } else { + schedPowerSavings = false; + kdWarning() << "Could not call GetSchedPowerSavings() " << endl; + } + } + + kdDebugFuncOut(trace); + return returnval; +} + +/*! + * Function to call SetSchedPowerSavings() via HAL. Note: this would only work on + * Multiprocessor/-core machines. + * \return boolean with result of the operation + * \retval true if successful + * \retval false else, if a error occurs + */ +bool HardwareInfo::setSchedPowerSavings( bool enable ) { + kdDebugFuncIn(trace); + + bool retval = false; + + if (dbus_HAL->isConnectedToDBUS() && dbus_HAL->isConnectedToHAL()) { + dbus_bool_t _tmp = (dbus_bool_t) enable; + + //NOTE: the kernel only allow 1/0 for the related sysfs entry + if (dbus_HAL->dbusSystemMethodCall( HAL_SERVICE, HAL_COMPUTER_UDI, + HAL_CPUFREQ_IFACE, + "SetCPUFreqPerformance", + DBUS_TYPE_BOOLEAN, &_tmp, + DBUS_TYPE_INVALID)) { + retval = true; + } else { + kdWarning() << "Could not call SetSchedPowerSavings() " << endl; + } + } + + kdDebugFuncOut(trace); + return retval; +} + + +// --> HAL method call (trigger actions) section -- END <--- + +// --> private helper functions/slots to forward/handle events -- START <-- +// need this functions to make events from HAL/D-Bus independent +// from QT event loop and to allow QT3 D-Bus bindings to get not +// blocked by normal KDE/QT (GUI) calls +/*! + * Function to emit the signal for the Power button. + */ +void HardwareInfo::emitPowerButtonPressed() { + if (sessionIsActive) { + emit powerButtonPressed(); + } else { + kdWarning() << "Session is not active, don't react on power button event!" << endl; + } +} + +/*! + * Function to emit the signal for the Sleep button. + */ +void HardwareInfo::emitSleepButtonPressed() { + if (sessionIsActive) { + emit sleepButtonPressed(); + } else { + kdWarning() << "Session is not active, don't react on sleep button event!" << endl; + } +} + +/*! + * Function to emit the signal for the s2disk button. + */ +void HardwareInfo::emitS2diskButtonPressed() { + if (sessionIsActive) { + emit s2diskButtonPressed(); + } else { + kdWarning() << "Session is not active, don't react on suspend2disk button event!" << endl; + } +} + +/*! + * Function to emit the signal about changes in the session state + */ +void HardwareInfo::emitSessionActiveState() { + if (sessionIsActive) { + if (!dbus_HAL->aquiredPolicyPowerInterface()) { + dbus_HAL->aquirePolicyPowerIface(); + } + } else { + if (dbus_HAL->aquiredPolicyPowerInterface()) { + dbus_HAL->releasePolicyPowerIface(); + } + } + + emit desktopSessionIsActive(sessionIsActive); +} + +/*! + * Function to set the brightess a step up. + * \param percentageStep Integer of next step should get set + * \return result of the operation + * \retval true if could get set + * \retval false else + */ +bool HardwareInfo::setBrightnessUp(int percentageStep) { + kdDebugFuncIn(trace); + + bool retval = false; + + checkCurrentBrightness(); + + if (supportBrightness() && (getCurrentBrightnessLevel() >= 0) && + (getCurrentBrightnessLevel() != (getMaxBrightnessLevel()-1))) { + int setTo = 0; + int minPercStep = 10; + int currentPerc = (int)(((float)getCurrentBrightnessLevel()/(float)(getMaxBrightnessLevel()-1))*100.0); + + if (percentageStep > 0 && (percentageStep <= (100-currentPerc))) { + minPercStep = percentageStep; + } + + if ((currentPerc + minPercStep) > 100) { + // set to 100 % + setTo = getMaxBrightnessLevel() -1; + } else { + setTo = (int)(((float)(getMaxBrightnessLevel()-1))*(((float)(currentPerc + minPercStep))/100.0)); + if ((setTo == getCurrentBrightnessLevel()) && (setTo < (getMaxBrightnessLevel() -1))) { + setTo++; + } + } + + if (trace) { + kdDebug() << "Max: " << getMaxBrightnessLevel() + << " Current: " << getCurrentBrightnessLevel() + << " minPercStep: " << minPercStep + << " currentPerc: " << currentPerc + << " setTo: " << setTo << endl; + } + + retval = setBrightness(setTo, -1); + } + + kdDebugFuncOut(trace); + return retval; +} + +/*! + * Function to set the brightess a step up. + * \param percentageStep Integer of next step should get set + * \return result of the operation + * \retval true if could get set + * \retval false else + */ +bool HardwareInfo::setBrightnessDown(int percentageStep) { + kdDebugFuncIn(trace); + + bool retval = false; + + checkCurrentBrightness(); + + if (supportBrightness() && (getCurrentBrightnessLevel() > 0)) { + int setTo = 0; + int minPercStep = 10; + int currentPerc = (int)(((float)getCurrentBrightnessLevel()/(float)(getMaxBrightnessLevel()-1))*100.0); + + if (percentageStep > 0 && (percentageStep < currentPerc)) { + minPercStep = percentageStep; + } + + if ((currentPerc - minPercStep) < 0) { + setTo = 0; + } else { + setTo = (int)(((float)(getMaxBrightnessLevel()-1))*(((float)(currentPerc - minPercStep))/100.0)); + if ((setTo == getCurrentBrightnessLevel()) && (setTo > 0)) { + setTo--; + } + } + + if (trace) { + kdDebug() << "Max: " << getMaxBrightnessLevel() + << " Current: " << getCurrentBrightnessLevel() + << " minPercStep: " << minPercStep + << " currentPerc: " << currentPerc + << " setTo: " << setTo << endl; + } + + retval = setBrightness(setTo, -1); + } + + kdDebugFuncOut(trace); + return retval; +} + +/*! + * Function to handle the signal for the brightness up button/key + */ +void HardwareInfo::brightnessUpPressed() { + kdDebugFuncIn(trace); + + if (brightness) { + if (!sessionIsActive) { + kdWarning() << "Session is not active, don't react on brightness up key event!" << endl; + } else { + if (currentBrightnessLevel < availableBrightnessLevels) { + setBrightnessUp(); + } else { + kdWarning() << "Could not set brightness to higher level, it's already set to max." << endl; + } + } + } + kdDebugFuncOut(trace); +} + +/*! + * Function to handle the signal for the brightness down button/key + */ +void HardwareInfo::brightnessDownPressed() { + kdDebugFuncIn(trace); + + if (brightness) { + if (!sessionIsActive) { + kdWarning() << "Session is not active, don't react on brightness down key event!" << endl; + } else { + if (currentBrightnessLevel > 0) { + setBrightnessDown(); + } else { + kdWarning() << "Could not set brightness to lower level, it's already set to min." << endl; + } + } + } +} + +// --> private helper slots to forward/handle events -- END <-- + +// --> get private members section -- START <--- + +/*! + * The function return the current state of the ac adapter. + * \return boolean with the current state + * \retval true if adapter is present/connected or unknown + * \retval false if not + */ +bool HardwareInfo::getAcAdapter() const { + return acadapter; +} + +/*! + * The function return the current state of the lidclose button. + * \return boolean with the current state + * \retval true if the lid is closed + * \retval false if the lid is opend + */ +bool HardwareInfo::getLidclose() const { + return lidclose; +} + +/*! + * The function return the maximal available brightness level + * \return Integer with max level or -1 if not supported + */ +int HardwareInfo::getMaxBrightnessLevel() const { + if (brightness) + return availableBrightnessLevels; + else + return -1; +} + +/*! + * The function return the current brightness level + * \return Integer with max level or -1 if not supported or unkown + */ +int HardwareInfo::getCurrentBrightnessLevel() const { + if (brightness) + return currentBrightnessLevel; + else + return -1; +} + +/*! + * The function return the current set CPU Frequency Policy + * \return Integer with currently set Policy or -1 if not supported or unkown + */ +int HardwareInfo::getCurrentCPUFreqPolicy() const { + return currentCPUFreqPolicy; +} + +/*! + * The function return information if the system support the different + * suspend/standby methodes and if the user can call them. + * \return struct with information from \ref suspend_states + * TODO: check if we maybe should replace this by more different functions + */ +SuspendStates HardwareInfo::getSuspendSupport() const { + return suspend_states; +} + +/*! + * The function return a pointer to the battery collection of primary batteries. + * \return BatteryCollection with type == PRIMARY + */ +BatteryCollection* HardwareInfo::getPrimaryBatteries() const { + return primaryBatteries; +} + +/*! + * The function return all batteries + * \return QPtrList + */ +QPtrList HardwareInfo::getAllBatteries() const { + return BatteryList; +} + + +/*! + * The function return the status of \ref laptop. + * \return boolean with info if machine is a laptop + * \retval true if a laptop + * \retval false else/if not a laptop + */ +bool HardwareInfo::isLaptop() const { + return laptop; +} + +/*! + * The function return info if there is a working connection to D-Bus and HAL. + * This mean if we get hardwareinformation + * \return boolean with info if D-Bus and HAL work + * \retval true if connected + * \retval false if not connected + */ +bool HardwareInfo::isOnline() const { + return (!dbus_terminated && !hal_terminated); +} + +/*! + * The function return the status of \ref has_ACPI. + * \return boolean with info if machine support ACPI + * \retval true if support ACPI + * \retval false else + */ +bool HardwareInfo::hasACPI() const { + return has_ACPI; +} + +/*! + * The function return the status of \ref has_APM. + * \return boolean with info if machine support APM + * \retval true if support APM + * \retval false else + */ +bool HardwareInfo::hasAPM() const { + return has_APM; +} + +/*! + * The function return the status of \ref has_PMU. + * \return boolean with info if machine support PMU + * \retval true if support PMU + * \retval false else + */ +bool HardwareInfo::hasPMU() const { + return has_PMU; +} + +/*! + * The function return the status of \ref brightness. + * \return boolean with info if machine support brightness changes via HAL + * \retval true if support brightness changes + * \retval false else + */ +bool HardwareInfo::supportBrightness() const { + return brightness; +} + +/*! + * The function return the status of \ref cpuFreq. + * \return boolean with info if machine support change the CPU frequency via HAL + * \retval true if support brightness changes + * \retval false else + */ +bool HardwareInfo::supportCPUFreq() const { + return cpuFreq; +} + +/*! + * The function return the status of \ref sessionIsActive. + * \return boolean with info if current desktop session is marked in ConsoleKit as activ + * \retval true if the current session is active + * \retval false else + */ +bool HardwareInfo::currentSessionIsActive() const { + return sessionIsActive; +} + +/*! + * The function return \ref cpuFreqAllowed and tell by this if the user is allowed + * to change the CPU Freq. + * \return \ref cpuFreqAllowed + * \retval 0 allowed + * \retval 1 not allowed + * \retval -1 unknown + */ +int HardwareInfo::isCpuFreqAllowed () { + cpuFreqAllowed = dbus_HAL->isUserPrivileged( PRIV_CPUFREQ, HAL_COMPUTER_UDI); + return cpuFreqAllowed; +} + +/*! check if the org.freedesktop.Policy.Power interface has an owner + * \return boolean with info if org.freedesktop.Policy.Power interface has an owner or not + * \retval true if there is a owner + * \retval false else + */ +bool HardwareInfo::isPolicyPowerIfaceOwned () { + return dbus_HAL->isPolicyPowerIfaceOwned(); +} + + +// --> get private members section -- END <--- + +#include "hardware.moc" diff --git a/src/hardware.h b/src/hardware.h new file mode 100644 index 0000000..826deb6 --- /dev/null +++ b/src/hardware.h @@ -0,0 +1,502 @@ + /************************************************************************** + * Copyright (C) 2006-2007 by Danny Kukawka * + * , * + * * + * This program is free software; you can redistribute it and/or modify * + * it under the terms of version 2 of the GNU General Public License * + * as published by the Free Software Foundation. * + * * + * This program is distributed in the hope that it will be useful, * + * but WITHOUT ANY WARRANTY; without even the implied warranty of * + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * + * GNU General Public License for more details. * + * * + * You should have received a copy of the GNU General Public License * + * along with this program; if not, write to the * + * Free Software Foundation, Inc., * + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. * + ***************************************************************************/ + +/*! +* \file hardware.h +* \brief Headerfile for hardwareinfo.cpp. This file collect/hold all +* Hardware information as e.g. battery and ac state. +*/ + +/*! +* \class HardwareInfo +* \brief class for hardware information related funtionality +* \author Danny Kukawka, , +* \date 2006-2007 +*/ + +#ifndef _HARDWARE_H_ +#define _HARDWARE_H_ + +// Global Header +#ifdef HAVE_CONFIG_H +#include +#endif + +// QT - Header +#include +#include +#include +#include +#include + +// HAL Library +#include + +#include "dbusHAL.h" +#include "hardware_battery.h" +#include "hardware_batteryCollection.h" + +enum suspend_type { + SUSPEND2DISK, + SUSPEND2RAM, + STANDBY +}; + +enum cpufreq_type { + UNKNOWN_CPUFREQ = -1, + PERFORMANCE, + DYNAMIC, + POWERSAVE +}; + +enum device_type { + BATTERY, + AC_ADAPTER, + BUTTON_SLEEP, + BUTTON_POWER, + LID, + LAPTOP_PANEL, + UNKNOWN_DEVICE +}; + +enum ERROR_MSG { + DBUS_NO_RIGHTS, + DBUS_NOT_RUNNING, + DBUS_RUNNING +}; + +//! hold information if suspend/standby/pm actions are supported and allowed +/*! +* This dictionary contains information about the available pm capabilities and +* the related interfaces in HAL. +*/ +typedef struct SuspendStates { + //! true if the machine support suspend2ram and the interface is available + bool suspend2ram; + //! true if the machine support suspend2ram, but no interface available + bool suspend2ram_can; + //! true if the machine support suspend2ram and PolicyKit allow to call the interface + int suspend2ram_allowed; + //! true if the machine support suspend2disk and the interface is available + bool suspend2disk; + //! true if the machine support suspend2disk, but no interface available + bool suspend2disk_can; + //! true if the machine support suspend2disk and PolicyKit allow to call the interface + int suspend2disk_allowed; + //! true if the machine support standby and the interface is available + bool standby; + //! true if the machine support standby, but no interface available + bool standby_can; + //! true if the machine support standby and PolicyKit allow to call the interface + int standby_allowed; + + SuspendStates () { + suspend2ram = false; + suspend2ram_can = false; + suspend2ram_allowed = -1; + suspend2disk = false; + suspend2disk_can = false; + suspend2disk_allowed = -1; + standby = false; + standby_can = false; + standby_allowed = -1; + } +} SuspendStates; + +class HardwareInfo : public QObject{ + + Q_OBJECT + +private: + //! pointer to the dbusHAL connection class + dbusHAL *dbus_HAL; + + //! hold udis of special hardware execpt batteries represented by a QString pairs (name,udi) + /*! + * This directory handle udis for known fixed devices as e.g ac adapter. This devices are + * currently available: + * \li acadapter + * \li lidclose + * \li laptop_panel + */ + QDict udis; + + //! hold the UDIs of all hardware we handle atm + /*! + * This QStringList contains the list of UDIs we handle at the moment in this + * class. This should be used to handle device events from HAL for devices we + * want to monitor + */ + QStringList allUDIs; + + //! hold information if suspend/standby/pm actions are supported and allowed + /*! + * This dictionary contains information about the available pm capabilities and + * the related interfaces in HAL. + */ + SuspendStates suspend_states; + + QTime calledSuspend; + + //! hold the list of pointers to all relevant batteries + QPtrList BatteryList; + //! hold the information about all primary batteries + BatteryCollection *primaryBatteries; + + //! hold the name of the CPU Freq governor from the last check + QString cpuFreqGovernor; + + //! hold the ConsoleKit name/path of the actual session + QString consoleKitSession; + + //! enum with the currently active CPU Freq policy + /*! This enum contains the enum with the currently set CPU Freq Policy. */ + cpufreq_type currentCPUFreqPolicy; + + //! the state of the ac adapter + /*! + * This boolean represent information about the AC adapter state. + * \li true: if AC adapter is present + * \li false: it AC adapter is not present + */ + bool acadapter; + //! the state of the lidclose button + /*! + * This boolean represent information about the Lid button state. + * \li true: if lid is closed + * \li false: else + */ + bool lidclose; + //! if the machine support APM + /*! + * This boolean represent information if the machine support APM or not. + * \li true: if APM supported + * \li false: else + */ + bool has_APM; + //! if the machine support ACPI + /*! + * This boolean represent information if the machine support ACPI or not. + * \li true: if ACPI supported + * \li false: else + */ + bool has_ACPI; + //! if the machine support PMU (ppc power management) + /*! + * This boolean represent information if the machine support PMU or not. + * \li true: if PMU supported + * \li false: else + */ + bool has_PMU; + //! if the machine support change CPU Freq via HAL interface + /*! + * This boolean represent information if the machine support change the + * CPU freqency via HAL. + * \li true: if supported + * \li false: else + */ + bool cpuFreq; + //! if the machine support change *SchedPowerSavings methodes via HAL interface + /*! + * This boolean represent information if the machine support change the + * SchedPowerSavings methodes via HAL. + * \li true: if supported + * \li false: else + */ + bool schedPowerSavings; + //! if the machine support change brightness + /*! + * This boolean represent information if the machine support brightness changes. + * \li true: if supported + * \li false: else + */ + bool brightness; + //! if brightness get controled via keyevents in hardware + /*! + * This boolean represent information if the machine handle brightness button + * and keyevents in hardware. If so KPowersave should ignore key events. + * \li true: if handled in hardware + * \li false: else + */ + bool brightness_in_hardware; + //! if the machine is a laptop + /*! + * This boolean represent information if the machine is a laptop. + * \li true: if the machine is a laptop + * \li false: else + */ + bool laptop; + + //! if the current desktop session is active + /*! + * This boolean represent information if the current desktop session in + * Which KPowersave runs is marked in ConsoleKit as active or not. + * \li true: if active + * \li false: else + */ + bool sessionIsActive; + + //! if the current user can use the CPU Freq interface + /*! + * This integer tell if the current user is allowed to change the + * CPU Frequency policy via the HAL interface + * \li 1: if allowed + * \li 0: if not allowed + * \li -1: if unknown (e.g. there is no policy/PolicyKit) + */ + int cpuFreqAllowed; + //! if the current user can use the brightness interface + /*! + * This integer tell if the current user is allowed to change the + * brightness via the HAL interface + * \li 1: if allowed + * \li 0: if not allowed + * \li -1: if unknown (e.g. there is no policy/PolicyKit) + */ + int brightnessAllowed; + + + //! Integer with the number of current brightness + /*! This contains the current brighness level. */ + int currentBrightnessLevel; + //! Integer with the number of availabl brightness level + /*! This contains the number of available brightness levels for internal usage. */ + int availableBrightnessLevels; + + //! interger with the current warning level + int primaryBatteriesWarnLevel; + //! interger with the current low level + int primaryBatteriesLowLevel; + //! interger with the current critical level + int primaryBatteriesCriticalLevel; + + // --> functions + //! check if the machine support ACPI/APM/PMU or not + void checkPowermanagement(); + //! check the possible suspend/standby states + void checkSuspend(); + //! check if the machine support change CPU Freq via HAL + void checkCPUFreq(); + //! check the current brightness level + void checkCurrentBrightness(); + //! check if the machine is a laptop + void checkIsLaptop(); + + //! initalise all hardware information + bool intialiseHWInfo(); + //! reinit all hardware information + bool reinitHardwareInfos(); + //! to check the current ConsoleKit session + bool checkConsoleKitSession(); + //! to check if we should handle a device + bool checkIfHandleDevice ( QString _udi, int *type ); + //! to set the CPUFreq governor + bool setCPUFreqGovernor( const char *governor ); + //! to get the state of SchedPowerSave setting of kernel/HAL + bool getSchedPowerSavings(); + //! to set the state of SchedPowerSave setting of kernel/HAL + bool setSchedPowerSavings( bool enable ); + + //! find and update a battery information + void updateBatteryValues (QString udi, QString property); + +private slots: + + //! to fetch events from D-Bus and handle them + void processMessage (msg_type type, QString message, QString value); + //! to update \ref primaryBatteries + void updatePrimaryBatteries (); + //! to set \ref update_info_primBattery_changed + void setPrimaryBatteriesChanges (); + //! check the state of the lidclose button + void checkLidcloseState(); + //! check the state of the AC adapter + void checkACAdapterState(); + //! check if brightness change is possible + void checkBrightness(); + + //! SLOT to handle the reconnect to D-Bus + void reconnectDBUS(); + + //! SLOT to forward signal about changed battery warning state + void emitBatteryWARNState (int type, int state); + + //! SLOT to handle resume and forward a signal for resume + void handleResumeSignal (int result); + + //! to emit signal for power button + void emitPowerButtonPressed(); + //! to emit signal for sleep button + void emitSleepButtonPressed(); + //! to emit signal for s2disk button + void emitS2diskButtonPressed(); + //! to emit signal for session state + void emitSessionActiveState(); + + //! to handle signal for brightness Up buttons/keys + void brightnessUpPressed(); + //! to handle signal for brightness Down buttons/keys + void brightnessDownPressed(); + +signals: + //! signal for larger data changes + void generalDataChanged(); + //! emited if the CPU Freq Policy changed + void currentCPUFreqPolicyChanged(); + + //! signal the AC adapter + void ACStatus( bool ); + //! signal for the lidclose button + void lidcloseStatus ( bool ); + //! signal for pressed the power button + void powerButtonPressed (); + //! signal for pressed sleep (suspend2ram) button + void sleepButtonPressed (); + //! signal for pressed the suspend2disk (hibernate) button + void s2diskButtonPressed (); + + // battery related signals + //! signal if the primary battery collection changed + void primaryBatteryChanged(); + //! signal to inform about reaching a warning state + void batteryWARNState(int type, int state); + + // Error signals + //! signal if the HAL daemon terminate and restart + void halRunning( bool ); + //! signal if the D-Bus daemon terminate and restart + void dbusRunning( int ); + + //! signal if the IsActive state of + void desktopSessionIsActive (bool); + + //! signal if we are back from resume + void resumed ( int success ); + +public: + + // update related info --> need to be reset if the data was read + //! tells if the CPUFreq Policy changed + /*! + * This boolean represent information about CPUFreq Policy changes. + * \li true: if something changed + * \li false: if nothing changed (or this is reset to false if the message was consumed) + */ + bool update_info_cpufreq_policy_changed; + //! tells if the AC status changed + /*! + * This boolean represent information about AC status changes. + * \li true: if something changed + * \li false: if nothing changed (or this is reset to false if the message was consumed) + */ + bool update_info_ac_changed; + //! tells if the primary battery collection changed some values + /*! + * This boolean represent information about primary battery changes. + * \li true: if something changed + * \li false: if nothing changed (or this is reset to false if the message was consumed) + */ + bool update_info_primBattery_changed; + + //! boolean which tell us if the D-Bus daemon was terminated + /*! + * This boolean contains information if the D-Bus daemon terminated and + * we recieved "dbus.terminate" + * \li true: If D-Bus terminated + * \li false: If D-Bus not terminated + */ + bool dbus_terminated; + //! boolean which tell us if the HAL daemon was terminated + /*! + * This boolean contains information if the HAL daemon terminated and + * we recieved "hal.terminate" + * \li true: If HAL terminated + * \li false: If HAL not terminated + */ + bool hal_terminated; + + // --> functions + //! default constructor + HardwareInfo(); + //! default destructor + ~HardwareInfo(); + + // to get private members + //! get info about support of suspend/standby + SuspendStates getSuspendSupport() const; + //! get a pointer to the primary batteries + BatteryCollection* getPrimaryBatteries() const; + //! get all batteries + QPtrList getAllBatteries() const; + + //! check the currently set CPU Frequency Policy + cpufreq_type checkCurrentCPUFreqPolicy(); + + //! get max brightness level + int getMaxBrightnessLevel() const; + //! get current brightness level + int getCurrentBrightnessLevel() const; + //! get currently CPU Frequency Policy + int getCurrentCPUFreqPolicy() const; + //! if the user is allowed to change CPU Freq PolicyKit + int isCpuFreqAllowed (); + + //! if org.freedesktop.Policy.Power has a owner + bool isPolicyPowerIfaceOwned(); + + //! get state of the AC adapter + bool getAcAdapter() const; + //! get the state of the lid button + bool getLidclose() const; + //! check if the machine is a latop + bool isLaptop() const; + //! check if there is a connection to D-Bus _and_ HAL + bool isOnline() const; + //! check if the machine support ACPI + bool hasACPI() const; + //! check if the machine support APM + bool hasAPM() const; + //! check if the machine support PMU + bool hasPMU() const; + //! check if the machine support change the CPU frequency + bool supportCPUFreq() const; + //! check if the machine support brightness changes + bool supportBrightness() const; + //! check if the current session is active + bool currentSessionIsActive() const; + + // --> functions to call a HAL interface and trigger an action + //! execute/trigger a suspend via the HAL interface + bool suspend ( suspend_type suspend ); + //! set the brightness via HAL interface + bool setBrightness ( int level, int percent = -1); + //! to set the brightness down + bool setBrightnessDown(int percentageStep = -1); + //! to set the brightness up + bool setBrightnessUp(int percentageStep = -1); + //! set the CPU frequency policy/speed + bool setCPUFreq ( cpufreq_type cpufreq, int limit = 51 ); + //! call SetPowerSave method on HAL. + bool setPowerSave( bool on ); + + //! function to set warning states for the primary battery collection + void setPrimaryBatteriesWarningLevel (int _warn = -1, int _low = -1, int _crit = -1 ); +}; + +#endif diff --git a/src/hardware_battery.cpp b/src/hardware_battery.cpp new file mode 100644 index 0000000..131854f --- /dev/null +++ b/src/hardware_battery.cpp @@ -0,0 +1,1035 @@ + /************************************************************************** + * Copyright (C) 2006-2007 by Danny Kukawka * + * , * + * * + * This program is free software; you can redistribute it and/or modify * + * it under the terms of version 2 of the GNU General Public License * + * as published by the Free Software Foundation. * + * * + * This program is distributed in the hope that it will be useful, * + * but WITHOUT ANY WARRANTY; without even the implied warranty of * + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * + * GNU General Public License for more details. * + * * + * You should have received a copy of the GNU General Public License * + * along with this program; if not, write to the * + * Free Software Foundation, Inc., * + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. * + ***************************************************************************/ + +/*! + * \file hardware_battery.cpp + * \brief In this file can be found the Battery related code. + * \author Danny Kukawka, , + * \date 2006-2007 + */ + +#include "hardware_battery.h" + +/*! The default constructor of the class Battery. */ +Battery::Battery(dbusHAL* _dbus_HAL) : dbus_HAL(_dbus_HAL) { + kdDebugFuncIn(trace); + + udi = QString(); + initialized = false; + + initDefault(); + init(NULL); + + kdDebugFuncOut(trace); +} + +/*! The default constructor of the class Battery. */ +Battery::Battery( dbusHAL* _dbus_HAL, QString _udi ) : dbus_HAL(_dbus_HAL), udi(_udi) { + if (trace) kdDebug() << funcinfo << "IN , udi: " << udi << endl; + + initialized = false; + + initDefault(); + init(NULL); + + kdDebugFuncOut(trace); +} + +/*! The default constructor of the class Battery. */ +Battery::Battery() { + kdDebugFuncIn(trace); + initialized = false; + + initDefault(); + udi = QString(); + + kdDebugFuncOut(trace); +} + +/*! The default destructor of the class Battery. */ +Battery::~Battery() { + kdDebugFuncIn(trace); + +} + +//! init a battery with default values +void Battery::initDefault() { + kdDebugFuncIn(trace); + + present = false; + type = BAT_UNKNOWN; + state = BAT_NORM; + capacity_state = "ok"; + charging_state = UNKNOWN_STATE; + charge_level_unit = "mWh"; + charge_level_current = 0; + charge_level_lastfull = 0; + charge_level_percentage = 0; + design_capacity = 0; + present_rate = 0; + remaining_minutes = 0; + serial = ""; + + warn_level = 12; + low_level = 7; + crit_level = 2; + + kdDebugFuncOut(trace); +} + +//! initialize this battery object with values from HAL +void Battery::init(dbusHAL* _dbus_HAL) { + kdDebugFuncIn(trace); + + if (_dbus_HAL != NULL) + dbus_HAL = _dbus_HAL; + + // read battery information from HAL + if (!dbus_HAL->isConnectedToHAL() && !dbus_HAL->reconnect()) { + //couldnt connect to HAL + state=BAT_HAL_ERROR; + } else { + if (resetUdi(udi)) { + //udi is valid + recheck(); //fills all values + //ready here for now + } else { + //udi is invalid or is no battery + state=BAT_HAL_ERROR; + kdWarning() << "Warning: Battery::init cannot make use of udi " << udi << endl; + } + } + + initialized = true; + kdDebugFuncOut(trace); +} + +//! rechecks only minimalistic set properties +/*! +* Will only recheck properties regarding current battery states/levels. +*/ +void Battery::minRecheck() { + kdDebugFuncIn(trace); + + //first check whether HAL is available + if (!dbus_HAL->isConnectedToHAL() && !dbus_HAL->reconnect()) { + //grr... no luck + kdError() << "Battery::recheck couldn't connect to HAL" << endl; + kdDebugFuncOut(trace); + return; + } + + checkBatteryPresent(); + if (!present) { + kdDebug() << "No need to update other properties, battery not present." << endl; + kdDebugFuncOut(trace); + return; + } else { + checkCapacityState(); + checkChargeLevelCurrent(); + checkRemainingPercentage(); + checkChargingState(); + checkChargeLevelRate(); + checkRemainingTime(); + } + + kdDebugFuncOut(trace); +} + +//! recheck all properties of the battery +/*! + * Check and set the properties of a battery or collect the information for all + * primary batteries in one object. + */ +void Battery::recheck() { + kdDebugFuncIn(trace); + + //first check whether HAL is available + if (!dbus_HAL->isConnectedToHAL() && !dbus_HAL->reconnect()) { + //grr... no luck + kdError() << "Battery::recheck couldn't connect to HAL" << endl; + kdDebugFuncOut(trace); + return; + } + + checkBatteryPresent(); + checkBatteryType(); + if (!present) { + kdDebug() << "Warning: No need to update properties, battery not present." << endl; + kdDebugFuncOut(trace); + return; + } else { + checkBatteryTechnology(); + checkCapacityState(); + checkChargeLevelCurrent(); + checkChargeLevelLastfull(); + checkRemainingPercentage(); + checkChargingState(); + checkChargeLevelUnit(); + checkChargeLevelDesign(); + checkChargeLevelRate(); + checkRemainingTime(); + } + + kdDebugFuncOut(trace); +} + +// ---> query HAL for properties SECTION : START <---- + +//! to check battery.present +/*! + * function to update \ref present from property battery.present + * \return boolean with the result of the operation + * \retval true if the update was successfull + * \retval false if the update couldn't be applied + */ +bool Battery::checkBatteryPresent () { + kdDebugFuncIn(trace); + + bool _present = false; + + if (!dbus_HAL->isConnectedToHAL() && !dbus_HAL->reconnect()) { + kdError() << "Couldn't connect to HAL" << endl; + kdDebugFuncOut(trace); + return false; + } + + if (dbus_HAL->halGetPropertyBool(udi,"battery.present", &_present)) { + if (_present != present) { + present = _present; + + // force depending changes + if (_present) { + // should be now present + recheck(); + } + if (!_present) { + //Uhhh, battery is not present, so we need to reset battery to default. + initDefault(); + checkBatteryType(); + state = BAT_NONE; + } + + if (initialized) { + emit changedBatteryPresent(); + emit changedBattery(); + } + } + + // also query the serial ... no need to do this in a extra place + dbus_HAL->halGetPropertyString(udi, "battery.serial", &serial); + + } else { + //query was not successfull + kdDebug() << "Query of battery.present of " << udi << " wasn't successfull." << endl; + //..but we assume its there try on + present = true; + } + + kdDebugFuncOut(trace); + return true; +} + +//! to check battery.type +/*! + * function to update \ref type from property battery.type + * \return boolean with the result of the operation + * \retval true if the update was successfull + * \retval false if the update couldn't be applied + */ +bool Battery::checkBatteryType () { + kdDebugFuncIn(trace); + + QString tmp_qstring; + + if (!dbus_HAL->isConnectedToHAL() && !dbus_HAL->reconnect()) { + kdError() << "Couldn't connect to HAL" << endl; + kdDebugFuncOut(trace); + return false; + } + + if (dbus_HAL->halGetPropertyString(udi,"battery.type", &tmp_qstring)) { + if (tmp_qstring.compare("primary") == 0) { + type = BAT_PRIMARY; + } else if (tmp_qstring.compare("mouse") == 0) { + type = BAT_MOUSE; + } else if (tmp_qstring.compare("keyboard") == 0) { + type = BAT_KEYBOARD; + } else if (tmp_qstring.compare("keyboard_mouse") == 0) { + type = BAT_KEY_MOUSE; + } else if (tmp_qstring.compare("camera") == 0) { + type = BAT_CAMERA; + } else if (tmp_qstring.compare("ups") == 0) { + type = BAT_UPS; + } else { + //anything else will currently be "UNKNOWN" + type = BAT_UNKNOWN; + } + kdDebugFuncOut(trace); + return true; + } else { + //query was not successfull + kdWarning() << "Query of battery.type of " << udi << " was not successfull." << endl; + type = BAT_UNKNOWN; + kdDebugFuncOut(trace); + return false; + } +} + +//! to check battery.technology +/*! + * function to update \ref technology from property battery.technology + * \return boolean with the result of the operation + * \retval true if the update was successfull + * \retval false if the update couldn't be applied + */ +bool Battery::checkBatteryTechnology () { + kdDebugFuncIn(trace); + + QString tmp_qstring; + + if (!dbus_HAL->isConnectedToHAL() && !dbus_HAL->reconnect()) { + kdError() << "Couldn't connect to HAL" << endl; + kdDebugFuncOut(trace); + return false; + } + + if (!present) { + kdWarning() << "No need to update property, battery not present." << endl; + kdDebugFuncOut(trace); + return false; + } + + if (dbus_HAL->halGetPropertyString(udi,"battery.technology", &tmp_qstring)) { + if (!tmp_qstring.isEmpty()) { + technology = QString(tmp_qstring); + } else { + technology = QString("UNKNOWN"); + } + kdDebugFuncOut(trace); + return true; + } else { + //query was not successfull, but this property is optional + technology = QString("UNKNOWN"); + kdDebugFuncOut(trace); + return false; + } +} + + +//! to check battery.charge_level.capacity_state +/*! + * function to update \ref capacity_state from battery.charge_level.capacity_state + * \return boolean with the result of the operation + * \retval true if the update was successfull + * \retval false if the update couldn't be applied + */ +bool Battery::checkCapacityState () { + kdDebugFuncIn(trace); + + QString tmp_qstring; + + if (!dbus_HAL->isConnectedToHAL() && !dbus_HAL->reconnect()) { + kdError() << "Couldn't connect to HAL" << endl; + kdDebugFuncOut(trace); + return false; + } + + if (!present) { + kdWarning() << "No need to update property, battery not present." << endl; + kdDebugFuncOut(trace); + return false; + } + + if (dbus_HAL->halGetPropertyString(udi, "battery.charge_level.capacity_state", &tmp_qstring)) { + capacity_state = QString(tmp_qstring); + kdDebugFuncOut(trace); + return true; + } else { + //query was not successfull, but this property is optional + capacity_state = QString(); + kdDebugFuncOut(trace); + return false; + } +} + + +//! to check battery.charge_level.current +/*! + * function to update \ref charge_level_current from property battery.charge_level.current + * \return boolean with the result of the operation + * \retval true if the update was successfull + * \retval false if the update couldn't be applied + */ +bool Battery::checkChargeLevelCurrent () { + kdDebugFuncIn(trace); + + if (!dbus_HAL->isConnectedToHAL() && !dbus_HAL->reconnect()) { + kdError() << "Couldn't connect to HAL" << endl; + kdDebugFuncOut(trace); + return false; + } + + if (!present) { + kdWarning() << "No need to update property, battery not present." << endl; + kdDebugFuncOut(trace); + return false; + } + + if (dbus_HAL->halGetPropertyInt(udi, "battery.charge_level.current", &charge_level_current)) { + if (charge_level_current < 0) { + //overflow? + charge_level_current = 0; + } + kdDebugFuncOut(trace); + return true; + } else { + //query was not successfull (is mandatory) + kdError() << "Couldn't request charge_level.current for udi: " << udi << endl; + state = BAT_NONE; + kdDebugFuncOut(trace); + return false; + } +} + + +//! to check battery.charge_level.last_full +/*! + * function to update \ref charge_level_lastfull from property battery.charge_level.last_full + * \return boolean with the result of the operation + * \retval true if the update was successfull + * \retval false if the update couldn't be applied + */ +bool Battery::checkChargeLevelLastfull () { + kdDebugFuncIn(trace); + + if (!dbus_HAL->isConnectedToHAL() && !dbus_HAL->reconnect()) { + kdError() << "Couldn't connect to HAL" << endl; + kdDebugFuncOut(trace); + return false; + } + + if (!present) { + kdWarning() << "No need to update property, battery not present." << endl; + kdDebugFuncOut(trace); + return false; + } + + if (dbus_HAL->halGetPropertyInt(udi, "battery.charge_level.last_full", &charge_level_lastfull)) { + if (charge_level_lastfull < charge_level_current ) { + //possible overflow? + charge_level_lastfull = charge_level_current; + } + kdDebugFuncOut(trace); + return true; + } else { + //query was not successfull (is mandatory) + kdError() << "couldn't query last_full of udi: " << udi << endl; + charge_level_lastfull = 0; // set back to 0 + kdDebugFuncOut(trace); + return false; + } +} + +//! to check battery.charge_level.rate +/*! + * function to update \ref present_rate from property battery.charge_level.rate + * \return boolean with the result of the operation + * \retval true if the update was successfull + * \retval false if the update couldn't be applied + */ +bool Battery::checkChargeLevelRate () { + kdDebugFuncIn(trace); + + if (!dbus_HAL->isConnectedToHAL() && !dbus_HAL->reconnect()) { + kdError() << "Couldn't connect to HAL" << endl; + kdDebugFuncOut(trace); + return false; + } + + if (!present) { + kdWarning() << "No need to update property, battery not present." << endl; + kdDebugFuncOut(trace); + return false; + } + + int _rate = present_rate; + + if (dbus_HAL->halGetPropertyInt(udi, "battery.charge_level.rate", &present_rate)) { + if (present_rate < 0 ) + present_rate = 0; + + if (present_rate != _rate) + emit changedBattery(); + + kdDebugFuncOut(trace); + return true; + } else { + //query was not successfull but this is optional + kdError() << "Couldn't request charge_level.rate for udi: " << udi << endl; + present_rate = 0; + kdDebugFuncOut(trace); + return false; + } +} + + +//! to check battery.charge_level.unit +/*! + * function to update \ref charge_level_unit from property battery.charge_level.unit + * \return boolean with the result of the operation + * \retval true if the update was successfull + * \retval false if the update couldn't be applied + */ +bool Battery::checkChargeLevelUnit () { + kdDebugFuncOut(trace); + + if (!dbus_HAL->isConnectedToHAL() && !dbus_HAL->reconnect()) { + kdError() << "Couldn't connect to HAL" << endl; + kdDebugFuncOut(trace); + return false; + } + + if (!present) { + kdWarning() << "No need to update property, battery not present." << endl; + kdDebugFuncOut(trace); + return false; + } + + if (!dbus_HAL->halGetPropertyString(udi, "battery.charge_level.unit", &charge_level_unit)) { + //query was not successfull but this is optional + kdWarning() << "Couldn't request charge_level.unit for udi: " << udi << endl; + kdDebugFuncOut(trace); + return false; + } else { + kdDebugFuncOut(trace); + return true; + } +} + +//! to check battery.charge_level.design +/*! + * function to update \ref design_capacity from property battery.charge_level.design + * \return boolean with the result of the operation + * \retval true if the update was successfull + * \retval false if the update couldn't be applied + */ +bool Battery::checkChargeLevelDesign () { + kdDebugFuncIn(trace); + + if (!dbus_HAL->isConnectedToHAL() && !dbus_HAL->reconnect()) { + kdError() << "Couldn't connect to HAL" << endl; + kdDebugFuncOut(trace); + return false; + } + + if (!present) { + kdWarning() << "No need to update property, battery not present." << endl; + kdDebugFuncOut(trace); + return false; + } + + if (dbus_HAL->halGetPropertyInt(udi, "battery.charge_level.design", &design_capacity)) { + if (design_capacity < 0) + design_capacity = 0; + + kdDebugFuncOut(trace); + return true; + } else { + //query was not successfull (is mandatory but not critical) + kdWarning() << "Couldn't request charge_level.design for udi: " << udi << endl; + kdDebugFuncOut(trace); + return false; + } +} + + +//! to check battery.charge_level.percentage +/*! + * function to update \ref charge_level_percentage from property battery.charge_level.percentage + * \return boolean with the result of the operation + * \retval true if the update was successfull + * \retval false if the update couldn't be applied + */ +bool Battery::checkRemainingPercentage () { + kdDebugFuncIn(trace); + + bool ret = false; + int _val = 0; + int _state = -1; + + if (!dbus_HAL->isConnectedToHAL() && !dbus_HAL->reconnect()) { + kdError() << "Couldn't connect to HAL" << endl; + kdDebugFuncOut(trace); + return false; + } + + if (!present) { + kdWarning() << "No need to update property, battery not present." << endl; + kdDebugFuncOut(trace); + return false; + } + + if (dbus_HAL->halGetPropertyInt(udi, "battery.charge_level.percentage", &_val)) { + if (_val > 100) { + _val = 100; + } else if (_val < 0) { + _val = 0; + } + ret = true; + } else { + //query was not successfull, but this property is optional + //so we calculate it from charge_level + if (charge_level_current > 0) { + _val = (int)((float)(charge_level_current * 100) / (float)charge_level_lastfull); + ret = true; + } else { + kdError() << "Couldn't query percentage of udi: " << udi + << ". and charge_level_current >= 0" << endl; + } + } + + if (charge_level_percentage != _val) { + if (initialized) { + emit changedBatteryPercentage(); + emit changedBattery(); + } + charge_level_percentage = _val; + } + + //battery state + if (charge_level_percentage <= crit_level) { + //we are now in critical level + _state = BAT_CRIT; + } else if (charge_level_percentage <= low_level) { + //we are now in a low level + _state = BAT_LOW; + } else if (charge_level_percentage <= warn_level) { + //we are now in warning state + _state = BAT_WARN; + } else if (state != BAT_NONE) { + _state = BAT_NORM; + } else { + _state = BAT_NONE; + } + + if (state != _state) { + if (initialized) { + if (_state == (BAT_CRIT || BAT_LOW || BAT_WARN)) + emit changedBatteryWarnState(_state); + else if (state == (BAT_CRIT || BAT_LOW || BAT_WARN)) + emit changedBatteryWarnState(_state); + else + emit changedBatteryState(); + + emit changedBattery(); + } + state = _state; + } + + kdDebugFuncOut(trace); + return ret; +} + +//! to check battery.remaining_time +/*! + * function to update \ref remaining_minutes from property battery.remaining_time + * \return boolean with the result of the operation + * \retval true if the update was successfull + * \retval false if the update couldn't be applied + */ +bool Battery::checkRemainingTime () { + kdDebugFuncIn(trace); + + int _min = 0; + bool _ret = false; + + if (!dbus_HAL->isConnectedToHAL() && !dbus_HAL->reconnect()) { + kdError() << "Couldn't connect to HAL" << endl; + kdDebugFuncOut(trace); + return false; + } + + if (!present) { + kdWarning() << "No need to update property, battery not present." << endl; + kdDebugFuncOut(trace); + return false; + } + + if (dbus_HAL->halGetPropertyInt(udi, "battery.remaining_time", &_min)) { + _min /= 60; + _ret = true; + } else { + //query was not successfull, but this is optional + //and even very unlikely to be present + + //try to get it via charge_level_current and present_rate + if (charge_level_current > 0 && present_rate > 0) { + _min = ((charge_level_current * 60 )/ present_rate) ; + _ret = true; + } else { + //we don't know it better + _min = 0; + _ret = false; + } + } + + if (remaining_minutes != _min) { + if (initialized) { + emit changedBatteryTime(); + emit changedBattery(); + } + + remaining_minutes = _min; + } + + kdDebugFuncOut(trace); + return _ret; +} + +//! to check battery.rechargeable.is_* +/*! + * function to update \ref charging_state from property battery.rechargeable.is_* + * \return boolean with the result of the operation + * \retval true if the update was successfull + * \retval false if the update couldn't be applied + */ +bool Battery::checkChargingState () { + kdDebugFuncIn(trace); + + bool tmp_bool = false; + bool tmp_bool2 = false; + bool _ret = false; + int _c_state = -1; + + if (!dbus_HAL->isConnectedToHAL() && !dbus_HAL->reconnect()) { + kdError() << "Couldn't connect to HAL" << endl; + kdDebugFuncOut(trace); + return false; + } + + if (!present) { + kdWarning() << "No need to update property, battery not present." << endl; + kdDebugFuncOut(trace); + return false; + } + + if (dbus_HAL->halGetPropertyBool(udi, "battery.rechargeable.is_charging", &tmp_bool) && + dbus_HAL->halGetPropertyBool(udi, "battery.rechargeable.is_discharging", &tmp_bool2)) { + if (tmp_bool && !tmp_bool2) { + _c_state = CHARGING; + } else if (tmp_bool2 && !tmp_bool) { + _c_state = DISCHARGING; + } else { + _c_state = UNKNOWN_STATE; + } + + _ret = true; + } else { + kdError() << "Couldn't get current charging state for udi: " << udi << endl; + _c_state = UNKNOWN_STATE; + _ret = false; + } + + if (charging_state != _c_state) { + if (initialized) { + emit changedBatteryChargingState(); + emit changedBattery(); + } + + charging_state = _c_state; + } + + kdDebugFuncOut(trace); + return _ret; +} + +// ---> query HAL for properties SECTION : END <---- + +//! to recheck a special value for a HAL event +/*! + * Check for the given property new values from HAL and set them to + * the battery variables. + * \param _udi QString with the UDI of the device to recheck + * \param _property QString with the property which was changed + * \return boolean with the result of the operation + * \retval true if the update was successfull + * \retval false if the update couldn't be applied + */ +bool Battery::updateProperty(QString _udi, QString _property) { + kdDebugFuncIn(trace); + + //first check whether HAL is available + if (!dbus_HAL->isConnectedToHAL() && !dbus_HAL->reconnect()) { + //grr... no luck + kdError() << "Battery::updateProperty couldn't connect to HAL" << endl; + kdDebugFuncOut(trace); + return false; + } + + bool ret = true; + + if (udi.startsWith(_udi)) { + // handle different keys and update only the needed + if (_property.startsWith("battery.present")) { + if (!checkBatteryPresent()) ret = false; + } else if (_property.startsWith("battery.type")) { + if (!checkBatteryType()) ret = false; + } else if (_property.startsWith("battery.charge_level.capacity_state")) { + if (!checkCapacityState()) ret= false; + } else if (_property.startsWith("battery.charge_level.current")) { + if (!checkChargeLevelCurrent()) ret = false; + } else if (_property.startsWith("battery.charge_level.rate")) { + if (!checkChargeLevelRate()) ret = false; + } else if (_property.startsWith("battery.charge_level.percentage")) { + if (!checkRemainingPercentage()) ret = false; + } else if (_property.startsWith("battery.remaining_time")) { + if (!checkRemainingTime()) ret = false; + } else if (_property.startsWith("battery.rechargeable.is_")) { + if (!checkChargingState()) ret = false; + } else if (_property.startsWith("battery.charge_level.last_full")) { + if (!checkChargeLevelLastfull()) ret = false; + // --> changes on this keys should normally not happen except if battery was added /removed + } else if (_property.startsWith("battery.technology")) { + if (!checkBatteryTechnology()) ret = false; + } else if (_property.startsWith("battery.charge_level.unit")) { + if (!checkChargeLevelUnit()) ret = false; + } else if (_property.startsWith("battery.charge_level.design")) { + if (!checkChargeLevelDesign()) ret = false; + } else { + kdDebug() << "Unknown or unhandled device property: " << _property + << " for device with udi: " << _udi << endl; + ret = false; + } + } else { + kdError() << "Given UDI doesn't match the UDI of this battery object." << endl; + ret = false; + } + + kdDebugFuncOut(trace); + return ret; +} + +//! Resets the current HAL udi used by the one given +/*! +* The given QString will be (checked and) used as new HAL udi for the battery. +* But don't forget to do a recheck of the battery afterwards. +* \param _udi QString with the UDI to reset +* \return boolean with the result of the operation +* \retval true if reset was successfull +* \retval false if reset couldn't be applied +*/ +bool Battery::resetUdi(QString _udi) { + kdDebugFuncIn(trace); + + bool tmp_result=false; + + //trivial pre-check to eliminate totally dumb _udi strings + if (!_udi.isNull() && !_udi.isEmpty() && _udi.startsWith("/org/freedesktop/Hal/devices/")) { + + //ok, now lets ask HAL if its really a battery + if (dbus_HAL->isConnectedToHAL() || dbus_HAL->reconnect()) { + + dbus_HAL->halQueryCapability(_udi,"battery",&tmp_result); + + } else { + kdError() << "Battery::resetUdi couldn't connect to HAL" << endl; + } + + } else { + kdError() << "Battery::resetUdi received empty or invalid udi" << endl; + } + + kdDebugFuncOut(trace); + return tmp_result; +} + +// ---> write private members SECTION : START <---- + +//! sets the chargelevel in percent when battery should go into state warning +void Battery::setWarnLevel(int _warn_level) { + kdDebugFuncIn(trace); + + if (_warn_level < low_level) { + kdError() << "Refuse requested level: " << _warn_level + << " as it is smaller than the LowLevel: " << low_level << endl; + } else { + warn_level = _warn_level; + } + + kdDebugFuncOut(trace); +} + +//! sets the chargelevel in percent when battery should go into state low +void Battery::setLowLevel(int _low_level) { + kdDebugFuncIn(trace); + + if (_low_level < crit_level || _low_level > warn_level) { + kdError() << "Refuse requested level: " << _low_level + << " as it is not between WarnLevel: " << warn_level + << " and CritLevel: " << crit_level << endl; + } else { + low_level = _low_level; + } + + kdDebugFuncOut(trace); +} + +//! sets the chargelevel in percent when battery should go into state critical +void Battery::setCritLevel(int _crit_level) { + kdDebugFuncIn(trace); + + if (_crit_level > low_level) { + kdError() << "Refuse requested level: " << _crit_level + << " as it is bigger than LowLevel: " << low_level << endl; + } else { + crit_level = _crit_level; + } + + kdDebugFuncOut(trace); +} + +// ---> write private members SECTION : END <---- +// ---> get private members SECTION : START <---- + +//! reports the HAL udi of this battery +QString Battery::getUdi() const { + return QString(udi); +} + +//! reports the battery type +int Battery::getType() const { + return type; +} + +//! gives the name of this battery technology +QString Battery::getTechnology() const { + return QString(technology); +} + +//! tells the current batterystate as enum BAT_STATE_ +int Battery::getState() const { + return state; +} + +//! estimates the remaining minutes until fully charged/discharged +int Battery::getRemainingMinutes() const { + return remaining_minutes; +} + +//! current charging/discharging rate +int Battery::getPresentRate() const { + return present_rate; +} + +//! get availability of this battery +bool Battery::isPresent() { + return present; +} + +//! maximum capacity of this battery by design +int Battery::getDesignCapacity() const { + return design_capacity; +} + +//! current charging state as enum BAT_CHARG_STATE +int Battery::getChargingState() const { + return charging_state; +} + +//! reports the physical unit of values like DesignCapacity, PresentRate and Lastfull +QString Battery::getChargelevelUnit() const { + return QString(charge_level_unit); +} + +//! reports current chargelevel in percentage +int Battery::getPercentage() const { + return charge_level_percentage; +} + +//! reports last full capacity of this battery when fully charged +int Battery::getLastfull() const { + return charge_level_lastfull; +} + +//! reports current chargelevel in units reported by getChargelevelUnit() +int Battery::getCurrentLevel() const { + return charge_level_current; +} + +//! reports HAL capacity_state value +QString Battery::getCapacityState() const { + return QString(capacity_state); +} + +//! reports the chargelevel in percent when battery goes to state warning +int Battery::getWarnLevel() const { + return warn_level; +} + +//! reports the chargelevel in percent when battery goes to state low +int Battery::getLowLevel() const { + return low_level; +} + +//! reports the chargelevel in percent when battery goes to state critical +int Battery::getCritLevel() const { + return crit_level; +} + +//some convenience methods + +//! check if the battery is currently charged +bool Battery::isCharging() { + return (charging_state == CHARGING); +} + +//! check if the battery gets currently discharged +bool Battery::isDischarging() { + return (charging_state == DISCHARGING); +} + +//! check it this is a primary battery +bool Battery::isPrimary() const { + return (type == BAT_PRIMARY); +} + +//! check if the battery state is ok/normal +bool Battery::isOk() { + return (state == BAT_NORM); +} + +//! check if the battery is in warning level/state +bool Battery::isWarning() { + return (state == BAT_WARN); +} + +//! check if the battery is in a low chargingstate +bool Battery::isLow() { + return (state == BAT_LOW); +} + +//! check if the battery level is critical +bool Battery::isCritical() { + return (state == BAT_CRIT); +} + +// ---> get private members SECTION : START <---- + +#include "hardware_battery.moc" diff --git a/src/hardware_battery.h b/src/hardware_battery.h new file mode 100644 index 0000000..99a0bc0 --- /dev/null +++ b/src/hardware_battery.h @@ -0,0 +1,341 @@ + /************************************************************************** + * Copyright (C) 2006-2007 by Danny Kukawka * + * , * + * * + * This program is free software; you can redistribute it and/or modify * + * it under the terms of version 2 of the GNU General Public License * + * as published by the Free Software Foundation. * + * * + * This program is distributed in the hope that it will be useful, * + * but WITHOUT ANY WARRANTY; without even the implied warranty of * + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * + * GNU General Public License for more details. * + * * + * You should have received a copy of the GNU General Public License * + * along with this program; if not, write to the * + * Free Software Foundation, Inc., * + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. * + ***************************************************************************/ + + +/*! +* \file hardware_battery.h +* \brief Headerfile for hardware_battery.cpp and the class \ref Battery. +*/ +/*! +* \class Battery +* \brief class for Battery related funtionality +* \author Danny Kukawka, , +* \date 2006-2007 +*/ + +#ifndef _BATTERY_H_ +#define _BATTERY_H_ + +// Global Header +#ifdef HAVE_CONFIG_H +#include +#endif + +// QT - Header +#include +#include +#include + +#include "dbusHAL.h" + +class Battery : public QObject { + + Q_OBJECT + +private: + //! Internal reference to dbusHAL for communication with HAL daemon + dbusHAL* dbus_HAL; + + //! HAL udi of the battery to represent + /*! + * This QString holds the HAL udi adress of the battery. + * \li empty: all primary batteries are represented + * \li e.g. "/org/freedesktop/Hal/devices/acpi_BAT0": first acpi battery + */ + QString udi; + + //! Technologyname of the battery + /*! + * Tells the type of technologyname the battery is working with. + * \li e.g. "LION" + */ + QString technology; + //! Current charging state of this battery as reported by HAL + /*! + * This QString tells the current capacity_state HAL is reporting. + * \li as of current HAL spec: "ok", "critical" + */ + QString capacity_state; + //! Unit of charge_level_unit and charge_level_lastfull. + /*! This QString tells the physical unit the values of charge_level_unit. */ + QString charge_level_unit; + //! Serialnumber of the the battery + /*! Identifies the currently installed battery uniquely. */ + QString serial; + + //! Boolean which tells if the battery is initalized first time + /*! + * When the battery (represented by the object) is intialised the first time + * (via recheck() or init()) this value is true. + * \li true: if battery object is now intialised + * \li false: if not + */ + bool initialized; + //! Boolean which tells if the battery is present/connected + /*! + * When the battery (represented by the object) is available this is true. + * \li true: battery is available + * \li false: battery is disconnected/not available + */ + bool present; + + //! Roletype of battery + /*! + * This int/enum tells what role this battery is used as. + * \li BAT_PRIMARY: Std. battery for normal system operation + * \li BAT_MOUSE: powersupply for wireless mouse + * \li BAT_KEYBOARD: powersupply in wireless keyboards + * \li BAT_KEY_MOUSE: powersupply in combined keyboard+mouse gadgets + * \li BAT_UPS: Battery in UPS systems (step in on outage of mains) + * \li BAT_CAMERA: battery is contained in a connected digital camera + * \li UNKNOWN: Batterytype/role isn't known + */ + int type; + //! Current general state this battery is in + /*! + * This int/enum tells what rough state the battery is currently in. + * \li BAT_NORM: batterylevel is ok + * \li BAT_WARN: battery is soon getting low + * \li BAT_LOW: batterylevel is already low + * \li BAT_CRIT: batterylevel has become really critical + * \li BAT_NONE: battery state not available + * \li BAT_HAL_ERROR: battery state couldn't be retrieved because of a HAL error + */ + int state; + //! Current charging state of this battery + /*! + * This int/enum tells if the battery is charged or discharged. + * \li CHARGING: battery gets charged + * \li DISCHARGING: battery get discharged + * \li UNKNOWN_STATE: battery is neither charged nor discharged + */ + int charging_state; + //! Current level the battery is charged to + /*! + * This int tells (in physical units of Battery::charge_level_unit) + * at what charging level the battery is currently at + * \li a value >= 0 + */ + int charge_level_current; + //! Charging level of battery it could hold when fully charged + /*! + * This int tells (in physical units of Battery::charge_level_unit) the + * maximum charginglevel of the battery on its last fullcharge. + * \li a value >=0 + */ + int charge_level_lastfull; + //! Current charge level of battery in percentage + /*! + * This int tells the current charge level of the battery in percent. + * \li a value between 0 and 100 + */ + int charge_level_percentage; + //! The maximum capacity by design of the battery. + /*! + * This int tells (in physical units of Battery::charge_level_unit) + * the maximum capacity this battery was designed for by its vendor. + * \li a value > 0 + */ + int design_capacity; + //! Current charging/discharging rate + /*! + * This int tells (in physical units of Battery::charge_level_unit per + * second) the currently reported charging/discharging rate. + * \li a value >= 0 + */ + int present_rate; + //! Expected minutes unitl fully discharged/charged + /*! + * This int tells the current estimate until the battery is fully + * discharged/charged (with current discharging/charging-rate and last + * full capacity). + * \li a value >= 0 + */ + int remaining_minutes; + + //! charge_level in percent that will put battery into warning state + int warn_level; + //! charge_level in percent that will put battery into low state + int low_level; + //! charge_level in percent that will put battery into critical state + int crit_level; + + // private functions + //! function to set initial values for a battery + void initDefault(); + + //! to check battery.present + bool checkBatteryPresent(); + //! to check battery.type + bool checkBatteryType(); + //! to check battery.technology + bool checkBatteryTechnology(); + //! to check battery.charge_level.capacity_state + bool checkCapacityState(); + //! to check battery.charge_level.current + bool checkChargeLevelCurrent(); + //! to check battery.charge_level.last_full + bool checkChargeLevelLastfull(); + //! to check battery.charge_level.rate + bool checkChargeLevelRate(); + //! to check battery.charge_level.unit + bool checkChargeLevelUnit(); + //! to check battery.charge_level.design + bool checkChargeLevelDesign(); + //! to check battery.charge_level.percentage + bool checkRemainingPercentage(); + //! to check battery.remaining_time + bool checkRemainingTime(); + //! to check battery.rechargeable.is_* + bool checkChargingState(); + +signals: + //! emitted if the remaining percentage changed + void changedBatteryPercentage(); + //! emitted if the remaining time changed + void changedBatteryTime(); + //! emitted if the the present state changed + void changedBatteryPresent(); + //! emitted if the charging state changed + void changedBatteryChargingState(); + //! emitted if the battery state changed + void changedBatteryState(); + //! emitted if the Battery warning state changed + void changedBatteryWarnState (int state); + //! emitted if any Battery state changed + void changedBattery(); + +public: + + //! default constructor + Battery( dbusHAL* _dbus_HAL, QString _udi ); + //! default constructor + Battery( dbusHAL* _dbus_HAL ); + //! this constructor forces the use of init with dbuHAL pointer set! + Battery(); + //! default destructor + ~Battery(); + + //! initialize this battery object with values from HAL + void init( dbusHAL* _dbus_HAL = NULL ); + //! recheck all properties of the battery + void recheck(); + //! rechecks only minimalistic set properties + void minRecheck(); + //! update a property on HAL event + bool updateProperty(QString _udi, QString _property); + + //ro-Interface to internal data + //! reports the HAL udi of this battery + QString getUdi() const; + //! reports HAL capacity_state value + QString getCapacityState() const; + //! reports the physical unit of values like DesignCapacity, PresentRate and Lastfull + QString getChargelevelUnit() const; + //! gives the name of this battery technology + QString getTechnology() const; + + //! get availability of this battery + bool isPresent(); + + //! reports the battery type + int getType() const; + //! tells the current batterystate as enum BAT_STATE_ + int getState() const; + //! estimates the remaining minutes until fully charged/discharged + int getRemainingMinutes() const; + //! current charging/discharging rate + int getPresentRate() const; + //! maximum capacity of this battery by design + int getDesignCapacity() const; + //! current charging state as enum BAT_CHARG_STATE + int getChargingState() const; + //! reports current chargelevel in percentage + int getPercentage() const; + //! reports last full capacity of this battery when fully charged + int getLastfull() const; + //! reports current chargelevel in units reported by getChargelevelUnit() + int getCurrentLevel() const; + + //! reports the chargelevel in percent when battery goes to state warning + int getWarnLevel() const; + //! reports the chargelevel in percent when battery goes to state low + int getLowLevel() const; + //! reports the chargelevel in percent when battery goes to state critical + int getCritLevel() const; + + //writeable access to internals + //! Resets the current HAL udi used by the one given + /*! + * The given QString will be (checked and) used as new HAL udi for the battery. + * But don't forget to do a recheck of the battery afterwards. + * \li returns TRUE: if reset was successfull + * \li returns FALSE: if reset couldn't be applied + */ + bool resetUdi(QString); + + //! sets the chargelevel in percent when battery should go into state warning + void setWarnLevel(int _warn_level); + //! sets the chargelevel in percent when battery should go into state low + void setLowLevel(int _low_level); + //! sets the chargelevel in percent when battery should go into state critical + void setCritLevel(int _crit_level); + + //some convenience methods + //! check if the battery is currently charged + bool isCharging(); + //! check if the battery gets currently discharged + bool isDischarging(); + //! check it this is a primary battery + bool isPrimary() const; + //! check if the battery state is ok/normal + bool isOk(); + //! check if the battery is in warning level/state + bool isWarning(); + //! check if the battery is in a low chargingstate + bool isLow(); + //! check if the battery level is critical + bool isCritical(); +}; + + +enum BAT_TYPE { + BAT_PRIMARY, + BAT_MOUSE, + BAT_KEYBOARD, + BAT_KEY_MOUSE, + BAT_UPS, + BAT_CAMERA, + BAT_UNKNOWN +}; +enum BAT_CHARG_STATE { + CHARGING, + DISCHARGING, + UNKNOWN_STATE +}; +enum BAT_STATE { + BAT_NONE, + BAT_WARN, + BAT_LOW, + BAT_CRIT, + BAT_NORM, + BAT_HAL_ERROR +}; + +#endif diff --git a/src/hardware_batteryCollection.cpp b/src/hardware_batteryCollection.cpp new file mode 100644 index 0000000..a9b00e4 --- /dev/null +++ b/src/hardware_batteryCollection.cpp @@ -0,0 +1,340 @@ + /************************************************************************** + * Copyright (C) 2006-2007 by Danny Kukawka * + * , * + * * + * This program is free software; you can redistribute it and/or modify * + * it under the terms of version 2 of the GNU General Public License * + * as published by the Free Software Foundation. * + * * + * This program is distributed in the hope that it will be useful, * + * but WITHOUT ANY WARRANTY; without even the implied warranty of * + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * + * GNU General Public License for more details. * + * * + * You should have received a copy of the GNU General Public License * + * along with this program; if not, write to the * + * Free Software Foundation, Inc., * + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. * + ***************************************************************************/ + +/*! + * \file hardware_batteryCollection.cpp + * \brief In this file can be found the Battery Collection related code. + * \author Danny Kukawka, , + * \date 2006-2007 + */ + +// own headers +#include "hardware_batteryCollection.h" + +/*! The default constructor of the class BatteryCollection. */ +BatteryCollection::BatteryCollection( int _type ) { + kdDebugFuncIn(trace); + + initDefault(); + type = _type; + + kdDebugFuncOut(trace); +} + + +/*! The default destructor of the class BatteryCollection. */ +BatteryCollection::~BatteryCollection( ) { + kdDebugFuncIn(trace); + +} + +//! init a battery with default values +void BatteryCollection::initDefault() { + kdDebugFuncIn(trace); + + udis.clear(); + + present_rate_unit = "mWh"; + + charging_state = UNKNOWN_STATE; + state = BAT_NORM; + remaining_percent = -1; + remaining_minutes = -1; + present_rate = 0; + + warn_level = 12; + low_level = 7; + crit_level = 2; + + kdDebugFuncOut(trace); +} + +/*! + * This function refresh the information of the collection from the given + * batterylist. + * \param BatteryList QPtrList with battery objects + * \param force_level_recheck boolean with info if the the check for the current + * battery warning level should get forced + */ +bool BatteryCollection::refreshInfo(QPtrList BatteryList, bool force_level_recheck) { + kdDebugFuncIn(trace); + + int _charging_state = UNKNOWN_STATE; + int _percent = 0; + int _minutes = 0; + int _present_batteries = 0; + int _present_rate = 0; + + // for now: clean list before run update process! + udis.clear(); + + if (!BatteryList.isEmpty()) { + Battery *bat; + for (bat = BatteryList.first(); bat; bat = BatteryList.next() ) { + if (type == bat->getType()) { + udis.append(bat->getUdi()); + + if (bat->isPresent()) { + // count present batteries + _present_batteries++; + + // handle charging state + if (bat->getChargingState() != _charging_state) { + if (_charging_state == UNKNOWN_STATE) { + _charging_state = bat->getChargingState(); + } else if ( bat->getChargingState() == UNKNOWN_STATE) { + kdWarning() << "found battery with unknown state," + << " do nothing" << endl; + } else { + + if (_charging_state != bat->getChargingState()) { + // This should only happen if one is in + // state CHARGING and the other in DISCHARGING + kdWarning() << "Unexpected chargingstates" << endl; + _charging_state = UNKNOWN_STATE; + } + } + } + + // handle remaining percentage + if (bat->getPercentage() >= 0) { + _percent = (_percent + bat->getPercentage()) / _present_batteries; + } + + if (bat->getRemainingMinutes() >= 0) { + _minutes += bat->getRemainingMinutes(); + } + + if (bat->getPresentRate() >= 0) { + _present_rate += bat->getPresentRate(); + } + + if (!bat->getChargelevelUnit().isEmpty()) { + present_rate_unit = bat->getChargelevelUnit(); + } + } + } + } + + bool _changed = false; + + if (_charging_state != charging_state) { + charging_state = _charging_state; + _changed = true; + emit batteryChargingStateChanged (charging_state); + } + if (_percent != remaining_percent || force_level_recheck) { + remaining_percent = _percent; + + if (_present_batteries < 1) { + /* there are no batteries present, we don't need to emit + a event, there is nothing ... */ + state = BAT_NONE; + }else if (remaining_percent <= crit_level) { + if (state != BAT_CRIT) { + state = BAT_CRIT; + emit batteryWarnState( type, BAT_CRIT ); + } + } else if (remaining_percent <= low_level) { + if (state != BAT_LOW) { + state = BAT_LOW; + emit batteryWarnState( type, BAT_LOW ); + } + } else if (remaining_percent <= warn_level) { + if (state != BAT_WARN) { + state = BAT_WARN; + emit batteryWarnState( type, BAT_WARN ); + } + } else if (state != BAT_NONE) { + if (state != BAT_NORM) { + state = BAT_NORM; + emit batteryWarnState( type, BAT_NORM ); + } + } else { + state = BAT_NONE; + } + + _changed = true; + emit batteryPercentageChanged (remaining_percent ); + } + if (_minutes != remaining_minutes) { + remaining_minutes = _minutes; + _changed = true; + emit batteryMinutesChanged( remaining_minutes ); + } + if (_present_batteries != present_batteries) { + present_batteries = _present_batteries; + _changed = true; + emit batteryPresentChanged ( present_batteries ); + } + if (_present_rate != present_rate ) { + present_rate = _present_rate; + // don't set to changed, this avoid useless calls + emit batteryRateChanged (); + } + + if (_changed) + emit batteryChanged(); + + kdDebugFuncOut(trace); + return true; + } else { + kdError() << "Could not refresh battery information, BatteryList was empty" << endl; + initDefault(); + kdDebugFuncOut(trace); + return false; + } +} + +//! check if the given udi is already handled by this collection +bool BatteryCollection::isBatteryHandled( QString udi ) { + return udis.contains( udi ); +} + +// ---> write private members SECTION : START <---- +//! get the unit for charge level stuff +QString BatteryCollection::getChargeLevelUnit() const { + return present_rate_unit; +} + +//! get the current reported battery rate +int BatteryCollection::getCurrentRate() const { + return present_rate; +} + +//! get the cumulative remaining time +int BatteryCollection::getRemainingMinutes() const { + return remaining_minutes; +} + +//! get the cumulative remaining percentage of the battery capacity +int BatteryCollection::getRemainingPercent() const { + return remaining_percent; +} + +//! get the current Charging state of the machine +int BatteryCollection::getChargingState() const { + return charging_state; +} + +//! get the current battery state for this collection +int BatteryCollection::getBatteryState() const { + return state; +} + +//! get the number of available batteries +int BatteryCollection::getNumBatteries() const { + return udis.count(); +} + +//! get the number of present batteries, represent \ref present_batteries +int BatteryCollection::getNumPresentBatteries() const { + return present_batteries; +} + +//! get the battery Type from enum \ref BAT_TYPE +int BatteryCollection::getBatteryType() const { + return type; +} + +//! sets the chargelevel in percent when battery should go into state warning +/*! + * \return boolean with result of the operation + * \retval true if successful + * \retval false else, if a error occurs + */ +bool BatteryCollection::setWarnLevel(int _warn_level) { + kdDebugFuncIn(trace); + + if (_warn_level < low_level) { + kdError() << "Refuse: " << _warn_level + << " as it is smaller than the LowLevel: " << low_level << endl; + kdDebugFuncOut(trace); + return false; + } else { + warn_level = _warn_level; + kdDebugFuncOut(trace); + return true; + } +} + +//! sets the chargelevel in percent when battery should go into state low +/*! + * \return boolean with result of the operation + * \retval true if successful + * \retval false else, if a error occurs + */ +bool BatteryCollection::setLowLevel(int _low_level) { + kdDebugFuncIn(trace); + + if (_low_level < crit_level || _low_level > warn_level) { + kdError() << "Refuses: " << _low_level + << " as it is not between WarnLevel: " << warn_level + << " and CritLevel: " << crit_level << endl; + kdDebugFuncOut(trace); + return false; + } else { + low_level = _low_level; + kdDebugFuncOut(trace); + return true; + } +} + +//! sets the chargelevel in percent when battery should go into state critical +/*! + * \return boolean with result of the operation + * \retval true if successful + * \retval false else, if a error occurs + */ +bool BatteryCollection::setCritLevel(int _crit_level) { + kdDebugFuncIn(trace); + + if (_crit_level > low_level) { + kdError() << "Refuses " << _crit_level + << " as it is bigger than LowLevel: " << low_level << endl; + kdDebugFuncOut(trace); + return false; + } else { + crit_level = _crit_level; + kdDebugFuncOut(trace); + return true; + } +} + +// ---> write private members SECTION : END <---- +// ---> get private members SECTION : START <---- + +//! reports the chargelevel in percent when battery goes to state warning +int BatteryCollection::getWarnLevel() const { + return warn_level; +} + +//! reports the chargelevel in percent when battery goes to state low +int BatteryCollection::getLowLevel() const { + return low_level; +} + +//! reports the chargelevel in percent when battery goes to state critical +int BatteryCollection::getCritLevel() const { + return crit_level; +} + +// ---> get private members SECTION : END <---- + +#include "hardware_batteryCollection.moc" diff --git a/src/hardware_batteryCollection.h b/src/hardware_batteryCollection.h new file mode 100644 index 0000000..9b98952 --- /dev/null +++ b/src/hardware_batteryCollection.h @@ -0,0 +1,204 @@ + /************************************************************************** + * Copyright (C) 2006-2007 by Danny Kukawka * + * , * + * * + * This program is free software; you can redistribute it and/or modify * + * it under the terms of version 2 of the GNU General Public License * + * as published by the Free Software Foundation. * + * * + * This program is distributed in the hope that it will be useful, * + * but WITHOUT ANY WARRANTY; without even the implied warranty of * + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * + * GNU General Public License for more details. * + * * + * You should have received a copy of the GNU General Public License * + * along with this program; if not, write to the * + * Free Software Foundation, Inc., * + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. * + ***************************************************************************/ + +/*! +* \file hardware_batteryCollection.h +* \brief Headerfile for hardware_batteryCollection.cpp and the class \ref BatteryCollection. +*/ +/*! +* \class BatteryCollection +* \brief class to collect batteryinformation for a special type of battries +* \author Danny Kukawka, , +* \date 2006-2007 +*/ + +#ifndef _BATTERYCOLLECTION_H_ +#define _BATTERYCOLLECTION_H_ + +// Global Header +#ifdef HAVE_CONFIG_H +#include +#endif + +// QT - Header +#include +#include +#include + +// own Header +#include "hardware_battery.h" + +class BatteryCollection : public QObject { + + Q_OBJECT + +private: + + //! contains the udis of the batteries of this collection + QStringList udis; + + //! contains the rate unit + QString present_rate_unit; + + //! Roletype of battery + /*! + * This int/enum tells what role this battery is used as. + * \li BAT_PRIMARY: Std. battery for normal system operation + * \li BAT_MOUSE: powersupply for wireless mouse + * \li BAT_KEYBOARD: powersupply in wireless keyboards + * \li BAT_KEY_MOUSE: powersupply in combined keyboard+mouse gadgets + * \li BAT_UPS: Battery in UPS systems (step in on outage of mains) + * \li BAT_CAMERA: battery is contained in a connected digital camera + * \li UNKNOWN: Batterytype/role isn't known + */ + int type; + //! Current charging state of the active battery of this collection + /*! + * This int/enum tells if the battery is charged or discharged. + * \li CHARGING: battery gets charged + * \li DISCHARGING: battery get discharged + * \li UNKNOWN_STATE: battery is neither charged nor discharged + */ + int charging_state; + //! Current general state this battery is in + /*! + * This int/enum tells what rough state the battery is currently in. + * \li BAT_NORM: batterylevel is ok + * \li BAT_WARN: battery is soon getting low + * \li BAT_LOW: batterylevel is already low + * \li BAT_CRIT: batterylevel has become really critical + * \li BAT_NONE: battery state not available + * \li BAT_HAL_ERROR: battery state couldn't be retrieved because of a HAL error + */ + int state; + + //! Current charge level of battery in percentage + /*! + * This int tells the current charge level of the battery in percent. + * \li a value between 0 and 100 + */ + int remaining_percent; + //! Expected minutes unitl fully discharged/charged + /*! + * This int tells the current estimate until the battery is fully + * discharged/charged (with current discharging/charging-rate and last + * full capacity). + * \li a value >= 0 + */ + int remaining_minutes; + + //! number of present batteries + /*! + * This int tells how many batteries of this type are really present. + * This mean only batteries and not battery slots/bays. + * \li a value >= 0 + */ + int present_batteries; + + //! number of present batteries + /*! + * This int tells the current rate of the batteries + * \li a value >= 0 + */ + int present_rate; + + //! charge_level in percent that will put battery into warning state + int warn_level; + //! charge_level in percent that will put battery into low state + int low_level; + //! charge_level in percent that will put battery into critical state + int crit_level; + + //! init the battery collection with a default value + void initDefault(); + +signals: + + //! emitted if we switch to a warning state + /*! + * The first int tell the battery type and the second which warning state we reached: + * \li BAT_NORM: batterylevel is ok ... only emitted if we return form BAT_WARN + * \li BAT_WARN: battery is soon getting low + * \li BAT_LOW: batterylevel is already low + * \li BAT_CRIT: batterylevel has become really critical + */ + void batteryWarnState (int type, int state); + //! emitted if the charging state changed + void batteryChargingStateChanged (int changing_state); + //! emitted if the remainig percentage changed + void batteryPercentageChanged (int percent); + //! emitted if the remainig minutes changed + void batteryMinutesChanged (int minutes ); + //! emitted if the number of present batteries changed + void batteryPresentChanged (int num ); + //! emitted if the present rate changed + void batteryRateChanged (); + //! emitted if any Battery state changed + void batteryChanged(); + +public: + //! default constructor + BatteryCollection( int type ); + //! default destructor + ~BatteryCollection(); + + // functions + //! refresh the information of the collection from the given batterylist + bool refreshInfo(QPtrList BatteryList, bool force_level_recheck = false); + //! check if this collection already handle a special battery/udi + bool isBatteryHandled(QString udi); + + // get internals + //! get the unit for charge level stuff + QString getChargeLevelUnit() const; + + //! get the cumulative remaining time + int getRemainingMinutes() const; + //! get the cumulative remaining percentage of the battery capacity + int getRemainingPercent() const; + //! get the current Charging state of the machine + int getChargingState() const; + //! get the current battery state + int getBatteryState() const; + //! get the number of available batteries + int getNumBatteries() const; + //! get the number of present batteries + int getNumPresentBatteries() const; + //! get the battery Type from enum \ref BAT_TYPE + int getBatteryType() const; + //! get the current battery rate + int getCurrentRate() const; + + //! reports the chargelevel in percent when battery goes to state warning + int getWarnLevel() const; + //! reports the chargelevel in percent when battery goes to state low + int getLowLevel() const; + //! reports the chargelevel in percent when battery goes to state critical + int getCritLevel() const; + + //! sets the chargelevel in percent when battery should go into state warning + bool setWarnLevel(int _warn_level); + //! sets the chargelevel in percent when battery should go into state low + bool setLowLevel(int _low_level); + //! sets the chargelevel in percent when battery should go into state critical + bool setCritLevel(int _crit_level); + +}; + +#endif diff --git a/src/hardware_cpu.cpp b/src/hardware_cpu.cpp new file mode 100644 index 0000000..c05e3ec --- /dev/null +++ b/src/hardware_cpu.cpp @@ -0,0 +1,312 @@ + /************************************************************************** + * Copyright (C) 2006 by Daniel Gollub * + * * + * Danny Kukawka * + * , * + * * + * This program is free software; you can redistribute it and/or modify * + * it under the terms of version 2 of the GNU General Public License * + * as published by the Free Software Foundation. * + * * + * This program is distributed in the hope that it will be useful, * + * but WITHOUT ANY WARRANTY; without even the implied warranty of * + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * + * GNU General Public License for more details. * + * * + * You should have received a copy of the GNU General Public License * + * along with this program; if not, write to the * + * Free Software Foundation, Inc., * + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. * + ***************************************************************************/ + +/*! + * \file hardware_cpu.cpp + * \brief In this file can be found the CPU information related code. + * \author Danny Kukawka, , + * \author Daniel Gollub, + * \author + * \date 2006 + */ + +// include own header +#include "hardware_cpu.h" +#include "hardware_cpu.moc" + +// QT Header +#include +#include + +// system header +#include + +/*! The default constructor of the class CPUInfo */ +CPUInfo::CPUInfo() { + kdDebugFuncIn(trace); + + update_info_cpufreq_speed_changed = true; + numOfCPUs = -1; + + kdDebugFuncOut(trace); +} + +/*! The default desctuctor of the class CPUInfo */ +CPUInfo::~CPUInfo() { + kdDebugFuncIn(trace); +} + +/*! + * This function counts all online/offline CPUS. + * Returns the total count of CPUs - _not_ the last CPU ID! + */ +int CPUInfo::getCPUNum() { + kdDebugFuncIn(trace); + + int cpu_id=0; + QDir tmp_dir; + QString cpu_path = "/sys/devices/system/cpu/cpu0/"; +#ifdef FAKE_CPU + cpu_path.prepend("/tmp/foo"); +#endif + + // let check if we support cpufreq in general + if (tmp_dir.exists(tmp_dir.absFilePath(cpu_path + "cpufreq/scaling_cur_freq", true))) { + cpuFreqHW = true; + } else { + cpuFreqHW = false; + } + + QString tmp_path = tmp_dir.absFilePath(cpu_path, true); + + while (tmp_dir.exists(tmp_path)) { + int tmp = cpu_id; + + cpu_id++; + cpu_path.replace(QString::number(tmp), QString::number(cpu_id)); + tmp_path = tmp_dir.absFilePath(cpu_path, true); + } + + kdDebug() << "getCPUNum() return: '" << cpu_id << "'" << endl; + kdDebugFuncOut(trace); + return cpu_id; +} + +/*! + * The function checks the current CPU Speed. The current cpu speed needs to be read out from + * sysfs and currently not be obtained through the daemon. If the CPUFreg changed the new value + * is set to \ref cpufreq_speed . + * \return Information if something changed or if there are errors as an interger value + * \retval -1 if there are error by reading from /sys/.. + * \retval 0 if nothing changed + * \retval 1 if something changed + */ +int CPUInfo::checkCPUSpeed(){ + kdDebugFuncOut(trace); + + bool speed_changed = false; + int new_value = -1; + int fd; + char buf[15]; + QString cpu_device = "/sys/devices/system/cpu/cpu0/cpufreq/scaling_cur_freq"; +#ifdef FAKE_CPU + cpu_device.prepend("/tmp/foo"); +#endif + + // first check path for the kernel on-demand-govenour then + // for the use userspace case + update_info_cpufreq_speed_changed = false; + cpufreq_speed.clear(); + + if (numOfCPUs == -1) + numOfCPUs = getCPUNum(); + + for (int cpu_id=0; cpu_id < numOfCPUs; cpu_id++) { + + new_value = -1; + + fd = open(cpu_device, O_RDONLY); + if (read(fd, buf, 14) > 0){ + new_value = strtol(buf, NULL, 10)/1000; + close(fd); + } + else{ + close(fd); + speed_changed = true; + // CPU disabeld -> set Freq to -1 + cpufreq_speed.append(-1); + } + + if (new_value != cpufreq_speed[cpu_id]) { + speed_changed = true; + cpufreq_speed.append(new_value); + } + + cpu_device.replace(QString::number(cpu_id), QString::number(cpu_id+1)); + } + + if (speed_changed) { + update_info_cpufreq_speed_changed = true; + kdDebugFuncOut(trace); + return 1; + } + + kdDebugFuncOut(trace); + return 0; +} + +/*! + * The function checks the Speed of throttling CPU(s). The cpu speed needs to be read out from + * /proc/cpuinfo. + * \return Success or error while reading /proc/cpuinfo + * \retval 0 successful + * \retval -1 reading problem + */ +int CPUInfo::checkCPUSpeedThrottling() { + kdDebugFuncOut(trace); + + QString cpu_file = "/proc/cpuinfo"; +#ifdef FAKE_CPU + cpu_file.prepend("/tmp/foo"); +#endif + QFile cpu_info(cpu_file); + + // clear cpufreq list + cpufreq_speed.clear(); + + if ( !cpu_info.open(IO_ReadOnly) ) { + cpu_info.close(); + kdDebugFuncOut(trace); + return -1; + } + + QTextStream stream( &cpu_info ); + QString line; + + while ( !stream.atEnd() ) { + line = stream.readLine(); + + if (line.startsWith("cpu MHz : ")) { + line.remove("cpu MHz : "); + line = line.remove(line.length() - 4, 4); + cpufreq_speed.append(line.toInt()); + } + } + + while ((int) cpufreq_speed.count() < numOfCPUs) { + cpufreq_speed.append(-1); + } + + cpu_info.close(); + kdDebugFuncOut(trace); + return 0; +} + +/*! + * The function gets the current throttling state of the CPU(s). The throttling state needs to be + * read out from /proc/acpi/processor/CPUX/throttling. + * \return boolean with info if throttling is supported + * \retval true if throttling is supported + * \retval false if not supported or on any other error + */ +bool CPUInfo::getCPUThrottlingState() { + kdDebugFuncIn(trace); + + int id = 0; + QFileInfo *fi; + QString cpu_dirname; + QString dir_acpi_processor = "/proc/acpi/processor/"; +#ifdef FAKE_CPU + dir_acpi_processor.prepend("/tmp/foo"); +#endif + + QDir d_throttling(dir_acpi_processor); + if (!d_throttling.exists()) { + kdDebugFuncOut(trace); + return false; + } + + d_throttling.setFilter( QDir::Dirs ); + d_throttling.setNameFilter("CPU*"); + + const QFileInfoList *list = d_throttling.entryInfoList(); + QFileInfoListIterator it( *list ); + + // clear throttling value list + cpu_throttling.clear(); + + while ((fi = it.current()) != 0 ) { + cpu_dirname = fi->fileName(); + + QString throttling_device = d_throttling.absPath(); + throttling_device.append("/").append(cpu_dirname).append("/throttling"); + + kdDebug() << "Throttling state file for CPU" << id << " will be: " << throttling_device << endl; + + QFile throttling(throttling_device); + + // open throttling state file + if ( throttling.open(IO_ReadOnly) ) { + QTextStream stream( &throttling ); + QString line; + + do { + line = stream.readLine(); + } while (!line.startsWith(" *T") && !stream.atEnd() ); + + if (line.startsWith(" *T")) { + line = line.right(3); + line.remove("%"); + cpu_throttling.append(line.toInt()); + kdDebug () << "CPU " << id + << ": cpu_throttling is set to: " << cpu_throttling[id] << endl; + } else { + cpu_throttling.append(0); + } + } + + throttling.close(); + ++it; // next entry + id++; // count cpu id + } + + kdDebugFuncOut(trace); + return true; +} + +/*! + * The function gets the Max CPU Speed. The max cpu speed needs to be read out from + * sysfs and currently not be obtained through the daemon. + */ +void CPUInfo::getCPUMaxSpeed() { + kdDebugFuncIn(trace); + + int fd; + int maxfreq; + char buf[15]; + QString cpu_device_max = "/sys/devices/system/cpu/cpu0/cpufreq/cpuinfo_max_freq"; +#ifdef FAKE_CPU + cpu_device_max.prepend("/tmp/foo"); +#endif + + cpufreq_max_speed.clear(); + + if (numOfCPUs == -1) + numOfCPUs = getCPUNum(); + +// while (!access(cpu_device_max, R_OK)) { + for (int cpu_id=0; cpu_id < numOfCPUs; cpu_id++) { + + fd = open(cpu_device_max, O_RDONLY); + if (read(fd, buf, 14) > 0){ + maxfreq = strtol(buf, NULL, 10)/1000; + cpufreq_max_speed.append(maxfreq); + close(fd); + } else { + cpufreq_max_speed.append(-1); + close(fd); + } + + cpu_device_max.replace(QString::number(cpu_id), QString::number(cpu_id+1)); + } + + kdDebugFuncOut(trace); +} diff --git a/src/hardware_cpu.h b/src/hardware_cpu.h new file mode 100644 index 0000000..0c41237 --- /dev/null +++ b/src/hardware_cpu.h @@ -0,0 +1,115 @@ + /************************************************************************** + * Copyright (C) 2006 by Daniel Gollub * + * * + * Danny Kukawka * + * , * + * * + * This program is free software; you can redistribute it and/or modify * + * it under the terms of version 2 of the GNU General Public License * + * as published by the Free Software Foundation. * + * * + * This program is distributed in the hope that it will be useful, * + * but WITHOUT ANY WARRANTY; without even the implied warranty of * + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * + * GNU General Public License for more details. * + * * + * You should have received a copy of the GNU General Public License * + * along with this program; if not, write to the * + * Free Software Foundation, Inc., * + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. * + ***************************************************************************/ + +/*! +* \file hardware_cpu.h +* \brief Headerfile for hardware_cpu.cpp and the class \ref CPUInfo. +*/ +/*! +* \class CPUInfo +* \brief class for CPU information related funtionality +* \author Danny Kukawka, , +* \date 2006 +*/ + +#ifndef _HARDWARE_CPU_H_ +#define _HARDWARE_CPU_H_ + +// Global Header +#ifdef HAVE_CONFIG_H +#include +#endif + +// QT Headers +#include +#include +#include + +// own headers +#include "kpowersave_debug.h" + +class CPUInfo : public QObject{ + + Q_OBJECT + +private: + + //! Integer with the numbers of CPUs in the system + /*! This contains the number of CPUs in the current system */ + int numOfCPUs; + +public: + + //! represent the current Throttling of the CPU + /*! + * This interge value represent the current throttling step of the CPU in percent + * \li a value >= 0 in % + */ + QValueList cpu_throttling; + + //! represent the current CPU speeds + /*! + * This integer value represent the current speed/frequency of the CPUs in Mhz + * \li a value > 0 in Mhz + */ + QValueList cpufreq_speed; + + //! represent the max. CPU speeds + /*! + * This integer value represent the max speed/frequency of the CPUs in Mhz + * \li a value > 0 in Mhz + */ + QValueList cpufreq_max_speed; + + //! if the machine support change CPU Freq in general + /*! + * This boolean represent information if the machine support change the + * CPU freqency in general vi sysfs + * \li true: if supported + * \li false: else + */ + bool cpuFreqHW; + //! tells if the CPUFreq Speed changed + /*! + * This boolean represent information about CPUFreq Speed changes. + * \li true: if something changed + * \li false: if nothing changed (or this is reset to false if the message was consumed) + */ + bool update_info_cpufreq_speed_changed; + + // --> functions + //! default constructor + CPUInfo(); + //! default destructor + ~CPUInfo(); + + //! checks the current CPU Speed from sysfs + int checkCPUSpeed(); + //! checks the Speed of throttling CPUs from /proc/cpuinfo + int checkCPUSpeedThrottling(); + //! read the current throttling state of the CPUs from /proc/acpi/processor/CPUX/throttling + bool getCPUThrottlingState(); + //! read the max speed of the CPUs + void getCPUMaxSpeed(); + //! counts the total number of CPUs + int getCPUNum(); +}; +#endif diff --git a/src/hi16-app-kpowersave.png b/src/hi16-app-kpowersave.png new file mode 100644 index 0000000000000000000000000000000000000000..19ec2a729192c5c9f7424e4b94ee0f71a9310a41 GIT binary patch literal 921 zcmV;K17`e*P)w$TNJZ#VVyHx=N(>APNQeOzC<7Y{8!W6y zT`5SYP%?pph%7*@6D3OXXlU)coW?mje%#sDyTi?bPzB%cebetJed0?PX-51XMy6+G zQm>v*A6l;bTRwl7|8=&oyjS_!gq!?N#CNZsEe(DAY1&TYh$oU1A8oU-R>anKx&QMm z=c{jTeO`CD!GA;=zBrOfPYk1PRk-_mfz|a@s`@tleHxe3K`AJ>swh4N1||_gdPbo5 zrMw$a-ejT~qxNT*&Zb4Dyi2F_7xVY`IdFyh%G9+p!nT^lVqx(af#cdp;T3#s6Y~!2 zE=U|i6VwN@G~RfP4~DXtp_fkoa{Grnd%!7R|6c-0f&H>gzWEmJd*`SrQKUo~#}lR9 z34*E0B`i6cUF(-6@3fFS-v}Z85$wB{C_id*pj}|#>{UFr%i}{qqYmX36v|Mq8k`TM zL^KpVRX2|f#;Ghzke)|jkj8@uE0U@sj85CDzaDYLc6G4;G}9Xm^&a7 zYB3aZi1{^QkzRVVcce>KF5Z}%yZ7$;x<0?SSo%WQDin+px~^&A7?t`CAD!NzFXBP< z1~{mtX|{c60R=4xid6634Fjo2C?ux0wt6STuqZcD1IwFg_;6r_PAs zOpZV>iR$mgb!t2=mw2%8kd@U<*4H-OVsYCnl~(@{{X$^7F558WgG?I&y`lJ6Hj}$N zIe8*IHu|Ec-Y{5LSanub9@KYsHkWk0{F7}regt=349YS{5+%z*1#HEO`J@8~)#K@z v4u#@xJB}T$Rx7iPW84PTKy(ogj?>|9VAOB)93dz600000NkvXXu0mjfNC2wM literal 0 HcmV?d00001 diff --git a/src/hi32-app-kpowersave.png b/src/hi32-app-kpowersave.png new file mode 100644 index 0000000000000000000000000000000000000000..b7c15a6d89b1d3c66f763456b6ed02849e4323da GIT binary patch literal 2299 zcmVp{MY6le*OoU;)yx@NRs~0rqk4@+}`4!AALmi;_tNUH*Tza zX!7?VyaKHLR{+0)Z;m~2=+*KI&!!ZJ--%?^6cL^lWYO`B%Nz-ew# zFmJQ={@?ihyB}1qnEp$^pZJ_oo}Y@n_R!0}oH+9AkBFzo`NyTJD1jsb`*hk}G_6Ow z)uYwwP}`~DsbNM=pC@_x0%!WQSPxRnjpuy*moSB|1g%p{_@;XRRnkcbTZP6Ch zYTdrDNl!QF>IVAIAdyR>stSIm#$47WlVk!o2`B)`KDKM)c|#(q%gJ(rX=|Ot<+sUfeZta*S814106`d#qR}+x&V85p`M+Qo z&4U31u7{*tX7c<+yjB70T9%TP#~!3`y)c38;hQFOI|TI_PDOw=G!~XSto2-E00`po z5zd}{j%YN6?>ij41Cj)O1l$#Z*bTf8_zf9vF@duf!P=A<+BO4oh+$X^0B00|EemLyykUVZO0 zhV=x|FU^wr)-+RvQ63dx$y5?WjxrQM9c{>#CUK=EQPpKS1BKh&5VP?P-#!+mT%JC% zyiEB(0ES<{4&sEP9o~E+&tm6Ue)jVp<2eI1s$D8QxLSwSx{T>47OzY6#Zq9w==NPaZCX!^t_@HZDC7Ko9aPSwG|vca*OFFBHjP*sbyB1sf$Hb~+X% zQwoun6(kAz7U=fgX$W`vQ0=k%Tf<6F(`CxVd^{S>9u)ww2hD*hW6}3#X_~)b;_#ci z^X}`kn=QhT5??-p0%) zk$4b*3<&xmp4TT|IECxFRBJVovdzMdk2Zv!uxZ0kIPlqhEw6nFf1M9lSa+z_hx9Z< z0N8A3vKY=3qod*Q3MT3cu6f#t%`fdE8+2w#Au8U%s{ z$pwV*cjDf`CXQLa|t4XQx6Y?9w0DbccHYK>(Xw zc>M;nO^|%RclYf<;DYB+?W*{)LOx$AC`x4d-c^?*nQ%D8?CdkU1<2f^d_G6DRwuCg zIF?7dzZc%VIk|39xoCA`3l}n<- zDe-E~;<`gb_?;QJ`!ysINgUU~&^5A(#f^r?TWhe^*~{qL;JN`K^iBsn@6IV`ceDuU zbcAenYzj!LYJ@|Fz9_0rAhv`3@cRM8k!6{BtHXHA ztr7~yk<|UE{QXW?Zq+r5ezE?o&ZrpgcSq; zM523zjATbiXX+%A>tgj1$#duOk8f;r9=~$s==Up?kH4pGUb}X2`i(cf6MpeUJkLW4 zhe@PUY**@tET$%9(y1ijSR6r&B!_4;GgK-ngMo~yf*2d(iM=x#L4D$>-OI*1@06X(m*>1zOC2~4U0oLdRW!rIb^{F4 zpr>`ksqaE&(hgbSbV?H4Qb;EQGRXn5)WUVD;=fx|s_U$+-sJlAMHUu5WqEmt_4S4b z4`JIA)a!PCb@kF^2|z-uEqvn;T$oCy9}=xA`hJk@T6Rn-l%>L%$K=Cv$JFVmGTCg3 zXjF755f$ytl1%4Bu!1!dkiFh+r43!9l<{k|`rD;S0&h-l7I{_1{5X8D=^~2XVavPj1*_e<-?DjIPvfoW@ct`V`EtXp%9Bj1W*ji8j9*Z z3+;5YbG_YOUDEZPML?J}pa~cf_m=|5`vwRBrBEn(I+YrIa%Se_ z`Qyh=JyI?gJa20Rw0N8sKsO{Tr(u VXX1MYn1KKQ002ovPDHLkV1m;HS@r+` literal 0 HcmV?d00001 diff --git a/src/hi48-app-kpowersave.png b/src/hi48-app-kpowersave.png new file mode 100644 index 0000000000000000000000000000000000000000..9cc30066b1fe0b2e94617859228a62e8e2b7b53a GIT binary patch literal 3974 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, * + * * + * This program is free software; you can redistribute it and/or modify * + * it under the terms of version 2 of the GNU General Public License * + * as published by the Free Software Foundation. * + * * + * This program is distributed in the hope that it will be useful, * + * but WITHOUT ANY WARRANTY; without even the implied warranty of * + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * + * GNU General Public License for more details. * + * * + * You should have received a copy of the GNU General Public License * + * along with this program; if not, write to the * + * Free Software Foundation, Inc., * + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. * + ***************************************************************************/ + +/*! \file inactivity.cpp + * \brief In this file can be found the inactivity related code. + * \author Danny Kukawka, , + * \date 2006-2007 + */ + +// own header +#include "inactivity.h" + +/* needed for lXext C library linkage */ +extern "C" { + #include + #include + #include +} + +// KDE Headers +#include + +/*! The default constructor of the class autosuspend */ +inactivity::inactivity() { + kdDebugFuncIn(trace); + + proc = NULL; + + timeToInactivity = 0; + blacklisted_running_last = 0; + + pidof_call_failed = false; + pidof_call_started = false; + pidof_call_returned = false; + blacklisted_running = false; + + int dummy = 0; + has_XSC_Extension = XScreenSaverQueryExtension( qt_xdisplay(), &dummy, &dummy ); + + checkInactivity = new QTimer( this ); + connect( checkInactivity, SIGNAL(timeout()), this, SLOT(check())); + + kdDebugFuncOut(trace); +} + +/*! The default destructor of the class autosuspend */ +inactivity::~inactivity() { + kdDebugFuncIn(trace); + + delete proc; + proc = NULL; + + kdDebugFuncOut(trace); +} + +/*! + * This function start the monitoring of inactivity of user on the X-Server. + * Here wee set the time for the signal \ref inactivityTimeExpired() and start + * the needed QTimer. + * \param timeToExpire Integer value representing the time of inactivity which need + * to elapse befor send signal. The time is in seconds. + * \param blacked QStringList with blacklisted programs which if detected with + * pidof() as running prevent the autosuspend. + */ +void inactivity::start( int timeToExpire, QStringList blacked ) { + kdDebugFuncIn(trace); + + blacklist = blacked; + + if(timeToExpire > 0 && has_XSC_Extension){ + stop(); + timeToInactivity = (unsigned long) (timeToExpire * 1000); + checkInactivity->start(CHECK_for_INACTIVITY, true); + } + + kdDebugFuncOut(trace); +} + +/*! + * \b SLOT to call check as recheck inactivity if befor a running PID + * request was detected. + */ +void inactivity::recheck() { + kdDebugFuncIn(trace); + + check(true); + + kdDebugFuncOut(trace); +} + +/*! + * \b SLOT to call check without a recheck. + */ +void inactivity::check() { + check(false); +} + +/*! + * \b SLOT to check the current idle-time of the X-Server and if there + * are blacklisted programs are running. If the through \ref timeToInactivity + * defined time is expired, this function emit signal \ref inactivityTimeExpired() . + * \param recheck boolean which define if this is a recheck or not. + * \li true, if this is a recheck. In this case we didn't call + * \ref checkBlacklisted() again + * \li false, if this is normal check + */ +void inactivity::check( bool recheck ) { + kdDebugFuncIn(trace); + + if (timeToInactivity > 0) { + checkXInactivity(); + if (!pidof_call_started && !recheck) checkBlacklisted(); + + if( idleTime < blacklisted_running_last ) { + blacklisted_running_last = idleTime; + } + + if((idleTime - blacklisted_running_last ) >= timeToInactivity) { + if (!pidof_call_started) { + if (( pidof_call_returned && !blacklisted_running ) || + ( pidof_call_returned && pidof_call_failed )) { + emit inactivityTimeExpired(); + } + else { + checkInactivity->start(CHECK_for_INACTIVITY, true); + } + } + else { + //called if there is a getPIDs() is running + QTimer::singleShot(500, this, SLOT(recheck())); + } + } + else checkInactivity->start(CHECK_for_INACTIVITY, true); + } else { + kdWarning() << "timeToInactivity <= 0, stoped autosuspend checks!" << endl; + } + + kdDebugFuncOut(trace); +} + +/*! + * This function stop the monitoring and reset all variables and Timer. + */ +void inactivity::stop() { + kdDebugFuncIn(trace); + + if (checkInactivity->isActive()) checkInactivity->stop(); + timeToInactivity = 0; + idleTime = 0; + blacklisted_running_last = 0; + + pidof_call_failed = false; + pidof_call_started = false; + pidof_call_returned = false; + blacklisted_running = false; + + kdDebugFuncOut(trace); +} + +/*! + * This function query the idle-time of user-imput from the X-Server and set + * the return value to \ref idleTime. + */ +void inactivity::checkXInactivity(){ + kdDebugFuncIn(trace); + + idleTime = getXInactivity(); + kdDebug() << "autosuspend::checkXInactivity - idleTime: " << idleTime << endl; + + kdDebugFuncOut(trace); +} + +/*! + * This function query the idle-time of user-imput from the X-Server and + * return the current idle-time. + */ +unsigned long inactivity::getXInactivity(){ + kdDebugFuncIn(trace); + + if(has_XSC_Extension) { + static XScreenSaverInfo* mitInfo = 0; + if (!mitInfo) mitInfo = XScreenSaverAllocInfo (); + XScreenSaverQueryInfo (qt_xdisplay(), DefaultRootWindow (qt_xdisplay()), mitInfo); + kdDebugFuncOut(trace); + return workaroundCreepyXServer(mitInfo->idle); + } + else { + kdDebugFuncOut(trace); + return 0; + } + +} + +/*! + * This function workaround a fucking XServer idleTime bug in the + * XScreenSaverExtension, if dpms is running. In this case always the + * current dpms-state time is extracted from the current idletime. + * This mean: XScreenSaverInfo->idle is not the time since the last + * user activity, as descriped in the header file of the extension. + * This result in SUSE bug # and sf.net bug # + * + * Workaround: check if if XServer is in a dpms state, check the + * current timeout for this state and add this value to + * the current idle time and return. + * + * \param _idleTime a unsigned long value with the current ideletime fromm + * XScreenSaverInfo->idle + * \return a unsigned long with the corrected idletime + */ +unsigned long inactivity::workaroundCreepyXServer( unsigned long _idleTime ){ + kdDebugFuncOut(trace); + + int dummy; + CARD16 standby, suspend, off; + CARD16 state; + BOOL onoff; + + Display *dpy = qt_xdisplay(); + + kdDebug() << "Current idleTime: " << _idleTime << endl; + + if (DPMSQueryExtension(dpy, &dummy, &dummy)) { + if (DPMSCapable(dpy)) { + DPMSGetTimeouts(dpy, &standby, &suspend, &off); + DPMSInfo(dpy, &state, &onoff); + + if (onoff) { + switch (state) { + case DPMSModeStandby: + kdDebug() << "DPMS enabled. Monitor in Standby. Standby: " + << standby << " sec" << endl; + // this check is a littlebit paranoid, but be sure + if (_idleTime < (unsigned) (standby * 1000)) + _idleTime += (standby * 1000); + break; + case DPMSModeSuspend: + kdDebug() << "DPMS enabled. Monitor in Suspend. Suspend: " + << suspend << " sec" << endl; + if (_idleTime < (unsigned) ((suspend + standby) * 1000)) + _idleTime += ((suspend + standby) * 1000); + break; + case DPMSModeOff: + kdDebug() << "DPMS enabled. Monitor is Off. Off: " + << off << " sec" << endl; + if (_idleTime < (unsigned) ((off + suspend + standby) * 1000)) + _idleTime += ((off + suspend + standby) * 1000); + break; + case DPMSModeOn: + default: + break; + } + } + } + } + + kdDebug() << "Corrected idleTime: " << _idleTime << endl; + kdDebugFuncOut(trace); + return _idleTime; +} + +/*! + * This funtion starts the monitoring of blacklisted processes. + */ +void inactivity::checkBlacklisted(){ + kdDebugFuncIn(trace); + + if (proc != NULL) { + delete proc; + proc = NULL; + } + + proc = new KProcess; + *proc << "pidof" << blacklist; + + connect( proc, SIGNAL(receivedStdout(KProcess *, char *, int)),this, + SLOT(getPIDs(KProcess *, char *, int))); + connect( proc, SIGNAL(processExited(KProcess *)), + SLOT(getPIDsExited(KProcess *))); + + if (!proc->start(KProcess::NotifyOnExit, KProcess::AllOutput)) + { + emit displayErrorMsg(i18n("Could not start 'pidof'. " + "Could not autosuspend the machine.\n" + "Please check your installation.")); + } + + pidof_call_started = true; + pidof_call_returned = false; + pidof_call_failed = false; + + kdDebugFuncOut(trace); +} + + +/*! + * \b SLOT to get the return of the command pidof and parse this to set + * \ref blacklisted_running . + * \param *proc pointer to the sending KProcess + * \param *buffer the char pointer to the output of the process to stdout + * \param *lenght the length of the buffer + */ +void inactivity::getPIDs(KProcess */*proc*/, char *buffer, int /*lenght*/) { + kdDebugFuncIn(trace); + + QString pids(buffer); + pids.remove(" "); + if(pids.isEmpty() || pids == "\n" ) { + kdDebug() << "NO! BLACKLISTED IS RUNNING" << endl; + blacklisted_running = false; + } + else { + if (pids.contains(QRegExp::QRegExp("[0-9]"))) { + kdDebug() << "BLACKLISTED IS RUNNING" << endl; + blacklisted_running = true; + blacklisted_running_last = idleTime; + } + else { + kdError() << "GET BLACKLISTED FAILED - WRONG RETURN" << endl; + blacklisted_running = false; + pidof_call_failed = true; + } + } + + kdDebugFuncOut(trace); +} + + +/*! + * \b SLOT which called if the call of pidof is exited + * \param proc the KPocess which called this SLOT + */ +void inactivity::getPIDsExited(KProcess *proc){ + kdDebugFuncIn(trace); + + pidof_call_returned = true; + pidof_call_started = false; + + + if (proc->normalExit()){ + // if returned some pids or if pid returned nothing + if (proc->exitStatus() == 1 || proc->exitStatus() == 0){ + pidof_call_failed = false; + kdDebugFuncOut(trace); + return; + } + } + // if something crashed/failed + pidof_call_failed = true; + kdDebugFuncOut(trace); +} + +#include "inactivity.moc" diff --git a/src/inactivity.h b/src/inactivity.h new file mode 100644 index 0000000..d3fb979 --- /dev/null +++ b/src/inactivity.h @@ -0,0 +1,170 @@ + /************************************************************************** + * Copyright (C) 2006 by Danny Kukawka * + * , * + * * + * This program is free software; you can redistribute it and/or modify * + * it under the terms of version 2 of the GNU General Public License * + * as published by the Free Software Foundation. * + * * + * This program is distributed in the hope that it will be useful, * + * but WITHOUT ANY WARRANTY; without even the implied warranty of * + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * + * GNU General Public License for more details. * + * * + * You should have received a copy of the GNU General Public License * + * along with this program; if not, write to the * + * Free Software Foundation, Inc., * + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. * + ***************************************************************************/ + +#ifndef _INACTIVITY_H_ +#define _INACTIVITY_H_ + +/* this is needed to avoid typedef clash with X11 + */ +#ifndef QT_CLEAN_NAMESPACE +#define QT_CLEAN_NAMESPACE +#endif + +// KDE Header +#include + +// QT Header +#include +#include +#include +#include +#include + +// X11 Header +#include +#include +#include +#include + +// from project +#include "kpowersave_debug.h" + +/*! +* \file inactivity.h +* \brief Headerfile for inactivity.cpp and the class \ref inactivity. +*/ +/*! +* \class inactivity +* \brief class for detect inactivity related funtionality +* \author Danny Kukawka, , +* \date 2006 +*/ + +class inactivity : public QWidget +{ + Q_OBJECT + +public: + //! default constructor + inactivity(); + //! default destructor + ~inactivity(); + + //! to start the monitoring of the X-Server + void start(int, QStringList); + //! to stop the monitoring of the X-Server + void stop(); + + //! to get the current user inactivity + unsigned long getXInactivity(); + +signals: + + //! signal emited if the with \ref start() set time of inactivity is expired + void inactivityTimeExpired(); + //! signal to emit error msg + void displayErrorMsg( QString ); + +private: + + //! pointer to the process to call pidof + KProcess *proc; + + //! about the call result of pidof + /*! + * This boolean tells if call of the command pidof failed. + * \li true: if failed + * \li false: if not + */ + bool pidof_call_failed; + //! about the call of command pidof + /*! + * This boolean tells if the call of the command pidof was started or if + * the command is running + * \li true: if is started/running + * \li false: if not + */ + bool pidof_call_started; + //! if pidof return value is recieved + /*! + * This boolean tells if the call of the command pidof returned and the + * returnvalue was parsed to set \ref blacklisted_running + * \li true: if returned and parsed + * \li false: if not + */ + bool pidof_call_returned; + //! if a blacklisted program/process is running + /*! + * This boolean tells if a blacklisted program/process is currently running. + * \li true: if a blacklisted program/process is running + * \li false: if not + */ + bool blacklisted_running; + + //! QStringList with blacklisted programs for autosuspend + QStringList blacklist; + + //! time which must expire befor emit signal for autosuspend + unsigned long timeToInactivity; + //! time of inactivity from the last check + unsigned long idleTime; + //! time of inactivity from the last check + unsigned long blacklisted_running_last; + //! if the XServer-has XScreenSaverExtension + int has_XSC_Extension; + + //! QTimer intervall for the \ref checkInactivity Timer + /*! + * The time intervall to check for the current status and time of + * userinactivity. The timeslice is currently 30 sec. + */ + static const int CHECK_for_INACTIVITY = 30000; + + //! QTimer for check inactivity + /*! + * This timer is used to check the currently status and time of + * userinactivity on the X-Server. The timerinterval is defined trough + * \ref CHECK_for_INACTIVITY . + */ + QTimer *checkInactivity; + + // -------- FUNCTIONS ------------ + + //! to check the user-inactivity on the XServer + void checkXInactivity(); + //! to check for running blacklisted programs + void checkBlacklisted(); + //! to monitor the values + void check( bool recheck ); + //! to workaround a strange behavior of the XScreenSaver extension + unsigned long workaroundCreepyXServer( unsigned long ); + +private slots: + + //! to monitor the values + void check(); + //! to monitor the values + void recheck(); + //! to get the PIDs of blacklisted programs/processes + void getPIDs(KProcess *, char *, int); + //! to get the signal if the command call is exited + void getPIDsExited(KProcess *); +}; + +#endif diff --git a/src/info_Dialog.ui b/src/info_Dialog.ui new file mode 100644 index 0000000..43e1479 --- /dev/null +++ b/src/info_Dialog.ui @@ -0,0 +1,217 @@ + +info_Dialog + + + info_Dialog + + + + 0 + 0 + 459 + 131 + + + + Information + + + + unnamed + + + + buttonOK + + + + 90 + 0 + + + + OK + + + + + + + + spacer3 + + + Horizontal + + + Expanding + + + + 171 + 21 + + + + + + spacer2 + + + Horizontal + + + Expanding + + + + 151 + 21 + + + + + + iconPixmap + + + + 32 + 32 + + + + + 32 + 32 + + + + image0 + + + false + + + + + msgText + + + + 370 + 50 + + + + + + + WordBreak|AlignTop + + + + + spacer6 + + + Horizontal + + + Fixed + + + + 10 + 20 + + + + + + spacer6_2 + + + Horizontal + + + Fixed + + + + 10 + 20 + + + + + + spacer1 + + + Horizontal + + + Fixed + + + + 61 + 21 + + + + + + dontShowAgain + + + + 330 + 0 + + + + + + + + + + + + spacer4 + + + Horizontal + + + Fixed + + + + 31 + 21 + + + + + + + + 789c8593c9721a311086ef3cc5947573a5dacc303043a57230b6f1beef4ee530128bc1069bcd5b2aef9e5f52b702d855410cf0a9b7bf5b626d35ba39398c56d74a936931ed99c8dc17e368b5351b0cde7ffefaf1bbb4922411de59354a56be9556681c994895ddcbf12c70eeb8c19cb27d12d8d955c7711efc47cc6ca7a970ece2559739e77c3781bdff85b0f7a71d66c3fecf81bdff8be7b8ccfe75cb71b96c98ef3cc7a27f37b08fbf1266ff3eb3e879779c076e0ab3ff03b3e88985d95eb69cd42b329f4761b6f798a57ed572250efcc12cf56acc92ffd2732af932c775b03f9f4238f1f637cb699c72bc3281bdbe7bcbd5a456653e715c04ce99eb5c6f10d8db9f84b9de3a738bede7c2deae7cbd228bd99e58ae2562a7d47316b37f8bb9caac1c17b9c46f0973fc2db3e8df6716fd1b96b34a883f6516ff0ab3f4776839d745c1f98f2cd7d3c07b81eb8ebbcc6dd64b9e75c2fe078e8d663b5d5b2e52dde67a9bc21cdff36c12d63f0cecfd5bc29c6f9bb9c6f74f0973bc0eecedafc21c7fc65c707c4798ef4fdbb191fa4a0b73fc31b3d433817d3e89977a0533e73f9d06ce3d93a282d4fcb73ccbfbbedf85a5977861f9fa4bb93496a116b53fd798cbdfe1dc5dbaa71ef5e9811e69005aa839af1f11437aa2671ad1982678a634a317c4bc7ea95fc3fbcd79cee81d153e5063e2f80d96aff4af5303b9fbb4419bd0afd1c11635113d428d3658f46fb3ee1df8efd21ee77aa57d3aa043c48fa1f1888e17f41b3a419e199d22dad019f6cee9822e5169cbf5f3f4497f0fbb57748daeb79d36eb7543b788b8c3aff2d27c0ce637418c71bfd7e16975af439546e7638ad14d27e4b7937cc0ee87d36dbdc7e8654c899b5b0f99faf6f4e6f2b7713a53ecb6a802dd13e4f64f0a3d764655d273fa35340fb03b41779b5443fe017237dcca506744f9bff9b8b32d30cf3a229a98e0266ad83b94baf3b027b6a3e8d3fd39c644ed79f695822a5bf34015dc47e6e2b717ee8f565a19d7a93de30f74d9740a6d8d866a7dca8fa5dad0fd8c8899bf71aa8333cfe0ddc5ccf457f71f73eae22c7b98f73b6632806ef4a1eedd348ba5fbc97da81e3e87f018867d7916ef7f31f75feab86f1df6cd57faffbf56fe7c2ffd0519fbee77 + + + + + buttonOK + clicked() + info_Dialog + ButtonOK_clicked() + + + + ButtonOK_clicked() + + + diff --git a/src/infodialog.cpp b/src/infodialog.cpp new file mode 100644 index 0000000..74b3891 --- /dev/null +++ b/src/infodialog.cpp @@ -0,0 +1,120 @@ +/*************************************************************************** + * Copyright (C) 2005 by Danny Kukawka * + * danny.kukawka@web.de, dkukawka@suse.de * + * * + * This program is free software; you can redistribute it and/or modify * + * it under the terms of version 2 of the GNU General Public License * + * as published by the Free Software Foundation. * + * * + * This program is distributed in the hope that it will be useful, * + * but WITHOUT ANY WARRANTY; without even the implied warranty of * + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * + * GNU General Public License for more details. * + * * + * You should have received a copy of the GNU General Public License * + * along with this program; if not, write to the * + * Free Software Foundation, Inc., * + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. * + ***************************************************************************/ + +/*! + * \file infodialog.cpp + * \brief In this file can be found the "information dialog with checkbox" + * related code. + * \author Danny Kukawka, , + * \date 2005 + */ + +// own headers +#include "infodialog.h" + +// KDE headers: +#include +#include + +// QT headers: +#include +#include +#include +#include +#include +#include + +/*! This is the default constructor of class infoDialog . */ +infoDialog::infoDialog( KConfig *config, QString captionName, QString message, + QString dontShowAgainMsg, QString settingsEntryName, + QWidget *parent, const char *name) + :info_Dialog( parent, name, false, Qt::WStyle_StaysOnTop | WDestructiveClose ) +{ + if ( message.isEmpty() || (!dontShowAgainMsg.isEmpty() && settingsEntryName.isEmpty()) || + (!dontShowAgainMsg.isEmpty() && (config == 0))) + close(); + + if (config != 0) { + settings = config; + settings->reparseConfiguration(); + if (settings->hasGroup("infoDialog")){ + settings->setGroup("infoDialog"); + if (settings->readBoolEntry(settingsEntryName, false)) { + dialogDisabled = true; + //close(); + } + else + dialogDisabled = false; + } + } + + buttonOK->setIconSet(SmallIconSet("ok", QIconSet::Automatic)); + + QPixmap pixmap = 0; + pixmap = KGlobal::iconLoader()->loadIcon("messagebox_warning", KIcon::NoGroup, KIcon::SizeMedium); + iconPixmap->setPixmap( pixmap ); + + msgText->setText(message); + + if (!captionName.isEmpty()) + this->setCaption(i18n("KPowersave") + " - " + captionName); + else + this->setCaption(i18n("KPowersave")); + + if (dontShowAgainMsg.isEmpty()) { + dontShowAgain->setHidden(true); + } else { + entryName = settingsEntryName; + dontShowAgain->setText(dontShowAgainMsg); + dontShowAgain->setHidden(false); + } + this->adjustSize(); +} + +/*! This is the default destructor of class infoDialog . */ +infoDialog::~infoDialog() +{ + // no need to delete child widgets, Qt does it all for us +} + +/*! + * Use this function to get the value of \ref dialogDisabled. + * \return boolean with value of \ref dialogDisabled + * \retval true if disabled by user before + * \retval false if not + */ +bool infoDialog::dialogIsDisabled() { + return dialogDisabled; +} + +/*! + * SLOT: called if the 'ok' button clicked. This SLOT sync the settings + * and close the dialog. + */ +void infoDialog::ButtonOK_clicked() { + + if (!entryName.isEmpty() && dontShowAgain->isVisible()) { + settings->setGroup( "infoDialog" ); + settings->writeEntry( entryName, dontShowAgain->isChecked()); + settings->sync(); + } + close(); +} + +#include "infodialog.moc" diff --git a/src/infodialog.h b/src/infodialog.h new file mode 100644 index 0000000..7d419dd --- /dev/null +++ b/src/infodialog.h @@ -0,0 +1,80 @@ +/*************************************************************************** + * Copyright (C) 2005 by Danny Kukawka * + * danny.kukawka@web.de, dkukawka@suse.de * + * * + * This program is free software; you can redistribute it and/or modify * + * it under the terms of version 2 of the GNU General Public License * + * as published by the Free Software Foundation. * + * * + * This program is distributed in the hope that it will be useful, * + * but WITHOUT ANY WARRANTY; without even the implied warranty of * + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * + * GNU General Public License for more details. * + * * + * You should have received a copy of the GNU General Public License * + * along with this program; if not, write to the * + * Free Software Foundation, Inc., * + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. * + ***************************************************************************/ + +/*! +* \file infodialog.h +* \brief Headerfile for infoDialog.cpp and the class \ref infoDialog . +*/ +/*! +* \class infoDialog +* \brief class for information dialog with checkbox (e.g. for DontShowAgain) +* \author Danny Kukawka, , +* \date 2005 +*/ + +#ifndef INFODIALOG_H +#define INFODIALOG_H + +#include + +#include "info_Dialog.h" + +class infoDialog: public info_Dialog { + + Q_OBJECT + +public: + + //! default constructor + infoDialog( KConfig *config = 0, QString captionName = QString(), QString message = QString(), + QString dontShowAgainMsg = QString(), QString settingsEntryName = QString(), + QWidget *parent = 0, const char *name = 0); + //! default destructor + ~infoDialog(); + + //! return the value of dialogDisabled + bool dialogIsDisabled(); + +private: + + //! the pointer to the settings of kpowersave, get from constructor + KConfig *settings; + + //! name of the entry in the settings + /*! QString store the name of the settings entry to + * store settings of 'DontShowAgain' checkbox + */ + QString entryName; + + //! represent if the dialog is disabled by user + /*! + * This boolean tell if the dialog is already disabled by user settings + * \li true: if dialog is disabled + * \li false: if not + */ + bool dialogDisabled; + +private slots: + + //! called if the 'ok' button clicked + void ButtonOK_clicked(); + +}; + +#endif diff --git a/src/kpowersave-autostart.desktop b/src/kpowersave-autostart.desktop new file mode 100644 index 0000000..3409cbc --- /dev/null +++ b/src/kpowersave-autostart.desktop @@ -0,0 +1,68 @@ +[Desktop Entry] +Encoding=UTF-8 +Name=kpowersave +Name[xx]=xxkpowersavexx +Name[de]=KPowersave +Name[es]=KPowersave +Name[fr]=KPowersave +Name[it]=KPowersave +Name[ja]=KPowersave +Name[pt_BR]=KPowersave +Name[ru]=KPowersave +Name[sv]=KPowersave +Name[zh_CN]=KPowersave +Name[zh_TW]=KPowersave +GenericName=Battery Monitor +Exec=kpowersave +Icon=kpowersave +Type=Application +Comment=Battery monitor and general power management +Comment[bg]=Монитор за батериÑта и оÑновно управление на енергиÑта +GenericName[bg]=Монитор за батериÑта +Comment[cs]=Sledování stavu baterií a správa napájení +GenericName[cs]=Monitor baterie +GenericName[de]=Akkuüberwachung +Comment[de]=Akkuüberwachung und allgemeine Energieverwaltung +GenericName[el]=ΠαÏακολοÏθηση ΜπαταÏίας +GenericName[es]=Monitor de carga de la batería +Comment[es]=Monitor de batería y gestión general de la energía +Comment[fi]=Akkumonitori ja yleinen virranhallinta +GenericName[fi]=Akkumonitori +Comment[fr]=Moniteur de batterie et gestion de l'alimentation +GenericName[fr]=Moniteur de batterie +GenericName[hu]=AkkumulátorfigyelÅ‘ +Comment[it]=Monitor della batteria e gestione generale dell'alimentazione +GenericName[it]=Monitor della batteria +Comment[km]=កមមវធ<200b>ážážšážáž–áž“ážáž™<200b>ážáž˜ áž“áž„ គរបគរង<200b>ážáž¶áž˜áž–áž›<200b>ទទៅ +GenericName[km]=កមមវធ<200b>ážážšážáž–áž“ážáž™<200b>ážáž˜ +Comment[nb]=BatteriovervÃ¥king og generell strømstyring +GenericName[nb]=BatteriovervÃ¥ker +GenericName[nl]=Batterijmonitor +GenericName[ja]=ãƒãƒƒãƒ†ãƒªãƒ¢ãƒ‹ã‚¿ +Comment[ja]=ãƒãƒƒãƒ†ãƒªãƒ¢ãƒ‹ã‚¿ã¨ä¸€èˆ¬é›»æºç®¡ç† +Name[pa]=ਕ-ਊਰਜਾ ਸਭਾਲ +GenericName[pa]=ਬਟਰੀ ਦਰਸ਼ਕ +Comment[pl]=Monitor stanu baterii i ogólne zarzÄ…dzanie energiÄ… +GenericName[pl]=Monitor baterii +Comment[pt]=Monitor de bateria e gestor global de energia +GenericName[pt]=Monitor de Bateria +Comment[pt_BR]=Monitor de Bateria e Gerenciamento de Energia Geral +GenericName[pt_BR]=Monitor de Bateria +GenericName[ru]=Монитор Батареи +Comment[ru]=Монитор батареи и управление ÑнергоÑбережением +GenericName[sv]=Batteriövervakare +GenericName[tr]=Pil durumu izleme ve güç yönetimi arayüzü +Comment[tr]=Pil durumu izleme ve güç yönetimi arayüzü +Comment[uk]=Монітор Ñтану батареї Ñ– загальне ÐºÐµÑ€ÑƒÐ²Ð°Ð½Ð½Ñ Ð¶Ð¸Ð²Ð»ÐµÐ½Ð½Ñм +GenericName[uk]=Монітор батарей +Comment[xx]=xxBattery monitor and general power managementxx +GenericName[zh_CN]=电池监视器 +Comment[zh_CN]=电池监视器和常规电æºç®¡ç† +GenericName[zh_TW]=電池監視器 +Comment[zh_TW]=電池監視器和一般電æºç®¡ç† +X-KDE-autostart-after=panel +X-KDE-StartupNotify=false +X-KDE-UniqueApplet=true +X-KDE-autostart-condition=kpowersaverc:General:Autostart:true +Categories=System;Applet; + diff --git a/src/kpowersave.cpp b/src/kpowersave.cpp new file mode 100644 index 0000000..ab6c088 --- /dev/null +++ b/src/kpowersave.cpp @@ -0,0 +1,2753 @@ + /************************************************************************** + * Copyright (C) 2004 by Thomas Renninger * + * and * + * 2004-2007 by Danny Kukawka * + * , * + * * + * This program is free software; you can redistribute it and/or modify * + * it under the terms of version 2 of the GNU General Public License * + * as published by the Free Software Foundation. * + * * + * This program is distributed in the hope that it will be useful, * + * but WITHOUT ANY WARRANTY; without even the implied warranty of * + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * + * GNU General Public License for more details. * + * * + * You should have received a copy of the GNU General Public License * + * along with this program; if not, write to the * + * Free Software Foundation, Inc., * + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. * + ***************************************************************************/ + +// KDE headers: +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +// other Qt headers: +#include +#include +#include +#include +#include +#include +#include + +// own headers: +#include "kpowersave.h" +#include "infodialog.h" + +/*! +* \file kpowersave.cpp +* \brief This file contains the main functionality of the kpowersave-applet.*/ + +/*! + * This is the default constructor of the class kpowersave. + */ +kpowersave::kpowersave( bool force_acpi_check, bool trace_func ) : KSystemTray(0, "kpowersave"), + DCOPObject("KPowersaveIface") { + trace = trace_func; + kdDebugFuncIn(trace); + + display = new screen(); + settings = new Settings(); + autoSuspend = new autosuspend(); + autoDimm = new autodimm(); + hwinfo = new HardwareInfo(); + suspend = hwinfo->getSuspendSupport(); + + yast2 = NULL; + + resume_result = 0; + + config = KGlobal::config(); + config->setGroup("General"); + if(!config->readBoolEntry("AlreadyStarted", false) || force_acpi_check){ + config->writeEntry("AlreadyStarted", true); + // check whether APM, ACPI, PMU, CPUFreq or Suspend2Disk/ram supported, otherwise end up + // and don't start kpowersave ever again until force_acpi_check == true. + if (!hwinfo->hasACPI() && !hwinfo->hasAPM() && !hwinfo->hasPMU() && + !hwinfo->supportCPUFreq() && !suspend.suspend2disk && !suspend.suspend2ram){ + config->writeEntry("Autostart", false); + config->sync(); + kdError() << "This machine does not support ACPI, APM, PMU, CPUFreq, Suspend2Disk nor " + << "Suspend2RAM. Close KPowersave now." << endl; + exit(-1); + } + } + + // default init + if (hwinfo->getAcAdapter()) { + settings->load_scheme_settings( settings->ac_scheme); + } else { + settings->load_scheme_settings( settings->battery_scheme); + } + // set the battery warning levels + hwinfo->setPrimaryBatteriesWarningLevel(settings->batteryWarningLevel, + settings->batteryLowLevel, + settings->batteryCriticalLevel); + + // connect to signals for changes + connect(hwinfo, SIGNAL(generalDataChanged()), this, SLOT(update())); + connect(hwinfo, SIGNAL(primaryBatteryChanged()), this, SLOT(update())); + connect(hwinfo, SIGNAL(ACStatus(bool)), this, SLOT(handleACStatusChange (bool))); + connect(hwinfo, SIGNAL(resumed(int)), this, SLOT(forwardResumeSignal(int))); + + // connect to error mesages + connect(autoSuspend, SIGNAL(displayErrorMsg(QString)), this, SLOT(showErrorMessage(QString))); + connect(hwinfo, SIGNAL(halRunning(bool)), this, SLOT(showHalErrorMsg())); + connect(hwinfo, SIGNAL(dbusRunning(int)), this, SLOT(showDBusErrorMsg(int))); + + // connect to events + connect(hwinfo, SIGNAL(lidcloseStatus(bool)), this, SLOT(handleLidEvent(bool))); + connect(hwinfo, SIGNAL(powerButtonPressed()), this, SLOT (handlePowerButtonEvent())); + connect(hwinfo, SIGNAL(sleepButtonPressed()), this, SLOT (handleSleepButtonEvent())); + connect(hwinfo, SIGNAL(s2diskButtonPressed()), this, SLOT (handleS2DiskButtonEvent())); + connect(hwinfo, SIGNAL(batteryWARNState(int,int)), this, SLOT(notifyBatteryStatusChange (int,int))); + connect(hwinfo, SIGNAL(desktopSessionIsActive(bool)), this, SLOT (handleSessionState(bool))); + connect(autoSuspend, SIGNAL(inactivityTimeExpired()), this, SLOT(do_autosuspendWarn())); + connect(autoDimm, SIGNAL(inactivityTimeExpired()), this, SLOT(do_downDimm())); + connect(autoDimm, SIGNAL(UserIsActiveAgain()), this, SLOT(do_upDimm())); + + config->sync(); + + config_dialog_shown = false; + suspend_dialog_shown = false; + detailedIsShown = false; + hal_error_shown = false; + icon_set_colored = false; + icon_BG_is_colored = false; + + calledSuspend = -1; + countWhiteIconPixel = 0; + + pixmap_name = "NONE"; + suspendType = "NULL"; + + BAT_WARN_ICON_Timer = new QTimer(this); + connect(BAT_WARN_ICON_Timer, SIGNAL(timeout()), this, SLOT(do_setIconBG())); + + DISPLAY_HAL_ERROR_Timer = new QTimer(this); + connect(DISPLAY_HAL_ERROR_Timer, SIGNAL(timeout()), this, SLOT(showHalErrorMsg())); + + AUTODIMM_Timer = new QTimer(this); + + initMenu(); + update(); + updateCPUFreqMenu(); + setSchemeSettings(); + + kdDebugFuncOut(trace); +} + + +/*! This is the default destructor of class kpowersave. */ +kpowersave::~kpowersave(){ + kdDebugFuncIn(trace); + + delete hwinfo; + delete display; + delete settings; + delete autoSuspend; +#ifdef ENABLE_YAST_ENTRY + delete yast2; +#endif +} + +/*! + * use this function to initalise the main kicker menu + */ +void kpowersave::initMenu() { + kdDebugFuncIn(trace); + + CONFIGURE_ID = this->contextMenu()->insertItem(SmallIcon("configure", QIconSet::Automatic), + i18n("Configure KPowersave..."), + this, SLOT(showConfigureDialog())); + CONFIGURE_EVENTS_ID = this->contextMenu()->insertItem(SmallIcon("knotify", QIconSet::Automatic), + i18n("Configure Notifications..."), + this, SLOT(showConfigureNotificationsDialog())); +#ifdef ENABLE_YAST_ENTRY + YAST_MODULE_MENU_ID = this->contextMenu()->insertItem(SmallIcon("yast", QIconSet::Automatic), + i18n("Start YaST2 Power Management Module..."), + this, SLOT(do_config())); +#endif + + SLEEP_SEPARATOR_MENU_ID = this->contextMenu()->insertSeparator(); + SUSPEND2DISK_MENU_ID = this->contextMenu()->insertItem( SmallIconSet("suspend_to_disk", + QIconSet::Automatic), + i18n("Suspend to Disk"), this, + SLOT(do_suspend2disk())); + SUSPEND2RAM_MENU_ID = this->contextMenu()->insertItem( SmallIconSet("suspend_to_ram", + QIconSet::Automatic), + i18n("Suspend to RAM"), this, + SLOT(do_suspend2ram())); + STANDBY_MENU_ID = this->contextMenu()->insertItem( SmallIconSet("stand_by", QIconSet::Automatic), + i18n("Standby"), this, SLOT(do_standby())); + + speed_menu = new QPopupMenu(this, i18n("Set CPU Frequency Policy")); + speed_menu->insertItem(i18n("Performance"), PERFORMANCE); + speed_menu->insertItem(i18n("Dynamic"), DYNAMIC); + speed_menu->insertItem(i18n("Powersave"), POWERSAVE); + + CPUFREQ_SEPARATOR_MENU_ID = contextMenu()->insertSeparator(); + + CPUFREQ_MENU_ID = contextMenu()->insertItem(i18n("Set CPU Frequency Policy"), speed_menu); + connect(speed_menu, SIGNAL(activated(int)), this, SLOT(do_setSpeedPolicy(int))); + connect(hwinfo, SIGNAL(currentCPUFreqPolicyChanged()), this, SLOT(updateCPUFreqMenu())); + + + SCHEME_SEPARATOR_MENU_ID = contextMenu()->insertSeparator(); + + scheme_menu = new QPopupMenu(this, i18n("Set Active Scheme")); + SCHEME_MENU_ID = contextMenu()->insertItem(i18n("Set Active Scheme"), scheme_menu); + connect(scheme_menu, SIGNAL(activated(int)), this, SLOT(do_setActiveScheme(int))); + + // menu entry for the autosuspend disable checkbox, disabled by default, only + // displayed if autosuspend for the current scheme is activated + AUTOSUSPEND_SEPARATOR_MENU_ID = contextMenu()->insertSeparator(); + AUTOSUSPEND_MENU_ID = this->contextMenu()->insertItem( i18n("Disable Actions on Inactivity"), + this,SLOT(do_setAutosuspend())); + this->contextMenu()->setItemVisible(AUTOSUSPEND_SEPARATOR_MENU_ID, false); + this->contextMenu()->setItemVisible(AUTOSUSPEND_MENU_ID, false); + + HELP_SEPARATOR_MENU_ID = contextMenu()->insertSeparator(); + + help_menu = new QPopupMenu(this, i18n("&Help")); + + help_menu->insertItem( SmallIcon("help", QIconSet::Automatic), i18n("&KPowersave Handbook"), + this, SLOT(slotHelp())); + help_menu->insertSeparator(); + help_menu->insertItem( i18n("&Report a bug ..."), this, SLOT(slotReportBug())); + help_menu->insertItem( SmallIcon("kpowersave", QIconSet::Automatic), + i18n("&About KPowersave"), this, SLOT(slotAbout())); + + HELP_MENU = contextMenu()->insertItem(SmallIcon("help", QIconSet::Automatic), + i18n("&Help"), help_menu); + + connect(this, SIGNAL(quitSelected()), this, SLOT(_quit())); + + kdDebugFuncOut(trace); +} + +/*! + * This funtion load and manipulate the icons for the kickerapplet-section. + * The redraw interval depends on \ref icon_set_colored and \ref BAT_icon_BG_intervall. + */ +void kpowersave::redrawPixmap(){ + kdDebugFuncIn(trace); + + // if colored icon_background: normal redraw intervall is set off. + // Icon (only) redrawed every BAT_icon_BG_intervall + if (icon_set_colored) { + if (icon_state_changed) { + loadIcon(); + drawIcon(); + } + } + else { + loadIcon(); + drawIcon(); + } + + kdDebugFuncOut(trace); +} + +/*! + * Starts the configure dialog of kpowersave. + */ +void kpowersave::showConfigureDialog() { + kdDebugFuncIn(trace); + + if(!config_dialog_shown) { + if (settings->schemes.count() > 0){ + configDlg = new ConfigureDialog(config, hwinfo, settings); + configDlg->show(); + config_dialog_shown = true; + connect(configDlg, SIGNAL(destroyed()), this, SLOT(observeConfigDlg())); + connect(configDlg, SIGNAL(openHelp()), this, SLOT(slotHelp())); + connect(configDlg, SIGNAL(openKNotify()), this, SLOT(showConfigureNotificationsDialog())); + } + else { + KPassivePopup::message(i18n("WARNING"), i18n("Cannot find any schemes."), + SmallIcon("messagebox_warning", 20), this, + i18n("Warning"), 15000); + } + } else { + configDlg->setWindowState(configDlg->windowState() & ~WindowMinimized | WindowActive); + configDlg->setActiveWindow(); + } + + kdDebugFuncOut(trace); +} + +/*! + * Starts the notification configure dialog of kpowersave. + */ +void kpowersave::showConfigureNotificationsDialog() { + kdDebugFuncIn(trace); + + KNotifyDialog::configure(this); + + kdDebugFuncOut(trace); +} + +/*! + * Load the icons (from filesystem) for the kicker applet to \ref pixmap . + * To reduce the systemload the icons are only reloaded if \ref pixmap_name + * is changed. + */ +void kpowersave::loadIcon(){ + kdDebugFuncIn(trace); + + QString pixmap_name_tmp = "NONE"; + + BatteryCollection *primary = hwinfo->getPrimaryBatteries(); + + if (hwinfo->hal_terminated || !hwinfo->isOnline() ) { + pixmap_name_tmp = QString("ERROR"); + } + else if (hwinfo->getAcAdapter() || primary->getBatteryState() == BAT_NONE) { + icon_set_colored = false; + + if (primary->getBatteryState() == BAT_NONE || (primary->getRemainingPercent() < 0 || + primary->getRemainingPercent() >= 99)) + pixmap_name_tmp = QString("laptoppower"); + else + pixmap_name_tmp = QString("laptopcharge"); + } + else { + switch(primary->getBatteryState()) { + case BAT_CRIT: + case BAT_LOW: + if (icon_BG_is_colored) pixmap_name_tmp = QString("laptopbattery"); + else pixmap_name_tmp = QString("laptopbatteryRED"); + icon_BG_is_colored = !icon_BG_is_colored; + icon_set_colored = true; + break; + case BAT_WARN: + if (icon_BG_is_colored) pixmap_name_tmp = QString("laptopbattery"); + else pixmap_name_tmp = QString("laptopbatteryORANGE"); + icon_BG_is_colored = !icon_BG_is_colored; + icon_set_colored = true; + break; + default: + // if battery is discharging and not in warning, low or critical state + pixmap_name_tmp = QString("laptopbattery"); + icon_set_colored = false; + icon_BG_is_colored = false; + } + + if (icon_set_colored){ + icon_state_changed = false; + BAT_WARN_ICON_Timer->start(BAT_icon_BG_intervall, true); + } + } + + // reload icon only if new icon selected + if(pixmap_name_tmp != pixmap_name) { + pixmap_name = pixmap_name_tmp; + if (pixmap_name.startsWith("ERROR")) { + pixmap = SmallIcon("laptoppower", 22, KIcon::DisabledState); + } + else + pixmap = SmallIcon(pixmap_name, 22); + } + + kdDebugFuncOut(trace); +} + + +/*! + * This function draw the battery-capacity (colored field) to the icon. + * Here also counted the white pixel in the icon-files. Since the icons are + * the same and white pixel only in the retangel of the icon, the white pixel + * stored in \ref countWhiteIconPixel only one time. + */ +void kpowersave::drawIcon(){ + kdDebugFuncIn(trace); + + BatteryCollection *primary = hwinfo->getPrimaryBatteries(); + + QImage image = pixmap.convertToImage(); + int w = image.width(); + int h = image.height(); + int x, y; + + if((pixmap_name.contains("laptopbattery") || pixmap_name.contains("charge")) && + countWhiteIconPixel == 0) { + for (x = 0; x < w; x++) + for (y = 0; y < h; y++) + if(QColor(image.pixel(x, y)) == Qt::white) countWhiteIconPixel++; + } + + int c = (countWhiteIconPixel * primary->getRemainingPercent()) / 100; + + if (c > 0) { + uint ui; + QRgb Rgb_set; + + if (hwinfo->getAcAdapter()) { + Rgb_set = qRgb(0x00, 0xff, 0x00); //green + } + else { + switch(primary->getBatteryState()) { + case BAT_CRIT: + case BAT_LOW: + Rgb_set = qRgb(0xff, 0x00, 0x00);//red + break; + case BAT_WARN: + Rgb_set = qRgb(0xff, 0x55, 0x00); //orange + break; + default: + Rgb_set = qRgb(0x00, 0xff, 0x00); //green + } + } + if (image.depth() <= 8) { + ui = image.numColors(); + image.setNumColors(ui + 1); + image.setColor(ui, Rgb_set); + } + ui = 0xff000000 | Rgb_set; + + for (y = h - 1; y >= 0; y--) { + for (x = 0; x < w ; x++) { + if(QColor(image.pixel(x, y)) == Qt::white) { + image.setPixel(x, y, ui); + c--; + if (c <= 0) goto quit; + } + } + } + } +quit: + fullIcon.convertFromImage(image); + setPixmap(fullIcon); + + kdDebugFuncOut(trace); +} + +/*! +* By this function we fill and update the Tooltip for the icon in the kicker applet. +* The content of the tooltip alway updated, if something change. +* \todo Check if the tooltip also updated if mouse \b is over the icon, if not we maybe +* should implement this.\n If it is possible we should update the tooltip permanently +* while the mouse cursor is over the widget +*/ +void kpowersave::updateTooltip(){ + kdDebugFuncIn(trace); + + BatteryCollection *primary = hwinfo->getPrimaryBatteries(); + int percent = primary->getRemainingPercent(); + int minutes = primary->getRemainingMinutes(); + int charging_state = primary->getChargingState(); + + QString tmp, num3; + num3.setNum(minutes % 60); + num3 = num3.rightJustify(2, '0'); + + if (hwinfo->hal_terminated){ + tmp = i18n("No information about battery and AC status available"); + } + else if (hwinfo->getAcAdapter()) { + if (percent == 100) tmp = i18n("Plugged in -- fully charged"); + // assume that no battery is there + else { + if ((percent < 0 && minutes < 0) || primary->getBatteryState() == BAT_NONE) { + tmp = i18n("Plugged in"); + } + else if (minutes > 0){ + if (charging_state == CHARGING) + tmp = i18n("Plugged in -- %1% charged (%2:%3 h until full " + "charged)").arg(percent).arg(minutes / 60).arg(num3); + else + tmp = i18n("Plugged in -- %1% charged (%2:%3 remaining hours)") + .arg(percent).arg(minutes / 60).arg(num3); + } + else if (charging_state == CHARGING && hwinfo->hasAPM()) { + tmp = i18n("Plugged in -- %1% charged").arg(percent); + } + else{ + if (percent == -1) tmp = i18n("Plugged in -- no battery"); + else tmp = i18n("Plugged in -- %1% charged").arg(percent); + } + } + } else{ + if (minutes >= 0){ + tmp = i18n("Running on batteries -- %1% charged (%2:%3 hours remaining)") + .arg(percent).arg(minutes / 60).arg(num3); + } + else { + tmp = i18n("Running on batteries -- %1% charged").arg(percent); + } + } + // add string whether battery is charging, but only if < 100% to avoid + // stupid tooltip message on machines which always with 100% and on AC + // are charging, as e.g. Sony Vaio FS vgn-fs115b + if (charging_state == CHARGING && percent < 100) + tmp += i18n(" -- battery is charging"); + + QToolTip::add(this, tmp); + + kdDebugFuncOut(trace); +} + +/*! + * \b SLOT to starts the Yast2-power-management module. This called by the menuentry + * with ID \ref YAST_MODULE_MENU_ID, named "Start YaST2 Power Management Module". + * It create a new KProcess and execute "/sbin/yast2 power-management" with kdesu. + */ +void kpowersave::do_config(){ + kdDebugFuncIn(trace); + + #ifdef ENABLE_YAST_ENTRY + delete yast2; + + yast2 = new KProcess; + *yast2 << "kdesu" << "--nonewdcop" << "/sbin/yast2" << "power-management"; + + connect(yast2, SIGNAL(processExited(KProcess *)), + SLOT(slotConfigProcessExited(KProcess *))); + if(!yast2->start(KProcess::NotifyOnExit)) + { + delete yast2; + yast2 = NULL; + } + + kdDebugFuncOut(trace); + #else + kdDebugFuncOut(trace); + return; + #endif +} + +/*! + * \b SLOT to open the KPowersave help + */ +void kpowersave::slotHelp() +{ + kapp->invokeHelp( "", "kpowersave" ); +} + +/*! + * \b SLOT to open the KPowersave About dialog + */ +void kpowersave::slotAbout() +{ + KAboutApplication a( this ); + a.exec(); +} + +/*! + * \b SLOT to open the website to report bugs + */ +void kpowersave::slotReportBug() +{ +#ifdef DISTRO_IS_SUSE + #ifdef DISTRO_IS_SLES_SLED + kapp->invokeBrowser("https://bugzilla.novell.com/"); + #else + kapp->invokeBrowser("http://en.opensuse.org/Submitting_Bug_Reports"); + #endif +#else + #ifdef DISTRO_IS_ALTLINUX + kapp->invokeBrowser("http://bugzilla.altlinux.org/"); + #else + #ifdef DISTRO_IS_UBUNTU + kapp->invokeBrowser("https://launchpad.net/distros/ubuntu/+bugs"); + #else + #ifdef DISTRO_IS_PARDUS + kapp->invokeBrowser("http://bugs.pardus.org.tr/"); + #else + kapp->invokeBrowser("http://sourceforge.net/tracker/?group_id=124576&atid=700009"); + #endif + #endif + #endif +#endif +} + +/*! + * \b SLOT to set the icon background on/off if battery is in critical, low or warning-state. Within + * this function we set \ref icon_state_changed to true and call \ref redrawPixmap() to redraw the + * kickerapplet icon and create a icon with blinking background. \n \n + * The slot called by the QTimer \ref BAT_WARN_ICON_Timer . The interval of the timer is defined + * trough \ref BAT_icon_BG_intervall and starts here: \ref loadIcon() . + */ +void kpowersave::do_setIconBG(){ + kdDebugFuncIn(trace); + + if (icon_set_colored) icon_state_changed = true; + redrawPixmap(); + + kdDebugFuncOut(trace); +} +/*! + * \b SLOT to enable/disable the autosuspend. + */ +void kpowersave::do_setAutosuspend(){ + kdDebugFuncIn(trace); + + if(!contextMenu()->isItemChecked(AUTOSUSPEND_MENU_ID)) { + autoSuspend->stop(); + contextMenu()->setItemChecked(AUTOSUSPEND_MENU_ID, true); + } + else { + if(settings->autoSuspend) { + contextMenu()->setItemChecked(AUTOSUSPEND_MENU_ID, false); + setAutoSuspend(false); + } + else { + contextMenu()->setItemVisible(AUTOSUSPEND_MENU_ID, false); + contextMenu()->setItemChecked(AUTOSUSPEND_MENU_ID, false); + contextMenu()->setItemVisible(AUTOSUSPEND_SEPARATOR_MENU_ID, false); + } + } + + kdDebugFuncOut(trace); +} + +/*! + * \b SLOT which called if the \ref configDlg is destroyed. We set within this SLOT + * \ref config_dialog_shown to false. + * TODO: check if we maybe should force here the current default scheme depending on the AC/battery state + */ +void kpowersave::observeConfigDlg(){ + kdDebugFuncIn(trace); + + // reload general settings + settings->load_general_settings(); + // set the battery warning levels - all other general settings don't need to + // get set, since we check the settings only on events. + hwinfo->setPrimaryBatteriesWarningLevel(settings->batteryWarningLevel, + settings->batteryLowLevel, + settings->batteryCriticalLevel); + + // reload the maybe changed scheme settings + settings->load_scheme_settings( settings->currentScheme ); + // set the scheme + setSchemeSettings(); + + config_dialog_shown=false; + + kdDebugFuncOut(trace); +} + +/*! + * \b SLOT which called from \ref do_config() if the 'kdesu yast2' KProcess exited. + * This function control the return value and display if needed a errormessage on failure. + */ +void kpowersave::slotConfigProcessExited(KProcess *proc){ + kdDebugFuncIn(trace); + + #ifdef ENABLE_YAST_ENTRY + if (proc->normalExit()){ + if (proc->exitStatus() != 0 && proc->exitStatus() != 16){ + KPassivePopup::message( i18n("WARNING"), + i18n("Could not start YaST Power Management Module. " + "Check if it is installed."), + SmallIcon("messagebox_warning", 20), this, + i18n("Warning"), 15000); + } + } + else{ + KPassivePopup::message( i18n("WARNING"), + i18n("Could not start YaST Power Management Module. " + "Check if it is installed."), + SmallIcon("messagebox_warning", 20), this, i18n("Warning"), 15000); + } + + kdDebugFuncOut(trace); + #else + kdDebugFuncOut(trace); + return; + #endif +} + +/*! + * \b SLOT to send the command for "suspend to disk" to HAL daemon. + * If there is a error while "suspend to disk" the user get e messagebox. + * This function need a running HAL daemon for "suspend to disk". + * \return boolean with the result of the operation + * \retval true if successful + * \retval false if command not supported or if powersaved not running + */ +bool kpowersave::do_suspend2disk(){ + kdDebugFuncIn(trace); + + if (suspend.suspend2disk) { + if (suspend.suspend2disk_allowed || suspend.suspend2disk_allowed == -1) { + calledSuspend = SUSPEND2DISK; + if (!handleMounts(true)) { + kdWarning() << "Could not umount ..." << endl; + calledSuspend = -1; + kdDebugFuncOut(trace); + return false; + } + + if(settings->lockOnSuspend) { + display->lockScreen( settings->lockmethod ); + } + + autoSuspend->stop(); + autoDimm->stop(); + notifySuspend(calledSuspend); + bool ret = hwinfo->suspend(SUSPEND2DISK); + + if (ret) { + kdDebugFuncOut(trace); + return true; + } else { + KPassivePopup::message( i18n("WARNING"),i18n("Suspend to disk failed"), + SmallIcon("messagebox_warning", 20), this, + i18n("Warning"), 15000); + kdDebugFuncOut(trace); + return false; + } + } else { + KPassivePopup::message( i18n("WARNING"), + i18n("Suspend to disk disabled by administrator."), + SmallIcon("messagebox_warning", 20), + this, i18n("Warning"), 15000); + this->contextMenu()->setItemEnabled(SUSPEND2DISK_MENU_ID, false); + kdDebugFuncOut(trace); + return false; + } + } else { + kdWarning() << "This machine does not provide suspend2disk via HAL" << endl; + kdDebugFuncOut(trace); + return false; + } +} + +/*! + * \b SLOT to send the command for "suspend to RAM" to the HAL daemon. + * If there is a error while "suspend to RAM" the user get e messagebox. + * This function need a running HAL daemon for "suspend to RAM". + * \return boolean with the result of the operation + * \retval true if successful + * \retval false if command not supported or if powersaved not running + */ +bool kpowersave::do_suspend2ram(){ + kdDebugFuncIn(trace); + + if (suspend.suspend2ram) { + if (suspend.suspend2ram_allowed || suspend.suspend2ram_allowed == -1) { + calledSuspend = SUSPEND2RAM; + if (!handleMounts(true)) { + kdWarning() << "Could not umount ..." << endl; + calledSuspend = -1; + kdDebugFuncOut(trace); + return false; + } + + if(settings->lockOnSuspend) { + display->lockScreen( settings->lockmethod ); + } + + autoSuspend->stop(); + autoDimm->stop(); + notifySuspend(calledSuspend); + bool ret = hwinfo->suspend(SUSPEND2RAM); + + if (ret) { + kdDebugFuncOut(trace); + return true; + } else { + KPassivePopup::message( i18n("WARNING"),i18n("Suspend to RAM failed"), + SmallIcon("messagebox_warning", 20), this, + i18n("Warning"), 15000); + kdDebugFuncOut(trace); + return false; + } + } else { + KPassivePopup::message( i18n("WARNING"), + i18n("Suspend to RAM disabled by administrator."), + SmallIcon("messagebox_warning", 20), this, + i18n("Warning"), 15000); + this->contextMenu()->setItemEnabled(SUSPEND2RAM_MENU_ID, false); + kdDebugFuncOut(trace); + return false; + } + } else { + kdWarning() << "This machine does not provide suspend2ram via HAL" << endl; + kdDebugFuncOut(trace); + return false; + } +} + +/*! + * \b SLOT to send the command for "stand-by" to the HAL daemon. + * If there is a error while "stand-by" the user get e messagebox. + * This function need a running HAL daemon for "stand-by". + * \return boolean with the result of the operation + * \retval true if successful + * \retval false if command not supported or if powersaved not running + */ +bool kpowersave::do_standby(){ + kdDebugFuncIn(trace); + + if (suspend.standby) { + if (suspend.standby_allowed || suspend.standby_allowed == -1) { + calledSuspend = STANDBY; + if (!handleMounts(true)) { + kdWarning() << "Could not umount ..." << endl; + calledSuspend = -1; + kdDebugFuncOut(trace); + return false; + } + + if(settings->lockOnSuspend) { + display->lockScreen( settings->lockmethod ); + } + + autoSuspend->stop(); + autoDimm->stop(); + notifySuspend(calledSuspend); + bool ret = hwinfo->suspend(STANDBY); + + if (ret) { + kdDebugFuncOut(trace); + return true; + } else { + KPassivePopup::message( i18n("WARNING"),i18n("Standby failed"), + SmallIcon("messagebox_warning", 20), this, + i18n("Warning"), 15000); + kdDebugFuncOut(trace); + return false; + } + } else { + KPassivePopup::message( i18n("WARNING"),i18n("Standby disabled by administrator."), + SmallIcon("messagebox_warning", 20), this, + i18n("Warning"), 15000); + this->contextMenu()->setItemEnabled(STANDBY_MENU_ID, false); + kdDebugFuncOut(trace); + return false; + } + } else { + kdWarning() << "This machine does not provide suspend2ram via HAL" << endl; + kdDebugFuncOut(trace); + return false; + } +} + +/*! + * \b SLOT to send check if we should display the warning dialog and display + * the dialog if needed or call directly autosuspend after the signal + * \ref autosuspend::inactivityTimeExpired was recieved. + */ +void kpowersave::do_autosuspendWarn() { + kdDebugFuncIn(trace); + + if (settings->autoSuspendCountdown && (settings->autoSuspendCountdownTimeout > 0)) { + // we have to display the warn dialog + if(!contextMenu()->isItemChecked(AUTOSUSPEND_MENU_ID)) { + QString message; + + countdown = new countDownDialog(settings->autoSuspendCountdownTimeout); + + if(settings->autoInactiveAction == "Suspend to Disk") { + countdown->setPixmap("suspend2disk"); + } else if (settings->autoInactiveAction == "Suspend to RAM") { + countdown->setPixmap("suspend2ram"); + } else if (settings->autoInactiveAction == "Standby") { + countdown->setPixmap("standby"); + } else { + countdown->setPixmap("kpowersave"); + } + + // TODO: rework this after translation round for openSUSE 10.3 ! + message = i18n("Inactivity detected.") + " " + + i18n("To stop the %1 press the 'Cancel' button before the countdown " + "expire.").arg(i18n("Autosuspend")) + "\n\n" + + i18n("The computer autosuspend in: "); + + countdown->setMessageText(message); + + connect(countdown, SIGNAL(dialogClosed(bool)), this, SLOT(do_autosuspend(bool))); + countdown->showDialog(); + } + } else { + // call directly autosuspend + do_autosuspend(false); + } + kdDebugFuncOut(trace); +} + +/*! + * \b SLOT to send the related suspend command for autosuspend + * \param chancel boolean with info if the autosuspend should get chanceld + * \return boolean with the result of the operation + * \retval true if successful + * \retval false if command not supported or on any other error + * \todo add check if the requested command is supported befor send and + * add message for this case to tell that maybe changed config! + */ +bool kpowersave::do_autosuspend(bool chancel) { + kdDebugFuncIn(trace); + + // TODO: check if this is really needed, it get called also on the suspend methodes + autoSuspend->stop(); + + if (!chancel) { + if(!settings->disableNotifications) { + KNotifyClient::event( this->winId(), "autosuspend_event", + i18n("System is going into suspend mode now")); + } + + if(settings->autoSuspend && !contextMenu()->isItemChecked(AUTOSUSPEND_MENU_ID)) { + if(settings->autoInactiveAction == "Suspend to Disk") { + return do_suspend2disk(); + } else if (settings->autoInactiveAction == "Suspend to RAM") { + return do_suspend2ram(); + } else if (settings->autoInactiveAction == "Standby") { + return do_standby(); + } else { + return false; + } + } else { + return false; + } + } else { + kdDebug() << "The autosuspend was chanceled (via the chancel dialog), start again." << endl; + setAutoSuspend(false); + return false; + } +} + +/*! + * \b SLOT to dimm the display down to the configured level if the signal + * \ref autodimm::inactivityTimeExpired was recieved. + * \param + * \return boolean with the result of the operation + * \retval true if successful + * \retval false else + */ +void kpowersave::do_downDimm() { + kdDebugFuncIn(trace); + + if (hwinfo->supportBrightness()) { + if (!AUTODIMM_Timer->isActive()) { + int dimmToLevel = (int)((float)hwinfo->getMaxBrightnessLevel()*((float)settings->autoDimmTo/100.0)); + + // check if we really need to dimm down + if (dimmToLevel < hwinfo->getCurrentBrightnessLevel()) { + int steps = hwinfo->getCurrentBrightnessLevel() - dimmToLevel; + int timePerStep = (1500 / steps); + + autoDimmDown = true; + + AUTODIMM_Timer = new QTimer(this); + connect(AUTODIMM_Timer, SIGNAL(timeout()), this, SLOT(do_dimm())); + AUTODIMM_Timer->start(timePerStep, false); + } else { + kdWarning() << "Don't dimm down, current level is already lower than requested Level" << endl; + } + } else { + // wait until the timer is stopped, try later! + QTimer::singleShot(1500, this, SLOT(do_downDimm())); + } + } + + kdDebugFuncOut(trace); +} + +/*! + * \b SLOT to dimm the display up to the configured level if the signal + * \ref autodimm::UserIsActiveAgain was recieved. + * \param + * \return boolean with the result of the operation + * \retval true if successful + * \retval false else + */ +void kpowersave::do_upDimm() { + kdDebugFuncIn(trace); + + //NOTE we go back to the value of the scheme and not the last on, to reduce trouble with the scheme + + if (hwinfo->supportBrightness()) { + if (!AUTODIMM_Timer->isActive()) { + int dimmToLevel = (int)((float)hwinfo->getMaxBrightnessLevel()*((float)settings->brightnessValue/100.0)); + + // check if we really need to dimm up + if (dimmToLevel > hwinfo->getCurrentBrightnessLevel()) { + int steps = dimmToLevel - hwinfo->getCurrentBrightnessLevel(); + int timePerStep = (750 / steps); + + autoDimmDown = false; + + AUTODIMM_Timer = new QTimer(this); + connect(AUTODIMM_Timer, SIGNAL(timeout()), this, SLOT(do_dimm())); + AUTODIMM_Timer->start(timePerStep, false); + + // start autodimm again + setAutoDimm(false); + } else { + kdWarning() << "Don't dimm up, current level is already above requested Level" << endl; + } + } else { + // wait until the timer is stopped, try later! + QTimer::singleShot(750, this, SLOT(do_downDimm())); + } + } + + kdDebugFuncOut(trace); +} + + +/*! + * \b SLOT to dimm the display down + * \return boolean with the result of the operation + * \retval true if successful + * \retval false else + */ +void kpowersave::do_dimm() { + kdDebugFuncIn(trace); + + int current = hwinfo->getCurrentBrightnessLevel(); + + if (autoDimmDown) { + // dimm the display down + if (current > 0 && + current > ((int)((float)hwinfo->getMaxBrightnessLevel()*((float)settings->autoDimmTo/100.0))-1)) { + hwinfo->setBrightness((current -1) , -1); + } else { + AUTODIMM_Timer->stop(); + + // start checking if the user get active again + // NOTE: we start this here because the X-Server detect brightness changes as + // User activity --> FUCKING STUPID PIECE OF SHIT + autoDimm->startCheckForActivity(); + } + } else { + // dimm the display up + if (current < ((int)((float)hwinfo->getMaxBrightnessLevel()*((float)settings->brightnessValue/100.0))-1)) { + hwinfo->setBrightness((current +1) , -1); + } else { + AUTODIMM_Timer->stop(); + } + } + + kdDebugFuncOut(trace); +} + +/*! + * Function handle umount/remount external storage media before/after + * suspend. + * \param suspend boolean with info if the machine go into suspend or not + * \return result of the operation + * \retval true if all was successful + * \retval false if not + */ +bool kpowersave::handleMounts( bool suspend ) { + if (trace) kdDebug() << funcinfo << "IN: " << "called suspend: " << suspend << endl; + + bool _ret = false; + QString _errormsg; + + if (settings->unmountExternalOnSuspend) { + QString _method; + DCOPRef dcop_ref = DCOPRef( "kded", "mediamanager" ); + + if (suspend) { + _method = "unmountAllSuspend()"; + } else { + _method = "remountAllResume()"; + } + DCOPReply reply = dcop_ref.call(_method.latin1()); + if ( reply.isValid() ) { + reply.get(_errormsg); + if (_errormsg.isEmpty()) { + kdDebugFuncOut(trace); + return true; + } else { + kdError() << "ERROR while umount/remount partitions: " << _errormsg << endl; + } + } else { + kdWarning() << "Could not umount external storage partitions." << endl; + } + + } else { + kdDebugFuncOut(trace); + return true; + } + + // this is only needed for suspend case and an error ... + // on resume a simple error msg should be enough + if (!_ret && suspend) { + // handle error case + QString _msg; + QString _e_msg; + QString _suspend; + + if (!_errormsg.isEmpty()) { + _e_msg = _errormsg; + } else { + _e_msg = i18n("Could not call DCOP interface to umount external media."); + } + + // ugly: need qt-tags because mediamanager can return html formated strings !!! + _msg = "" + + i18n("Could not umount external media before suspend/standby. \n " + "(Reason: %1)\n \n Would you like to continue suspend/standby " + "anyway? \n(Warning: Continue suspend can cause data loss!)").arg(_e_msg) + + ""; + + _suspend = getSuspendString(calledSuspend); + + int answer = KMessageBox::questionYesNo( 0, _msg, + i18n("Error while prepare %1").arg(_suspend), + i18n("Suspend anyway"), i18n("Cancel suspend"), + "ignoreMountOnSuspend"); + + if (answer == KMessageBox::Yes) { + _ret = true; + } + } + + kdDebugFuncOut(trace); + return _ret; +} + +/*! + * Handle the event for the power button and call the related action. + */ +void kpowersave::handlePowerButtonEvent( ) { + kdDebugFuncIn(trace); + + /* Only go to suspend on button event if we already resumed successful. + This should solve problems if we get may a event for the powerbutton + if there machine was waked up via power button. */ + if (calledSuspend == -1) { + handleActionCall(settings->powerButtonAction, settings->powerButtonActionValue); + } + + kdDebugFuncOut(trace); +} + +/*! + * Handle the event for the suspend2ram/sleep button and call the related action. + */ +void kpowersave::handleSleepButtonEvent() { + kdDebugFuncIn(trace); + + // Only go to suspend on button event if we already resumed successful. + if (calledSuspend == -1) { + handleActionCall(settings->sleepButtonAction, -1); + } + + kdDebugFuncOut(trace); +} + +/*! + * Handle the event for the suspend2disk (hibernater) button and call the related action. + */ +void kpowersave::handleS2DiskButtonEvent(){ + kdDebugFuncIn(trace); + + // Only go to suspend on button event if we already resumed successful. + if (calledSuspend == -1) { + handleActionCall(settings->s2diskButtonAction, -1); + } + + kdDebugFuncOut(trace); +} + +/*! + * \b SLOT to handle the lidclose event. If the screen get locked + * depends on the user specific settings. + * \param closed boolean with info if the lid is closed or not + */ +void kpowersave::handleLidEvent( bool closed ){ + if (trace) kdDebug() << funcinfo << "IN: " << "Lid closed? " << closed << endl; + + if (closed) { + // get new general settings! This could maybe removed if we + // could be shure, that the settings are actuall + settings->load_general_settings(); + + // handle screen lock + if (settings->lidcloseAction < 0) { + if(settings->lockOnLidClose) { + if(!display->lockScreen( settings->lockmethod )) { + KPassivePopup::message( i18n("WARNING"), + i18n("Could not lock the screen. There may " + "be a problem with the selected \nlock " + "method or something else."), + SmallIcon("messagebox_warning", 20), this, + i18n("Warning"), 10000); + + } + } + if(settings->forceDpmsOffOnLidClose) { + display->forceDPMSOff(); + } + } else { + // handle lock action + if (hwinfo->currentSessionIsActive()) { + handleActionCall(settings->lidcloseAction, settings->lidcloseActionValue); + } else { + kdWarning() << "Session is not active, don't react on lidclose " + << "event with a action call (like e.g. Suspend)!" << endl; + } + } + + if(!settings->disableNotifications) + KNotifyClient::event( this->winId(), "lid_closed_event", i18n("The Lid was closed.")); + } else { + if(settings->forceDpmsOffOnLidClose) { + // reset the scheme settings to avoid problems related to call xset on lidclose + setSchemeSettings(); + } + + if (settings->lockOnLidClose) { + activateLoginScreen(); + } + + if(!settings->disableNotifications) + KNotifyClient::event( this->winId(), "lid_opened_event", i18n("The Lid was opened.")); + } + + kdDebugFuncOut(trace); +} + +/*! + * \b SLOT to show the login dialog if the desktop was locked before the suspend. + */ +void kpowersave::activateLoginScreen(){ + kdDebugFuncIn(trace); + + // get new general settings! This could maybe removed if we + // could be shure, that the settings are actuall + settings->load_general_settings(); + + if(settings->timeToFakeKeyAfterLock >= 0) { + QTimer::singleShot(settings->timeToFakeKeyAfterLock, display, SLOT(fakeShiftKeyEvent())); + } + + kdDebugFuncOut(trace); +} + +/*! + * \b SLOT to set the current suspend type for later use. + */ +void kpowersave::setSuspendType( QString suspendtype){ + kdDebugFuncIn(trace); + + suspendType = suspendtype; + + kdDebugFuncOut(trace); +} + +/*! + * \b SLOT which called if kpowersave is exited by the user. In this case the user + * is asked through a yes/no box if "KPowersave start automatically on log in" and the + * result is written to the KDE configfile. + */ +void kpowersave::_quit (){ + kdDebugFuncIn(trace); + + // set the KDE-Settings back to user default + if(getenv("KDE_FULL_SESSION")) { + // first try to call the KDE method via DCOP to reset, if not fall back + if (!display->resetKDEScreensaver()) { + settings->load_kde(); + // reset to KDE screensaver settings + display->blankOnlyScreen(false); + if(!settings->kde->enabled) display->setScreenSaver(false); + else display->setScreenSaver(true); + + if(!settings->kde->displayEnergySaving) display->setDPMS(false); + else display->setDPMS(true); + + display->has_DPMS = display->setDPMSTimeouts( settings->kde->displayStandby, + settings->kde->displaySuspend, + settings->kde->displayPowerOff); + } + } + + // set, if this is a GNOME session, XScreensaver settings back to user default + QString session = getenv("DESKTOP_SESSION"); + if(session.startsWith("gnome")) { + display->resetXScreensaver(); + } + + if(!settings->autostartNeverAsk) { + QString tmp1 = i18n ("Start KPowersave automatically when you log in?"); + int tmp2 = KMessageBox::questionYesNo ( 0, tmp1, i18n("Question"), + i18n("Start Automatically"), i18n("Do Not Start")); + config->setGroup("General"); + config->writeEntry ("Autostart", tmp2 == KMessageBox::Yes); + config->sync (); + } + + kdDebugFuncOut(trace); +} + +/*! + * \b SLOT called if the user select a 'CPU Frequency Policy' from the menu ( \ref CPUFREQ_MENU_ID ). + */ +void kpowersave::do_setSpeedPolicy(int menu_id){ + if (trace) kdDebug() << funcinfo << "IN: " << "menu_id/set policy to: " << menu_id << endl; + + if(!hwinfo->setCPUFreq((cpufreq_type)menu_id, settings->cpuFreqDynamicPerformance)) { + KPassivePopup::message(i18n("WARNING"), + i18n("CPU Freq Policy %1 could not be set.").arg(speed_menu->text(menu_id)), + SmallIcon("messagebox_warning", 20), this, i18n("Warning"), 10000); + } else { + hwinfo->checkCurrentCPUFreqPolicy(); + update(); + } + + kdDebugFuncOut(trace); +} + +/*! + * \b SLOT called if the user select a scheme from the menu. If there is any errormessage + * while try to set the selected scheme, the user get a messagebox with info. + */ +void kpowersave::do_setActiveScheme( int i ){ + if (trace) kdDebug() << funcinfo << "IN: " << "set scheme to: " << i << endl; + + if(settings->schemes[i] && (settings->schemes[i] != settings->currentScheme)) { + for (int x = 0; x < (int) scheme_menu->count(); x++){ + if (x == i) + scheme_menu->setItemChecked(x, true); + else + scheme_menu->setItemChecked(x, false); + } + settings->load_scheme_settings( settings->schemes[i]); + setSchemeSettings(); + notifySchemeSwitch(); + } else if (!settings->schemes[i]){ + KPassivePopup::message( i18n("WARNING"), + i18n("Scheme %1 could not be activated.").arg(scheme_menu->text(i)), + SmallIcon("messagebox_warning", 20), this, i18n("Warning"), 5000); + } + + kdDebugFuncOut(trace); +} + +/*! + * This function is invoked if something has to be updated. This including also menu entries. + * If the battery is in warning state (and powersave set pdaemon->send_battery_state_change_message) + * the function pop-up a messagebox. + */ +void kpowersave::update(){ + kdDebugFuncIn(trace); + + int redraw_pixmap = 0; + QString justMins; + + /* need to redraw pixmap in toolbar */ + if (hwinfo->update_info_ac_changed){ + redraw_pixmap = 1; + } + if (!hwinfo->isOnline()){ + this->contextMenu()->setItemVisible(SUSPEND2DISK_MENU_ID, false); + this->contextMenu()->setItemVisible(SUSPEND2RAM_MENU_ID, false); + this->contextMenu()->setItemVisible(STANDBY_MENU_ID, false); + this->contextMenu()->setItemVisible(SLEEP_SEPARATOR_MENU_ID, false); + this->contextMenu()->setItemVisible(SCHEME_SEPARATOR_MENU_ID, false); + this->contextMenu()->setItemVisible(SCHEME_MENU_ID, false); + this->contextMenu()->setItemVisible(HELP_SEPARATOR_MENU_ID, false); + this->contextMenu()->setItemVisible(CONFIGURE_ID, false); + this->contextMenu()->setItemVisible(CONFIGURE_EVENTS_ID, false); + if (!pixmap_name.startsWith("ERROR")) { + // dirty !!! but this work for the moment + hwinfo->update_info_cpufreq_policy_changed = true; + suspend = hwinfo->getSuspendSupport(); + redraw_pixmap = 1; + } + } + else{ + if (pixmap_name.startsWith("ERROR")) { + redraw_pixmap = 1; + hwinfo->update_info_cpufreq_policy_changed = true; + suspend = hwinfo->getSuspendSupport(); + } + this->contextMenu()->setItemVisible(SUSPEND2DISK_MENU_ID, true); + this->contextMenu()->setItemVisible(SUSPEND2RAM_MENU_ID, true); + this->contextMenu()->setItemVisible(STANDBY_MENU_ID, true); + this->contextMenu()->setItemVisible(SLEEP_SEPARATOR_MENU_ID, true); + this->contextMenu()->setItemVisible(SCHEME_SEPARATOR_MENU_ID, true); + this->contextMenu()->setItemVisible(SCHEME_MENU_ID, true); + this->contextMenu()->setItemVisible(HELP_SEPARATOR_MENU_ID, true); + this->contextMenu()->setItemVisible(CONFIGURE_ID, true); + this->contextMenu()->setItemVisible(CONFIGURE_EVENTS_ID, true); + + if (suspend.suspend2disk && (suspend.suspend2disk_allowed || + suspend.suspend2disk_allowed == -1)) { + this->contextMenu()->setItemEnabled(SUSPEND2DISK_MENU_ID, true); + } else { + if (!suspend.suspend2disk) + this->contextMenu()->setItemVisible(SUSPEND2DISK_MENU_ID, false); + else + this->contextMenu()->setItemEnabled(SUSPEND2DISK_MENU_ID, false); + } + + if (suspend.suspend2ram && (suspend.suspend2ram_allowed || + suspend.suspend2ram_allowed == -1)) { + this->contextMenu()->setItemEnabled(SUSPEND2RAM_MENU_ID, true); + } else { + if (!suspend.suspend2ram) + this->contextMenu()->setItemVisible(SUSPEND2RAM_MENU_ID, false); + else + this->contextMenu()->setItemEnabled(SUSPEND2RAM_MENU_ID, false); + } + + if (suspend.standby && (suspend.standby_allowed || suspend.standby_allowed == -1)) { + this->contextMenu()->setItemEnabled(STANDBY_MENU_ID, true); + } else { + if (!suspend.standby) + this->contextMenu()->setItemVisible(STANDBY_MENU_ID, false); + else + this->contextMenu()->setItemEnabled(STANDBY_MENU_ID, false); + } + } + + if (hwinfo->update_info_cpufreq_policy_changed == true){ + updateCPUFreqMenu(); + } + + BatteryCollection *primary = hwinfo->getPrimaryBatteries(); + + if (hwinfo->update_info_primBattery_changed == true){ + justMins.setNum(primary->getRemainingMinutes() % 60); + justMins = justMins.rightJustify(2, '0'); + + redraw_pixmap = 1; + hwinfo->update_info_primBattery_changed = false; + } + + updateSchemeMenu(); + + if (redraw_pixmap){ + redrawPixmap(); + } + + kdDebugFuncOut(trace); +} + +/*! + * This function is involved if the CPUFreqMenu must be updated. + */ +void kpowersave::updateCPUFreqMenu(){ + kdDebugFuncIn(trace); + + if (hwinfo->supportCPUFreq() && hwinfo->isOnline() && hwinfo->isCpuFreqAllowed()) { + /* set CPU frequency menu entries *********/ + /* speed menu has id 3 in context menu */ + contextMenu()->setItemVisible(CPUFREQ_MENU_ID, true); + contextMenu()->setItemEnabled(CPUFREQ_MENU_ID, true); + contextMenu()->setItemVisible(CPUFREQ_SEPARATOR_MENU_ID, true); + + switch (hwinfo->getCurrentCPUFreqPolicy()){ + case PERFORMANCE: + speed_menu->setItemChecked(PERFORMANCE, true); + speed_menu->setItemChecked(DYNAMIC, false); + speed_menu->setItemChecked(POWERSAVE, false); + break; + case DYNAMIC: + speed_menu->setItemChecked(PERFORMANCE, false); + speed_menu->setItemChecked(DYNAMIC, true); + speed_menu->setItemChecked(POWERSAVE, false); + break; + case POWERSAVE: + speed_menu->setItemChecked(PERFORMANCE, false); + speed_menu->setItemChecked(DYNAMIC, false); + speed_menu->setItemChecked(POWERSAVE, true); + break; + } + } else { + /* there never were policies */ + if (!speed_menu) { + return ; + } else if (hwinfo->supportCPUFreq() && (hwinfo->isCpuFreqAllowed() != 1)) { + contextMenu()->setItemEnabled(CPUFREQ_MENU_ID, false); + contextMenu()->setItemVisible(CPUFREQ_SEPARATOR_MENU_ID, true); + } else{ + /* there were CPU freq policies, but they are not accessible any more */ + /* delete speed_menu */ + contextMenu()->setItemVisible(CPUFREQ_MENU_ID, false); + contextMenu()->setItemVisible(CPUFREQ_SEPARATOR_MENU_ID, false); + } + } + + hwinfo->update_info_cpufreq_policy_changed = false; + + kdDebugFuncOut(trace); +} + +/*! + * The function used to update the scheme menu. A update is needed if + * if there is maybe new schemes or if the current scheme changed or switched + * By this way also set the settings for screensaver and other parameter + * related to the selected scheme. + */ +void kpowersave::updateSchemeMenu(){ + kdDebugFuncIn(trace); + + if (settings->schemes.count() == 0 || !hwinfo->isOnline()){ + /* there never were schemes */ + if (!scheme_menu) + return ; + else{ + /* there were schemes, but they are not accessible any more */ + /* delete scheme_menu */ + scheme_menu->clear(); + contextMenu()->setItemVisible(SCHEME_MENU_ID, false); + contextMenu()->setItemVisible(SCHEME_SEPARATOR_MENU_ID, false); + return ; + } + } + + /* redraw all scheme entries ... */ + scheme_menu->clear(); + // clear the list of real scheme names + org_schemenames.clear(); + + org_schemenames = settings->schemes; + + int x = 0; + for ( QStringList::iterator it = org_schemenames.begin(); it != org_schemenames.end(); ++it ) { + + QString _t = *it; + + if ( *it == settings->ac_scheme ){ + scheme_menu->insertItem( SmallIcon("scheme_power", QIconSet::Automatic), + i18n( (QString)*it ), x, x); + } + else{ + if ( *it == settings->battery_scheme ){ + scheme_menu->insertItem(SmallIcon("scheme_powersave", QIconSet::Automatic), + i18n( *it ), x, x); + } + else{ + if ((QString)*it == "Acoustic"){ + scheme_menu->insertItem(SmallIcon("scheme_acoustic", + QIconSet::Automatic), + i18n("Acoustic"), x, x); + } + else if ((QString)*it == "Presentation"){ + scheme_menu->insertItem(SmallIcon("scheme_presentation", + QIconSet::Automatic), + i18n("Presentation"), x, x); + + } + else if((QString)*it == "AdvancedPowersave") { + scheme_menu->insertItem(SmallIcon("scheme_advanced_powersave", + QIconSet::Automatic), + i18n( "Advanced Powersave" ), x, x); + } + else { + scheme_menu->insertItem(i18n( *it ), x, x); + } + } + } + + if ( *it == settings->currentScheme ) { + scheme_menu->setItemChecked(x, true); + } + ++x; + } + + if (x == 0 && scheme_menu){ + // this should not happen, scheme_list should have been NULL before + // now we'd have an empty menu ... + } + else{ + contextMenu()->setItemVisible(SCHEME_MENU_ID, true); + contextMenu()->setItemVisible(SCHEME_SEPARATOR_MENU_ID, true); + } + + kdDebugFuncOut(trace); +} + + +/*! + * Reimplemented eventhandler for mouse enterEvent. This is called if the mouse cursor + * enters the widget. In this case if the user move the mouse cursor over the kpowersave + * trayicon. \n \n + * We use this event to update the Tooltip with all needed information. The time beetween + * the event and the automatically popup of the QToolTip should be long enought to collect + * the needed values and add a updated Tooltip. + */ +void kpowersave::enterEvent( QEvent */*qee*/ ){ + + updateTooltip(); + +} + +/*! + * Event handler for mouse wheel events. If the system supports changing display + * brightness and changing brightness is enabled in the current scheme settings, + * this will raise the brightness by one level for wheel up events and lower the + * brightness by one level for wheel down events. + */ +void kpowersave::wheelEvent (QWheelEvent *qwe) +{ + kdDebugFuncIn(trace); + + if (!hwinfo->supportBrightness() && settings->brightness) + return; + + if (qwe->orientation () == Vertical) { + if (qwe->delta() > 0) { + do_brightnessUp(5); + } else { + do_brightnessDown(5); + } + } + + kdDebugFuncOut(trace); +} + +/*! + * Reimplemented eventhandler for mousePressEvents which is involved if the user click + * on the icon on the kickerapplet. This was written to guarantee that a click with the + * right and the left mousebutton activate the menu. In the future this can also used + * to popup maybe a other menu. + */ +void kpowersave::mousePressEvent(QMouseEvent *qme){ + kdDebugFuncIn(trace); + + KSystemTray::mousePressEvent(qme); + if (hwinfo->isOnline()) { + if (qme->button() == RightButton){ + // TODO check if maybe some rechecks needed + this->contextMenu()->exec(QCursor::pos()); + } else if (qme->button() == LeftButton) { + showDetailedDialog(); + } + } + + kdDebugFuncOut(trace); +} + +/*! + * \b SLOT called if the detaileddialog is closed. With this we prevent open + * the dialog twice, use this function to reset the used variables. + */ +void kpowersave::closedetaileddialog() { + detailedIsShown = false; +} + +/*! + * \b SLOT used to display error messages related to D-Bus in kpowersave. This function + * block all messeges which we have in kpowersave! + * TODO: do something usefull + */ +void kpowersave::showDBusErrorMsg( int type ){ + kdDebugFuncIn(trace); + + static bool displayed = false; + + QString msg; + QString dlg_name; + + switch (type) { + case DBUS_RUNNING: + update(); + return; + case DBUS_NOT_RUNNING: + msg = i18n("The D-Bus daemon is not running.\nStarting it will " + "provide full functionality: /etc/init.d/dbus start"); + dlg_name = "dbusNotRunning"; + break; + default: + kdDebugFuncOut(trace); + return; + } + + if (!displayed && !dlg_name.isEmpty()) { + infoDialog *dlg = new infoDialog( config, i18n("Warning"), msg, + i18n("Don't show this message again."), dlg_name); + + if (!dlg->dialogIsDisabled()) { + dlg->show(); + } + // set this always to true ... this should reduce the calls + displayed = true; + } + + kdDebugFuncOut(trace); +} + +/*! + * \b SLOT to display the HAL error message. We use this + * function to delay the message, and prevent display them is HAL or + * powersaved restarted. + */ +void kpowersave::showHalErrorMsg() { + kdDebugFuncIn(trace); + + if (hwinfo->isOnline()) { + // HAL is back! + update(); + } + if (!hwinfo->dbus_terminated) { + if(hal_error_shown && !DISPLAY_HAL_ERROR_Timer->isActive() && hwinfo->hal_terminated){ + KPassivePopup::message( i18n("ERROR"), + i18n("Could not get information from HAL. The haldaemon is " + "maybe not running."), + SmallIcon("messagebox_warning", 20), this, + i18n("Error"), 5000); + } + else if (hwinfo->hal_terminated && !hal_error_shown && !DISPLAY_HAL_ERROR_Timer->isActive()) { + hal_error_shown = true; + DISPLAY_HAL_ERROR_Timer->start(HAL_ERROR_MSG_intervall, true); + } + else if (!hwinfo->hal_terminated) { + hal_error_shown = false; + DISPLAY_HAL_ERROR_Timer->stop(); + } + } else { + // only for the case that HAL is also down with dbus and not back after restart + if (hwinfo->hal_terminated && !hal_error_shown && !DISPLAY_HAL_ERROR_Timer->isActive()) + DISPLAY_HAL_ERROR_Timer->start(HAL_ERROR_MSG_intervall, true); + } + + kdDebugFuncOut(trace); + return; +} + +/*! + * \b SLOT used to display messeges in kpowersave. This function + * block all messeges which we have in kpowersave! + */ +void kpowersave::showErrorMessage( QString msg ){ + kdDebugFuncIn(trace); + + if(settings->psMsgAsPassivePopup) { + KPassivePopup::message("KPowersave", msg, SmallIcon("messagebox_warning", 20), + this, i18n("Warning"), 10000); + } else { + kapp->updateUserTimestamp(); + // KMessageBox::error( 0, msg); + KMessageBox::queuedMessageBox(0, KMessageBox::Error, msg); + } + + kdDebugFuncOut(trace); +} + + +/*! + * Use this function to set the SchemeSettings. This function currently set the + * e.g. the screensaver and dpms settings. Don't forget to call this function if + * a scheme is changed or if the settings changed. + */ +void kpowersave::setSchemeSettings(){ + kdDebugFuncIn(trace); + + // --> check if there is a scheme set, if not, use defaults + if ( settings->currentScheme.isEmpty()) { + if (hwinfo->getAcAdapter()) { + settings->load_scheme_settings( settings->ac_scheme); + } else { + settings->load_scheme_settings( settings->battery_scheme); + } + } + + // call setPowerSave() depending on AC state + if (settings->callSetPowerSaveOnAC) { + if (hwinfo->getAcAdapter()) + hwinfo->setPowerSave(false); + else + hwinfo->setPowerSave(true); + } + + // --> set autosuspend settings + if(settings->autoSuspend) { + setAutoSuspend(false); + } else { + this->contextMenu()->setItemVisible(AUTOSUSPEND_MENU_ID, false); + this->contextMenu()->setItemChecked(AUTOSUSPEND_MENU_ID, false); + this->contextMenu()->setItemVisible(AUTOSUSPEND_SEPARATOR_MENU_ID, false); + autoSuspend->stop(); + } + + // --> set autodimm settings + if (settings->autoDimm) { + setAutoDimm(true); + } else { + autoDimm->stop(); + } + + // --> set screensaver + if(settings->specSsSettings){ + if(settings->disableSs) display->setScreenSaver(false); + else { + display->setScreenSaver(true); + if(settings->blankSs) display->blankOnlyScreen(true); + else { + display->blankOnlyScreen(false); + } + } + + } // TODO: check if this really work !!! + else if(getenv("KDE_FULL_SESSION")) { + // try to reset the complete screensaver settings. Ff this fail, use own methodes + if (!display->resetKDEScreensaver()) { + settings->load_kde(); + // Always disable blankOnly screensaver setting (default). KDE does + // not provide a GUI to configure it and most likely we are the + // only ones messing with it + display->blankOnlyScreen(false); + + // reset to global screensaver settings + if(!settings->kde->enabled) display->setScreenSaver(false); + else { + display->setScreenSaver(true); + // What should we do with settings->kde->lock ? + // Maybe nothing ?! + } + } + } else if ((getenv("DESKTOP_SESSION") != NULL) && !strcmp(getenv("DESKTOP_SESSION"), "gnome")) { + // use this to set XScreensaver back to default settings this should + // also cover the DPMS settings for GNOME/XScreensaver + display->resetXScreensaver(); + } + + // --> set DPMS settings + if(settings->specPMSettings){ + // set the new DPMS settings + if(settings->disableDPMS) { + display->setDPMS(false); + } + else { + display->setDPMS(true); + display->has_DPMS = display->setDPMSTimeouts( settings->standbyAfter, + settings->suspendAfter, + settings->powerOffAfter); + } + } + else if(getenv("KDE_FULL_SESSION")){ + // try to reset the KDE screensaver/DPMS settings (if there are also + // no special screensaver settings) otherwise fall back and set values from files + if (!settings->specSsSettings && !display->resetKDEScreensaver()) { + settings->load_kde(); + // reset to global screensaver settings + if(!settings->kde->displayEnergySaving) { + display->setDPMS(false); + } + else { + display->setDPMS(true); + display->has_DPMS = display->setDPMSTimeouts( settings->kde->displayStandby, + settings->kde->displaySuspend, + settings->kde->displayPowerOff); + } + } + } + + // --> set brightness settings + if(settings->brightness && hwinfo->supportBrightness()) { + // set to given values + hwinfo->setBrightness (-1, settings->brightnessValue); + } + + // --> set CPU Freq settings + if(hwinfo->supportCPUFreq()) { + hwinfo->setCPUFreq( settings->cpuFreqPolicy, settings->cpuFreqDynamicPerformance); + } + + kdDebugFuncOut(trace); +} + +/*! + * \b SLOT which called to set and start the autosuspend monitoring. + * \param resumed boolean value which represent information if machine + * currently back from suspend/standby + */ +void kpowersave::setAutoSuspend( bool resumed ){ + if (trace) kdDebug() << funcinfo << "IN: " << "resumed? " << resumed << endl; + + if(settings->autoInactiveActionAfter > 0 && settings->autoSuspend) { + int autoInactiveActionAfter = 0; + + if( settings->autoInactiveAction.startsWith("_NONE_")) { + autoSuspend->stop(); + return; + } + if (resumed) { + autoSuspend->stop(); + delete autoSuspend; + autoSuspend = new autosuspend(); + connect(autoSuspend, SIGNAL(inactivityTimeExpired()), this, + SLOT(do_autosuspendWarn())); + } + + if (settings->autoSuspendCountdown && (settings->autoSuspendCountdownTimeout > 0)) { + autoInactiveActionAfter = ((settings->autoInactiveActionAfter * 60) - + settings->autoSuspendCountdownTimeout); + } else { + autoInactiveActionAfter = settings->autoInactiveActionAfter * 60; + } + + if(settings->autoInactiveSBlistEnabled) { + autoSuspend->start( autoInactiveActionAfter, settings->autoInactiveSBlist ); + } + else { + autoSuspend->start( autoInactiveActionAfter, settings->autoInactiveGBlist ); + } + this->contextMenu()->setItemVisible(AUTOSUSPEND_SEPARATOR_MENU_ID, true); + this->contextMenu()->setItemVisible(AUTOSUSPEND_MENU_ID, true); + } + else { + // if autosuspend is not NULL: stop autosuspend + if (autoSuspend) { + autoSuspend->stop(); + } + + this->contextMenu()->setItemVisible(AUTOSUSPEND_MENU_ID, false); + this->contextMenu()->setItemVisible(AUTOSUSPEND_SEPARATOR_MENU_ID, false); + } + + kdDebugFuncOut(trace); +} + +/*! + * \b SLOT which called to set and start the autodimm monitoring. + * \param resumed boolean value which represent information if machine + * currently back from suspend/standby + */ +void kpowersave::setAutoDimm( bool resumed ){ + if (trace) kdDebug() << funcinfo << "IN: " << "resumed? " << resumed << endl; + + if(settings->autoDimmAfter > 0 && settings->autoDimm) { + if(settings->autoDimmTo < 0) { + autoDimm->stop(); + kdWarning() << "Not allowed or set level for dimm" << endl; + } else { + if (resumed) { + // setup again + autoDimm->stop(); + delete autoDimm; + autoDimm = new autodimm(); + connect(autoDimm, SIGNAL(inactivityTimeExpired()), this, SLOT(do_downDimm())); + connect(autoDimm, SIGNAL(UserIsActiveAgain()), this, SLOT(do_upDimm())); + } + + if (settings->autoDimmSBlistEnabled) { + autoDimm->start(settings->autoDimmAfter * 60, settings->autoDimmSBlist); + } else { + autoDimm->start(settings->autoDimmAfter * 60, settings->autoDimmGBlist); + } + } + } else { + if (autoDimm) + autoDimm->stop(); + } + + kdDebugFuncOut(trace); +} + +// -------- start KNotify functions ------------- // + +/*! + * \b SLOT called if a battery warning state reached and related signal recieved. + * Here we emit the related KNotify event, if not disabled. + * \param type integer with the type of the battery + * \param state integer represent the reached battery state + */ +void kpowersave::notifyBatteryStatusChange ( int type, int state ) { + if (trace) kdDebug() << funcinfo << "IN: " << "type: " << type << "state: " << state << endl; + + + if (type == BAT_PRIMARY) { + BatteryCollection *primary = hwinfo->getPrimaryBatteries(); + int min = primary->getRemainingMinutes(); + + if (primary->getChargingState() == CHARGING) { + kdDebug() << "kpowersave::notifyBatteryStatusChange: Battery is charging, ignore event" << endl; + return; + } + if (hwinfo->getAcAdapter()) { + // the machine is on AC, no need to inform about battery state, + // this is maybe only a race condition with not directly actuall + // charge state + kdDebug() << "kpowersave::notifyBatteryStatusChange: Machine is on AC, ignore event" << endl; + kdDebugFuncOut(trace); + return; + } + + switch (state) { + case BAT_WARN: + if (!settings->disableNotifications) + KNotifyClient::event(this->winId(), "battery_warning_event", + i18n("Battery state changed to WARNING -- remaining time: " + "%1 hours and %2 minutes.").arg(min/60).arg(min%60)); + // set/call related actions + handleActionCall(settings->batteryWarningLevelAction, + settings->batteryWarningLevelActionValue); + break; + case BAT_LOW: + if (!settings->disableNotifications) + KNotifyClient::event(this->winId(), "battery_low_event", + i18n("Battery state changed to LOW -- remaining time: " + "%1 hours and %2 minutes.").arg(min/60).arg(min%60)); + // set/call related actions + handleActionCall(settings->batteryLowLevelAction, + settings->batteryLowLevelActionValue); + break; + case BAT_CRIT: + // handle carefully: + if (settings->batteryCriticalLevelAction == GO_SHUTDOWN) { + if (!settings->disableNotifications) + KNotifyClient::event(this->winId(), "battery_critical_event", + i18n("Battery state changed to CRITICAL -- " + "remaining time: %1 hours and %2 minutes.\n" + "Shut down your system or plug in the power " + "cable immediately. Otherwise the machine\n" + "will go shutdown in 30 seconds") + .arg(min/ 60).arg(min%60)); + + QTimer::singleShot(30000, this, SLOT(handleCriticalBatteryActionCall())); + } else { + if (!settings->disableNotifications) + KNotifyClient::event(this->winId(), "battery_critical_event", + i18n("Battery state changed to CRITICAL -- " + "remaining time: %1 hours and %2 minutes.\n" + "Shut down your system or plug in the power " + "cable immediately.") + .arg(min/ 60).arg(min%60)); + + handleActionCall(settings->batteryCriticalLevelAction, + settings->batteryCriticalLevelActionValue); + } + break; + default: + break; + } + } else { + // TODO: add some code later for the other batteries + } + + kdDebugFuncOut(trace); +} + + +/*! + * Function to call the action for battery critical event. This is ugly, but + * because of QTimer::singleShot() can't take param ... + * NOTE: Use this only for SHUTDOWN atm + */ +void kpowersave::handleCriticalBatteryActionCall () { + kdDebugFuncIn(trace); + + handleActionCall(GO_SHUTDOWN, settings->batteryCriticalLevelActionValue, true, true); + + kdDebugFuncOut(trace); +} + +/*! + * Function to set a special action for a battery warning level. + * \param action integer with the type of the action from \ref action + * \param value integer value of the action as e.g. a brightness level + * \param checkAC bool if there should be a check for AC state befor call the action + */ +void kpowersave::handleActionCall ( action action, int value , bool checkAC, bool batWarnCall ) { + if (trace) kdDebug() << funcinfo << "IN: " << "action: " << action << "value: " << value + << "checkAC: " << checkAC << endl; + + if (hwinfo->currentSessionIsActive()) { + switch (action) { + case GO_SHUTDOWN: + // to be shure if we really need the shutdown + if ((checkAC && !hwinfo->getAcAdapter()) || !checkAC ) { + DCOPRef shutdown = DCOPRef( "ksmserver", "ksmserver" ); + shutdown.send("logout", 0, 2, 2); + } + break; + case LOGOUT_DIALOG: + { + DCOPRef shutdown = DCOPRef( "ksmserver", "ksmserver" ); + shutdown.send("logout", 1, 2, 2); + } + break; + case GO_SUSPEND2RAM: + QTimer::singleShot(100, this, SLOT(do_suspend2ram())); + break; + case GO_SUSPEND2DISK: + QTimer::singleShot(100, this, SLOT(do_suspend2disk())); + break; + case BRIGHTNESS: + hwinfo->setBrightness( -1, value ); + break; + case CPUFREQ_POWERSAVE: + hwinfo->setCPUFreq( POWERSAVE ); + break; + case CPUFREQ_DYNAMIC: + hwinfo->setCPUFreq( DYNAMIC, settings->cpuFreqDynamicPerformance ); + break; + case CPUFREQ_PERFORMANCE: + hwinfo->setCPUFreq( PERFORMANCE ); + break; + case SWITCH_SCHEME: // not supported atm + case UNKNOWN_ACTION: + case NONE: + default: + kdError() << "Could not set the requested Action: " << action << endl; + break; + } + } else if (batWarnCall) { + if (!hwinfo->isPolicyPowerIfaceOwned()) { + switch (action) { + case GO_SHUTDOWN: + // to be shure if we really need the shutdown + if ((checkAC && !hwinfo->getAcAdapter()) || !checkAC ) { + DCOPRef shutdown = DCOPRef( "ksmserver", "ksmserver" ); + shutdown.send("logout", 0, 2, 2); + } + break; + default: + kdError() << "Could not call requested action, inactive session: " << action << endl; + break; + } + } + } else { + kdError() << "Could not set the requested action, session is inactiv: " << action << endl; + } + kdDebugFuncOut(trace); +} + +/*! + * \b SLOT called if ac stated changed. Here we emit the related KNotify event. + * and switch to the AC/battery scheme depending on the state of AC + * \param acstate boolean represent the state of AC (true == AC plugged in ...) + */ +void kpowersave::handleACStatusChange ( bool acstate , bool notifyEvent ) { + if (trace) kdDebug() << funcinfo << "IN: " << "acstate: " << acstate << "notifyEvent: " << notifyEvent << endl; + + int index; + + if (hwinfo->currentSessionIsActive()) { + + // emit notify event + if(notifyEvent && !settings->disableNotifications) { + if (acstate) { + KNotifyClient::event(this->winId(), "plug_event", i18n("AC adapter plugged in")); + } else { + KNotifyClient::event(this->winId(), "unplug_event", i18n("AC adapter unplugged")); + } + } + + // handle switch to AC/battery default scheme + if (acstate) { + index = settings->schemes.findIndex(settings->ac_scheme); + } else { + index = settings->schemes.findIndex(settings->battery_scheme); + } + + if (index != -1) + do_setActiveScheme(index); + + // update applet + update(); + } + + kdDebugFuncOut(trace); +} + +/*! + * \b SLOT called if scheme switched. Here we emit the related KNotify events + * if they are not disabled. + */ +void kpowersave::notifySchemeSwitch() { + kdDebugFuncIn(trace); + + if(!settings->disableNotifications) { + QString _scheme = settings->currentScheme; + QString eventType; + + if( _scheme != "Performance" && _scheme != "Powersave" && _scheme != "Acoustic" && + _scheme != "Presentation" && _scheme != "AdvancedPowersave" ) + eventType = "scheme_Unknown"; + else + eventType = "scheme_" + _scheme; + + KNotifyClient::event( this->winId(), eventType, + i18n("Switched to scheme: %1").arg(i18n(_scheme))); + } + + kdDebugFuncOut(trace); +} + +/*! + * \b SLOT called if the machine suspend. Here we emit the related KNotify events + * if they are not disabled. + */ +void kpowersave::notifySuspend( int suspendType ) { + kdDebugFuncIn(trace); + + if(!settings->disableNotifications) { + switch (suspendType) { + case SUSPEND2DISK: + KNotifyClient::event( this->winId(), "suspend2disk_event", + i18n("System is going into %1 now."). + arg(i18n("Suspend to Disk"))); + break; + case SUSPEND2RAM: + KNotifyClient::event( this->winId(), "suspend2ram_event", + i18n("System is going into %1 now."). + arg(i18n("Suspend to RAM"))); + break; + case STANDBY: + KNotifyClient::event( this->winId(), "standby_event", + i18n("System is going into %1 now."). + arg(i18n("Standby"))); + break; + default: + break; + } + } + + kdDebugFuncOut(trace); +} + +/*! + * \b SLOT called to independent handleResumeSignal() from event loop and + * to avoid problems with the QT3 D-Bus bindings + */ +void kpowersave::forwardResumeSignal( int result ) { + if (trace) kdDebug() << funcinfo << "IN: " << "result: " << result << endl; + + resume_result = result; + + QTimer::singleShot(100, this, SLOT(handleResumeSignal())); + + kdDebugFuncOut(trace); +} + +/*! + * \b SLOT called if the machine suspend. Here we emit the related KNotify events + * if they are not disabled. + */ +void kpowersave::handleResumeSignal() { + kdDebugFuncIn(trace); + + // fake key to show the login dialog if we locked the screen + if(settings->lockOnSuspend) { + activateLoginScreen(); + } + + // reset autosuspend and autodimm + setAutoSuspend(true); + setAutoDimm(true); + + // reset the CPU Freq Policy ... for more see https://bugzilla.novell.com/show_bug.cgi?id=223164 + if(hwinfo->supportCPUFreq()) { + hwinfo->setCPUFreq( settings->cpuFreqPolicy, settings->cpuFreqDynamicPerformance ); + } + + if(!settings->disableNotifications) { + switch (calledSuspend) { + case SUSPEND2DISK: + KNotifyClient::event( this->winId(), "resume_from_suspend2disk_event", + i18n("System is resumed from %1.").arg( + i18n("Suspend to Disk"))); + break; + case SUSPEND2RAM: + KNotifyClient::event( this->winId(), "resume_from_suspend2ram_event", + i18n("System is resumed from %1.").arg( + i18n("Suspend to RAM"))); + break; + case STANDBY: + KNotifyClient::event( this->winId(), "resume_from_standby_event", + i18n("System is resumed from %1.").arg( + i18n("Standby"))); + break; + default: + kdError() << "called suspend type unknown" << endl; + break; + + } + } + + // handle result of the resume/suspend + if (resume_result == 0 || resume_result == INT_MAX) { + if ( resume_result == INT_MAX ) + kdWarning() << "Unknown if we successful resumed, look like a D-Bus timeout since " + << "elapsed time between suspend and resume is higher than 6 hours" << endl; + + // successful resumed ... remount only in this case + if (!handleMounts(false)) { + KPassivePopup::message( i18n("WARNING"), + i18n("Could not remount (all) external storage" + " media."), SmallIcon("messagebox_warning", 20), + this, i18n("Warning"), 15000); + } + } else { + kdError() << "Unknown error while suspend. Errorcode: " << resume_result << endl; + QString msg; + + msg = i18n("An unknown error occurred while %1. The errorcode is: '%2'"). + arg(getSuspendString(calledSuspend)).arg(resume_result); + +#if defined(DISTRO_IS_SUSE) || defined(DISTRO_IS_SLES_SLED) || defined(DISTRO_IS_PARDUS) + // okay we know this system use pm-utils and log is under /var/log/pm-suspend.log + msg += "\n" + i18n("Do you want to have a look at the log file?"); + int answer = KMessageBox::questionYesNo(0, msg, i18n("Error while %1"). + arg(getSuspendString(calledSuspend))); + if (answer == KMessageBox::Yes) { + #if defined(DISTRO_IS_SLES_SLED) + switch (calledSuspend) { + case SUSPEND2DISK: + logview = new LogViewer ("/var/log/suspend2disk.log"); + logview->show(); + break; + case SUSPEND2RAM: + logview = new LogViewer ("/var/log/suspend2ram.log"); + logview->show(); + break; + case STANDBY: + logview = new LogViewer ("/var/log/standby.log"); + logview->show(); + break; + default: + break; + } + #else + logview = new LogViewer ("/var/log/pm-suspend.log"); + logview->show(); + #endif + } +#else + KMessageBox::error(0, msg, i18n("Error while %1").arg(getSuspendString(calledSuspend))); +#endif + } + // set back ... suspend is handled + calledSuspend = -1; + resume_result = 0; + + kdDebugFuncOut(trace); +} + +/*! + * \b SLOT called if the state of the current session change + * \param state boolean represent the state of the session + * TODO: fix scheme handling + * TODO: fix critical battery situations (see the todo file in the source) + */ +void kpowersave::handleSessionState (bool state) { + kdDebugFuncIn(trace); + + if (state) { + // session is active again + if (settings->autoSuspend) disableAutosuspend(false); + if (settings->autoDimm) setAutoDimm(false); + /* handle may missed/not set AC status changes while the + session was inactive and set them to the default schemes ?! */ + handleACStatusChange(hwinfo->getAcAdapter(), false); + + } else { + // session is now inactive + if (settings->autoSuspend) disableAutosuspend(true); + if (settings->autoDimm) autoDimm->stop(); + } + + kdDebugFuncOut(trace); +} + +// -------- end KNotify functions ------------- // +// ------------ helper functions -------------- // + +/*! + * Helper function to get a i18n name for a suspend type. + * \param type Integer value with the suspend type + * \return QString with the translated name or NULL if it fail + */ +QString kpowersave::getSuspendString (int type) { + kdDebugFuncIn(trace); + + switch (type) { + case SUSPEND2DISK: + return i18n("Suspend to Disk"); + break; + case SUSPEND2RAM: + return i18n("Suspend to RAM"); + break; + case STANDBY: + return i18n("Standby"); + break; + default: + return QString(); + } + + kdDebugFuncOut(trace); +} + +// --------- end helper functions ------------- // +// ------------ DCOP functions ---------------- // + +/*! + * DCOP Interface funtion to lock the screen with the userdefined methode. + * \return boolean with the result of locking the screen + * \retval true if locking the screen was successful + * \retval false if locking the screen failed or the user don't wan't to lock + */ +bool kpowersave::lockScreen(){ + kdDebugFuncIn(trace); + + settings->load_general_settings(); + + return display->lockScreen( settings->lockmethod ); + + kdDebugFuncOut(trace); +} + +/*! + * DCOP Interface funtion to return the name of the current powersave scheme. + * \return QString with the name of the current scheme + */ +QString kpowersave::currentScheme (){ + kdDebugFuncIn(trace); + + if(hwinfo->isOnline()) { + return settings->currentScheme; + } else { + return "ERROR: D-Bus and/or HAL not running"; + } + + kdDebugFuncOut(trace); +} + +/*! + * DCOP Interface funtion to return the name of the current cpuFreqPolicy. + * \return QString with the name of the current cpuFreqPolicy + */ +QString kpowersave::currentCPUFreqPolicy() { + kdDebugFuncIn(trace); + + if(hwinfo->isOnline()) { + QString _cpuFreq = ""; + switch (hwinfo->getCurrentCPUFreqPolicy()){ + case PERFORMANCE: + _cpuFreq = "PERFORMANCE"; + break; + case DYNAMIC: + _cpuFreq = "DYNAMIC"; + break; + case POWERSAVE: + _cpuFreq = "POWERSAVE"; + break; + default: + _cpuFreq = "UNKNOWN"; + break; + } + return _cpuFreq; + } else { + return "ERROR: HAL or/and DBus not running"; + } + + kdDebugFuncOut(trace); +} + +/*! + * DCOP Interface funtion to send a list with the allowed + * CPU Frequency states. + * \return QStringList with the supported CPUFreq states + */ +QStringList kpowersave::listCPUFreqPolicies() { + kdDebugFuncIn(trace); + + QStringList ret_list; + if (hwinfo->isCpuFreqAllowed()) { + ret_list.append("PERFORMANCE"); + ret_list.append("DYNAMIC"); + ret_list.append("POWERSAVE"); + } + else { + ret_list.append("NOT SUPPORTED"); + } + + kdDebugFuncOut(trace); + return ret_list; +} + +/*! + * DCOP Interface funtion to set the current CPUFreq policy + * \param policy QString with the policy to set, only values from + * list_CPUFreqPolicies are allowed (except "NOT SUPPORTED") + * \return boolean with the result of set the requested CPUFreq policy + * \retval true if successful set + * \retval false if not supported or any other failure + */ +bool kpowersave::do_setCPUFreqPolicy( QString policy ) { + if (trace) kdDebug() << funcinfo << "IN: " << "policy: " << policy << endl; + + + bool ret = true; + /* + if (hwinfo->isCpuFreqAllowed() && hwinfo->isOnline()) { + if (policy == "PERFORMANCE") { + hwinfo->setCPUFreq(PERFORMANCE); + } else if (policy == "DYNAMIC") { + hwinfo->setCPUFreq(DYNAMIC, settings->cpuFreqDynamicPerformance); + } else if (policy == "POWERSAVE") { + hwinfo->setCPUFreq(POWERSAVE); + } else { + kdDebugFuncOut(trace); + ret = false; + } + } else { + ret = false; + } + */ + kdDebugFuncOut(trace); + return ret; +} + +/*! + * DCOP Interface funtion to send a list with the supported and enabled + * sleeping states. + * \return QStringList with the supported spleeping states + */ +QStringList kpowersave::allowed_sleepingStates(){ + kdDebugFuncIn(trace); + + QStringList sleepList; + if(hwinfo->isOnline()) { + if (suspend.suspend2disk && (suspend.suspend2disk_allowed || + suspend.suspend2disk_allowed == -1)){ + sleepList.append("suspendToDisk"); + } + if (suspend.suspend2ram && (suspend.suspend2ram_allowed || + suspend.suspend2ram_allowed == -1)){ + sleepList.append("suspendToRAM"); + } + if (suspend.standby && (suspend.standby_allowed || suspend.standby_allowed == -1)){ + sleepList.append("standBy"); + } + if(sleepList.isEmpty()){ + sleepList.append("NO_SLEEPING_STATES_SUPPORTED"); + } + } + else { + sleepList.append("ERROR: D-Bus and/or HAL not running"); + } + + kdDebugFuncOut(trace); + return sleepList; +} + +/*! + * DCOP Interface funtion to send a list with the all schemes. + * \return QStringList with all schemes + */ +QStringList kpowersave::listSchemes(){ + kdDebugFuncIn(trace); + + QStringList _schemeList; + if(hwinfo->isOnline()) { + if (settings->schemes.count() > 0){ + _schemeList = settings->schemes; + } + } + else { + _schemeList.append("ERROR: D-Bus and/or HAL not running"); + } + + kdDebugFuncOut(trace); + return _schemeList; +} + + +/*! + * DCOP Interface funtion to set the current scheme. + * \return boolean with the result of set the requested scheme + * \retval false if failed (e.g. scheme is not in the list) + * \retval true if scheme found and set + * \param _scheme QString with the scheme to set, scheme should be + * named as list from list_schemes() + */ +bool kpowersave::do_setScheme( QString /*_scheme*/ ) { + kdDebugFuncIn(trace); + +/* int index; + index = settings->schemes.findIndex(_scheme); + + if (index != -1) { + do_setActiveScheme(index); + kdDebugFuncOut(trace); + return true; + } + else { + kdDebugFuncOut(trace); + return false; + } +*/ + kdDebugFuncOut(trace); + return false; +} + +/*! + * DCOP Interface funtion to send the suspend to disk command to powersave. + * \return boolean with the result of calling do_suspend2disk() + * \retval true if successful + * \retval false if not supported or powersaved not running + */ +bool kpowersave::do_suspendToDisk(){ + kdDebugFuncIn(trace); + kdDebugFuncOut(trace); + return do_suspend2disk(); +} + +/*! + * DCOP Interface funtion to send the suspend to disk command to powersave. + * \return boolean with the result of calling do_suspend2ram() + * \retval true if successful + * \retval false if not supported or powersaved not running + */ +bool kpowersave::do_suspendToRAM(){ + kdDebugFuncIn(trace); + kdDebugFuncOut(trace); + return do_suspend2ram(); +} + +/*! + * DCOP Interface funtion to send the suspend to disk command to powersave. + * \return boolean with the result of calling do_standby() + * \retval true if successful + * \retval false if not supported or powersaved not running + */ +bool kpowersave::do_standBy(){ + kdDebugFuncIn(trace); + kdDebugFuncOut(trace); + return do_standby(); +} + +//! dcop function to set the brightness up +bool kpowersave::do_brightnessUp(int percentageStep) { + kdDebugFuncIn(trace); + + bool retval = false; + + if(hwinfo->isOnline()) { + retval = hwinfo->setBrightnessUp(percentageStep); + } + + kdDebugFuncOut(trace); + return retval; +} + +//! dcop function to set the brightness down +bool kpowersave::do_brightnessDown(int percentageStep) { + kdDebugFuncIn(trace); + + bool retval = false; + + if(hwinfo->isOnline()) { + retval = hwinfo->setBrightnessDown(percentageStep); + } + + kdDebugFuncOut(trace); + return retval; +} + + +/*! + * DCOP Interface funtion to stop/start the Autosuspend + * \param disable boolean which tell if the autosuspend should be stopped (true) + * or started (false). + */ +void kpowersave::disableAutosuspend( bool disable ){ + kdDebugFuncIn(trace); + + if(settings->autoSuspend && settings->autoInactiveActionAfter > 0) { + if (disable) { + if ( !contextMenu()->isItemChecked(AUTOSUSPEND_MENU_ID)) { + autoSuspend->stop(); + contextMenu()->setItemChecked(AUTOSUSPEND_MENU_ID, true); + } + } + else { + contextMenu()->setItemChecked(AUTOSUSPEND_MENU_ID, false); + setAutoSuspend(true); + } + } + + kdDebugFuncOut(trace); +} + +/*! + * DCOP Interface funtion to open/close the detailed dialog. + */ +void kpowersave::showDetailedDialog( ){ + kdDebugFuncIn(trace); + + if (detailedIsShown) { + detailedDlg->close(); + delete(detailedDlg); + closedetaileddialog(); + return; + } + + detailedDlg = new detaileddialog(hwinfo, &fullIcon, settings); + + if (detailedDlg) { + detailedDlg->show(); + detailedIsShown = true; + } + + connect(detailedDlg, SIGNAL(destroyed()), this, SLOT(closedetaileddialog())); + + kdDebugFuncOut(trace); +} + +/*! + * DCOP Interface funtion to open the configure dialog. + * \return boolean with the result of open the dialog + * \retval false if failed (e.g. D-Bus or HAL is not running) + * \retval true if correct opend + */ +bool kpowersave::openConfigureDialog (){ + kdDebugFuncIn(trace); + + if(hwinfo->isOnline()) { + showConfigureDialog(); + kdDebugFuncOut(trace); + return config_dialog_shown; + } else { + kdDebugFuncOut(trace); + return false; + } +} + +/*! + * DCOP Interface funtion to find out if the current + * scheme manages DPMS + * \return boolean + * \retval false if current scheme does not overwrite DPMS + * \retval true if current scheme does + */ +bool kpowersave::currentSchemeManagesDPMS () { + kdDebugFuncIn(trace); + + return settings->specPMSettings; + + kdDebugFuncOut(trace); +} + + +//! dcop funtion to get the current brightness level +int kpowersave::brightnessGet() { + kdDebugFuncIn(trace); + + int retval = -1; + + if (hwinfo->supportBrightness()) { + retval = (int)(((float)hwinfo->getCurrentBrightnessLevel() / (float)hwinfo->getMaxBrightnessLevel()-1) * 100.0); + } + + kdDebugFuncOut(trace); + + return retval; +} + +#include "kpowersave.moc" diff --git a/src/kpowersave.desktop b/src/kpowersave.desktop new file mode 100644 index 0000000..914b172 --- /dev/null +++ b/src/kpowersave.desktop @@ -0,0 +1,68 @@ +[Desktop Entry] +Encoding=UTF-8 +Name=kpowersave +Name[xx]=xxkpowersavexx +Name[de]=KPowersave +Name[es]=KPowersave +Name[fr]=KPowersave +Name[it]=KPowersave +Name[ja]=KPowersave +Name[pt_BR]=KPowersave +Name[ru]=KPowersave +Name[sv]=KPowersave +Name[zh_CN]=KPowersave +Name[zh_TW]=KPowersave +GenericName=Battery Monitor +Exec=kpowersave --force-acpi-check +Icon=kpowersave +Type=Application +Comment=Battery monitor and general power management +Comment[bg]=Монитор за батериÑта и оÑновно управление на енергиÑта +GenericName[bg]=Монитор за батериÑта +Comment[cs]=Sledování stavu baterií a správa napájení +GenericName[cs]=Monitor baterie +GenericName[de]=Akkuüberwachung +Comment[de]=Akkuüberwachung und allgemeine Energieverwaltung +GenericName[el]=ΠαÏακολοÏθηση ΜπαταÏίας +GenericName[es]=Monitor de carga de la batería +Comment[es]=Monitor de batería y gestión general de la energía +Comment[fi]=Akkumonitori ja yleinen virranhallinta +GenericName[fi]=Akkumonitori +Comment[fr]=Moniteur de batterie et gestion de l'alimentation +GenericName[fr]=Moniteur de batterie +GenericName[hu]=AkkumulátorfigyelÅ‘ +Comment[it]=Monitor della batteria e gestione generale dell'alimentazione +GenericName[it]=Monitor della batteria +Comment[km]=កមមវធ<200b>ážážšážáž–áž“ážáž™<200b>ážáž˜ áž“áž„ គរបគរង<200b>ážáž¶áž˜áž–áž›<200b>ទទៅ +GenericName[km]=កមមវធ<200b>ážážšážáž–áž“ážáž™<200b>ážáž˜ +Comment[nb]=BatteriovervÃ¥king og generell strømstyring +GenericName[nb]=BatteriovervÃ¥ker +GenericName[nl]=Batterijmonitor +GenericName[ja]=ãƒãƒƒãƒ†ãƒªãƒ¢ãƒ‹ã‚¿ +Comment[ja]=ãƒãƒƒãƒ†ãƒªãƒ¢ãƒ‹ã‚¿ã¨ä¸€èˆ¬é›»æºç®¡ç† +Name[pa]=ਕ-ਊਰਜਾ ਸਭਾਲ +GenericName[pa]=ਬਟਰੀ ਦਰਸ਼ਕ +Comment[pl]=Monitor stanu baterii i ogólne zarzÄ…dzanie energiÄ… +GenericName[pl]=Monitor baterii +Comment[pt]=Monitor de bateria e gestor global de energia +GenericName[pt]=Monitor de Bateria +Comment[pt_BR]=Monitor de Bateria e Gerenciamento de Energia Geral +GenericName[pt_BR]=Monitor de Bateria +GenericName[ru]=Монитор Батареи +Comment[ru]=Монитор батареи и управление ÑнергоÑбережением +GenericName[sv]=Batteriövervakare +GenericName[tr]=Pil durumu izleme ve güç yönetimi arayüzü +Comment[tr]=Pil durumu izleme ve güç yönetimi arayüzü +Comment[uk]=Монітор Ñтану батареї Ñ– загальне ÐºÐµÑ€ÑƒÐ²Ð°Ð½Ð½Ñ Ð¶Ð¸Ð²Ð»ÐµÐ½Ð½Ñм +GenericName[uk]=Монітор батарей +Comment[xx]=xxBattery monitor and general power managementxx +GenericName[zh_CN]=电池监视器 +Comment[zh_CN]=电池监视器和常规电æºç®¡ç† +GenericName[zh_TW]=電池監視器 +Comment[zh_TW]=電池監視器和一般電æºç®¡ç† +X-KDE-autostart-after=panel +X-KDE-StartupNotify=false +X-KDE-UniqueApplet=true +X-KDE-autostart-condition=kpowersaverc:General:Autostart:true +Categories=System;Applet; + diff --git a/src/kpowersave.h b/src/kpowersave.h new file mode 100644 index 0000000..cfd7e01 --- /dev/null +++ b/src/kpowersave.h @@ -0,0 +1,486 @@ +/************************************************************************** +* Copyright (C) 2004 by Thomas Renninger * +* and * +* 2004-2007 by Danny Kukawka * +* , * +* * +* This program is free software; you can redistribute it and/or modify * +* it under the terms of version 2 of the GNU General Public License * +* as published by the Free Software Foundation. * +* * +* This program is distributed in the hope that it will be useful, * +* but WITHOUT ANY WARRANTY; without even the implied warranty of * +* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * +* GNU General Public License for more details. * +* * +* You should have received a copy of the GNU General Public License * +* along with this program; if not, write to the * +* Free Software Foundation, Inc., * +* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. * +***************************************************************************/ + +#ifndef _KPOWERSAVE_H_ +#define _KPOWERSAVE_H_ + +// this is needed to avoid typedef clash with X11/Xmd.h (X11/Xproto.h) +#ifndef QT_CLEAN_NAMESPACE +#define QT_CLEAN_NAMESPACE +#endif + +// Global Header +#ifdef HAVE_CONFIG_H +#include +#endif + +// KDE - Header +#include +#include +#include + +// QT - Header +#include + +// kpowersave - Header +#include "autosuspend.h" +#include "autodimm.h" +#include "configuredialog.h" +#include "countdowndialog.h" +#include "detaileddialog.h" +#include "hardware.h" +#include "kpowersave_debug.h" +#include "logviewer.h" +#include "screen.h" +#include "settings.h" + + +/*! +* \file kpowersave.h +* \brief Headerfile for kpowersave.cpp and the class \ref kpowersave. +*/ + /*! + * \class kpowersave + * \brief The central class for the kpowersave-applet + * \author Danny Kukawka, , + * \author Thomas Renninger, + * \date 2004 - 2007 + */ + +class kpowersave : public KSystemTray, public DCOPObject +{ + Q_OBJECT + K_DCOP + +private: + + // permanent pointers + //! to configure kpowersave + KConfig *config; + //! instance of \ref screen + screen *display; + //! instance of \ref settings + Settings *settings; + //! pointer to class HardwareInfo object + HardwareInfo *hwinfo; + //! instance of \ref autosuspend + autosuspend *autoSuspend; + //! instance of \ref autodimm + autodimm * autoDimm; + + // temporary pointer, use them if needed + //! KProcess to start YaST-module for configuration + KProcess *yast2; + //! instance of \ref ConfigureDialog + /*! the implemtation and all related functions for the configure dialog*/ + ConfigureDialog *configDlg; + //! instance of \ref LogViewer + LogViewer *logview; + //! instance of \ref countDownDialog + countDownDialog *countdown; + + + //! struct wth information about suspend states and permissions + SuspendStates suspend; + //! enum with the last called suspend, this need to be reset if needed + int calledSuspend; + + //! instance of \ref detaileddialog + detaileddialog *detailedDlg; + + //! represent the state of opened \ref detailedDlg + /*! + * This boolean represent information about the detailedDlg. Use this to inform + * if the dialog is displayed. + * \li true: if dialog is displayed + * \li false: if not + */ + bool detailedIsShown; + //! represent the state of the configure dialog + /*! + * This boolean represent information about the configure dialog. Use this to inform + * if the dialog is displayed. + * \li true: if dialog is displayed + * \li false: if not + */ + bool config_dialog_shown; + + //! represent background status of the kickerapplet icon + /*! + * This boolean represent information about the background of the kickerapplet icon. + * \li true: if iconbackground is colored + * \li false: if iconbackground is not colored + */ + bool icon_BG_is_colored; + //! represent color status of the kickerapplet icon + /*! + * This boolean represent the state of the kickerapplet icon. It don't display + * information about the icon backgrund like \ref icon_BG_is_colored . It say + * only that the icon is in state to have a blinking background . + * \li true: if icon set to be colored + * \li false: if icon isn't set to be colored + */ + bool icon_set_colored; + //! represent the state of icon changing + /*! + * This boolean represent information about changing the icon background. It's used to + * change the intervall of redraw the kickerapplet icon. + * \li true: if the state of icon is changed + * \li false: if the state of icon isn't change + */ + bool icon_state_changed; + //! represent the state of the suspend/progress dialog + /*! + * This boolean represent information about the current state of + * visible of the suspend/progress dialog. + * \li true: if the dialog is shown + * \li false: if not + */ + bool suspend_dialog_shown; + //! represent display state of HAL error message + /*! + * This boolean represent information about the current state of + * the HAL error message + * \li true: if the errormessage was already displayed in this context + * \li false: if not + */ + bool hal_error_shown; + + //! tell if the display should get dimmed down + /*! + * This boolean represent information if the display should get dimmed down + * within the \ref do_dimm() function or not. + * \li true: if the display should get dimmed down + * \li false: if the display should get dimmed up + */ + bool autoDimmDown; + + //! to temporary hold the resume result + int resume_result; + + //! a menu entry ID + /*! contains the ID of the menuentry for kpowersave configure Dialog */ + int CONFIGURE_ID; + + int CONFIGURE_EVENTS_ID; + + //! a menu entry ID + /*! contains the ID of the menuentry for YaST-configuration */ + int YAST_MODULE_MENU_ID; + //! a menu seperator ID + /*! contains the ID of the separator between YaST-entry and the sleep-states */ + int SLEEP_SEPARATOR_MENU_ID; + //! a menu entry ID + /*! contains the ID of the menuentry for suspend-to-disk */ + int SUSPEND2DISK_MENU_ID; + //! a menu entry ID + /*! contains the ID of the menuentry for suspend-to-ram */ + int SUSPEND2RAM_MENU_ID; + //! a menu entry ID + /*! contains the ID of the menuentry for stand-by */ + int STANDBY_MENU_ID; + //! a menu seperator ID + /*! contains the ID of the separator between sleep-states-entries and the cpufreq-submenu */ + int CPUFREQ_SEPARATOR_MENU_ID; + //! a submenu ID + /*! contains the ID of the cpufreq sub menu*/ + int CPUFREQ_MENU_ID; + //! a menu seperator ID + /*! contains the ID of the separator between cpufreq- and scheme-submenu*/ + int SCHEME_SEPARATOR_MENU_ID; + //! a submenu ID + /*! contains the ID of the scheme submenu*/ + int SCHEME_MENU_ID; + //! a menu seperator ID + /*! contains the ID of the separator between scheme-submenu and autosuspend*/ + int AUTOSUSPEND_SEPARATOR_MENU_ID; + //! a menu entry ID + /*! contains the ID of the menuentry for disable inactivity actions */ + int AUTOSUSPEND_MENU_ID; + //! a menu seperator ID + /*! contains the ID of the separator between autosuspend and Help*/ + int HELP_SEPARATOR_MENU_ID; + //! a menu ID + /*! contains the ID of the help menu*/ + int HELP_MENU; + + //! number of white pixel in the kickerapplet icon + /*! + * This integer value represent the number of white pixel in the icon for + * the kickerapplet. with this 'global' variable we don't need to count the + * white pixel on every redraw. + */ + int countWhiteIconPixel; + + //! QTimer-interval for icon background + /*! + * Time intervall to set the colored background of the batteryicon on/off. + * The value is 1000 msec/ 1 sec. + */ + static const int BAT_icon_BG_intervall = 1000; + + //! QTimer-interval for display HAL error message + /*! + * Time intervall to delay display the HAL error message to prevent displayed + * the message if only HAL or powersave is restarted. The value is 15000 msec/ 15 sec. + */ + static const int HAL_ERROR_MSG_intervall = 15000; + + //! type of current running suspend + /*! QString store the name of the current running suspend*/ + QString suspendType; + + //! current name of the pixmap + /*! + * Contains the current name of the icon/pixmap. The value must be a filename of a existing iconfile. + * \sa power_icon, no_battery_icon, charge_icon, battery, battery_RED or battery_ORANGE + */ + QString pixmap_name; + + //! contains the 'real' schemenames + /*! + * This list store the real schemenames (not the i18n()-version) + * regarding to position in the scheme-menu + */ + QStringList org_schemenames; + + //! a sub-menu of the kickerapplet + /*! QPopupMenu for the cpufreq-entries. */ + QPopupMenu *speed_menu; + //! a sub-menu of the kickerapplet + /*! QPopupMenu for the scheme-entries. */ + QPopupMenu *scheme_menu; + //! a sub-menu of the kickerapplet + /*! QPopupMenu for the help-entries. */ + QPopupMenu *help_menu; + + + //! icon-pixmap + /*! QPixmap with the (pre-)loaded icon from \ref pixmap_name .*/ + QPixmap pixmap; + //! icon-pixmap + /*! QPixmap with the full draw applet Icon (to be used in other classes) .*/ + QPixmap fullIcon; + + + //! Timer for the blinking Icon background + /*! + * This timer is used to let blink the background of a icon in kicker. + * The timerinterval is defined in \ref BAT_icon_BG_intervall . + */ + QTimer *BAT_WARN_ICON_Timer; + //! Timer to delay the HAL error message + /*! + * This timer is used to add a delay befor display the HAL error message + * The timerinterval is defined in \ref HAL_ERROR_MSG_intervall . + */ + QTimer *DISPLAY_HAL_ERROR_Timer; + //! Timer to dimm down/up the brightness + /*! + * This timer is used dimm the display up and down. The timerinterval + * depends on calculated timePerStep in the calling function. + */ + QTimer *AUTODIMM_Timer; + + //! draw all icon related things for \ref redrawPixmap() + void drawIcon(); + //! to intialise the menu for the kickerapplet + void initMenu(); + //! load the icon for \ref redrawPixmap() + void loadIcon(); + //! draw/redraw the icon for the kickerapplet + void redrawPixmap(); + //! to set the screensaver settings + void setSchemeSettings(); + //! to update the Tooltip of the kickerapplet + void updateTooltip(); + + //! Eventhandler to catch mouse-press-events and react + void mousePressEvent( QMouseEvent *qme ); + //! Event handler to catch mouse wheel events and react + void wheelEvent( QWheelEvent *qwe ); + //! Eventhandler to catch mouse enter events and react + void enterEvent( QEvent *qee); + + //! to handle mount/umount on resume/suspend + bool handleMounts ( bool suspend ); + + //! to get the i18n string for a suspend type + QString getSuspendString (int type); + +private slots: + + //! send command for stand-by to the HAL daemon + bool do_standby(); + //! send command for suspend_to_disk to the HAL daemon + bool do_suspend2disk(); + //! send command for suspend_to_RAM to the HAL daemon + bool do_suspend2ram(); + + //! show warning dialog or call autosuspend if signal \ref inactivity::inactivityTimeExpired() recieved + void do_autosuspendWarn(); + //! execute the autosuspend + bool do_autosuspend(bool chancel); + //! starts the Yast2-power-management module + void do_config(); + //! sets the new scheme with all settings + void do_setActiveScheme( int ); + //! called if icon background must be changed + void do_setIconBG(); + //! to set the autosuspend on/off over the menu + void do_setAutosuspend(); + //! sets the CPU Freq policy via the HAL daemon + void do_setSpeedPolicy( int ); + //! called if there are problems with starting yast module + void slotConfigProcessExited( KProcess * ); + //! called to open the kpowersave help + void slotHelp(); + //! called to open the kpowersave About dialog + void slotAbout(); + //! called to open website to report bugs + void slotReportBug(); + //! called if the configure dialog is destroyed + void observeConfigDlg(); + //! called if user exit from kpowersave + void _quit(); + + //! called if the user get inactive and the display should get dimmed down + void do_downDimm(); + //! called if the user get active again and the display should get dimmed up + void do_upDimm(); + //! SLOT do do the dimmining for autodimm feature + void do_dimm(); + //! SLOT to set autodimm related stuff and start autodimm monitoring + void setAutoDimm( bool resumed ); + + //! to update the main menu of the kickerapplet + /*! this is bound to generalDataChanged singal in pdaemon */ + void update(); + //! to update the scheme-menu within the main menu + void updateSchemeMenu(); + //! to update the menu with the cpu frequency within the main menu + void updateCPUFreqMenu(); + + //! this set \ref suspendType from signal + void setSuspendType( QString suspendtype ); + //! this set the autosuspend and start the monitoring + void setAutoSuspend( bool ); + + //! called for critical battery event SHUTDOWN + void handleCriticalBatteryActionCall(); + //! set for a battery status the related actions + void handleActionCall ( action action, int value, bool checkAC = false, bool batWarnCall = false ); + + //! this lock/reactivate the screen if a lidcloseStatus() signal is triggered + void handleLidEvent( bool closed ); + //! show the login dialog after locked the screen + void activateLoginScreen(); + + //! handle event for press power button and call action + void handlePowerButtonEvent(); + //! handle event for press s2ram/sleep button and call action + void handleSleepButtonEvent(); + //! handle event for press s2disk button and call action + void handleS2DiskButtonEvent(); + + //! handle changes of the session state + void handleSessionState (bool state); + + //! to show the kpowersave configure_dialog + void showConfigureDialog(); + //! to show the KNotify config dialog + void showConfigureNotificationsDialog(); + + //! this emit the KNotify event for a battery warning state state + void notifyBatteryStatusChange ( int type, int state ); + //! this emit the KNotify event for change AC status + void handleACStatusChange ( bool acstate, bool notifyEvent = true ); + //! this emit the KNotify events if scheme switched + void notifySchemeSwitch(); + //! this emit the KNotify events if the machine go to suspend/Standby + void notifySuspend( int ); + //! to independent handleResumeSignal from event loop + void forwardResumeSignal( int result ); + //! this emit the KNotify events if the machine resumed + void handleResumeSignal(); + + //! to display HAL error msg + void showHalErrorMsg( ); + //! this is invoked to display powersave error message + void showDBusErrorMsg( int ); + //! this show a blocking dialog from kpowersave with the given message + void showErrorMessage( QString msg ); + + //! this is called when detailed dialog is closed + void closedetaileddialog(); + +public: + + //! default constructor + kpowersave( bool force_acpi_check = false, bool trace_func = false); + //! default destructor + virtual ~kpowersave(); + +k_dcop: + //! dcop function to lock the screen + bool lockScreen(); + //! dcop function to set a scheme + bool do_setScheme( QString ); + //! dcop function to set CPU Freq policy + bool do_setCPUFreqPolicy( QString ); + //! dcop function to send 'suspend to disk' command to powersaved + bool do_suspendToDisk(); + //! dcop function to send 'suspend to RAM' command to powersaved + bool do_suspendToRAM(); + //! dcop function to send 'standby' command to powersaved + bool do_standBy(); + //! dcop function to set the brightness down + bool do_brightnessDown(int percentageStep = -1); + //! dcop function to set the brightness up + bool do_brightnessUp(int percentageStep = -1); + + //! dcop function to disable/stop autosuspend + void disableAutosuspend( bool ); + + //! dcop function to show the detailed dialog + void showDetailedDialog(); + //! dcop function to open the configure dialog + bool openConfigureDialog(); + + //! dcop function to find out if kpowersave manages DPMS + bool currentSchemeManagesDPMS(); + //! dcop funtion to get the current brightness level + int brightnessGet(); + + //! dcop function to return the name of the current scheme + QString currentScheme (); + //! dcop function to return the current cpufreqpolicy + QString currentCPUFreqPolicy(); + + //! dcop function to return the supported sleeping states + QStringList allowed_sleepingStates(); + //! dcop function to return the schemes + QStringList listSchemes(); + //! dcop function to return the supported CPU + QStringList listCPUFreqPolicies(); +}; + +#endif // _KPOWERSAVE_H_ diff --git a/src/kpowersave.lsm b/src/kpowersave.lsm new file mode 100644 index 0000000..754d8f1 --- /dev/null +++ b/src/kpowersave.lsm @@ -0,0 +1,16 @@ +Begin3 +Title: kpowersave -- Some description +Version: 0.1 +Entered-date: +Description: +Keywords: KDE Qt +Author: Thomas Renninger +Maintained-by: Thomas Renninger +Home-page: +Alternate-site: +Primary-site: ftp://ftp.kde.org/pub/kde/unstable/apps/utils + xxxxxx kpowersave-0.1.tar.gz + xxx kpowersave-0.1.lsm +Platform: Linux. Needs KDE +Copying-policy: GPL +End diff --git a/src/kpowersave_debug.h b/src/kpowersave_debug.h new file mode 100644 index 0000000..6f258ea --- /dev/null +++ b/src/kpowersave_debug.h @@ -0,0 +1,68 @@ +/************************************************************************** +* Copyright (C) * +* 2004-2007 by Danny Kukawka * +* , * +* * +* This program is free software; you can redistribute it and/or modify * +* it under the terms of version 2 of the GNU General Public License * +* as published by the Free Software Foundation. * +* * +* This program is distributed in the hope that it will be useful, * +* but WITHOUT ANY WARRANTY; without even the implied warranty of * +* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * +* GNU General Public License for more details. * +* * +* You should have received a copy of the GNU General Public License * +* along with this program; if not, write to the * +* Free Software Foundation, Inc., * +* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. * +***************************************************************************/ + +#ifndef _KPOWERSAVE_DEBUG_H +#define _KPOWERSAVE_DEBUG_H + +// Global Header +#ifdef HAVE_CONFIG_H +#include +#endif + +// Default Header +#include +#include + +// QT - Header +#include + +// KDE Header +#include + +/*! +* \file kpowersave_debug.h +* \brief Headerfile for debug releated defines/macros. Currently this file +* contains the myDebug(...) macro. +*/ + +// to store the value over the different classes +extern bool trace; + +/* + * macro to collect time and k_funcinfo information for kdDebug() + */ +#define funcinfo "[" << QTime::currentTime().toString().ascii() << \ + ":" << QTime::currentTime().msec() << "]" << k_funcinfo + +/* + * macros to trace function entry and leave points + */ +#define kdDebugFuncIn(traceinfo) do { \ + if (traceinfo == true) \ + kdDebug() << funcinfo << "IN " << endl; \ +} while (0) + +#define kdDebugFuncOut(traceinfo) do { \ + if (traceinfo == true) \ + kdDebug() << funcinfo << "OUT " << endl; \ +} while (0) + + +#endif //_KPOWERSAVE_DEBUG_H diff --git a/src/log_viewer.ui b/src/log_viewer.ui new file mode 100644 index 0000000..fae17d0 --- /dev/null +++ b/src/log_viewer.ui @@ -0,0 +1,104 @@ + +log_viewer + + + log_viewer + + + + 0 + 0 + 600 + 480 + + + + Form1 + + + + unnamed + + + + layout4 + + + + unnamed + + + + kTextEdit + + + true + + + + + layout3 + + + + unnamed + + + + pB_save + + + Save As ... + + + + + spacer1 + + + Horizontal + + + Expanding + + + + 330 + 20 + + + + + + pB_close + + + Close + + + + + + + + + + + pB_close + clicked() + log_viewer + pB_close_clicked() + + + pB_save + clicked() + log_viewer + pB_save_clicked() + + + + pB_close_clicked() + pB_save_clicked() + + + diff --git a/src/logviewer.cpp b/src/logviewer.cpp new file mode 100644 index 0000000..cb4d333 --- /dev/null +++ b/src/logviewer.cpp @@ -0,0 +1,124 @@ +/*************************************************************************** + * Copyright (C) 2007 by Danny Kukawka * + * , * + * * + * This program is free software; you can redistribute it and/or modify * + * it under the terms of version 2 of the GNU General Public License * + * as published by the Free Software Foundation. * + * * + * This program is distributed in the hope that it will be useful, * + * but WITHOUT ANY WARRANTY; without even the implied warranty of * + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * + * GNU General Public License for more details. * + * * + * You should have received a copy of the GNU General Public License * + * along with this program; if not, write to the * + * Free Software Foundation, Inc., * + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. * + ***************************************************************************/ + +/*! \file logviewer.cpp + * \brief In this file can be found the LogViewer related code. + * \author Danny Kukawka, , + * \version 0.0.1 + * \date 2007 + */ + +// QT header +#include +#include + +// KDE header +#include +#include +#include +#include + +// own header +#include "logviewer.h" + +/*! This is the default constructor of the class LogViewer. */ +LogViewer::LogViewer( QString filename, QWidget *parent, const char *name) + :log_viewer(parent, name, false, WDestructiveClose ) { + + this->setCaption(i18n("KPowersave Logfile Viewer: %1").arg(filename)); + + if (!QFile::exists ( filename )) + return; + + log_file = filename; + + QFile file (log_file); + if (file.open(IO_ReadOnly)) { + QTextStream stream ( &file ); + kTextEdit->setText (stream.read()); + kTextEdit->setReadOnly(true); + } + file.close(); +} + +/*! This is the default destructor of the class LogViewer. */ +LogViewer::~LogViewer(){ + // no need to delete child widgets, Qt does it all for us +} + +/*! + * SLOT: Called if the user click on 'Close' Button + */ +void LogViewer::pB_close_clicked() { + + close(); +} + +/*! + * SLOT: Called if the user click on 'Save As ...' Button + */ +void LogViewer::pB_save_clicked() { + + QString sFileName; + bool tryagain = true; + + while (tryagain == true) { + int answer; + QString msg; + + sFileName = KFileDialog::getSaveFileName( QDir::homeDirPath() ); + QFileInfo info (sFileName); + + if (QFile::exists(sFileName) && info.isWritable() && info.isReadable() && info.isFile()) { + msg = i18n("File already exist. Overwrite the file?"); + answer = KMessageBox::questionYesNo(this, msg , i18n("Error while save logfile")); + if (answer == KMessageBox::Yes) { + tryagain = false; + } + } else if (QFile::exists(sFileName)) { + msg = i18n("File already exist."); + answer = KMessageBox::warningContinueCancel(this, msg , + i18n("Error while save logfile"), + i18n("Try other filename ...")); + if (answer == KMessageBox::Cancel) { + tryagain = false; + return; + } + } else { + tryagain = false; + } + } + + QFile in(log_file); + QFile out(sFileName); + if (in.open(IO_ReadOnly)) { + if (out.open(IO_WriteOnly)) { + QByteArray input(4096); + long l = 0; + while (!in.atEnd()) { + l = in.readLine(input.data(), 4096); + out.writeBlock(input, l); + } + out.close(); + } + in.close(); + } +} + +#include "logviewer.moc" diff --git a/src/logviewer.h b/src/logviewer.h new file mode 100644 index 0000000..bf25fd6 --- /dev/null +++ b/src/logviewer.h @@ -0,0 +1,60 @@ +/*************************************************************************** + * Copyright (C) 2007 by Danny Kukawka * + * , * + * * + * This program is free software; you can redistribute it and/or modify * + * it under the terms of version 2 of the GNU General Public License * + * as published by the Free Software Foundation. * + * * + * This program is distributed in the hope that it will be useful, * + * but WITHOUT ANY WARRANTY; without even the implied warranty of * + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * + * GNU General Public License for more details. * + * * + * You should have received a copy of the GNU General Public License * + * along with this program; if not, write to the * + * Free Software Foundation, Inc., * + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. * + ***************************************************************************/ + +#ifndef LOGVIEWER_H +#define LOGVIEWER_H + +/*! +* \file logviewer.h +* \brief Headerfile for logviewer.cpp and the class \ref LogViewer. +*/ +/*! +* \class LogViewer +* \brief class for view logfiles in KPowersave related funtionality +* \author Danny Kukawka, , +* \version 0.0.1 +* \date 2007 +*/ + +// header of the UI +#include "log_viewer.h" + +class LogViewer: public log_viewer { + + Q_OBJECT + +public: + //! default constructor + LogViewer( QString filename, QWidget *parent = 0, const char *name = 0); + //! default destructor + ~LogViewer(); + +private: + //! name of the log file + QString log_file; + +private slots: + + //! called if the user click on 'Close' Button + void pB_close_clicked(); + //! called if the user click on 'Save As ...' Button + void pB_save_clicked(); +}; + +#endif diff --git a/src/main.cpp b/src/main.cpp new file mode 100644 index 0000000..3001691 --- /dev/null +++ b/src/main.cpp @@ -0,0 +1,94 @@ +/************************************************************************** +* Copyright (C) 2004 by Thomas Renninger * +* * +* 2004-2007 Danny Kukawka * +* , * +* * +* This program is free software; you can redistribute it and/or modify * +* it under the terms of version 2 of the GNU General Public License * +* as published by the Free Software Foundation. * +* * +* This program is distributed in the hope that it will be useful, * +* but WITHOUT ANY WARRANTY; without even the implied warranty of * +* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * +* GNU General Public License for more details. * +* * +* You should have received a copy of the GNU General Public License * +* along with this program; if not, write to the * +* Free Software Foundation, Inc., * +* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. * +***************************************************************************/ + +#include "kpowersave.h" +#include +#include +#include +#include +#include + +#include "kpowersave_debug.h" + + /*! + * \file main.cpp + * \brief The file with the \ref kdemain class to start kpowersave. + */ +/*! + * \class kdemain + * \brief The kpowersave kdemain class, which is the startpoint of KPowersave. + * \author Thomas Renninger, + * \author Danny Kukawka, , + * \date 2004 - 2007 + */ + +static const char description[] = I18N_NOOP("KDE Frontend for Power Management, Battery Monitoring and Suspend"); + +KCmdLineOptions options[] = { { "force-acpi-check", I18N_NOOP("Force a new check for ACPI support"), 0 }, + { "dbg-trace", I18N_NOOP("Trace function entry and leave points for debug\n"), 0 }, + { 0, 0, 0 }}; + +static const char version[] = "0.7.x (0.7.3)"; +bool trace = false; + +extern "C" +int kdemain(int argc, char **argv) +{ + KAboutData about("kpowersave", I18N_NOOP("KPowersave"), version, description, + KAboutData::License_GPL, I18N_NOOP("(c) 2004-2006, Danny Kukawka\n" + "(c) 2004 Thomas Renninger")); + + about.addAuthor("Danny Kukawka", I18N_NOOP("Current maintainer"), "danny.kukawka@web.de" ); + about.addAuthor("Thomas Renninger", 0, "trenn@suse.de" ); + + about.addCredit("Holger Macht", I18N_NOOP("Powersave developer and for D-Bus integration"), + "hmacht@suse.de"); + about.addCredit("Stefan Seyfried", I18N_NOOP("Powersave developer and tester"), + "seife@suse.de"); + about.addCredit("Daniel Gollub", I18N_NOOP("Added basic detailed dialog"), "dgollub@suse.de"); + about.addCredit("Michael Biebl", I18N_NOOP("Packaging Debian and Ubuntu"), "biebl@teco.edu"); + about.setBugAddress("powersave-users@forge.novell.com"); + about.setHomepage("http://sourceforge.net/projects/powersave"); + about.setTranslator("_: NAME OF TRANSLATORS\\nYour names","_: EMAIL OF TRANSLATORS\\nYour emails"); + + KCmdLineArgs::init(argc, argv, &about); + KCmdLineArgs::addCmdLineOptions (options); + KUniqueApplication::addCmdLineOptions(); + + KCmdLineArgs *args = KCmdLineArgs::parsedArgs(); + + if (!KUniqueApplication::start()) { + fprintf(stderr, "KPowersave is already running!\n"); + exit(0); + } + + KUniqueApplication app; + app.disableSessionManagement(); + + kpowersave *mainWin = 0; + + mainWin = new kpowersave(args->isSet( "force-acpi-check" ), args->isSet( "dbg-trace" )); + app.setMainWidget( mainWin ); + mainWin->show(); + + // mainWin has WDestructiveClose flag by default, so it will delete itself. + return app.exec(); +} diff --git a/src/pics/Makefile.am b/src/pics/Makefile.am new file mode 100644 index 0000000..c63aa20 --- /dev/null +++ b/src/pics/Makefile.am @@ -0,0 +1,3 @@ +kpowersaveiconsdir = $(kde_datadir)/kpowersave/icons +kpowersaveicons_ICON = AUTO + diff --git a/src/pics/README b/src/pics/README new file mode 100644 index 0000000..7f43d25 --- /dev/null +++ b/src/pics/README @@ -0,0 +1 @@ +cr22-action-processor.png --> from kids-package (kcmprocessor.png) diff --git a/src/pics/cr16-action-configure.png b/src/pics/cr16-action-configure.png new file mode 100644 index 0000000000000000000000000000000000000000..2c9d5290c0d1ae49b8ffaeb15bb3374198e9b2fc GIT binary patch literal 903 zcmV;219<$2P)9o|yWaKMUNv!2JBj0#CV|>c3RFr!IF3L{gNUL^2vqn3I3aOEoRE;Xhe$P? zLE-}Z0p(DsNJxS55e}dvBoIPK<oJwvEDv9>RvZZ_meP;Y(nr5&kHd(S3|x2B&g>FI5=p*_XEpu{EuDN z%~Y!wa*f8*Q?s+R4@FV<0N^Q-7?SnReu!}8%F8L&^_Z@kOqNsM?CrI*IF1^n(phMtv6#o?z&l5rpnMX9RLF%0(w0Smcxq6%B`6p z+TUa(f&}y55DSHB#5t~3D(5jgJOIZDz!*mu#yC7|qi+G{mA#1(a{Fo=u*h}!4kJ0vWz&%?qtm&q zw|6)Z6;7^Qdk2#*4 zXbRKQ^Y=doV+@=FoJi4#(#I?1A6u5m94RL)jXaSOa7G4_BE%eLGXZ5(c~0{3E`$SQiDz99jq1JQRKrfk#6rz(^wbO~HQ0doQ1Zysyc> d9((kyzX9)Ic&HK40dW8T002ovPDHLkV1kNto1g#y literal 0 HcmV?d00001 diff --git a/src/pics/cr16-action-display.png b/src/pics/cr16-action-display.png new file mode 100644 index 0000000000000000000000000000000000000000..8f6f1769d06069408e83c40ca700714f27801b22 GIT binary patch literal 781 zcmV+o1M>WdP)000JJOGiWi{{a60 z|De66lK=n!32;bRa{vGh*8l(w*8xH(n|J^K00(qQO+^RR0|pHs5uKFhod5s=n@L1L zRCwBjQaeu+Q5ZclcV7FB+3cEZffjZa5{RL)&C{+;?Njs_lL9ZOP;!{CJ zz)Lhtph(B_1qMlM$5eg@krGHr0=7U>)fS&vC6ibwaD^dq`MgaMN0H=mrjpP7YXYCH zn^u<0kG}o!pp-Z9=s`_Y&oLY-FiBu!3c^q(rYZ&FF<;}#hhypKGml22Q~pd-Qc7M7 zk&XY(|2^mbP;QCo>FIaXYW1GydEXf)oleK(VcB(Ea82nxs|Tz+1`By~1Eqi5+}xBiGcy82y~N z_Y*Q`xPj&6Wt%de6$*s~#_dX_QcO%6r8uJxZ+pGo%cZ5I02zJ*mWiZXv2_(j00000 LNkvXXu0mjf_$*tW literal 0 HcmV?d00001 diff --git a/src/pics/cr16-action-laptopbattery.png b/src/pics/cr16-action-laptopbattery.png new file mode 100644 index 0000000000000000000000000000000000000000..26ba26f875391df73852723a4d06b3f7a01aded7 GIT binary patch literal 378 zcmeAS@N?&q;$mQ6;Pv!y2?Ek$Ak4uGBtK`(;RI4D0X`wFKpF^)jg4JgTtY)b)6&w) z%ggKQ>pMC+X3m`XpMl~3|Nje_B|ZTaF_r}R1v5B2yO9RsBze2LFm$lWdH^|zo-U3d z6}RU0dGj4m;9&jz$7ai&|NC^i+ZO5d2!|bRDVWQYpjpl6c5+(dsSOS`g^Qj7nC<)F_D=AMbN@ZZExK(^1;M$inzCQk6eSOaRoC`C!Xne^yXv3B(<_1^I z4MIHhPU+~aEIF}ONAIN1HE-Q(-kQ26&TC)vK6jp#;fuFW!=q~jimqp literal 0 HcmV?d00001 diff --git a/src/pics/cr16-action-laptopcharge.png b/src/pics/cr16-action-laptopcharge.png new file mode 100644 index 0000000000000000000000000000000000000000..61b139fea2fb77220c26ff7d5efc217b3e6230b9 GIT binary patch literal 244 zcmeAS@N?&q;$mQ6;Pv!y2?Ek0Ak4uGBzJ|swFgox>5jgR3=A9lx&I`x0{NT;9+AZi z4BUbs%vhfiKM^R%UgGKN%6^euMqHY+|NsAT zhPO&UA;yv*zhDN3XE)M7oFs2|7lsa2Sq~t`$J50zq~g}n3x<3L3^<$vWz4_tFY1+8 zb0BDGea$DPi%nA7MAr#0OD4FlbG?}C6TDM*%hPYlLc*!XOte}y@;FGGzBO}O@yY+| cH?OK-JZ#2f9kV$363|=*Pgg&ebxsLQ0Ns;IVE_OC literal 0 HcmV?d00001 diff --git a/src/pics/cr16-action-laptopnobattery.png b/src/pics/cr16-action-laptopnobattery.png new file mode 100644 index 0000000000000000000000000000000000000000..1f664798397be84445537e57a472bab9d7d980a0 GIT binary patch literal 405 zcmeAS@N?&q;$mQ6;Pv!y2?Ek$Ak4uGBtK`(;RI4D0X`wFKpF^)jg4JgTtY)b)6&w) z%gZ}DI%dwC`Hq3%KM?)@|6TB#2~ZJZNswPKgTu2MX&_FLx4R2N2dk_HkW=I7;uunK ztM{TK-w_24)(ds3HNO1&KKGL}Q=;h#Zn>5T6{!p-mOPm0;C|D5!xE7*2Ir^gZc5Re z!Fv0EV4>KI;vdb`J>UJZzP7J_!MZDG;+dGxNL`=*Ta1c1{ld+G+dwf!Y~7UHx3vIVCg!0H$r61^@s6 literal 0 HcmV?d00001 diff --git a/src/pics/cr16-action-laptoppower.png b/src/pics/cr16-action-laptoppower.png new file mode 100644 index 0000000000000000000000000000000000000000..6f42aa09bf18a9e2c0932a82e673cd8d4550c471 GIT binary patch literal 309 zcmeAS@N?&q;$mQ6;Pv!y2?EjrAk4uGBsFyTgMk!JfKP}kkOqPPhW`x>4Ht4OtAQNG zk|4ie28U-i(mf_IT;Lim>o~vs(-%Xi!jF%>0+%l z`*~dXY=WzIp1hg&wVEUTLgp6V?-w}sS^4ENEN))OEDhA}Qxy_X5}cn_Ql40p%D_-@ ztN22|wJ&FUef+=r`kePU7iMtL_>ytZhAmgj4X&CSgm~zk($QO4a$>EH-btTp-n!Sk zHFZy%*S_d|?mR2Q7jL14FL#f`0nIfAo12-QmsnB?G1%D9)6m4!)NA90EhZj@#-^T| oO^i&9y}f)){Y=a~jeHpyTG}}B>rJ+10kt!Dy85}Sb4q9e0K4I6j{pDw literal 0 HcmV?d00001 diff --git a/src/pics/cr16-action-scheme_acoustic.png b/src/pics/cr16-action-scheme_acoustic.png new file mode 100644 index 0000000000000000000000000000000000000000..ec2bb622adca1ae0c6e44692cf6a66bf7991252a GIT binary patch literal 724 zcmV;_0xSKAP) zbNBs^dF|%wj6+B7MzT0Y8ib}d>;#=+s; zM3&_Wr7Fe|0g$FeV~i2A^A&&m`45X_hxdw2@8}1Q0D|`nLJCAA$VW>Al$oXN25gp+ zrg^igQ18989|@Sv7g(*?FEb($K?npqsZ~^^Wz!FAx(;JBd0tdIK-n}eyK$i3ZaG_S zSob4JYHVV$CIMnD+ktU%EG{m9Kwj3(&OuYwH?#`$UC;dAr?!RoSi*GYenA=yz=S+@4R=9=j~H&?!AHcqSyh# zIQ)I@==e_8wj3V5MNyP!t+>3rKq<{M4U|<)QdIoXo$_}2CVm(fyD=3-asTM(qt8Qd zK7m<{oimw924}EF(xjcF+SZDxpjn7Q!7fA#mf}WH1b5;_=pP}9 z8!rn5cg1d8h@fIc-2_|+T56O@Pe?Mk%;n7eoH^%wx1UW6ZsN0fcMs3vWyyztZNaCh z`6uM`h38T}Ge68cM+|loHEIW}zxC73UT^Kn7kYyK!FK#gfhx;y(y15TLV0;fO2_Rt zL+pwGgVAPMu#P0FVtt;O8|}uxaj^0 zGx-`8+k)#lh@uEV5TF}|cyw_AFP)(S%^V8 zASD$OW5Fu#`~MaQVM8AX*$Kd|0VkfvAB~T(mhFNSJw%#gBS)+#ItQXt7UNf^W(q5? zV9(qv{cR8QS;%n}t~!leu8LsP!Uw%I^ykllD+K}v`2_|!hVS_cvkyM>EKu+`haeiA`~4$BAzb~b@v8bS(4tz06~>^?%tXgcpX43aMNQbgWTo<_qsNQdGU7@FY3NHAd=p~1Dm0s8)yO$9am2u#F* z{Q$BjFfNQ}T#b+pWka>~S1_osuqc6mMAH2v1^{6<_gXJbZ=P|}CDb!(@ d0TJPde*ijsyi%^KXVL%w002ovPDHLkV1idEixL0; literal 0 HcmV?d00001 diff --git a/src/pics/cr16-action-scheme_power.png b/src/pics/cr16-action-scheme_power.png new file mode 100644 index 0000000000000000000000000000000000000000..640cfea097a6c028e34ea36dc5d0be0189c22fc8 GIT binary patch literal 815 zcmV+~1JL}5P)^gk~`bib%5{NK=9yq9C8bQ0T=p!XD}&3d%>3 zdRVfXU#%z~GySiSaH%$UFd~ zG^p9`0H6%VaXFMGG(2yhvaE7pA(Cb`^Ul0Hr>Cgc;i;>uEmjmtIy)bGhlbwQ`g~KN zlm_uF5%G9bHK!T;@fh{X3QtsO;x&wki%ZP>vXJQM?(S`R(B3|mlVd|;nK~_pElEK*98>ZOil@V&CF{uOG{V9v6h+egBSMYXO^;$C{9f46A25Uwa6kH$~uEm=o;|$-fzm=emro z5Cj=M-BYY9Mg-;ns!-?|6%kp);z9%#gA<%S*Rgv@>*CVUEV;+*^m(w-{~RBOGZ7Sx z;Pnfrb~fW6o**hQ2>J<0f9{UZ;M(eYR_Qgp?W5=z%=CsWznyK#NA`&iUokfJLJkDHE!f!r#fby@4>yWP#Hh*W0Qj;yl@P@)(AV{# z?yT&wBgbzqH#WVZ&CUJP?Y^?1WpUkRwWP2+0o*=7S4xPEC4}VGyYTCl8$m50EdaM4 tKnb9^#E^xNs#d6h$n! z&>{%pLMw=_iY~;uC{$4pl_J3=X_VHOq#9yg^GL>?ic`!9C^E%E64>PBA-=nT@kL|23`uUKrham+OE492%&NZonECLqv|F-R^v?9BtS% zO%jO&Gcz;H&CM}CKhJJ|g2Ri?9}dSk1MoEon$t6gzxyPHVc_c-JlM2b5C{a2Qc|f@ z+=7bU!KOg(saNA`+=650-l5rL17X`_G8s0P4YBNri3zgVEWu!qbUKZ#o_BS1(Y^TI zC%3(0IkNiY8GbEEYildYjE{y4$dC!&40XG1E@(DSnm8j&f2tJa9;7;6SI~rw*S!IL?cqI_XS3XV5ZvWiRf8%hRgBWGVG;cx*dn z3JOnsVj&`&myd1oxKT??d32g)R6&)0@tT%?O|&18&g*>^4*ya!DMfpiJe$UI1GycK zHPNz5vT&h}S#`VxmJO2^TbCwWucBpY+Xxvww6*L)St{$w5`ea0N#|!D@26`3V+%no zlCNm;Z1w+y{Hkug<*u@JQ<0|EH>~;B;D|P6&3^f%JSWBzLHXuKjaxEBG}4@q1FdGe zc0cyoQl6Tc<>lLuh!yvUWHkx=#xh`XkfjN)JOx4syiTQ3?%%gErU~*6|0nnovE~aC zuM33&E3>w4y9LpX=7a*sdi*>2%fpnCF_aU_UYT(57eo0Uq%EF|?S#hZ(?I~-Z-+n~ zWGFXt_lktDcM1xN+0u8lLUy%R+00(qQO+^RP3=S73F9<1AVgLXD9dt!l zbVF}#ZDnqB07G(RVRU6=Aa`kWXdqN*WgtgMO;GP-C2jx!0y{}WK~#9!jneN+6LB2C z@%P=Xn_K(gbWUAT61jc|DLwFsQJRqSBq$Pk5QPU$2SMQy zr2k+^vRZEQ2lhj}ZJe{)ZEm|x;Y)+kd~wHd-v{px_x+yK-{1ex<#LUys(LsS3bDDl zNwr!f5D1{_IsksZpL{-#!{NZ^^Py=PHOs=|4IlxhdU|@EM5EDbJAs2Jm&?q|ejvV( zexU$gB9TbCy;vkGje(GD2H-H-c%JeEXSaad~}85sUuLPMTU;Q0=>H z7zoGu`UteQBP5d=*=zx%-3x{Pu=fW=Q4nTlGj?R1$Z3$Ixl!fW%aSxkq!f-8_jP0(iq=8k?JOxZRjrTL|Ch=TTiQeiUThyk4YKC}9EB8k8z^ zfriFL+&hz0l?Ky9Q0(`Gq{{P`%Y1y5U46>^^3{L1`gG(qp%HbnYZsVe**D% zyf85_vF`DBs3*&Ez%)y$eF_Cxmc-fa4#?^zl0=F9+!?(a8y>!54Ga!FU=I%VaiS}7 z>->emX^^hA1e<2k>9kJ0y?&(V{qg3dRPt#yr#}k>!|#@2u|ly}J_D>CC{Qu9E~ior z9g7@KjNZOc1|DA;x*P*$4iqrV%DoMJ`_uIF78Dq)3s7f}q5Ux-m4murOu;2(TPK+)tO^m;H&5kyEf40pd0);JnN&;gWyw6U*H8{um z9Lv*_&~Th4Aj``)h;L1=N1wf-zsq_N7kOK=rua}C-JX%&v z=op9qoa-F#wRTOA0B$JNgx82t>QNe0;t|0)Gt{v#WfK`H0FDPViK!$QQ#lRbcDOC) z!&A8sAtAe=ie(sz3<|KASxiT3077S?v0Z!kCoYru-80mtH^&gGZz!(HKT9X_L=s1! zAQ|`!5fDU@#&#tL)AF&e59H@oWaJuIcYws|oDYSEwTRzCz-@B^(jPmC{|MQ7ZIkbA z*}pt{BS@PeB*m+tQUSfcfytp^8Cd*8QbjGV2tKz6JMfP-U3b{{0p6TSQY-^mq%iCt z@Vt8+0c+b5Aa>BCeaw`6@@5aSG5K&>M{&P8X&5bjk# zmVi}1Fx&Z1f;ey&zzP8-Ud!*V9?q+*%`zHwlH^2w^IWTXNrHP#(Kzz2i^ zB7SwXNOQgQPk`VRD8kohQ0^eB-F)oYnUuUjT5pO2!2+THgf;>Hnt-*L5zKygwCuUI95Xwl7B7aTlwMg*uM5lg8d$VF+}(aCgK%4eDX~I P00000NkvXXu0mjfY-f2z literal 0 HcmV?d00001 diff --git a/src/pics/cr16-action-suspend_to_disk.png b/src/pics/cr16-action-suspend_to_disk.png new file mode 100644 index 0000000000000000000000000000000000000000..89917546bd0d02675f6652815b4b6f4099c4ccf3 GIT binary patch literal 819 zcmV-31I+x1P)MzCV_|S*E^l&Yo9;Xs0008UNkl0I9H%YVWZ-+?LlRg-R8Rort@6B-NVS0MnhdVM*U%RNgblONFoM?^jvjXoG29zIV*OS9QTsZ>Iz z(}4l2)e1onKw_}jY*1BIuU4zYa=AP+J3Bis3=Iw4nVg)wu&}Uzot+&Jei0dg=XqEx z7Guq3x7*FpJV>I+L?ZE6pj*${?RIwXcLBPQ?a^QkL{T&Z*l4v{ptv@|m_Qpgv)PQP zsVU_1d1k-eZlhMKf#NVS9b|)gK%>!s-|vSk%OIX8P@Xb5*hfy_bUH!VKn21d2x9K- z5rq3~Kn>7zo$YVb+qiam4LYq!P!SvshkJE(6(nLP8X4I^Nf9ybcjEYA9(2|Kn_s^- z;ra3x1o@^;y@&#V4~0UgR4Pyu1*ueu)(51fT2uog03zGf&(UlYecA! zod{)QO~>PL_Jo=BF(bb=~)z1~1Jn}sAv=yUNl`L6HbC)Uh zOAfmb>4W%UvDkPZ5QtNuBdM*Ur*c;=4r_LY00WAmwr<{gp`~YL0DQ*3z;W)$?eL1) x2(KuzEphiDfc^MixKGYsavZvT3qS;a;U}}aHvvy#zl;C?002ovPDHLkV1n&9Y$X5y literal 0 HcmV?d00001 diff --git a/src/pics/cr16-action-suspend_to_ram.png b/src/pics/cr16-action-suspend_to_ram.png new file mode 100644 index 0000000000000000000000000000000000000000..2eac6452aba3678e2c47c5cb7cc316cc620227bb GIT binary patch literal 864 zcmV-m1E2hfP)=l93`vU9iXmir~f5KT}CTRBOmHk87g1&S!BSWr<){?UvgD5F3a z{o!)-&p-_Z3R6h3f`yqJQ>V_k+^;;ht^Q^&jwG?%gwvi>H{(3t`UOm+v;7W0v? zv`8k?LZAIp;_9{AA{IBr`CrcooP}bLcZy0)T|ZMDjK>&X*KnZv&4z`1zIP9s_8-OVt)Mrgux8!!*g~Kx zGUFMEf@c|V&s!@!a~(dFX!py6-n$lzaR^ql^?WU{Z*!d(>-$ie5(lYSUdcrR#Vb=Rr-So)&nfMB|vy9pAt2S0nZ!nu%Ro8LifI7LKf*0cqw`+{K5 z=KN6YnTeXJ)BhAOQvh;m9$HiUa665gT1u`MXJ4my)e$>lNpd&|xoKvHhQcL3w4{;MCqh5xw2^P^%t%0mCrR}WN*>s1N;}SW004R=004l4008;_004mL004C` z008P>0026e000+nl3&F}000ApNklt@?-TD=llx zbAgcmkl~ls`D100hb(+SfpW13ul4mjt zF8sE~OeEjmw%5DgFvK8$5TINj(e}HV7@s)We{^+MXvZ+2u$RWhIFD~yNnL#ye=Ns7 zb}}$Pw;i!jl*(TsO zacsdvYKYm~J#_U1rM&VqZIGW8ih8@s<_cENYdtKKGMpUzinpHrm`68sQY_{H0k-6R z<~IN7%Q&`RJavuQ28G7hCZuRqY5PPmJNpznxAn1hcq^R`H!+{hptZ&{O%~=BnMjXf z`~JqY1yw#T9#d1uyQ;d*^Q_E-zH2^x`YMJJtm=%D$7h1)) z`7x%;kW0DOl~N@AD)_oDUZ85_FZexzNE8a$AjRZKTArN7wU;0}Bu>eqC6=R4E#uAp z^mxU3@Q1Ob*LMTWZtaLAKEsb!`7m{WNF5kHi@;P3)$4rV4IqOaC|0P6L%RqSanLXtM(WO*Z3l>T=|J1ppuouok&^`GmFQ%ny~0 zhIaqf;+&2yW~9!hjA5rZbv857u=%}|yB|s9(nM^qV4Da32fk{4T9z*zI{*Lx07*qo IM6N<$g4%xEdjJ3c literal 0 HcmV?d00001 diff --git a/src/pics/cr22-action-autodimm.png b/src/pics/cr22-action-autodimm.png new file mode 100644 index 0000000000000000000000000000000000000000..5ef05ad1352aefc2dd098f2b85ef9d5329d223bc GIT binary patch literal 385 zcmeAS@N?&q;$mQ6;Pv!y2?Ek$Ak4uAB#&&#u?A9XN#5=*KpF^sI`6IrQk(@Ik;M!Q z+=3v?Sf3I<5h%!B;_2(kevMO5L{V>9g2+q;21b5Q7sn8b({HC5W-&YRxZXd*6@Ki7 zyT@ej9j8-kIKEpp9NfBo!mW1CmlN(8TPKw-F`22#w{dsL?}vxQ<2(A1cPB%I@mWte&E1|r~YprO*vzd~L zEOKAoHHK?0U2`^P^W8kbiJFeyrF-M@gYJJWIv1lSuD#TT+2i)ftgT5KBNUW6IAX6~ zER|JcN$O$PVg0UeW@1{;V~@2{6D1_t8U+q*dHf^3-<*FQ`}t;hhol~^8$WBxLca!a z^{(=||9$emx2AW$+pg+bRp!7n;cnjdLJOI=V}&(Y<_k7nt6E&Y=`L^i{C6A=4&44D befI(PZ*l(OH`83Mf`Zc1)z4*}Q$iB}!fl#) literal 0 HcmV?d00001 diff --git a/src/pics/cr22-action-button.png b/src/pics/cr22-action-button.png new file mode 100644 index 0000000000000000000000000000000000000000..76917d50d67a77ad7cbef3c2c873bac5e9d3270b GIT binary patch literal 342 zcmeAS@N?&q;$mQ6;Pv!y2?EjrAk4u6B)9%De+8tNlDyqr81~A?zF`LPDm`5sLn?0N zPP{1CpupoCKey*>%h{4mKNe0EIV&r#qPZmZfdIq9De+erU$pjWz4zSrXWOa5|4V)~ zot)*gWMRnkHH-^b&U?x@Z8(?^5&MXR?}BjA0rxhxk7*~wR>$n}=sqoGqZ>M}xhs$J z)_Ik)m!_3Y&Gqu$9)H>^#?#u)>idESN1!8oszM@4g7ec#$`gxH85k;V6<-Lr_T`MP zkN;O+pYuNF!VE4NUosBbu;q%m!BumE5D&dmI(jQhPOR0@JLz-HTlbo`rtXRJ+84dg zoo8kE;w{wh6UHx3vIVCg!0C}*5ZU6uP literal 0 HcmV?d00001 diff --git a/src/pics/cr22-action-configure.png b/src/pics/cr22-action-configure.png new file mode 100644 index 0000000000000000000000000000000000000000..2c9d5290c0d1ae49b8ffaeb15bb3374198e9b2fc GIT binary patch literal 903 zcmV;219<$2P)9o|yWaKMUNv!2JBj0#CV|>c3RFr!IF3L{gNUL^2vqn3I3aOEoRE;Xhe$P? zLE-}Z0p(DsNJxS55e}dvBoIPK<oJwvEDv9>RvZZ_meP;Y(nr5&kHd(S3|x2B&g>FI5=p*_XEpu{EuDN z%~Y!wa*f8*Q?s+R4@FV<0N^Q-7?SnReu!}8%F8L&^_Z@kOqNsM?CrI*IF1^n(phMtv6#o?z&l5rpnMX9RLF%0(w0Smcxq6%B`6p z+TUa(f&}y55DSHB#5t~3D(5jgJOIZDz!*mu#yC7|qi+G{mA#1(a{Fo=u*h}!4kJ0vWz&%?qtm&q zw|6)Z6;7^Qdk2#*4 zXbRKQ^Y=doV+@=FoJi4#(#I?1A6u5m94RL)jXaSOa7G4_BE%eLGXZ5(c~0{3E`$SQiDz99jq1JQRKrfk#6rz(^wbO~HQ0doQ1Zysyc> d9((kyzX9)Ic&HK40dW8T002ovPDHLkV1kNto1g#y literal 0 HcmV?d00001 diff --git a/src/pics/cr22-action-display.png b/src/pics/cr22-action-display.png new file mode 100644 index 0000000000000000000000000000000000000000..c6530cffdd1c993c3b1c021e312122dfe6f2fdb9 GIT binary patch literal 1078 zcmV-61j+k}P)k||x;O5?(9C=w|`Dfky65k!Sj zKp(d$A|XVBC{YAP6#VoZ$O`5TZjbZ**xB95do#P6wSgdI#M92t&wSsH8?4#cS!-%) z${!yeFIw2(j;55lHW$aS{zg%xHa0doo12>hfSp(Be>8+$GXjTUs8&{1ez4BZ&*M_5 zWc@t%C!91G1iS!(+rWhlLS$b(2k1{2#vo+`A({-MtS{sT_-4EW-#`Bn4i676IeAa+ z{dLrVOLqkBJ?Mji>q4REfL%cAbHM2n;5Zy;uaqIEjs!{8?m@d9KsyS+@48U_+seYi z8Dr*v<$}d5h)_|OD6xYG7()<%9$Pw&F$6(`7A9(AJ;#vYcOvL^y9NwN6HMWz9MBFS z^@c98ZI&d;?CbSHGIIeM?GY&K>gvjX(?W1<1&xa~0-07$(+VNvf#eKW4jhq38C>e` zC7$(0`l&KL1~ZGnNu{n8J}eDnPy%oQGb;m=>y$)N8z8jy{t8a2b$}-~ff>_>s&DJi z^gB>~GywM>6cB2IZM;b8n7~GLHnK9sjw`^!n)N(_a~z`yQcIyAZ}KrVv6lj&bg@Y`_U#m$DJF#oCAcvcFLI1( zbC^m`gH7TjB~C+`sURS4tdEjMg?EqKalHiYIRwu_VyeQNjtDHVBD5zgt99~(lxE;G z(_cLOjK_4E0kyveEvw_dQCd=8xJfmFaKJt zR%0opT3=sRr>Cda?C9u7ZEbBSYL!YQURqlE1^%loEG)e2^?KQV22^x{*-KcD0M0!`PxdjJ3c07*qoM6N<$g2lq}3IG5A literal 0 HcmV?d00001 diff --git a/src/pics/cr22-action-laptopbattery.png b/src/pics/cr22-action-laptopbattery.png new file mode 100644 index 0000000000000000000000000000000000000000..c50fafe481edb65b8182a369d0dd281fe9a605c9 GIT binary patch literal 321 zcmeAS@N?&q;$mQ6;Pv!y2?Ek$Ak4uGBtK`(;RI5g1s;*b3=G^tAk28_ZrvZCAbW|Y zuPgf%9$sD^>6n*Sz5#_?1AIbU-@SYG?%g{U78VBwhnAL>2|X94Ffh!Sb7sqy8+!^g z_Ut)u=FEc!4?etj0|Z|_e*Ey|%a1QV{{L7b@$bjm|2Jy>|CsXs|9_n+4Xc0#GL;1R z1v4;|O+IS@Ii;R1jv*DdmR|JcYf#{EaLnQ6`r&-xw|r<+fnq0T zXMSkfRgtTgKU6U~%-s-DQq1C7`@klxCW%j6JixK%qffgbo6-A2)z3sOC+0p4t$6#y zwIZ`pY~KEvGKx&ctGR#s&1+fiC)awseogCF_U+%*&I+!I`kZMVHI;YE#}gCx03E>K M>FVdQ&MBb@0JEZo^#A|> literal 0 HcmV?d00001 diff --git a/src/pics/cr22-action-laptopbatteryORANGE.png b/src/pics/cr22-action-laptopbatteryORANGE.png new file mode 100644 index 0000000000000000000000000000000000000000..6c9bdfb91579022e688cf49a33d96463d3f22e5f GIT binary patch literal 306 zcmeAS@N?&q;$mQ6;Pv!y2?Ek$Ak4uGBtK`(;RI5g1s;*b3=G^tAk28_ZrvZCAbW|Y zuPgf%9$sESS+8fZ_kluA0X`wFEG#Sz4h}6XEfab!OkrS{Gv~~fEjRWQXzbZ@;LMo^ z4<3AY@dg6EeEIU@%a8v*)=2#O`R@N5hW|He{{NWr|NnpUC2OUCrZFaYySp%Su*!M> zIpv-%jv*DdmR>x~cUXbP<>J8!?4H6-8UO!>XY;>hGZhSaf9z6ZU*W$ueT=qeuAZnk z)3nMk^5VlI=8wN@n#5dm?tD>;z=A!K%b!js|ezoy%Jk47(w$)5L(ZSQj7yp~cqYoHStJYD@<);T3K0RWiYi6Q_1 literal 0 HcmV?d00001 diff --git a/src/pics/cr22-action-laptopbatteryRED.png b/src/pics/cr22-action-laptopbatteryRED.png new file mode 100644 index 0000000000000000000000000000000000000000..17f189394a9d390f40383b930b06a87f903b563a GIT binary patch literal 306 zcmeAS@N?&q;$mQ6;Pv!y2?Ek$Ak4uGBtK`(;RI5g1s;*b3=G^tAk28_ZrvZCAbW|Y zuPgf%9$sEi{b#YA(Lf=m0G|+778Vu<2ZxrHmI*xH6wbbHfyd%1##iGqicgoK2J zd!L1iwuz39iH^>VlB|%7(2h$#Z^!We(|Nj#VOWptg00DGTPE!Ct=GbNc009t5L_t&-83n~PHh5!Evx`3Ff4g>)Mp`^ve&Drts9smFU001zvmEigdtbjJm z*9@^){C#y~^`U|8b9iTOF?+nY{sqkp8sV{(64UlgI+ACQ6>UmzyiYKJNs$1S0{{ZH zP5rNQn2wXDjY0E+d?(~$pkmFIM|lt2>3r^C96YyJ7` zbqf%L`R-%gY3OwW7=%Utz85)!CRG56n{wPwu)7?RZ=h4$)#Gzvis!M3#u5;`HPkQT zDUT0%UTpvcKjKw)x~Rvg{k=GWlftKQ^PTcG^z|kI1db5HKKA`8JwOrwU*piz0^0vG WG<+XKeMq4I0000qTqF6Vd^^6`o!)1f!xEk5t+)2&PA_lX{JdKPp7*+5ZAUQp zT9Tklr@VClxpnZ?tuJWHegu^U_TFP2f878;2*K^!UyAG3Kb4-(g<~Q7GLqDhE!Tb_ z$AzC^@KS5^fIB-8plPCt-_;3QhrD6v_#UnZTtRAUmCE0Lkr*E%7>(ic`PwhAZMO~X zDpxlM*me5MGO0$1SiOetyBt_9nf(e?MZtde5{a2vBFTRIet#R@6Kt3^QmKlf?vZZf zh&3vtR1NZ3Fa@KgLGh>WDI8SM)I$bN&(oJ0@Zb)1SFo4A+QA|5T%O}Wq995zr|UuS6UeWos4U}S8JR4PRz67kNN zdhY^hJ>Z2ERr-;m$1u_c4a;KU>Qw-?A3R`s>K!uElOz%e!r?HTy~4Zm+WojodAqLb z*^L{YwNKr>yCgE143W^AO`!ar?q=HSY;A4vzc16Jr60sm>bhP{{{pJAU;pu(PN0iL9vp{UNNvE!|SIjy#_t;yr9((1Ci zfwH^Gw!5~wgI~ME%EZme&DYM-*Rj&%>ek@j-|FM+_v$?gnKA$X00wkYPE!B@1OyDI zuN8HC00001VoOIv0Eh)0NB{r;+DSw~R2UhR!RuCnKokbhue;fFViK5|Lv|qpkwT#{ zDas<=|CypyBDDO|-oXED?H#My4m!5auj4SDzoiOor&mY9RXSV_(Wb>NYU(9bXc73K z?iDsr^8vc1(KLvnk%f-CvZ_87PstE%QB{4GuMgSc(Z?G3&t;j_CP^mIAlYX>$g;_J zoCF#x($VkaFbCfVDrY->7=H}4S_$w?t3me2PetiKcpBS{$#(a4I0000g=4^+jVrluw>?GI$YfV7&LJCM!HtX5T31!Q=7dICuS0RbK!8yOi_ zEiF|+K`VWIO%@gg4Gj%xX%9I$PZJXpd3mLfkN`V7J1;LULqn~stgO7eJR_rs*49>M zXL}u;P!p3#E33GQiZUQ0Ha0dsKGw`Ewxy-X#3VX6IMUxg(9FzX&YT$)6%Dz$xn*V5 zN=hb8O-&9CskOB=B_)MGK{vM?Z|_i`cx7c}a4^supM->F1qIvw{s|Hix>{Ox{r$Zf z8Ua8x5fN2NO7@nP0imG@!NKL8p1ID>aS94nnVB694v|VqwrOdt6%|umTw$ zR9QK#s%lzI&78Wr*-cGznw#e~H!o;uncvzvzpZUSd;7x9&LurPD|>sFPnxu9^5oT1 zr>>ngZTu1c^Fl*L^IdeA8ox6R(f^7>IZeO@?*ODc>mM-17bm_ij%XTeazI*xd zeXCaOU%mRk`t^s_uRpS3!;y^}k8a)!M8~#mJF$H`5S`qy$kuE9^*fkDCG>FVdQ&MBb@05q_mZU6uP literal 0 HcmV?d00001 diff --git a/src/pics/cr22-action-scheme_acoustic.png b/src/pics/cr22-action-scheme_acoustic.png new file mode 100644 index 0000000000000000000000000000000000000000..6df5489c4c565abaecd8aa62e3cd97d860413254 GIT binary patch literal 1135 zcmV-#1d#iQP)mCK4;RTPH5weRO%eM{2m+%TF%M{yDm95_)S4x9*@$MGqA0tb#92pI`p5L6JN z5Fr@Qj_Hu3)0ax$s_N7^dpoEkBveL1*681``SxCGvDOc-DCGIW<;x$Of9>@*K5@Y| zN>ma+1Q5kjEeHbm;K{PUc+$(ich}difAi&6&^~_3GEYTatTgXmz54mvSFU_I+TWG6 zGp8u>3?+inf>LUx1+-RJW7yn$#P;sKjHVnO91Pu$-+lcB(7yoA%Ccw{2CLd?Gj7M+ zx^)xh99AieHE69^Tw3P%%5khyj3yJh*mLUCDjN@n`SBC07XSy0UH}(W>>d zU%7eX7p!wQ=Lp`TwBp_OK4f9Ah_MDih$#_*M~SGsEbHfa&%|J1#fnI_*wkFR_8H@k zKSJx-PelY$qNo=U6NoX95c(J)C6p2gA+MCuCdU3na8)%<8 zB)oS_r#)I}tn+ym3b((v1%P^1Y-0*-bk=pVREx48rpTR*4UDx^Wr;P0dk;2=DS-$J zO+(jpvq!bbimJAA&5J1xthL5DN0wPcD^iTCom{0XW;HEzhI5uAAX;$B5p_@7w-{?f zRX2VPoZ@sjWI-FNIkvRG-q9fm7&HY%?ogs2K~-iO%R-T5MLh@B z#?(Fw()B%~$(R$%4Lgqy=~Lur)S{IFnT@kCil)ryx=7n~7^Coc@F5SyOTc@5e_cOw`t&;&F1=YQQK_Ad7!F&WWJ-GC98ZmBYiEbPkF0VI zC5E4GfBW#xKevB-nKfD96p;TP)nV;&UyAhyuzgHTJU^r`q}A4O1n zvry0~MT1ZarHW8cDpGm@K?bo@(`M*ooas!CNzR;{`<#9DZSB22VfSSilK6Z1ST8?5 z{_9)cQXE15oQ9>iKl4BK>A5l zxCwv;B+ZGELpg|V5a@9lP2wy~w0Gx@v*XEIQ2h=pJPNNrf#eAS*g$H*Fdh+_m_a;5 zDW>uy&l=BGEI>NXOoZc66i4NO|3z?Dp!G-I9c&Rh4z6o(1a^I!iKOaK4@h)8Wkl9Z zEN7K%xo+9^?)%kjbnx`(AB8xUIZ`cn)(LR$2YacA;>pcd8O$xx_ciy4LSeD5gj3~; z)rq^5{8GvHz3)!1RxgPdm1y1YJ@;_-!YRdDg z)QllAx`=4eaxj)6)Dr~kGoM&n&?Z|z436cZlv->JTa7}TWiI3BD~xpmu>+#0$CRpa zJLpr^6O<8h1e5}SQl-S$vdK+Ol*AfD84;sU0$Ag4QZ2+LgCcpRNu`eGEB0@^#up}+ z*xA`)6dn?dQgo6MofuMGDw#@S+BzHt;ixy>v&4E^1Y4A;f(p^}J`(2u1;rBv_~zmx zyxDq#*>RnAt4;G(lTk3jpGpbqk(en(6vjz*V4ju8{7u&Gj zv4}*3<5&o_BoUn$iFyfUVmt{^3U%jw+;4X;hcEqX68!zIl7|x{(@=;hswIX>mU3=< zAZw#woJEon3lfo`r7M|ucl<#TZLUrYyVnoj{&Q{c)@!rr{;nV2*jKu_hqLt__3f)> zZFjRXHR`_qhh^uVVa;AqjzU5*$KL>axrEX*g4Y#oVBBgX!hm zZf5LV(QNl0DV?_)YSD7koIr;}ZT5d1{Dx!v4}-IjOgfnvxBvhE07*qoM6N<$g0#hr A2><{9 literal 0 HcmV?d00001 diff --git a/src/pics/cr22-action-scheme_power.png b/src/pics/cr22-action-scheme_power.png new file mode 100644 index 0000000000000000000000000000000000000000..c86841a229190b4583d9cb8fc70875447e586fcc GIT binary patch literal 1183 zcmV;Q1YrA#P)uKq_(GJIA$9^QR$dBy81u(h`h6pSs5+Oko6^$2og9*mOD~$w< zF(I00V(>yRM2QM9F+q%hh{J7U42F~a0qcI)%KCSDPJ3#{#mwxr7bd>R_r1xRFHfGl zZ@%vnip3)TMu@2&I6%d&eM$GIU%0?A~OR4PHK&h_iRF9n;X$wI#cvAB87nym-xq8&m$FJXi|iV?u0 zDl8L<+4@Xou5DuC&P#)X{po>${_fGy(GLoR!WsS%i^J>ed=3EMQC-*H5CkMe5i7mk z%CPSBg$=*qi$o&shK2@l#fo~uVHYzqY0jQK=bSoq`rP>V$PU}ik zH8-0e5cCrY1zo0@ZUO#S0u}^;B1Ig>dc1CB?eX@lTbov|UMmEv!l;tWf?3XjRLb$p z%%+XevD=S~4iEF;@iVMxuBE&ClBp=lK$$U6f;!Jfm$!eid*@!Qeq|W14!R2z6$%AV zB~THmP`%Uyn`mxm;?~F{y*+(Q#B)MZV~bG+wyY$o6n$q~=PO#QMQ3ar=7#_qbPxE0 zQ0WJk8xSC$2StSC;VR;hW+HW++W64dCxC_}U^APfsO0A~-CdV;pf=o%R@Kkl#M2}* z1|y@8y#|^af`2PZkM9Jd9i#B{_eW zzP`_Msr2N5GO&=l@0z}0aqNoBM}xkeY~Jn)nO}YSRO`w19V$#;hWEY;F=lkJc2kCs znMQMam`~p3rwi}rrzS5R@Eg^?0W4nOg(XSuE)BUCw0CjofUEhn^+KU|l;Zh46xRjB z3{)IJ&_2_>k+E3pNpr)77oDnba{}nnbvKbn?IQ1Qu-8)F|Nk{D#$O@(+FF|N8>#>R002ovPDHLkV1nu@HD>?- literal 0 HcmV?d00001 diff --git a/src/pics/cr22-action-scheme_powersave.png b/src/pics/cr22-action-scheme_powersave.png new file mode 100644 index 0000000000000000000000000000000000000000..4237f471d01d1506f746394fb9410d14d841559d GIT binary patch literal 1023 zcmVOq$2d8y z#jJn)a)`khQ5Ay}8$MDc!FDCcaxoI#WNI=Vke9BU$)^`HI+=Hm%Pme|VzY0Hx%c}0 z(MN>xz_KhH$3X~zl#*JlMlQckGE-s6e{nQ0aQcn8Q4*ZM;Uu9m4_V<+TCEoOe4dSs z4Z`7Y`?;^Lk5DK?qtO7s3q&!&;i;gtl>pZMSFH9|u*o20Kd$SxD_mGuXv=KdCYQ^# zs~;O1LKR{Q z*ICb|O8FYiu3{}4Aiu=cN#X+^G5B~NPfkaX)i9Lq<1ZC))^5P+Z)mrHR!HN~>Ol-` zyd1O^5vq)@_7%Qd5lXYLx(Pe$puhk|0bXY>TXc$#W13)G=%0h=MX02X%z@TmJm_Ar z;yA*B@GB6z0zbb7`gok4>QyX{ObI^(o(A7IWWIy)GMFP$4`hq>*folVd4QG-gEb7k zv*4cr3^)<+#W+f~?vSh4m|nz1eU9YzJ2dqy=mL0U+C(qGh0h`UFcszFk7AT}mqsbn zEWBQ#P|8Q8{u~uKgt4m#?cxi>QChIMvP>#F!k;^F=64;M^-}ML=P9rNLxh%zV_V{1 zf#%lVYusFfRPhP!meZ8g0RaPA(pwashC|v{7%Vn7@3NiRp{X5|u`mXJ_NY~_;-*9# zt`tI0EEXvg3V5ACA`BRb>8UG3@^(X{R=^mPQtc0sF^0~ChH+UlR#WA361RI-24{sE#c)l9Iy2b2H+002ovPDHLkV1ngp+$8`2 literal 0 HcmV?d00001 diff --git a/src/pics/cr22-action-scheme_presentation.png b/src/pics/cr22-action-scheme_presentation.png new file mode 100644 index 0000000000000000000000000000000000000000..6d9d07a78ce7f833ba807cce94ed0800f264f943 GIT binary patch literal 786 zcmeAS@N?&q;$mQ6;Pv!y2?Ek$Ak4uGBtK`(;RI5g1s;*b3=G_YAk0{w5< z>&kwGho8$#Q|@9bBTz`T#5JPCIX^cyHLrxhxhOTUBsE2$JhLQ2AtWPJ!QIn0;C+f} z9s>hoQh-m0D^P>GyL(DX%G9Y-r%#_gbLPzK>>Mjw$Fz*>*$dYIWoOKqCn_px;~MJV z;Gm(Q0Tc-h4Yjni1nSZ?Ftf68v~~%Ni;J_iwq{_cXJF`)lvS3NzN)OOtgf!Esi~>W z(4ehvVeS-a;T&q^5(-poWA6ks&DP%0)-BZDJ=6h+JVG5kLY%}AvQKHAz@=e!sCR*WH3n0&dx3<_+MC9SW$2En0MD{ra;j zR-9k6<{}6@zr5`7<;yRxY}~bp z9zf1ZPZ!4!2}#z2r}dZv85k}UzrW+Rn%~Rzn3vM2W9zE#zvu7h2<=>Q>q3^{wwoWzYrsLnuKWg?I z^?d?dzkOTQ7=kwNC(!dfPVfT;$IE)9Xa+z0HL9(Y9ic+LF)3LH;YKbLh* G2~7ab4p4aj literal 0 HcmV?d00001 diff --git a/src/pics/cr22-action-stand_by.png b/src/pics/cr22-action-stand_by.png new file mode 100644 index 0000000000000000000000000000000000000000..99e4a7c09ee5ab98fa1d0c374d9336801bdee34e GIT binary patch literal 1178 zcmV;L1ZDe)P)1ONx%-!?be7&DOomBPqJOgj}P^PC*PmIDT+cd0LIgxd;CP0nBD*{bJ>w!VJ(Uy7^fVDGKs%hjy!yw;$E@!I9>P2Gw4d_*vuh1S zy{*eFS1&Bvd%Z8V;_CIVf}T?|-a2A=PMc#Mr8N7%VaX?*WNF`j5}0#*AZfeJzPhwy zc#ZWkvya)CbCOJLBa>UnRR_rMZQWPKhkv{UE=o^4k*k%ZkbCzPWri8L)-a z7LZYOq&lnfn$Sh5$NwRAontU=>beqNP6mEJ2IY|vm83GI{St&@X5j(l0Bis{0QAEF z&R&N2q|&}WB1*~NJW`uWY70q)DytcQ93zwgFu+06Ba1C5&17gPsmmu{D6=4hLP`SwDehAPumTX^X^0eV!Rt@=tUO3Y z*4VkQikw|Y;+5iyfM^!(>juyXzy`nuU^M==AAk)&4*(HHlB%V?rlU4v)gVKQt}(IU zE??b4ism)l0-P7&3E}|E#Y4EMTB4%zF8-=7zDaZAZEoryjm@NR{^21&k%-4o0Z70| zUZpa(c@3ELC&n%WnZrF>r)9pk3-2*L@O(ZIWbyu1f5+qG3wBtv}vMF8-W+uZ^rdLl&GN z$1J%{VBUTJ#@3M;hsbru$oZ8dyeftP$=d(~ z7^SOjR0M5r7mn3T#$!A)sahuU`?7vPxt+#((y*J+O30hos#}DfK&iZ_!pu3Ov&{1U(Hx^p0O6ve284# zMy@zO##+h67SdQvhJ8wg>>xvm$k}gnQSP~@3qTS8DIQJoEM%HYvG0dx+#@=Mm1#Gq z&c4f_TvC@$2Itv1f5R`Fx$@|++qCo^2;2(*_yZ8YF@gyYKA$L%2NX#>qw1YsTy{YI slIft_YjKNM?pF@T-vOWoAjKp62{(oud~C;KQUCw|07*qoM6N<$g1t=~?f?J) literal 0 HcmV?d00001 diff --git a/src/pics/cr22-action-suspend_to_disk.png b/src/pics/cr22-action-suspend_to_disk.png new file mode 100644 index 0000000000000000000000000000000000000000..966627011226111b611cf8a702a53d27db11e080 GIT binary patch literal 1198 zcmV;f1X25mP)L8xLc&<86BTbK5s3WaW8TBI*6^sN-y!b0B` zS|}8IdC~35zHG}<3cD1#;DfZ_!@88v)n$#MYcwXtOEiz-U85!}HN-w5P7FuFd6gg@h0_mSvS}+tvz&!d^O^-byBuak{<- zAUQujU!fzOhzYOPdueoZ^uv~xmWlfM`T#A!;o%`pPfuZ*Cit4cXGKxq@pwQ+{Jc!} z{@U2sxW2!?e|>IlE-!^i)IBgT@Z;Fn*p-8W13^E)(b16Na%gdmdmFX~e0wR$J&Tu~-!Y2~~Esc<{`Or>GPKP%ZPle@71z}}ng=@o&dOD|pU_JIu z%AngYiXNm%__U^4ln+Pv;Z_NIhmW9ZE+=9V5q*7qyz6+(xW+Q#Z+;D9SZchFC|x%8z|MA7Zf>r!B{9cXtAL zr@nBY2VBV7K4jR~ld`chJE+p^B{@ac>%dz)B~UVvGr zK=%VhpF^E!(6to=P)nxU2~1>vNN;c4zDjS&-(`X{%PMW z`0|b$%a<+#J~z&Ty|iYu{q*UbT;{j$=>2?`ZwXXF>Fn&hFf=su0{??hX)Y350X1+d z`AVel(ey=8C9W?f3WYB|zJ|gtw*dUjqWGUsh@|$0Kk(MV&91m%_atn|mhaaz;h+8t zz#yIt-+IFDF5DbR>2}YJN17`*{dtAxGm5+YLpR7C8ubptRut000JJOGiWi{{a60|De66lK=n&=t)FD zRCwB@kbO|obsWdPL!6@dkQP!t)M*}`=_P5|O~EuDI#F^23V|slcqX#aQ%oS#L{uO) z5rGs1aVXDBVd&hDO<*9nArEsKff72V3;`Dmwy}4=TWRHCX}<1W_x=3!y3hARo&}F5 zqNk)}FU-#u1jNQB&mk{MU0pL>ASh#IXBWjQl}+l_)_ZzMiC9_uv)Az#j_GtgLxjR| zr?RpeTdJz+8nxQ?R-@5mworhAnjw?lvSgfylEeosW*qajw|TCxT&`L!mn*8<+8*dl zCbO9me@aEo=DwJA{%g4Kd}45uIKg1(=|*Rl9=C66(A<3Q@oQBkQ$Z-K zf=E;iX@wG(1yV%s_7}4KW;qWUMFw%~F7vO{)@EC(d5566tAVDi19f#xsHss=sv(io zAU|JBDY2TDCqZGM6#Rl>>R%tlpj*Rz;yL?`trfeETfzL4)#o^FD#IFv>|LNO9{LJ*E>qszJlb~lRPq>8DQ&t@G_}H_4zjf8OaqrS;Slad!KB`a zxF=aKJ=g?0F9U`w)qpmOn?vja#t`xmjr^S!Hko@rWt3bJMo$(Wddo|%I)cWkaQLn9 z>|Yepgxx$KI3Mui0?r)3Ap{s1G=SlLM%cPN0Bvq&0hx1ZCYhHti9F4++JfsK^Dp<3 z!N4zM_yF(K*y`Lb;qzVW0Q2ZQ^NvF5mKTA59Kf3kxSj;&#{$z20ONxJyUk|M*BM~* ziL#e`aPAy=7LU?w#wpn&_V4j^+B=DvmE)7B>DwnVV~+sX$^(4P0n3tr_oIQy;lRjk z{jl{=_0Sln)E;rwgfJoSP5vKeaXALOv)6#(>u+jk z&IzI9ZTHdSMWDGPjveoLVVi4AV|(}&BX$)5KIv4L-HX=(WEvY6jz4i+KZg7-7DUm< zuH|_$!s~Bs$^6aime6UM=wDi6>vCibnZ_JSUJAy+q4d=m%Vw}DMGhN^ifD`ji^!yp cZOK#o4%RM`nO|ZR9{>OV07*qoM6N<$g8v(V=>Px# literal 0 HcmV?d00001 diff --git a/src/pics/cr22-action-yast.png b/src/pics/cr22-action-yast.png new file mode 100644 index 0000000000000000000000000000000000000000..a13dd4b74bfd7eeca204002c86b2b7490956d8f7 GIT binary patch literal 1587 zcmV-32F&@1P)|tj1%s%h6)?WYb4#h)A(>R-aR?@WJ_mZKuEO_ZMixB~ zRQ>A3zRXoVk56<<&zt8$7r*<%{d)Z7y#9Y2$J3WCjOm5NIXyEwsek(V5&hVne)ZDp z!Q5+quX>()Fu2QvZtVHs1NHmg{33k+!`q%E6pB)IY-($x02qeEaXqFJqcpZzZ0hgl zu}5}_bAtrE|!1&pZ&$T@Na`(E7fBKD|AMv;Ber7Lwp5BFy z%riVPi7o0Y;V}Rrkq{%p^SI#=GKD1C$n%wlALPv0i}q|H^<>|Ja`?lOh7TG0b)x^ym4PE{*Gv_9zmlsRK))*Yv zbBOYZ7*9O%D2**43WXB?L*sdhk8f1`)?BG*Qn+p&Pn8J=Ej&|!&}0|Q`|3N*ZsYMo z$?p{t+t#g(*WfFcflc=ji3V{T58wCy>sM>RN-B-#Y9^9HG}*Vv2Q{WJ5JG?kX=#dC zVV82oDXFW68wNjmi}Z3CrTj`uhhnir#p|7L*Y)l+O(vHZpZJ8X{%)QSU*lV{gPv3b zKdi7!FinYN351YAX;`+g`;dKLs`P&QrS}9evx{id!n7npXp{!6s5~l?&lhNDZKg1E zf{neuCfpLFKiWoeGRIO)2~!D#)GW^#?(`MwEmM`nWHf9)BnFQ1-t{r+hn}G(7AF)6 zlFjB=&7|4;%?D`hX=nA)o2;!nj(@X=oLWF{?cmwYPX0JO%~(qsyDV@EMkIW{2Tp-H&0Mk;U92YBnWMgWg`>xRz`lVnU6CV1QN*;5*;j=-w}|lt&E9w$ zC#E3Tv&u>$Ft$3IPE>*!2?j+Xn-g)|0KqWS_AOQ#FJcD_0wK+s?MG=Uh3RYypk_VH z1{*Y3G0=;7%x1q5-puhUhCg!Ny{MIwGL_&{Ra zi4_qT8%x}LCrDFN6Kan@Bm|{0q>D(mj97B0Je6IIp8aINT=ywcgJ9S37j${(%`s=tPgb}mRgi4$z428{h?6M zhqEP>5vE1}p0Dv7a9l;P0E)`Jf0>i#HMiei0LOvqFlZAHQ1l4;E<&qTgS(u6+fyI@ z$-CaV(HPCUdTUkXbI2Cb3V;-V)MyQsr72gMkDraGb5GDN>^8Ld(Z=@g{Oq{!SFmm@bW7?)q&7F)k-!|ff-R*s55<~@tE zLygxjC!+fWpMzCp)Hd}7dTU#QO>W)@WS0%KoKWe~QehgMPd>Gwz5cn)p@We?{%I+& lQ@Ox}YxB`x9zAny=--8?*1c$Xp;!O_002ovPDHLkV1hgi{{a91 literal 0 HcmV?d00001 diff --git a/src/pics/cr48-action-stand_by.png b/src/pics/cr48-action-stand_by.png new file mode 100644 index 0000000000000000000000000000000000000000..9a0c117b63276b34c46be1b6899547d9ffb6618a GIT binary patch literal 3568 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 literal 0 HcmV?d00001 diff --git a/src/pics/cr48-action-suspend_to_ram.png b/src/pics/cr48-action-suspend_to_ram.png new file mode 100644 index 0000000000000000000000000000000000000000..d0fe63af20929cf9b8fa5e22b8db17c76777f0c4 GIT binary patch literal 3898 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 IM6N<$f_bcb+5i9m literal 0 HcmV?d00001 diff --git a/src/privileges.h b/src/privileges.h new file mode 100644 index 0000000..9b45d19 --- /dev/null +++ b/src/privileges.h @@ -0,0 +1,46 @@ +/*************************************************************************** + * Copyright (C) 2007 by Danny Kukawka * + * * + * * + * This program is free software; you can redistribute it and/or modify * + * it under the terms of version 2 of the GNU General Public License * + * as published by the Free Software Foundation. * + * * + * This program is distributed in the hope that it will be useful, * + * but WITHOUT ANY WARRANTY; without even the implied warranty of * + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * + * GNU General Public License for more details. * + * * + * You should have received a copy of the GNU General Public License * + * along with this program; if not, write to the * + * Free Software Foundation, Inc., * + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. * + ***************************************************************************/ + +/*! +* \file privileges.h +* \brief Headerfile containing defines for privileges +* \author Danny Kukawka, +* \date 2007 +*/ + +#ifndef _PRIVILEGES_H_ +#define _PRIVILEGES_H_ + +#ifdef HAVE_HAL_0_5_10 + #define PRIV_SUSPEND "org.freedesktop.hal.power-management.suspend" + #define PRIV_HIBERNATE "org.freedesktop.hal.power-management.hibernate" + #define PRIV_STANDBY "org.freedesktop.hal.power-management.standby" + #define PRIV_CPUFREQ "org.freedesktop.hal.power-management.cpufreq" + #define PRIV_LAPTOP_PANEL "org.freedesktop.hal.power-management.lcd-panel" + #define PRIV_SETPOWERSAVE "org.freedesktop.hal.power-management.set-powersave" +#else + #define PRIV_SUSPEND "hal-power-suspend" + #define PRIV_HIBERNATE "hal-power-hibernate" + #define PRIV_STANDBY "hal-power-standby" + #define PRIV_CPUFREQ "hal-power-cpufreq" + #define PRIV_LAPTOP_PANEL "hal-power-lcd-panel" + #define PRIV_SETPOWERSAVE "hal-power-set-powersave" +#endif + +#endif diff --git a/src/screen.cpp b/src/screen.cpp new file mode 100644 index 0000000..0f58d0f --- /dev/null +++ b/src/screen.cpp @@ -0,0 +1,721 @@ +/*************************************************************************** + * Copyright (C) 2004-2006 by Danny Kukawka * + * , * + * * + * This program is free software; you can redistribute it and/or modify * + * it under the terms of version 2 of the GNU General Public License * + * as published by the Free Software Foundation. * + * * + * This program is distributed in the hope that it will be useful, * + * but WITHOUT ANY WARRANTY; without even the implied warranty of * + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * + * GNU General Public License for more details. * + * * + * You should have received a copy of the GNU General Public License * + * along with this program; if not, write to the * + * Free Software Foundation, Inc., * + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. * + ***************************************************************************/ +/*! \file screen.cpp + * All here displayed file members of screen.cpp are related to operations with the + * XSreensaver/XServer. This functions are basic/low level operations. They are + * inspired, partly copied and modified from
    MPlayer + * code (1.05pre). Thanks for the inspiration. \n \n + * All 'higher level' class members of the class screen can be found here: \ref screen + * \brief In this file can be found all screensaver related code. + * \author Danny Kukawka, , + * \date 2004 - 2006 + */ + + // own headers +#include "screen.h" +#include "kpowersave_debug.h" + +/* needed for lXext C library linkage */ +extern "C" { + #include + #include + #include +} + +// KDE Headers +#include + +/*! The default constructor of the class screen */ +screen::screen() { + kdDebugFuncIn(trace); + + xscreensaver_lock = NULL; + xscreensaver_reset = NULL; + gnomescreensaver_lock = NULL; + gnomeScreensaverCheck = NULL; + xlock = NULL; + + got_XScreensaver = false; + checkDPMSStatus(); + check_xscreensaver_timer_runs = false; + + SCREENSAVER_STATUS = -1; + screen_save_dcop_ref = DCOPRef( "kdesktop", "KScreensaverIface" ); + + check_xscreensaver_timer = new QTimer( this ); + connect( check_xscreensaver_timer, SIGNAL(timeout()), this, SLOT(xscreensaver_ping() )); + + SCREENSAVER_STATUS = checkScreenSaverStatus(); + kdDebugFuncOut(trace); +} + +/*! The default destructor of the class screen */ +screen::~screen() { + kdDebugFuncIn(trace); +} + +/*! +* To enable/disable the KScreensaver/Xscreensaver. +* \param enable true: activate/enable screensaver / false: deactivate/disable screensacer +* \return the result of try to set the screensaver +* \retval true if screensaver set correct +* \retval false if there is a error +*/ +bool screen::setScreenSaver(bool enable){ + kdDebugFuncIn(trace); + + if(SCREENSAVER_STATUS == -1) SCREENSAVER_STATUS = checkScreenSaverStatus(); + if((SCREENSAVER_STATUS == 1) || (SCREENSAVER_STATUS == 0)){ + screen_save_dcop_ref.send( "enable", enable); + kdDebugFuncOut(trace); + return true; + } + + if(SCREENSAVER_STATUS == 11 || SCREENSAVER_STATUS == 10){ + if(enable) { + check_xscreensaver_timer->stop(); + check_xscreensaver_timer_runs = false; + } + else { + check_xscreensaver_timer->start( xScreenSaver_timer_interval ); + check_xscreensaver_timer_runs = true; + } + kdDebugFuncOut(trace); + return true; + } else { + kdDebugFuncOut(trace); + return false; + } +} + + +/* * * * * + * this inspired, partly copied and modified from MPlayer Code (1.05pre) + * START Section + */ +//! to handle information about wrong XWindows +/*! +* This integer represent information about XWindows. +* - got_badwindow == True: if the searched Window is wrong or if there is a problem/error +* - got_badwindow == False: if there is no problem/error +*/ +static int got_badwindow; +//! ErrorHandler +/*! Errorhandler for all X-Server related operations */ +static XErrorHandler defaultHandler; + +//! to find/handle bad XWindows / XSetErrorHandler +/*! +* This function is involved by the search for the window of the Xscreensaver. By this +* function we seperate the BadWindow-error and set \ref got_badwindow if we get a BadWindow. +* For more information take a look at the XServer Documentation! +* \param dpy pointer to the active X-Display +* \param error pointer to XErrorEvent +* \return a info about a window-error +* \retval 0 if the window is a BadWindow as a integer +* \retval n the errorID/XErrorHandler if there is a error != BadWindow +*/ +static int badwindow_handler(Display * dpy, XErrorEvent * error) { + if (error->error_code != BadWindow) + return (*defaultHandler) (dpy, error); + got_badwindow = True; + return 0; +} + +//! to find the X-window of XScreensaver +/*! +* This function search for the X-Window of the active/activated XScreensaver. +* \param dpy pointer to the active X-Display +* \return The WindowID of the active XScreensaver. +* \retval 0 if no Windows/Xscreensaver was found +* \retval n ID of the founded XScreensaver window +*/ +static Window find_xscreensaver_window(Display * dpy) { + kdDebugFuncIn(trace); + + Window root = RootWindowOfScreen(DefaultScreenOfDisplay(dpy)); + Window root2, parent, *kids; + Window retval = 0; + Atom xs_version; + unsigned int i; + unsigned int nkids = 0; + + xs_version = XInternAtom(dpy, "_SCREENSAVER_VERSION", True); + + if (!(xs_version != None && XQueryTree(dpy, root, &root2, &parent, &kids, &nkids) + && kids && nkids)) { + kdDebugFuncOut(trace); + return 0; + } + + defaultHandler = XSetErrorHandler(badwindow_handler); + + for (i = 0; i < nkids; i++) { + Atom type; + int format, status; + unsigned long nitems, bytesafter; + unsigned char *v; + + got_badwindow = False; + status = XGetWindowProperty(dpy, kids[i], xs_version, 0, 200, False, XA_STRING, &type, &format, + &nitems, &bytesafter, &v); + XSync(dpy, False); + if (got_badwindow) status = BadWindow; + + if (status == Success && type != None){ + retval = kids[i]; + break; + } + } + XFree(kids); + XSetErrorHandler(defaultHandler); + kdDebugFuncOut(trace); + return retval; +} + +/*! +* This function is used to ping the XScreensaver. There is no direct way to stop +* the XScreensaver without to kill/stop an restart or modify config-files of the +* current user. \n \n +* We ping the xscreensaver as defined in the QTimer-interval \ref xScreenSaver_timer_interval . +* The value of \ref xScreenSaver_timer_interval is 58 sec at the moment. The intervall must be +* smaller then 1 minute (this is the smallest interval of Xscreensaver a.t.m.). +*/ +void screen::xscreensaver_ping(){ + kdDebugFuncIn(trace); + + if(!got_XScreensaver) { + mDisplay = qt_xdisplay(); + xs_windowid = find_xscreensaver_window(mDisplay); + + Atom deactivate = XInternAtom(mDisplay, "DEACTIVATE", False); + Atom screensaver = XInternAtom(mDisplay, "SCREENSAVER", False); + + ev.xany.type = ClientMessage; + ev.xclient.display = mDisplay; + ev.xclient.window = xs_windowid; + ev.xclient.message_type = screensaver; + ev.xclient.format = 32; + memset(&ev.xclient.data, 0, sizeof(ev.xclient.data)); + ev.xclient.data.l[0] = (long) deactivate; + + if(xs_windowid != 0) got_XScreensaver = true; + } + if(got_XScreensaver){ + if(XSendEvent(mDisplay, xs_windowid, False, 0L, &ev) == 0){ + if(check_xscreensaver_timer->isActive()) { + check_xscreensaver_timer->stop(); + this->got_XScreensaver = false; + } + } + XSync(mDisplay, False); + } + + kdDebugFuncOut(trace); +} +/* + * END Section + * * * * * * */ + +/*! +* Checks if KScreenSaver or XscreenSaver is activated +* \return The result of the check as an integer value. +* \retval 0 KScreensaver is disabled +* \retval 1 KScreensaver is activated +* \retval 10 Xscreensaver is not found or not running +* \retval 11 Xscreensaver is activated +* \retval 99 gnome-screensaver check is running +* \retval -1 else +*/ +int screen::checkScreenSaverStatus() { + kdDebugFuncIn(trace); + + bool get_reply = false; + int kScreenSaver_tmp_status = -1; + int check = -1; + + // check for KScreenSaver + DCOPReply reply = screen_save_dcop_ref.call("isEnabled()"); + if(reply.isValid()){ + if(reply.get(get_reply)){ + if(get_reply) return 1; + /* don't return status her because we must also check if + * XScreensaver is activated !!! + */ + else kScreenSaver_tmp_status = 0; + } + } + // check for XScreensaver + if (got_XScreensaver) return 11; + else if(!got_XScreensaver) { + Display *dpy = qt_xdisplay(); + Window windowid = find_xscreensaver_window(dpy); + if(windowid == 0) { + //Xscreensaver not detected + check_xscreensaver_timer->stop(); + // KScreensaver activ and no XScreensaver found + if(kScreenSaver_tmp_status == 0) return 0; + // no KScreensaver and no XScreensaver found + else check = 10; + } + else return 11; + } + + // check for gnome-screen-saver + if (check == 10) { + delete gnomeScreensaverCheck; + + gnomeScreensaverCheck = new KProcess; + *gnomeScreensaverCheck << "gnome-screensaver-command" << "--query"; + + connect( gnomeScreensaverCheck , SIGNAL(processExited(KProcess *)),SLOT(getGSExited(KProcess *))); + + if(!gnomeScreensaverCheck->start(KProcess::NotifyOnExit)) + { + delete gnomeScreensaverCheck; + gnomeScreensaverCheck = NULL; + return 10; + } + else return 99; + } + + return -1; +} + +/*! + * \b SLOT which called if the call of gnomescreensaver-command exited + * \param gnomecheckcommand the KPocess which called this SLOT + */ +void screen::getGSExited (KProcess *gnomecheckcommand) { + kdDebugFuncIn(trace); + + if (gnomecheckcommand->normalExit()){ + if (gnomecheckcommand->exitStatus() == 1) SCREENSAVER_STATUS = 10; + else if (gnomecheckcommand->exitStatus() == 0) SCREENSAVER_STATUS = 20; + } else { + SCREENSAVER_STATUS = 10; + } + + delete gnomeScreensaverCheck; + gnomeScreensaverCheck=NULL; + + kdDebugFuncOut(trace); + return; +} + +/*! +* This function check if DMPS is activated on the active X-Server. +* \return Integer value with the result of the check +* \retval 1 if DMPS is enabled +* \retval 0 if DMPS is disabled +* \retval -1 if there is a error +*/ +int screen::checkDPMSStatus(){ + kdDebugFuncIn(trace); + + CARD16 state; + BOOL onoff; + int dummy; + + Display *dpy = qt_xdisplay(); + + if (!DPMSQueryExtension(dpy, &dummy, &dummy) || !DPMSCapable(dpy)){ + has_DPMS = false; + kdDebugFuncOut(trace); + return -1; + } + else + has_DPMS = true; + + DPMSInfo(dpy, &state, &onoff); + if(onoff) { + kdDebugFuncOut(trace); + return 1; + } else { + kdDebugFuncOut(trace); + return 0; + } +} + + +/*! +* To set DPMS on X-Server on/off. +* \param enable true: activate/enable DMPS / false: deactivate/disable DPMS +* \return the result of try to set DPMS +* \retval true if DMPS correct set false +* \retval false if fail (DPMS not supported) +* \todo \li check/evaluate for errormessages +* \li check if DPMS-Settings correct set if DPMSEnable(dpy) used +*/ +bool screen::setDPMS( bool enable ){ + kdDebugFuncIn(trace); + + defaultHandler = XSetErrorHandler(badwindow_handler); + + Display *dpy = qt_xdisplay(); + + int dummy; + if (!DPMSQueryExtension(dpy, &dummy, &dummy) || !DPMSCapable(dpy)){ + has_DPMS = false; + XSetErrorHandler(defaultHandler); + kdDebugFuncOut(trace); + return false; + } + + if(enable) DPMSEnable(dpy); + else DPMSDisable(dpy); + + XFlush(dpy); + XSetErrorHandler(defaultHandler); + + kdDebugFuncOut(trace); + return true; +} + +/*! +* This function set the Timeouts for DPMS for the X-Server. +* \param standby_timeout time in seconds to stand-by the display as integer value +* \param suspend_timeout time in seconds to suspend the display as integer value +* \param off_timeout time in seconds to switch off the display as integer value +* \return the result of try to set DPMS-Timeouts +* \retval true if DMPS correct set false +* \retval false if fail (DPMS not supported) +*/ +bool screen::setDPMSTimeouts( int standby_timeout, int suspend_timeout, int off_timeout){ + kdDebugFuncIn(trace); + + //XErrFunc defaultHandler; + defaultHandler = XSetErrorHandler(badwindow_handler); + + Display *dpy = qt_xdisplay(); + + int dummy; + if (!DPMSQueryExtension(dpy, &dummy, &dummy) || !DPMSCapable(dpy)){ + has_DPMS = false; + XSetErrorHandler(defaultHandler); + kdDebugFuncOut(trace); + return false; + } + + DPMSSetTimeouts(dpy, 60 * standby_timeout, 60 * suspend_timeout, 60 * off_timeout); + + XFlush(dpy); + XSetErrorHandler(defaultHandler); + kdDebugFuncOut(trace); + return true; +} + +/*! +* Use this function to lock the screen. This function use automatically the right +* method for KDE or GNOME. +* \return boolean with the result of the operation +* \retval true if the requested method worked +* \retval false if there was a error +*/ +bool screen::lockScreen(){ + kdDebugFuncIn(trace); + + // screensaver status known? + if(SCREENSAVER_STATUS == -1) SCREENSAVER_STATUS = checkScreenSaverStatus(); + + // set lock for KScreensaver + if((SCREENSAVER_STATUS == 1) || (SCREENSAVER_STATUS == 0)){ + DCOPReply reply = screen_save_dcop_ref.call("lock"); + if ( reply.isValid() ) { + return true; + } else { + kdWarning() << "Could not lock KScreensaver, try XScreensaver as fallback." << endl; + goto xscreensaver; + } + } + // set lock for XScreensaver + else if(SCREENSAVER_STATUS == 11){ +xscreensaver: + delete xscreensaver_lock; + + xscreensaver_lock = new KProcess; + *xscreensaver_lock << "xscreensaver-command" << "-lock"; + connect(xscreensaver_lock, SIGNAL(processExited(KProcess*)), + this, SLOT(cleanProcess(KProcess*))); + + bool status = xscreensaver_lock->start(KProcess::DontCare); + if(!status) + { + delete xscreensaver_lock; + xscreensaver_lock = NULL; + } + return status; + } + // lock with gnome-screen-saver + else if(SCREENSAVER_STATUS == 20){ + delete gnomescreensaver_lock; + + gnomescreensaver_lock = new KProcess; + *gnomescreensaver_lock << "gnome-screensaver-command" << "--lock"; + + connect(gnomescreensaver_lock, SIGNAL(processExited(KProcess*)), + this, SLOT(cleanProcess(KProcess*))); + bool status = gnomescreensaver_lock->start(KProcess::DontCare); + if(!status) + { + delete gnomescreensaver_lock; + gnomescreensaver_lock=NULL; + } + return status; + } + // set lock for xlock --> no kscreensaver, no xscreensaver present and + // the check for gnome screensaver is not finished. This should normaly + // not happen, but in this case we use xlock + else if(SCREENSAVER_STATUS == 10 || SCREENSAVER_STATUS == 99){ + delete xlock; + + xlock = new KProcess; + *xlock << "xlock"; //<< "-mode" << "blank"; + connect(xlock, SIGNAL(processExited(KProcess*)), + this, SLOT(cleanProcess(KProcess*))); + bool status = xlock->start(KProcess::DontCare); + if(!status) + { + delete xlock; + xlock = NULL; + } + return status; + } + else return false; +} + +/*! +* Use this function to lock the screen with a specified lock method. +* \param lock_withMethod a QString, which contain the alias for the lock +* command. +* \return boolean with the result of the operation +* \retval true if the requested method worked +* \retval false if there was a error +* \todo check if we should also set blank only if the user would like!!! +*/ +bool screen::lockScreen( QString lock_withMethod ) { + kdDebugFuncIn(trace); + + if (lock_withMethod == "automatic") { + lockScreen(); + return true; + } + else if (lock_withMethod == "xlock") { + delete xlock; + + xlock = new KProcess; + *xlock << "xlock"; + connect(xlock, SIGNAL(processExited(KProcess*)), + this, SLOT(cleanProcess(KProcess*))); + + bool status = xlock->start(KProcess::DontCare); + if(!status) + { + delete xlock; + xlock=NULL; + } + + return status; + } + else if (lock_withMethod == "gnomescreensaver") { + gnomescreensaver_lock = new KProcess; + *gnomescreensaver_lock << "gnome-screensaver-command" << "--lock"; + connect(gnomescreensaver_lock, SIGNAL(processExited(KProcess*)), + this, SLOT(cleanProcess(KProcess*))); + + bool status = gnomescreensaver_lock->start(KProcess::DontCare); + if(!status) + { + delete gnomescreensaver_lock; + gnomescreensaver_lock = NULL; + } + return status; + } + else { + // screensaver status known? + SCREENSAVER_STATUS = checkScreenSaverStatus(); + + if (lock_withMethod == "kscreensaver") { + if((SCREENSAVER_STATUS == 1) || (SCREENSAVER_STATUS == 0)){ + DCOPReply reply = screen_save_dcop_ref.call("lock"); + if ( reply.isValid() ) { + return true; + } else { + kdWarning() << "Could not call lock for KScreensaver, try XScreensaver " + << "as fallback." << endl; + goto xscreensaver; + } + } + else return false; + } + else if (lock_withMethod == "xscreensaver") { + if(SCREENSAVER_STATUS == 11){ +xscreensaver: + delete xscreensaver_lock; + + xscreensaver_lock = new KProcess; + *xscreensaver_lock << "xscreensaver-command" << "-lock"; + connect(xscreensaver_lock, SIGNAL(processExited(KProcess*)), + this, SLOT(cleanProcess(KProcess*))); + + bool status = xscreensaver_lock->start(KProcess::DontCare); + if(!status) + { + delete xscreensaver_lock; + xscreensaver_lock = NULL; + } + return status; + } + else return false; + } + else return false; + } + return false; +} + +/*! +* Use this function to set the screensaver to 'blank only' instead of +* using the in KDE or GNOME set screensaver. +* \todo find a way to set the xscreensaver to 'blank only' +*/ +void screen::blankOnlyScreen( bool blankonly ){ + kdDebugFuncIn(trace); + + if(SCREENSAVER_STATUS == -1) SCREENSAVER_STATUS = checkScreenSaverStatus(); + // set KScreensaver + if((SCREENSAVER_STATUS == 1) || (SCREENSAVER_STATUS == 0)){ + screen_save_dcop_ref.send("setBlankOnly", blankonly); + } + // set XScreensaver + else if(SCREENSAVER_STATUS == 11){ + // implement something !!! + } + + kdDebugFuncOut(trace); +} + +/*! +* Use this function to reset the KDE screensaver/DPMS settings +* \return boolean with the result of the operation +* \retval true if the reset was called +* \retval false if there was a error +*/ +bool screen::resetKDEScreensaver(){ + kdDebugFuncIn(trace); + + if(SCREENSAVER_STATUS == -1) + SCREENSAVER_STATUS = checkScreenSaverStatus(); + + // do this only if the screensaver is not running + if(SCREENSAVER_STATUS == 0){ + DCOPReply reply = screen_save_dcop_ref.call("configure"); + if ( reply.isValid() ) { + kdDebugFuncOut(trace); + return true; + } else { + kdWarning() << "Could not call configure() for the KDE screensaver." << endl; + kdDebugFuncOut(trace); + return false; + } + } else { + kdDebugFuncOut(trace); + return false; + } +} + +/*! +* Use this function to reset the xscreensaver settings +* \return boolean with the result of the operation +* \retval true if the reset was called +* \retval false if there was a error +*/ +bool screen::resetXScreensaver(){ + kdDebugFuncIn(trace); + + if(checkScreenSaverStatus() == 11) { + + delete xscreensaver_reset; + + xscreensaver_reset = new KProcess; + *xscreensaver_reset << "xscreensaver-command" << "-restart"; + connect(xscreensaver_reset, SIGNAL(processExited(KProcess*)), + this, SLOT(cleanProcess(KProcess*))); + + bool status = xscreensaver_reset->start(KProcess::DontCare); + if(!status) + { + delete xscreensaver_reset; + xscreensaver_reset = NULL; + } + kdDebugFuncOut(trace); + return status; + } else { + kdDebugFuncOut(trace); + return false; + } +} + +/*! +* function to call xset commandline tool to force shutdown the display with dpms +*/ +void screen::forceDPMSOff() { + kdDebugFuncIn(trace); + + KProcess *xset = new KProcess; + *xset << "xset" << "dpms" << "force" << "off"; + connect(xset, SIGNAL(processExited(KProcess*)), + this, SLOT(cleanProcess(KProcess*))); + if(!xset->start()) + { + delete xset; + } + + kdDebugFuncOut(trace); +} + +/*! + * function to clean KProcess objects + */ +void screen::cleanProcess(KProcess* proc) +{ + delete proc; + proc = NULL; +} + +/*! +* function to fake a key event for the shift key. Use this to show the login +* passwd dialog after suspend if we locked the screen. +*/ +void screen::fakeShiftKeyEvent() { + kdDebugFuncIn(trace); + + Display *dpy = qt_xdisplay(); + + if (dpy) { + XTestFakeKeyEvent(dpy, 62, 1, 0); + XTestFakeKeyEvent(dpy, 62, 0, 0); + + XFlush(dpy); + } + + kdDebugFuncOut(trace); + return; +} + +#include "screen.moc" diff --git a/src/screen.h b/src/screen.h new file mode 100644 index 0000000..ed6ad17 --- /dev/null +++ b/src/screen.h @@ -0,0 +1,178 @@ +/************************************************************************** +* Copyright (C) 2004-2006 by Danny Kukawka * +* , * +* * +* This program is free software; you can redistribute it and/or modify * +* it under the terms of version 2 of the GNU General Public License * +* as published by the Free Software Foundation. * +* * +* This program is distributed in the hope that it will be useful, * +* but WITHOUT ANY WARRANTY; without even the implied warranty of * +* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * +* GNU General Public License for more details. * +* * +* You should have received a copy of the GNU General Public License * +* along with this program; if not, write to the * +* Free Software Foundation, Inc., * +* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. * +***************************************************************************/ + +#ifndef SCREEN_H +#define SCREEN_H + +/* this is needed to avoid typedef clash with X11/Xmd.h (X11/Xproto.h) + */ +#ifndef QT_CLEAN_NAMESPACE +#define QT_CLEAN_NAMESPACE +#endif + +// KDE Header +#include +#include +#include + +// QT Header +#include +#include +//#include +#include +#include + +// X11 Header +#include +#include +#include + +/*! +* \file screen.h +* \brief Headerfile for screen.cpp and the class \ref screen. +*/ +/*! +* \class screen +* \brief class for all screensaver related funtionality +* \author Danny Kukawka, , +* \date 2004 - 2006 +*/ +class screen : public QWidget +{ + Q_OBJECT + +private: + + //! reference to DCOP + /*! + * This is the DCOP-reference to the KScreensaverIface. We use this to send + * commandos to the active KScreensaver. + */ + DCOPRef screen_save_dcop_ref; + //! KProcess to start xlock to lock the screen + KProcess *xlock; + //! KProcess to start xscreensaver with lock command + KProcess *xscreensaver_lock; + //! KProcess to start xscreensaver with restart command + KProcess *xscreensaver_reset; + //! KProcess to start gnome-screen-saver with lock command + KProcess *gnomescreensaver_lock; + //! KProcess to check if gnome-screensaver is running + KProcess *gnomeScreensaverCheck; + + //! contains information about Xscreensaver + /*! + * This boolean represent information if Xscreensaver is active in X. + * \li true: if there is a Xscreensaver + * \li false: if there isn't a Xscreensaver + */ + bool got_XScreensaver; + //! cointains status information about the screensaver + /*! + * The value of this integer represent statusinformation about the + * screensaver (Xscreensaver and KScreensaver): + * \li (value == 0) if KScreensaver is disabled + * \li (value == 1) if KScreensaver is activated + * \li (value == 10) if Xscreensaver is not found or not running + * \li (value == 11) if Xscreensaver is activated + * \li (value == 20) if gnome-screen-saver is available + * \li (value == -1) else + */ + int SCREENSAVER_STATUS; + + //! QTimer - interval + /*! This is the interval to poll the Xscreensaver. The value is 58 sec */ + static const int xScreenSaver_timer_interval = 58000; + //! QTimer to check/ping the Xscreensaver + /*! This is the QTimer to ping the Xscreensaver. The ping-interval is defined + * through \ref xScreenSaver_timer_interval . */ + QTimer *check_xscreensaver_timer; + + //! the active X-Display + /*! Here we store a pointer to the active X-Display of KDE or GNOME */ + Display *mDisplay; + //! Xscreensaver windowsid + /*! The windowid of the active Xscreensaver. */ + Window xs_windowid; + //! XEvent for the Xscreensaver + /*! This XEvent is used so send the commands to Xscreensaver. */ + XEvent ev; + +private slots: + + //! to ping and deactivate the Xscreensaver + void xscreensaver_ping(); + //! to get the return value of gnomescreensaver-command + void getGSExited(KProcess *); + + void cleanProcess(KProcess *); + +public slots: + + //! to fake a keyevent for the login dialog after suspend with lock screen + void fakeShiftKeyEvent(); + +public: + + //! to check if \ref check_xscreensaver_timer is active + /*! + * This boolean contains information about QTimer \ref check_xscreensaver_timer . + * \li true: if the QTtimer is running + * \li false: if the QTimer isn't active/ isn't in use + */ + bool check_xscreensaver_timer_runs; + //! info about DPMS on the machine + /*! + * This variable represent the DPMS status of the machine. + * \li true: if the machine is DPMSable + * \li false: if the machine isn't DPMSable or DPMS is basic deativated + */ + bool has_DPMS; + + //! blank only the screen + void blankOnlyScreen( bool ); + //! reset KDE screensaver settings + bool resetKDEScreensaver(); + //! reset XScreensaver settings + bool resetXScreensaver(); + //! force DPMS off for display + void forceDPMSOff(); + + //! lock the screen + bool lockScreen(); + //! lock the screen with a give alias for the lock method + bool lockScreen( QString ); + //! to set DPMS on/off + bool setDPMS( bool ); + //! to set the DPMS Timeouts + bool setDPMSTimeouts( int, int, int ); + //! to activate/disable the Screensaver + bool setScreenSaver( bool ); + + //! for check the status of the screensaver + int checkScreenSaverStatus(); + //! for check the actual status of DPMS on the machine + int checkDPMSStatus(); + + //! default constructor + screen(); + //! default destructor + virtual ~screen(); +}; +#endif diff --git a/src/settings.cpp b/src/settings.cpp new file mode 100644 index 0000000..342bb81 --- /dev/null +++ b/src/settings.cpp @@ -0,0 +1,381 @@ +/*************************************************************************** + * Copyright (C) 2005 by Danny Kukawka * + * , * + * * + * This program is free software; you can redistribute it and/or modify * + * it under the terms of version 2 of the GNU General Public License * + * as published by the Free Software Foundation. * + * * + * This program is distributed in the hope that it will be useful, * + * but WITHOUT ANY WARRANTY; without even the implied warranty of * + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * + * GNU General Public License for more details. * + * * + * You should have received a copy of the GNU General Public License * + * along with this program; if not, write to the * + * Free Software Foundation, Inc., * + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. * + ***************************************************************************/ + +/*! + * \file settings.cpp + * \brief In this file can be found the settings ( read ) related code. + * \author Danny Kukawka, , + * \date 2005 + */ + +// KDE Header +#include + +// QT Header + +// own headers +#include "settings.h" + +/*! This is the default constructor of the class Settings. */ +Settings::Settings() +{ + kconfig = new KConfig("kpowersaverc", true ); + kde = new KDE_Settings(); + load_kde(); + load_general_settings(); +} + +/*! This is the default destructor of the class Settings. */ +Settings::~Settings() +{ + delete kconfig; + delete kde; +} + + +/*! + * Loads the scheme settings from kpowersaverc and fills the related variables. + * \param schemeName QString with the name (realname not i18n() version) of the + * scheme which setting should be load. If the scheme could not + * be loaded, this function try to load "default-scheme" + * \return the result of the load + * \retval true if the settings could be loaded + * \retval false if there was no group named like schemeName or named "default-scheme" + */ +bool Settings::load_scheme_settings(QString schemeName){ + + kconfig->reparseConfiguration(); + bool setToDefault = false; + + if( schemeName == "Performance" || schemeName == i18n("Performance")) + schemeName = "Performance"; + else if( schemeName == "Powersave" || schemeName == i18n("Powersave")) + schemeName = "Powersave"; + else if( schemeName == "Presentation" || schemeName == i18n("Presentation")) + schemeName = "Presentation"; + else if( schemeName == "Acoustic" || schemeName == i18n("Acoustic")) + schemeName = "Acoustic"; + + if(kconfig->hasGroup(schemeName) || kconfig->hasGroup("default-scheme") ){ + if(kconfig->hasGroup(schemeName)) kconfig->setGroup(schemeName); + else { + // fallback to 'default-scheme' + kconfig->setGroup("default-scheme"); + schemeName = "default-scheme"; + setToDefault = true; + } + currentScheme = schemeName; + + specSsSettings = kconfig->readBoolEntry("specSsSettings",false); + disableSs = kconfig->readBoolEntry("disableSs",false); + blankSs = kconfig->readBoolEntry("blankSs",false); + specPMSettings = kconfig->readBoolEntry("specPMSettings",false); + disableDPMS = kconfig->readBoolEntry("disableDPMS",false); + + int i_standby = kconfig->readNumEntry("standbyAfter", -1); + if (i_standby >= 0) standbyAfter = i_standby; + else { + kconfig->setGroup("default-scheme"); + i_standby = kconfig->readNumEntry("standbyAfter", -1); + if(i_standby >= 0) { + standbyAfter = i_standby; + } + else standbyAfter = 0; + // reset the group + kconfig->setGroup(schemeName); + } + + int i_suspend = kconfig->readNumEntry("suspendAfter", -1); + if (i_suspend >= 0) suspendAfter = i_suspend; + else { + kconfig->setGroup("default-scheme"); + i_suspend = kconfig->readNumEntry("suspendAfter", -1); + if(i_suspend >= 0) { + suspendAfter = i_suspend; + } + else suspendAfter = 0; + // reset the group + kconfig->setGroup(schemeName); + } + + int i_poweroff = kconfig->readNumEntry("powerOffAfter", -1); + if (i_poweroff >= 0) powerOffAfter = i_poweroff; + else { + kconfig->setGroup("default-scheme"); + i_poweroff = kconfig->readNumEntry("powerOffAfter", -1); + if(i_poweroff >= 0) { + powerOffAfter = i_poweroff; + } + else powerOffAfter = 0; + // reset the group + kconfig->setGroup(schemeName); + } + + brightness = kconfig->readBoolEntry("enableBrightness",false); + brightnessValue = kconfig->readNumEntry("brightnessPercent", -1); + if (brightnessValue == -1) { + kconfig->setGroup("default-scheme"); + brightnessValue = kconfig->readNumEntry("brightnessPercent", 100); + // reset the group + kconfig->setGroup(schemeName); + } + + int i_autoInactiveActionAfter = kconfig->readNumEntry("autoInactiveActionAfter", -1); + if (i_autoInactiveActionAfter >= 0) autoInactiveActionAfter = i_autoInactiveActionAfter; + else { + kconfig->setGroup("default-scheme"); + i_autoInactiveActionAfter = kconfig->readNumEntry("autoInactiveActionAfter", -1); + if(i_autoInactiveActionAfter >= 0) { + autoInactiveActionAfter = i_autoInactiveActionAfter; + } + else autoInactiveActionAfter = 0; + // reset the group + kconfig->setGroup(schemeName); + } + + QString _autoInactiveAction = kconfig->readEntry("autoInactiveAction", "NULL"); + if( _autoInactiveAction != "NULL") { + autoInactiveAction = _autoInactiveAction; + } + else { + kconfig->setGroup("default-scheme"); + _autoInactiveAction = kconfig->readEntry("autoInactiveAction", "NULL"); + if(_autoInactiveAction != "NULL") autoInactiveAction = _autoInactiveAction; + else autoInactiveAction = "_NONE_"; + // reset the group + kconfig->setGroup(schemeName); + } + + autoSuspend = kconfig->readBoolEntry("autoSuspend",false); + autoInactiveSBlistEnabled = kconfig->readBoolEntry("autoInactiveSchemeBlacklistEnabled",false); + autoInactiveSBlist = kconfig->readListEntry("autoInactiveSchemeBlacklist", ','); + + int i_autoDimmAfter = kconfig->readNumEntry("autoDimmAfter", -1); + if (i_autoDimmAfter >= 0) autoDimmAfter = i_autoDimmAfter; + else { + kconfig->setGroup("default-scheme"); + i_autoDimmAfter = kconfig->readNumEntry("autoDimmAfter", -1); + if(i_autoDimmAfter >= 0) { + autoDimmAfter = i_autoDimmAfter; + } + else autoDimmAfter = 0; + // reset the group + kconfig->setGroup(schemeName); + } + + int i_autoDimmTo = kconfig->readNumEntry("autoDimmTo", -1); + if (i_autoDimmTo >= 0) autoDimmTo = i_autoDimmTo; + else { + kconfig->setGroup("default-scheme"); + i_autoDimmTo = kconfig->readNumEntry("autoDimmAfter", -1); + if(i_autoDimmTo >= 0) { + autoDimmTo = i_autoDimmTo; + } + else autoDimmTo = 0; + // reset the group + kconfig->setGroup(schemeName); + } + + autoDimm = kconfig->readBoolEntry("autoDimm",false); + autoDimmSBlistEnabled = kconfig->readBoolEntry("autoDimmSchemeBlacklistEnabled",false); + autoDimmSBlist = kconfig->readListEntry("autoDimmSchemeBlacklist", ','); + + disableNotifications = kconfig->readBoolEntry("disableNotifications",false); + + QString _cpufreqpolicy = kconfig->readEntry("cpuFreqPolicy", "NULL"); + if( _cpufreqpolicy == "NULL") { + kconfig->setGroup("default-scheme"); + _cpufreqpolicy = kconfig->readEntry("cpuFreqPolicy", "NULL"); + // reset the group + kconfig->setGroup(schemeName); + } + if (_cpufreqpolicy.startsWith("DYNAMIC")) { + cpuFreqPolicy = DYNAMIC; + } else if (_cpufreqpolicy.startsWith("PERFORMANCE")) { + cpuFreqPolicy = PERFORMANCE; + } else if (_cpufreqpolicy.startsWith("POWERSAVE")) { + cpuFreqPolicy = POWERSAVE; + } else { + // set as default + cpuFreqPolicy = DYNAMIC; + } + + cpuFreqDynamicPerformance = kconfig->readNumEntry("cpuFreqDynamicPerformance", -1); + if( cpuFreqDynamicPerformance == -1) { + kconfig->setGroup("default-scheme"); + cpuFreqDynamicPerformance = kconfig->readNumEntry("cpuFreqDynamicPerformance", 51); + // reset the group + kconfig->setGroup(schemeName); + } + + return true; + } + else return false; +} + + +/*! + * Loads the general settings from kpowersaverc and fills the related variables. + * \return the result of the load + * \retval true if the settings could be loaded + * \retval false if there was no group named 'General' + */ +bool Settings::load_general_settings(){ + + kconfig->reparseConfiguration(); + + if(kconfig->hasGroup("General")) { + kconfig->setGroup("General"); + + lockOnSuspend = kconfig->readBoolEntry("lockOnSuspend",true); + lockOnLidClose = kconfig->readBoolEntry("lockOnLidClose",true); + autostart = kconfig->readBoolEntry("Autostart",false); + autostartNeverAsk = kconfig->readBoolEntry("AutostartNeverAsk",false); + psMsgAsPassivePopup = kconfig->readBoolEntry("psMsgAsPassivePopup",false); + forceDpmsOffOnLidClose = kconfig->readBoolEntry("forceDpmsOffOnLidClose",false); + unmountExternalOnSuspend = kconfig->readBoolEntry("unmountExternalOnSuspend",true); + callSetPowerSaveOnAC = kconfig->readBoolEntry("callSetPowerSaveOnAC",true); + + lockmethod = kconfig->readEntry("lockMethod", "NULL"); + if(lockmethod == "NULL") lockmethod = "automatic"; + + autoInactiveGBlist = kconfig->readListEntry("autoInactiveBlacklist", ','); + autoDimmGBlist = kconfig->readListEntry("autoDimmBlacklist", ','); + + autoSuspendCountdown = kconfig->readBoolEntry("AutoSuspendCountdown", false); + autoSuspendCountdownTimeout = kconfig->readNumEntry("AutoSuspendCountdownTimeOut", 30); + + timeToFakeKeyAfterLock = kconfig->readNumEntry("timeToFakeKeyAfterLock", 5000); + + schemes = kconfig->readListEntry("schemes", ','); + ac_scheme = kconfig->readEntry("ac_scheme", "Performance"); + battery_scheme = kconfig->readEntry("battery_scheme", "Powersave"); + + // Read battery levels and related actions + batteryWarningLevel = kconfig->readNumEntry("batteryWarning", 12); + batteryLowLevel = kconfig->readNumEntry("batteryLow", 7); + batteryCriticalLevel = kconfig->readNumEntry("batteryCritical", 2); + + batteryWarningLevelAction = mapActionToType(kconfig->readEntry("batteryWarningAction","")); + if (batteryWarningLevelAction == BRIGHTNESS) { + batteryWarningLevelActionValue = kconfig->readNumEntry("batteryWarningActionValue", -1); + } + batteryLowLevelAction = mapActionToType(kconfig->readEntry("batteryLowAction","")); + if (batteryLowLevelAction == BRIGHTNESS) { + batteryLowLevelActionValue = kconfig->readNumEntry("batteryLowActionValue", -1); + } + batteryCriticalLevelAction = mapActionToType(kconfig->readEntry("batteryCriticalAction","")); + if (batteryCriticalLevelAction == BRIGHTNESS) { + batteryCriticalLevelActionValue = kconfig->readNumEntry("batteryCriticalActionValue", -1); + } + + lidcloseAction = mapActionToType(kconfig->readEntry("ActionOnLidClose","")); + if (lidcloseAction == BRIGHTNESS) { + lidcloseActionValue = kconfig->readNumEntry("ActionOnLidCloseValue", -1); + } + // avoid logout dialog since this make no sence with lidclose + if (lidcloseAction == LOGOUT_DIALOG) { + lidcloseAction = NONE; + } + + powerButtonAction = mapActionToType(kconfig->readEntry("ActionOnPowerButton","")); + if (powerButtonAction == BRIGHTNESS) { + powerButtonActionValue = kconfig->readNumEntry("ActionOnPowerButtonValue", -1); + } + + sleepButtonAction = mapActionToType(kconfig->readEntry("ActionOnSleepButton","")); + if ((sleepButtonAction != GO_SUSPEND2RAM) && (sleepButtonAction != GO_SUSPEND2DISK)) { + sleepButtonAction = NONE; + } + + s2diskButtonAction = mapActionToType(kconfig->readEntry("ActionOnS2DiskButton","")); + if ((s2diskButtonAction != GO_SUSPEND2RAM) && (s2diskButtonAction != GO_SUSPEND2DISK)) { + s2diskButtonAction = NONE; + } + + return true; + } + else return false; +} + + +/*! + * Map the string value from the config file to the type from \ref action + * \param _action a QString to map + * \return a integer value with the result of the mapping as \ref action + */ +action Settings::mapActionToType (QString _action) { + + if (_action.isEmpty()) { + return NONE; + } else if (_action.startsWith("SHUTDOWN")) { + return GO_SHUTDOWN; + } else if (_action.startsWith("LOGOUT_DIALOG")) { + return LOGOUT_DIALOG; + } else if (_action.startsWith("SUSPEND2DISK")) { + return GO_SUSPEND2DISK; + } else if (_action.startsWith("SUSPEND2RAM")) { + return GO_SUSPEND2RAM; + } else if (_action.startsWith("CPUFREQ_POWERSAVE")) { + return CPUFREQ_POWERSAVE; + } else if (_action.startsWith("CPUFREQ_DYNAMIC")) { + return CPUFREQ_DYNAMIC; + } else if (_action.startsWith("CPUFREQ_PERFORMANCE")) { + return CPUFREQ_PERFORMANCE; + } else if (_action.startsWith("BRIGHTNESS")) { + return BRIGHTNESS; + } else { + return UNKNOWN_ACTION; + } +} + +/*! + * Loads the default KDE Settings from the different configfiles and store + * them to a \ref KDE_Settings 'object'. + * \retval true if the settings could be loaded + * \retval false if there was a error/problem + */ +void Settings::load_kde(){ + KConfig *_kconfig = new KConfig("kcmdisplayrc", true ); + + /* KDE settings [DisplayEnergy] from kcmdisplayrc */ + if(_kconfig->hasGroup("DisplayEnergy")) { + _kconfig->setGroup("DisplayEnergy"); + kde->displayEnergySaving = _kconfig->readBoolEntry("displayEnergySaving", true); + kde->displayStandby = _kconfig->readNumEntry("displayStandby", 7); + kde->displaySuspend = _kconfig->readNumEntry("displaySuspend", 13); + kde->displayPowerOff = _kconfig->readNumEntry("displayPowerOff", 19); + } + delete _kconfig; + _kconfig = new KConfig("kdesktoprc", true ); + /* KDE settings [ScreenSaver] from kdesktoprc */ + if(_kconfig->hasGroup("ScreenSaver")) { + _kconfig->setGroup("ScreenSaver"); + kde->enabled = _kconfig->readBoolEntry("Enabled", true); + kde->lock = _kconfig->readBoolEntry("Lock", true); + + QString _savername = _kconfig->readEntry("Saver", "KBlankscreen.desktop"); + if (_savername.startsWith("KBlankscreen.desktop")) + kde->blanked = true; + else + kde->blanked = false; + } + delete _kconfig; +} + diff --git a/src/settings.h b/src/settings.h new file mode 100644 index 0000000..2cf589e --- /dev/null +++ b/src/settings.h @@ -0,0 +1,496 @@ +/*************************************************************************** + * Copyright (C) 2005 by Danny Kukawka * + * , * + * * + * This program is free software; you can redistribute it and/or modify * + * it under the terms of version 2 of the GNU General Public License * + * as published by the Free Software Foundation. * + * * + * This program is distributed in the hope that it will be useful, * + * but WITHOUT ANY WARRANTY; without even the implied warranty of * + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * + * GNU General Public License for more details. * + * * + * You should have received a copy of the GNU General Public License * + * along with this program; if not, write to the * + * Free Software Foundation, Inc., * + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. * + ***************************************************************************/ + +/*! +* \file settings.h +* \brief Headerfile for settings.cpp and the class \ref Settings. +*/ + +#ifndef SETTINGS_H +#define SETTINGS_H + +// KDE - Header +#include + +// QT - Header +#include +#include + +// own headers +#include "hardware.h" + +enum action{ + UNKNOWN_ACTION = -2, + NONE = -1, + GO_SHUTDOWN, + LOGOUT_DIALOG, + GO_SUSPEND2RAM, + GO_SUSPEND2DISK, + SWITCH_SCHEME, + BRIGHTNESS, + CPUFREQ_POWERSAVE, + CPUFREQ_DYNAMIC, + CPUFREQ_PERFORMANCE +}; + +/*! +* \class KDE_Settings +* \brief class/object for the KDE default settings +* \author Danny Kukawka, , +* \date 2005 +*/ +class KDE_Settings { + +public: + /* KDE settings [DisplayEnergy] */ + //! if KDE enable DPMS + /*! + * This boolean tells if KDE enable DPMS by global settings. + * \li true: if KDE enable DPMS + * \li false: if not + */ + bool displayEnergySaving; + //! time for DPMS standby + /*! + * This integer represent the time in minutes after which the + * display should do to stand-by. + */ + int displayStandby; + //! time for DPMS suspend + /*! + * This integer represent the time in minutes after which the + * display should suspend. + */ + int displaySuspend; + //! time for DPMS power-off + /*! + * This integer represent the time in minutes after which the + * display should power off. + */ + int displayPowerOff; + + /* KDE settings [ScreenSaver] */ + //! if the KDE screensaver is enabled + /*! + * This boolean tells if the KDE screensaver is enabled. + * \li true: if screensaver enabled + * \li false: if screensaver disabled + */ + bool enabled; + //! if KDE should lock the screen + /*! + * This boolean tells if KDE lock the screen. + * \li true: if lock the screen + * \li false: if not + */ + bool lock; + + //! if KDE already only blank the screensaver + /*! + * This boolean tells if KDE already only use the blank screensaver + * \li true: if blank screensaver + * \li false: if else + */ + bool blanked; + +}; + +/*! +* \class Settings +* \brief class for the Settings ( read ) related funtionality +* \author Danny Kukawka, , +* \date 2005 +*/ +class Settings{ + +public: + + //! default constructor + Settings(); + //! default destructor + virtual ~Settings(); + + //! a instance of the KDE global settings. + KDE_Settings *kde; + + /* START ************************** General settings *******************************/ + //! name of the default "onAC" scheme + QString ac_scheme; + //! name of the default "on Battery" scheme + QString battery_scheme; + //! a list with the names of the currently available schemes. + /*! + * List with the names of the currently configured schemes. The name of the + * schemes are the same as we use for the related selection in the configure file. + * Note: Be sure that the name for the default schemes is not translated !!! + */ + QStringList schemes; + + //! the name of the lock method + /*! + * This QString contains a alias to the selected method for lock screen. Possible values: + * \li automatic for automatically selected (sequence: kscreensaver, xscreensaver, xlock) + * \li kscreensaver for KDE KScreensaver + * \li xscreensaver for XScreensaver (default used on GNOME) + * \li xlock for xlock + */ + QString lockmethod; + + //! if the messages from powersave should popup as Kpassivepopup + /*! + * This boolean tells if the messages from powersave should be displayed + * as KPassivePopup or as KMessageBox::error + * \li true: if use KPassivePopup + * \li false: if not + */ + bool psMsgAsPassivePopup; + + //! if the screen should be locked on suspend + /*! + * This boolean tells if the screen should be locked befor a suspend or standby. + * \li true: if the screen should be locked + * \li false: if not lock the screen + */ + bool lockOnSuspend; + //! if the screen should be locked on 'lid close' event + /*! + * This boolean tells if the screen should be locked on a 'Lid close' event. + * \li true: if the screen should be locked + * \li false: if not lock the screen + */ + bool lockOnLidClose; + //! if kpowersave starts on login + /*! + * This boolean tells if kpowersave should be start automatically on userlogin. + * The value could be changed trough the configuration dialog and if the user + * stop kpowersave. + * \li true: if autostart + * \li false: if not start on login + */ + bool autostart; + //! if kpowersave ask for the user for autostart + /*! + * This boolean tells if kpowersave ask for autostart settings if user stop kpowersave. + * \li true: if ask on stop + * \li false: if never ask + */ + bool autostartNeverAsk; + //! if kpowersave should force DPMS shutdown for display for lidclose + /*! + * This boolean tells if kpowersave should force dpms shutdown for the display if a + * lidclose event was recieved + * \li true: if shutdown display + * \li false: if not + */ + bool forceDpmsOffOnLidClose; + //! if kpowersave should call SetPowerSave() on HAL + /*! + * This boolean tells if kpowersave should call SetPowerSave on HAL depending + * on the AC state. + * \li true: if should call + * \li false: if not + */ + bool callSetPowerSaveOnAC; + + //! time after resume to fake keyevent + /*! + * This integere contains the time after wich kpowersave should fake a keyevent + * to show the login dialog if the desktop was locked on suspend. Value is in msec. + */ + int timeToFakeKeyAfterLock; + + //! percentag value of battery level for warning state + /*! + * This integer represent the remaining percentag of the battery + * where we reach the battery warning level. This is a value between 0 and 100. + */ + int batteryWarningLevel; + //! percentag value of battery level for low state + /*! + * This integer represent the remaining percentag of the battery + * where we reach the battery low level. This is a value between 0 and 100 and + * should be lower than \ref batteryWarningLevel and higher than \ref batteryCriticalLevel + */ + int batteryLowLevel; + //! percentag value of battery level for critical state + /*! + * This integer represent the remaining percentag of the battery + * where we reach the battery critical level. This is a value between 0 and 100 and + * should be lower than \ref batteryLowLevel and higher than 0 + */ + int batteryCriticalLevel; + //! the action that should be called if the warning level is reached + action batteryWarningLevelAction; + //! to \ref batteryWarningLevelAction related value + int batteryWarningLevelActionValue; + //! the action that should be called if the low level is reached + action batteryLowLevelAction; + //! to \ref batteryLowLevelAction related value + int batteryLowLevelActionValue; + //! the action that should be called if the critical level is reached + action batteryCriticalLevelAction; + //! to \ref batteryCriticalLevelAction related value + int batteryCriticalLevelActionValue; + + //! the action that should be called if the lid closed + action lidcloseAction; + //! to \ref lidcloseAction related value + int lidcloseActionValue; + + //! the action that should be called if the power button get pressed + action powerButtonAction; + //! to \ref powerButtonAction related value + int powerButtonActionValue; + + //! the action that should be called if the suspend2ram/sleep button get pressed + action sleepButtonAction; + //! the action that should be called if the suspend2disk button get pressed + action s2diskButtonAction; + + /* END ************************** General settings *******************************/ + /* START ************************ Scheme settings and values ***********************/ + + //! name of the scheme representing the current settings + QString currentScheme; + + // ---------- Screensaver/DPMS section ------------ // + //! if kpowersave use own screensaver settings + /*! + * This boolean represent kpowersave userspecific screensaver settings. If kpowersave + * use own screensaver settings the KDE or GNOME settings are overwritten. + * \li true: if kpowersave use own settings + * \li false: if kpowersave don't change any screensaver settings + */ + bool specSsSettings; + //! if kpowersave should disable the screensaver + /*! + * This boolean tells if kpowersave should disable the screensaver. + * \li true: if kpowersave should disable the screensaver + * \li false: if not + */ + bool disableSs; + //! if kpowersave should blank only the screen + /*! + * This boolean tells if kpowersave should blank only the screen instead of + * using the global selected KDE or GNOME screensaver. + * \li true: if kpowersave should blank only the screen + * \li false: if not and don't change anything + */ + bool blankSs; + //! if kpowersave use own DPMS settings + /*! + * This boolean tells if kpowersave should use own userspecific settings for + * Display PowerManagement Settings. If this value is true kpowersave overwritte + * the KDE or GNOME global settings. + * \li true: if kpowersave use own DPMS settings + * \li false: if kpowersave don't change DPMS settings + */ + bool specPMSettings; + //! if kpowersave should disable DPMS + /*! + * This boolean tells if kpowersave should disable DPMS. If this is used, + * kpowersave overwrite the KDE or GNOME global settings. + * \li true: if kpowersave should disable dpms + * \li false: if not + */ + bool disableDPMS; + //! time for DPMS standby + /*! + * This integer represent the time in minutes after which the + * display should do to stand-by. + */ + int standbyAfter; + //! time for DPMS suspend + /*! + * This integer represent the time in minutes after which the + * display should suspend. + */ + int suspendAfter; + //! time for DPMS power-off + /*! + * This integer represent the time in minutes after which the + * display should power off. + */ + int powerOffAfter; + + // ------------ Brightness section ---------------- // + //! if brightness is enabled for the current scheme + /*! + * This boolean tells if brightness is enabled for the + * current scheme + * \li true: if brightness is enabled + * \li false: if not + */ + bool brightness; + //! the value for the brighness + /*! + * This integer represent the value to which the brigthness + * should be set. This value is in percentage. + */ + int brightnessValue; + + // ------------ Autosuspend section ---------------- // + //! if autosuspend is enabled for the current scheme + /*! + * This boolean tells if autosuspend is enabled for the + * current scheme + * \li true: if autosuspend is enabled + * \li false: if not + */ + bool autoSuspend; + //! if scheme specific blacklist is enabled + /*! + * This boolean tells if a scheme specific blacklist + * ( autoInactiveSchemeBlacklist ) should be used. + * \li true: if use scheme specific blacklist + * \li false: if not + */ + bool autoInactiveSBlistEnabled; + //! time of user inactivity to execute a defined action + /*! + * This integer represent the time in minutes after which kpowersave + * should execute a specific through \ref autoInactiveAction defined + * action. + */ + int autoInactiveActionAfter; + //! action which execute after a defined time of inactivity + /*! + * This QString contains the action/command which should be execute + * after a trough \ref autoInactiveActionAfter defined time. If nothing + * should happens this QString is empty or '_NONE_' + */ + QString autoInactiveAction; + //! general list with running programs which prevent the autosuspend + /*! + * This QStringList contains names of programs which prevent, if one of + * them is running/active the autossuspend. + */ + QStringList autoInactiveGBlist; + //! scheme list with running programs which prevent the autosuspend + /*! + * This QStringList contains names of programs which prevent, if one of + * them is running/active the autossuspend. + */ + QStringList autoInactiveSBlist; + + // ------ Autosuspend countdown dialog section -------- // + //! if KPowersave should display a dialog with a warning for autosuspend + /*! + * This boolean tells if KPowersave should show a warning dialog + * with a countdown before call the autosuspend. + * \li true: if show dialog + * \li false: if not + */ + bool autoSuspendCountdown; + //! how long the autosuspend warn dialog should be shown + /*! + * This integer represent the time in seconds how long the autosuspend + * warning dialog should be shown. This time get stripped from + * \ref autoInactiveActionAfter to be sure the suspend get called within + * the expected time. + */ + int autoSuspendCountdownTimeout; + + // -------------- Autodimm section ------------------- // + //! if autodimm is enabled for the current scheme + /*! + * This boolean tells if autodimm is enabled for the current scheme + * \li true: if autosuspend is enabled + * \li false: if not + */ + bool autoDimm; + //! if a scheme specific autodimm blacklist is enabled + /*! + * This boolean tells if a scheme specific autdimm blacklist + * ( autoDimmSBlist ) should be used. + * \li true: if use scheme specific blacklist + * \li false: if not + */ + bool autoDimmSBlistEnabled; + //! time of user inactivity to dimm the display + /*! + * This integer represent the time in minutes after which kpowersave + * should dimm the display to the level defined by \ref autoDimmTo . + */ + int autoDimmAfter; + //! percentage to which the display should dimmed to + /*! + * This integer represent the brightness percentage to which the + * display should get dimmed if the user is the via \ref autoDimmAfter + * defined time inactivit; + */ + int autoDimmTo; + //! general list with running programs which prevent the autodimm + /*! + * This QStringList contains names of programs which prevent, if one of + * them is running/active the autodimm of the display panel. + */ + QStringList autoDimmGBlist; + //! scheme specific list with running programs which prevent the autodimm + /*! + * This QStringList contains names of programs which prevent, if one of + * them is running/active the autodimm of the display panel. This list is + * scheme specific. + */ + QStringList autoDimmSBlist; + + + // ------------ CPU Frequency section ---------------- // + //! represent the CPU Frequency policy to set + cpufreq_type cpuFreqPolicy; + //! represent the performance level (how triggerhappy) for dynamic cpu freq policy + int cpuFreqDynamicPerformance; + + // --------------- misc section -------------------- // + //! if scheme disabled notifications + /*! + * This boolean tells if a scheme should disable notifications. + * \li true: if disable notifications + * \li false: if not + */ + bool disableNotifications; + + //! if umount/remount external volumes on suspend + /*! + * This boolean tells if KPowersave should umount external partitions + * before suspend and remount them after resume. + * \li true: if umount/remount + * \li false: if not + */ + bool unmountExternalOnSuspend; + + /* END ************************ Scheme settings and values ******************************/ + + /******************* Functions ********************/ + //! to load the general settings + bool load_general_settings(); + //! to load the global KDE settings + void load_kde(); + //! to load settings of a specific scheme + bool load_scheme_settings(QString); + +private: + + //! configuration of kpowersave + KConfig *kconfig; + + //! to map a battery action string to the related type + action mapActionToType (QString _action); +}; +#endif diff --git a/src/suspend_Dialog.ui b/src/suspend_Dialog.ui new file mode 100644 index 0000000..b825f06 --- /dev/null +++ b/src/suspend_Dialog.ui @@ -0,0 +1,102 @@ + +suspend_Dialog + + + suspend_Dialog + + + + 0 + 0 + 300 + 90 + + + + + 0 + 0 + 0 + 0 + + + + + 300 + 90 + + + + + 300 + 90 + + + + + progressBar + + + + 70 + 21 + 221 + 22 + + + + + + message + + + + 10 + 60 + 280 + 20 + + + + + + + + + iconPixmap + + + + 10 + 10 + 48 + 48 + + + + + 48 + 48 + + + + + 48 + 48 + + + + image0 + + + false + + + + + + 789c8593c9721a311086ef3cc5947573a5dacc303043a57230b6f1beef4ee530128bc1069bcd5b2aef9e5f52b702d855410cf0a9b7bf5b626d35ba39398c56d74a936931ed99c8dc17e368b5351b0cde7ffefaf1bbb4922411de59354a56be9556681c994895ddcbf12c70eeb8c19cb27d12d8d955c7711efc47cc6ca7a970ece2559739e77c3781bdff85b0f7a71d66c3fecf81bdff8be7b8ccfe75cb71b96c98ef3cc7a27f37b08fbf1266ff3eb3e879779c076e0ab3ff03b3e88985d95eb69cd42b329f4761b6f798a57ed572250efcc12cf56acc92ffd2732af932c775b03f9f4238f1f637cb699c72bc3281bdbe7bcbd5a456653e715c04ce99eb5c6f10d8db9f84b9de3a738bede7c2deae7cbd228bd99e58ae2562a7d47316b37f8bb9caac1c17b9c46f0973fc2db3e8df6716fd1b96b34a883f6516ff0ab3f4776839d745c1f98f2cd7d3c07b81eb8ebbcc6dd64b9e75c2fe078e8d663b5d5b2e52dde67a9bc21cdff36c12d63f0cecfd5bc29c6f9bb9c6f74f0973bc0eecedafc21c7fc65c707c4798ef4fdbb191fa4a0b73fc31b3d433817d3e89977a0533e73f9d06ce3d93a282d4fcb73ccbfbbedf85a5977861f9fa4bb93496a116b53fd798cbdfe1dc5dbaa71ef5e9811e69005aa839af1f11437aa2671ad1982678a634a317c4bc7ea95fc3fbcd79cee81d153e5063e2f80d96aff4af5303b9fbb4419bd0afd1c11635113d428d3658f46fb3ee1df8efd21ee77aa57d3aa043c48fa1f1888e17f41b3a419e199d22dad019f6cee9822e5169cbf5f3f4497f0fbb57748daeb79d36eb7543b788b8c3aff2d27c0ce637418c71bfd7e16975af439546e7638ad14d27e4b7937cc0ee87d36dbdc7e8654c899b5b0f99faf6f4e6f2b7713a53ecb6a802dd13e4f64f0a3d764655d273fa35340fb03b41779b5443fe017237dcca506744f9bff9b8b32d30cf3a229a98e0266ad83b94baf3b027b6a3e8d3fd39c644ed79f695822a5bf34015dc47e6e2b717ee8f565a19d7a93de30f74d9740a6d8d866a7dca8fa5dad0fd8c8899bf71aa8333cfe0ddc5ccf457f71f73eae22c7b98f73b6632806ef4a1eedd348ba5fbc97da81e3e87f018867d7916ef7f31f75feab86f1df6cd57faffbf56fe7c2ffd0519fbee77 + + + + diff --git a/src/suspenddialog.cpp b/src/suspenddialog.cpp new file mode 100644 index 0000000..cb40a74 --- /dev/null +++ b/src/suspenddialog.cpp @@ -0,0 +1,95 @@ +/*************************************************************************** + * Copyright (C) 2005 by Danny Kukawka * + * danny.kukawka@web.de, dkukawka@suse.de * + * * + * This program is free software; you can redistribute it and/or modify * + * it under the terms of version 2 of the GNU General Public License * + * as published by the Free Software Foundation. * + * * + * This program is distributed in the hope that it will be useful, * + * but WITHOUT ANY WARRANTY; without even the implied warranty of * + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * + * GNU General Public License for more details. * + * * + * You should have received a copy of the GNU General Public License * + * along with this program; if not, write to the * + * Free Software Foundation, Inc., * + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. * + ***************************************************************************/ + +/*! + * \file suspenddialog.cpp + * \brief In this file can be found the suspend dialog related code. + * \author Danny Kukawka, , + * \date 2005 + */ + + // KDE - Headers + #include + #include + + // QT - Headers + #include + #include + #include + #include + #include + + #include "suspenddialog.h" + +/*! This is the default constructor of the class. */ +suspendDialog::suspendDialog(QWidget *parent, const char *name) + :suspend_Dialog(parent, name, true, Qt::WStyle_StaysOnTop | Qt::WDestructiveClose ) +{ + this->setIcon(SmallIcon("kpowersave", QIconSet::Automatic)); +} + +/*! This is the default destructor of the class. */ +suspendDialog::~suspendDialog() +{ + +} + +/*! + * This used to set Icon/pixmap for the dialog. + * \param type QString with the type of the current suspend + * to set the pixmap in the dialog + */ +void suspendDialog::setPixmap( QString type ) +{ + QPixmap pixmap = 0; + if(type.startsWith("suspend2disk")){// || type.startsWith("NULL")) { + pixmap = KGlobal::iconLoader()->loadIcon("suspend_to_disk", KIcon::NoGroup, KIcon::SizeLarge); + } else if (type.startsWith("suspend2ram")) { + pixmap = KGlobal::iconLoader()->loadIcon("suspend_to_ram", KIcon::NoGroup, KIcon::SizeLarge); + } else if (type.startsWith("standby")) { + pixmap = KGlobal::iconLoader()->loadIcon("stand_by", KIcon::NoGroup, KIcon::SizeLarge); + } else { + pixmap = KGlobal::iconLoader()->loadIcon("kpowersave", KIcon::NoGroup, KIcon::SizeLarge); + } + setCaption(i18n("Preparing Suspend...")); + iconPixmap->setPixmap( pixmap ); +} + +/*! + * This used to set the values of progressbar for the dialog. + * \param percent integer value with current progress stauts of suspend + */ +void suspendDialog::setProgressbar( int percent ) +{ + progressBar->setPercentageVisible(true); + progressBar->setProgress(percent); +} + +/*! + * This used to set the message of current suspend action to the the dialog. + * \param messageText QString with the message of the current running suspend + * prepare action + */ +void suspendDialog::setTextLabel( QString messageText ) +{ + message->show(); + message->setText(messageText); +} + +#include "suspenddialog.moc" diff --git a/src/suspenddialog.h b/src/suspenddialog.h new file mode 100644 index 0000000..22a4527 --- /dev/null +++ b/src/suspenddialog.h @@ -0,0 +1,56 @@ +/*************************************************************************** + * Copyright (C) 2005 by Danny Kukawka * + * danny.kukawka@web.de, dkukawka@suse.de * + * * + * This program is free software; you can redistribute it and/or modify * + * it under the terms of version 2 of the GNU General Public License * + * as published by the Free Software Foundation. * + * * + * This program is distributed in the hope that it will be useful, * + * but WITHOUT ANY WARRANTY; without even the implied warranty of * + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * + * GNU General Public License for more details. * + * * + * You should have received a copy of the GNU General Public License * + * along with this program; if not, write to the * + * Free Software Foundation, Inc., * + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. * + ***************************************************************************/ + +/*! +* \file suspenddialog.h +* \brief Headerfile for suspenddialog.cpp and the class \ref suspendDialog. +*/ +/*! +* \class suspendDialog +* \brief class for the suspend dialog related funtionality +* \author Danny Kukawka, , +* \date 2005 +*/ + +#ifndef SUSPENDDIALOG_H +#define SUSPENDDIALOG_H + +#include "suspend_Dialog.h" + +class suspendDialog: public suspend_Dialog { + + Q_OBJECT + +public: + + //! default constructor + suspendDialog(QWidget *parent = 0, const char *name = 0); + //! default destructor + ~suspendDialog(); + + //! set all needed icons + void setPixmap( QString ); + //! set the value for the progressbar + void setProgressbar( int ); + //! set the message for the textlabel + void setTextLabel( QString ); + +}; + +#endif diff --git a/templates/cpp b/templates/cpp new file mode 100644 index 0000000..267d742 --- /dev/null +++ b/templates/cpp @@ -0,0 +1,29 @@ +/*************************************************************************** + * Copyright (C) $YEAR$ by $AUTHOR$ * + * <$EMAIL$> * + * * + * This program is free software; you can redistribute it and/or modify * + * it under the terms of version 2 of the GNU General Public License * + * as published by the Free Software Foundation. * + * * + * This program is distributed in the hope that it will be useful, * + * but WITHOUT ANY WARRANTY; without even the implied warranty of * + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * + * GNU General Public License for more details. * + * * + * You should have received a copy of the GNU General Public License * + * along with this program; if not, write to the * + * Free Software Foundation, Inc., * + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. * + ***************************************************************************/ + +/*! \file $FILENAME$.cpp + * \brief In this file can be found the ____ related code. + * \author $AUTHOR$, <$EMAIL$> + * \version 0.0.1 + * \date 2007 + */ + +#include "$FILENAME$.h" + +#include "$FILENAME$.moc" diff --git a/templates/h b/templates/h new file mode 100644 index 0000000..83905e3 --- /dev/null +++ b/templates/h @@ -0,0 +1,37 @@ +/*************************************************************************** + * Copyright (C) $YEAR$ by $AUTHOR$ * + * <$EMAIL$> * + * * + * This program is free software; you can redistribute it and/or modify * + * it under the terms of version 2 of the GNU General Public License * + * as published by the Free Software Foundation. * + * * + * This program is distributed in the hope that it will be useful, * + * but WITHOUT ANY WARRANTY; without even the implied warranty of * + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * + * GNU General Public License for more details. * + * * + * You should have received a copy of the GNU General Public License * + * along with this program; if not, write to the * + * Free Software Foundation, Inc., * + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. * + ***************************************************************************/ + +/*! +* \file $FILENAME$.h +* \brief Headerfile for $FILENAME$.cpp and the class \ref *CLASS*. +*/ +/*! +* \class *CLASS* +* \brief class for ____ related funtionality +* \author $AUTHOR$, <$EMAIL$> +* \version 0.0.1 +* \date 2007 +*/ + +#ifndef _$FILENAME$_H_ +#define _$FILENAME$_H_ + + + +#endif

    aRwLDJ}lmN!=xB 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

    1>naO!J^7)Duw&MxG`N9`e=f0|! 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 literal 0 HcmV?d00001 diff --git a/doc/fi/fi_applet_suspend.png b/doc/fi/fi_applet_suspend.png new file mode 100644 index 0000000000000000000000000000000000000000..8443d180a3132695b71140db434fd34023dc0721 GIT binary patch literal 20204 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 literal 0 HcmV?d00001 diff --git a/doc/fi/fi_applet_yast.png b/doc/fi/fi_applet_yast.png new file mode 100644 index 0000000000000000000000000000000000000000..af3b7167a31678529572b7a934de534e280e6f9a GIT binary patch literal 20183 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 aV(||Qc=!;NN{wFt000076#CA7Pb}%d_8ni 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 Bp{xJ^ literal 0 HcmV?d00001 diff --git a/doc/fi/fi_configdialog_general.png b/doc/fi/fi_configdialog_general.png new file mode 100644 index 0000000000000000000000000000000000000000..30cd007bf1bbe143016f14bc8ccb650658c2b48f GIT binary patch literal 29422 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 z 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 z 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 XEtWI=in!SrUF@2&wo-|rMaX{v3ddy- literal 0 HcmV?d00001 diff --git a/doc/fi/fi_configdialog_schemes.png b/doc/fi/fi_configdialog_schemes.png new file mode 100644 index 0000000000000000000000000000000000000000..cfcb11cb00aec7f7fefb3e7d6575ac806d076c36 GIT binary patch literal 37342 zcmafaby!qw_pS|yk}6U|cS+X(N)3&aG$=!-AT^{S3Q7z^N=r9LBl)UG%+TE^%t#D5 zG((&XzTbDQ-|zf!%Q;(;i(qnHqGrTSFYSuRZ-Nva^)KQ%9X1V zgtvficz3Q90WU-^Rg7N&uPT@SmAjo}fj76T)FFyj&M$sGw-m%(xq=8*ReYlFJGGup z;Ct`qd?$-$-p6!igB8YW*RI{>4taeqP$@n;oRd-aUM?p$bGQnX!?kNec?3j!?=2{< zIk1L;R!$!MMjF7Ml9uWRlQsj7{Z=Q zAz#7etiUhNGLe~SPfIqo(GolXMqM)iNsu@F|BJKkXKa0_D{ zhC9RV3&zTWOi5;YQ)E9^XGm=yXTX78Ru;X zk|b$Is?1aJsW5RA#zpuxG`%M%Ke<*L2$_v<>I}UIZH_g~_X=Fq$db1nYY9m-bP0Cs zwTD|AshB(;{Di5i?Ku~^a+GoN-dg$$#QP|Sd55YZzN|n|j7~dNj^v}p1piQQluBF? zb1md2YJfZfQ<<$j#ruQ0(LO-jD{iJGl{HLDQGKyb4n@2fo%H8)42iWY9mly;qDjHt z#^oJzv2_aP&vss&NfjfPg}cXf=jK~E(6#-~3RhSV%@3_9pJi;%d_LMRoHs+{ zwapRJJ{!pN_9hRBh2q_ZP2;+W!M>4ea&$RknG*iyvV*wunn#L#Kif-=E#OUjPCm*= z+PCM4@Sv$vH{%b*r2}z-xNr4Nc~}*OR8(+U@ISVa9V5Go$yG1rsXs)uvAK)8MT~F6 z;g0PNGG131%0cmG642s+8BbMLhog#_2DTkBy84=T88qHU2B&Q-Tk=)? zI+^2g!w*_)yH|+C(V5tKedz+POupI}m}4sx*eD((QBC~`bCd^cKR6#tb=Zs@T}4(J zS~$Mc&+wWptu)YXY2LMGfYLG<_ha{7)}6=W3eDTgCWTx-(n-)U#j&39^lM!{_ z)rFmHrn)=`G9xR+-KA+#GhHf^xd|#^P6+Q1J)hYL)~PrsC|)tGr?hFWi5d#t^(Y#D z;r!9&mEn2(hLo_1JAo(Kai+&+QyDh~cG* z?$?4P)?=B{=&cVsxb5)Ts@+XJwO_Fb7<%3aafaHjGZvDTy|)`U-iI+;NBO*d5TzMw z`CvVfXr~!dF4p2o+fnFRWhw_I&#SK}j*D8XuHU48LWPNCADh>nXV$CjzqW!cGQ~J4 zqz{bwNw-aSHDX?kEFtQS=nBc_aN;$)}aW8vgx zvPe)f?~$}wK=cQVSvFjcJvkioVPTL>89WDO%8VSClbZYTu2(26i=*uqAsc0QU*O>^ zH!SdVQr#SfF^E->G^e7y+gnph_S7NAM9ky(*8QT99QOnCwuPs2@D^7QexGxcuwvgR z-pY7KJE?12PYiV;if=y{Fs==vWLwoP)fccU2>VEiRzNr8W zuWzn1_xZ&a+)xqpot)&MFHO`V4>BG(3^?FgsLX;YnSNGX|2;_YYA^pp#3#uU?~OUH zJFj;zuVCs*D zL0@h>re=USOc}O&S1PX~IGf}uBnP8x7Q!Bxvpz=Z)%nk}n%QqT=M!LAf4o*h0w)tB zTi?{@+@#6>CR;^lqOh#)r)Lw>9M>2V^T)lIu8n!VVbHdvfXjQ=(fzOdqj*KM z;C}))NzRxtQ**yw{kC9L94Y1#S3hqwvbrnlt(0lSI7+>LzcL|>Uc0JF?*#mNV4Z8? zkzY+(o3}x}Hi(1Lt~~zPPF(JQPl`m4hap(%r^*@03*4b;Q|^z?E<*(e2fAzBQ(`Fh zP=12F`BcVUd_`RC^k&qHv?j;QkKolK8lTi0rHVwZ#(?vB8u5Zghx!{%h%$y+7n!)I z`eC+P!w&@rwjXV1TYBqJCRI~abSKGG#LCr&7VnuJyyKV#4fCBxm9GSp@A1;SmxDgPRS}2XHj!4GSJ{&tG}v4{h`5N}YuARC zlHQUG{v6Z+#Y5}B!V=utNececQzjKjNfzr+dUp|aNGH_XTL|X7Gun6WP$P|#ijo3d zztV>6hZZ2uHQSg4qFPxu;iO6A)uhOf(X)kG!N&o$1p4wd{5k>xmegX-@0&}M$Xycb zBCNmXDBS{TiDpFnPp%iMk{)F>XX2SOrAL?tN>05&J_Pd-W?sv3dP;>BhKMqHF*fC- zqI>w^L{0No8dl})+}l6&S|Hk;D(ItNk*{f12?xR2_Wm)PK*t0>!E9gai@{?5vw0VP) zsOIsiCBq_3d&5ia&HK^)bFI_6rwZQm5=A)676jwY_{~Clx8b?qkD2?=NmfVJ79E6M ztT25orl*X?){8QEPY3QY5S-JSd{J#pef3Ba@4US!NG?z4ZfUXd)#zA*=u3oBI34;b zXQu_sHns%ACF%L}GC!;g%GNa&mnBV0gIKsQ+gNihqpfcQ9!DoI;~MJ^k!P@w!=te7 z70OQZLNcdh0Ozw4(iy}Lh$6EnT-xV%Bb|)5BBhEpwX}DB^P!bps?F53?C0blm$O>g zl3M!(ZAVyjYl(~N&U@Q`1ndXZ(BI-l`D!_;fWztSDKB)k=~&u7SdVDNKz=~M9O{5liL zC2YOURBmy5N=8;1uWWy8Fd zwu0+66-+pO5A-a8WoKDKv&9sZ6jno7KA)7lME_ASc0d$ayW(=vYqj0tGT9JWAEFm@o= z&%XHEJ|~BC{DEctCA|2vb$Z!18H3DYbcyTwwJxra162T>5?yw7m8!R40a*O?+hA(- z%kGbGfPOF^%=|-cs-K+Va)j4B-{gY-zD2TJ{!!Nd=c6v@@5wQU%Leo5|NMydh3(>S zu?)c{h?CA=uYOUbT^wa>0`hWihV8H)!LuG;T#Xfl%HfZ8o;c5FJ3liG1UVC5-YGFG zehS1ISIGt+F3{$fOe-_3$5|@@L&vEIK|q@`Ulpn(@2LQXy0XEY(UG0cO!0?@h5d_T zWu~mDuhyqT*gn;GaBdbeGqe7wS&^yj`Y;0A z(b*a2Od_j&IbHRMohL^-C@5Tp9TH7f$t&l%90T5Nr*w$zjBH;E8mgAHMOBTC`Tlb) z6JlnTrl6H3!9*%|@`cx;Sz;0g+xerqGL-kTzh8Uwo3UgkoFVDfT^fmAJNV90e+li! z5!cK){I{s^4d z{UTi@wRlb@N_LHxoba(K8#n()&J&Mdf0FG+8vXWGxm3S<1P2G-UoSEHTBTq3^hpPt zp&}6~Wms-DRBTXk4_|2*wmx02UZk66J=^HzFlXn8+3tv!sh2@>YG;7e5+BLAOo>p7yQZa-TeLJf&oxgDxtLX2DNWWm#Qiv(FsXN$ z7UME3PxJNnFF?ua@xaF`EDf)%MDm+As!Z3pjP5#Bw6OmOBQ+duJX}5s2?@znjbm4P ztAi8cLIW(n0H%TSyzkRp7loRa_d&rjA5+#|_)a zjd_Xn(H8h@&Xu`d+e+8mgbFKodW!swAM#-vWW0`!xC)D6ze!?Wh78ZEKRt+VZwb_^ zZF_T75X}7DIW6nt-3}v#h^gRu*IDatAvZm?7nDY$g60DcxDcaH#`%~N%e$bh0Y|y^ zgV{rsP>6a)&Bm|+EVOxH=N~5v#+bgxgeYMwHp#q6eiL0xhmr8VU-XAwV zqQ8HiErHuWH^jNeXLW>&4QT{FN*1;&UKDI<5#=+ji%*yKDPCziJ66vKz;%00!uMod z%6$Wu@HcXd92Bwl`|XadRjbpZh!SEf*Nlbp`eM!>jAQ7JQxC}(p0 zY6l|A)EnJ}&@IrScbKXvqLU3U@>uFCQ&j5@v-u>R7)7X;CI5~Ww!b+K)D7}H?q{W+ zN-bKX%=eQ`V4*kU8GEk?D$Fv~99PA}kQoqYu=qKudy>Bp{_|t_TO()i?jWSfevp~1 z-?qN~&-Zu4LOvU2)KZ>>B5reLvo~@(gGvt^TD01TmPd+!(Dq|UrG6Rr1jY*NTi8gx z;Gc?sBU~{tS;%uUf;Zi%;uVU@%Ed4hc2JEV4?Mb#l#uW#lyQ&1dmt~WkT##3k4Drn z9<$;Sd8#17B_UyS`yS`#M3&pdI8y74!kR>ZHWC-EETW?0~#;1}2*_vg&tSnj+Fn`v;* zX(TeLw$*H8NHu=R^6!XGe9pcuW$2OiPne8X+i8oA-GQ<|A|Eo{Bz~Z;BUwE=wqG~? zj&zVEoT!nOiNI(Bi!I5Zc|Rb(vFrY!;q~GRD)4eP%6@y{=crNh*(rXy?0VxH@~>*} zzz3HNFL;*_@@<`GI zsO7EJ+0x!?MyW?zPe0UhN>718awDp|S{{`?X(Kv3!*7miUP1H9>l(Jv1`N~{+H)_3R2DQV#(OQ{0=m7S%iQresQA8 zyKh)0sZLhO{*%T(f-}G{T_V=*)?W$omzQ*9fwS&>IRkIuCmMm1-u=&!4Pcs^v6lsw z<|N=%A_5XC`p?pni&AJ6F+#|Cc^Ff>=C}Uk#^YBVm!}FPL$dt+KJT z6kHZsS8jNtL^dvT;(Ov_nl=avB>E!6h3+C3gL#49eWh>Jx4LeNVw<1G zeDC9;SU(7BhulYl?lIEyC^N0ck9N_wadVMetyO4z###PoIdQ!!;ffXr8d_kYck`2@emt<)le(mrJK%>m~DiS;= zTdn7MEXVCpmfvv?LCmKVLK|Lc&x~`Cm6Tzvk36c5){qp{RSpYg=`5#5u&!G=qRD4J z`6=Q~59aF$qjX%k4a<4I0?am08@nM4fvhabkzbriiB@Kt>XDWWFJG)o*H?fKW?tzQ z>vP=~RH~|vsx*U!>}sS-jS9(`MKlDR9W8aQhOUI%BvvbVR)$Wt%Rm6di8Zye(rvcU zV0EmFXSBpHsUX8o&9>*$i^(wybA)mf&1Geq7ImI@`u)d`QIGh8@5BNsQ8c2t*4?qI z61!;obf9s7)9<;=G*lw>N}loUea%$@X=lpv%{KWY0a;PKE$B4Yu0Nw#Q`~vt^FtZG zn%&h=^|CMt5?V10CHD00oUpL4d))de^l#lKQ{7sVtw7JGdge)1ceXnj3jF*bd$k6M zCHO~rZ6h^r_rz@BsvJHWGrIX2)X9%tgv^2uGw$=5==<$1GbQnxtJSqCMLbA!vG89P zMR^2LzZY!AA$fE^Kfdb4{|&a#FL#c<8Alciy&=@uwOH1bPO({nS`=VT!hcZIe2{z| z$$Ga*oB2IDcJqM&V)Hv5_2pMTW;x;I*Hq7OAf1cP2SB^^Y8?%X+k#qBKtNg4go$V= zIKHe@Q)}cXxzF<~9w@2_1XT2HZf>;!>r=Jdnbj`NO7n~%d#j^O;%9o(`DR}|JeCKt z?s=p8KhaCQ5gk*$fnxc+x1aUYwO$^*IARZ&GR$uZlbf#z_gc5 zp<52-;(%G{{^!m0gyw7Ete_r`F_$vbO=K;{;}XM)XQaMYHJX@VMYD6DeWZsMgY9a8 zfR7Es*z_kCo;y+h)Dcth$JfvKsq^92>*t;SeDigXA$7Ih-HTD1QT#3K2Vg0-a3kAz z$PD_IEupwY@X2=ANV&PGDr+mY`8kEWN62NikZ4hNT?>?_B|HdGX-<0Z@yLXfGx zjbZX2`Z|nVEG!3*WCFWp3g?S=Pk%2&Y?!e|-Z%U5{7t~=-Z&1xpoI~o8Ea+Lh8f#N zyZu*Td%Mdya1-kh01rkgDk^ebRbs7C2qWPZ`q)LmY#-CHzdp^ArCdW9^7=d{J6ofh zCENTkxHm!>DA(cOBJpo#p+2Yb$_m+iA zvsdgF4ue|VyeZDOkNZ{qQz(FHckj^kSMZ5BGfmV=il`HN93>u5yhMEG?N$5*DRhf9=vcUA;Cp>^t1nTD9C-hNfuiq)YhtT7Dg zudovExwdBZw5n$Atg2>uySQd*%xG?Es;36L@ZCNhVn)`}wODFgtv@crzZRZ5iHu8e zi6r_SR<7^a0-%gxhxF1V^4hm%pH01i-er}@x_UZWhD@eiiGu2t=Xw@cB zy!C5{hMqqI=>&HnhqdMSsQArP*txIYx)b9#T3pos(7ecKyw=I^{z`id&{5(rqne?h zz+o1f!=TTyg)IMwB(C5)1T|AcR9lZ%c|_rx1n+qszkHeV$bNv)i zyM51m?eNZk{~Mc&{<2Zfq%}ZNAT~6HjwMD?8B~#ZoBaH~9{Rha<%c#9V=#j`tLFH4 zTnE-kjisMvXrQ`LWK6MYGWr--+`lt4($p%l6Z9nI^fW|d?rCS9AiUvmxk;^>Ce$pO z@7wo7Ni!opj}n<8(`-ee`+48CQ^pP3BN{$46)zQovuQ~dLJK~5QIFlJ(aI!m*{y#+8e{c#*XoWMQiOCI16_U8J zOAb#`#ofwVH;tmppJF}8SLE;MTShzZ4(~ko50vwpl#tbcN+<%L!{C5B+j@W1%I#~5 zN9100eOc{@B+^d%M&(^r261rsmy}6m0^P7SFHBo2zVG4c{4K3Cyh*ol3AN@J!;g5NEfLT85 zse9Y99{`}4(FU{T{`)^fdz^FL(ozJpMZyNWmt#97EIc={%+9>m$+cQi>9pr*G32DE z=QE}5ym=sl&5oUAOvQ$co(^mZz?>VYhd-FZhVus~G6-5<#f5LU zG}{t-ECHg;yyc>h%FPZZtMDt#z2WbfRvk~J9!5S9O^n#E4}iSP83DKp)OBHofUP$l zA4q=$XA{#e5^w8ETR#}ATI_^RmqoN-_K|{Pq;9NVYWcGLI$Uk-)<4TFTg}|kd93)6 zy!WS&O52{;nE6m4Pj>W}klizoU{oNpZnOi|)hR%0*}K#I@d;BskOY$cyhD)1QUVrn`TJ62!asx8**w2#Ozz|FB#S#XoDAf>z2jhJ+3H{WUSz!_ihyqWOY^CzsicSO zjF4>f2OJ?xF_#KaxH4Q&5~fe4sh~*g5l&0~dT;re(t&8B8u|Uc!lckeRjbH21s~CN zQI7P7f@@bdncjIm@fLQZ1?a@bx}bF=i{hhwkD5?7BR1)v6Sc8}O@1EP6;}1e77iYQ zT?FP8yIR}4f48*oba%{sOJpT6#K9=O(|VJnCSglo0{Q)ix-TISY@3m|1G3N(69eh8 zRX%aI>fvh4Azx|7rg#jgk|Vr4?H0drHs^@s)B&C4ZC1=+Iao+APYJZmFAGLrdDKU) zEvj(ai_E?Kx`@;vk-`a_fPKKFCyov{+K0T$nGdenCi^&C(=6el5f8nl3S*6jTsC(X z=lTk6Jw3X%u8N!$3X*@Vk=Cjgl-6Kz>->xU+_^_<&1#ckO7K@D)RK00_GN2&PsJyx zbNu~A0_m|0yi6*tES@Gp>m6__t#D^yydG`bJ+~4 z)ZOdaZSQ4)pW&uHuMas7Jadq>ZW3Y0C9*pA8mj8II(j)^MlI)s*w1yY*%z8uAKI%P z#Nqx~=R!Vwgb%-w-pmB)?@-m(2w5X;<2L62sTqD<+0y$GsyOp>*adQ<>&@c0p82za zN+t?_VZk3by$cdLrj#vaC0*jrw&e$BS>L8+*_YMLWBqz5foDlIbT!5)0d>!0H)Iq= zNBYu(hJKwobk{kFo_wY#Ip~~^`#JueKIZP3pvRh7!21tcCN|MHl}o~6!X^EE7ZlZ> zq~2c<9Ov*##%BGN<>W7V){=3C7)fGpnf%9q?fQ*kPWJ3%%d?=7Dtg@P=$v6I z&+f-z+>*0w2`;mltU`$&YM?mssh~6dk>q(l-;vcA`Swt*&qiW(qKlnxIzrT6;A>hY zP6b%&m^3c9<&kQ2d0dU<*#u`+*0zW7w8-{G%gePgMFh%FDOxFfZNf*vwx1LMm!)RY zY&=iQPGj1M?%v+nb~GiNvhG)L*pHHgDTd<4y%3I#lWjUEuaw8k3_}IOBn1 zra9LP(x=XNYN3gly0IloE89+=D2C^TH`lM@LmsZ$C@FKO9CT;#Fa6~e0TDR&MX>uZAiKbc=$DO4S6 z7cEG5eu|-TQQL6kVCQle84o^DFI2Q_D#NkOXjOepH-;%v`F$39urq@(UHG~g8_=}X zAaef40|;z?PGa+-p;EZ^fLxX2ud0vwG?+o>puftCM=p45Rm9w{&W(E;i&aC9;H|q!ExT9w znEg+)(Q5W?+oqz=5>Jv@DcQ{uGL<{JmI6;PN6HNBJl7E&sr8#`nbg0#JI>a@o|w6~ zLAe`9^D^wi*s!B{F=e(mX~m6vBQH}HwPh8M^ch`ghk_JO+fD=7SKqz5=2K`4rf91= zi83}p)cKn`TgkC+ulRcc&L@gKo)McQ`4jcYCx6K?v#B*JK zb$2iLBv6arfg-GHK6ZUcPlYM_4LOw?_trmmLVFNk`JpcYkrkfLWUVP?$9$jPTI3;c z)KS1zwOkkAaTr|^Z1FfyYFZRY$NV?Ypg)#qy9f-3Ro_v`#T_%8bG6XOa8}B}x)yw7 z&|e(|)XHvUsu%PLW2*blVpm0_)%NP4`TxAL{RkxZN%g<8i(A$Q0n9AlB6|1HmF z*9m4$Xd`LfW@?R1$mz@@xyd@p_vjG$JKUZ~4yNP1NlJM>AdK4)AjSavzX;#o5S-Bg zy?v`-y^(2(NlGTpb7`s@%2FUW`s`$QREUQN1@1FY+zYZed8_@gzm<{bjvNQHfENLj z`{BQ7pU@own`!ZfpHy0ftr1BuHIaf6%JA~-cG@v(yTl2zXTPU#iwg`COsU><@o%#b zLN@y*k}tQOR|#pQOR*_^yr-&D=Y9lmba^^C%7Eoi&2~r72H?~iy-GAPWoJdY`s0X! zN{57s#dJo|ilcP3Ese4CoI8fj38See?f!MIU!Lb^89 zTWX0<#gZ_CJs$aKEO0XU$S6@_+z$GpNa8--MZ5n*j#dS{ZR0ho)&rlD#N3q*vH7-I zR;3)*HJTb=v)K2T59ez_+5Ma?R()&(QJaA^OH>pdRtbMRT4rikY*@jsEwdNj^GWc> zA2C2dOl%FrBVPd;dY)QBETFlVASJxlJ~bb&mgtt5h!z2|8wI8Cv<_(45=2Q!nI0Px z^IQ#-Bw)!8a5s9HE5iL?mflqHB!Js1@**cEA8K%iCapev_^_~*v~KL(Us;mxT$%^f z5R7fS5I#1UkwfR=)%-b+K=s=I(thDMB~|8)ivdOzF zo=dMoR~aBEY&Pdw9FJE=OLX(p?gQ%!A71B#uL!_>Q|77N-QBe??q?@Qt9UdPo2tPc zK_$SCKiJeB{mCmM@VcXFsCp(cv2&ybVoPuN%&l|HWPDd5I`Vk>V(B!|?qh35RY9FE zCaD5U0u)%R!ycI5A%w?&UeuxRSV*J0BbU>giJ-KzVm(}zoctoJKW*#!UJ1lR5q^t= zLDtNq){%`=W;dqS1yF>ZPyPW^z{CKct&ai7SApbqfW3aE^oZW2GhPrEUYIRhZrQe> z4?-pIaHNVCoJdmxqEd~^^fPY#!q2YHx6;3P{42pWx^wDehiZI!^zFBj6Mlc4o1(>a zRtmKbu!7C{WhMqht3Z?fIT2tNjo*{dJ91q|HTi62IG>MsU2x&=@6r}G{=$d1DFpia zW1rT`zq_pp2g&3D9I0-VwJN~kXnlnGV$15S*Cr|xk1iC*3X2xHx;HX|qGQv?A+7?M zUj9y zKavB4b#IJ2z{aU*kt4>&MV-bpltcuh2oJB5f}bBPcD~cCKmoi=nT%)M^b0gORq*Ne zHs?tpwrhifgCyfwcNDt~D=f;!_)Kb4*2j+@erW|5Zbup~c~*KIZ-~qDit^~_ZyMI4 z#_7XD`9%OD`QnlqrTKYM<1lOu^zy?Tq)Mk&EF80d~`w|*cTm5zhr!Bdk4$& ztduiV%*EqK`uS;n+*lxmJgkQuC-DNwYg{j?^2~YnKEwIq0__8?tSNtbxFezisw0>J zcH~%s9x%ty)*m_HeDymt(^8mlz5vg8A!&Y8WMVolgxu~$vQTU+aA>93!_;Uw^kz8;GK|#U9bp{xkob68ZSXLxZ5=;{bZrqpv->RX{ zy*6EH*=C{iIj#1IGBPJesvu8OZ~9pmyk6vSag!I8o%jLo(;SHp=55MCV^cEi2V`c)w9@Tsq4xJ0dj4qz= z6JMT0m5t_rCqU*74WBEFD&>iab$HpeGfEpHwzc#F>gl>i2Xi2LD*Zo5<#-8d$IT^8 zmX^P}+|7OQ>z_A6dFoVN!|2kxJ%rGwPh*a!hYzl*3bVlXSJTGCG}TR?d?6pDmGsCR zDbjYa{R_mPbsbCK?b$lOAMVw z0dz>yNM2rE-#UiN4#@&C^0>v%*avKg4z&bs;|}dNz|JXjxAI+(0;F)IqDnd)62&ju zp5^?89h}i+#JGi@5eDL%%ugmj;`fi=xweOsuV#~U{|wOAk8ga=?2)}BxG^trcRc5eRFE>`-7yVA+6U>0rn!G~zi6XTErAeK$1ND3u@uOQS z(ATnm{P)+2(AQ=g8aSzVjh-q=(RFJ989Wb=5FKeqxgT4TU4`7ZX_ephfRK@4KdYbi zz|EX05~V2f)b7MBfT^*?tGtWF7ofQ?fbm4LuE&CQA`XJ}Tim4Zh!#wE80IXHNe$C* zO3lwJW0YC$eH==%$i6M(@r(h2bp~vNhW^v3E|i9{!H{_`|IX<82O{}T z0NLem!4$=Fgvlzqv;>Gc9||jei>$cI?5rpJ>j|Uc%waMmkf_FRUG4EYxNuj2YHKQ( zq7N6d^xIo^7rJ9yR&nm~bb{s5El5T2dYQvnX26RDvqnC{b3rB37Js}7Lnm(;^%q2p93ab79b~SA^`(8WGJX_Hc=3KD9V=487#}FyXC-o2%WTD(vuWaIX zCn+NZtd%CD9&l@q;#l-nikDh*`yh^Y4l z$NwlvdOpUs%91ht4r8%7K_~P3n6i9a-rTG>Ro?e4vTSPws^0f3a9@h3`dr|FIbg4g z`1t65o}R-=rxPxBW^{b8nHiZObkU>4bCKg{x6Ib@%6Ku;Rb|P|= zQFZi9HRqj1%z??t3kwUmK;mBIxc6_MV+13R&{B4nMUFG>Chtuh(n4Od8pZwfonHM9 z7lQGH#@%|lZ%RY|Z@+1418Z;i&QLSoAf`-9a2KQo*e`5Vw@eBWrtm7gAt&GufYbES zo}!g{ma35|DLz>>7ufpQ81RCyl6}XHSESxLf>E#l`yJNvS`e-g-?_#N_sxq>ZuY&O zKn(-G`V+bDSA0eC<*(O%eEMJZubl!?ZlMwfNKZVqYrCts!N?YDJwpyJ`NelcS;K-)-86&C&x09+&5+ZAj1 z8k?9h8#R7mc2{6@61Ud0&*vit9%5f&koOG?oh!~Wb@o)9%-3Dq+~#_MbYD3G>ATPW zd~fNGnkfYUQj(eBK1ub7p+8UQ3xca5rILf&|S1V5frvcJ0M zeBp$+0HIjI%$!rBdTf?L7%zS#$7e#k@5O{1Au+Mu{8jAfgwu6XobSerO$}b47O#KLU6N^ft}Rc2o^$9$*AffVeCkeoyK; z^Dh+;x$#VsPsOqHKZh!djes?k$NitEgo@3UdQ!$~q5Lj{5um+qH$fH2RS(F_c6Isz z->m_a+1565Kq-XUFP9SkuJqR?na~^Dqq3x^b3~^RK{y2P4@_AI(8{mdw;fkn(PZC| zd_(u-)B0$qj`?~*So7Grjnn1bNg37ioONmnv>$dMSXL(n*~wsQls1n$7(EY5cTXi8 zuRFoom!kI}pi?|TC)3nqI+n`eV%6B;L_AVOlrI$(Ljhlk!F#8+S5Z_Ri{o||g^C)m zhJ=!oKKXI63t;Ux$Eh0#QxOnWtXCs=VZk|`PA27DAu0c#h6V-xQZ|SH6&0+9cIU~J zr?Ti-WMz;yk{<`hz>h5oO5Fbw8o zRQ35WN;H8&sb5%RG6QfQ?ts8Xz30_yPLh*TKmODKM95eW!q(~|rp0eB_RV#IVrloq zie78)p#!%P5CF2AIrxMIY8>=XV1Cv^QF>HUoP-4ADldvJ-sn5;1)4SWsq^2qK zPttR=?DbCbnQ~;sPw`1pb!ep&fYr(GhVBlS#l9?Ro@x229_#AJQAqoWZROBY)nry- zV_$&ZNBU1(POmeHrLmq#t0Oe-`Czt^fg(Ex+oCqN5bl!~fN-I9pAZnUWpb_%LYmB0 zWi-)n_!a7#SFElYKdFCoW7xzbtviQ5ZTY<-KBr{#;gcbTu{WI0WwQ0hFw}Xs_8>t} zPt;hDU=;Mb;A7oKq~ywIltm!j=%@v(up$}im8V(SR5qym337v^>isgKtb%#*7tkVE zWgjO1_?-h7e{vR*NkYdxE;gHkx<&2#4Dc}I@n4DW>`8#MU?-@QgJrW5I>s8q&H~`j;>_EIhTce80}8Rx?uP3Hs;RR`QcC17}7AFGeiuL&e(n z#{fU<)IW1}VIEuJ@O~gl>TBxQ1cm@lrLZPQ`#`JXL)?E7?spOe)Gf1(ZgVREmw z>2x4VArG*FB_2^(2I!2Hn>*=&WWZqFSQ{DmNWLbmm#!jidmCZ(^CKGyyS`rbM<*y* z$Yw)Ht5$j&48s)`zUHqO&ezl%Ceur^N4#W$0sbdGeAQ)Bi-4$<@_#urRwCr<5Cket z2AJ8ydY|og%$-vMnJeNdem>b}e)mtAsJm|SAAjonNt^xR6nVdgHb;JJXUyg~4Su+Z z12NB;H|F)&qNVlFvZAE=bQM1Y*JJ3ntB~yjmZRU;e5}R+{zV`+F!@Q-HgrgTQ zDX9RSzY!x8V9hHbCZN#D2ip3WincQonUm{RN8?&9%rYS28#{nE*ziA2rFh&YNgN@U z2r77+Sa?~hCajv@vx~eDT4qTfANP+tvsJ`mP0$1<-{$iZ0eC09tT-@ko&5kKwQQF8 zW{&7z`E4_Mj+{RJ^KqRH0{3J1YKbM|;Q;A|{CJ;dL_rKN!`4V@4M=&|$-v|I8eao2 zQ~-$oIKbteGWURrd}bY>t1MQ>D+B;a=P4$ugxaIQeNlOD;4OdnWp~-2?I~=GT4aHP zvm0Z8s-WO~5=|KlDF+pJ=|AG3hf4>zhLVXVK`Q!FxOE!6 zgw;0KE#lfk35hIcO~;xo<)uahH~?NDac`6kl~Yhqu~fN8BPB zgvd-S+nXvf3CdDTV`pap)M&W(*pp)Yod{syWD8&Z1Jnfzn6JyN4*S(20M>OkmJLQ_ zm|tiZr}JGoVz%T^udUbNwP1b$y>PdoKkDBv zpZtN1FvBard1#$;YJMkJ>9#(Rv3}aWaw)L9>ZTUF9CI#?-S3{C1CK!e8P2no&oZlO z?FgP zXq&Y5WUJMt0Y5tifl~npbar^x;?hz%E;xi5~ z$_pu>H8YiKC}4tp6jqMf4NqI!+S<6MAGTB*tlQSLM1evi(Oqt;WW?@ z>C46k?k?+~q!b-V8DvY5Qvm#<10MNFc;~WPRf>K2`}G1d(0ZE+f1PqkAANJj;;V;}SDDoHYYWajiwG7-e9yA^?{LKo zz_vu;^>+D*{2nJw`wfH|^#2t1-tkobao>1-8#IMV8OPo$dmWW|Y@xDAR%VDeW=07oEiZKCL!fiIGMVipc7JlXxd7qd_EnK3`E}{ z!_lu;-H$tjsP*Bd5Ya->vbQ}z3rAw)j?)F)IiW=V;Yfk^;mLM+4vgaox?|a8ZmYJ( zS-p#BBwjeKOJ1J#m|UmfZ8)GP+=X^+gNX zhKhtF1y6q*J6wA#@Yz+{Gc%GstR@6lYxyUyS)PltD!xS1O%8l8D^au&Z;uWwk?665 z-a3Hh$p8^uP}tQX*26?Jw{g5QUfH=Xb44eY{iNwc{qr2$ODb^0dv|(MY6OXSTr{SE zpsxM-Z_;qKO0nx?)Q-g|(`Rq{uP;SlZSlI=POXatO2t+TnYxZ#nJ1 zMWcgTk$CI+rcisq`+?NEWx>Y}MqXDtT8_0FB%P6wed}sM_WSBHw)@0`ANlDKmIH>)MCUHGkr$Cqx_ND zUB3SKTxOG#W4GOkgwlwx?dMlYy2fcsa0hgH&Y3<}>Qtomo7jagUy{BzH~GaRbXj@- z<02`V=+i!Pgp3jsIS4;uu5#1gz^&0f$-WXb%yA{>ZaAqr;u(_RJ`a%KuO69?PF)?HbBL?q4e$;<)_3te>!? z>@AP5Qj-2(*4d0imQau-MuVOTfdw33S(C)VqWd-*ElC&|5upT2=37{$p2ON3|4k2- zshq%6Y}uv0!_35_bBRk;PVN$8Xmc!gEFfC)V@=Uxh(X|IYeF;7rk!Ot9H9j${1u&$ zm)zEQw}x z+M4INJD4h{~+ zIE7u5=I5Ci8KEaa&p#LorH;t%8Jo;}8Ux-9v7lQL!j8RKCD!o~pAW=-E)? z`jG6h`r2Bp60gy4OjMkxPA2Bd(%8X+2L(e9+7N_S3j%(oX)~R3idO*zir6v^{aTw= zv6pWu1*^*lsNFx?x}_I$QqJ^r%|V3KUQZ$#hH;b!S>^4meH!b7`5uk+1t3`yGJEOS z&o(%&4o1ZoTx@LY0FP%_J=`&ftAit)(K>Wi4mScVbksBQF?+BMy$CD;8^P2CO8EAkw9`_b%ELPJ0 zd2q>+OX@_e9{L2u?@>Og)fzo6Vd>Bk$1He+30J%$$j4W^e@YgQ#yxj$Fa*c$*!+*0 z(@&#phTc^=PIbyFkNhBPpe;)Wdv~^poEPVrtCxRCJr$ZAD&x8k>+kxkZEa{x($Q@i zj$j_&%>B|&CaC#W@k4PQ2gj3VXmO%-{NRrrN-rzzJ7SwLm=`l`sT;>BCNLzn+r>fm z%D~?}#NGyXf!vT{&qD}(u0<5a(fJ8uE|4>(NkN+%8~`8{%G zw-faL!^9wMYlc$nZfAQ9wcjB>2YJyxqXM?Z|E2@}Z|ej6v>J3qu#_S#=YQX7*S7ZV zX>^iINbcN443xW{)T=}3JkuwmcfjU8sP32W$t*7>^x0 z#&r+6;bQT>Kcp#@q7n4ATwHBTC=}{`kN!LN_`N3set4{XV3fG05T2^c1H)OyRvx<+ z?ft`RN-b|R24oY~W5$cJ_MHW7_n=!v4yjRpw7{swm)Ej0>ufW^TR-(!iLbGN2!M2G zXu0P2`1!BHEctXw6eBGy7s;fo9u?iUVRBu(Bek-{*4UbKgdeIXlP1XKKLfCR-r7Gk zga_%L5i*I%IlNxv-cLEGa}k_1^538Pp(5b1GQpwEqI|YAmm81c@3h2r^*;>TQ9vE~ z>o24_G{*ceJ0a8#RD3kBAPUyj)=%<|2zv=ycCysu3AkKJx9G@V&FC<$x+6rn1CX=+ zPgwMKyN2=x`t1p1zV9uuNiYSYe8*_Cra?iAo2#n=tdt--Vwv#Y=YxQ?!^$*52j*>oN{2{xvoAdHxEW)E=1(yG~F#?edx7~sWqwF%t#YYx^riA z*pB)x{{smRkd)RSGOSYv%Az7`lqFsq`R)W4+P2N_4kSd&3zF3&ypHvA7QL=p0{{r(v# zH$0&lH^dBB_ZEJ%pop`1*=aqZKtUXlG`0Z165`eGg+IK#AFM3wLLOeCo%!}w1EF&g zKKN494pzFoOvnY^ycrZkV?bNpTnE689i&Vptj=q0)8LqF@>~1>>zhr$Q+ihZHV9kL z9-u6N(%DX!{cwui^|rN*A4M%R zUoWxT+}r}86j#%Lw0k*tPL~Ad4t3oUC3HvlDG1bCmFSBtI%H3YO9IBGRw-dN%9Fc0 zRN2ynelPAZh(xk30I3+A&aW!r@RLqad<|#55QG>`UzCE=zBW^wJsYLOOPgOeGe3JN zaZNUalGSOdQ*Fep1s9R(O2OmiZnh{w5qS*z?Uj*tfZjy70w{J$a@9NDnf2qs64^p8 zFl)WKRc(UDQCR5q|M>Y;l*B@IHpn4hg0e2s+!sAuO(rb@#Uju5)x>WnrqJxI#}~IW z&HkKX$G6W;kPcA56dyANOMN(ml{7(r+l8jP?i$4@K1$470XHpsV>MdEaYNL@PHgI# z^UD-B77$P*%~M5BXAR1>pq}=+n^8|lxY2(IvJ zl0I>)|JJv{*E8z$&fSY^{q;jB$@8ms%#z|g7@3$}%ua!o^`(8+M2HZdATMXtrJ7hD z4d|n!|hN4vRA1Z zQlF>Rym-P|o-NifrB zcX?r?#!Rey&$b6)$9roc$+ZYOXSo$mqq+@EGwa-O#Si;1&vSIybF|LRhoI&B)~~wt zyC-v(ti?J?VU=dMTjm*m>|;mQPy^Rc8oy8Q?Y}+f>U+;`mK~S&ZFIsaHRm@^RNa(8 zCLN@rGV~v3Xr$y-r~DgEf};C}2L3-4%e|rQe=EiRDA_PJAx9XY{9WEpAIXE5_Nk~ZaeuC1{((Ugu9EA~zz~FAd z=%b8AqkrY?CCU7wUef28!epa*uvV?UdjlHqfBd9#Wc}Kj3n0S^yg^WFlg42p+b=<> zfFphL+S!UP%tvOnFKPZyPMNz5&L?*C;f&z;&)YUX3=EJCmf>IR$@|7~3kka}4pQV#@ zY{6@q0)l=(aTo*juxV{!gfm40iX;|1$LXL?W&7eh@tL-G7F<)21$*bSbgiFPTZxI&4Hf{sA=Y{fsuKh_oF zxj4!(z7qe+75lNcFJe;)aw=iFY6KX7&Eu&d2B%_eI51}YzbKP~SKVPaiMTB)P8SN$ zRv0j`%iy*?T#IBmxLv=_f*tX1h+{KOFIED2OaWQIfHcaXZ6 zefCLo{a#&^#GchIwu}b3cMoqUh2A$u+8rxl-TAB7@9T5YDCOHr6Kt7Q}|i(aeKZ{idK+iGA5J^9v#QQ zg!N)^O+!^Yy{)HhbODNMw(s8WtKi~N`VH2O7cViHj+0;5nvTRbf_OASYIFcbMA3MZ z*nN&(hX;|u-SOubrCEs&0w(%u%HTue=bKx<#`ttm_}x;-O+)kk=es3iAP};qHVT;? z<5@$Ypa2_*_p#Mp$~bwESGslN?y>QM;y)-?z8Z&uqUW16=ztAc-LTkf>^CJko52e0 zBx)OZ8a&p`?IrfxuV_{cCT08`GxBUmnNWxdcXxMB(<->FGWMq=a)rW*9Unc=$mB8c7nSHICzxP?%aeHQNiiBx zEy}+_WuF8THk?rWDSWjSw*KTRM@kLoqS23ie6kX5E%|=eR9mu#AcpfwOrfEdHy}o! zR^-#4(nvS}M)oLHc*YFRj6u9lDf#Ktxt?%z#tNC)l41NVe)H8Pw~jA_T%d_Jc@|<4 zG@U=Y#&WADX$jeVzlw-!p2+rqy3#npN!NM0TltZRATIaBEZUwk;yE?P`nq|*eGBb%QL0T#2{DM zXseUW7$Y--iU0^(LL)uH8NAV9I`3uB@gY9`tb&jW9o`Rr)^Qo4<8drsk^Csg-g=W$ z)8PeB<2(b3E(U>g02dMYl`@0WS~4GdncZ5uigVHF88Eo~dMsTQb+GQfB+kiRioX#2 z3sVd>b8&EImH6BDwF`!X_!G69iBLz;hQLf5Mar!5740?h@Z#3PCzm}o8la=(16QA? z^fv~{v*C6fHfB_|l*@Or?fbL@lONP6GZ}mj_My0De7G}tw|1p!E?-z&*ez5-5%n$Z z9?E6~fJL999g~Ry#O@2JD*CytCk!;&C+al&uCguMI%d$-QRZaTT*G&fGgJ=pr;?^x z-z(GC89mYVn?B|Gc;1zEq{yik0?sr>*zK(W#JC|8Un=j!5LyB?G)7ow{KsAit+!?m zg5Hr(`!yOt$d&%5=;m&h z_lJDi|KZ*46ybpynV=9cv?*EdiQswJDHtOoeHTU^Inzh|@>z!Ww|&)&NJ8RAX$%@OY)KHhQJN zS!t5WiE*?lramo=fmOF8$GX2n8P6W9X4vgyr`XF__u07AIY$poau zspL0|fCgt2H1k~E(*y{FF)BOI4bZ5j^9WK9BLo1TeGAN>smE@;os%S61!sdrII*KX zhi-{d>kdd^Ej^*bvGfFJ8Q-a)n$C7t=kXMbty3>k5;KtD(8; z+Jw0+>Ox;6Mz7)$|1EetC-3KE_tv%Z5J!;GhwftCqfq|S5ZJGnUs&~OTo}|D)=%QA ziONPb%C|w6*>y@2usBnI2l243zuY|2v0s&2mv^i3TciJ|%CwcG64uZ%6k1H%%)ikG z{Yf@N^@+Y2j%#fg0h5FVByPd4?Mu{h_{fp$2@RMm$GnLy%XJqA-$AC-E*H7PXO0&o zI=`?m3s?7%QflHeZe)Gl3gJqGh$FfEth^UiA8)>?tTg6}nPD+}_}3ARb=W3>V>)My z$MBuIdeI%V$*%>e`pBqSUVDf zZl6$Nsqj2F@C4CVL1&j0nV~IWFJlt47^an~wXwe5%Tcd(`N3+)53N6wtFd=by~WDc zFJF#!<4cWdjyf%Tp^u)l&spi~-7ODciQDf_`nFVT;+riKLFscOvT+2)d`k_K{h}3> zKR>;*tcZ-`EC5MOXCdf-8|Q!+mQESBuY$%A8B#X#TlOYwnot}+gb5f5+Vq)duRymd z2O^2CC7@XuK$Ku<&G3^r{R_R#MaEF!V?O~kZ6x|>kMHO?LO}2`vhuY%?!awI>ZyF^ z<`k<&mtSU~oSZhdtVGJ*ToNSFp8{S*z~**|2PG9Lt%x#eVdLV-=yuY&<;yVBy;WoVMf|XLL3{{)ve1W%PWr2z1QN3sU@YWjoo#c-t+^k%++<5<$CKF>q?gFFil zFGh5X5=$;YxQiAlu6mVfpbXf;#hrX`z0h72s!^f+frQKpKWPHOGS2P zTQ2_pYPRj*2_5zNHCU-D!}RsM&uEaXRghS1FoSJ`A>=_hr9O59x^@{U!rmydtsn70 zF_^SD(5){^emA?@5JsEP{X<71Tb*(FKdP|MCt*SKVgCfFtvDE^a}DDP7(=?T`&F|& zx0>|F8BC&kFUkk1)ojGCEo7i=`Kt5j-ve#Y_T!7wh6x34LUvE{F7%6^@WsdV8OH4w zbSQbdGx5KRav|rM(>dJ9$Z33BjA3lMS3$sDpG_huS8`4+Lc}CZc)ubeKmPw2RNj+k z{H@gZd*b|q+wVFvcL$pc>b&h0E7_gy zRpkF)xJ7$kYE3PzI0#I-GSJMYo40H)D=Vu2$ZhA!#*X%aunqBr3oKycROz^1H`!T2 z`-hY524Kh>Q)5WT~a5+4PsFKbJhRkFhFnuEIjNh zBrtUD4~Njg@DI=5$ihfHBP{Qr^@jvrWbjkHyl!$l+p0a~@fdAlu~knK^tML3NQ{Fc7@7AgoutvXz#RnwpB3bH2b!O@51j&lZM6jFb0m&%PoHMD3XH`+=R2 zCn!acvfu1Vc!4f6ZUuCJkn;52fmiDCR@_st69G=;955m+?!*dqp!f)e&YoURr+tIq z??>-p2w;AUd(M#>M?Owf{3g})KQoQ=An=`@a(?`WX#^L;o76h!xrOF0J*#W4oEYk}9gSgw&xV*_l zU=$mt9Dt2v%!kaWYsSK~=#4T!_}B_`pquH;)fIZY_AL1hS*O&{&u|Q?z;Q&ZFaLBO zO8v1-cfMghon48vQml^dVn|=Vn)s_(B;8FHgE4&)j=}tPS}xxw>_H~S5IPZY|BrzV zZ}t!7QS!i~6d6OAVJwF>oq>UYV120(MMErVz#B*BV6KP)&3$&ab|68COs(BNl4ENY zoVu5#$=GV`KL(t$+>ym5qOpZjH)lb^7GSA!*9&?yP>R9b+zeh;s@WcLxeh>IfSust zwI7zw966r5d(v%^ii6{MTb0Cg%vb((w16Z#HSKeezb?eyq0}ffYb6&@Iispa07cH; zMavUxh=`@ql|(z1-uP@&nIaat8%qN+7NskYWT>DNJkX8fBL8@(og*l`W_yY2Q=w_| zlNgM(9}8Is^&&F*Ek9H;zKlru#o)MX8jaB^*O1n9pxagR4Lcsk+pZr($VK-&4;+#! zD!J$VR|6V;J&`%mq$n!3~KsC^zED;{^eHwI@Y&w2UVeIJAM}9Xi4M8?6 zqxyvJgb+C*f5cdyb8YW&0E{s(ReY`<;!i;=o)X-Nsb)IZZ~@dIPu2 zo2b^9cyg>#>%Z>X_VlTf(&gKMu|DR@nkBb5P_Si+18I zw4Hb)d)WH(GYRxt2;N58z^KKs@G2W+#9F_*fd8M_#r;A+`#)tV5i0KQiSBVH#16mpYCgynN-K28*Fyu&6k21`EE;v!xz%KpM#kb*G)#=8H<>&Z%-%HxB zCSP%UqvSdvh>BS^cy2i`H!WFIA>pv(SOm0K05ihp+WvVHx`4>@bFrCM`nd8p?d1BD zFLUYtOo~?3+@?3Q4Tz*26iOc|v%YizKT$6%jKMawoz?r;JOOTRgU2F8^F?`tJzEFBU3MMP0S{u5iE6b?z)fk~U8>H_BX{p!!-hF0kJF0S5Bsnlgy76)*I(XLhGY2FS&WZk!ZC{3s11A_E4R_OMczyk`dA06fa08+v+`DMG=_c|iLTF3 zeQK-8#S@HPv!&>Pof@1KA&zTP9M z`U|N2y~{acha|~XuDm*HF~jZ^2|Zc<4W{+!f=l5Su@T#(fHR) za*eU{Sf4ZRwl}5=Z&m-rs-A{h`~AB=x*n=3O>Y@ci}Fx$(*addiS>SM{;4TZFvF7>!#G=?-C>s z14{!HM`Pe?NDKypd1*TiryY7C#oFfPW_1JbYlBm+L45^!x5$|j+@h;MT{7p1I!(y| zeu0%_-i_b_n&}Q~4l>&ikefN0L`|g7Bkz~ia~CtVctxf0nW_2c%X8-Eykle)cCM%> zd>RUA_^p$?l6tyfIM@$LAbke4>qF_wJDZF6+48w35f~3on7WY|2N92rqJgn249H^` zd3n`yrIvWSwl^)w^GTbM#NI^6ZB7t0&t?%pbI>b$Io-H06ALHU;;;npfO*nymrp2K1}T=4{wG}vH{u*7rK9( z5a2^ZytXSMWHyO@JUUB9?l%bzHpZX}`Go$5wTR+tOVB@%{aVQOZmv@_eYnh6Vl|*5 zGiA;?m00(t(1kR3+do1#BCitq^QywQsHn82_tS1PL9Rkhc6P7GA=emPmzjZ731?zC zgb8au;K^wQ8PAsAQt9U%Y=gW<8-rn2gz{q$=M9(YhyfPvH`H?H0uWKrEW-kVadqAd zz(U->x~PMJaX92}5en_u-8Td+_1}xl?!0u3M&O~6>aLs;Sv$fgIUrZ;?|+{8U~2`H z!L`xY)$cbPSJ=|j`3wZDEPMuI5%Ohf)+CR7$Zgok20qY?dm{tBlOBl%xwFdV<|f>I ziZ}E0Sdp|_xLMiYIZXrM4;dnQTl9g0spUKpfdHeOIDh|eMA2~29yUaH3>i53uu%os z$GcTqOo*xiiGl{6hzW?GSOC~w7^eJ?M|Ox1+dCIo1+L4M%L(0I&A`Eb9#jNpt}$6Uo?$fT$Y$Zz1lUf246&>|ag+#l66rp`bDPT!@} z&`&N(7vI9xgGYGFA=VBqde+0)aad~PLH1Mo@gu9e9(Z7_@hjmgsd){t9VDa8*~fUl z_ayLM`(0I|+VipJ%GE|jlMe0m3qrjW*n6zkv%)Av97eCirWfJ*y>8?Oeao*bL{v|E z?|z3=nymel2M7ca5HEl!g`)qS`Kyyp<5|3Z2e{0Y*T+=S)np9D5c6$Eff^`bs>Bn> zug=TRlyiC$5S6eq*R3Bv$0nDj_cjeCFiX^L>{zsBr^EaYKk647w-b<lf_F!uHlXjYI3zRYc^87#%dQ zMFs=~8-R{>I)XC-k!745K$MzSmcKgF&kU<|)RmjtoK#1LV)8R^C%48>QcQuHLl1O$&H5Y! zei9oqQbh+7(l8w92&==Ou+o)3>(61OlYn5(^uc^82UQL$Y-Z8qytB2+%zmiQQniex zAk0+yY69dOLrj%@Sz8VoiSJZDU$(eB(|*GX_!W5o5IAV)0veK1XMQ!NzQzaH6g$ru zbg8uUeGWqZ>wF7*-l}k4cQ~i~!P#ns?ykjhue?Ri6?L5zl_+O|z?7P2ZWY~&CH&i$ zqz$IX>8u3%s24AQ<{A82VfEBrdNMl)%C5IB`!AnSZJA!DePuRA>=4LhfceW(Jandg ztZ$z(be*qn5q*unbGHgs_83@tncZ@UV~hs1w=^_RCL8d}T8a#Q^uN#B@4J#g1zdqo zX(R+)0_(E#?ghcfk2C2XoL_ztvPz$D6B>&*pj#Hu&RI>D8}Pzcgy5U?-sha}X#^a;|>1Chc# zc@%L$GmK*qIxX~%GB8_^z2E&&*ybiMYSakVh?ic3Ep;;bLq@c`CdAf#Y1wtsZ{pwQT5<@5KfzQm~pqJOqalPsdh z*Wck{b?&xA0UO`XNj8uT0zZWUN}_uQ^d%8?8sLK%=mT_3j;IxxCu3y+Wj7~|2emER z#Un0X59J?lkU>cx7-gKK^pyoJMMryj%kewAPod^$dryxhIsct!C>4Y|AhF`>PtQQh z>Gzk|+(?@T^^-;oF=g@dUSo$&*ywhcYp()rp8$)1#&l4c;bHYpztV&_(Qy8fUSGUF3z!n2D8ZHL6^~evXB1htW;n9+SAMhF;Q4 ztQfS4cV$ap7DkFzX~N#6WLmr3bTFIJRfFwuUGvTTN4Cky=Vz7B=(h&pM*k`Gd#cDIgdto|#05LBr9|D^p@ z0_83}7Mzo%*P zwOVW4Xy?@13sm%qM4R;Gp$0#Xg~8kGRm4r|Om6+~$FxEw>(8gvKa0s9M^&<)x?iuT zU8SpTW?tb!g&Rd)j_W_MTN&24hc-USZ_hKZjyq!yhvrA@1wn*Op^+&3T^j#Fu=W#ARxTv@bi~?0BBFBBH)jP?FnYcH}8AIpF zI6v-GuqCYeE;9VHVhg)$yl`LYImKErl{eZO&eF<66)m6q+q6J6EJ(*$PN(GxD|cI9 zRL^^+i;PSr+lL3ne6cN~H%x2)>+PmNyF;VrQnilxA za;8vr0l|O@vAHx7apU9$#n`bL(qms1K2x#25|KwGUS#I$@fG0^f=+g}YR41V&MEP- zN1quA$C%=RXl^Rzxz(cH@PdKMAAB2cKht>222U zjB0!vAqFoM5AE$Il8eQfLQ3O%MBm2~2jK3G-@ChUXxmb*#~22MSz>twnm{gvu%VJ9 zm&dcEizw;h?9QfKty1bs4AZde5!*{J@x6`}w+@=>pE9r)~FB`d1 zL(T~sUK8-tb>OjPD>d*9#BYHqh|-$^NxsgQ_cJ7RB;Y(J8x{EP+Nmy^w^3dMB@4Nf zcA6Y<0{#vYHC+yDk`eI_9u3)ZD$^+yhIO3V-tDo*JfrCn`kqcK_F%@ z#`f}?wDGonbuayh(WK1W1a<{p!;2T$%-a$Rbbt03dT|2EC|A-_Utdph5beJ93Q^p* zJ>40a_Ih=4v20g^f+&iSjUA=|g}t%r01+?Hh%gS1jhPaQq;|%)5^x#5%b9u{c{54W zDGlVzD$}w^Zp`Xl=e=Mkcvx2PN0n`0y`=IkUosBQ>p6DRrGpb2GGt5H8kro^9v&X)65dBG#nY6j z@7|#rumb0Rt2#x8xZBEgqR-!r;)v;G<$&M2as9I^#p`un(4dy(5@**&ez)q*vDXrk zre1h(s?H8?0tT{K#yzy?VQMCK#7`6LI$NKWVb*Ecd`i~cNa(H-G_Y?c)Jp-=VvHrhP1rXU1f zEvIsBZ<0D~&aD^YdGEAhN25`pU8{jWiGBPkYw!0FtJS37-4~MWz3|wDA#?ZPI9P`5 z&G$|gGLY@vTYEXl@V{*Hg~lFYlGYFB2;MQHd*Q{6*?+|+!;XOb#~El#o(aR4(AWsI zqLFiSZ|}fY{ZHUkdkhYI+@47dDLe>{hzwA&2}@PGU6o)v^@of5`VRP1VGPT3!rmn=JjQJjle|xh2_W-?3&H%=h(;agB~QA`o;sx zKbiU58KmHxA1bORAL_?fN0sC8cHwQ2wu)rIvNh78N~P@0&O`UhJX8)imw?_z?q)Pb z?>Yh=0s(P-r~J@Hfx$cX-Xb&|w>{Ns{KSMPx$`=;2%k{|C3f{kFj(~cuBmVrFnAXi%d#URC?7NPjy=3x-hrP@;sZVD zXzjXKA>({Z1>bClJ1@Q3?Yz-nkx_#N6$7hHT6sIoTG@PL2-b)ry^g#_d8d||e|V{?DBb;Tji)XHCXBa=Zo zDOybDFv+)&knooYC32nRNsJR?84fCe(q+x3u9>YPCw=)?Jz;G@&s~2K7dH9Lkim$N zaT00O9X-`3DdJ-!=c5_C$3H5pTKM-)nT)WljqF~=7ic;^|3L&b>(i_XiJ2;=Y4E1#oM0F`#S;~1(Me4?8w%OVc_$4Lc)T}0AA0<)wRjc zYl{)Yc=su=6)?oYz&1`Q#4m#WHf!U*UYc3!>nks5lBPVYni%!k@Koe8ru?QcK68hn zKc{#jRj*h`qHjBjVX#_$nA9D^WmuJ(w(vzDyx~H4ZTTt#?{|}wUxbPgf~lmY?Ik|^ zPfy;=H{b;0KrB+)LCuo}e!3~22TsqQKUar6r23hwjO#}qlNmI;iaa}O4G&gW4hN!Y zeKo)NZG6n%LbYK-YC4ir$YJA)#l;_dl9u^7oF8M(MsD1jQe0cND_?Id1U-_;_yQCv zeR;C($#HvQ&(0mNi9~^=Fw@fOOhRW9pa>MEkUu*`ep@vWV(OkX4FYt5q*>bBTlv*{ zJ@7&ks0IuRO(Ff}3>erH-;!|~L_w`+-Z7)|e)#ZV3|8}vDmS*sX)EXgpGsSaHGR+h znQ#~7PSWB##=ok)8$ZVmeSXJmUX=H1eh%~E6T3iaKsv8k`G~u*-y&jC zXEP>!UfcbUbSkW-&R$@+4x6qlkG*mF(#SFI2Lb;+CO06k@4UeegezX&VVP6Ik7h8Z ze|zLGOf{ACE6Jn&6IHDLWzzI76$myn)*rtJDUPM{ITVc zGboq4c3{7E2fZIaiYuVN0^EtNz2W6I3|E44xfVS*ow;*2LkYc*!+p=x&HSn)Y{kX- zv^2xt{A(b$VoMq;{!?A6gKh%m!%iGQkH@O6t3bXL(HH5~HRaO+?(%I<(eW>)i#avp z0KPhY$<&wIr08W@9fnsLmAgYj-!>4&G~~ZoMl0{Rcs~A(fV_$UiMH3Z&ds|CMO?qK zT$UwvvV$MHn@dJih#REU9Z+WaG$^+$p9xwzJUF2;wJy6Z-NAydqD!6`+6DZe+gx_J zKlD=#NDd}ynv`Vr{S$tR6qVaxO1#b-Q zrA4ma9Y4LGw=ASW%2A^CrW!o@XCpW5*V7-U9<&h3Op-PTQY!JVtj1D4GOgT%aXt#r zR*)^=L^X|j;r7^dHV@QU^fK2r2BC)~4q35&c-MX;IF<{NCvK`(e)vo6(S$2VkDcJo z)$9=F!ddDtwCJFaJ-eoYN92^0iaHm9x@}I_e-xEwppDZy%~LJts*Pk+WH7kE084^G z&D#A2LCUn%_(%P6#uQKbx58cz^>j+L>=mt~7&g63U%!!|H15uc_Bo#`LoOK3*LO&u zz9&zyYq_tF;K1l+K|Si;1i{zSQnXKm?s6dkCqo3rB6SYAt44{Kc%1vYg*pl_22mp; zH30Gohzj9Lntc2${YARaZZDje)bRDQ_M>d_)uHURP5$?Ux(GZ*f9X&1uji3qt~ujy z&R6wbY_F+8COD`9G@SLir{@XOAYIz&%fkHpHT{!XA#!6#&TmFAGsA;R#h!oFP^$s` zay?ecQdMQGW`E_p&2hHvDWElKJJf-qOrP3ZZlY~naP`NCSjF;kI+L&IqPr~@$pj+! zZ(`;0v6T#X$+SME+^ZFKD8B>R`88Nd{f_GD>M1?YldC#ie#&Dk`(hO$dFXtyqcPSe zc$R=H2$wmTgmCX91bR|5A*DaTsY0(`+s+bNI{RFI{y+$dwsVn&B#@9aM(RQs^-~_a z#*?w&S2#aQ{YZc~r@o6;gelVl>R&G`X7d}_Cq zdNP%wU2OEy_+4dE{iS=XSe|#7XH2=;%p6(^IY}ve4N*USCUUHQ?|rSLiKnf+Fb`Pe zso&lf--5o+(QpbWW-o+0#$vwZ>g-6^5`{$fc*#Y4`YFe|ap%`%M}3daexJTY6M0s$ z&oJX2kNYt+#vCfhzC8K8Qop48hhqLy$9c=69wOVqOObw_k{|eI8Rp98E<0gfYQQEk zP7d-j^2eD^A|Cy^3JF>XhAO=l(0)&%z1d0u!_4Wm!f{`l1A6Gy8-Gyk}3p1#l6s=xC9 zR@w~|>RQV5yo3^bKOfRuwI(*LEk3;tjkKt=jJ;BLpA=J^Y%R3-cQRhjXdKFW2zH?u zRcS75HuHpcTx1)bv}6RQ!xarZ*n6%_G9EMZ`hDdd`T`Apn0-fzv|++En88G6%9i8% zA>8I<&knF?F9#K+O{vxomhida+Szl)^|k#zt-Tk3^zS|(b0i}&%kq#u5}p#Ct=(Qo>GwMp&32e{Cjyi zvusg)@j!rQ4z3RTdIeP7^mts^h!^^C@Kdx;Sb8i!`Is7+xb!hv{*4+gEh4qY*G9_H zs}u4jWmPiHx`RO}YAY8SI#upcGp?w9zBC-3G{OwXHlgYBZmBBiWXS6yIS>|8xI#O~(Q zEJxjV23u5|w^b@Vi58JB+h%K=7Y$=!Ur`7cqhe-kd^t3r(jjjLO9`8MQ28Z~i)AMO zwaeRPnXi8=+tYJ#Jh$h0BJ3KFZL#^#DCf{DgNClq=0PO;M_U_}TTZ^}`zsnlaK)8- zgV17WA?$ZmsUcHdTpZUxe#v`b$3!ptw(i*H>=(xE2~X0Q3TsYJ+qEOM({vEfW)Cu# zp;{YKw-s5tpZ#`$qR6&^3luBMwWmDuYUw=23S^4J9}fC=_8->&9409pMH^VxK#P~U zdF{%U1gl=^(%uP+8#X^xZ2a*MpMUf7X& zRjo*}eb=Y!MvljOayQRgl~nJ@&M3PJ#!-XZ!?ZHh>5Sqx8YA+Er$ToP&N0>@xer~h zDJ<3#RD(m)%F$DECkxHmyR|HMc-1zxxz2C2s6^#HESMTU_WM(`$+Q9aeO=EXckx!| z+%TDn;e$qI--3s4h`V?k>i!XOjyfc{NBC~#X)ozhJI1 zC-}3T*KzCzdZx*9$yjEIlM_#9H&ZQ)*{p&Mpl{riEefLJ3%86L-KPS~1r&i6;A zz-{gA!BQ=(v!0&sK;x5x%uL_JO|Gx6d1oMVS0P%GCg&or70%`4LKx<7f5o&r`5vCoZ|QDc`b1JlAR>L3xOtwOdW$OLjEtiZUFbV; z2GvhvbXn~u`OuY3|RU25v*ZPPGWP*EG`jzd+_N%RE;Xbih-SS$Gs zwcZXZ7N-dTUZwSwN2)F|Xg9vVXBh;h$bUpOhTHDxEp<-4zMd73(^tmUiw}C=E~3LM zj#R?3GaYQ969&>f0(6oWIYTBS@B5_M*yrF9jS^9{mx_5O*l-!Ji6-VU@i_-M(uVsE zO24Dy7e|;IA0KP1=FK^AXTkUI_KdOr`;0g2CPkShN1;%`nKw6l@>a)riGrRqtqVud zcUPPF#n5X{kF^`Y!ts?0mLV09#YacZ0Wg3}47kox`iXY}^r7*LI%ak;ls19Pw#3h+ z)3{$xS=~fYMcd1gE=diYjD2s$$++ZAH0DypeKzj2yYg>=x7-AZ4at=XA>XRmc{`A1 zvUPCmaT4x4_YnJV@f`Iraa7U|=K}3xLD~Ba#T0jQ-L&0&mDn?Cb`&A(Gd}A$prG0U z8~8e?SdIwP#N=UE*CgTp5>T^-8m^wDyJ2*Kx z!fhGCMulh1-7I0VIIfU8C){RyRw*StzX^yY-28n1j?{+q$|7-^V>D)jK!s8YHkvbW zdgy3Q>7QDBm88d>A!NxvXPRCPm=jemSO*ZKM&yJ(7+-h)T3aNX@jDKYDFOO&?<0>? z9U>Fj-H|F}PcB7BoAL1vpraH>U%&VLGabVXJb%AM;XW1=cOH0#U3BJSdy%k1%YXb` zlxi{S1jFvPXv>5}_afZRNao1XhH72i1$S`bQD{1&N67K{oWZ=O*rE2jsKFxqzWo65 OB`>2QohNzg(fND2rdNSBn9ASK-$OG}q@cY{c`N+~R`G)OHiEfTwQ2}pO>JNWzl zpXc3On4Ouscg~#r+;h&vsHwMa0$v z`+w7n8m(%Aa6Q0vW>IBdfE8uqpriOxy-plL3!tqeSbYJf>qzI zOBXLUADs4h*iYj7Y;LsfBm%=9OXKjvy%#1U$9L>m>SJ~zp^?dW%jslMrCzFMX= zeD>3~@=W@Dnu&er-t|j_qk`tsCI8QF)a6>TMhT?+&pAZjA9Qsm%0&(F_-6Zel!ieKfkiy0Rm482yejv+r}b`DZOOM8kIEebK=m^GgJ*CQm+@aGlFZ zmA?x}Z!x^GLTO>uX7JfjAx&Kft~$W)Ar)A4qxq=%txyA9Py3-1iN z!U*aIdzV)@cam6FdgEX!_a9OkX89yoZ}6-1=r!k!L$B15qYby7jBaSCX+8uOAYwJ& zove>{GN+a2W3Pp`hSZ^)h^dcpsCKd4^sx(2&?M`+#33B-#y_U*qO+?*h$)`<#Z%XEr+mgbCM$oa`6dgPiu;nvlGv*TxJ3 z6C_g}UMo9$35DO+<;#(8`9eC%K!s?kV9N>A!tYa1ud%MopRPI6#EXd z#519y#P*&g&lq<_j}`3sk1RG&*%CKNS#~lxuym{5=C*EREcR^6gx-o6ty7pt-e3`5js&Y|Jo~i#8WoMHe!rW~E)KfD=CMa0o!+ENbq&!4 zohR=^*{AJ^vOLodWPZAOKC1Qs*X~}PVv?@Cj@9s!>HVm+J~bux(@lw&kh;dztMVz9 z-%mv-H%_{Kj?TF}O&_h!+|3?!>pOkLED^G9|DQ6(-_f%#=2zj&VTD*TT~qqK|2*pC7MJW2Z54U zztq-<7v$9>?IXJj?>z;jcr{jiiW0abjO3_xz#CgC0c<+nk!#X!-!oOmI5!XM?PG2- zTCGgWWOu^wCk4cV4d1*Ly}(g^8aMK!WKSgwGS%6?V_4VM+rRqSqYptx+IQe~#le_g zMQDE}mf6{n%+=SO!o`QuqF<>xL5`kYrE5^oKA)B06w5|dwru%Sm6QBx9(l~XRa2;A z@R=QN^%=RBwmr20)Ww1#vD8F!*6T=u%qwR$Q@;(bT$|^;z0J)p?~Z<94&$EeN4WA; zf{1C*R&HfTEeD>_>q7HRl|XD7VCM5jX1W9wrRY{L^|Nhe;O+k5-(>vV;P^JchS?M2 zx^rTPPA6o9Tb+MdC{#eERXPlfEJJWli_4NwVnj10`>ra!m zcE&z`U;o1Gh$ARt_WMN0)yGSw22AX}tS?i)?08-C%vHmNUgdJsZs%QO;+DL{eX{m@ zyFl1T>1BhTl`@Ib^nwMt*XBbHlkN3re)6|g^|6D!ST3DBjwU2c5oZUH)R>J1&pNLU zSkFz)jD|MBk*iH7WHL0aXwNnk3Y%ED9c?kq$4pjAD;YLUo6EWLS32#mKkoQdkHOih zR8{u}6!95qm$Rdto0noxc*uLdH-2Bk`jgHdlRdnF0o&BWGC*W!Q?@*h^Vo0M2Ctmh z)5ahOH4x>w=@L~jkGSJHtr{l@X1ghq_bun|PUOzt$sJifHPuX6TchlZQ#7 za*>^JSpld$-wXVi+11h?ufu7@u+vHj+)k=Km;As!Yji4v{6RX#p)G_UH|gU{E;_!o z(njN}9zQ(B4y`_7*Vm+U(wQt#Jna{efof_K@HjOvN*(3J3`YL1~FDq1Ui!Z^<_*#!B{h|s$Ntw-g4|buKBQ;+j zp65go56r(N4ID(JUHu_7_=4NFS_VBi9Qd2eeGVqQH}gg(6Lz%ErUT`u=iRQ^_(Y0NQ*m{*kGkn8PFwpvO@sH(>aQ{!nf5F6J z{%fJ$s@FU6S=l`+S0lO7{ClR;8-uEgo972Hsr|u^QKV+SmElDEjx>&)oyQ7+$zI@` z)J9ML^XE@#$rbI?bpFppb=X_Bwuo9AE*;2+{>ks>6ug!U=y=yTkWyT($ebtE{-1nI zNrk3YggVGz{Z|8Jzx{5XTRXY<;Cihq_hQ*&pT1c{`Rf|gZ-S$>`c=}b<1i<7TR_mH{+B|faRrz+ph{8Cb? zvXY2^a3I~mljxKB;$DVJ#$xhA|D*l={`Hn_=j=le?m~(aV0VzY2&bc*C45VC55|pA z512p!jf>Y(XjMmkoT@lwLI{e)2G9Q>`$JVUo0B3+tRD{ChvXFZOV!B``g!@;Ok@}C zPQlSiRM6_!f7l+aB#}9*lXdGqXf8g+MUB8~{@=-PT7+{&+`$q%4*MRNX!(`G`<@rN@ z5PEp#uZ9G>;w~v2g}wyMPs_}j_THT6ADo?R8Q~zDK_G8kTUcP=UHE0M5D3&7SE*Tr z;V=(1sX_uR8%q~r>w!S1>>v;(uq6amk^i@S21fd~|G53U8SE&*nqPH^f(ODxM3LvJ zlsX#2d!zou_3XageR~u|4Gi__-&t|_8_HU_W%$~e2nQG_^5KXI-u^qV?89R14EuTE zWizl))qz=)K~o08hdIdNR>uT^VWG(9{^BWuz)z4H;)CDFH8s}ts$b$Ni z-oVI+q5W&g!;X!HNRNXugE{V(DDT5Yte=CCmeY`0j5z1Y%4Uzeb6W+d5@tKWA1m`J zi7sBi%csg{@T1yr%WSi~+oSR;9>!W}pf`85w5Y6P zW@&1kMU!z1{za~wC*_=!X|^YlAzY9*_&_fx87CjZ*`g4^YoJF|^ltS9>ks)0-nrC@ zrAr#2!-woD=M4$vtAHzZS|Rt1+=INeCht*^&0!D-=7O_(d9=nMA+eM%9$?qrUR5<# zqMUOsf}A7TnRztVn?$JyuHTZoSi8A6p!7LfjZn^eJ;iC#nyIn$>le7zW~?DG5#RXj z-viO0`+1!zlL|L>asSKD@045b2l~e?UvlrSP|am3tl19i;>jUPNNa?o%FxE zzq_euXb_MAd}=nNu5OZy!@x2kBEs|d&wvtgxm(e_`BHm;K+wIvm(x_4HZi~M(#*_O zO+F4eXWiEH1NpA&03X030|OYM%e)+03=8yiarl!oArfE(+#Z{JcT zx7ta4iLXj55c4as$mk6?{hQoZcrEd+q4#L7#@rz+EDRG+ur~sjyJtJ_JfrLD7mDeB zr&L+Yn_SmqV=~!HTRfF1XSqWXCQU=rGcuUX-1|#a3mVq?lUj~{7c1^e6pwvf&JrUTV; zzR6XQpkU=3ftiICFXQIo;@%R~f_&-RH^Z+s zNp(qxlrcX=Q^tjaAfb|hK+giwcDx8hZOHK(12`rnb9vV!FL)e_gKZ@9mGV5gb zx#}v_l71#V6*gznt*rCdnVtb;;y9ei^GSF~#pAWgm7~=xlX7-Z%^JXOq!8@}r@nYf z&-KByCY}^Ry_j!|0>q!*8n+b9!q3jnx2d#r$b|D8*d{W6tF&yiLEw{7)B+B_q#0v`B>Hi4Pe_s-=Ni6q#$>wwlEw%@1A%^$g-lWX@;TYq za)mIySkGm&+eK8LU!U32D1NBFVv`0Jo*is&|IXH{KN`YG4bYmg8rk07zBRmD2(n z&CP2XjO%MF+=t||Z+Ds>pI*oOTp!Bd=aFYmyl>Brz7z;#SncNsX>(nR%!xK?^W}de z))M_cVxJ6UaKR%h>oz@i5nt+~oGNw!wR2qUi5XOh#B}fu;>sKR`Y!SGuWsnq>+^HZ zy^;(qMee)T+V8>zz|AANCeb+9*z>c)0CVoQsZQlhC|gm@`-l;j&SIF;R-g7#J+TI^ zF|(q>Pwwyh9>p3=KzVyY$NP(#@PkBZ=j88*m-3^Gj+8t5OC1FabNz`lif|R`Jmi}E zFCB~{L%z#D>Uw%qrSWNA7sW)Q@+1qjcpcy?N&k-TSC#%mZTO)so%-=cC{#kGlLj6bxDCF(}?R+#(4A%Y%-yGmT-a9&;5#u!DA>)8Rhf!#rJrC-&m|WGs+@P6g@rxvw6!s6ge|xbR zdjBo}azhUAG{%pCAwM2Qj{9#5{2qvS?2q$+4#V0`K$T?*YfZtG$g%hgU|mAn-=yIn z6%bJdaW)&-8w|7Qu3zZZyy~!2O&oi8$6@HWDgHMCCm#FR2%$(w}>R{q}?C3P+o zy?=**Ge{65$m7|^L7?gXzF6`G^Zz?y$x8{le+?RX=qQE^{82qk`u4CU@V~L=vq*Xv zRj(E;k4rxiiuhl;{G0LXJ9KCVKkT*lnO75(jM|3Eh7)F-AR2AA*u%of>V`XKv^=BYu7HSp-1i+FI z6bw7HhkOI^4ZJ)=3OnC__l|3h2M+QJ7Hcs?!yrjbNvWU_@%+0})iK@bb8>prPgf4u zsjuI!Hx(39#)dj7X<10SL2N86@2CZxv=kI#8=Mxl$Gw&UHpkER=42%10M9=8@bVw8 zpG|`Vkb^mdn)R<*{I)megWiwjFJy~&RsOsfg_>n^JJo5dK0tbGJK(19v+?N@>L)*e zIZ7F1V!!EB7>L`=H&x%x0DjJ6r=k&CB=EM$sGTn8R(&K#5dJXEPzJBxYUK6uzo2~0 zaqHgUeZ+7PdA!eO9&B7=83P5vIID<=p^C7u@DG=jP{KLy3nIraPXz+5Prp4#zIqg$ zBm~I;738<&{pna^NKxOF_2)Z{(V4Ncx7T`krh-Ni0oNFL6gsknaewBYqa*6=;jGV}za5i!Xzfd)t8!iIvjyBF6~A5T z#&A|)7N5;_H-QA{jl6|K{@v}Z|41g!^X(wqf0{^W528kbZO|$IR%Nj&!l{2KKGLve zW2yL3_c`X(sn=^!Xr^qSiS8N!K0NxAe%8yZ3R|0k2*z8yD_YCdc1oks>dpz39HO+%Gbnk%U0cJM= z2Lv||z{g6J{X4EUa;AQG*lU+*y#wOU>CDDFApDAcx*#KdyUAZ|7mMZZQkbxCrge7j zE|zrDShb~_WfQ1a#Kep#&U$-#zFCiC|Jcm;>+u02{SKYl6!w~>rlw{)7QOykIG^!= z1ty>qhtP`oKH{3~iP9t!zde3eLyvC{Y&kaL?CWgmZP=YMhz|vaxD? z`wYM}y`M3F7l`H$zDruCd8gr2gMx7V-7NmQy81Unf%U18bQC(-)ZEe3si&_gp2|*X z{K?i2BX8kd!ch9Rkv}O3TEoLp&79lL(oKUsmS_&e4`C>*?ChjE&2CnE^Ua!nRwSG3 zrdZ8HcYl%>DZSxhAJmbE@VD(R$p>_02XomIFZ;OHoN_GS6#~gu-Cs+8co;kE2ttIUj=VK+y4;z{{8z`2`-~1Zg4)2MIWXfQ^Ji;KaE%P{m$)JS za}HC1sKW=2yN)XPk9&=G{@!gh0%<9nee%tU#kU_EmlhR+9t^QYu0A)F#J~Jrc~bt( z#=yp70U=4^l{nQJKNCBaS^P(ny88@7Y3ZTA9y;1f0R|{G=Mrj@O6m zeiy|ATYuh<<7y|=+@Yv0EC@KyLdT;j5^$Ww#Oy;ZLMtE3iyI4gR#nSuHRy6rgv9O) zfoWo*qEL*9UF04TN}NqRgzC^|A)sePiG5Ju4e0Q-}maAFKS-Ap%h z8ZWPE-xghH&FY?tBBwkMS*HN4(BMwzzp?GyKB=2>zB;Um(S-4OuL<7+=9{o7;_%rT z`WvEO8|)+CyvY7}su)mfhG&X#nt@6{TfcKQG zZIi7avzw681uxXvsOo`40OZUwvQ%%cD;k?GN|bs;@e%b6NC*IK_~T3m0*i_zidhT~ z+vQbyS#+NIl^BF)<8pLZT-rnF95MmHw8208uiQkn@HJ410iJJW0*j7w(C%L2687Q z*A+hF1pWmEww7k(UKFiwbc638N-4gQ&kg!#>_07APUuKQD>5bG?Gx~$4=DQ%YwPF@ zp>@n^2GHv+F}TZdM5y{T77Br2K$6@mhhVe@0QwvV62Lox9`5a?%F+~{Ls0cReK7f! z1FuqZB!a|mnmIvY)f1-+--7gj5ErJ0qSwf9x2#gkPEj>XGBDVdS?0{QIwkt0-JHa( z{OD7*U0qS6x$dNToCn^irMVct>C_tzo!)P~jXbf&Iu~W;V5AJ0I5Mo~DpPcSR$S@Z zCn?zwN0?%l%VD|B?_Zv#A63BZi&pNs3?sZw%8ZC_wuXFH%-}>*#L)u00nz}Q6sFNn8Aec?R|1RaY!5$-1mp8^bCDy6 zeUYEM?2Tav`K&aqgB}P6v7#M#G9oAzEG^bUjq*-a;_lU1%PaU2h1RnE#pKR4dl;K8 zdM3vG{D+G)&GmUf!QzoQx+bTp)?;kgC_lmf)D`E#sC$4MTedkWSQJhH+A!)yM*wRh zq}KaYOG*bKfv(`GQqj%9H*rhPmxa|9T4xEIx$iF5GfWe&F^d1^I6NlCF+5p(7A=oJ zLxVrQ_0*+pOB5!};@f}E6x{x9*N9yv`Zd>%tL(Eij>TzbpM?EJ;`i)i0h!tfYvU37 zI!tP?FI^S6W@{i)vb#AE@x+f&?{Bq2m^gT;i@b}zZGCTZBCHTo$n1U9-Y-!Uf~hCQ zm{oEy^*#UmOoma?8kuV@+?kD&gH$k47qynNBLq8tBLi{lqOR`M>_EWsMDM;VDs*6A z0J)5kJC(ywXWpI6#bbLi#&1kZAntEw9}~gio5YxYL5E-&?|Mp75TBDozDCImQau_D z*`c@ro!;6A27s>^AxKpvrHk?LxCF3tPUG3O^67P)Kl+xzu%st(sfUCZ_Nt%jz-P@C zk*su1;>;aZ6qDS)mPd#H(Z1j?3SJMq!J)_0$^S(R&I-Y=WfZp^=KOWfHt6OU{O4Pc z{C}Exk@)LQq~2##8VSmNzaq)&x-ET1{Y%wRq)vMQVNf>P0%29*Dp$dowS~vLx=Sr6 zZw(c-+O*ms7cf`!X(0;c_pTX+eFL@`n(+SVlmlU>6p;@riVn8 zdwJ!Fp&1H0vJ{d^V?mQKItn|c1$C7;bfY92OB2kq0N{j!W6(h`v^+&7P@Eo>bN3l0 zY&8L`Pq;nD&E^deMC>1jXQ{T0Yz>>>Jp-EP2g22*4(>~b;!&=u!2z>_sSi^ib~6lb z?GQ)wH{!Oq8qqut8#&IE@n+Uvz>^Zs{&R9Cu#!@{9nY~h@$w0;n`bnP<3M~Ys^JE zu}TPe`j$T^T@A$qsc)yPk_=3Q6YPJ!*13l8_PFYNMwS9a&luhIFn3)La4e?j(XJWU z$$QTiJW?8mg0~*B-g?-?r-nRB&SmoSzdN+G4?eErn71eX>)#{`6M=*NzW5W4^jVRB zlr}hHsh8Ij55_R)CUI9XjuB$mQ*GjZBxB9>^?v0&uwVfY`oq9tGlqwD2@=A(!nTyB zKX1WtI8T;uPQQL(y7i-NI(e&Bd99+3owW&ZYY5hRJFCS(X*CixVzp=Qh)4<57}Gv# zH}~8DNw(x1Zxo^k8=q3Kpj-4OW-!~^wxwY{|0S=*6Pipje1Zd?jwK|}b{X5i`Mmrw z{M_<#e>oiP=~-den@zA}F@uTI{`AaCmTSAaw)`PDtzX(rp*Gp~og*tW5~k2+SW~#a zzaKq(d3m|Kxfz97cFV{3)0Lc@e4uE+K2|32^|cK8v6dt+cfjCCYw| zu`samBOHbMcOQPfjQuK#3S7{UD`cvqq77ANTTo0?6!p7b+QI=t3Hm3WG-Yx0;~)B0 ztkjS{)zvdg%cL^uq-lCj5E!J0aW>*7>rNEN_UD2$z)=}n8(=2jtp$Gaxcfo}tpTgN zx7`6jIK;HcXf$u3cR<|tn_q%=!A#JZP#DarUbbJXOLA)H`;;eK z^v4v)jz!|6dE}0^cj0E7dOm?%w7+{%arpXoLDTD)o?7^9>-1!T?R=9@Y5fr^H1;dN zv$`1k_Zys0bgXz|su7_Z`94G>xcQQhtOiYPiCKi-N{p_c>qUV*D zQWN9*Axex4Up}?Q)ziE%j8rRwmBCmar!%jlL}10CKuuOca=b7*iEN^y6;|HpG32-N zuHl)PGXuhP&8B%%MK zgvQWItm{{fG_awd1Mg%bUlWb7e;=MgImJT zRTAoB*|sy=UKG|JB^AN!fOSibfTQ)Kw7E7os2o|u&6UwJu63XTG@zf5d+SWYGfwD* z{ab@xf-ZLK?X*57cE{kS_3BoO`r~}!S5_8OoEUM010tllM{h#)gGz~rbk{C(D=4*$ zD&$tTx2dfvN08apaR;v8&3YbjA1BuRSG>}z3m&MR!`pQHqPkL%b4$jx z_Z`Q}vR7_RCj_+OWo)2ZFt&pn_Aa%jx>ELrjDZeEV=S2ll}H9clmBT#$Y(-KT)RJN zhmN<%Wmlf=NcM0e^WzpyCVOw0^kuKsNz2hb{gm!q1v88&28XlFw3!#YRlL-xYWpc;VUJwZw=W zc$KE6<^;pBfqqPz=N{G6)RdOCcGlg9`lC!AjlK|upShiQ)>8N#k6NjE$KtX|e>9}f zg>@f!it;1|XEyqwT{btb>TqOMfs9K5{0o|-JpD0#XXF~4%xO&EJ6giKD%ooiIOD`G z5JNWaxsbmk>I7rhRh}(Yh^68I8&tDhIqe!j1~1r1m7PiRg-n-%{SBnvY3B_Xumy}U zbU92Ow70QhC2O(ZQ9P`3{iB;mk7)d~Rq>WEKhj2?YBB2f%#-vGRcWSnxthbc;l2wO zvX*YXj}|6hY?Z57{*Y;_si}d_1!e!w;Upl7*n1P~3yJmJ+va%}FS+=(zrui5O^+W= zfU(=?n7zxHiR8>o-#kBYT&Yt5x7(n?*h8n0~-B4(wuX!5fO zZ|2s+30HEwmz0bw`%d})6HvRr`|MW)th%Jx3v#0=(xti zleQvy&}BldHqnR-rob1QV!wYfKZ}+R+WoXR>&-`skTz)$89C(A$XrgHU@VgvKIG_q z{h2uDPJ8&A%cg7-jY(i&?_2#AuABUF|4;YqfBsYpu&g;w=yP$g&hi3O?(JHkNDkb! zg%Gh!zR%P_G*zk>p5Ts;k6T(>o12-9A2*L|j@+X|9$j!;PZ>Cx5ql<~QU(_1nPlf&6q#(V1k;+Qk6A%`?rr9pkHNtdbvAYAG2cp0!ki4SNq6-rn9e0I+QZjU60ls{2*vz;H|8YhQa8es_cOgNjc z2Q|dLF=zDDm46K^!~C9M)i*Yl0_!D98yi6pr_%!8Z5DP8j;)0jL7?yh6JnZ~1rkDu zzkaF3wCuFTzm<}r;0A*NZqAE=)t-=uh+xa;LLZPzC{isD|LOBK5|^Hnb9C2v7jP-8 zKuBbT4mulvceb|?M5&_(i@2YM3_EWJSVKFM#9~uPPxF1GKDH0Xzyx~3e>JmAvk9Gr zpia-uW~=1AUfJIdY+REyHUHx^_XiO}!t8y2wHXr|`{SUMJMh*!kxnA<6sVIGYkiRk z85tTXbl)7M$QhrXpD!Bj+;!gm@A@*!XU! ze*hj<0fN2zmPjv|kl9An$SBCN)cIxL4Z{oxVN4L1^d3p>aE`ij5hmXnfG^OyYqiGY zMMX_LUV_ZlA+l)J{2}N7Gr(HzgkWw$k6qESCxbY4Gn=jS$}UF`2iF3w=+{25fRacgGFNn?0peab@h-`5CVZ%J~&YI_7>{% zWnp3Yu=N|wV(;?OJH>urh$4|jByzq99slXizvG1?_tuqw(h`>=->9KBeEWt;u!QM} zA-z&Jh0~aK@82N;a()O4rxSUrV}>?!W!2MX^Xa2&zH{TXx`9Egz!St=qjT+pH&P1x zp(}o53*r5z22l#?Z`;&w??7D%+Rd|9(%Pcz*Z#mSn_zkx)+xP)aTfNKhhpt4jH+DE z`Fq^7_6%C>PBA*y+^Z6uSo~6j8>zR{(x)2@xJ`o+@Y6a@ce8Vn6Cn94$ix+nR8qbl}s1Lh)DelcHG4MFY9u&=&TRVppCFl$@&5758FP|X0PlL1%gP_Jsl5vs7IhpC6a~PIl;C*NJ*ilYj*SE4DBHT&vz-k?b|9U@LD-k zB`quL9UVD@PSZxL3om(61}wgfAuGO2ZmkbG-<=W1VV`OB;cIZ5+wc^ggVbAel=LZynt&c5`CV0j+PC1d zYqy@#Ej6dgsP;0l-X{X2X@+VBwo!|JTsXYCEdAn(wB+}x7c~UxW}aQ|ZQqOwyto!GPi#>%}jXmU3UNl#DL&}vcB)B8Eh1~*&ywyo;&*mWxp!Q2I*32=y^ zd~Z~i|H&?MZp`Pj1Gy9~q{u=`^6ArOR1r)L)ApxNB|ZR!fv1t*`}Y{p znV`c^R+<~3I#e%0KtG{=RDaSJiL(!Mf z{>k<|a?yw&ubPZhuka45j8;5kd^R}eN|td^K2T083Xd9{i>r!LjrN8Ox-(s|7O&_~ z6D8;u@701ArEe~q)QSHJBBNzKnk(GobwEo28L~_;_wi|-`$tf&wqof-HGTuLPzY$p zTsz48|0AS2qmo`%Hw=4+gkm@83!jLY=c}$&hscU{H0?yDOyfyG517GR=v=WUT);If zJ!Efp7q#~5?z6SEwXmbL{(qO(2t_W2^!pBfc^lvitDokKKb|&mPTB1Kjs066sEndAc%{Tjf z7c2*nvYkas^AklS&X9`Uti!*OM0%r^Jv_n%5<&Rrwb0?rb2%{O(^GL#Q6tK>V9hYM zd|x7jI41iB-eZRp>dKG|4Kg(qSy*U|UD5j18x42GkE>EXxyh!n5Gk?a*o2ppS?U`4 zVIO}*OR~`~Llhy3R&td<932hs!L{o^O@AxIVf=#>(wQgVNVWNW(;PsLdXFq347m#; zL|F7cKb)iK=&sUnjyRZJIK0_^){Y|-??K((>D+!#)?w0t2Xy7idMmNs6OzSzE6=)| zD0qALB~)xGi$3iVf~s@Y=>Lz*w|to6Ru5&wi0Ges(sqG;-!;iU=K7QS_{hGmpK9`{ zr4SbOwX`H%b4sT4wLnqX{;CEpla-fe6qkmE5v-@x(!7g?VLw{cFRn>8D0&!@nHkl` zLl<(Q%{L6s3yD@%J0zZebv@tB@sLu9DugHzU`=7MM=l32oXTh1!CMn2K0V}6co?_Y5j1Zq7}B6KrKkz&>TNj zePgxIoUS*2G%)4BKjvw{*jQQ<R#owtO=Lgb*e?PoFL;%h>vTJLi^vn2rm#bqdZj>R&ZiQjv$ASU^ z6_R1w03cdx2T76spQCsNwGtNoR`o6T1s6eI-K&?Pjt)IQV*5*Y_c(rAJ5us^HFqqm z%mkce2Gq7Ov9Punpf;nqNX$uUyj8hmO;9Ld>H-A9u4Z?z)KPVv^5s8&D}sr9Gj{IT zN<)=^baQU?JQmrngGym?YRc^IuP=wk$J<@2y>a83F4?+Pc{XGDW3WqtO%X8q|PY;-+v+E%#hgGp+`b_W8u>zF4YcR!JHNGM}s zn}q(Lq0u`&1iq{j$y4jfx9jh#X0G;wk2s+{rg*)RKH3_0fJ3ZUKo93!CarI5Y?xn` z<>r2UV;DZde4j}7aE%ife~%V5dWREbED@k87S(B4vaI3lHzy$yqMnG!<%G`Z8m6l1 z*8d3y`!?exbbm1p6Y@X77N~#~H8fXVvWD^qQx<1%z3u#zpBU6sQ-m+ars6cxlT9yq z+4%yxlC4LfbVq_9VO9YH%{!U=_GCcav4?icxX1&D2owSizy|>e3JN;ZsUvQE(dKnv z(s+}6`3iZ6olOxr^Ig#ODNCld)jLVg?@uIos$Afp_iT%5-UOExryWH8^bvXJH(F9q z%K>7gOm3w1_V(dJ_Z(UoWuM^!Y-MF-pl*fHmp~m=ZP9OjbH2BHP!1Ur0RiZ@7r<&n zq@>|f<+@@0$Af8Xov#Jz4utSW zO9*3xK8c8UUuUrLk}XWRJVGi#1tUOR#B={um%ThDX^0s0lQ?XPgBPf`U6yr?jTV=O zE8r|pSlhV%^Q&~2r|pTN&tNKx_uVx=#YCxU)QGiv3tfz=uGAZ|^`*$}_YqN1VTA;_ z&6%MAr6vplG|$K%`u97UP|xS_6u269T$f^T_h)J`*u}s=9d#jqSkD^ciEwf7QCBp% zc(@~{=5*<|qX4D6*H8SPQcz%G^UVSEP@xZhfpmxHbXQkbQ*QS_v*F@;{gRy*TR@>~ zf|Rs0YT{F2WN~~F@&`rwxm&>Rb~E!sMd&;l(sp?JF37{K|DI+%A01 z&P@=W7g^u#7561}^8%E#H);CwG;t+)iSAIIXhp}ZGRo4(#E^~5#;RycP~{rreW(@s z^8%BB?{$UoBnzKbPsRsZc6+-*oM&u5{`#}%==a!iFtp3guYT=QNfk`)_VRyQFsXUa zY!v^7uf5|>ir;?orf7z{=;BRt$BAFQ9438C8q8A?OH!SPkWxQFu)Bet-T`CrZo%v} znG(U5Zv*BSlG4&54GjyE#9GNPv#=;Egz*CX4FuC#v=V{2GxUvnFMr5_g)P$usE(;# za&XAJdxs@{J+wrWGakLNW_xcow1`}l)n4XMPrZ83w2jUUt6$`@Xs4wvxmq^G6z z&c%~rG$IepO#t>`bsitS9*W|-_4?&)9nsoW0rj|;7@nJ^PpsB@9c-3H7xCd)zfm|f zyPAgAa$b9|A|oSzOiAfhCmj}7*%2evv$-mfRspQ|_Q>;aS@K?f?QAg}n&R2W50qhR z3GCxpTJ!U`ZfYik)g2*(Qp9W_dqN>2qodYi=GMv%+$as;PD73)MaP|#l$2_2PTI}( z*1y%T#U@vjkdP2?WMrp)mXwr~!*2s^?TGe(n=WZ(Wju5O+F`>MQJqJ@I#F;;7XwYS zRILrfy5wC4I?QF6VpIo@LATb`fU+D>D~SfwXZ)73(G zDNYZ)OyM7U6u=^Hz9J$8D7JCdXXgeunh_9F@)T3JcfQ%nSF5%Kx+5udw!u8$6-=tAX@>Wu~>6 z@115@Qg7dOa%uNoXo9iOJlFaXz|*N}_ttkMpa8e+Ul!yJ-j3y+;czeB!r48EKR*cZ z0$zj@<~^?_MvRgovS$q}9Y;C`xKu*&O73rum|t?-VZ7!ON`J{G_6V(3Z#bagB$V89 z{SelEZ>!D9@6JKtbWf&WH<)j(@9N1WG6Dz3v47k}<)G?d(lY{+lCwiw#hL=|d<~~P zWMr90i4o_Ye(bT!8bkVj#(8)@=P;e<$EN?E@MOX6Uc0jUl?0AE#Kf9kKElKaS}sgs z+Z6?_A8(u<%$UOeX}DtttgJhwOEYBeobI(0CVdZ1I$+&$SP*TBsOyEoBaeG2EwW14 z84OpU`V}j!Rzb2Pe8*7AC~f+XC%|y&mKQq6H($}FX9aQaGR{|k^@#WBUm~Gb#D1CX z9RQBpRf_2ga@&;r-|!xH#oah*O;4Y`RufFMwtwoY60%!c)Rb_MM-` z)#Skugi@H}fv=x2Lh)`k!)A2xEdhh_d<3PruYzkoxC-RqQ41`a8&HrE>(K*u(j=`p z;Mo8Z*E9EQQOo+k!$WY@aYBcFbJq1=x&R3K647CGW4X_J@NVgy);EhQE^T5 z%vz_i67%GKV>|_(J2nx9vD|vZL@Vz9Q@_8d!zUF6Fq2RUd5#jNrfZDDu88;2SrtQ(==S#3Wp9@MmM$XeUWf7@ee&QI z1F$pKgDlwoqU-vA4y@f4zA?7hrEnZt{|ko{p;+bHsr^boAk_V{J4BVl?|gSim~}aoAH^M6fVeWv3%rUgm^0i#!N9ka^U&p5vBE(@e)UPkQ7%XaR&Vb?b|Ye2^E|6@X2#vN{IegD}*##ygiyxoyXY)I#RuF3g+Big>4ceM7;JtdmSu-4+0-o&p#UKxoWE+8SD2Y zr_UG}QEx>ui`TEr9TrC4eyyPdjNN4zOp6GRHk|Lo)CCCV7_ewK|3ZQ;#sXpzSb3i zb1O1~6`urI&}Qa*G(SKG-hy!gr&ys7vo^PNY!MEz=g^zTE2%FrxWMV?hiWgTFX}JM zp2DMLQ)9l77}W$5pMB;tmqs%q48>uUmc_+)qDYQeL=|j}!I70kHu)Owof+~?{T(T# zjEyYrJ`N`m5xH8}r%p5iJA9M&6|ZmIieBxhyeeLQgF2HcFUnd>rZQA6s&=OQUNAyu zc#sX%%`tZYVf!c%Ar2H{A!bFWI>>AQDVSIe>6p6(67dZktV4SR(}pa_Hx~Nervg%J zf+n?cK0Uhea6)1PgiudoXiP$X?We!}Q)6&Pkgmg7A}uaxASLMlq^p1hA%7u|g0vB^=)*l8 zpKtSnV`F3gPIKh~>zLvsIf)IdF`xXJp0*}oQu5>NN20^-{6hREShVBmOM(I!~DG>>!hLDZ{>F!P`>F&CF z{Koyg@Bdx@yY5`+< zXMWfu6={{WSdw9&Y_H?)XXnnl%anPyvadD`JCY9)gWqgLJjhMFcvpnGL>ILOI)jN2H`4 zfdhCH6D^@eV9QnjyXwZq1@b{&l$6yEkEg&LjE>ho1QeetK%CM&UsrT}tP9vY+W@m! zoJ^-G^9gh?aKph}_@S#n-QaZscu?lqg;`mF%kS~3eN}j%ev~#gHqqi8hPAHWiu7uR zWyLHh%|H^WQc>{jTNmi9)K|(?jSO5JKx!=f7DHa00-sS1HwEo{R2;R9H&N3Euocwy>+=5(FHmeFCVyd#?iZ9o!XW3ei%S8Fx;D~>)5bA3?Ns;-Uf*n z1@3M!HG$Kc9tPBLsoh|7yh6~}8=s%=cc1KV*P~kA!j`2~SoCzj&zmHF>+@{;p%kz& zf42Ssl~(I#-N04lbdh(D>}R3Sz1DD|_UqTXa)Z;;*1&C6@CJ=nIT#l2Tci?jDJv`V-PQi$q20#WBFd*9vDyd)zfJ@h0a z=ol!8J!^?)RE#PEQQRb0o(<%ezK14BM~3adh=OV<8|AL7w01-*Lr4saIV2&{yc+s8 zvH(Qw7Eu8&-YPlUaM_o)oqiIuiIdq>lor|PWBtUz)oUgv+UYWc7t~E02ta|nD)h5u z*d8<;bPE^f;Xc9%&%`VRVvRDgUy*Vc*c%38&|iSALM2EsUMNm`ytwO45g@Q$M0#+` zeSox8)yA>K?w-j6olQ5sJl<&UyvTo%Z99-5!B=wi+5&vzx1?*nPy16mYLAxLH z0ha7P4+Xwxq~N2#gg;08{a^|~gu(7>QD`Cj`|$Mt@nMORBIQYi8N4wTzZA5S$+;?r zza&ftk$A={Q4Gn`7k92Pl7E$(~W#wM?`eA0I=W<@Gf*G?dv+@gHa3T~<07 zO*$M1us8CJPX5Z>DsGH2*-E}W_iLAQKX11>Ho9Eq(`4uyNG7`U91D{CBJvML!E&@>9jG=X~D zOC23{ZEbCK#*>3(MP14*;cE0L9ViIm?8--;PeLsQXuA6P5_)@|)wpiFoP3^1K5dKJ z!KL?RilU7+_>sdroo=jCz^6x2e%E1}RYsXbQg)fUl#Semjd~y(FJ7}YGt0Se10oLR zr54m#N}qAy-jcSrZO7I@IX=3Sahh+tl%PYsK;xUI5a`y6079spLG|<$#?|L#v&cZj z>*$LO0dzf~jcupi$oqe0M;3959s-Q!JJg55ctfZAOOFcze6P<-do!gBX~aG7D>%5h z6M@VBb_r(W0TUBbM1WxbvUh;Ii>0L!HDF_?Wk~tQh>~_djOx8kzU#1}qoD=u-~%VB zIkCC5Wj0f3S1B~^L>J`5v-#u44`|;;US(EMkqR}qj}$lWZjQsVxR@1e)7=%C1`wRY zL3w>MER%3dU0wa>$;?>h64B*&W*ZA?Vt9Di6!0V4X~Zx(fr0M?D-8PC6H_Z7iVOvbUkWhKG}b{H z&HUua6MkV~^4TQNu{j`_43#HY7ZVkYQ>pmj6rJ715W-;Va`~;w^!F9;S1fQY!qo=R zW94VPleIfhewhj#52y_Hx2FVJJ%s&C^fdk7J_iWy{CDLkcQY)N&8=;18@(dZiNq8t z0;=|6Zv};~2N-L7a7m59Kjz46*xpF!HNF5r>P9&v>hB#MjUi@#=Wv zRqNzVmFN6i=EjGk^P}|vLRwm$Ccm2&C&yi|07wzHwvs3mZ4qJPsfmfCHQs03#TS)F z_|SfGxwDzHOutg+8R8@3w|{oH8Z1T)=I-v^9fXSgG5O-=s!AQUc?o(~P!IaxcbwS# z+|6HHS2_upLO^cEh&c&{)&m@J@N#3LBxgqF=x<5HZEOeh!Pv22#pI%*qCmQm{Cwz- z(wJbyjK03Ue3QLzl_K9WNevr}&mZZ!%|?02iKUyo)h;y-1!aTVgL4lMfxNgGKdreu zB87Twb%1Rje3S4hPqodRT%t0Mdbbo@89OE>=6NicaC@vwdi=4S#pA0*O601Awd>=s zgpu52GJz1JM5M$}B=-;`(n65t@tBcM*ajh8Ju3~%irMCBC82Sk6?1>qaC``wQ%Xpr zNY+DNDunE3!=8OFigu&2rGznh zSFmw#j0h>7fE%KTqoUha9lG^m$2H1ox&cJA``F_6WA;rdy3{up*jlDN6Gggtm#L2& zGSWodx=C65n|e)rxX+zJMBdUOP1*-M%YGxKH`Cz#$iTU*ZI}hkzNznGgMgzz#V0)S zpZg*L<-w1nCY8kF+ZF7e3=5|Wb1{V(`_WUNF3PjiE0G*I(fxhdrWHF_e=S3Qr3E_BWs~C<`_(Ha03J+C6WAC zNtP}yxf<>Ds9bmiD+a)1A~7g&bJGQ3vU|ADTj0@*EG*Du*?zxg2h%R3upi4EbUM@K&U(kgE1&j-F<736*QMhbv2KvDjXivh=2nGUFH zApHB*zfa)&zo~m#86U)k6@JFA724-|EQAKbheV0 z50y6o97!Rg78H0L!2}dp6CXZs13jG|wxNE)KOC22OVYM|(_x#cQOsq&x#i_Ve_v)C z0aIQa*vwBM*>3Zv0M(f)?pdaiCOqW6H(%t{l}_mjT&^96!|Vl5Kngp(MtA|t>F9i^ z`;Lw`P!{39qZH}|VhFM#udgh%;TFNXH`(Y_?z2*mOz60{l)urF$*f-1YxJoB>`(#Q zD!Un>89>)AGH93v5+W^^AV>m26io<6fNfn=;kym{AswjEw(jNcR;MIvDq+Ggti}7fSwcb6JT5QdLR@_5vLU!5)UN+Fs z*0zF&Lcac}LL<&Cv%LFA1&Yxcg<3{-c6Ki|KD<_jxb>=5Q{KPtsyz2WL4_HZ`robf z_4Ts=3AfBV0wPWDj<6V@Qa)`SJu9;sVgBLb-vm~*_YOmeNtG47EK#^wPojK}0j=*H zVB$JoI0AW*`^dvs+aO+hAN0rmP!dYMru7}q&(3~~R8aO#<24{GTZ0IT-lRRMRKL!> zW~>ur^IPt*)1nuYe8wRX9{Y4UJRc{2sQ7+#RZptq1U)xvV8p9{_Q>QH`N)sr4JO!^ zt<-raI$bvaQ(}K&339w8Nmu1PP_e#`kr3B#V}4FEElEDK&@5&#EIyD}EQOSs6CSGZ z3`n-z*Q3qYZu`+QFn~9`5ffgSL#(CW)7I8T_;3uj9@g%kd)LK?(n!U=XLVRi%e2u^ z4op=A2wuE>U2oDPeW!^5JY>k`k+xcz*c(;P_8I@dJy7+`Rl7H`BAx{^*VEwCuN}3Y ztu~4P;X8X(9?|6OKA!h_F`)!L+Mp~70XC&Cnz9&nW^;?I5eGJ<7*Be1gog1JQD@LO z%Cv5nmNr{{=pOybI*K`8|F-#gdENG^k0Ye4%l7nrPYTb6D5L_|eJoo}sFMET#RWxR z4wa0#k-7QX4+^V-mn=>Qsi~>Uswamh9UUEqFITRv#8@OQrQV8~IwmVpt18rw7d?|G zBhj0GAQ0mE)-&*FdhNgy3Ia({(O;&+@j9PvT0l{$w4p&?&(N?Vlf$2ysO#+PjazE? z(t~L`8f|OT%7Oj5GJiVRs;VlC=bZi*J@O-LfelSfECQ2Vlb~e$UhpfCQC6=xK5*GRu`V7a2DZ^AA13|AIw_v(gde7uT zS*wrxO~c71v=ADG5ATOEdWM>OjEv~nS-_d|;z_j1@;m)8{3y%5hKo{+TrhO|w>ppp zEfkp>oYwmJ`E?f~qobogAXC!gEm>f65{U~$vSEc<1v2$eczAiq%Eh;09Y>ob4TIDkLQIo2N}hSI>N}*W{BZw7fi+(|P}E30u-uFjbjP4$kr27Y7pG zI#pFw;Tk7d?4xW^2}z59j^jA19KEbD>(a(^-=hh>Z~K{TGtVR+$`Vf^LaVA2vkSHb zJpKGs+hcrrI!$h!FOaa0oz~eE;uOomk9ic$Un0%8h}^H-Rs=Q01m`cR{co@yIYqyR zG2A@#s)-M$tgTK-K)ZmUCURpxL=v7SOiD@;IkF^oEWFW=nNNMo7L9>MNoNTe4C|x{ zFPOmn+?3=(hm1O|2H^BxXIP<+L;QaC z^z^*C6N`#~F%*H7tarmE@BZcuSr%nAj4&@R&$QQycz-3K&@=7oJPlycn|g-4_xAQi z0(giBzOIrX@ZA==uP13QPWTNO(XOJezM+8) z`UNIRsEM`mV@4dEUk!qbD#QjApI7>N52d0@=<$Lass{0-Rpi>gcbUWkK@c6aRrUdT zWfHU7)LO2Ahg@L#cS}jaBxDL!_^MYomPZReWak~~P-Beni*6-}p~WhMFAxR>V+Kg! z{ic6jF_;AZF#&~PVPXG1VTEE9X2Bx<^R55(*}c%BA}#`gcqi#Vbuiw_ue>-vd87C+ zQ8mEyXaPif9X@;<91IK$|9;b#KN}Lf_1BZD*ajEuZ(p!~LP^Y~WH`T6d`PfT6jMUq zmW@;6SHfsz4UeL0zz+IS$I2LrQ~!;wHecyL+FIs?9D4U)89z_Ny}>{RR(T9uf{n;G z&C}H>JC|rexBh~ALGL64Ku6s{GB3rVBt?P%9*ZL>2byL5iN*ipDX|t72%i(-{gMCi zX%_4y$U~w20-yk&AYjpdj=F_@E2s4D>271CpZeciu96kfo)gi-gMUs`kS<-JV{C&8 zhFRYy!8I30$3eo%`lhCZBzW_s2ek3bK!j9gIm7_3oq!PH)!EWd^sesimI?<^QBhOS zs36!fX!KzNvQf~?=}Ox>0+Wm5jSrjv)jU&{sWaD^wceuoZdIl$sZyWIg4-77&Wxsl z{P^_pc0*)%C|0Ur0fzn0^^7w@<6c9|+#nEGw@nzxE!82Q#sO*l0q)&1OMsUK0yZo| zonuN^iwl7?{uQ9va^vJl{!RRHPvFvz4H}{bVFQWFB&#BXi(uXV`aBD38-!ph<6L`9 zGeA2_+0U;LKvKFvpaI-Am-z*NxAmPSfua*|-tR%IB*L=@Lgpk8Pj-WN;$xR z0`Gl5+o`-hKVJ#n$F4F;1T~vCmUkIiAVx6*Z3N~-kSqVH4_NINZ58r7G@Yt)$o!g@ z*8{@ZRRH}UI5PraA@f^M8|ngu+EtJ`mjQ*35&QXiPv_lPk;1L+$i7gM>GTqyf$-Gb zUFdX9O-~O@p%0(kuV24R0W`17xDD%xs%j!YpJqj~JomEoGKhN~CHbr8UZtV7_P45$ zSj;-Tt&ZaLDJjJmy~B+v!`1UwCT?wH9x`Ax^|TO52i{y9S~mJ^iW$Tc)Tm%sw$0toSB)uyFUMQwlD0G-)R zps2Ugh4GRo0u(ajb#!#n2$77+%3ka0+N^AVNTpxYmXVoR0rYEB=73b!P>BWYwwGn( zMQv>@)LpY!FCLV}SUq3lsP~bbW&^0r2=gr{0(OJ%vhxZ1IjUdp@q(0F@Ap*Yz~pGX z^!o$(j`^q0m6bn$V3K`j)TD)b;_6^cxhFnbW%Op#?)V&uhZWp;Z7n2LD5!GM4R;n4 z1><~20%|jqrMvKUJ}N1rBK}XHdqP1G9UB|V%7MQOz#UViCW=~fAh=xxx5*i(h=|)@ zUzEC$Z-m69#Mgkzx=79*2)UV0i;IiZu7FC6Oia3)`^qr4|LygK<5hs2hl1%&eM$ZA z;muyMQ{+EwH#?yW>_wiy?o)Yt{usw<$fnOxPw zyJww8OLTkn0!3qB2t;%H`N8_=hUQ;3G##=#{#jTp77)h1W#jKyoL|jBUUdl8#$Z`) zF0**1^}O8R)D#wjL5{)$TB4&f8yz8;ejjg+G8sF?8k5aT zO*=sz`NJ<^c|fzU_}^t7bVH*x%U%`2)qyc#cuY&NsI8*6NRJjMTkes3vRaBl=;O8rHG^e-SkL64ekagA#8&mrqJmSrW z#|)pnZdyqaIrCX}+A~6Gnk57ECh-0Itbf&`;7^GE)T`h=QVjxnQvdC9>HipQFcK(I z$^O1miN$ARTyTLqJefeI5b`Gm3-z9l!{QH~fOn93K7-546+KkE0oyf%oF=w|apBFs z$I3$#6%;V|9^TyCz}+tVlzb7eZrU>dV{$t1K!fn#M6a2X(MVW7R#%s}PpQi%Ed0Pz zHWvp}MZN-;OaX=)7KozZrx@J>S{T;WpNxJ;22E^@If~A)@>D%loyO;9`n|Q4{m-%S zD5t)p?fw&y}MQXw}rSTfB19YcfE}8$tC= z$CQxZk%K5+d8z4LCxsQSU|cM2?Cj+Hb7n9Kxz`T-_>r>JLE04IAivQf{8}zb!LR`R!6!Q9;MXw$X6; z#?`e`^qEKh;=uq(OFbb4T}$@?Dw6OufCfS#;|GB!9^#_h2ECy(bK%oEEW2|Bvfkcg8R8q{tF+a6=};|e zNBSeuS{=JaN%~iYh9#JTz~BLji8eshjpR9jqITED^b^ne9e|$L;oOZN;Xtvg-`%y> zuZxJl;?$|Y0FteUTV{2iKO+FEsAz1=U~FO%4_aX-5owv9*NC^>#Xzkp3iyBPtF(*^ z$=s&V0RX3}bKiMMoo8G`e6+bfoRDz!{Z@o^-2Tu5Q1Sj*a5xX3hcVBnFE0ES4_6ls z&P$mKEv=oKmmFjLBxS6u1ntRm;*%2Yd7Bf?`unl?%H|dqs}j+D=z8G1Tw)07DA(vr ze-B;IW;_f*SzD|f)Le`J`1IC&b#+y%)|Kt4vT}|J%*zOL8dyQuy8F%UY`j48_q2O$ zX}9j6qw;pjcDx$^q?MGEq@O$qFV>Iips0TS`{?^s{@L?V_YZG71^yi^1N1PYvYyce zXKKn*NwqO5_0ir>)9-SAeiT4FoV7~Waqkijn$w=W+!MPbe1}Pu8+CVe(zPCvUsObb zINS|Dwt&j^sd{&^^l{QrLdO%mP zvevWuGDqn-lOn!91W28SH2_n9Ushi3CPI)C7KY&u_gen_8?F(;e@3lWo76MP|8^xJ zGEy)epx{3Ez`Q6PbAOB?%dQC>|nh3qrLfR3(4b^RL~ z=ptHpr^8xh@l%O~xS3|46@-PYB+0m}8@3NV2c_r8s}Z1hKiW?Yu__uK7@N_uGLlXf z@5g&5olD)RC_6vMVK;-Ng=m9Bn*RWD6nAzVel}pR%X}a@AGzz!Qro5BYC&mOl6v4H z+PihfMC-nvT7OTf%fTPDFhCFy`!zAtQ(^6?`2^X4M+N1at5|K1j87E0lM8>h%^*i) zn=A}ViwG($kCEgM6 zzRt))pa}jc0F@nUQk;>M`zh1%B#=*J&+bfhmSM$$jf4{=`^Q{Q~^%eeK zCkLNhb=gzLf%Xj@&X(aR1PP#wWkD&Btsu2F` zXkilI&Il>~(MX4n`rp$LLC;wJr+2|=|2+nNQ^A)oLr^(^ggbbZSZaX|{)!i)^>m@O zT23Y^4);=+^{>z1M+!;7wbcKbpMTFH@PB;oM-mv>B?h?Be?~u!53TudL571sO!Pm@ zI|{hh2-5%UTK~VZAq~Gt!tOhdzJ3>rSw2@Os$>?*eAb<%+NJdDkyB6NV{%n|+U<=& zbi0^ls_hqermR=X+g;DdOj@U*HQMZ5{DQ6#7kN@R#r|r}6aE~BpT12ruKN9@4|?YMvdCI|(XI4~bLh+8}Ui|}VCoR8u1 zz(|P!W^gflX&65P1Y8H0I;2E;u(l8om0|pF$$UBpMF}nZui=Mgd@S%Gd z28l(l%k)14H8tdDHaY(O!Q-vsQ(7uU{^pBDe)m z))CRs>K-1|FJHbit(u|r)_e1&3NVbucduw;oP?>KDk(uLA8i7V8tD2QUfzM56UGGQ zz1;-yYHC$}io2`ghmrciYga2DpV?_CVL(tRj^g;?rtpm{X~q9EX8wG)GOemtF!rIS zs5P3IqT;(62|>Xez*+@TupXR{JFzYA`r9?Ue=Y-iGPa+q+x=CY^3sdJ z`*}7xw0cbi$MfD^SwltZ&*z7_tUGGg-9*!;8-445l0+_ux&3ubT8l0ox&RUOh^VO7 zMn+4Ylx%HmUMVSsS=-q3!2>za&tPL`e+uyOAbZwv=~WnCU0bsTeaW?204*VZ9yU=Y zbhH4#^&mhxx=fWqz%PX_3y(ES+nai%LygtcbsNzq#KIf{w*^LNUJCGiFW zl&`%lCQJtOLCxj&Z_A5|ixej`kfQ;Lxi3gf@ zg(fdwy&4-HHg5QWPfUEQmTYf2H#ivQWY_*Cbq4hAc!RtfY?d)O{~3rVgu35K9rRrm zpSzUZuupY={XA?&V({s`ON&lk`+SI`-m%OH}N+?Pc$zg%wk??}Al+j6aBYj2jY455T1#4m!IuBo}nHX}q_heR{cB^^&@u`PtfeLQzv`r(dj5)aY)s!QQ`_M9ML zDy;j2t7?Z%4zSp$Sk*pITh2_H=c0x^GG^Zre42Z*Om@ z2kZdCT~tg=S!xIw(CIiJ(GrG%5?*E!UTaNlOB;`dT-I$~)5yKf-P|Q!(y8ASKM;yZ z_e~qBD%cWq@OpY7=wpwbKV}`hjE#*AGSB1=0VG*t>P0Ta{vhW4;(hx?FYfy zj0B}DJ!-qlUi*bdU^KcI&TW+*va&yP<~C-XNrW6OyCoWOGJhk=6#_@zo`GuXbzm*Q zTvE~se%wK?w(h?EL?barF?zpmY|Lgy{-{u7n1sin+ibES=M4&aK-iy2EDx|db#-H` zb?}Sn-ZZBYz2WE9B+K@`)IZkKiWCqybJ?@mV0nb_*H=hlP5wBe{dL}ZB+P%oX91g`O*gXd_r8$2j~{q72I z!AQW90Jn_*cO_u@;lI1`=PC9d7YlbhU?&6szbg%^U0BQa+-)kc}1!>a}r2u-!>-UN8@#XCpZZf6QfP5d+#*O928c z5nDr3(P12!h0nR4<7Tjm)AJQEwp}RA)m0cJ@f?0WzccTMbrK@y*zV-hjyJ1dDEUe< z@$%EbQon`|>G<33&57C%#=hb3uXkmD;^N}6Pnk{Wy@?!s|JujNf>A?HujTv>yS`zL zByhDiL7}(T94HF*oAR?sS=M?U9rRVmW%AR)PLGF3b;u5eJ36f-w8NaanmM_cgO z!qoGxPee!aEMV3T-IYuXBqN%xv0|_Ng1&!YNF;F;i@!px{HZ|UHV{GLU&^>vN?jVO z`@+l$HR(_XriEEC^_jEl!mc{qsN-2=&NO)j_J*X?rnps2=YKF zz=D|o=m;qIzb(rUu((G^NSM6m?vb?&ddaFRUMEO1^GlYC0wpuqwqdF$+!D5kNuSVo ziye7Ju(&VGU|n_Ywjx7O0YyTIV|}1rGC2i}7j=^b;#P}YB^$1{@1RBzfA5QVos}&& zxX5~8Rl98)l;bDw+HdmKuN}N9Z4e(W!qU{3#`=fWasa*>M+J{%CPRT_BXIa+48t)R4KeRlNPd0SPiI@2RgA zqWx~p{gckSYje(hMKdMV41>l9QpGgvi6|oF7T*e<7)OR@M(^T;_VholtZzBJz30pH z@Zm=yJDfVoH&=x4eOs6-Lz=v`c%}&1V-ma9hOqQ#yORf<`+-b2ZS62l@HYZI)%L0V zC2lbdU-aH{i8w>Oyt)wzK!hzeY$|>N!dWqmV!dy!qR41CFfjB4j!!SL6_!9lWmaK? z{(yZDkd8K5nN`y|V?sB)mJ%}IHZ8~|a5eVhYwldVR^9b^*{1J)`}6D3GZa-XG_>C? zax^Eqd60U|ZHFS_BJ=XP(;?xZw`iH0){upoU@|@b&7Ur4sg?Yq&v0tP)$w~Ao!3*m!^L^NT)6*0x@^*&|SihSnbUK+Cd*kq9%ax07Om+xUgGmJ+yx`d;{ zvLsRl>Sl0US3-7v#!uRHtF!F(x^yypeAv-DBLnF!Vke@#%TE^OH}(^ltVJmmz1Oqc zm2i%%D?tyk{=3G(>8bg8i;o0!Wy{)~dzN_y~IcZtw z>KUJOiMVYNuLhSJd~){6f|W_~3kXoG;jl3cSy4X4TK!aBMCDK;VPTunF=a&aVaU=n zS)gjxAbo7-Ydwwdz4Ci?I}h852w43b_@4S-iF6CuD_kV$LN0723jHUM+@1h-5$Efy zR*iZA+HY5G`m=*igpt3Cb^-u{Cre8CNHJCD>T5D*XG)cNZ_jH=(49m9-R-sQ;!V|E zH{fPDDL)cjI31Z}qu6p@hAjml zgnza&jz`h`%=CJ&@Q@x8mk=ei?9?r@Yb~VD)*^`wnfkP<>qCl&g}M8hYt?#+%e;#Q z3I=Dem}NMC%knG7jw2Td?e;h&3THxFc_>~|c=7vugyznv#7Al5S?mISP~$O(J%I=b z$=tN-2!ob^7of!J7to{0*LdfsI|Jb(r^{?*KUwu_#AL-5r7S zqLcsS^SO=O3t4H;_<;bP){ldT=CX9VCyg#>)U>6r%k;JGGpWh8!@TYJ@`RXUu`Vjl zzW7NIm%faQ^*-F0g##6Gi~WlT#>p2x9rRyXwaf2?(8tlnt$X{^Ji}1es&Qt@WRcY5 z=Fwq^Fn}DbsaJj785?+KHzm}wwAfYQ=AO!Plfd;;=wJLzk z(w-E=Ll(MwxI1&Y>XZRu+3|}Yf;TNAwv#r?*g)u9HVhJY;&$bpxlvhWn!==N+IC{u z!d#dFNfmqaffh9?`t!Zd^AO74iFw>IUo82)HadESJqAfLmv-5MZSP@Ry(m~&FNcNe zDrn0MVnssmWnsQ_fh&q^P*tsX8aW|d<`87M+=@cR!jJm>w-`hdN!0a<5*z&#jy|JE zTgtS(vmC+I!$)MgUPcKyANEqci~K09+z7>Hz1hnRa{$@0jY=%Z&dQJXTJ;x(JMn^( z4|kmYt&r^_A))t%ym&RM^wDlK4}l)gbDNr~^k>Wz&s)7dsuDNA%-4?&hupUlxwJAX zKc%l}H89$BcsY1VG3i$II3KPRQkSJG+B&tF^&`ff5bBkX`NpwRP{;iQy%zEoP+c1nJ!XAjaDfP=hyYj~mC+=a| zP#DrnS!BYZE?Xi4n4nrytu_|E++jeoUdSDRWWcexu6}qEj-=$Z;H$S;Y383jgY~;R zw@w~uObyl`F1wYR3Ct`iTP$R5QF10c4Ru7z{2&}e&2;B#c3OfBJ`hu=TF|H{^E-9uhuL)D!26jg3yht|<2 zdCLunvfZjU_vLuqxrlOux{c=jiK)fn60J+RbYHJEp0dW>sP9 zil)L$cW)Xy^V){;6j!?kv3yQn0VA-gG3zKsU2x%a<>agKYxl8`$py}gzpd2F3t3;auy^Nvy9OKm)J3r2F=cW@E|V8M z9CH^kDAYX-!$C^3%+8x34~;F=zv4U=>&p@Fr3m+(?{B)zy}8&Rt-I9b{u)0~{(0D| zNi5>4{1V4X2X&g|GYs2iyuM<_M@7yz)VdYB4&J3q=}Q@X4)yU%l{><&!M+);Vbt+} zfhq@u4I8UR3?>*v!9=Ghv57rUse6=Mb*!xpOuacVZ5Ktj@8M`Iphu5i^~!=@n)sxj zua7+MwO5boemM6v{i2jo#>AgsQO-mL66rTAezheic0OY0zJKnv)#Mmm@iOq78577f zp_ohmBA)M&h zPX)iOq?6z2tX_dk%%ORT1ULtO1V=DPwb=a^J1m|WVFsKlL9#;wAAihBV-|vM!NX(L zAo?{$_^xS2iZuPm5LK20le{08FcO8!@*dWX@+%cCof2;dNui?-e7y3MU^kr~uFbG2 z7b^|9*bwCoz$R!`Q~jvfrTH2hx4y3H@}TnA@$jj3)N9q=;D`Wv<6q5L+pLd8RB+P6 zG=&4XI7^L9AC$;qyhv+JWcTyLP1HJARC9O!L@r8D0=7aBlJ4Q199$`fzID01tKctr z3E9@C22+WD$w!1uc5V z{ZXipZB;NJLH?s?L2t}h67iP?3Vvz4X4{|h{+ Kl`EEo1pO~kueh23 literal 0 HcmV?d00001 diff --git a/doc/fi/fi_configdialog_schemes_bright.png b/doc/fi/fi_configdialog_schemes_bright.png new file mode 100644 index 0000000000000000000000000000000000000000..461f8cb4d62bd1a6c4f8d94fec8e2b6476e82ce5 GIT binary patch literal 29729 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 literal 0 HcmV?d00001 diff --git a/doc/fi/fi_configdialog_schemes_screen.png b/doc/fi/fi_configdialog_schemes_screen.png new file mode 100644 index 0000000000000000000000000000000000000000..806520d097a34d2d29764fb5c2e57a592a9b7c32 GIT binary patch literal 37406 zcmagGbzD=?|37XL1}P{Cqr0SQgw*H`Y3T-O1`HHXK#>jQ9)Mg#*JI>8#iuF;o$(E za2(t!27ckcRxt1Yek=U_E8piR0ldJmP=?6fxVrxHsjV>n#*NqxMcEfRzB49I)DF1z+nhDeK;$B_SEzpw9kI-Ag`EFNtrku+Y_ zyD%Q}?{8AguiwyyPIb}6Gz+(%t-QE?Moa5er61>JNxG`@HPfI&&o8&IJQgyb$wG@GM{b2*i_cI}y^10*+85qfs^rti z0Mv=uW8|l+Gf7s@?685Ozn$X^k*Dq-zGDk%ejy=3+i}$#7?l^-LvH4qPv?7%OY+P^ zr&VY-d3@`*H{*vX@9E^bYU@+O>50nHM?+|H5Apx>;@6J~zWm9l%nh7V)PK4WX9&V| zQu$F8L53bg+oG2d`lzYl28LQ?M|`{E)<1fII)S4((S*Kpw*RLMLR-a3x0as|F@5-_ z7n4Vp42j@+%0^Z)2oso-j<9$92Z%&#RHhz=)CP8(*Pn()U2f$(FmY3DH*izLdGN&61I9<=yg*h`SFRqv zuPl=w{5~@(Hn}A#@v*4dn2Jw`@+s^ny`%N)R3*{O5Saiv-08SF(%QJHDFj~y(Nn4U z=x|G%(bp2XCLy4GzNS`9DN0QLQS6F?yH(6I?Zk+^GN{Vb$R*PH^s8ku zN@-5jUhL3SKw_;jmkllvAHaEfvEwgodgk=*sRRjB*Me&?CWSp>#(6cUFztAM$e-bG z%(}_zEP76@nLdoZLIGao&j~#Z>p@(0RykZo)J&pColmpL-}g36-O*ie+;6bj8B~B; z{$9k4sJC1Vuq&d;{CM>w{&<&rQf*jzVBrUZQ~fJcAXgPjZ&==w!JT z>+fLKrrd{>v+pHJ(zlZcePlO|N)c9;SKH41km0*cMG;3QqYb?}J2g^RzfHZ<84aef zI@2L;?@X6d$|JWt=RgR(DrS*)@rCm&8_yugd9r@fH*e zvV@jgJxFg=HHi!R+%!RVEDl-mSgxB7df&y2JB2qg zOe}BVNkGHy46IF+w5mgUC%esA=6BgBLKPP^zJTPgb{KZk`rs$eY`EnIIk{a|KEI^Z zaA9YU-N;@J`eV^tA2B4vxyS<)@Dl=6iAx!Y^x8$P`mWvy_ud|rKpVG&Y*TWGb$wRl z+KJgDocI~0k(2CM5LPkg@)W}K@xs97yvfMML341`Ll#3YhT30ww!FV!uy04srs}^J zFUZ;QcRGiuXT-nXi%x>K8|2VALew&olgxY#lPI3=d zofBHM@`N#%NX;=~e}R0Mk0C`{pr%5 zG!J^^RqcH?FA)W-dF@yTtf_l`)o!HJ`UBVERXKK`*k*?Fo1xVf#Mxx%(Z!Bu#JA^I z}cWqa2I;}T`2}VREiqn{OoW!0b637=y{C{%5^-urEaHMC4@3o$q3+cE+jfO z{^Sl|47vrNU6(U6l91U2vM0r9N06ZzI%Iul=?;t!7S=jpo9G|`Nj1g3D%ni;-CZWz zIK8-MaD1Yeene0#N$syn`h(@PFj$X}XL7Vvm4CbidqEdUxO$Q3yJ{Z!MK0c1GJqKKh<3 zha(oyq8gd-gWY^n#J#-s(nn<6-~h?_VIu8fm!SPw)8=qc!3T}D3OXY(C#5JZ?c(}E z)%51olrGa~?d7l*KX_JjV()qoe^Z7<-S*Wk-R1I{fII(k@Md8|`b%%h@R$OV9%R?u z78IuLj$)&mw&L%qpo6qe5!vM%W>Hm{glUXp zTxE1SNu9dqa%NW2f7WI6gmBvHSDxV|;z%~NgG)-zKmGVp`@Hs<~JNUo$Xk!k?pTL;gYR5nD7O&scPqi!q8^OGZm z&YTiIB;@STbko*{|Fod+NAvAgwq4XT?ATkMFDf~*6H-7j5(WZG0XYxf_wToxcg ztxd7(KENDZ@>ld9X6deKOKu)goD`f5Xd68|`EZRJdP--+lFu%m+C9!?5HTbGK*P{> zu2(f(M^q8DqZ_}rS$%!B5@?oS)-rx~NSwLN)RoqGODJYY@=`W1n-5a&y2yx207}*< zhcA8}wyYlSf!GXPnzU2$OD_Z*kQSSqJ%pa`-}64G#d-IZrIxZ$?qlwoO1ptkyAR!- zvX7k0!)#Q0^9|+sER0SK)|?&vIdNPP3SfF{w4Ejs1N^CPhd&w2`We7l-;p!E`(4z7 ze{uHxcaoWlR^^`kjO{zb{n4}|lY_m$vIY?<qChC|K6fw|2Cxo`rC87|NCvP zI5*tX)ReAHyf>%|E_qq>b?qy+@OAsubzte2G+YUdSJBUeTv%9Qu6xvXjKMR1+qh2G zd2dj(Z0mfl<4P|ZckBK2HzYtT3_*qJ*=p{>Mhz}#pA6tbbgb1!@IpH*9rgNe11xZc zQS?Yp4+I7ha$R5$$tcyYWP6J``FCtHn2Cugj&d-OU7rOGd>?SQBTBR5EDdGMW!A0& zWe6o&ZpS=%@`MEh0%0&n?!vUmMmI}V(tMt1t(<4`u zOeegepK<(#cJ=g#p}HbSF~2(rk;^|KwNrW1-0X)xy&Xkw z6H`%@bFutv4wQGreN1O_EXIDk^D|#L0RjxpE+<@=HR#V$7_Z-<9rDn%<3i8xXfshd z2`nz2uUBrUm9Ip`s+kk2lJfl9XRskMsqN_77xPY3s%@6$!RB~rAp`#C#l?kgZKXRJ zq4in%E`?-ZYg+V@ag)1Zsb0C3bB`$nu;RJ$l@jB;wkGoZ)9n*`wk9i;jg2#8Xrg1F zvZ6eJ+fzIO(d*WBc11JPw$Qxf?fT3p4t2kS4rWdRAPonihF`4iI84)2}1Dd-CG+E_{)Mh$;jSjw;7~hfV=CfSvf4#pf_jipW=-=ZKP!@GnK;R(Wpv&_|2Sm;8!Og^qzO8+g%MIG%{6(j$No(2F@Wd#xs7i%*kc`4dl zZNAFk{4F_X&1dr29T+sSlt~IN*bQ`t$#tQXgo2{Dn>Mv^q`M3(YA8uVBX#t4%ysHT zykL&Y6Zu-Zu_Dc+mWGiN!jZgRzh1Fwe0q}>y-pfRND|@3zdyrv8%vUtdUUuky0Ktm zh$gPKB;O`PxVRen`ZmtE2Iye}R5}}vn*BzbG!sk=%y2CV%%^fUU;J1g-s3&rq*s9s%pCq7P0%0f#^dEqpv$%;D#D`MB1_*JCG+Mwojk#4L6$Mt_}9&{@d zk|31b9X58s2`3Ki8>xkz9p@9xS6TMV7!wF3zKpESJ)%`;W-&^>KmYVF@(oaoO-=4d z4f0xuh2T6?@*;la7zBJAwIIazX^-prCWOx-=s`p-IDx_x^zijF{I?7ukLLnpuIuXe zUiv-~Xjf)4kpe_G&ewJ;u79mRmG5uyN`S;QVHz!a2#%n?)J*Ug`kFp$5^>3P9H$*i{q!8!v%_!`@gz6n_TRHTq5St4uD76Y0biI$eGJ49dVDh*_wOg1Kj~ur_9>J|=x*hR*O6EEzqbhb z|9fZqe>OVcEk@z;{vS$ppc;48t%+-c@c(lHaK3RYWa2K+ejLvlu)8i1h5%dFl1Lmz z;XjQ41^KHO*{Qqx@^=2tf4&Z5M+|wCMP#&o%YHA6#~q~rw90_|1itLS6h&H=c(SX- z4eccxEh#f{y{b1pyf7Ku%b?>43{sHRdBZRt^_b~I;g8yqzr|kIx324-ghW=cdkknz z(jKv%$=>oWawI{14H=TF?6}?)kB8oM^yVmrblKVjiM05n&Z#sGx<3Eg`94v_(YS?8 zIcUE;CMDpsk%8(|+lARU>ALcJde&|)v>5@FhF<3VgV;*k!=#V#5{VvRFnhhf7tytI zHxBdU8Ixk+gmOSY#+|!&`^ zM;4Zrj9grU(g6Xj#%+GOZ{1|;ZX$B1@dB?dd_a$Y^@S3C>*)_|g?SgwJ@C~+`8g_n zSY+L=3PMOO#iKFNvF#h?y*5ne=Y>c)m@ zYND%}LdAAVDW(y2<}KoPSkwya7`)bqN2lmyGb;?LkJo$qr9rh-M1Q)FI#6K>3(P?U z^f|Dt3C>h8A1=c1{~4_X(Hd=+Kay+-L%dYx9lShDz|soQGD44l5atTy;YjZ3#F{X?*YO z9QQ<>e811F@bRfYo>gC*gXAH~F01^!?1T#KJl9xdSOCDBO%FvlI7S(3=_e zs}#AyO_z*~kX0p5y^3NWY*D9skBZwP*Nxr#eun(=YY4rLe%%xw(BoNi1oY0*pul0g zq&o1zPXG+;iRlF%2;S=X&opsJX_n^#t#7uQ-aPYw`9lS5SQs! zF3ewM&xoQCiSYm!&1WO6FH}xC64pu=bVhxBd)r|OfXpAr*pn;_jI2LKM8pCZtf;^^ z57>Z_01g{_-gVd;OYiXH0-rkI_X}kG_CQT?_EEcxh1c63Yd1fuDk&+|faT@om9{3z z(N~vyR|y%vaK-(PophP^+D@`K3~Lo|0Azt8lVWhQOscVQG~tS=6u)WM=2zGJ?f$DN zvOeW4?D3c6ze6nnYi6JQV%pZUwxF;J%(c<4 zxx*Rk2*cXRD&~iWA>>y{W=ZGgpZcGgNHud*GPH$=DJF}%A`WBvs<+pr4Lm*D|Cml$ ziekd!aaOmqa6fx6!4-txIxVys0Qi&X;Zy!E93k=WEVV2!E1~#d%&3=BA3frBYA3!! zPc#*qpIxbnJhTP`k!E-({l1qGrN#}OL=u;yv=BlK8>7puK+sz;0F(oth3+$zsHaA(rfd??ix7SQ zl$+uU~^_g=aJfQD8CnM-@ISx5U!cEBm7?_fxhyS=>~vsqeM63%#s z47pT%vw8bju9fXzh9>cAg@;LdKl39uuZmr9PhUyKNaobOq_*ZVsxM=EOy?9{ozqd+ zRy~#O!cA>?x?S#A5294GH=MYc%w?k0@!0sylo3ugXTeg-r=cF7+gJN7viwgw1so?- zXyJbzu;~T2gNs%sZ6t7~WXOKN8(UM|ec^w)xyyX+Dm8AScP zD`f^XI-|U5+u?cBhD@AWPXG|7T5RW+DdJHu%4-0pcff6us@ZP#+8U$kwV9NI(fEbO zGpMcF&Bz4CaP%$#_Ef8Y{_hC9l&Ix886Y*&gMze;;97a z4cpHMbMdQdbQ*~#jxB&7eqTsIHRRuztBf{$gaOkbF5qZf-+^+G&{O}-uV2#U!=GL_ zn9+0}BP?8-+XAA{H4PPYUqlQCv+yja0&GnTAh?eqjlR5GqxH^4j9Y&ymd--#LvRVz zVtW9l`MJFz<`iI)g$@=ywr?ixtM~)VaQxi}@cqy@hEOZ9zZ;Y{o9wy1O6?y+G zq`MXq);e%OQNzcY3WxA6te=OFEN)!rdY-BGoK-OC=FV&b)!={1%W~AfM7K?#KH6=u z9mZxD#`~FI*!E#8;~`XLn&wV;@aDh@3p>^zN5uvUmVQ3G_ppV#rs(kp<1SIFfg0h|ITK2u$J_Q!KVA3GTkk7|d9 z0q(#k(M#Em;WeVO`_C_cxlzjwC*nF(4{fB^3TJXwfh3HZ8aSy!E~bz@FD1g0+Ws>Z zd;sk(nB-Y_5K`c*()sbF&EE3F+Dc0fgo)UkA3+~2N%U&$eirCWuW%mmf!m9&czRj} zF?mQ!nw;^^kvoP?qKvhO3)4-65p2TKM_ymp(i zclKsoI|jzQQhsv5!+B{-^qW2H8D;F^kNgts5a#Xf*@@To5D zyXlKrk&jfb^uT91BilBPF+53x>I`4%xN`iuZES3hJ}s_W7~^V6$$lUn_`$ExaU?pS z`jdq{CwhX{Ru9Az^xUA4c{-WAXIf6HdggF(69VRNy_(RAmJKt)_V8$eXyM_9 zbR+^WtfyD}y&U^+yB7p*w6~s950u!o%WJddd`~@!c|E5X73gkP@xF0E8CTxZ|Eq@r ztx3#$zhM|490DY<1%pQ%)$)jb>6u<%G<8SZ(M1dLgSu#6oXcJx;wH@MG$Z2Y-iaw@ zu-}{4>PNEs_POR$ax~A6n%mBdb7ax2uMbFEq`y};#@@Z4-#1q1rMKea3mjYb_^@gx zE4trU;J@)HyjL`>#?A6kmS&p47Qh(+K4qs5N=^Am5BDXfc5%P4z82n+M*B`QTzDDh zDOKxtqARz~J82)GG4uf09KG|C6J512iHlbiQ3`NPfcd9OX@T(n3cH_ySEF=r*PwQ( zmU#DusB9t{(!#w2YUYaMZ;~8|Cmk8w)9fv@V+S{KNWEny#XBsh<88>g&Fv{b1?n z6j4M=Y=S)!AmKn5X`3;IBJNTgvMG&_fTzg{Qn#9zQa2iyZmqEnNL(o!63lR@N*J+I zpMY}M9M;q%?SEg^KH92#8mJL5ezvlQSa$3r=*78uDdNpVJ1WcE#tVV|6?$o%>eV2q zD)bsMe{Hg(ueK?x+B>Au={G^#_!ePr#$7S%ui@4|ORrw;AKfP%s@p=pQ;XLwTg0B- zXo89vFjb0kI@gAO;@htV?eR*;9#glm6>=|V_+q#MmxAIm)*fd#8 zbeff_v4|RFRN580u$y=TPkGx2iP5hQt6-Zr=EL2s}FbU%r+;_6gIuH(%7<# zgEFh;eh0V1?PlJMZ5&+vIm<8}V<3p_V4Tg>R;0~&OZ?b{<#p$S(EeDk^v^Gxhn1d5 zl2#-G6OHCL7wotWnlf9hZMV5u?Zl8% ztiQEX1LRQ#7QD1bZ~fip4)rR^=HIL_otb2%rJiJCBQx9K=C;3}HCu1eDyciu%!1}; zk3oZu#kr%+1|*sG4X^qn0|u=T|Fb#?!E3SqoVM%Q@>i;q{$H>9NuX91)yaRwPCWET zF?gZbOSxM$g`TvKD{=b%MBjHwA>=YT-MUZ7)u1{cp2N8QMN;`3hsV{+T+SMm?&xf; zzP>(w&VLPiLZDz6w)VXKRYwb8%QEMVsOB=pR;ob*z&d-rC&A+0|9r8(WqEgNur zr%$azV|s_WLRFIMl9ssIzUPI=lc%iOHkFCDaS020R{-ZhD^DR-2l}iqTijm{kn>Ql zn{%zaMGCfQ;ea!kxG`Foj)Oe-bRB}lq})cit#l7mkB#b2_~9bX$&9Rzm?ZZX$e7Z- zaU4k~n9lg2bJU(%6Bj$|f!~NRXIid1vK<4~P=3D5jfGeU9xb*z?e70>?FVAKIv}Kj z!?;Epd_@rRP%PN`+h%#Se0=YCdVuxHpcE&@*O0XD6=R(8#BOX|)|PRSEMKQWxYT&L zk$#DOC6~JRQ9^$TPv@%WyZeum+F@r155Ql)cGmKhlMOM#-rFgy*v(R{azlY)5r2AqhF){H^z^+V201jqR zJ7N9myLaytFR(|PSD9$*xpprDI(qtXA7bdn)j&UzBkIg~PO`=;C8=4>HPc4kM1)P< z59#0v^Ix%Ph@VcmaH6{K=5AFav8g9^~z_K%PC zRsepS25s2`VY+jJ+?%rn9l!r+pQUd=2<}#`y7bTOGqpfg8_zZ2FnhB z!L)m=_LqNHUtM06wm@P||M}BNw9B)KZN+Dz3oPRy!owwFA8F$WghJN_M30!4~2*ulU^`9EB>LFOr6)NjUkGd z?ycRg-%FkOx}|!UVHv_{<3d2uOY#CVAA5t{^V5TCGciAAs@fV^f>)4xl)?)E5$k$( z0|HzI!m`O7ZFR6Z))B9nE3Y_P@0>6F?%w7toJ9(ilf%OVzy>Y8A4bBc)EkOVN|{v) zh&dH>BY=ojQ+5Re1(g8_A@S2CU=2I?0Un<9`tau@@bfnRlU>$&R}=D}pdkCHFQ3`& zx5NKXZEnq`hgFlY=_vReuG0d}U`!mNG9p97Lu;qg$hD0TkihGr2mxObuv5`r2(}|C zs^%t`J^hgelZCmwg@tOP+WMXEA8N-sl!f)yWoKu1VuaHHerU8PX|!cDS(=OP54ap` z-#R{~@`|vd=IYfr-e2iyIiz}hIIB1$$jSsPH5ruK=HVicA~ZK>;8X~PXT}ecj*$2s zM%|$jqyNU7!*G5G6@hZ;Nk?bL!(K3V_3Wjbi+b4<0HpKzi1B>hROp`|;>k@x- zwwRBa``Tc6o~(Mxd#rmcNPD#xaM^>k0i%9f1LWot)E;n(0_^YN)t#9-<*WcqpAK^~ zIj7-Em+vn^Pa~MK06iTTaBcSw;k6Q#1~oQpIT7ZvU#We6-9*BvnU&f&)Fm%!y+@~A z!eSvA=SQShz#UA$1H2O9j4&_}qZuGhrZw1&(AAl2!M>gYnqsMW0)DKg>@?N*+qP=a z8CRI3t`$sE)KOGMg91#w9F7y~v!&TaLWMVMbzqYsT;a$5Y zJh=JTGR3UQLTELRo99<|k+jsz&q!&f$@+FY`hjhP=Qf za!=uMKO8VcR2lI3k5VpktCf8#niN8A4nQ#kDhLB0aIlfQ3ti6zvGTLS6&gQe1AH9K zKVmie&)zUDglzE zc7NxAI&nGZ`KvdZMiHb<5`^<~fUKU+^?F!xGS+y>>O*x;cemk05Godu@LV`842)SD za!myh5xw%D*6@kBS5^b4(`0Ym^>9;J;n9eUEKyZQ6LTmy|EAV_xsi~;msf8^2Zh<; zZP$ZSLF&KNQk{`Hv^cWnR9OazrqnFwTNf(P2FNH`l_y&4)mB6Nf-{LUw4W9zi{DkI zYuPpQe0MZB%sNyr$A)|KUFTRG8@9+ z@JyD#B(|qBj1Z~J-IkXIK_qimRs;@|L7@G<(5`oH_yFyGy>|NP2#e9cgk^V>=7rTq zW*XVtVXOD6vy93~;mOI#Cez>WUjyr-#I+oR{)V+v>cocuaReoej}|;ojMcbtlx@y( z3tFKf8YG^k+Ml%|($+wqCE~pM(SlkGZNZ;xG(E zfoIq~{I>YTz3zUK*KtMl#%dL+QQ6Pb76S{Ay|nzif7j74$wOxiSbOz|4=ePBw!f=! zVIqL@%)WTjs3Y^xC7uXjNf6t!7ns68wYW!L+2E@#+B&J+?0qKP>_yGuJmZzruz0Fr z*s#Muee{Hd)RrrmmXry}eK676un6yaZjO(SuNnKIz+W5W))~k5`j#6LT$o3%M5pg( z&^>X7CvHi7K&Y1nhrm5OlR&?pm+bA9xupVe4=G z<9VR+I(OOP{>79fy!aqwdhbo!|5{CXeKl5?gu9qgb-vo$n8lgIt-$gtrB4%~wYrYd zGvy|lE{PqmTeXvDCm)S&kG~a%)^Z62 zCdYUj7RyRn`6E+fdk!b;{WkCY44HT!yFTnnvPf@>cH_#C-2j-4{`9uPM79Gn9>7!qCR=vhz zzJ!RC@9*xTKME~qzyKX1*oUf+4vOSNoPYE-xYdwBG>9eq-GW$O`F%IHc zatZ8)*2mk^o1AxTzS1)`pZrmgw;5LDQ~3u+Q$o_pul}qM8c14y*q&UVYBlf|m`LMp z|MF$2WsdxrrO z(RR&H!Hvpd_k`cR1TYFP$5U6jSO2b~$B7HRRjVJelP;#;S{v3- zFj46K$0Sqg%4$}ip_hInW@HNgItieb22L}srI{9m6UQOi+2XcKWoA3HQd5Z>Zf9q% z^`XCGUVhK(jpDwQF4mf^$weT{>{$HUuLQ_+DFgMY4&14YN5Akij$NP2ezGDn;BW-8 zsfzFSJsr>QWY<}Un&}@S=$D4hHCRW=I_y1uIB9xCw!GuK^gEiWdX`yU;?JuN@D@)u z9egDymGSIY%(ea!xMO4IPs&fl{%(6u?c2RQ1_7r~t2fup7XW0NM|!?8_#_M9w?40C zkzo=4hOb7krfz~tEAn?{QiG#P?1Df6GJLPT_l_*+BpnX^XN=KZyOgGFe)fAvQ_cpL z`D$QK^G)7d9Z0tZ_VZ0xQ8dQdx$lsg70x!n?Q=`*UFZX`sn zUl33Yr&SWlD*Rbeppb+XAO|MG>9A*Kj(fcz?xU^AWB@M+C-eZ|ps!`Go!z9_QsvB9A-tKWzANZ=KEiDM@J**+T)lG!J|< zrtQA;{jR`n?olO&S$n`e^J|Lb*HNCeyu6$z8$qH~?_^L{`G55u;%~p))%UX%df%XA zUUr2e6{<6o!ego9!RO)$-ECUaF#w#+i*FyFH{#2y&o_H%S39WG|DVghdI^F=KjobD z-u`(Buad=9^Zw}RQ3g!&G4@BP|F|MgI>Iu8$$5qOlC8yiPgAIf!?;%Vc;{e1E5e{7 zu})U`gw&vHM8;1K2mxr`b{-?CAq9cZ4-Hw^d>@pY2V z<`Y;g{W4u8T}0?d?E{*#eh`z_V#9##hB06gAjaqrCEJ zs0@?WPd(e zWJ~%s#r(_f@)HSL&w5^F)%40j`_(YvLIg`9`Ga2-CsM)7v6?aR8AU)#oQjHy4kr9Q zG7?^?UpqJW+$FydPGwy#Mh!nfzCOiR>*@g!kpI;U8!`K7A$=5aPumsN!y}&ypEjX~ zBeq8jX{5ZogmynzRc#8qX!d*k2e9GB{d_AAqb@la{0t$01iYV>1d)B}7S|my_hh8Y zGXFQoD;y2vzs8;yK;-0#i--%(PEU&^I*-+`FL9C5vb4q60MuuQXl#$$&VX79=;>27 zAfZ>s5w_ury@9afxSf*|u3!#B1?l-yx25hZ69eYbmid{V=eQ{}W1uE6+sk05+?8s{ zqn2vRPuz1o#yZ{akYKi(=fNzlxw-kK*sC@wf3H`{prK5$!c8J;Wd9Ino0sDCO-=16!8n_0OpOUytN*2`TD@??W`hN&y>*SjQlOq#M=NF>znUCgHG>SO(2f$BC z7H?u9PuJui5O%k(?-DEb<_igFZiO;A<3)mwzTt!5snz5}8HbvKU0t%e`2XeDG4G0-sDAbO&)*a@_8s=jGKZuUvch*}K*RX2$bC^L>U?G)@08Vx_3; z7}Hrjab)cX+rrDv<$XEHez}tK*dhQ3-PY|Dk%oioBfvD4M4~`a&zo}mZ5?>o19D+W zaRE@mY$Ly|IA$M!7aB0ZBiKcYZ@-q64F&Qly6+wLn!0Z{?H{KKE%?gF!$F*%Z#xcu zVS!I;f!w}(;i!GLK@s=)WpTlUMV>K2;5M|IA@L$=yD|42`$i6aD1uhH(KI)Dsog`s zG_rn|L=U#JLDs=4ub{a%%%6;UQOGS2y|kT`8@qo>&xX4nOk*w%`Ok*V(o)q9031$u zbiJiXWlA)xXDxCF@9fP+44Vn+Xh=Po17aEG2S872N@kK)RotzuD^|DxJG}Xi$ZcjrTcCJePBq_L z1LDdh&@mP`5rhNIB2FhWg>&a?66%RMw%ZN$w)YX84GZL~g`o%K3b!4Z1c)!5GKo|otUNCj_xkFZe~lT0)GNX&3yLlu5&m0rm@Gh5R^Bap*2%4K?n z>wT5_6t2R(ZrbnR0n_Y2x?=`Oh!&`+tQd>%su9@4TM7UAVuFaO%eF|FY&DmfZj}N( zVw(C}Tu>btGk z>U}FqHm6P%k+-K-;F1+-28aAXmjOHTQv=%gkKY5KVwQ5lx;Wb`sC>QCbeshxEWX}l zo(+g<13GQsW^tiacN9gE7Z5z=0Hh+_y*e)4k^~ZcaazLN8GUQl^u5#uLVCk^K{YI2r++ztbRLCM&BCH=f_tPjD+(Zg6MqVg*ewGHlpI*DZ@}jBcQ_S4Pfh6>S zqvqHy7RW#)O2Du$yUhaj>Xrd!dl3vXCbGP{PqKcd%v?h8!t))Sm4ZB;k*C69ka|;HL6p6WQ7Ru?Ws8nM3`nj4$FqVXR2LdupCF zE&4^@)-O+lPqN`~EPr|}iv%cf8%aGY)LR1+Ep_einQxe=31e|ceD@FlTVGU?c}-=U zT@$F=>{k6OniCki1feZA2L8+!y{|_JP`jVQK-C;ZpQLUg-5X0L*Oop_=P8o1>Q`iJ zIyU(oIe0BgegEe9FTPZo9z^r$zu~2~uddYw2Lo|&?0POaMLyW(BUt+00LHA<9A_Zn z`1M36frzw6*->uDF5{Q%@F@$)a#um6A-*S9$P2fyp^w+(LGw7^rIH2RVk>*}ulF5u z`wlEVev64c_S|GKoOSm_65v289s%Um##9CAAcgV$w&KwtoM~^)PWHF~AuT>r z%qPwCF*C984jf1yZBABla~jraoPI8*aBp;5k@p%6;R**PIdZ5`m7mW5xk3*I=cL5| zb6Z9Y+EAB^vJ*e70v?+kU-VbIeHO78TY6?sMb@u&wnC8o3{bI!k|C8tX>6L!P4jFPF6l#(9JpWY z$VhXzbWRY%#AJF45>O@(Z`T<%@7r%rRVfjT^sm@uwVnT-dT=;0rhOfTx1YmNZYD!5m~aXH8yEM&9#GJ^wx1S^l^JN`FQwg!Mia;0=9v5}gWKZ6A{GzH z1M-lp_?@bJM9qK@Sxm4pIPt@Sb)-M4mk~?1c^3K136aFf4&>T2G`j%cQaZRj2owOq zqv&+I*S8;%h;HO&G%n#>9kr+Z*H%-Jq$`0da!VBx?UC zlObw9u`mI=S-Di5)bmt5F-GnOEBxR23ed5iNso~cKIw+;5>t|i;Pz8b)>I9a@hSx4N3(zru68--jkgEth-@whTU%~${Y3&>Q z?~_QFUQ_`FkG9o&C(Zr~m@x3atqCRd08b&M845Bnb$feDpyE5eNd4m=2@ z7x##o+BNn45uk-9eiA(!_)OX0x;Q9^Ny*5__u0B~ubQV5MU4Cd zV9Ql!*i5l@A%n2+OGV;(QZh0|;31dWDe-Y~*?WQfGVLA^1i1NcGA zK545-ENoL)1On6J^-{n?K5{6^a@+b0mf36U>fU>{K9ZXR4IcwZ1iVDo`RtjB07eGl z{?XaKIU&b*t4p)*KnSnmdY_pX|s&`nkoRce9d=Dbe75) zYtG=Dp@B4IWaGA3%4-Jng*t~<4mi|3XnSy<9`VCXhRmQMzH5gaI6r1U}<)MA6eiOe^ygW%S&@SCEg8qKqmqDK067=)d z7y^?-l23xcH$|f&;02@$>z7YC>fugSNG;48gzBd~!P4|DLayxlK3x zQ$l#EHY#MSc)FL?!q8mHkhk3I1PbYZ==Z$3BYHiYg4YsSg&hT~3_ENkSrcj$zIwT|y z)&H@Wc6e=XxrUu@OdbjUe*DPu{%>eWN%D`9KF5Wcr@JYfd+e$oVI@51L#Y{{H8mM* zqze(id&n)(8@o~FEc#N*&Bbu1qZ|Zf=fMtB{VIb_`nX|;oV096lvnNXB;Q8jK?T+D zo^s{r!|y-a*?0Zc(-Ufeyc=ZwNn;90VtEWP^1{qSYO-@P!7{B<-Rw!B8!x_Gi=xKA z$#IbDUKE*LH~k_!+KHC_yqtC`e6ZEcqJ@N7s#=F`<-|;Fe#SBPxmi59zVyDFmS>g0 zY|W{^q?|NSpe&6b`O43CIqdw8G`8Jk)O2E!Lfz`L907Y?gyy~X)G({3^d@;*kDa0e zw5|m@Vg-y|xsl*>-r1I5BMI;-DJrNV`X>IGj-AoV0wYSxvJ-j8!{Yv? zj`{wzA^yFO{>OeupqJR$qOIlsc`>y&!`bDtFFO zP81s!&`BU>*?WEDT752wi1h#G7hCWEB&8r?{)g)7p@;Cx@Pum+N_wQ^#c zmA36Hj4Vus?C^g?2K<(96_fJYBzBc2RJrl~hMsYE?>9Z%$aGMRILQ@k6wifc5rbw# z0|?qZa{> zFjS1V!18~~1hy1(h-G>CZEUPgy|R6J^i(M7s@q?F2|iGIYySS(r*GHv<*g|<9>l_t zfU=2X6S;pdv!lyC)Rb_kpY!?3>QO3o`nFiXFc1s30F8Z!k3}25tkwrzqPtVQsNZd-rqif4q~@ zQsJjL*km!Xq%ma_Sm3Kzu11oP=zFSKI{N0Y)~9CKzzAv~KoE-IFjb8a{y*bh2 ztU@19Vd^%)4k&uJSk|XQt6&A7#1xgd%N*Cou|u!=$yL(8$w_hX;>8NjO?uq<%eKL{ zKR(lCRMMeq3n6bf#i_+EA=r!u7u`+DyMCm!Jz~NqamjMHw3BsybY427DD<>_g04w- zoFCXk*#RsK@uy@H%^}i$%FE6!FE}_m=uK0uep*|)$F|I{Nr-9gLnpf6pG#D>Ol+8* zwn_&xg#(Bk>N+|)`0m0&do9kmP)Z6SWY2Gxw!mf*Dr9Hm%vQi7P~RBBO`=oj`qqX| zwvJ+s>9&uf$q1H$DI6{7$cs94D%GsOX{IaEJYZ0W)ElONG^^Olm)&<*mD}!CNiqjd zPr7IkuTC_Kh{c017GaZ_PvU_Gbjjq(ZA|WWtO&K!oBd!rV!b{>vG?>RA9K++O(?o1 zS>K9&O`MNyNdKC9XQ;6&-&{#)TTGq?HR>(5ert#LsS6gL$h-CaiR0Q&6F-+`#E7xW z{MUEq z3X_-zx$grx;E7iejHeissWRCHf7DlG=ijN~@XHpHAAWz^UW~wFoBIyKRIGEIQ%5LyG zah?@KCpQLjp*F8=Y$yUL&Z3=b(DnKzryr)DvqaEhwWHth%P*)z8J^s_`6;1}a!*R& zbL9X4DqFv#-Gnwehtu@Mmn=H%RgUE3T%XM-g6p?-+V!npqmv-x2xgRdmLmM1#I|33 zs{KWlulUxo#`@}@UBOD(6iC4$Jui`3YECR}tjwLHrJd&swnr9fQ{V;~@f;GM%mB*c zI(A66&?>~d5)Af{-&}GGE3`l`q7Zl6+adrc-ONSt?M;oqJfsxl8I-9fxXp4z`AkEZ z3}sVAIp63?eE>-WX_L)HWjVYB58ESat8z?C=E&C{=CW+*cRFl6!`b zF;XtN+75!UaC8D1!`HU+RNrI9kv{|Ln5MJq>e7-%2tSxXI=~^O9#Z(;n^>v9qOE6t zb7TrqTsa7J?=N4K^zjm~^5uXugIVvgTkj8?;t-6Bs&dpfwb+j5*4_bttj-k_adUzA zOpF6ukD?*{l;zpsas|%Pja8p)?{e#`{lS-Hu^GHcVyW+QE4^j_^wPOs1cExgbf5G< zC8of}@GZ+@o%X>&{XqPI6AcB+jma@4DVOgKWaP@pi;0Q77HkYar=8jP097U^5FaI< z-3WT-b6%py*2?F|nP7PV*eiRXis>ei##)C^xwjlXbSO1gxiQP(D*DQC;_474IYkIT z(A-AxCrxAw$+j*e_D{yIH2LgAPss2r%cmyqd`g+dJJ)>yH_fK==GJ>E0`{1-{@mF3 z7txc}vI_x@&!%ZM!YrSn$Lr5Xi$KUhZuy((L1$K+wP$U>pGfN6MK(d9!ejM8dPx=n z0n9hxcOzOH$Bkuc!Js1%DD##hn7aKJ!7!@mcqxeJg_!D(p&-6#@ED+uLb)UMkXskM zP(o4g+wy@(fza~HYKk$Lu*#jws~6=Zy`tA(OH1LH*No56FX=f%D}9V)?&WBH!AcjS zOCNr19$%8dwux$MLeu5Hm`LpJT(34RZGVR#T=!ceIrZ`kp+?uHDA zPS5c}$bj=l+S8{a83-9l#~2;3T;sPanl5}h|l=Cx(b~PO0GYW!GtOFstrh%TR9trm-+zp z2zYsBLFn=#;dzL6mT0`ng=4!Oe?utptJ+n#6U9U5uzmt|85+^d(?<-ZPf+vK^`PVL zz~+^Lx@bmI+1o7$oFeh@~Z$<7m#yg7E!V>=g% zRJm8^@>l4zmAyN@QzJ!AR~jB-teq%Fr+u5}+ZcSkhbw_OT<0;ft~a#<)K&1IAcZyR z<==n(zpb%Q^7qEpT|dI#Q=20SKK*~L*+GG3(d*7_R8K#+>$(pbtM1iA`5>7ya;%?E z&dvk74${(TKG?d|<}{GDVDFuQ%K9K4kH0%UHfG{70`Sw{@8kw*SOw+41EpH;0)3EZ z@l-=y-Okpt_mgpGR%YhL$(AUMTU2tibLODiR7Dz;vgc@^;9FpOPh=TrlMG6)0+Yo*sg3{ei7%{aC0%9p>vmQ*+I@3 z0n>&e07vER#N?S^H#Z+xKm5BJrccesZiq^Sh@gj8sp z`Mfq=pHCzFIV3&Z&D6{ceYOnFT=}*u_Fo@W5}G+}Fh9rq=oB?I!_PtDP*kB!Z}Tew zjGLPx2o|9MzM!5YO@i3S+w%MM+ikrz#1J33O-}{`XwJgnw+d5L!pEhQsh(;ESYBqa zsa+xsw`De^`wG5U%-pFbBG_F5CH`m4GzKDr%srq)K}y+0y?Xs(TMo$jxLKR%wUOxo ze!Tt-528hG5KX@x3&5g{YP<|V%58Y~!1djJ@f2dcho(U{_9lbyS-;ko{kMTEvKawo z5(iv>b}ji^cqN4s$&}8ZLQRDRDsA%hP9=T%cO^A1D2eaiT=vuf)#N#2sI@1h+zF+3 z2QMR3fo*^O$4si&h=#&!ydo`yB!)`2$R+|(V;cB^ju{v@F^qKzU%GjxeV<`4$siDGZ%Tn*i^M{Kbr)5B`1tG#T+hc^MI3TbNiXLf&%pJvqUBifgt>C z)R|aB3(9L-MH)nbP+tv;NTL93-iszY6xi;)k1-rz*Rmhgzcn>**Jrv?Z-yV^3xk@* z;-~Wfq5@`bxdHZ0)xDo|Jlaw#oIF+fpgp8eyvC3aOX-6R7vAO@gU1IBakU&ec<{?m zWOW|gikm9Nt3EuOlbx_*OJbB`K5;$o3uln>&2ZR^w5Rz*8DxUHx*Dy5srxtujY@AR zaJ1(dJ~DT~W7oUb8F}!w$PUf)yb5H{DN3le<4i@?-Ln3Cp)mhaacZ?@{#6#+CV9EI zl#x*;mN}ps*`v*-9uuQ(bgXtkyI);AL7`2Ewv-KjgNnWFzA_6diA#+b9IE?hxh*e? zTRySiM&`a7C$r@)fCf>MS<<*2<}iy9izxnzpng$C&}{HM_3_Dgeyh;;YYw}cIL!FR z(t;Zh6M7mN?g*{F0F#TXh>Q=y3^hX#OWQ@PBPj$eIs0{%%*ms=H+-qLxFOdC0Oz=z zn-A-uE!ExVzWQekKYLWqj_~m@$r5A%AmgK2tyL^FzlHKMi#c$#D%jh<5tY9Zng)ZD zJn$ovFh$$Ygb12C-Dv1^v{30EU@VFw z!oyQyvtZ`R+pxkjj_8gyE?1iPl98mtP8EZeJitIFOV1ZwV>c>>#Bj~dVa2XaTivrI ze0<@LeNqK2iX$X+wV;Q#EP>c^8E3ey3+Y)1QdP@3fQ0&ZNla@CAobQ6hfR0xpNG$( z25h$1Mz0@v%X1Ga+Xq2Pv?=rRVO5hm^|UZ3*>n5^zfVe}9M%-Z<4JfwmvN(|CbBiJ zU{n%=G^9^lA#!LsiZlM?GRy`}aWQ_!5jN z2(`j|GiSbrwBbNFG&JK8RkiT=%cd}P02Nu6nnsY4%4d2y3RbuT@j-pbMbrwC?W z3(bBXAPi$x^bXI1Rl4!lU-!!9zbGFB%iP@$|2NYvI4J);4vUb%wfu9><-Dw1CRzOC@VX~0G*Suf)HUlqbPnx z=~4mpIoFW$#QDqN@cC*rM{u&iilQ_&9<|l&!(xwEccmz#*|7--XaX^sXtI82cc|qz zr!{?Hc5@4ENTm?;kDuPYeS6y0KRL*utiZBE9qA4h7;$Q9YKk{Dx3+qPNe=+a8j0lU zv=Gu{J~-NxwdI-`@TB*VF~o4=U>lEsK#H9@41i-kJV}DIXADYR|8s(UBn_qo_U?AU zQr=V;O*4J@Z&zdpecuL!y8&bj?d&LF6^(ds_e{c$7Yri%Oz(^wb0pyI!Ti9#1MV0v zAlT=^a7C84nGj;D?AIN!zl>HtA*_3=m8tl@^w>Ur$JIHSb@*7 zx7QWMxp1>U+ACU!t}$jbN#wePuw%bfkUu7Wjs2JdlXBfGr`$k{buF7q(|`m_KT$)tp@A$v9y&zl1%1h29GRRDJyXvPSoL z)wq3-`DTi{Y5_v{kWwUOXJK+OwcddOTL=M!y>7Ra4!n&oDJePEAagEAVJ1WlY+ZK; z3PTX$)P#YXTe0+tH3uf4(7)0C)ah^P0IZPoI6YcEj*!HW-pQLmdaixog)Y`{t{j%Qb^~uCZShyFUJ>0Bf<#U+MAwCyg}>{ zDC-t3Or69fWSI536yy!z6+j--et*I3cZ7ap@zthV0at8f!0&qxM!PhKi_?-Z$2^%j zQx>e~y42Y$<{CQ1V3KWOLWz6l^0`UYj3D_Eg68-n(xj(8&YxWR)x>KHn_sL5du^{> zoh7MJ;9qLB<>cT{5Y+zlW7K%%hxGl*nCg%jOzrLn=Li`>;pc_)_APr#7hE8f-q_s9 z&-;(j)|!yfa-7i#dv<(ZM#mMGh4^xk!=C)K-03YRW3l8WwIn967iO*wf3Hq0BK@uc zoJ&=C)^Mj-O6qlkOgi`9b>}S_t5|X5NpdJ4mTQk!|FG)owTniY?Q;v=>A2&xq5?{Q z08E#bdb2YIQuEjMpbdV`bgJXu@Y*?bzW>O88VU3+RcC~(Tr!t1c ztzwwBO@A#6U*LORPCqeXRV-U0WgtJ!xL)+xNaKv2{NEF=l|!dpLX#~kxD)VFO=?ShCL1b2pyRR7yBz>m(00iLxg!KK1IzxqSa18%he+zy3CyM2rrYWUm` z1*t>b`=}L(BXlPhc>dq0!nyyd!htvcu3e7*pHyM!4EAQ$zeuQmSWI3G`<3B5i%~>4~W}-enoLj(2p}R`>m;rl#gV5`RE5S%CK%V7zqc#?do8@wqDjwbsDP z@AVrHqlfT{>HkYsQCHgW+^;S#i$Zj{DJ`PiQda&Ik7j&59ROpONJIlj@tUUEG9Tg~ zPc#%6U!l@5@8PY2!`<4^R;Hko~h7QQ5ulkiTRSzNSHV?Gj0M}9qaP--F^&2 zlWA6eg=CU&sOf1ZaVE9Cne6Pv-WeHS{%gDYUuIFAspR+$@$E{@9KD2zw9# z7P%r+s8r<`zI@(^jBapzme_c|&0nq0yA<*7Z|kwO3LXoX82 zOo_@0uN=yGGNUbrt^-ISVACT{q7AiNv*$YiDw)NPr(?yys27~Xg=mKeqPO1d>-D4j zklc|4uG^DYFfS`04g-I(W`8#ck!5ETW`aVAzdCt-_T>V@O&v?H)Ll4WsZ{5bStPiS zQB4~`w1k2*xC(Qp@N{a7Q=y@D4d-7pQM3#J%W7?DQ0dxfT_DJ4R~(zu5J1fY#ZrOc zV6d2gMAEu*Qz*;$bzT+Qg*U)JpJg!#rt^%9w3Q7I#H+C2U|qhULA!n$dyw;3-~^5E z4I~a2BD|ai@;C$p?S0d!%zjR*g{E}{uP?L%D zyVT^?&wo*q`8;yGvXxOX(qq<8I=TB1%li- z9WphZ@8b1x0cT$|6UEfK0vz=00qE!l@&g>iC4er`5YV4f83ulcAbp>gu@vi5egPLW zdnJcpb-AOk(NwSc-**)(Y4V{vmNW;AV+-Z=Cs-jyQL|ID)!SgK{?t(6lSNo&7eXZY zxl*$CxXCz`X3*?)rhhhaR}l=ETOyb7iQhkT$=gv+sR?||Hwy&&KG|_wM{3>rlu}?joVSb^oaN(gLE8U~EXbA~gQ{%P@P#vB1}Z z1D^gR`h(3Gp$Y$=41-9O@%h*5{KplvMl}E@fP9PY0i-E(B5P!#ME+=KrMj!oL&35w zW`!%~BVn%k2wF#sS$V@QlSN1OBOHVWMc;vzL*_cinJyL-JO4`@1z>q zTNv}mWAM}v!ywAM)aTbscm9Lf`?T78`}?I_UtD#j+@HS2)Z`uOj64yVoNhV+bQxM0 zF2~{g3l0_Y`Sq>7Vbw5?6QkVCar&su90Gv;SdY<=WlgLK+w8u)6LpXNkgP z0~BYKmOLo;#RF|{+3O(}j^1;SYhvfTn#nfGb zYbw!<(j#XdYK|m4P#lRn#X)PC7~*1)pf&!*)+t(m=JZP$j*=$HJbMwaUJZK?5fP=@ zkA2`s3p_7$9og;st34}xcGC}3^5(2WVPc2)TlfsZpAv+fF)t@P&7W$nxmNU?|9&yh zkC;=Wxj;y*1}YnhRx0+`k((E=5f^tovr#|stzb1gPOSp zrjF39efW99^OlL~s6XLy+jicp*ej{4@3y+Gg~>>tOWby>(cE$>LH}7jTy#A0#W#%n z^>|?u#eIl^0(O5y0UEc&YXJ0`bzgQ&_(fwQtvsWsQjiZLqI)C~ zVNWIWh3fj;B2?QZNPtN01A%D*2s;-*xwMc^_z5@ZxyG6;q!)o4LTl4lv3~klw z8!GF0j*lb5DNW;AnS>c0XCjsP{a#0pGZBu2aQ#`ZxZCf{XQ>h#dQlFvvk1#)4u~T_ z)f9`rewA?IAb0WFGt9pRxEI%n;YuR_9&bb@!-JHAkjV-7L|29y6GC1(0Ye|L1O*SB z0h&Gt%mPiH6Ep7qXS#^nw3nOshf7)twpJCk7>H9AT_j#7GF_u<+>rV)5)x=mA5-Ig z7z%)Z3?j)5{5AJk^|e;c1t>@b9JszG#0o=iOuUggD`W=pzD+SU%=*uNEw=wuigX08E0`qsEZex-H?qo z)To9wqGMZ_#XIsvNS;>w&EtCKIJUNhIj%mu!uaD3Ol8j3PTQfGp&;^lb{}IVtba?4 z0$lDhsH*WWcSj;w4*-nJUzZahOto=_goN0jl5n6})2?-mzX9Mwg!HV?!ZhaK!Gjrp zLN>f!mYo+``FZP~)k5kzOrHd`sum%D+R6Yx(pGsN%)fjW4Y|W^mEixvhVn@Ngans` zF4}H#VF5Pix<(4oPXOgof*`){*BdTvXh8_skN`q1A_?X+Vjf=@cjR)gUUvMG!-s+( zU5MunP#kyqvd137sSJPJkffv}W>HbSCdNNfrSwm+^(MjqN|7*aa7r@npORvI%R}Z0 zOKV65*)+rDh_IK(7tE!ppar$2ka+^>;_Mot$%_IU4)P6}6Hp$!SbS2!c7Zg_8FJAkVM z!85LW&K3F}MXJTK=a1uMLlKXgx$6xW9ma!TFW8f~>^^zBUg6yxVh6^&K`;2YRUTS- zWF~^bf%a`;b z5C2rc(rpB~)frYij@*hx1(*Z}-0E?_1moq1u4fLKYsk0l;3?j;CFb;AhXX6`unf|-J34Fe*?bQXZnf(8Sau?>Dh8sWZCbB#*6Kg|6?quq+6i(sFq*|7 z${E0Ln6}HfQssvJWI38oJ(!}y*1(Lpk~1e!~>-lca}TfLHvA%BD_J`88;+g5@Z4KqB{Od zJ7->HQkpk3zc(Vz%u#Xa+(6Q=A%8a<&U;Wt9E>1atOos(lwuT5PH~PM5k(IuPZa<_ zKy1l;CLa!_FCn)^Ux{U+6gp{}3IIGcDGaaL^{^$m!w9T}f#}|m9=FxmW?e5pFpD)` zYbwZ4NJ&Z2_Pt8>DfuI@OJn5^iEywHpFX#y`l!#9jB;ISu zj!0UYH+I{~Xu{_yh1=i0Du+Shznf^8kzJnvOhhBVz45@iqp`gZ&ywN`Kz9m6wRaWW z(JqSj^Yfbx^T(8$(%?%;j^H6kJQVo7=1^4_%`{^!1rUb zEZLhb`>J9}fw6sk>`}qW_on26O>&j`%8NCd>TsgQk3!NH^N9uJ@GS4`2x>&QNr}S6 zwMG2vbvHkBhd}Qr?Ct6h|8xwCWpw;zb=93P%_VMXI1kZCy->kB3B+`!>b~uKwN$>jn~Y z0DJrkA5_vjqPWXTLIU>0`qQl zK5TR)Lr8)SsQeYv@0*jC%O1WvQKlO9aVS<`3L-Nx0wHy!ezMgUPp0&p=Qjsb=)scA z{n-?SFm;uNHkxZu!Qh-yLOA}1+kZ~$N>I%sY4;Gjq$`~U#D=2m{(GzMm>$6jLGlE8 z)5$wk(Jd!chOh%7v6fuV9lo5xfYLnT@QHI7aT;L9%BmY^b%R^1{uz|xr#L+3i#}_* z9F%jmdXPxd3!3ZF=exVs_5mPcsa%tfziZ>p5jSM|wH-^3;%7Ouo>r&u;sHOG5GMFL z5nZ0t5hVH($|%6X`#?Ur#GK?`I(J5>t8%lGPTkBf9zD(d%$sL$@)8ZPEb`{a

  • LqXmH3HLIx?9#FbGD#W`IJp|Y-lP;e7x?T~|DDg>it@!E8_JNn!tJ(Ar}U!QJj zjOp*TyC&c2Mj}Nw%31VdeLeSLgg-itzuyMTI3x}?2osP-8Kun$ck~9~)9h~eK8s&w zMl;%N$(qHXFVY|qN4i7M9XC3Obfzk$v z$(b4cxr_vadofdp*ZcGa5lxBIY5WreMtyQ|G5KNHR)5 zia6XFKtWkE8WL;7!J!W^GKlNL%M&kTv=O6nhRcdUbm`|=$~KBFm14L-u52Jq=Abvl zDEpu_e2_Fdqn{dSkiHKpQ%D@y^^if_9ir&ttJ_B>IapKn;c&7`l&3fa^U^D?>D7Ao z{Yxle7KzDoGh`nV^^tDs;o{tCaf9fWIpR@mqCj{8qB|lD(&MIZ(jd7V%UlCVN0WM_ zL5f69=;Qi>l6~lMRKMg27fzIWAg~hsi*oX%*N2oL+!`6n9S#j5iMT$9cR)S>kjTa! zaD%XT@ts#U2rfaIf~ZTXs#&sZ zNrNQE;<)vgxIyR(ctpq`Ik+Lpqfuwn4YH(E**a8EaDBKzzP@uv*0KXaYe*kykOZF{ zLK9@VKAK>QBn_?CI2_PquH=j5NUylTFF1s8$@{S;5#F}fWgQhe99dhDMJP+ z{fjh+j>D2Ph^m-Ghgl$wl7`SA7k`CNhTrM%dDAdR+9an-7sw!V2Rs7YAUQt@O5n;! zYh-faTzP`KgQP(`L{qJ}IFe2uZjf@eO%id^Aby$pkRy6= zOh?}q@a&^ENd9-H=q%PxO)kJlJ;#rJ*v?tf{ReeD*gk2DAsg9L=U^V2*HLW)6L z6FpcaSvZ;{)uo_8vMOQF7=)-r>Nb%(fPct?zJNZ&<;^`HWhBk1*|`qMJkC<9BGYIMwfKl`S+N+hX9U9zPWp(V2$rg8bo*|(lGjE{h10>+X^X@B;WOBq6I`k+aF1a4%IrPE)YeT+`Z=EpnOF@55W9hZof0qG;5LDaTz zefYP6WDWbe&mNE_k}wGCnw>O=>>$!0!nah?APyEtA`5Zcd`M&vowd(nZ+k^u)ugogNV|m6Y_?ziT z`&93UYyUXfn4lVh)vx;KQPIk%q&k0Xr{I4(-F)l2dxVdCGsWYQfZ&q749P;`$fIsv z%Lv_hqL1zKKi@+ja7i^#6L}n#J&XJfkQy06BFOt56OYS+((KS>m?B5ir3s63M16zI z3vLY;$48sB$1!Mah&=!cBveDW%#U>F&L=((rr6vemi9O}B&r?R#C$=IfMM$K<<>q> l$5aK&A`SWLh#(g7%YQf9V}(n#kR|{C002ovPDHLkV1f^qMdkni literal 0 HcmV?d00001 diff --git a/doc/en/en_applet_yast.png b/doc/en/en_applet_yast.png new file mode 100644 index 0000000000000000000000000000000000000000..f355a4fa3727adf102f75e68a91f24dbea7b332e GIT binary patch literal 20177 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 w;gp~fr*IJxkVMq8-rSyZ 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 literal 0 HcmV?d00001 diff --git a/doc/en/en_configdialog_schemes_autosuspend.png b/doc/en/en_configdialog_schemes_autosuspend.png new file mode 100644 index 0000000000000000000000000000000000000000..90a69b3061981420c3cf8ba95b95c0ec3ca8cf1e GIT binary patch literal 33827 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
    u8KBb9f zwoQ?Z8;WTzvQDz`iR^GA3lS~5(GIiE^?9d{UH7$q;80fEab|>kK6svaac8ggBmxLV#k%@qja%8NsG_Xq4EcyYAcgP zrreOv86r|@TlGc|8CKQQ(2I&vTaP{$ z0H0;4J6ZWaEFMP!x+EAB;ZG{wv_Cu}#>YnioXFyW<;X7ZNgwlL!S42IHD2{|9MkyM zQ=ao5U1pj9fnsi9;qCROfeH%`8w%ahNdU379dur|xO3(4g93bPdGjlseXmfd0AGeZ zuc?6Zs|^%HC(z1im=UJnz=6*<=&J}h3hty3ak~rAZpNdA^u@1S06hj~C*Jlj9v%aB z8c_EDJnb4MP}aFO2e_$(N33c&za{o7=jIGztXc;K2w%IR*B9FTT)IDe{EfzLHRMf{mC7XmbqDMUk(bAy%BA@ zU>O!39wMNK-vsDdiWD@3R=gC}Q&j})pg4%Z@HAqnhH&hm?DedEhgdkr4hf)z$A?f; zx{0eH->e|fKYBb)UrkEsKR04uCFdf$J#4Txg6LndbXClhQ&w)zd?(s@Kd!s-qlo)m zss#|t5{?zBR*mHVVo`cYYFG8MW*8rga%_cLp#mfyrWu07vN5gvahj|YkR-9n`tG3J zgtKN)EE%YAvf2>=ey4ZrW$vfH&mDZ=sYQXa{#Kj+vWC7ViK?n9#N0o&YU}j2mKo`b zg2N}3-YBK0HzgoEPE{_fnxuYM8UkN-pD;XQ`LRz;cy&-8?XXNGpy$0{_t~$kjEBs- z@alBED6C#?3VdO!k2{cnT*00ykSOu?BKWS@Dq=ZI!jo4=`ub^?w3|AA|5yVHpi{t2 zs3d1r6d+7gxycdFWA%`(7=6o%_Q$5hmlA9fd0WSU*F*3=Y9RU1qo}9>VES?KgpGD5 zJ@yTW5)Y70RP){8-Z~^)JuzQd1>a5}`gE-$jZq0K0!SDx*o=LmLa8RCmOP&b6(NO%1 zsi2rjW3yMczyZoJiI%bnZAQM<+?ErjKk!&n<{%Dmdb$f*L-xuBQa?ZA(MjBpKiJH(8ll{uc+ z#V@rmAe8Mbunrr<>ay<Kl6VoO#cRf2J&=SI1raHo_<9|H) z1vXsSGp+Hi#0vLV7@yfsx8GQqxO+`(U%+54!!kSkp8E@&++nvItZ|+NHz<@a#q&@T za0||7E~K_2NN;p0s_qA)`>(b+R$s>(z`|k$+*aLHeciT5Zkl)bP>q11JYoE%m-~5@ zF0Q%cSPoYx{aON_>%2c{Lczidr)!tg`U#LZcv0lVVlr42V+n2M{1%EDFO$Y0Nvyqc zM$ExP8}O4}4^K}aN2xdbC)BLHRQ#p=Gunj$!^BC7ro{E9prDi)2MIar5#<_Zilk=d{c7LM*A3Ejhxrz-jTh}4)SQk!-|HUp%D{ON z|8sZqE@sYET6=I6_s;Cl`2#ZM$bVi?7GaB~^K z4JiU6cRs+K0*W&MlYWRAGw%`m1b>^cj0GYQks_)_bSb6qJyN7Rj$I%3sy?xh~h+neq9vCMk3_Hvw2&Hs% zbeMMwIV=b*eqDc;)M==WHygYehP^63aE;^mIZT=dNKvg1T3*61XX7_!>T4S)3QN`V z?2zn-<_$Q==37@--Lq(s)ssjSW0b1=F$~o!jalxnLy~P{D@Avg@IVpr>-hhS8}0$^ z!0A&;>3?n6zw&{9%*l~-eFHb7_#s@r;te@w()CwhULF6qDy=6y7~yg0_OpMjB3)2S zJvtSJ(}GL$Cd`5-vVIKPze#Lw7-z&Gb&QUNfo_eeOhH(We!)&#jmgXKGk>|J|FMTI z$<(DQr6}F-&h(uPLDZMW@76`#A@d8mcofKWO@Cn-R>kjHnWEdqGqqO2bwB@xT)Vqg zy=vTxFNX{rFG|@YmHkTdnGY=XhmLhj>HHATTwIT&P;wkmlD5*M=b=&N+p#}TQlA^I z_>&79R5ZKkIPKn+FBfu_LN#HEwys{9cnu#tYV@SEA zs}7GEG_u%$YvFPutmQUQ6u&Vu=IA0iZma(|b&wdPH0r?8Vu51bumJpEYo1Z}f%w?T z2h7JVsKFL!`Bqpj@!np~S77OO84{ETE-9)X!bd73GM(O|vY%aUyn{K3;1o{1&F}jTcf^vOpzt^$w!d^X#z21m1`l`aJof*YP1qbbD zR%>u9s6$}$HU>T3PKXM6tP%-|I5~_Tr2Qr;;{Z>1FJYpFhVmaPJXH=pAUiNnP^br$ wK7;Rz87ze%g+XDYJQH%C6b0on>(kxGX_G(SliO;6as!H-^fReKNrSilAD7Q*u>b%7 literal 0 HcmV?d00001 diff --git a/doc/en/en_configdialog_schemes_bright.png b/doc/en/en_configdialog_schemes_bright.png new file mode 100644 index 0000000000000000000000000000000000000000..6077947ce27135d41aa7d910257b557d6bea43cb GIT binary patch literal 29835 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

    +Erzeugt am $datetime für $projectname von doxygen $doxygenversion