Merge pull request 'master' (#17) from YanTheKaller/ubl-settings-keyboard:master into master
Reviewed-on: #17pull/35/head v2.6
commit
08a2734b4a
|
|
Can't render this file because it contains an unexpected character in line 189 and column 56.
|
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@ -0,0 +1,578 @@
|
|||||||
|
# Language translations for ubl-settings-keyboard package.
|
||||||
|
# Copyright (C) 2022, UBTech LLC
|
||||||
|
# This file is distributed under the same license as the ubl-settings-keyboard package.
|
||||||
|
# UBLinux Team <info@ublinux.com>, 2022
|
||||||
|
#
|
||||||
|
#, fuzzy
|
||||||
|
msgid ""
|
||||||
|
msgstr """Project-Id-Version: ubl-settings-keyboard 1.0\n"
|
||||||
|
"Report-Msgid-Bugs-To: \n"
|
||||||
|
"POT-Creation-Date: 2023-05-22 16:12+0600\n"
|
||||||
|
"PO-Revision-Date: \n"
|
||||||
|
"Last-Translator: \n"
|
||||||
|
"Language-Team: \n"
|
||||||
|
"Language: \n"
|
||||||
|
"MIME-Version: 1.0\n"
|
||||||
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
|
|
||||||
|
msgid "Generic 86-key PC"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Generic 101-key PC"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Generic 102-key PC"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Generic 104-key PC"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Generic 104-key PC with L-shaped Enter key"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Generic 105-key PC"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "A4Tech KB-21"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "A4Tech KBS-8"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "A4Tech Wireless Desktop RFKB-23"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Acer AirKey V"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Acer C300"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Acer Ferrari 4000"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Acer laptop"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Advance Scorpius KI"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Apple"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Apple Aluminium (ANSI)"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Apple Aluminium (ISO)"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Apple Aluminium (JIS)"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Asus laptop"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Azona RF2300 Wireless Internet"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "BenQ X-Touch"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "BenQ X-Touch 730"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "BenQ X-Touch 800"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Brother Internet"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "BTC 5090"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "BTC 5113RF Multimedia"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "BTC 5126T"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "BTC 6301URF"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "BTC 9000"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "BTC 9000A"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "BTC 9001AH"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "BTC 9019U"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "BTC 9116U Mini Wireless Internet and Gaming"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Cherry Blue Line CyBo@rd"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Cherry Blue Line CyBo@rd (alt.)"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Cherry B.UNLIMITED"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Cherry CyBo@rd USB-Hub"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Cherry CyMotion Expert"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Cherry CyMotion Master Linux"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Cherry CyMotion Master XPress"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Chicony Internet"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Chicony KB-9885"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Chicony KU-0108"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Chicony KU-0420"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Chromebook"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Classmate PC"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Compal FL90"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Compaq Armada laptop"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Compaq Easy Access"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Compaq Internet (7 keys)"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Compaq Internet (13 keys)"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Compaq Internet (18 keys)"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Compaq iPaq"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Compaq Presario laptop"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Creative Desktop Wireless 7000"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Dell"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Dell 101-key PC"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Dell Latitude laptop"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Dell Inspiron 6000/8000 laptop"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Dell Precision M laptop"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Dell Precision M65 laptop"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Dell SK-8125"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Dell SK-8135"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Dell USB Multimedia"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Dexxa Wireless Desktop"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Diamond 9801/9802"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "DTK2000"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "eMachines m6800 laptop"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Ennyah DKB-1008"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Everex STEPnote"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Fujitsu-Siemens Amilo laptop"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Genius Comfy KB-16M/Multimedia KWD-910"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Genius Comfy KB-12e"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Genius Comfy KB-21e-Scroll"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Genius KB-19e NB"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Genius KKB-2050HS"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Gyration"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Happy Hacking"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Happy Hacking for Mac"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Hewlett-Packard Internet"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Hewlett-Packard Mini 110 laptop"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Hewlett-Packard nx9020"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Hewlett-Packard Omnibook 500"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Hewlett-Packard Omnibook 500 FA"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Hewlett-Packard Omnibook 6000/6100"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Hewlett-Packard Omnibook XE3 GC"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Hewlett-Packard Omnibook XE3 GF"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Hewlett-Packard Omnibook XT1000"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Hewlett-Packard Pavilion dv5"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Hewlett-Packard Pavilion ZT1100"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Hewlett-Packard SK-2501 Multimedia"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Honeywell Euroboard"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "IBM Rapid Access"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "IBM Rapid Access II"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "IBM Space Saver"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "IBM ThinkPad 560Z/600/600E/A22E"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "IBM ThinkPad R60/T60/R61/T61"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "IBM ThinkPad Z60m/Z60t/Z61m/Z61t"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Keytronic FlexPro"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Kinesis"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Logitech"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Logitech Access"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Logitech Cordless Desktop"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Logitech Cordless Desktop (alt.)"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Logitech Cordless Desktop EX110"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Logitech Cordless Desktop iTouch"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Logitech Cordless Desktop LX-300"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Logitech Cordless Desktop Navigator"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Logitech Cordless Desktop Optical"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Logitech diNovo"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Logitech diNovo Edge"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Logitech G15 extra keys via G15daemon"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Logitech Internet"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Logitech Internet 350"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Logitech Internet 350"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Logitech Internet Navigator"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Logitech iTouch"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Logitech iTouch Cordless Y-RB6"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Logitech iTouch Internet Navigator SE"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Logitech iTouch Internet Navigator SE USB"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Logitech Ultra-X"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Logitech Ultra-X Cordless Media Desktop"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "MacBook/MacBook Pro"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "MacBook/MacBook Pro (intl.)"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Macintosh"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Macintosh Old"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Memorex MX1998"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Memorex MX2500 EZ-Access"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Memorex MX2750"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Microsoft Comfort Curve 2000"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Microsoft Internet"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Microsoft Internet Pro (Swedish)"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Microsoft Natural"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Microsoft Natural Elite"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Microsoft Natural Ergonomic 4000"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Microsoft Natural Wireless Ergonomic 7000"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Microsoft Natural Pro/Internet Pro"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Microsoft Natural Pro USB/Internet Pro"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Microsoft Natural Pro OEM"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Microsoft Office Keyboard"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Microsoft Surface"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Microsoft Wireless Multimedia 1.0A"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "NEC SK-1300"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "NEC SK-2500"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "NEC SK-6200"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "NEC SK-7100"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Northgate OmniKey 101"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "OLPC"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Ortek Multimedia/Internet MCK-800"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "PC-98"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "PinePhone Keyboard"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Propeller Voyager KTEZ-1000"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "QTronix Scorpius 98N+"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Samsung SDM 4500P"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Samsung SDM 4510P"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Sanwa Supply SKB-KG3"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Silvercrest Multimedia Wireless"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "SteelSeries Apex 300 (Apex RAW)"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Sun Type 6 (Japanese)"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Sun Type 6 USB (Japanese)"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Sun Type 6 USB (Unix)"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Sun Type 6/7 USB"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Sun Type 6/7 USB (European)"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Sun Type 7 USB"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Sun Type 7 USB (European)"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Sun Type 7 USB (Japanese)/Japanese 106-key"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Sun Type 7 USB (Unix)"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Super Power Multimedia"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "SVEN Ergonomic 2500"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "SVEN Slim 303"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Symplon PaceBook tablet"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Targa Visionary 811"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Toshiba Satellite S3000"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Truly Ergonomic 227"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Truly Ergonomic 229"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Trust Direct Access"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Trust Slimline"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Trust Wireless Classic"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "TypeMatrix EZ-Reach 2020"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "TypeMatrix EZ-Reach 2030 PS2"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "TypeMatrix EZ-Reach 2030 USB"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "TypeMatrix EZ-Reach 2030 USB (102/105:EU mode)"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "TypeMatrix EZ-Reach 2030 USB (106:JP mode)"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Unitek KB-1925"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "ViewSonic KU-306 Internet"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Winbook Model XP5"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Yahoo! Internet"
|
||||||
|
msgstr ""
|
||||||
@ -0,0 +1,545 @@
|
|||||||
|
# Language translations for ubl-settings-keyboard package.
|
||||||
|
# Copyright (C) 2022, UBTech LLC
|
||||||
|
# This file is distributed under the same license as the ubl-settings-keyboard package.
|
||||||
|
# UBLinux Team <info@ublinux.com>, 2022
|
||||||
|
#
|
||||||
|
#, fuzzy
|
||||||
|
msgid ""
|
||||||
|
msgstr """Project-Id-Version: ubl-settings-keyboard 1.0\n"
|
||||||
|
"Report-Msgid-Bugs-To: \n"
|
||||||
|
"POT-Creation-Date: 2023-05-22 16:12+0600\n"
|
||||||
|
"PO-Revision-Date: \n"
|
||||||
|
"Last-Translator: \n"
|
||||||
|
"Language-Team: \n"
|
||||||
|
"Language: \n"
|
||||||
|
"MIME-Version: 1.0\n"
|
||||||
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
|
|
||||||
|
msgid "The \"< >\" key"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Right Ctrl"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Menu"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Any Win"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Left Win"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Right Win"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Any Alt"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Left Alt"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Right Alt"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Right Alt; Shift+Right Alt as Compose"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Right Alt never chooses 3rd level"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Enter on keypad"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Caps Lock"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Backslash"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Caps Lock; acts as onetime lock when pressed together with another 3rd-level chooser"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Backslash; acts as onetime lock when pressed together with another 3rd level chooser"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "The "< >" key; acts as onetime lock when pressed together with another 3rd level chooser"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Caps Lock as Ctrl"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Left Ctrl as Meta"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Swap Ctrl and Caps Lock"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Caps Lock as Ctrl, Ctrl as Hyper"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "To the left of \"A\""
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "At the bottom left"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Right Ctrl as Right Alt"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Menu as Right Ctrl"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Swap Left Alt with Left Ctrl"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Swap Right Alt with Right Ctrl"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Swap Left Win with Left Ctrl"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Swap Right Win with Right Ctrl"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Left Alt as Ctrl, Left Ctrl as Win, Left Win as Left Alt"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Num Lock"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Scroll Lock"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Compose"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Legacy"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Unicode arrows and math operators"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Unicode arrows and math operators on default level"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Legacy Wang 724"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Wang 724 keypad with Unicode arrows and math operators"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Wang 724 keypad with Unicode arrows and math operators on default level"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Hexadecimal"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Phone and ATM style"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Shift + Num Lock enables PointerKeys"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Legacy key with dot"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Legacy key with comma"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Four-level key with dot"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Four-level key with dot, Latin-9 only"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Four-level key with comma"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Four-level key with momayyez"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Four-level key with abstract separators"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Semicolon on third level"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Caps Lock uses internal capitalization; Shift "pauses" Caps Lock"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Caps Lock uses internal capitalization; Shift does not affect Caps Lock"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Caps Lock acts as Shift with locking; Shift "pauses" Caps Lock"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Caps Lock acts as Shift with locking; Shift does not affect Caps Lock"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Caps Lock toggles normal capitalization of alphabetic characters"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Caps Lock toggles Shift Lock (affects all keys)"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Swap Esc and Caps Lock"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Make Caps Lock an additional Esc"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Make Caps Lock an additional Esc, but Shift + Caps Lock is the regular Caps Lock"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Make Caps Lock an additional Backspace"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Make Caps Lock an additional Super"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Make Caps Lock an additional Hyper"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Make Caps Lock an additional Menu key"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Make Caps Lock an additional Num Lock"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Make Caps Lock an additional Ctrl"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Caps Lock is disabled"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Add the standard behavior to Menu key"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Menu is mapped to Win"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Alt and Meta are on Alt"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Alt is mapped to Win and the usual Alt"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Ctrl is mapped to Win and the usual Ctrl"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Ctrl is mapped to Right Win and the usual Ctrl"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Ctrl is mapped to Alt, Alt to Win"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Meta is mapped to Win"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Meta is mapped to Left Win"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Hyper is mapped to Win"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Alt is mapped to Right Win, Super to Menu"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Left Alt is swapped with Left Win"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Alt is swapped with Win"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Win is mapped to PrtSc and the usual Win"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "3rd level of Left Win"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "3rd level of Right Win"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "3rd level of Menu"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Left Ctrl"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "3rd level of Left Ctrl"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "3rd level of Right Ctrl"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "3rd level of Caps Lock"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "3rd level of the "< >" key"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Pause"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Insert"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "PrtSc"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "keypad"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "numpad"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "srvrkeys"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "apple"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "shift"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "misc"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "grab"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "eurosign"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "rupeesign"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Caps Lock chooses 5th level"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "The "< >" key chooses 5th level"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Right Alt chooses 5th level"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Menu chooses 5th level"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Right Ctrl chooses 5th level"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "The \"< >\" key chooses 5th level and acts as a one-time lock if pressed with another 5th level chooser"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Right Alt chooses 5th level and acts as a one-time lock if pressed with another 5th level chooser"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Left Win chooses 5th level and acts as a one-time lock if pressed with another 5th level chooser"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Right Win chooses 5th level and acts as a one-time lock if pressed with another 5th level chooser"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "The \"< >\" key chooses 5th level and acts as a one-time lock if pressed with another 5th level chooser"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Usual space at any level"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Non-breaking space at the 2nd level"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Non-breaking space at the 3rd level"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Non-breaking space at the 3rd level, thin non-breaking space at the 4th level"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Non-breaking space at the 4th level"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Non-breaking space at the 4th level, thin non-breaking space at the 6th level"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Non-breaking space at the 4th level, thin non-breaking space at the 6th level (via Ctrl+Shift)"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Zero-width non-joiner at the 2nd level"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Zero-width non-joiner at the 2nd level, zero-width joiner at the 3rd level"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Zero-width non-joiner at the 2nd level, zero-width joiner at the 3rd level, non-breaking space at the 4th level"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Zero-width non-joiner at the 2nd level, non-breaking space at the 3rd level"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Zero-width non-joiner at the 2nd level, non-breaking space at the 3rd level, zero-width joiner at the 4th level"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Zero-width non-joiner at the 2nd level, non-breaking space at the 3rd level, thin non-breaking space at the 4th level"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Zero-width non-joiner at the 3rd level, zero-width joiner at the 4th level"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Kana Lock key is locking"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "NICOLA-F style Backspace"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Make Zenkaku Hankaku an additional Esc"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Make right Alt a Hangul key"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Make right Ctrl a Hangul key"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Make right Alt a Hanja key"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Make right Ctrl a Hanja key"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "At the corresponding key in a QWERTY layout"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "At the corresponding key in a Dvorak layout"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "At the corresponding key in a Colemak layout"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Sun key compatibility"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Ctrl+Alt+Backspace"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Right Alt (while pressed)"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Left Alt (while pressed)"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Left Win (while pressed)"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Right Win (while pressed)"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Any Win (while pressed)"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Menu (while pressed), Shift+Menu for Menu"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Caps Lock (while pressed), Alt+Caps Lock for the original Caps Lock action"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Right Ctrl (while pressed)"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Right Alt"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Left Alt"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Caps Lock"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Shift+Caps Lock"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Caps Lock to first layout; Shift+Caps Lock to second layout"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Left Win to first layout; Right Win/Menu to second layout"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Left Ctrl to first layout; Right Ctrl to second layout"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Alt+Caps Lock"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Both Shifts together"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Both Alts together"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Both Alts together; AltGr alone chooses third level"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Both Ctrls together"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Ctrl+Shift"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Left Ctrl+Left Shift"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Right Ctrl+Right Shift"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Alt+Ctrl"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Alt+Shift"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Left Alt+Left Shift"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Right Alt+Right Shift"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Menu"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Left Win"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Alt+Space"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Win+Space"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Ctrl+Space"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Right Win"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Left Shift"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Right Shift"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Left Ctrl"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Right Ctrl"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Scroll Lock"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Ctrl+Left Win to first layout; Ctrl+Menu to second layout"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Left Ctrl+Left Win"
|
||||||
|
msgstr ""
|
||||||
@ -0,0 +1,90 @@
|
|||||||
|
#include "ubl-settings-keyboard.h"
|
||||||
|
|
||||||
|
void on_font_accept(GtkWidget *, layouts_window *window){
|
||||||
|
GtkWidget *output_widget = g_object_get_data(G_OBJECT(window->Window),"output");
|
||||||
|
if (gtk_switch_get_active(GTK_SWITCH(window->OptionsFilterCombo))){
|
||||||
|
gtk_entry_set_text(GTK_ENTRY(output_widget),"");
|
||||||
|
yon_config_remove_by_key(console_keymap_parameter);
|
||||||
|
on_subwindow_close(window->Window);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
char *target = (char*)gtk_entry_get_text(GTK_ENTRY(window->OptionsEntry));
|
||||||
|
if (yon_char_is_empty(target)){
|
||||||
|
yon_ubl_status_box_spawn(GTK_CONTAINER(window->StatusBox),yon_char_get_localised_from_lib(NOTHING_CHOSEN_LABEL),5,BACKGROUND_IMAGE_FAIL_TYPE);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
gtk_entry_set_text(GTK_ENTRY(output_widget),target);
|
||||||
|
yon_config_register(console_font_parameter,console_font_parameter_command,target);
|
||||||
|
on_subwindow_close(window->Window);
|
||||||
|
}
|
||||||
|
|
||||||
|
void on_font_selection_changed(GtkWidget *,layouts_window *window){
|
||||||
|
GtkTreeModel *model;
|
||||||
|
GtkTreeIter iter;
|
||||||
|
if (gtk_tree_selection_get_selected(gtk_tree_view_get_selection(GTK_TREE_VIEW(window->MainTree)),&model, &iter)){
|
||||||
|
char *target;
|
||||||
|
gtk_tree_model_get(model,&iter,0,&target,-1);
|
||||||
|
gtk_entry_set_text(GTK_ENTRY(window->OptionsEntry),target);
|
||||||
|
} else {
|
||||||
|
gtk_entry_set_text(GTK_ENTRY(window->OptionsEntry),"");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
layouts_window *yon_font_window_new(){
|
||||||
|
GtkBuilder *builder = gtk_builder_new_from_resource(glade_font_path);
|
||||||
|
layouts_window *window = malloc(sizeof(layouts_window));
|
||||||
|
memset(window,0,sizeof(layouts_window));
|
||||||
|
window->Window = yon_gtk_builder_get_widget(builder,"Window");
|
||||||
|
window->StatusBox = yon_gtk_builder_get_widget(builder,"StatusBox");
|
||||||
|
window->AcceptButton = yon_gtk_builder_get_widget(builder,"AcceptButton");
|
||||||
|
window->CancelButton = yon_gtk_builder_get_widget(builder,"CancelButton");
|
||||||
|
window->MainTree = yon_gtk_builder_get_widget(builder,"FontTree");
|
||||||
|
window->OptionsEntry = yon_gtk_builder_get_widget(builder,"ManualEntry");
|
||||||
|
window->OptionsFilterCombo = yon_gtk_builder_get_widget(builder,"DefaultSwitch");
|
||||||
|
window->OptionsList = GTK_LIST_STORE(gtk_builder_get_object(builder,"FontList"));
|
||||||
|
window->parameters = yon_char_new(config(keyboard_layout_parameter));
|
||||||
|
|
||||||
|
g_signal_connect(G_OBJECT(window->OptionsFilterCombo),"state-set",G_CALLBACK(yon_gtk_widget_set_sensitive_from_switch_inversed),window->MainTree);
|
||||||
|
g_signal_connect(G_OBJECT(window->OptionsFilterCombo),"state-set",G_CALLBACK(yon_gtk_widget_set_sensitive_from_switch_inversed),window->OptionsEntry);
|
||||||
|
g_signal_connect(G_OBJECT(window->MainTree),"cursor-changed",G_CALLBACK(on_font_selection_changed),window);
|
||||||
|
g_signal_connect(G_OBJECT(window->CancelButton),"clicked",G_CALLBACK(on_subwindow_close),NULL);
|
||||||
|
int font_size;
|
||||||
|
int size;
|
||||||
|
config_str fonts = yon_resource_open_file(font_list_path, &font_size);
|
||||||
|
for (int i=0;i<font_size;i++){
|
||||||
|
yon_char_remove_last_symbol(fonts[i],'\n');
|
||||||
|
}
|
||||||
|
GtkTreeIter iter;
|
||||||
|
config_str parameters = yon_config_load(tty_font_command,&size);
|
||||||
|
char *config_value = config(console_font_parameter);
|
||||||
|
if (yon_char_is_empty(config_value)){
|
||||||
|
gtk_switch_set_active(GTK_SWITCH(window->OptionsFilterCombo),0);
|
||||||
|
}
|
||||||
|
for (int i=0;i<size;i++){
|
||||||
|
yon_char_remove_last_symbol(parameters[i],'\n');
|
||||||
|
char *found = yon_char_parsed_check_exist_begins_with(fonts,font_size,parameters[i]);
|
||||||
|
if (found){
|
||||||
|
int parsed_size;
|
||||||
|
config_str parsed = yon_char_parse(found,&parsed_size,";");
|
||||||
|
gtk_list_store_append(GTK_LIST_STORE(window->OptionsList),&iter);
|
||||||
|
gtk_list_store_set(GTK_LIST_STORE(window->OptionsList),&iter,0,parsed[0],1,parsed[1],-1);
|
||||||
|
if (!yon_char_is_empty(config_value)&&!strcmp(parsed[0],config_value)){
|
||||||
|
gtk_tree_selection_select_iter(gtk_tree_view_get_selection(GTK_TREE_VIEW(window->MainTree)),&iter);
|
||||||
|
gtk_entry_set_text(GTK_ENTRY(window->OptionsEntry),config_value);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (yon_char_is_empty(config_value)){
|
||||||
|
gtk_switch_set_active(GTK_SWITCH(window->OptionsFilterCombo),1);
|
||||||
|
}
|
||||||
|
return window;
|
||||||
|
}
|
||||||
|
|
||||||
|
void yon_font_open(GtkWidget *,main_window *widgets){
|
||||||
|
layouts_window *window = yon_font_window_new();
|
||||||
|
g_object_set_data(G_OBJECT(window->Window),"output",widgets->TTYFontEntry);
|
||||||
|
yon_gtk_window_setup(GTK_WINDOW(window->Window),GTK_WINDOW(widgets->Window),FONT_TITLE_LABEL,icon_path,"font-window");
|
||||||
|
|
||||||
|
g_object_set_data(G_OBJECT(window->Window),"widgets",widgets);
|
||||||
|
g_signal_connect(G_OBJECT(window->AcceptButton),"clicked",G_CALLBACK(on_font_accept),window);
|
||||||
|
}
|
||||||
@ -0,0 +1,108 @@
|
|||||||
|
#include "ubl-settings-keyboard.h"
|
||||||
|
|
||||||
|
void on_keymaps_accept(GtkWidget *, layouts_window *window){
|
||||||
|
main_window *widgets = g_object_get_data(G_OBJECT(window->Window),"widgets");
|
||||||
|
GtkWidget *output_widget = g_object_get_data(G_OBJECT(window->Window),"output");
|
||||||
|
if (gtk_switch_get_active(GTK_SWITCH(window->OptionsFilterCombo))){
|
||||||
|
gtk_entry_set_text(GTK_ENTRY(output_widget),"");
|
||||||
|
yon_config_remove_by_key(console_keymap_parameter);
|
||||||
|
on_subwindow_close(window->Window);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
char *target = (char*)gtk_entry_get_text(GTK_ENTRY(window->OptionsEntry));
|
||||||
|
if (yon_char_is_empty(target)){
|
||||||
|
yon_ubl_status_box_spawn(GTK_CONTAINER(window->StatusBox),yon_char_get_localised_from_lib(NOTHING_CHOSEN_LABEL),5,BACKGROUND_IMAGE_FAIL_TYPE);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
if (output_widget == widgets->TTYLayoutEntry){
|
||||||
|
gtk_entry_set_text(GTK_ENTRY(output_widget),target);
|
||||||
|
yon_config_register(console_keymap_parameter,console_keymap_parameter_command,target);
|
||||||
|
|
||||||
|
} else {
|
||||||
|
gtk_entry_set_text(GTK_ENTRY(output_widget),target);
|
||||||
|
yon_config_register(console_keymap_toggle_parameter,console_keymap_parameter_command,target);
|
||||||
|
|
||||||
|
}
|
||||||
|
on_subwindow_close(window->Window);
|
||||||
|
}
|
||||||
|
|
||||||
|
void on_keymaps_selection_changed(GtkWidget *,layouts_window *window){
|
||||||
|
GtkTreeModel *model;
|
||||||
|
GtkTreeIter iter;
|
||||||
|
if (gtk_tree_selection_get_selected(gtk_tree_view_get_selection(GTK_TREE_VIEW(window->MainTree)),&model, &iter)){
|
||||||
|
char *target;
|
||||||
|
gtk_tree_model_get(model,&iter,0,&target,-1);
|
||||||
|
gtk_entry_set_text(GTK_ENTRY(window->OptionsEntry),target);
|
||||||
|
} else {
|
||||||
|
gtk_entry_set_text(GTK_ENTRY(window->OptionsEntry),"");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
layouts_window *yon_keymaps_window_new(){
|
||||||
|
GtkBuilder *builder = gtk_builder_new_from_resource(glade_keymaps_path);
|
||||||
|
layouts_window *window = malloc(sizeof(layouts_window));
|
||||||
|
memset(window,0,sizeof(layouts_window));
|
||||||
|
window->Window = yon_gtk_builder_get_widget(builder,"Window");
|
||||||
|
window->StatusBox = yon_gtk_builder_get_widget(builder,"StatusBox");
|
||||||
|
window->AcceptButton = yon_gtk_builder_get_widget(builder,"AcceptButton");
|
||||||
|
window->CancelButton = yon_gtk_builder_get_widget(builder,"CancelButton");
|
||||||
|
window->MainTree = yon_gtk_builder_get_widget(builder,"KeymapTree");
|
||||||
|
window->parameters = yon_char_new(config(keyboard_layout_parameter));
|
||||||
|
window->OptionsEntry = yon_gtk_builder_get_widget(builder,"ManualEntry");
|
||||||
|
window->OptionsFilterCombo = yon_gtk_builder_get_widget(builder,"DefaultSwitch");
|
||||||
|
window->OptionsList = GTK_LIST_STORE(gtk_builder_get_object(builder,"KeymapList"));
|
||||||
|
|
||||||
|
g_signal_connect(G_OBJECT(window->OptionsFilterCombo),"state-set",G_CALLBACK(yon_gtk_widget_set_sensitive_from_switch_inversed),window->MainTree);
|
||||||
|
g_signal_connect(G_OBJECT(window->OptionsFilterCombo),"state-set",G_CALLBACK(yon_gtk_widget_set_sensitive_from_switch_inversed),window->OptionsEntry);
|
||||||
|
g_signal_connect(G_OBJECT(window->MainTree),"cursor-changed",G_CALLBACK(on_keymaps_selection_changed),window);
|
||||||
|
g_signal_connect(G_OBJECT(window->CancelButton),"clicked",G_CALLBACK(on_subwindow_close),NULL);
|
||||||
|
return window;
|
||||||
|
}
|
||||||
|
|
||||||
|
void yon_keymaps_open(GtkWidget *self,main_window *widgets){
|
||||||
|
layouts_window *window = yon_keymaps_window_new();
|
||||||
|
if (self == widgets->TTYLayoutButton){
|
||||||
|
yon_gtk_window_setup(GTK_WINDOW(window->Window),GTK_WINDOW(widgets->Window),KEYBOARD_LAYOUT_LABEL,icon_path,"font-window");
|
||||||
|
g_object_set_data(G_OBJECT(window->Window),"output",widgets->TTYLayoutEntry);
|
||||||
|
} else {
|
||||||
|
yon_gtk_window_setup(GTK_WINDOW(window->Window),GTK_WINDOW(widgets->Window),KEYMAP_TITLE_LABEL,icon_path,"font-window");
|
||||||
|
g_object_set_data(G_OBJECT(window->Window),"output",widgets->TTYSecondLayoutEntry);
|
||||||
|
}
|
||||||
|
g_object_set_data(G_OBJECT(window->Window),"widgets",widgets);
|
||||||
|
g_signal_connect(G_OBJECT(window->AcceptButton),"clicked",G_CALLBACK(on_keymaps_accept),window);
|
||||||
|
|
||||||
|
int keymap_size;
|
||||||
|
int size;
|
||||||
|
config_str keymaps = yon_resource_open_file(keymap_list_path, &keymap_size);
|
||||||
|
for (int i=0;i<keymap_size;i++){
|
||||||
|
yon_char_remove_last_symbol(keymaps[i],'\n');
|
||||||
|
}
|
||||||
|
GtkTreeIter iter;
|
||||||
|
config_str parameters = yon_config_load(tty_keymap_command,&size);
|
||||||
|
char *config_value = NULL;
|
||||||
|
if (self == widgets->TTYLayoutButton){
|
||||||
|
config_value = config(console_keymap_parameter);
|
||||||
|
} else {
|
||||||
|
config_value = config(console_keymap_toggle_parameter);
|
||||||
|
}
|
||||||
|
if (yon_char_is_empty(config_value)){
|
||||||
|
gtk_switch_set_active(GTK_SWITCH(window->OptionsFilterCombo),0);
|
||||||
|
}
|
||||||
|
for (int i=0;i<size;i++){
|
||||||
|
yon_char_remove_last_symbol(parameters[i],'\n');
|
||||||
|
char *found = yon_char_parsed_check_exist_begins_with(keymaps,keymap_size,parameters[i]);
|
||||||
|
if (found){
|
||||||
|
int parsed_size;
|
||||||
|
config_str parsed = yon_char_parse(found,&parsed_size,";");
|
||||||
|
gtk_list_store_append(GTK_LIST_STORE(window->OptionsList),&iter);
|
||||||
|
gtk_list_store_set(GTK_LIST_STORE(window->OptionsList),&iter,0,parsed[0],1,parsed[1],2,parsed[2],-1);
|
||||||
|
if (!yon_char_is_empty(config_value)&&!strcmp(parsed[0],config_value)){
|
||||||
|
gtk_tree_selection_select_iter(gtk_tree_view_get_selection(GTK_TREE_VIEW(window->MainTree)),&iter);
|
||||||
|
gtk_entry_set_text(GTK_ENTRY(window->OptionsEntry),config_value);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (yon_char_is_empty(config_value)){
|
||||||
|
gtk_switch_set_active(GTK_SWITCH(window->OptionsFilterCombo),1);
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -0,0 +1,253 @@
|
|||||||
|
#include "ubl-settings-keyboard.h"
|
||||||
|
|
||||||
|
void on_layouts_accept(GtkWidget *self, layouts_window *window){
|
||||||
|
main_window *widgets = g_object_get_data(G_OBJECT(window->Window),"widgets");
|
||||||
|
if (!yon_char_is_empty(window->parameters)){
|
||||||
|
yon_config_register(keyboard_layout_parameter,keyboard_layout_parameter_command,window->parameters);
|
||||||
|
} else {
|
||||||
|
yon_config_remove_by_key(keyboard_layout_parameter);
|
||||||
|
}
|
||||||
|
on_subwindow_close(self);
|
||||||
|
yon_interface_update(widgets);
|
||||||
|
}
|
||||||
|
|
||||||
|
void on_layouts_chosen(GtkCellRenderer *, gchar *path, layouts_window *window){
|
||||||
|
GtkTreeIter iter;
|
||||||
|
gtk_tree_model_get_iter_from_string(GTK_TREE_MODEL(window->list),&iter,path);
|
||||||
|
int chosen;
|
||||||
|
char *layout, *variant;
|
||||||
|
gtk_tree_model_get(GTK_TREE_MODEL(window->list),&iter,0,&layout,1,&variant,3,&chosen,-1);
|
||||||
|
gtk_tree_store_set(GTK_TREE_STORE(window->list),&iter,3,!chosen,-1);
|
||||||
|
|
||||||
|
|
||||||
|
char *full_layout = NULL;
|
||||||
|
if (!yon_char_is_empty(variant)){
|
||||||
|
full_layout = yon_char_unite(layout,"_",variant,NULL);
|
||||||
|
} else {
|
||||||
|
full_layout = layout;
|
||||||
|
}
|
||||||
|
if (!chosen){
|
||||||
|
char *temp = yon_char_append_element(window->parameters,full_layout,",");
|
||||||
|
free(window->parameters);
|
||||||
|
window->parameters = temp;
|
||||||
|
} else {
|
||||||
|
char *temp = yon_char_remove_element(window->parameters,full_layout,",");
|
||||||
|
free(window->parameters);
|
||||||
|
window->parameters = temp;
|
||||||
|
}
|
||||||
|
free(full_layout);
|
||||||
|
}
|
||||||
|
|
||||||
|
void on_system_layouts_add(GtkWidget *, main_window *widgets){
|
||||||
|
yon_layouts_add(GTK_TREE_VIEW(widgets->LayoutTree),widgets->LayoutsList,widgets);
|
||||||
|
}
|
||||||
|
|
||||||
|
layouts_window *yon_layouts_window_new(){
|
||||||
|
GtkBuilder *builder = gtk_builder_new_from_resource(glade_layouts_path);
|
||||||
|
layouts_window *window = malloc(sizeof(layouts_window));
|
||||||
|
memset(window,0,sizeof(layouts_window));
|
||||||
|
window->Window = yon_gtk_builder_get_widget(builder,"Window");
|
||||||
|
window->AcceptButton = yon_gtk_builder_get_widget(builder,"AcceptButton");
|
||||||
|
window->CancelButton = yon_gtk_builder_get_widget(builder,"CancelButton");
|
||||||
|
window->ChosenCell = GTK_CELL_RENDERER(gtk_builder_get_object(builder,"ChosenCell"));
|
||||||
|
window->MainTree = yon_gtk_builder_get_widget(builder,"LayoutsTree");
|
||||||
|
window->parameters = yon_char_new(config(keyboard_layout_parameter));
|
||||||
|
|
||||||
|
g_signal_connect(G_OBJECT(window->CancelButton),"clicked",G_CALLBACK(on_subwindow_close),NULL);
|
||||||
|
g_signal_connect(G_OBJECT(window->ChosenCell),"toggled",G_CALLBACK(on_layouts_chosen),window);
|
||||||
|
return window;
|
||||||
|
}
|
||||||
|
|
||||||
|
void yon_layouts_add(GtkTreeView *, GtkListStore *, main_window *widgets){
|
||||||
|
layouts_window *window = yon_layouts_window_new();
|
||||||
|
yon_gtk_window_setup(GTK_WINDOW(window->Window),GTK_WINDOW(widgets->Window),TITLE_LABEL,icon_path,"layout_window");
|
||||||
|
|
||||||
|
window->list = main_config.layouts_store;
|
||||||
|
|
||||||
|
gtk_tree_view_set_model(GTK_TREE_VIEW(window->MainTree), GTK_TREE_MODEL(main_config.layouts_store));
|
||||||
|
gtk_tree_view_column_clicked(GTK_TREE_VIEW_COLUMN(gtk_tree_view_get_column(GTK_TREE_VIEW(window->MainTree),0)));
|
||||||
|
yon_layout_build(window);
|
||||||
|
g_object_set_data(G_OBJECT(window->Window),"widgets",widgets);
|
||||||
|
g_signal_connect(G_OBJECT(window->AcceptButton),"clicked",G_CALLBACK(on_layouts_accept),window);
|
||||||
|
|
||||||
|
char *languages = config(keyboard_layout_parameter);
|
||||||
|
int size;
|
||||||
|
config_str parsed = yon_char_parse(languages,&size,",");
|
||||||
|
GtkTreeIter iter,itar;
|
||||||
|
for_iter(window->list,&iter){
|
||||||
|
int found = 0;
|
||||||
|
char *id, *id_var;
|
||||||
|
gtk_tree_model_get(GTK_TREE_MODEL(window->list),&iter,0,&id,-1);
|
||||||
|
for (int i=0;i<size;i++){
|
||||||
|
char *key, *variant = NULL;
|
||||||
|
variant = yon_char_new(parsed[i]);
|
||||||
|
key = yon_char_divide_search(variant,"_",-1);
|
||||||
|
key = yon_char_new(parsed[i]);
|
||||||
|
if (!strcmp(id,key)&&((!variant))){
|
||||||
|
gtk_tree_store_set(GTK_TREE_STORE(window->list),&iter,3,1,-1);
|
||||||
|
found=1;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (!found) {
|
||||||
|
gtk_tree_store_set(GTK_TREE_STORE(window->list),&iter,3,0,-1);
|
||||||
|
}
|
||||||
|
if (gtk_tree_model_iter_children(GTK_TREE_MODEL(window->list),&itar,&iter)){
|
||||||
|
for (int valid2=1;valid2;valid2 = gtk_tree_model_iter_next(GTK_TREE_MODEL(window->list),&itar)){
|
||||||
|
gtk_tree_model_get(GTK_TREE_MODEL(window->list),&itar,0,&id,1,&id_var,-1);
|
||||||
|
for (int i=0;i<size;i++){
|
||||||
|
char *key, *variant = NULL;
|
||||||
|
variant = yon_char_new(parsed[i]);
|
||||||
|
key = yon_char_divide_search(variant,"_",-1);
|
||||||
|
if (!strcmp(key,id)&&!yon_char_is_empty(id_var)&&!strcmp(variant,id_var)){
|
||||||
|
gtk_tree_store_set(GTK_TREE_STORE(window->list),&itar,3,1,-1);
|
||||||
|
found=1;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void yon_layouts_remove(GtkTreeView *tree, GtkListStore *cur_list, main_window *widgets){
|
||||||
|
GtkTreeModel *model = GTK_TREE_MODEL(cur_list);
|
||||||
|
GtkTreeIter iter;
|
||||||
|
if (gtk_tree_selection_get_selected(gtk_tree_view_get_selection(tree),&model,&iter)){
|
||||||
|
dialog_confirmation_data *data = yon_confirmation_dialog_data_new();
|
||||||
|
data->action_text = LAYOUT_REMOVE_LABEL;
|
||||||
|
data->title = LAYOUT_REMOVE_TITLE_LABEL;
|
||||||
|
if (yon_confirmation_dialog_call(widgets->Window,data)!=GTK_RESPONSE_ACCEPT) return;
|
||||||
|
char *layout, *variant;
|
||||||
|
gtk_tree_model_get(model,&iter,0,&layout,1,&variant,-1);
|
||||||
|
if (!yon_char_is_empty(variant)){
|
||||||
|
char *temp = yon_char_unite(layout,"_",variant,NULL);
|
||||||
|
free(layout);
|
||||||
|
layout = temp;
|
||||||
|
}
|
||||||
|
yon_config_remove_element(keyboard_layout_parameter,layout,",");
|
||||||
|
}
|
||||||
|
yon_interface_update(widgets);
|
||||||
|
}
|
||||||
|
|
||||||
|
void on_system_layouts_remove(GtkWidget *, main_window *widgets){
|
||||||
|
yon_layouts_remove(GTK_TREE_VIEW(widgets->LayoutTree),widgets->LayoutsList,widgets);
|
||||||
|
}
|
||||||
|
|
||||||
|
// standard functions
|
||||||
|
|
||||||
|
config_str yon_layout_get_children(char *layout_id, int *size){
|
||||||
|
(*size)=0;
|
||||||
|
config_str final = NULL;
|
||||||
|
for (int i=0;i<main_config.variants_size;i++){
|
||||||
|
int parsed_size;
|
||||||
|
config_str parsed = yon_char_parse(main_config.variants_list[i],&parsed_size,"|");
|
||||||
|
if (!strcmp(parsed[0],layout_id)){
|
||||||
|
yon_char_parsed_add_or_create_if_exists(final,size,main_config.variants_list[i]);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return final;
|
||||||
|
}
|
||||||
|
|
||||||
|
void yon_layout_load(char *layout,main_window *widgets){
|
||||||
|
GtkTreeIter iter;
|
||||||
|
if (strstr(layout,"_")){
|
||||||
|
char *cur_variant = yon_char_new(layout);
|
||||||
|
char *cur_layout = yon_char_divide_search(cur_variant,"_",-1);
|
||||||
|
for (int i=0;i<main_config.variants_size;i++){
|
||||||
|
int parsed_size;
|
||||||
|
config_str parsed = yon_char_parse(main_config.variants_list[i],&parsed_size,"|");
|
||||||
|
if (!strcmp(parsed[0],cur_layout)&&!strcmp(parsed[1],cur_variant)){
|
||||||
|
gtk_list_store_append(widgets->LayoutsList,&iter);
|
||||||
|
gtk_list_store_set(widgets->LayoutsList,&iter,0,parsed[0],1,parsed[1],2,_(parsed[2]),-1);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
} else {
|
||||||
|
for (int i=0;i<main_config.layouts_size;i++){
|
||||||
|
int parsed_size;
|
||||||
|
config_str parsed = yon_char_parse(main_config.layouts_list[i],&parsed_size,"|");
|
||||||
|
if (!strcmp(parsed[0],layout)){
|
||||||
|
gtk_list_store_append(widgets->LayoutsList,&iter);
|
||||||
|
gtk_list_store_set(widgets->LayoutsList,&iter,0,parsed[0],2,_(parsed[1]),-1);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void yon_layout_build(layouts_window *window){
|
||||||
|
gtk_tree_store_clear(window->list);
|
||||||
|
GtkTreeIter parent;
|
||||||
|
GtkTreeIter iter;
|
||||||
|
int size;
|
||||||
|
config_str layouts = yon_config_load(layouts_command,&size);
|
||||||
|
for (int i=0;i<size;i++){
|
||||||
|
yon_char_remove_last_symbol(layouts[i],'\n');
|
||||||
|
int parsed_size;
|
||||||
|
config_str parsed = yon_char_parse(layouts[i],&parsed_size,"|");
|
||||||
|
gtk_tree_store_append(window->list,&parent,NULL);
|
||||||
|
gtk_tree_store_set(window->list,&parent,0,parsed[0],2,_(parsed[1]),-1);
|
||||||
|
int variants_size;
|
||||||
|
config_str variants = yon_layout_get_children(parsed[0],&variants_size);
|
||||||
|
yon_char_parsed_free(parsed,parsed_size);
|
||||||
|
for (int k=0;k<variants_size;k++){
|
||||||
|
parsed = yon_char_parse(variants[k],&parsed_size,"|");
|
||||||
|
gtk_tree_store_append(window->list,&iter,&parent);
|
||||||
|
gtk_tree_store_set(window->list,&iter,0,parsed[0],1,parsed[1],2,_(parsed[2]),-1);
|
||||||
|
yon_char_parsed_free(parsed,parsed_size);
|
||||||
|
}
|
||||||
|
yon_char_parsed_free(variants,variants_size);
|
||||||
|
|
||||||
|
}
|
||||||
|
yon_char_parsed_free(layouts,size);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
void on_layout_move_up(GtkWidget *, main_window *widgets){
|
||||||
|
GtkTreeModel *model;
|
||||||
|
GtkTreeIter iter,*previter;
|
||||||
|
if (gtk_tree_selection_get_selected(gtk_tree_view_get_selection(GTK_TREE_VIEW(widgets->LayoutTree)),&model,&iter)){
|
||||||
|
previter = gtk_tree_iter_copy(&iter);
|
||||||
|
if (!gtk_tree_model_iter_previous(model,previter)) return;
|
||||||
|
char *a, *b;
|
||||||
|
gtk_tree_model_get(model,&iter,0,&a,-1);
|
||||||
|
gtk_tree_model_get(model,previter,0,&b,-1);
|
||||||
|
char *layouts = config(keyboard_layout_parameter);
|
||||||
|
char *temp = yon_char_swap_element(layouts,a,b,",");
|
||||||
|
yon_config_register(keyboard_layout_parameter,keyboard_layout_parameter_command,temp);
|
||||||
|
free(temp);
|
||||||
|
gtk_list_store_swap(widgets->LayoutsList,&iter,previter);
|
||||||
|
gtk_tree_iter_free(previter);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void on_layout_move_down(GtkWidget *, main_window *widgets){
|
||||||
|
GtkTreeModel *model;
|
||||||
|
GtkTreeIter iter,*nextiter;
|
||||||
|
if (gtk_tree_selection_get_selected(gtk_tree_view_get_selection(GTK_TREE_VIEW(widgets->LayoutTree)),&model,&iter)){
|
||||||
|
nextiter = gtk_tree_iter_copy(&iter);
|
||||||
|
if (!gtk_tree_model_iter_next(model,nextiter)) return;
|
||||||
|
char *a, *b;
|
||||||
|
gtk_tree_model_get(model,&iter,0,&a,-1);
|
||||||
|
gtk_tree_model_get(model,nextiter,0,&b,-1);
|
||||||
|
char *layouts = config(keyboard_layout_parameter);
|
||||||
|
char *temp = yon_char_swap_element(layouts,a,b,",");
|
||||||
|
yon_config_register(keyboard_layout_parameter,keyboard_layout_parameter_command,temp);
|
||||||
|
free(temp);
|
||||||
|
gtk_list_store_swap(widgets->LayoutsList,&iter,nextiter);
|
||||||
|
gtk_tree_iter_free(nextiter);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// void on_layout_dnd_inserted(GtkTreeModel *, GtkTreePath* , GtkTreeIter* iter, main_window *widgets){
|
||||||
|
// char *target;
|
||||||
|
// gtk_tree_model_get(GTK_TREE_MODEL(widgets->LayoutsList),iter,0,&target,-1);
|
||||||
|
// }
|
||||||
|
|
||||||
|
// void on_layout_dnd_deleted(GtkTreeModel *, GtkTreePath* , GtkTreeIter* iter, main_window *widgets){
|
||||||
|
|
||||||
|
// char *target;
|
||||||
|
// gtk_tree_model_get(GTK_TREE_MODEL(widgets->LayoutsList),iter,0,&target,-1);
|
||||||
|
// printf("%s\n",target);
|
||||||
|
// }
|
||||||
@ -0,0 +1,177 @@
|
|||||||
|
#include "ubl-settings-keyboard.h"
|
||||||
|
|
||||||
|
void on_option_chosen(GtkCellRenderer *, gchar *path, layouts_window *window){
|
||||||
|
GtkTreeIter iter;
|
||||||
|
GtkTreeIter itar;
|
||||||
|
gtk_tree_model_get_iter_from_string(GTK_TREE_MODEL(window->OptionsFilter),&iter,path);
|
||||||
|
gtk_tree_model_filter_convert_iter_to_child_iter(GTK_TREE_MODEL_FILTER(window->OptionsFilter),&itar,&iter);
|
||||||
|
int chosen;
|
||||||
|
char *target;
|
||||||
|
gtk_tree_model_get(GTK_TREE_MODEL(window->OptionsList),&itar,0,&target,2,&chosen,-1);
|
||||||
|
gtk_list_store_set(GTK_LIST_STORE(window->OptionsList),&itar,2,!chosen,-1);
|
||||||
|
|
||||||
|
char *options_string = yon_char_new(gtk_entry_get_text(GTK_ENTRY(window->OptionsEntry)));
|
||||||
|
if (!chosen){
|
||||||
|
char *temp = yon_char_append_element(options_string,target,",");
|
||||||
|
gtk_entry_set_text(GTK_ENTRY(window->OptionsEntry),temp);
|
||||||
|
free(temp);
|
||||||
|
} else {
|
||||||
|
char *temp = yon_char_remove_element(options_string,target,",");
|
||||||
|
gtk_entry_set_text(GTK_ENTRY(window->OptionsEntry),temp);
|
||||||
|
free(temp);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
gboolean yon_filter_refilter(GtkTreeModel *model, GtkTreeIter *iter, layouts_window *window){
|
||||||
|
char *target_id;
|
||||||
|
const char *id = gtk_combo_box_get_active_id(GTK_COMBO_BOX(window->OptionsFilterCombo));
|
||||||
|
if (yon_char_is_empty(id)) return 0;
|
||||||
|
gtk_tree_model_get(model,iter,0,&target_id,-1);
|
||||||
|
char *filter_section = yon_char_divide_search(target_id,":",-1);
|
||||||
|
int result = !strcmp(filter_section,id);
|
||||||
|
if (target_id)
|
||||||
|
free(target_id);
|
||||||
|
if (filter_section)
|
||||||
|
free(filter_section);
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
|
||||||
|
void yon_options_setup(layouts_window *window){
|
||||||
|
int size;
|
||||||
|
config_str option_commands = yon_char_parsed_new(&size,
|
||||||
|
lv2_options_command,
|
||||||
|
lv3_options_command,
|
||||||
|
ctrl_options_command,
|
||||||
|
grp_led_options_command,
|
||||||
|
mod_led_options_command,
|
||||||
|
keypad_options_command,
|
||||||
|
kpdl_options_command,
|
||||||
|
caps_options_command,
|
||||||
|
altwin_options_command,
|
||||||
|
Compose_options_command,
|
||||||
|
compat_options_command,
|
||||||
|
currencysign_options_command,
|
||||||
|
lv5_options_command,
|
||||||
|
nbsp_options_command,
|
||||||
|
japan_options_command,
|
||||||
|
korean_options_command,
|
||||||
|
esperanto_options_command,
|
||||||
|
solaris_options_command,
|
||||||
|
terminate_options_command,
|
||||||
|
NULL);
|
||||||
|
|
||||||
|
char *command_full = yon_char_parsed_to_string(option_commands,size,"; ");
|
||||||
|
|
||||||
|
int options_size;
|
||||||
|
config_str options = yon_config_load(command_full,&options_size);
|
||||||
|
GtkTreeIter iter;
|
||||||
|
|
||||||
|
int filter_size;
|
||||||
|
config_str filter = NULL;
|
||||||
|
|
||||||
|
char *config_options = config(options_parameter);
|
||||||
|
|
||||||
|
for (int i=0;i<options_size;i++){
|
||||||
|
yon_char_remove_last_symbol(options[i],'\n');
|
||||||
|
int parsed_size;
|
||||||
|
config_str parsed = yon_char_parse(options[i],&parsed_size,"|");
|
||||||
|
gtk_list_store_append(window->OptionsList,&iter);
|
||||||
|
gtk_list_store_set(window->OptionsList,&iter,0,parsed[0],1,_(parsed[1]),2,yon_char_check_element(config_options,parsed[0],","),-1);
|
||||||
|
char *str = yon_char_new(parsed[0]);
|
||||||
|
char *type = yon_char_divide_search(str,":",-1);
|
||||||
|
if (yon_char_parsed_check_exist(filter,filter_size,type)==-1){
|
||||||
|
yon_char_parsed_add_or_create_if_exists(filter,&filter_size,type);
|
||||||
|
gtk_combo_box_text_append(GTK_COMBO_BOX_TEXT(window->OptionsFilterCombo),type,type);
|
||||||
|
}
|
||||||
|
if (!yon_char_is_empty(str))free(str);
|
||||||
|
if (!yon_char_is_empty(type))free(type);
|
||||||
|
yon_char_parsed_free(parsed,parsed_size);
|
||||||
|
}
|
||||||
|
gtk_combo_box_set_active(GTK_COMBO_BOX(window->OptionsFilterCombo),0);
|
||||||
|
yon_char_parsed_free(filter,filter_size);
|
||||||
|
yon_char_parsed_free(option_commands,size);
|
||||||
|
}
|
||||||
|
|
||||||
|
void on_options_filter_changed(GtkWidget *, layouts_window *window){
|
||||||
|
gtk_tree_model_filter_refilter(GTK_TREE_MODEL_FILTER(window->OptionsFilter));
|
||||||
|
}
|
||||||
|
|
||||||
|
void on_options_accept(GtkWidget *self, layouts_window *window){
|
||||||
|
main_window *widgets = g_object_get_data(G_OBJECT(window->Window),"widgets");
|
||||||
|
char *options = (char*)gtk_entry_get_text(GTK_ENTRY(window->OptionsEntry));
|
||||||
|
if (!yon_char_is_empty(options)){
|
||||||
|
yon_config_register(options_parameter,options_parameter_command,options);
|
||||||
|
} else {
|
||||||
|
yon_config_remove_by_key(options_parameter);
|
||||||
|
}
|
||||||
|
on_subwindow_close(self);
|
||||||
|
yon_interface_update(widgets);
|
||||||
|
}
|
||||||
|
|
||||||
|
void on_options_save(GtkWidget *,main_window *widgets){
|
||||||
|
char *main_id = (char*)gtk_combo_box_get_active_id(GTK_COMBO_BOX(widgets->LayoutChangingCombo));
|
||||||
|
int parameter_parsed_size;
|
||||||
|
config_str parameter_parsed = NULL;
|
||||||
|
yon_char_parsed_add_or_create_if_exists(parameter_parsed,¶meter_parsed_size,!yon_char_is_empty(main_id)?main_id:"");
|
||||||
|
GtkTreeIter iter;
|
||||||
|
for_iter(GTK_TREE_MODEL(widgets->OptionsList),&iter){
|
||||||
|
char *cur_id;
|
||||||
|
gtk_tree_model_get(GTK_TREE_MODEL(widgets->OptionsList),&iter,0,&cur_id,-1);
|
||||||
|
yon_char_parsed_add_or_create_if_exists(parameter_parsed,¶meter_parsed_size,cur_id);
|
||||||
|
}
|
||||||
|
char *final_parameter = yon_char_parsed_to_string_full(parameter_parsed,parameter_parsed_size,",");
|
||||||
|
yon_char_parsed_free(parameter_parsed,parameter_parsed_size);
|
||||||
|
if (!yon_char_is_empty(final_parameter)){
|
||||||
|
yon_config_register(options_parameter,options_parameter_command,final_parameter);
|
||||||
|
free(final_parameter);
|
||||||
|
} else {
|
||||||
|
yon_config_remove_by_key(options_parameter);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
layouts_window *yon_options_window_new(){
|
||||||
|
|
||||||
|
GtkBuilder *builder = gtk_builder_new_from_resource(glade_options_path);
|
||||||
|
layouts_window *window = malloc(sizeof(layouts_window));
|
||||||
|
window->Window = yon_gtk_builder_get_widget(builder,"Window");
|
||||||
|
window->AcceptButton = yon_gtk_builder_get_widget(builder,"AcceptButton");
|
||||||
|
window->CancelButton = yon_gtk_builder_get_widget(builder,"CancelButton");
|
||||||
|
window->MainTree = yon_gtk_builder_get_widget(builder,"OptionsTree");
|
||||||
|
window->OptionsFilterCombo = yon_gtk_builder_get_widget(builder,"OptionsFilterCombo");
|
||||||
|
window->OptionsEntry = yon_gtk_builder_get_widget(builder,"OptionsEntry");
|
||||||
|
window->OptionsList = GTK_LIST_STORE(gtk_builder_get_object(builder,"OptionsList"));
|
||||||
|
window->OptionsFilter = GTK_TREE_MODEL(gtk_builder_get_object(builder,"OptionsFilter"));
|
||||||
|
window->ChosenCell = GTK_CELL_RENDERER(gtk_builder_get_object(builder,"ChosenCell"));
|
||||||
|
|
||||||
|
g_signal_connect(G_OBJECT(window->OptionsFilterCombo),"changed",G_CALLBACK(on_options_filter_changed),window);
|
||||||
|
g_signal_connect(G_OBJECT(window->CancelButton),"clicked",G_CALLBACK(on_subwindow_close),NULL);
|
||||||
|
g_signal_connect(G_OBJECT(window->ChosenCell),"toggled",G_CALLBACK(on_option_chosen),window);
|
||||||
|
gtk_tree_view_set_model(GTK_TREE_VIEW(window->MainTree),GTK_TREE_MODEL(window->OptionsFilter));
|
||||||
|
gtk_tree_model_filter_set_visible_func(GTK_TREE_MODEL_FILTER(window->OptionsFilter),(GtkTreeModelFilterVisibleFunc)yon_filter_refilter,window,NULL);
|
||||||
|
yon_options_setup(window);
|
||||||
|
char *parameter_options = config(options_parameter);
|
||||||
|
gtk_entry_set_text(GTK_ENTRY(window->OptionsEntry),parameter_options);
|
||||||
|
return window;
|
||||||
|
}
|
||||||
|
|
||||||
|
void on_options_open(GtkWidget *, main_window *widgets){
|
||||||
|
layouts_window *window = yon_options_window_new();
|
||||||
|
g_object_set_data(G_OBJECT(window->Window),"widgets",widgets);
|
||||||
|
g_signal_connect(G_OBJECT(window->AcceptButton),"clicked",G_CALLBACK(on_options_accept),window);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
void on_option_remove(GtkWidget*, main_window *widgets){
|
||||||
|
GtkTreeIter iter;
|
||||||
|
GtkTreeModel *model;
|
||||||
|
if (gtk_tree_selection_get_selected(gtk_tree_view_get_selection(GTK_TREE_VIEW(widgets->OptionsTree)),&model, &iter)){
|
||||||
|
dialog_confirmation_data *data = yon_confirmation_dialog_data_new();
|
||||||
|
data->action_text = OPTION_REMOVE_LABEL;
|
||||||
|
data->title = OPTION_REMOVE_TITLE_LABEL;
|
||||||
|
if (yon_confirmation_dialog_call(widgets->Window,data)!=GTK_RESPONSE_ACCEPT) return;
|
||||||
|
char *target;
|
||||||
|
gtk_tree_model_get(model,&iter,0,&target,-1);
|
||||||
|
yon_config_remove_element(options_parameter,target,",");
|
||||||
|
}
|
||||||
|
yon_interface_update(widgets);
|
||||||
|
}
|
||||||
@ -0,0 +1,126 @@
|
|||||||
|
#include "ubl-settings-keyboard.h"
|
||||||
|
|
||||||
|
void on_save_done(main_window *, config_str output, int size){
|
||||||
|
char *final_output = yon_char_parsed_to_string(output,size,"");
|
||||||
|
if (final_output){
|
||||||
|
printf("%s\n",final_output);
|
||||||
|
free(final_output);
|
||||||
|
}
|
||||||
|
yon_char_parsed_free(output,size);
|
||||||
|
switch (main_config.save_config){
|
||||||
|
case YON_CONFIG_GLOBAL:
|
||||||
|
yon_ubl_status_box_render(yon_char_get_localised_from_lib(GLOBAL_SAVE_SUCCESS_LABEL),BACKGROUND_IMAGE_SUCCESS_TYPE);
|
||||||
|
break;
|
||||||
|
case YON_CONFIG_LOCAL:
|
||||||
|
yon_ubl_status_box_render(yon_char_get_localised_from_lib(LOCAL_SAVE_SUCCESS_LABEL),BACKGROUND_IMAGE_SUCCESS_TYPE);
|
||||||
|
break;
|
||||||
|
case YON_CONFIG_BOTH:
|
||||||
|
yon_ubl_status_box_render(yon_char_get_localised_from_lib(GLOBAL_LOCAL_SAVE_SUCCESS_LABEL),BACKGROUND_IMAGE_SUCCESS_TYPE);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
void yon_interface_save(main_window *widgets){
|
||||||
|
if (gtk_switch_get_active(GTK_SWITCH(widgets->DefaultLayoutsSwitch))){
|
||||||
|
yon_config_remove_by_key(keyboard_layout_parameter);
|
||||||
|
} else if (yon_config_check_ignore(keyboard_layout_parameter)){
|
||||||
|
GtkTreeModel *model = GTK_TREE_MODEL(widgets->LayoutsList);
|
||||||
|
GtkTreeIter iter;
|
||||||
|
int parameters_size;
|
||||||
|
config_str parameters = NULL;
|
||||||
|
for_iter(model,&iter){
|
||||||
|
char *target;
|
||||||
|
gtk_tree_model_get(model,&iter,0,&target,-1);
|
||||||
|
yon_char_parsed_add_or_create_if_exists(parameters,¶meters_size,target);
|
||||||
|
}
|
||||||
|
char *final = yon_char_parsed_to_string(parameters,parameters_size,",");
|
||||||
|
yon_config_register(keyboard_layout_parameter,keyboard_layout_parameter_command,final);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void on_config_global_local_save(GtkWidget *, main_window *widgets){
|
||||||
|
yon_interface_save(widgets);
|
||||||
|
main_config.save_config=YON_CONFIG_BOTH;
|
||||||
|
yon_save_proceed(NULL,YON_CONFIG_BOTH,config_get_global_command,NULL);
|
||||||
|
}
|
||||||
|
|
||||||
|
void on_config_local_save(GtkWidget *, main_window *widgets){
|
||||||
|
yon_interface_save(widgets);
|
||||||
|
main_config.save_config=YON_CONFIG_LOCAL;
|
||||||
|
yon_save_proceed("system",YON_CONFIG_LOCAL,config_get_local_command,NULL);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
void on_config_global_save(GtkWidget *, main_window *widgets){
|
||||||
|
yon_interface_save(widgets);
|
||||||
|
main_config.save_config=YON_CONFIG_GLOBAL;
|
||||||
|
yon_save_proceed("global",YON_CONFIG_GLOBAL,config_get_global_command,NULL);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
void on_config_custom_save(GtkWidget *, main_window *widgets){
|
||||||
|
yon_interface_save(widgets);
|
||||||
|
main_config.save_config=YON_CONFIG_LOCAL;
|
||||||
|
template_saving_window *window = yon_save_proceed(NULL,YON_CONFIG_CUSTOM,yon_config_get_custom_command("system"),NULL);
|
||||||
|
if (window){};
|
||||||
|
}
|
||||||
|
|
||||||
|
void on_config_local_load(GtkWidget *,main_window *widgets){
|
||||||
|
yon_load_proceed(YON_CONFIG_LOCAL);
|
||||||
|
yon_ubl_status_box_render(yon_char_get_localised_from_lib(LOCAL_LOAD_SUCCESS_LABEL),BACKGROUND_IMAGE_SUCCESS_TYPE);
|
||||||
|
yon_interface_update(widgets);
|
||||||
|
main_config.load_mode=1;
|
||||||
|
}
|
||||||
|
|
||||||
|
void on_config_global_load(GtkWidget *,main_window *widgets){
|
||||||
|
yon_load_proceed(YON_CONFIG_GLOBAL);
|
||||||
|
yon_ubl_status_box_render(yon_char_get_localised_from_lib(GLOBAL_LOAD_SUCCESS_LABEL),BACKGROUND_IMAGE_SUCCESS_TYPE);
|
||||||
|
yon_interface_update(widgets);
|
||||||
|
main_config.load_mode=0;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
void on_config_custom_load(GtkWidget *,main_window *widgets){
|
||||||
|
yon_load_proceed(YON_CONFIG_CUSTOM);
|
||||||
|
textdomain(template_ui_LocaleName);
|
||||||
|
yon_ubl_status_box_render(yon_char_get_localised_from_lib(LOCAL_LOAD_SUCCESS_LABEL),BACKGROUND_IMAGE_SUCCESS_TYPE);
|
||||||
|
textdomain(LocaleName);
|
||||||
|
main_config.load_mode=3;
|
||||||
|
yon_interface_update(widgets);
|
||||||
|
}
|
||||||
|
|
||||||
|
void yon_load_proceed(YON_CONFIG_TYPE type){
|
||||||
|
yon_config_clean();
|
||||||
|
if (!yon_char_is_empty(config_get_default_command))
|
||||||
|
yon_config_load_config(YON_CONFIG_DEFAULT,config_get_default_command,NULL);
|
||||||
|
if (type==YON_CONFIG_GLOBAL){
|
||||||
|
yon_config_load_config(type,yon_debug_output("%s\n",config_get_global_command),NULL);
|
||||||
|
} else if (type==YON_CONFIG_LOCAL){
|
||||||
|
yon_config_load_config(type,config_get_local_command,NULL);
|
||||||
|
} else if (type==YON_CONFIG_CUSTOM){
|
||||||
|
char *path="";
|
||||||
|
textdomain(template_ui_LocaleName);
|
||||||
|
GtkWidget *dialog = gtk_file_chooser_dialog_new(template_app_information.app_title,NULL,GTK_FILE_CHOOSER_ACTION_SAVE,CANCEL_LABEL,GTK_RESPONSE_CANCEL,OPEN_LABEL,GTK_RESPONSE_ACCEPT,NULL);
|
||||||
|
textdomain(LocaleName);
|
||||||
|
gtk_window_set_icon_name(GTK_WINDOW(dialog),"com.ublinux.ubl-settings-services");
|
||||||
|
gtk_window_set_title(GTK_WINDOW(dialog),TITLE_LABEL);
|
||||||
|
GtkFileFilter *filter = gtk_file_filter_new();
|
||||||
|
gtk_file_filter_add_pattern(filter,"*.ini");
|
||||||
|
gtk_file_filter_set_name(filter, "*.ini");
|
||||||
|
gtk_file_chooser_add_filter(GTK_FILE_CHOOSER(dialog),filter);
|
||||||
|
gtk_widget_show(dialog);
|
||||||
|
int response = gtk_dialog_run(GTK_DIALOG(dialog));
|
||||||
|
if (response == GTK_RESPONSE_ACCEPT){
|
||||||
|
char *file = gtk_file_chooser_get_filename(GTK_FILE_CHOOSER(dialog));
|
||||||
|
if (!yon_char_is_empty(file)){
|
||||||
|
path=file;
|
||||||
|
}
|
||||||
|
gtk_widget_destroy(dialog);
|
||||||
|
} else {
|
||||||
|
gtk_widget_destroy(dialog);
|
||||||
|
}
|
||||||
|
char *command = yon_config_get_custom_command(path);
|
||||||
|
yon_config_load_config(type,command,NULL);
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -0,0 +1,239 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<!-- Generated with glade 3.38.2 -->
|
||||||
|
<interface>
|
||||||
|
<requires lib="gtk+" version="3.24"/>
|
||||||
|
<object class="GtkListStore" id="FontList">
|
||||||
|
<columns>
|
||||||
|
<!-- column-name Font -->
|
||||||
|
<column type="gchararray"/>
|
||||||
|
<!-- column-name Description -->
|
||||||
|
<column type="gchararray"/>
|
||||||
|
</columns>
|
||||||
|
</object>
|
||||||
|
<object class="GtkWindow" id="Window">
|
||||||
|
<property name="width-request">450</property>
|
||||||
|
<property name="height-request">550</property>
|
||||||
|
<property name="visible">True</property>
|
||||||
|
<property name="can-focus">False</property>
|
||||||
|
<property name="icon-name">com.ublinux.ubl-settings-keyboard</property>
|
||||||
|
<child>
|
||||||
|
<object class="GtkBox">
|
||||||
|
<property name="visible">True</property>
|
||||||
|
<property name="can-focus">False</property>
|
||||||
|
<property name="margin-bottom">5</property>
|
||||||
|
<property name="orientation">vertical</property>
|
||||||
|
<property name="spacing">5</property>
|
||||||
|
<child>
|
||||||
|
<object class="GtkBox" id="StatusBox">
|
||||||
|
<property name="visible">True</property>
|
||||||
|
<property name="can-focus">False</property>
|
||||||
|
<property name="orientation">vertical</property>
|
||||||
|
<property name="spacing">5</property>
|
||||||
|
<child>
|
||||||
|
<placeholder/>
|
||||||
|
</child>
|
||||||
|
</object>
|
||||||
|
<packing>
|
||||||
|
<property name="expand">False</property>
|
||||||
|
<property name="fill">True</property>
|
||||||
|
<property name="position">0</property>
|
||||||
|
</packing>
|
||||||
|
</child>
|
||||||
|
<child>
|
||||||
|
<object class="GtkBox">
|
||||||
|
<property name="visible">True</property>
|
||||||
|
<property name="can-focus">False</property>
|
||||||
|
<property name="margin-start">5</property>
|
||||||
|
<property name="margin-end">5</property>
|
||||||
|
<property name="spacing">5</property>
|
||||||
|
<child>
|
||||||
|
<object class="GtkSwitch" id="DefaultSwitch">
|
||||||
|
<property name="visible">True</property>
|
||||||
|
<property name="can-focus">True</property>
|
||||||
|
</object>
|
||||||
|
<packing>
|
||||||
|
<property name="expand">False</property>
|
||||||
|
<property name="fill">True</property>
|
||||||
|
<property name="position">0</property>
|
||||||
|
</packing>
|
||||||
|
</child>
|
||||||
|
<child>
|
||||||
|
<object class="GtkLabel">
|
||||||
|
<property name="visible">True</property>
|
||||||
|
<property name="can-focus">False</property>
|
||||||
|
<property name="label" translatable="yes">Default</property>
|
||||||
|
</object>
|
||||||
|
<packing>
|
||||||
|
<property name="expand">False</property>
|
||||||
|
<property name="fill">True</property>
|
||||||
|
<property name="position">1</property>
|
||||||
|
</packing>
|
||||||
|
</child>
|
||||||
|
</object>
|
||||||
|
<packing>
|
||||||
|
<property name="expand">False</property>
|
||||||
|
<property name="fill">True</property>
|
||||||
|
<property name="position">1</property>
|
||||||
|
</packing>
|
||||||
|
</child>
|
||||||
|
<child>
|
||||||
|
<object class="GtkScrolledWindow">
|
||||||
|
<property name="visible">True</property>
|
||||||
|
<property name="can-focus">True</property>
|
||||||
|
<property name="margin-start">5</property>
|
||||||
|
<property name="margin-end">5</property>
|
||||||
|
<property name="shadow-type">in</property>
|
||||||
|
<child>
|
||||||
|
<object class="GtkTreeView" id="FontTree">
|
||||||
|
<property name="visible">True</property>
|
||||||
|
<property name="can-focus">True</property>
|
||||||
|
<property name="model">FontList</property>
|
||||||
|
<property name="search-column">1</property>
|
||||||
|
<property name="enable-grid-lines">both</property>
|
||||||
|
<child>
|
||||||
|
<object class="GtkTreeViewColumn">
|
||||||
|
<property name="title" translatable="yes">Font</property>
|
||||||
|
<property name="clickable">True</property>
|
||||||
|
<property name="sort-column-id">0</property>
|
||||||
|
<child>
|
||||||
|
<object class="GtkCellRendererText"/>
|
||||||
|
<attributes>
|
||||||
|
<attribute name="text">0</attribute>
|
||||||
|
</attributes>
|
||||||
|
</child>
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
|
<child>
|
||||||
|
<object class="GtkTreeViewColumn">
|
||||||
|
<property name="title" translatable="yes">Description</property>
|
||||||
|
<child>
|
||||||
|
<object class="GtkCellRendererText"/>
|
||||||
|
<attributes>
|
||||||
|
<attribute name="text">1</attribute>
|
||||||
|
</attributes>
|
||||||
|
</child>
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
|
</object>
|
||||||
|
<packing>
|
||||||
|
<property name="expand">True</property>
|
||||||
|
<property name="fill">True</property>
|
||||||
|
<property name="position">2</property>
|
||||||
|
</packing>
|
||||||
|
</child>
|
||||||
|
<child>
|
||||||
|
<object class="GtkBox">
|
||||||
|
<property name="visible">True</property>
|
||||||
|
<property name="can-focus">False</property>
|
||||||
|
<property name="margin-start">5</property>
|
||||||
|
<property name="margin-end">5</property>
|
||||||
|
<property name="spacing">5</property>
|
||||||
|
<child>
|
||||||
|
<object class="GtkLabel">
|
||||||
|
<property name="visible">True</property>
|
||||||
|
<property name="can-focus">False</property>
|
||||||
|
<property name="label" translatable="yes">Manual input:</property>
|
||||||
|
</object>
|
||||||
|
<packing>
|
||||||
|
<property name="expand">False</property>
|
||||||
|
<property name="fill">True</property>
|
||||||
|
<property name="position">0</property>
|
||||||
|
</packing>
|
||||||
|
</child>
|
||||||
|
<child>
|
||||||
|
<object class="GtkEntry" id="ManualEntry">
|
||||||
|
<property name="visible">True</property>
|
||||||
|
<property name="can-focus">True</property>
|
||||||
|
</object>
|
||||||
|
<packing>
|
||||||
|
<property name="expand">True</property>
|
||||||
|
<property name="fill">True</property>
|
||||||
|
<property name="position">1</property>
|
||||||
|
</packing>
|
||||||
|
</child>
|
||||||
|
</object>
|
||||||
|
<packing>
|
||||||
|
<property name="expand">False</property>
|
||||||
|
<property name="fill">True</property>
|
||||||
|
<property name="position">3</property>
|
||||||
|
</packing>
|
||||||
|
</child>
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
|
<child type="titlebar">
|
||||||
|
<object class="GtkHeaderBar" id="headerBar">
|
||||||
|
<property name="visible">True</property>
|
||||||
|
<property name="can-focus">False</property>
|
||||||
|
<child type="title">
|
||||||
|
<object class="GtkLabel" id="headerTopic">
|
||||||
|
<property name="visible">True</property>
|
||||||
|
<property name="can-focus">False</property>
|
||||||
|
<property name="margin-left">5</property>
|
||||||
|
<property name="margin-right">5</property>
|
||||||
|
<property name="margin-start">5</property>
|
||||||
|
<property name="margin-end">5</property>
|
||||||
|
<property name="margin-bottom">2</property>
|
||||||
|
<property name="label" translatable="yes">Keyboard</property>
|
||||||
|
<attributes>
|
||||||
|
<attribute name="weight" value="bold"/>
|
||||||
|
</attributes>
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
|
<child>
|
||||||
|
<object class="GtkImage">
|
||||||
|
<property name="visible">True</property>
|
||||||
|
<property name="can-focus">False</property>
|
||||||
|
<property name="margin-left">5</property>
|
||||||
|
<property name="margin-right">5</property>
|
||||||
|
<property name="margin-start">5</property>
|
||||||
|
<property name="margin-end">5</property>
|
||||||
|
<property name="margin-top">6</property>
|
||||||
|
<property name="margin-bottom">6</property>
|
||||||
|
<property name="pixel-size">32</property>
|
||||||
|
<property name="icon-name">com.ublinux.ubl-settings-keyboard</property>
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
|
<child>
|
||||||
|
<object class="GtkButton" id="CancelButton">
|
||||||
|
<property name="label" translatable="yes">Cancel</property>
|
||||||
|
<property name="visible">True</property>
|
||||||
|
<property name="can-focus">True</property>
|
||||||
|
<property name="receives-default">True</property>
|
||||||
|
<property name="image">image2</property>
|
||||||
|
</object>
|
||||||
|
<packing>
|
||||||
|
<property name="position">1</property>
|
||||||
|
</packing>
|
||||||
|
</child>
|
||||||
|
<child>
|
||||||
|
<object class="GtkButton" id="AcceptButton">
|
||||||
|
<property name="label" translatable="yes">Accept</property>
|
||||||
|
<property name="visible">True</property>
|
||||||
|
<property name="can-focus">True</property>
|
||||||
|
<property name="receives-default">True</property>
|
||||||
|
<property name="image">image1</property>
|
||||||
|
</object>
|
||||||
|
<packing>
|
||||||
|
<property name="pack-type">end</property>
|
||||||
|
<property name="position">2</property>
|
||||||
|
</packing>
|
||||||
|
</child>
|
||||||
|
<style>
|
||||||
|
<class name="toolbar"/>
|
||||||
|
</style>
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
|
</object>
|
||||||
|
<object class="GtkImage" id="image1">
|
||||||
|
<property name="visible">True</property>
|
||||||
|
<property name="can-focus">False</property>
|
||||||
|
<property name="icon-name">com.ublinux.libublsettingsui-gtk3.accept-symbolic</property>
|
||||||
|
</object>
|
||||||
|
<object class="GtkImage" id="image2">
|
||||||
|
<property name="visible">True</property>
|
||||||
|
<property name="can-focus">False</property>
|
||||||
|
<property name="icon-name">com.ublinux.libublsettingsui-gtk3.cancel-uncolored-symbolic</property>
|
||||||
|
</object>
|
||||||
|
</interface>
|
||||||
@ -0,0 +1,257 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<!-- Generated with glade 3.38.2 -->
|
||||||
|
<interface>
|
||||||
|
<requires lib="gtk+" version="3.24"/>
|
||||||
|
<object class="GtkListStore" id="KeymapList">
|
||||||
|
<columns>
|
||||||
|
<!-- column-name Keymap -->
|
||||||
|
<column type="gchararray"/>
|
||||||
|
<!-- column-name Group -->
|
||||||
|
<column type="gchararray"/>
|
||||||
|
<!-- column-name Description -->
|
||||||
|
<column type="gchararray"/>
|
||||||
|
</columns>
|
||||||
|
</object>
|
||||||
|
<object class="GtkImage" id="image1">
|
||||||
|
<property name="visible">True</property>
|
||||||
|
<property name="can-focus">False</property>
|
||||||
|
<property name="icon-name">com.ublinux.libublsettingsui-gtk3.accept-symbolic</property>
|
||||||
|
</object>
|
||||||
|
<object class="GtkImage" id="image2">
|
||||||
|
<property name="visible">True</property>
|
||||||
|
<property name="can-focus">False</property>
|
||||||
|
<property name="icon-name">com.ublinux.libublsettingsui-gtk3.cancel-uncolored-symbolic</property>
|
||||||
|
</object>
|
||||||
|
<object class="GtkWindow" id="Window">
|
||||||
|
<property name="width-request">450</property>
|
||||||
|
<property name="height-request">550</property>
|
||||||
|
<property name="visible">True</property>
|
||||||
|
<property name="can-focus">False</property>
|
||||||
|
<property name="icon-name">com.ublinux.ubl-settings-keyboard</property>
|
||||||
|
<child>
|
||||||
|
<object class="GtkBox">
|
||||||
|
<property name="visible">True</property>
|
||||||
|
<property name="can-focus">False</property>
|
||||||
|
<property name="margin-bottom">5</property>
|
||||||
|
<property name="orientation">vertical</property>
|
||||||
|
<property name="spacing">5</property>
|
||||||
|
<child>
|
||||||
|
<object class="GtkBox" id="StatusBox">
|
||||||
|
<property name="visible">True</property>
|
||||||
|
<property name="can-focus">False</property>
|
||||||
|
<property name="orientation">vertical</property>
|
||||||
|
<property name="spacing">5</property>
|
||||||
|
<child>
|
||||||
|
<placeholder/>
|
||||||
|
</child>
|
||||||
|
</object>
|
||||||
|
<packing>
|
||||||
|
<property name="expand">False</property>
|
||||||
|
<property name="fill">True</property>
|
||||||
|
<property name="position">0</property>
|
||||||
|
</packing>
|
||||||
|
</child>
|
||||||
|
<child>
|
||||||
|
<object class="GtkBox">
|
||||||
|
<property name="visible">True</property>
|
||||||
|
<property name="can-focus">False</property>
|
||||||
|
<property name="margin-start">5</property>
|
||||||
|
<property name="margin-end">5</property>
|
||||||
|
<property name="spacing">5</property>
|
||||||
|
<child>
|
||||||
|
<object class="GtkSwitch" id="DefaultSwitch">
|
||||||
|
<property name="visible">True</property>
|
||||||
|
<property name="can-focus">True</property>
|
||||||
|
</object>
|
||||||
|
<packing>
|
||||||
|
<property name="expand">False</property>
|
||||||
|
<property name="fill">True</property>
|
||||||
|
<property name="position">0</property>
|
||||||
|
</packing>
|
||||||
|
</child>
|
||||||
|
<child>
|
||||||
|
<object class="GtkLabel">
|
||||||
|
<property name="visible">True</property>
|
||||||
|
<property name="can-focus">False</property>
|
||||||
|
<property name="label" translatable="yes">Default</property>
|
||||||
|
</object>
|
||||||
|
<packing>
|
||||||
|
<property name="expand">False</property>
|
||||||
|
<property name="fill">True</property>
|
||||||
|
<property name="position">1</property>
|
||||||
|
</packing>
|
||||||
|
</child>
|
||||||
|
</object>
|
||||||
|
<packing>
|
||||||
|
<property name="expand">False</property>
|
||||||
|
<property name="fill">True</property>
|
||||||
|
<property name="position">1</property>
|
||||||
|
</packing>
|
||||||
|
</child>
|
||||||
|
<child>
|
||||||
|
<object class="GtkScrolledWindow">
|
||||||
|
<property name="visible">True</property>
|
||||||
|
<property name="can-focus">True</property>
|
||||||
|
<property name="margin-start">5</property>
|
||||||
|
<property name="margin-end">5</property>
|
||||||
|
<property name="shadow-type">in</property>
|
||||||
|
<child>
|
||||||
|
<object class="GtkTreeView" id="KeymapTree">
|
||||||
|
<property name="visible">True</property>
|
||||||
|
<property name="can-focus">True</property>
|
||||||
|
<property name="model">KeymapList</property>
|
||||||
|
<property name="search-column">1</property>
|
||||||
|
<property name="enable-grid-lines">both</property>
|
||||||
|
<child internal-child="selection">
|
||||||
|
<object class="GtkTreeSelection"/>
|
||||||
|
</child>
|
||||||
|
<child>
|
||||||
|
<object class="GtkTreeViewColumn">
|
||||||
|
<property name="title" translatable="yes">Keyboard layout</property>
|
||||||
|
<property name="sort-column-id">0</property>
|
||||||
|
<child>
|
||||||
|
<object class="GtkCellRendererText"/>
|
||||||
|
<attributes>
|
||||||
|
<attribute name="text">0</attribute>
|
||||||
|
</attributes>
|
||||||
|
</child>
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
|
<child>
|
||||||
|
<object class="GtkTreeViewColumn">
|
||||||
|
<property name="title" translatable="yes">Group</property>
|
||||||
|
<child>
|
||||||
|
<object class="GtkCellRendererText"/>
|
||||||
|
<attributes>
|
||||||
|
<attribute name="text">1</attribute>
|
||||||
|
</attributes>
|
||||||
|
</child>
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
|
<child>
|
||||||
|
<object class="GtkTreeViewColumn">
|
||||||
|
<property name="title" translatable="yes">Description</property>
|
||||||
|
<child>
|
||||||
|
<object class="GtkCellRendererText">
|
||||||
|
<property name="wrap-mode">word</property>
|
||||||
|
<property name="wrap-width">120</property>
|
||||||
|
</object>
|
||||||
|
<attributes>
|
||||||
|
<attribute name="text">2</attribute>
|
||||||
|
</attributes>
|
||||||
|
</child>
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
|
</object>
|
||||||
|
<packing>
|
||||||
|
<property name="expand">True</property>
|
||||||
|
<property name="fill">True</property>
|
||||||
|
<property name="position">2</property>
|
||||||
|
</packing>
|
||||||
|
</child>
|
||||||
|
<child>
|
||||||
|
<object class="GtkBox">
|
||||||
|
<property name="visible">True</property>
|
||||||
|
<property name="can-focus">False</property>
|
||||||
|
<property name="margin-start">5</property>
|
||||||
|
<property name="margin-end">5</property>
|
||||||
|
<property name="spacing">5</property>
|
||||||
|
<child>
|
||||||
|
<object class="GtkLabel">
|
||||||
|
<property name="visible">True</property>
|
||||||
|
<property name="can-focus">False</property>
|
||||||
|
<property name="label" translatable="yes">Manual input:</property>
|
||||||
|
</object>
|
||||||
|
<packing>
|
||||||
|
<property name="expand">False</property>
|
||||||
|
<property name="fill">True</property>
|
||||||
|
<property name="position">0</property>
|
||||||
|
</packing>
|
||||||
|
</child>
|
||||||
|
<child>
|
||||||
|
<object class="GtkEntry" id="ManualEntry">
|
||||||
|
<property name="visible">True</property>
|
||||||
|
<property name="can-focus">True</property>
|
||||||
|
</object>
|
||||||
|
<packing>
|
||||||
|
<property name="expand">True</property>
|
||||||
|
<property name="fill">True</property>
|
||||||
|
<property name="position">1</property>
|
||||||
|
</packing>
|
||||||
|
</child>
|
||||||
|
</object>
|
||||||
|
<packing>
|
||||||
|
<property name="expand">False</property>
|
||||||
|
<property name="fill">True</property>
|
||||||
|
<property name="position">3</property>
|
||||||
|
</packing>
|
||||||
|
</child>
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
|
<child type="titlebar">
|
||||||
|
<object class="GtkHeaderBar" id="headerBar">
|
||||||
|
<property name="visible">True</property>
|
||||||
|
<property name="can-focus">False</property>
|
||||||
|
<child type="title">
|
||||||
|
<object class="GtkLabel" id="headerTopic">
|
||||||
|
<property name="visible">True</property>
|
||||||
|
<property name="can-focus">False</property>
|
||||||
|
<property name="margin-left">5</property>
|
||||||
|
<property name="margin-right">5</property>
|
||||||
|
<property name="margin-start">5</property>
|
||||||
|
<property name="margin-end">5</property>
|
||||||
|
<property name="margin-bottom">2</property>
|
||||||
|
<property name="label" translatable="yes">Keyboard</property>
|
||||||
|
<attributes>
|
||||||
|
<attribute name="weight" value="bold"/>
|
||||||
|
</attributes>
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
|
<child>
|
||||||
|
<object class="GtkImage">
|
||||||
|
<property name="visible">True</property>
|
||||||
|
<property name="can-focus">False</property>
|
||||||
|
<property name="margin-left">5</property>
|
||||||
|
<property name="margin-right">5</property>
|
||||||
|
<property name="margin-start">5</property>
|
||||||
|
<property name="margin-end">5</property>
|
||||||
|
<property name="margin-top">6</property>
|
||||||
|
<property name="margin-bottom">6</property>
|
||||||
|
<property name="pixel-size">32</property>
|
||||||
|
<property name="icon-name">com.ublinux.ubl-settings-keyboard</property>
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
|
<child>
|
||||||
|
<object class="GtkButton" id="CancelButton">
|
||||||
|
<property name="label" translatable="yes">Cancel</property>
|
||||||
|
<property name="visible">True</property>
|
||||||
|
<property name="can-focus">True</property>
|
||||||
|
<property name="receives-default">True</property>
|
||||||
|
<property name="image">image2</property>
|
||||||
|
</object>
|
||||||
|
<packing>
|
||||||
|
<property name="position">1</property>
|
||||||
|
</packing>
|
||||||
|
</child>
|
||||||
|
<child>
|
||||||
|
<object class="GtkButton" id="AcceptButton">
|
||||||
|
<property name="label" translatable="yes">Accept</property>
|
||||||
|
<property name="visible">True</property>
|
||||||
|
<property name="can-focus">True</property>
|
||||||
|
<property name="receives-default">True</property>
|
||||||
|
<property name="image">image1</property>
|
||||||
|
</object>
|
||||||
|
<packing>
|
||||||
|
<property name="pack-type">end</property>
|
||||||
|
<property name="position">2</property>
|
||||||
|
</packing>
|
||||||
|
</child>
|
||||||
|
<style>
|
||||||
|
<class name="toolbar"/>
|
||||||
|
</style>
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
|
</object>
|
||||||
|
</interface>
|
||||||
File diff suppressed because it is too large
Load Diff
Loading…
Reference in new issue