__  __    __   __  _____      _            _          _____ _          _ _ 
 |  \/  |   \ \ / / |  __ \    (_)          | |        / ____| |        | | |
 | \  / |_ __\ V /  | |__) | __ ___   ____ _| |_ ___  | (___ | |__   ___| | |
 | |\/| | '__|> <   |  ___/ '__| \ \ / / _` | __/ _ \  \___ \| '_ \ / _ \ | |
 | |  | | |_ / . \  | |   | |  | |\ V / (_| | ||  __/  ____) | | | |  __/ | |
 |_|  |_|_(_)_/ \_\ |_|   |_|  |_| \_/ \__,_|\__\___| |_____/|_| |_|\___V 2.1
 if you need WebShell for Seo everyday contact me on Telegram
 Telegram Address : @jackleet
        
        
For_More_Tools: Telegram: @jackleet | Bulk Smtp support mail sender | Business Mail Collector | Mail Bouncer All Mail | Bulk Office Mail Validator | Html Letter private



Upload:

Command:

[email protected]: ~ $
�

q�g�1����SrSSKJr SSKJr SSKJr SSKJr SSKrSSKrSSKrSSK	r	SSK
r
SSKrSSKrSSK
r
SSKrSSKrSSKrSSKrSSKJr \"SS	5 SS
KJr \"SS	5 SSKJr \R."S
5 \R0"S5 \"SS5 SSKJr \"SS5 SSKJr \"SS5 SSKJr \"SS5 SSKJr SSKJrJrJ r! Sr"SSK#r#Sr"\RJSS-/\RJ-\l%SSK&r&SSK'r'SSK(r(SSK)r)\RT"S5r+\RX"5\RZ"5\R\"54r/\R`"SS9r1\1ReS S!S"\3S#S$S%S&9 \1ReS'S(S)SS*S+9 \1Ri5r5\"S,5\"S-5\"S.5/r6"S/S0\Rn5r8"S1S2\Rn5r9\:S3:XGa8\5Rv(a\Rx"5r=O�\RJR}\'R~"5S45r@\R�R�\@S5S6S7S8SSSS99rC\R�"S:5rE\CR�\E5 \+R�\R�5 \+R�\C5 \+R�S;5 \
R"\
R�\
R�5 \R�"\R�S$5 \!"5 \R�"5c�\R�"\R�R�\R�R�\R�R�\"S>5S?9rY\YR�5 \YR�5 \R�"S@5 \5R�r^\^(dSA\R�;a\R�SAr^\R�"SBS$\^5R�SCSD5r^\^(d\1R�5 \8"\^SE9rc\R�"5 gg!\$4a Sr"GNNf=f!\R�a2 \+R�S<5 \R�"\R�S=5 GNwf=f)Fz 
The setup tool for ibus-table.
�)�Union)�Any)�Dict)�ListN)�require_version�Gioz2.0)r�GLib)r	zIBus Table Preferenceszibus-setup-table�Gdkz3.0)r
�Gtk)r�Pangoz1.0)r�IBus)r
)�N_�_�initFTz
/../enginez
ibus-tablezibus-table setup tool)�descriptionz-nz
--engine-name�store�engine_name�u"Set the name of the engine, for example “table:cangjie3” or just “cangjie3”. Default: "%(default)s". If this option is not used, the value of the environment variable IBUS_ENGINE_NAME is tried instead. If the variable IBUS_ENGINE_NAME is also not set or empty, this help is printed.)�action�type�dest�default�helpz-qz
--no-debug�
store_truezODo not write log file ~/.cache/ibus-table/setup-debug.log, default: %(default)s)rrrz
Initial statezDirect inputzTable inputc��	�\rSrSrSrSlS\SS4SjjrSmSjr\\	RR4S\S	\	RSS4S
jj5rS\S\	R4SjrS\4Sjr\S
\SS4Sj5r\S
\SS4Sj5r\S\	R(SS4Sj5rS\R.S\SS4Sjr\S\	R(SS4Sj5rS\	R(SS4SjrS\	R6S\SS4SjrS\	R6S\SS4SjrS\	R<SS4SjrS\	R@SS4Sjr!S\	R@SS4Sjr"S\	R@SS4Sjr#S\	R@SS4S jr$S\	RJSS4S!jr&S\	R@SS4S"jr'S\	R@SS4S#jr(S\	RJSS4S$jr)S\	R@SS4S%jr*S\	R@SS4S&jr+S\	R@SS4S'jr,S\	R@SS4S(jr-S\	RJSS4S)jr.S\	RJSS4S*jr/S\	RJSS4S+jr0S\	R(SS4S,jr1S\	RJSS4S-jr2S\	R(SS4S.jr3S\	R<SS4S/jr4S0\	RjS1\	RlS2\	RnSS4S3jr8S4\	RrSS4S5jr:S6\	RvS7\	RxSS4S8jr=S\	R(SS4S9jr>S\	R(SS4S:jr?S\	R(SS4S;jr@S\	R(SS4S<jrAS\	R(SS4S=jrBSmS>jrCSmS?jrDS\	R(SS4S@jrES\	R(SS4SAjrFS\	R(SS4SBjrGSnSC\SD\SS4SEjjrHSnSF\SD\SS4SGjjrISnSH\JSD\SS4SIjjrKSnSJ\JSD\SS4SKjjrLSoSL\JSD\SS4SMjjrMSpSN\SD\SS4SOjjrNSqSP\JSD\SS4SQjjrOSrSR\SD\SS4SSjjrPSrSR\SD\SS4STjjrQSrSR\SD\SS4SUjjrRSqSR\JSD\SS4SVjjrSSrSR\SD\SS4SWjjrTSrSR\SD\SS4SXjjrUSrSR\SD\SS4SYjjrVSrSR\SD\SS4SZjjrWSrSR\SD\SS4S[jjrXSrSR\SD\SS4S\jjrYSrS]\SD\SS4S^jjrZSnS_\SD\SS4S`jjr[SnSa\SD\SS4Sbjjr\SnSc\]\\4SD\SS4Sdjjr^SnSe\]\\4SD\SS4Sfjjr_SnSg\JSD\SS4Shjjr`SnSi\]\a\\b\4\4SD\SS4SjjjrcSkrdg)s�SetupUI�wz"
User interface of the setup tool
r�returnNc��|�Xl[RRUSUR-S-[	S5-S9 [RR[RR[R"5SS55 URS5 URS5 [R"5nURS	5 [RR!["R$R'5U[R(5 [RR[RR[R"5S
5URS-5n[RR+U5(d,[,R/SU5 [0R2"S
5 [RR5U5R7SS5n[8R:"UUSS9UlSUlSUlUR8R@RCS5nU(a{URES5nUHdnURG5RIS5(aSUlSH0nURG5RIU5(dM)SUlM2 Mf SUl%UR8R@RCS5n	U	(aU	RM5S:HUl%UR8R@RCS5Ul'[PRR"SSUR-S9Ul*URW5 URYSUR-S-[	S5-5 UR[SUR\5 UR[SUR^5 [R`"5Ul1URbRe[RfRh5 URbRkS5 URmURb5 [Rn"5Ul8URpRsS5 URpRuS5 URpRwS5 URpRyS5 URpR{S5 URbR}URpSSS5 [R`"5Ul?UR~Re[RfR�5 UR~RsS5 UR~RuS5 UR~RyS5 UR~R{S5 URbR�UR~SSS5 [R�"[	S5S9UlCUR�RyS5 UR�R[S UR�5 UR~RmUR�5 [R�"5UlEUR�RyS5 [R�"5UlGUR�R�[	S!55 UR�RmUR�5 UR�R[S UR�5 UR~RmUR�5 [R�"5UlJUR�RyS5 [R�"5UlKUR�R�[	S"55 UR�RmUR�5 UR�R[S UR�5 UR~RmUR�5 S#n
S#nS#n[R�"5UlOUR�RsS5 UR�RuS5 UR�R�U
5 UR�R�U5 UR�R�U5 UR�R�S5 UR�R�S5 UR�RyS5 UR�R{S5 [R�"5UlUUR�R�[	S$55 [R�"5UlVUR�RsS5 UR�RuS5 UR�R�U
5 UR�R�U5 UR�R�U5 UR�R�S5 UR�R�S5 UR�RyS5 UR�R{S5 [R�"5UlWUR�R�[	S%55 [R`"5UlXUR�Re[RfRh5 UR�RkS5 S#n
UR�R�U
5 UR�R�U
5 UR�R�U
5 UR�R�U
5 [R�"5Ul]UR�R�[	S&55 URpR�UR�UR�5 URpR�UR�UR�5 URpR�UR�UR�5 S'n[R�"5Ul_UR�R�[	S(55 UR�R�[	S)55 UR�R�S5 [R�"5Ulc[R�"[�[�5UlgUR�R�[	S*5S/5 UR�R�[	S+5S/5 UR�R�UR�5 [R�"5nUR�R}US5 UR�R�US,S5 [�UR�5H<unnUR�S-S.US
:XdM!UR�R�U5 M> UR�R[S/UR�5 US
-
nUR�R�UR�SUS
S
5 UR�R�UR�S
US
S
5 [R�"5UlqUR�R�[	S055 UR�R�[	S155 UR�R�S5 [R�"5Ulr[R�"[�[�5UltUR�R�[	S25S/5 UR�R�[	S35S
/5 UR�R�[	S45S5/5 UR�R�[	S65S7/5 UR�R�[	S85S9/5 UR�R�UR�5 [R�"5nUR�R}US5 UR�R�US,S5 [�UR�5H<unnUR�S:S.US
:XdM!UR�R�U5 M> UR�R[S/UR�5 UR<(aWUS
-
nUR�R�UR�SUS
S
5 UR�R�UR�S
US
S
5 [R�"5UlvUR�R�[	S;55 UR�R�[	S<55 UR�R�S5 [R�"5Ulw[R�"[�[�5UlxUR�R�[	S=5S/5 UR�R�[	S>5S/5 UR�R�UR�5 [R�"5nUR�R}US5 UR�R�US,S5 [�UR�5H<unnUR�S?S.US
:XdM!UR�R�U5 M> UR�R[S/UR�5 UR>(aWUS
-
nUR�R�UR�SUS
S
5 UR�R�UR�S
US
S
5 [R�"5UlzUR�R�[	S@55 UR�R�[	SA55 UR�R�S5 [R�"5Ul{[R�"[�[�5Ul|UR�R�[	S=5S/5 UR�R�[	S>5S/5 UR�R�UR�5 [R�"5nUR�R}US5 UR�R�US,S5 [�UR�5H<unnUR�SBS.US
:XdM!UR�R�U5 M> UR�R[S/UR�5 UR>(aWUS
-
nUR�R�UR�SUS
S
5 UR�R�UR�S
US
S
5 [R�"5Ul~UR�R�[	SC55 UR�R�[	SD55 UR�R�S5 [R�"5Ul[R�"[�[�5Ul�UGRR�[	S=5S/5 UGRR�[	S>5S/5 UR�R�UGR5 [R�"5nUR�R}US5 UR�R�US,S5 [�UGR5H<unnUR�SES.US
:XdM!UR�R�U5 M> UR�R[S/UGR5 UR>(aWUS
-
nUR�R�UR�SUS
S
5 UR�R�UR�S
US
S
5 [R�"5Ul�UGRR�[	SF55 UGRR�[	SG55 UGRR�S5 [R�"5Ul�[R�"[�[�5Ul�UGRR�[	S=5S/5 UGRR�[	S>5S/5 UGRR�UGR5 [R�"5nUGRR}US5 UGRR�US,S5 [�UGR5H=unnUR�SHS.US
:XdM!UGRR�U5 M? UGRR[S/UGR
5 UR>(aYUS
-
nUR�R�UGRSUS
S
5 UR�R�UGRS
US
S
5 [R�"5Ul�UGRR�SI[	SJ5-SK-5 UGRGRS5 UGRR�S5 US
-
nUR�R�UGRSUS5S
5 [GR"[	SL5S9Ul�UGRR�[	SM55 UGRRyS5 UGRR{S5 UGRR�UR�SNS.5 UGRR[S UGR5 US
-
nUR�R�UGRSUS5S
5 [R�"5Ul�UGRR�[	SO55 UGRR�[	SP55 UGRR�S5 [R�"5Ul�[R�"[�[�5Ul�UGRR�[	SQ5[�G[RfR�5/5 UGRR�[	SR5[�G[RfRh5/5 UGRR�[	SS5[�G[RfGR5/5 UGRR�UGR5 [R�"5nUGRR}US5 UGRR�US,S5 [�UGR5H=unnUR�STS.US
:XdM!UGRR�U5 M? UGRR[S/UGR 5 US
-
nUR�R�UGRSUS
S
5 UR�R�UGRS
US
S
5 [R�"5Ul�UGR"R�[	SU55 UGR"R�[	SV55 UGR"R�S5 [GR$"5Ul�UGR&RsS5 UGR&RuS5 UGR&GR)SWSW5 UGR&GR+SWSX5 UGR&GR-UR�SYS.5 UGR&R[SZUGR.5 US
-
nUR�R�UGR"SUS
S
5 UR�R�UGR&S
US
S
5 [R�"5Ul]UR�R�SI[	S[5-SK-5 UR�GRS5 UR�R�U
5 UR�R�U
5 UR�R�U
5 UR�R�U
5 UR�RyS5 UR�R{S5 UR�R�S5 [GR0"5Ul�UGR2RuS5 UGR2RyS5 UGR2R{S5 [GR4"5Ul�[R�"[�[�5Ul�UGR6R�UGR85 UR�S\S.nG[;U5H.nUGR8R�UG[=UU545 M0 [GR>"[	S]5[R�"5SS^9nUGRAS5 UGR6GRCU5 [GR>"[	S&5[R�"5S
S^9nUGRAS
5 UGR6GRCU5 UGR6GRE5R[S/UGRF5 UGR6R[S_UGRH5 UGR2RmUGR65 UR�R}UR�SSS5 UR�R}UGR2SSS5 [R`"5Ul�UGRJRe[RfR�5 UGRJRuS5 UR�RmUGRJ5 [R�"5Ul�[R�"5Ul�UGRNR�[	S`55 UGRLRmUGRN5 UGRLR�[	Sa55 UGRLGRQS5 UGRLR[S UGRR5 [R�"5Ul�[R�"5Ul�UGRVR�[	Sb55 UGRTRmUGRV5 UGRTR�[	Sc55 UGRTGRQS5 UGRTR[S UGRX5 [R�"5Ul�[R�"5Ul�UGR\R�[	Sd55 UGRZRmUGR\5 UGRZR�[	Se55 UGRZGRQS5 UGRZR[S UGR^5 UGRJRmUGRL5 UGRJRmUGRT5 UGRJRmUGRZ5 SfUl�SfUl�S'Ul�SUl�SUl�SUl�SUl�SUl�SUl�SUl�SUl�S'n[GR"[	Sg5S9Ul�UGRvR�[	Sh55 UGRvRyS5 UGRvR{S5 UGRvR�UR�SiS.5 UGRvR[S UGRx5 [R�"5Ul�[GR|"5Ul�[R�"5Ul�UGR�R�[	Sj55 UGR�GRS5 UGR�GR�Sk5 UGR�GR�S5 UGR�GR�G[�GR�GR�5 UGR~R}UGR�SSS5 UGRzRmUGR~5 UGRzR[S UGR�5 US
-
nUR�R�UGRvSUS
S
5 UR�R�UGRzS
US
S
5 [R�"5Ul�UGR�R�[	Sl55 UGR�R�[	Sm55 UGR�R�S5 [R�"5Ul�[R�"[�[�5Ul�UGR�R�[	Sn5S/5 UGR�R�[	So5S/5 UGR�R�UGR�5 [R�"5nUGR�R}US5 UGR�R�US,S5 [�UGR�5H=unnUR�SpS.US
:XdM!UGR�R�U5 M? UGR�R[S/UGR�5 UR>(aYUS
-
nUR�R�UGR�SUS
S
5 UR�R�UGR�S
US
S
5 [GR"[	Sq5S9Ul�UGR�R�[	Sr55 UGR�RyS5 UGR�R{S5 UGR�R�UR�SsS.5 UGR�R[S UGR�5 US
-
nUR�R�UGR�SUS5S
5 [R�"5Ul�UGR�R�[	St55 UGR�R�[	Su55 UGR�R�S5 [R�"5Ul�[R�"[�[�5Ul�UGR�R�[	Sv5S/5 UGR�R�[	Sw5S/5 UGR�R�UGR�5 [R�"5nUGR�R}US5 UGR�R�US,S5 [�UGR�5H=unnUR�SxS.US
:XdM!UGR�R�U5 M? UGR�R[S/UGR�5 URJ(ajURN(aYUS
-
nUR�R�UGR�SUS
S
5 UR�R�UGR�S
US
S
5 [R�"5Ul�UGR�R�[	Sy55 UGR�R�[	Sz55 UGR�R�S5 [R�"5Ul�[R�"[�[�5Ul�UGR�R�[	S{5S/5 UGR�R�[	S|5S
/5 UGR�R�UGR�5 [R�"5nUGR�R}US5 UGR�R�US,S5 [�UGR�5H=unnUR�S}S.US
:XdM!UGR�R�U5 M? UGR�R[S/UGR�5 US
-
nUR�R�UGR�SUS
S
5 UR�R�UGR�S
US
S
5 [GR"[	S~5S9Ul�UGR�R�[	S55 UGR�RyS5 UGR�R{S5 UGR�R�UR�S�S.5 UGR�R[S UGR�5 US
-
nUR�R�UGR�SUS5S
5 [R�"5Ul�UGR�R�[	S�55 UGR�R�[	S�55 UGR�R�S5 [GR�"5Ul�UGR�GR�S
5 UGR�R�UR�S�S.5 UGR�R[S�UGR�5 US
-
nUR�R�UGR�SUS
S
5 UR�R�UGR�S
US
S
5 [R�"5Ul�UGR�R�[	S�55 UGR�R�[	S�55 UGR�R�S5 [GR�"5Ul�UGR�GR�S
5 UGR�R�UR�S�S.5 UGR�R[S�UGR�5 US
-
nUR�R�UGR�SUS
S
5 UR�R�UGR�S
US
S
5 [GR"[	S�5S9Ul�UGR�R�[	S�55 UGR�RyS5 UGR�R{S5 UGR�R�UR�S�S.5 UGR�R[S UGR�5 US
-
nUR�R�UGR�SUS5S
5 [GR"[	S�5S9Ul�UGR�R�[	S�55 UGR�RyS5 UGR�R{S5 UGR�R�UR�S�S.5 UGR�R[S UGR�5 [R�"5Ul�[GR|"5Ul�[R�"5Ul�UGR�R�UR�S�S.5 UGR�GRS5 UGR�GR�Sk5 UGR�GR�S5 UGR�GR�G[�GR�GR�5 UGR�R}UGR�SSS5 UGR�RmUGR�5 UGR�R[S UGR�5 US
-
nUR�R�UGR�SUS
S
5 UR�R�UGR�S
US
S
5 G[�GR�"[RGR�UR�S�S.5UR�S�S.S�9Ul�[R�"5Ul�UGR�R�[	S�55 UGR�R�[	S�55 UGR�R�S5 [GR$"5Ul�UGR�RsS5 UGR�RuS5 UGR�GR)SWSW5 UGR�GR+S�S�5 UGR�GR-UR�S�S.5 UGR�R[SZUGR�5 US
-
nUR�R�UGR�SUS
S
5 UR�R�UGR�S
US
S
5 UGR�5 URpGR�S5 URTR[S/UGR�5 g)�Nu码 IBus Table � �Preferences��title�iconszibus-table.svg�IBusTablePreferencesTs�
            #IBusTablePreferences {
            }
            row { /* This is for listbox rows */
                border-style: groove;
                border-width: 0.05px;
            }
            �tablesz.dbzCannot open database %s�z-user.dbF)�filename�user_db�create_database�	languages�,�zh)r-�ja�ko�user_can_define_phrase�true�rulesz!org.freedesktop.ibus.engine.tablez&/org/freedesktop/ibus/engine/table/%s/)�schema�pathz
destroy-eventzdelete-eventr�About)�label�clickedzRestore all defaults�_Close�
�Settings�DetailszKey bindings���zRemember input modeu�Whether the last used input mode should be remembered or whether ibus-table should start in “Table mode” by default after a restart. There are two input modes: “Table input” means the input method is on. “Direct input” is almost the same as if the input method were off, i.e. not used at all, most characters just get passed to the application. But some conversion between fullwidth and halfwidth may still happen in direct input mode.�No�Yes�text�rememberinputmode�user�changedz
Chinese mode:u“Simplified Chinese” shows only characters 
used in simplified Chinese. “Traditional Chinese”
shows only characters used in traditional Chinese.
“Simplified Chinese before traditional” shows all
characters but puts the simplified characters higher
up in the candidate list. “Traditional Chinese before
simplified” puts the traditional characters higher up
in the candidate list. “All characters” just shows all
matches without any particular filtering on traditional
versus simplified Chinese.zSimplified ChinesezTraditional Chinesez%Simplified Chinese before traditional�z%Traditional Chinese before simplified�zAll Chinese characters��chinesemodezTable input letter width:zBWhether to use fullwidth or halfwidth
letters in table input mode.�Half�Full�tabdeffullwidthletterzTable input punctuation width:zFWhether to use fullwidth or halfwidth
punctuation in table input mode.�tabdeffullwidthpunctzDirect input letter width:zCWhether to use fullwidth or halfwidth
letters in direct input mode.�endeffullwidthletterzDirect input punctuation width:zGWhether to use fullwidth or halfwidth
punctuation in direct input mode.�endeffullwidthpunctz<b>zCandidate listz</b>zShow candidate listu�Whether candidate lists should be shown or hidden.
For Chinese input methods one usually wants the
candidate lists to be shown. But for some non-Chinese
input methods like the Russian “translit”, hiding the
candidate lists is better.�alwaysshowlookupzOrientation:zQWhether the lookup table showing the candidates
should be vertical or horizontal.�
Horizontal�VerticalzSystem default�lookuptableorientationz
Page size:z�The maximum number of candidates in
one page of the lookup table. You can switch
pages in the lookup table using the page up/down
keys or the arrow up/down keys.g�?g$@�lookuptablepagesizez
value-changedzCurrent key bindings:�keybindings�Command)r?z
row-activated�Editz.Edit the key bindings for the selected command�Set to default�1Set default key bindings for the selected commandzSet all to defaultz)Set default key bindings for all commandsrzDynamic adjustzHere you can choose whether the order of the candidates is dynamically adjusted according to how often the candidates are used.�
dynamicadjustzDelete all learned data�(zCompose:u�If this is set to “single char”, only single
character candidates will be shown. If it is
set to “Phrase” candidates consisting of
several characters may be shown.�PhrasezSingle Char�onecharzAuto selectu�If set to “Yes”, this does the following 4 things:
1) When typing “Return”, commit the 
   candidate + line-feed
2) When typing Tab, commit the candidate
3) When committing using a commit key, commit
   the candidate + " "
4) If typing the next character matches no candidates,
   commit the first candidate of the previous match.
   (Mostly needed for non-Chinese input methods like
   the Russian “translit”)�
autoselectzAuto commit mode:u�Committing with the commit keys or with the mouse
always commits to the application. This option is about
“automatic” commits which may happen when
one just continues typing input without committing
manually. From time to time, “automatic” commits will
happen then.
“Direct” means such “automatic” commits go directly
into the application, “Normal” means they get committed
to preedit.�Normal�Direct�
autocommitz%Action when typing invalid character:uDetermines what happens when a character which is not in the set of valid input characters for this table is typed: With “commit current candidate”, the currently selected candidate is inserted. With “commit typed keys”, the raw characters typed so far during the candidate selection process will be inserted instead. In all cases, the candidate selection ends when an invalid character is typed and the character in question is inserted immediately after the text that results from the options listed above.zCommit current candidatezCommit typed keys�commitinvalidmodez
Auto wildcardzWIf yes, a multi wildcard will be automatically
appended to the end of the input string.�autowildcardzSingle wildcard character:zhThe wildcard to match any single character.
Type RETURN or ENTER to confirm after changing the wildcard.�singlewildcardcharznotify::textzMulti wildcard character:zqThe wildcard used to match any number of characters.
Type RETURN or ENTER to confirm after changing the wildcard.�multiwildcardcharzUse dark themez7If yes, the color scheme for a dark theme will be used.�	darkthemezPlay sound file on errorz�Here you can choose whether a sound file is played if an error occurs. If the simpleaudio module for Python3 is not installed, this option does nothing.�
errorsound�errorsoundfile�soundbackend��
audio_backendzDebug level:zzWhen greater than 0, debug information may be printed to the log file and debug information may also be shown graphically.gg�o@�
debuglevel)��_engine_namer�Window�__init__r�set_default_icon_from_file�osr4�join�ibus_table_location�data�set_name�	set_modal�CssProvider�load_from_data�StyleContext�add_provider_for_screenr
�Screen�get_default�#STYLE_PROVIDER_PRIORITY_APPLICATION�exists�LOGGER�error�sys�exit�basename�replace�tabsqlitedb�TabSqliteDb�_SetupUI__is_chinese�_SetupUI__is_cjk�ime_properties�get�split�strip�
startswith� _SetupUI__user_can_define_phrase�lower�_SetupUI__rulesrr:�
_gsettings�_fill_settings_dict�	set_title�connect�_on_destroy_event�_on_delete_event�Box�_main_container�set_orientation�Orientation�VERTICAL�set_spacing�add�Notebook�	_notebook�set_visible�
set_can_focus�set_scrollable�set_hexpand�set_vexpand�
pack_start�_dialog_action_area�
HORIZONTAL�pack_end�Button�
_about_button�_on_about_button_clicked�_restore_all_defaults_button�Label�"_restore_all_defaults_button_label�set_text�'_on_restore_all_defaults_button_clicked�
_close_button�_close_button_label�set_text_with_mnemonic�_on_close_clicked�Grid�
_options_grid�set_border_width�set_row_spacing�set_column_spacing�set_row_homogeneous�set_column_homogeneous�_options_label�_options_details_grid�_options_details_label�_keybindings_vbox�set_margin_start�set_margin_end�set_margin_top�set_margin_bottom�_keybindings_label�append_page�_remember_input_mode_label�set_tooltip_text�
set_xalign�ComboBox�_remember_input_mode_combobox�	ListStore�str�bool�_remember_input_mode_store�append�	set_model�CellRendererText�
add_attribute�	enumerate�_settings_dict�
set_active�(_on_remember_input_mode_combobox_changed�attach�_chinese_mode_label�_chinese_mode_combobox�int�_chinese_mode_store�!_on_chinese_mode_combobox_changed�#_table_full_width_letter_mode_label�&_table_full_width_letter_mode_combobox�#_table_full_width_letter_mode_store�1_on_table_full_width_letter_mode_combobox_changed�"_table_full_width_punct_mode_label�%_table_full_width_punct_mode_combobox�"_table_full_width_punct_mode_store�0_on_table_full_width_punct_mode_combobox_changed�$_direct_full_width_letter_mode_label�'_direct_full_width_letter_mode_combobox�$_direct_full_width_letter_mode_store�2_on_direct_full_width_letter_mode_combobox_changed�#_direct_full_width_punct_mode_label�&_direct_full_width_punct_mode_combobox�#_direct_full_width_punct_mode_store�1_on_direct_full_width_punct_mode_combobox_changed�%_candidate_list_section_heading_label�set_use_markup�CheckButton�_always_show_lookup_checkbutton�"_on_always_show_lookup_checkbutton�_lookup_table_orientation_label�"_lookup_table_orientation_combobox�_lookup_table_orientation_storer
�SYSTEM�-_on_lookup_table_orientation_combobox_changed�_page_size_label�
SpinButton�_page_size_adjustment�set_increments�	set_range�	set_value�&_on_page_size_adjustment_value_changed�ScrolledWindow�_keybindings_treeview_scroll�TreeView�_keybindings_treeview�_keybindings_treeview_model�sorted�repr�TreeViewColumn�set_sort_column_id�
append_column�
get_selection�%_on_keybindings_treeview_row_selected�&_on_keybindings_treeview_row_activated�_keybindings_action_area�_keybindings_edit_button�_keybindings_edit_button_label�
set_sensitive�#_on_keybindings_edit_button_clicked�_keybindings_default_button�!_keybindings_default_button_label�&_on_keybindings_default_button_clicked�_keybindings_all_default_button�%_keybindings_all_default_button_label�*_on_keybindings_all_default_button_clicked�_keybindings_selected_command�-_keybindings_edit_popover_selected_keybinding�3_keybindings_edit_popover_selected_keybinding_index�!_keybindings_edit_popover_listbox�_keybindings_edit_popover� _keybindings_edit_popover_scroll�$_keybindings_edit_popover_add_button�'_keybindings_edit_popover_remove_button�(_keybindings_edit_popover_default_button�#_keybindings_edit_popover_up_button�%_keybindings_edit_popover_down_button�_dynamic_adjust_checkbutton�_on_dynamic_adjust_checkbutton�_dynamic_adjust_forget_button�HBox�!_dynamic_adjust_forget_button_box�#_dynamic_adjust_forget_button_label�set_max_width_chars�
set_line_wrap�
set_ellipsizer�
EllipsizeMode�START� _on_dynamic_adjust_forget_button�_onechar_mode_label�_onechar_mode_combobox�_onechar_mode_store�!_on_onechar_mode_combobox_changed�_autoselect_mode_checkbutton�_on_autoselect_mode_checkbutton�_autocommit_mode_label�_autocommit_mode_combobox�_autocommit_mode_store�$_on_autocommit_mode_combobox_changed�_commit_invalid_mode_label�_commit_invalid_mode_combobox�_commit_invalid_mode_store�(_on_commit_invalid_mode_combobox_changed�_autowildcard_mode_checkbutton�!_on_autowildcard_mode_checkbutton�_single_wildcard_char_label�Entry�_single_wildcard_char_entry�set_max_length�_on_single_wildcard_char_entry�_multi_wildcard_char_label�_multi_wildcard_char_entry�_on_multi_wildcard_char_entry�_use_dark_theme_checkbutton�_on_use_dark_theme_checkbutton�_error_sound_checkbutton�_on_error_sound_checkbutton�_error_sound_file_button�_error_sound_file_button_box�_error_sound_file_button_label�_on_error_sound_file_button�it_sound�SoundObject�
expanduser�_error_sound_object�_debug_level_label�_debug_level_adjustment�(_on_debug_level_adjustment_value_changed�show_all�set_current_page�_on_gsettings_value_changed)�selfr�style_provider�database_filename�user_database_filename�
languages_strr+�language�langr0�grid_border_width�grid_row_spacing�grid_column_spacing�margin�_options_grid_row�
renderer_text�index�item�user_keybindings�command�keybindings_treeview_column_0�keybindings_treeview_column_1�_options_details_grid_rows                       �#/usr/share/ibus-table/setup/main.pyrl�SetupUI.__init__{s#2��'���
�
����#���� �"%�&��
���	�	 �
	�
�
�-�-��G�G�L�L�#�(�(�*�G�5E�
G�	H�	
�
�
�,�-����t�����*���%�%�
�	�	���0�0��J�J�"�"�$���3�3�	5�
�G�G�L�L��G�G�L�L�,�1�1�3�X�>�����%�'���w�w�~�~�/�0�0��L�L�2�4E�F��H�H�Q�K�!#���!1�!1�2C�!D�!L�!L��:�"��&�2�2�&�*�!�#���
"�����
��(�(�7�7�;�;�K�H�
��%�+�+�C�0�I�%���>�>�#�.�.�t�4�4�(,�D�%�.�D��~�~�'�2�2�4�8�8�(,��
�/�&�).��%�!%�!1�!1�!@�!@�!D�!D�$�"&��!�&�,�,�.�&�8�
�)��'�'�6�6�:�:�7�C����,�,�6�9�D�<M�<M�M�O���	
� � �"��������
 �"%�
&��
��
�	 �
	
���_�d�&<�&<�=����^�T�%:�%:�;�"�w�w�y������,�,�S�_�_�-E�-E�F����(�(��+�����%�%�&����������"�"�4�(����$�$�U�+����%�%�d�+����"�"�4�(����"�"�4�(����'�'�����d�A�F�#&�7�7�9�� �� � �0�0����1K�1K�L�� � �,�,�T�2�� � �.�.�u�5�� � �,�,�T�2�� � �,�,�U�3����%�%�d�&>�&>��d�A�N� �Z�Z�a��j�9������&�&�t�,����"�"�9�d�.K�.K�L�� � �$�$�T�%7�%7�8�,/�J�J�L��)��)�)�5�5�d�;�25�)�)�+��/��/�/�8�8�
�$�%�	'��)�)�-�-��3�3�	5��)�)�1�1��t�C�C�	E�� � �$�$�T�%F�%F�G� �Z�Z�\������&�&�t�,�#&�9�9�;�� �� � �7�7��(��D������t�7�7�8����"�"�9�d�.D�.D�E�� � �$�$�T�%7�%7�8����� �� �X�X�Z������&�&�t�,����(�(��/����+�+�,=�>����*�*�+;�<����-�-�.A�B����.�.�u�5����1�1�$�7����&�&�t�,����&�&�u�-�!�i�i�k���	
���$�$�Q�z�]�3�%(�X�X�Z��"��"�"�.�.�t�4��"�"�0�0��7��"�"�3�3�4E�F��"�"�2�2�3C�D��"�"�5�5�6I�J��"�"�6�6�u�=��"�"�9�9�$�?��"�"�.�.�t�4��"�"�.�.�u�5�&)�i�i�k��#�	
�#�#�,�,�Q�y�\�:�!$���������.�.�s���/G�/G�H����*�*�1�-������/�/��7����-�-�f�5����-�-�f�5����0�0��8�"%�)�)�+���	
���(�(��>�):�;����"�"�������	!�	
���"�"��&�&��'�'�	)�	
���"�"��"�"��#�#�	%���*-�)�)�+��'��'�'�0�0�

�#�$�	&�	
�'�'�8�8�
�A�
B�
	C�	
�'�'�2�2�1�5�-0�\�\�^��*�*-�-�-��T�*B��'��'�'�.�.�
�t�W�e��	��'�'�.�.�
�u�X�t��	��*�*�4�4��+�+�	-��,�,�.�
��*�*�5�5��4�	!��*�*�8�8��6�1�	&�$�T�%D�%D�E�K�E�4��"�"�#6�7��?�4��7�J��2�2�=�=�e�D�F�	
�*�*�2�2���9�9�	;�	�Q������!�!��+�+�Q�0A�1�a�	I����!�!��.�.��3D�a��	L�$'�9�9�;�� �� � �)�)�
�o��	 �	
� � �1�1�
�	+�	
,�	-�	
� � �+�+�A�.�&)�l�l�n��#�#&�=�=��c�#:�� �� � �'�'��#�
$�a�(�	*�	
� � �'�'��$�
%�q�)�	+�	
� � �'�'��6�
7��;�		=�
	
� � �'�'��6�
7��;�		=�
	
� � �'�'��'�
(�!�,�		.�
	
�#�#�-�-��$�$�	&��,�,�.�
��#�#�.�.��4�	!��#�#�1�1��6�1�	&�$�T�%=�%=�>�K�E�4��"�"�=�1�&�9�T�!�W�D��+�+�6�6�u�=�?�	
�#�#�+�+���2�2�	4������"�����%�%��(�(�!�->��1�
F����%�%��+�+�Q�0A�1�a�
I�47�9�9�;��0��0�0�9�9�
�)�*�	,�	
�0�0�A�A�
�-�
.�	/�
	
�0�0�;�;�A�>�69�l�l�n��3�36�=�=��d�3K��0��0�0�7�7��v�Y���	 �	
�0�0�7�7��v�Y���	�	
�3�3�=�=��4�4�	6��,�,�.�
��3�3�>�>��4�	!��3�3�A�A��6�1�	&�$�T�%M�%M�N�K�E�4��"�"�#:�;�F�C�t�A�w�N��;�;�F�F�u�M�O�	
�3�3�;�;���B�B�	D��=�=���"�����%�%��8�8��$�a��
,�
���%�%��;�;��$�a��
,�36�)�)�+��/��/�/�8�8�
�.�/�	1�	
�/�/�@�@�
�1�
2�	3�
	
�/�/�:�:�1�=�58�\�\�^��2�25�-�-���3��/��/�/�6�6��v�Y���	 �	
�/�/�6�6��v�Y���	�	
�2�2�<�<��3�3�	5��,�,�.�
��2�2�=�=��4�	!��2�2�@�@��6�1�	&�$��7�7�9�K�E�4��"�"�#9�:�6�B�d�1�g�M��:�:�E�E���9�
	
�2�2�:�:���A�A�	C��=�=���"�����%�%��7�7��$�a��
,�
���%�%��:�:��$�a��
,�58�I�I�K��1��1�1�:�:�
�*�+�	-�	
�1�1�B�B�
�.�
/�	0�
	
�1�1�<�<�Q�?�7:�|�|�~��4�47�M�M�#�t�4L��1��1�1�8�8��v�Y���	 �	
�1�1�8�8��v�Y���	�	
�4�4�>�>��5�5�	7��,�,�.�
��4�4�?�?��4�	!��4�4�B�B��6�1�	&�$��9�9�;�K�E�4��"�"�#9�:�6�B�d�1�g�M��<�<�G�G��N�;�	
�4�4�<�<���C�C�	E��=�=���"�����%�%��9�9��$�a��
,�
���%�%��<�<��$�a��
,�47�9�9�;��0��0�0�9�9�
�/�0�	2�	
�0�0�A�A�
�2�
3�	4�
	
�0�0�;�;�A�>�69�l�l�n��3�36�=�=���4��0��0�0�7�7��v�Y���	 �	
�0�0�7�7��v�Y���	�	
�3�3�=�=��4�4�	6��,�,�.�
��3�3�>�>��4�	!��3�3�A�A��6�1�	&�$��8�8�:�K�E�4��"�"�#8�9�&�A�T�!�W�L��;�;�F�F���:�
	
�3�3�;�;���B�B�	D��=�=���"�����%�%��8�8��$�a��
,�
���%�%��;�;��$�a��
,�69�Y�Y�[��2��2�2�;�;��A�&�'�'�&�0�	2��2�2�A�A�$�G��2�2�=�=�a�@��Q������!�!��6�6�
� �!�Q�	(�03����)�*�0,��,�	
�,�,�=�=�
�+�
,�		-�	
�,�,�8�8��?��,�,�8�8��?��,�,�7�7���� 2�3�F�;�	=��,�,�4�4��t�>�>�	@��Q������!�!��0�0�!�5F��1�	N�03�y�y�{��,��,�,�5�5�
�n��	�	
�,�,�=�=�
�2�
3�		4�	
�,�,�7�7��:�25�,�,�.��/�/2�}�}�S�#�/F��,��,�,�3�3�
�|�_�c�$�"2�"2�"=�"=�>�?�	A��,�,�3�3�
�z�]�C�� 0� 0� 9� 9�:�;�	=��,�,�3�3�
��
 �#�d�&6�&6�&=�&=�">�?�	A��/�/�9�9��0�0�	2��,�,�.�
��/�/�:�:��4�	!��/�/�=�=��6�1�	&�$�T�%I�%I�J�K�E�4��#�#�$<�=�f�E���7���7�7�B�B�5�I�K�	
�/�/�7�7���>�>�	@�	�Q������!�!��0�0�!�5F��1�	N����!�!��3�3�
� �!�Q�	(�!$�	�	����	
���&�&�q���7����.�.�
�0�
1�		2�	
���(�(��+�%(�^�^�%5��"��"�"�.�.�t�4��"�"�0�0��6��"�"�1�1�#�s�;��"�"�,�,�S�$�7��"�"�,�,���� 5�6�v�>�	@��"�"�*�*��T�H�H�	J��Q������!�!��!�!�1�&7��A�	?����!�!��&�&��+<�a��	D�#&�)�)�+������(�(��A�-�.�.��7�	9����.�.�t�4����0�0��8����.�.�v�6����.�.�v�6����1�1�&�9����+�+�E�2����+�+�E�2����*�*�1�-�,/�,>�,>�,@��)��)�)�7�7��>��)�)�5�5�e�<��)�)�5�5�d�;�%(�\�\�^��"�+.�=�=��c�+B��(��"�"�,�,�T�-M�-M�N��.�.�}�=�f�E���.�/�G��,�,�3�3��$�/��8�9�:�
<�0�),�(:�(:�
�i�L�� � �"��)�%�	&�8�8��;��"�"�0�0�1N�O�(+�(:�(:�
�n��� � �"��)�%�	&�8�8��;��"�"�0�0�1N�O��"�"�0�0�2�:�:��t�A�A�	C��"�"�*�*��T�H�H�	J��)�)�-�-�d�.H�.H�I����)�)��#�#�U�E�1�	6����)�)��-�-�t�T�1�	>�(+���	��%��%�%�5�5��O�O�&�&�	(��%�%�3�3�E�:����"�"��)�)�	+�(+�
�
���%�.1�i�i�k��+��+�+�4�4�
�f�I�	��%�%�)�)��/�/�	1��%�%�6�6�
�>�?�	A�	
�%�%�3�3�E�:��%�%�-�-��t�?�?�	A�+.�:�:�<��(�14�����.��.�.�7�7�
���	!��(�(�,�,��2�2�	4��(�(�9�9�
�A�B�	D�	
�(�(�6�6�u�=��(�(�0�0��t�B�B�	D�/2�z�z�|��,�58�Y�Y�[��2��2�2�;�;�
�"�#�	%��,�,�0�0��6�6�	8��,�,�=�=�
�9�:�	<�	
�,�,�:�:�4�@��,�,�4�4��t�F�F�	H��%�%�)�)�$�*G�*G�H��%�%�)�)�$�*J�*J�K��%�%�)�)�$�*N�*N�O�-/��*�=?��:�CE��@�15��.�)-��&�04��-�48��1�7;��4�8<��5�37��0�59��2�$&�!�+.�?�?��$�%�	,'��(�
	
�(�(�9�9�
��
�	�	
�(�(�4�4�U�;��(�(�4�4�U�;��(�(�3�3�����0��8�	:��(�(�0�0��t�:�:�	<�-0�Z�Z�\��*�14�����.�36�9�9�;��0��0�0�9�9�
�'�(�	*��0�0�?�?��E��0�0�D�D��	��0�0�>�>�u�E��0�0�>�>����%�%�	'��.�.�9�9��4�4�e�U�A�	G��*�*�.�.��2�2�	4��*�*�2�2��t�<�<�	>�!�Q�&�!��"�"�)�)��,�,�
�(�!�Q�	0�	
�"�"�)�)��.�.�
�(�!�Q�	0�$'�9�9�;�� �� � �)�)�
�j�M�	�	
� � �1�1�
�1�
2�		3�	
� � �+�+�A�.�&)�l�l�n��#�#&�=�=��c�#:�� �� � �'�'�
�x�[�%� �	"�� � �'�'�
�}�
�t�$�	&��#�#�-�-��$�$�	&��,�,�.�
��#�#�.�.��4�	!��#�#�1�1��6�1�	&�$�T�%=�%=�>�K�E�4��"�"�9�-�f�5��a��@��+�+�6�6�u�=�?�	
�#�#�+�+��t�=�=�	?��=�=�%��*�%��&�&�-�-��(�(��,�a��
4�
�&�&�-�-��+�+��,�a��
4�-0�O�O��M�"�-$��)�	
�)�)�:�:�
�	/�	
0�	
	1�	
�)�)�5�5�e�<��)�)�5�5�e�<��)�)�4�4�����-�f�5�	7��)�)�1�1��t�;�;�	=�!�Q�&�!��"�"�)�)��-�-�
�(�!�Q�	0�'*�i�i�k��#��#�#�,�,�
�!�"�	$�	
�#�#�4�4�
��
�		�	
�#�#�.�.�q�1�),�����&�&)�m�m�C��&=��#��#�#�*�*�
�x�[�%� �	"��#�#�*�*�
�x�[�$��	!��&�&�0�0��'�'�	)��,�,�.�
��&�&�1�1��4�	!��&�&�4�4��6�1�	&�$�T�%@�%@�A�K�E�4��"�"�<�0��8�D��G�C��.�.�9�9�%�@�B�	
�&�&�.�.��t�@�@�	B��(�(�T�\�\�%��*�%��&�&�-�-��+�+��,�a��
4�
�&�&�-�-��.�.��,�a��
4�+.�)�)�+��'��'�'�0�0�
�5�6�	8�	
�'�'�8�8�
�K�
L�		M�	
�'�'�2�2�1�5�-0�\�\�^��*�*-�-�-��S�*A��'��'�'�.�.�
�)�
*�A�.�	0��'�'�.�.�
�"�
#�Q�'�	)��*�*�4�4��+�+�	-��,�,�.�
��*�*�5�5��4�	!��*�*�8�8��6�1�	&�$�T�%D�%D�E�K�E�4��"�"�#6�7��?�4��7�J��2�2�=�=�e�D�F�	
�*�*�2�2��t�D�D�	F�!�Q�&�!��"�"�)�)��+�+�
�(�!�Q�	0�	
�"�"�)�)��.�.�
�(�!�Q�	0�/2�o�o��O�$�/&��+�	
�+�+�<�<�
�9�
:�		;�	
�+�+�7�7��>��+�+�7�7��>��+�+�6�6�����/��7�	9��+�+�3�3��t�=�=�	?�!�Q�&�!��"�"�)�)��/�/�
�(�!�Q�	0�,/�9�9�;��(��(�(�1�1�
�*�+�	-�	
�(�(�9�9�
�M�
N�		O�	
�(�(�3�3�A�6�+.�9�9�;��(��(�(�7�7��:��(�(�1�1���� 4�5�f�=�	?��(�(�0�0��D�?�?�	A�!�Q�&�!��"�"�)�)��,�,�
�(�!�Q�	0�	
�"�"�)�)��,�,�
�(�!�Q�	0�+.�)�)�+��'��'�'�0�0�
�)�*�	,�	
�'�'�8�8�
�M�
N�		O�	
�'�'�2�2�1�5�*-�)�)�+��'��'�'�6�6�q�9��'�'�0�0���� 3�4�V�<�	>��'�'�/�/��D�>�>�	@�!�Q�&�!��"�"�)�)��+�+�
�(�!�Q�	0�	
�"�"�)�)��+�+�
�(�!�Q�	0�,/�?�?��$�%�,'��(�	
�(�(�9�9�
�G�H�		J�
	
�(�(�4�4�U�;��(�(�4�4�U�;��(�(�3�3�����,�V�4�	6��(�(�0�0��t�:�:�	<�!�Q�&�!��"�"�)�)��,�,�
�(�!�Q�	0�),����.�/�)1��%�	
�%�%�6�6�
�,�
-�	.�
	
�%�%�1�1�%�8��%�%�1�1�%�8��%�%�0�0�����-�f�5�	7��%�%�-�-��t�7�7�	9�(+�
�
���%�,/�H�H�J��)�.1�i�i�k��+��+�+�4�4���� 0�1�&�9�	;��+�+�:�:�4�@��+�+�?�?��	��+�+�9�9�%�@��+�+�9�9����%�%�	'��)�)�4�4��/�/���q�	B��%�%�)�)��-�-�	/��%�%�-�-��t�7�7�	9�!�Q�&�!��"�"�)�)��)�)�1�.G��A�	O��"�"�)�)��)�)�1�.G��A�	O�#+�#7�#7��G�G���t�2�2�3C�D�V�L�M��-�-�n�=�f�E�$G�� �#&�)�)�+������(�(�
�n��		�
	
���0�0�
�/�
0�	1�	
���*�*�1�-�'*�~�~�'7��$��$�$�0�0��6��$�$�2�2�4�8��$�$�3�3�C��=��$�$�.�.�s�E�:��$�$�.�.�����-�f�5�	7��$�$�,�,���9�9�	;�	"�Q�&�!��"�"�)�)��#�#�Q�(A�1�a�	I��"�"�)�)��(�(�!�-F��1�	N�	
�
�
�����'�'��*������	�4�+K�+K�L�c�p�0Ul[R"URR	S55nUR
RRS5(a%UR
RRS5n[R"URRS55nUcUnUUURS.URS'[R"URR	S55nUR
RRS5(a%UR
RRS5n[R"URRS55nUcUnUUURS.URS'[R"URUR
5n[R"U5n[R"URRS55nU(d0n[R"Xg5 UUURS.URS'[R"URR	S55nUR
RRS	5(a6UR
RRS	5R!5S
:Hn[R"URRS55n	U	cUn	UU	UR"S.URS'[R"URR	S55n
[%SS
5H nUSUS--(aM['X�5n
 O [R"URRS55nUcU
n[)U
5[)U5UR*S.URS'[R"URR	S55n
UR
R-5n
[R"URRS55nUcU
nU
UUR.S.URS'[R"URR	S55n[R0"UR
5n[R"URRS55nUcUnUUUR2S.URS'[R"URR	S55n[R"URR5S55nUUUR6S.URS'[R"URR	S55n[R"URR5S55nUUUR8S.URS'[R"URR	S55n[R"URR5S55nUUUR:S.URS'[R"URR	S55nUR
RRS5(a6UR
RRS5R!5S
:Hn[R"URRS55nUcUnUUUR<S.URS'[R"URR	S55n[R"URR5S55nUUUR>S.URS'[R"URR	S55n[R"URR5S55nUUUR@S.URS'[R"URR	S55n[R"URR5S55nUUURBS.URS'[R"URR	S55n[R"URR5S55n UU URDS.URS'[R"URR	S55n!UR
RRS5(a6UR
RRS5R!5S
:Hn![R"URRS55n"U"cU!n"U!U"URFS.URS'[R"URR	S55n#UR
RRS5(a6UR
RRS5R!5S
:Hn#[R"URRS55n$U$cU#n$U#U$URHS.URS'[R"URR	S55n%[R"URR5S55n&U%U&URJS.URS'[R"URR	S55n'[R"URR5S55n(U'U(URLS.URS'[R"URR	S 55n)[R"URR5S 55n*U)U*URNS.URS '[R"URR	S!55n+UR
RRS"5(a6UR
RRS"5R!5S
:Hn+[R"URRS!55n,U,cU+n,U+U,URPS.URS!'[R"URR	S#55n-UR
RRS$5(a6UR
RRS$5R!5S
:Hn-[R"URRS#55n.U.cU-n.U-U.URRS.URS#'[R"URR	S%55n/[R"URR5S%55n0U/U0URTS.URS%'[R"URR	S&55n1UR
RRS'5(a6UR
RRS'5R!5S
:Hn1[R"URRS&55n2U2cU1n2U1U2URVS.URS&'g)(a�Fill a dictionary with the default and user settings for all
settings keys.

The default settings start with the defaults from the
gsettings schema. Some of these generic default values may be
overridden by more specific default settings coming from the
specific database of this table input method. After this
possible modification from the database we have the final default
settings for this specific table input method.

The user settings start with a copy of these final default settings,
then they are possibly modified by user gsettings.

Keeping a copy of the default settings in the settings dictionary
makes it easy to revert some or all settings to the defaults.
ra�single_wildcard_charN)rrA�set_functionrb�multi_wildcard_charrRrM�always_show_lookupr1rQr'r9zcommit_candidate_%srPrF�	inputmoder@rcrW�dynamic_adjustrdrerfrirI�def_full_width_letterrJ�def_full_width_punctrKrLrZr[�auto_selectr^�auto_commitr_r`�
auto_wildcard),r��it_util�variant_to_valuer��get_default_valuer�r�r��get_user_value�set_single_wildcard_char�set_multi_wildcard_char�get_default_keybindings�copy�deepcopy�dict_update_existing_keys�set_keybindingsr��set_always_show_lookup�range�minr��
set_page_size�get_orientation�set_lookup_table_orientation�get_default_chinese_mode�set_chinese_mode�	get_value�set_input_mode�set_remember_input_mode�set_dark_theme�set_dynamic_adjust�set_error_sound�set_error_sound_file�set_sound_backend�set_debug_level� set_table_full_width_letter_mode�set_table_full_width_punct_mode�!set_direct_full_width_letter_mode� set_direct_full_width_punct_mode�set_onechar_mode�set_autoselect_mode�set_autocommit_mode�set_commit_invalid_mode�set_autowildcard_mode)3rT�default_single_wildcard_char�user_single_wildcard_char�default_multi_wildcard_char�user_multi_wildcard_char�default_keybindingsrc�user_keybindings_gsettings�default_always_show_lookup�user_always_show_lookup�default_page_sizera�user_page_size� default_lookup_table_orientation�user_lookup_table_orientation�default_chinese_mode�user_chinese_mode�default_input_mode�user_input_mode�default_remember_input_mode�user_remember_input_mode�default_dark_theme�user_dark_theme�default_dynamic_adjust�user_dynamic_adjust�default_error_sound�user_error_sound�default_error_sound_file�user_error_sound_file�default_sound_backend�user_sound_backend�default_debug_level�user_debug_level�$default_table_full_width_letter_mode�!user_table_full_width_letter_mode�#default_table_full_width_punct_mode� user_table_full_width_punct_mode�%default_direct_full_width_letter_mode�"user_direct_full_width_letter_mode�$default_direct_full_width_punct_mode�!user_direct_full_width_punct_mode�default_onechar_mode�user_onechar_mode�default_autoselect_mode�user_autoselect_mode�default_autocommit_mode�user_autocommit_mode�default_commit_invalid_mode�user_commit_invalid_mode�default_autowildcard_mode�user_autowildcard_modes3                                                   rhr��SetupUI._fill_settings_dict�s#��"!���'.�'?�'?��O�O�-�-�.B�C�(E�$����*�*�.�.�/E�F�F�+/�+;�+;�+J�+J�+N�+N�&�,(�(�$+�$<�$<��O�O�*�*�+?�@�%B�!�$�,�(D�%�4�-� �9�9�5;����0�1�
'.�&>�&>��O�O�-�-�.A�B�'D�#����*�*�.�.�/D�E�E�*.�*:�*:�*I�*I�*M�*M�%�+'�'�#*�#;�#;��O�O�*�*�+>�?�$A� �#�+�'B�$�3�,� �8�8�4:����/�0�
&�=�=��O�O�T�-�-�/�� �=�=�)<�=��%,�%=�%=��O�O�*�*�=�9�&;�"�)�)+�&��)�)��	:�+�$� �0�0�.2����M�*�
&-�%=�%=��O�O�-�-�.@�A�&C�"����*�*�.�.�/C�D�D�� � �/�/�3�3�(�*�*/�%�'�V�<�
'�#*�":�":��O�O�*�*�+=�>�#@��"�*�&@�#�2�+� �7�7�39����.�/�
$�4�4��O�O�-�-�.C�D�F���1�b�\�E�&�'<���	�'J�K�K�$'��$A�!��"�!�1�1��O�O�*�*�+@�A�C���!�.�N��,�-���'� �.�.�60����1�2�
,3�+C�+C��O�O�-�-�.F�G�,I�(�+/�+;�+;�+K�+K�+M�(�(/�(@�(@��O�O�*�*�+C�D�)F�%�(�0�,L�)�8�1� �=�=�9?����4�5�
 '�7�7��O�O�-�-�m�<� >��&�?�?���� ��#�4�4��O�O�*�*�=�9�;���$� 4��,�%� �1�1�.3����M�*�
%�5�5��O�O�-�-�k�:�<��!�2�2��O�O�%�%�k�2�4��*�#� �/�/�,1����K�(�
'.�&>�&>��O�O�-�-�.A�B�'D�#�#*�#;�#;��O�O�%�%�&9�:�$<� �3�,� �8�8�4:����/�0�
%�5�5��O�O�-�-�k�:�<��!�2�2��O�O�%�%�k�2�4��*�#� �/�/�,1����K�(�
")�!9�!9��O�O�-�-�o�>�"@�����*�*�.�.�/?�@�@�� � �/�/�3�3�$�&�&+�e�g��8�
#�&�6�6��O�O�*�*�?�;�=���&�"8��.�'� �3�3�05����O�,�
&�6�6��O�O�-�-�l�;�=��"�3�3��O�O�%�%�l�3�5��+�$� �0�0�-2����L�)�
$+�#;�#;��O�O�-�-�.>�?�$A� � '� 8� 8��O�O�%�%�&6�7�!9��0�)� �5�5�17����,�-�
!(� 8� 8��O�O�-�-�n�=�!?��$�5�5��O�O�%�%�n�5�7��-�&� �2�2�/4����N�+�
&�6�6��O�O�-�-�l�;�=��"�3�3��O�O�%�%�l�3�5��+�$� �0�0�-2����L�)�
07�/G�/G��O�O�-�-�.E�F�0H�,����*�*�.�.�/F�G�G�� � �/�/�3�3�+�-�-2�U�W��?�
1�-4�,D�,D��O�O�*�*�+B�C�-E�)�,�4�4�
.�<�5� �A�A�8C����3�4�
�$�$����1�1�2H�I�
K�	,����*�*�.�.�/E�F�F�� � �/�/�3�3�*�,�,1�E�G�v�>�
0�,3�+C�+C��O�O�*�*�+A�B�,D�(�+�3�3�
-�;�4� �@�@�7B����2�3�
18�0H�0H��O�O�-�-�.D�E�1G�-�-4�-E�-E��O�O�%�%�&<�=�.?�*�=�6� �B�B�7D����2�3�
07�/G�/G��O�O�-�-�.C�D�0F�,�,3�,D�,D��O�O�%�%�&;�<�->�)�<�5� �A�A�6C����1�2�
 '�7�7��O�O�-�-�i�8� :��#�4�4��O�O�%�%�i�0�2��,�%� �1�1�*3����I�&�
#*�":�":��O�O�-�-�l�;�#=�����*�*�.�.�}�=�=�� � �/�/�3�3�!�#�#(�5�7�f�5�
$� '�7�7��O�O�*�*�<�8� :���'�#:� �/�(� �4�4�-6����L�)�
#*�":�":��O�O�-�-�l�;�#=�����*�*�.�.�}�=�=�� � �/�/�3�3�!�#�#(�5�7�f�5�
$� '�7�7��O�O�*�*�<�8� :���'�#:� �/�(� �4�4�-6����L�)�
'.�&>�&>��O�O�-�-�.A�B�'D�#�#*�#;�#;��O�O�%�%�&9�:�$<� �3�,� �8�8�4:����/�0�
%,�$<�$<��O�O�-�-�n�=�%?�!����*�*�.�.��?�?�� � �/�/�3�3�#�%�%*�U�W��7�
&�")�!9�!9��O�O�*�*�>�:�"<��!�)�%>�"�1�*� �6�6�/8����N�+rj�message�message_typec���[R"[RRU[RR
US9nUR
5 UR5 g)z0Run a dialog to show an error or warning message��flagsr��buttons�message_formatN)r�
MessageDialog�DialogFlags�MODAL�ButtonsType�OK�run�destroy)r�r��dialogs   rh�__run_message_dialog�SetupUI.__run_message_dialog�sI��
�"�"��/�/�'�'�%��O�O�&�&�"�	$��
	�
�
�����rjc�,�[R"[S5US9nUR[S5[RR
5 UR[S5[RR5 UR5n[R"5nURS[R"U5-S-5 URS5 URS5 URS5 UR[ R"R$5 UR'S	5 S
nUR)U5 UR+U5 UR-U5 UR/U5 UR1U5 UR35 UR55nUR75 [R8"5(a1[R:"5 [R8"5(aM1U$)uw
Run a dialog to show a “Are you sure?” message.

Returns Gtk.ResponseType.OK or Gtk.ResponseType.CANCEL (an enum)
z
Are you sure?)r#�parent�_Cancel�_OKz&<span size="large" color="#ff0000"><b>z</b></span>TrXrr9)r�Dialogr�
add_button�ResponseType�CANCELr��get_content_arear�r��html�escaper�r$r%�set_line_wrap_moder�WrapMode�	WORD_CHARr�r�r�r�r�r�rQr�r��events_pending�main_iteration)rTr��confirm_question�boxr6r^�responses       rh�_run_are_you_sure_dialog� SetupUI._run_are_you_sure_dialog�s����:�:��O�$����	�#�#�A�i�L�#�2B�2B�2I�2I�J��#�#�A�e�H�c�.>�.>�.A�.A�B��/�/�1���	�	���
���4��k�k�'�"�
#��
�	�	���T�"�
�!�!�"�%�
���D�!�
� � ����!9�!9�:�
�������
���v�&�
���V�$�
���V�$�
����'�������!�!�#�#�'�'�)��� � �"�� � �"�"���� �� � �"�"��rjc��[R"5RS5[RR:waJUR[
S5[RR5 [R"S5 gg)zE
Check whether another instance of the setup tool is running already
zorg.ibus.tablez0Another instance of this app is already running.r'FN)�dbus�
SessionBus�request_name�bus� REQUEST_NAME_REPLY_PRIMARY_OWNER�_SetupUI__run_message_dialogrr�MessageType�ERRORr~r)rTs rh�check_instance�SetupUI.check_instances`��
�O�O��*�*�+;�<��8�8�<�<�
=��%�%��D�E����%�%�
'�
�H�H�Q�K�rj�_argsc�.�[R"5 g)z>
The window has been deleted, probably by the window manager.
N�r�	main_quit�r�s rhr��SetupUI._on_delete_event"�
��
	�
�
�rjc�.�[R"5 g)z 
The window has been destroyed.
Nrrs rhr��SetupUI._on_destroy_event)rrj�_buttonc�.�[R"5 g)z0The button to close the dialog has been clicked.Nr�rs rhr��SetupUI._on_close_clicked0s
��	�
�
�rj�	_settings�keyc��[R"URRU55n[RSX#5 X R;aURUS"USS9 g[RS5 g)z�
Called when a value in the settings has been changed.

:param settings: The settings object
:type settings: Gio.Settings object
:param key: The key of the setting which has changed
:type key: String
z"Settings changed: key=%s value=%s
rmF��update_gsettingsNzUnknown key
)rwrxr�r�r|�infor�r})rTrr�values    rhrS�#SetupUI._on_gsettings_value_changed5sn���(�(����)B�)B�3�)G�H�����9�3�F��%�%�%�����$�^�4�U�FK�
M�����_�%�rjc�.�[R"5 g)uQ
The “About” button has been clicked

:param _button: The “About” button
N)rw�
ItAboutDialogr	s rhr�� SetupUI._on_about_button_clickedIs��	���rjc��URRS5 UR[S55nU[R
R:Xaw[RS5 URHQnURUS"URUSSS9 URUS"URUSSS9 MS O[RS5 URRS5 g	)
z
Restore all default settings
Fz3Do you really want to restore all default settings?zRestoring all defaults.rmrTrzRestore all defaults cancelled.N)
r�rr�rrr�r�r|rr�)rTrr�rs    rhr��/SetupUI._on_restore_all_defaults_button_clickedRs���
	
�)�)�7�7��>��0�0�
�C�D�	F��
�s�'�'�*�*�*��K�K�1�2��*�*���#�#�C�(��8��'�'��,�Y�7�%)�+��#�#�C�(��8��'�'��,�Y�7�%*�,�	+�
�K�K�9�:��)�)�7�7��=rj�widget�_property_specc�@�URUR5SS9 g)zA
The character to be used as a single wildcard has been changed.
TrN)r{�get_text�rTrrs   rhr>�&SetupUI._on_single_wildcard_char_entryjs#��
	
�%�%��O�O���	&�	6rjc�@�URUR5SS9 g)z@
The character to be used as a multi wildcard has been changed.
TrN)r|rrs   rhrA�%SetupUI._on_multi_wildcard_char_entryrs#��
	
�$�$��O�O���	%�	6rj�_widgetc�T�URURR5SS9 g)z5
The page size of the lookup table has been changed.
TrN)r�r�r��rTr s  rhr��.SetupUI._on_page_size_adjustment_value_changedzs,��
	
����&�&�0�0�2�T�	�	Krjc�z�UR5nUb(UR5nX2SnURUSS9 gg)zO
A change of the lookup table orientation has been requested
with the combobox
Nr'Tr)�get_active_iter�	get_modelr�)rTr�	tree_iter�model�orientations     rhr��5SetupUI._on_lookup_table_orientation_combobox_changed�sP���*�*�,�	�� ��$�$�&�E��*�1�-�K��-�-��d�
.�
4�!rjc�z�UR5nUb(UR5nX2SnURUSS9 gg)zJ
A change of the remember input mode has been requested
with the combobox
Nr'Tr)r%r&r�)rTrr'r(�remember_input_modes     rhr��0SetupUI._on_remember_input_mode_combobox_changed�sQ���*�*�,�	�� ��$�$�&�E�"'�"2�1�"5���(�(�#�d�
)�
<�!rjc�z�UR5nUb(UR5nX2SnURUSS9 gg)zC
A change of the Chinese mode has been requested
with the combobox
Nr'Tr)r%r&r�)rTrr'r(�chinese_modes     rhr��)SetupUI._on_chinese_mode_combobox_changed�sP��
�*�*�,�	�� ��$�$�&�E� �+�A�.�L��!�!��t�
"�
5�!rjc�z�UR5nUb(UR5nX2SnURUSS9 gg)zC
A change of the onechar mode has been requested
with the combobox
Nr'Tr)r%r&r��rTrr'r(�modes     rhr-�)SetupUI._on_onechar_mode_combobox_changed�sP��
�*�*�,�	�� ��$�$�&�E��#�A�&�D��!�!��t�
"�
-�!rjc�@�URUR5SS9 g)z4The checkbutton for autoselect mode has been clickedTrN)r��
get_active�rTrs  rhr/�'SetupUI._on_autoselect_mode_checkbutton�s��� � ��!2�!2�!4�t� �Lrjc�z�UR5nUb(UR5nX2SnURUSS9 gg)zF
A change of the autocommit mode has been requested
with the combobox
Nr'Tr)r%r&r�r2s     rhr3�,SetupUI._on_autocommit_mode_combobox_changed�sP���*�*�,�	�� ��$�$�&�E��#�A�&�D��$�$��t�
%�
-�!rjc�z�UR5nUb(UR5nX2SnURUSS9 gg)zJ
A change of the commit invalid mode has been requested
with the combobox
Nr'Tr)r%r&r�)rTrr'r(�commit_invalid_modes     rhr7�0SetupUI._on_commit_invalid_mode_combobox_changed�sQ��
�*�*�,�	�� ��$�$�&�E�"'�"2�1�"5���(�(�#�d�
)�
<�!rjc�@�URUR5SS9 g)z4The checkbutton for autocommit mode has been clickedTrN)r�r6r7s  rhr9�)SetupUI._on_autowildcard_mode_checkbutton�s ��	
�"�"�6�#4�#4�#6��"�Nrjc�z�UR5nUb(UR5nX2SnURUSS9 gg�ub
A change of the letter width when in “Table input” mode has been
requested with the combobox
Nr'Tr)r%r&r�r2s     rhr��9SetupUI._on_table_full_width_letter_mode_combobox_changed��P���*�*�,�	�� ��$�$�&�E��#�A�&�D��1�1��t�
2�
-�!rjc�z�UR5nUb(UR5nX2SnURUSS9 ggrA)r%r&r�r2s     rhr��8SetupUI._on_table_full_width_punct_mode_combobox_changed�sP���*�*�,�	�� ��$�$�&�E��#�A�&�D��0�0��t�
1�
-�!rjc�z�UR5nUb(UR5nX2SnURUSS9 gg�uc
A change of the letter width when in “Direct input” mode has been
requested with the combobox
Nr'Tr)r%r&r�r2s     rhr��:SetupUI._on_direct_full_width_letter_mode_combobox_changed�sP���*�*�,�	�� ��$�$�&�E��#�A�&�D��2�2��t�
3�
-�!rjc�z�UR5nUb(UR5nX2SnURUSS9 ggrG)r%r&r�r2s     rhr��9SetupUI._on_direct_full_width_punct_mode_combobox_changed�rCrjc�@�URUR5SS9 g)z7The checkbutton for always show lookup has been clickedTrN)r�r6r7s  rhr��*SetupUI._on_always_show_lookup_checkbutton
s ��	
�#�#�F�$5�$5�$7�$�#�Orjc�@�URUR5SS9 g)z3The checkbutton for the dark theme has been clickedTrN)r�r6r7s  rhrC�&SetupUI._on_use_dark_theme_checkbuttons�����F�-�-�/�$��Grjc�@�URUR5SS9 g)zg
The checkbutton whether to dynamically adjust the candidates

:param widget: The check button clicked
TrN)r�r6r7s  rhr�&SetupUI._on_dynamic_adjust_checkbuttons ��	
���� 1� 1� 3�d��Krjc��URRS5 UR[S55nU[R
R:XaURR5 URRS5 g)z<
The button to select forget how often candidates were used
FzSDo you really want to delete all data learned from typing and selecting candidates?TN)	r rr�rrr�r�r��remove_all_phrases_from_user_db)rTr r�s   rhr)�(SetupUI._on_dynamic_adjust_forget_buttonsv��
	
�*�*�8�8��?��0�0�
�E�
F�G���s�'�'�*�*�*����<�<�>��*�*�8�8��>rjc�@�URUR5SS9 g)za
The checkbutton whether to play a sound file on error.

:param widget: The check button clicked
TrN)r�r6r7s  rhrE�#SetupUI._on_error_sound_checkbutton.s ��	
���V�.�.�0�4��Hrjc��URRS5 Sn[R"[	S5U[R
RS9nUR[	S5[RR5 UR[	S5[RR5 UR[RRURSS55 UR!5nU[RR:XaUR#5nUR%5 [R&"5(a1[R("5 [R&"5(aM1U(a+UR*R-U5 UR/US	S
9 URRS	5 g)zA
The button to select the .wav sound file to be played on error.
FrzSelect .wav sound file:)r#r�rr�r�rerATrN)rFrr�FileChooserDialogr�FileChooserAction�OPENr�r�r�r��set_current_folderrnr4�dirnamer�r��get_filenamer�r�r�rHr�r�)rTr r(�chooserr�s     rhrI�#SetupUI._on_error_sound_file_button6sd��
	
�%�%�3�3�E�:����'�'��-�.���(�(�-�-�/��	���1�Y�<��)9�)9�)@�)@�A����1�U�8�S�%5�%5�%8�%8�9��"�"�2�7�7�?�?���� 0�1�&�9�$;�	<��;�;�=���s�'�'�*�*�*��+�+�-�H������ � �"�"���� �� � �"�"���/�/�8�8��
��%�%��4�
&�
1��%�%�3�3�D�9rjc�T�URURR5SS9 g)z/The value for the debug level has been changed.TrN)r�rOr�r"s  rhrP�0SetupUI._on_debug_level_adjustment_value_changedRs,��	
����(�(�2�2�4�!�	�	#rj�	_treeview�treepath�_treeviewcolumnc���URnURU5nXESnX`R:wa)[R	SU-SUR--5 gUR5 g)a
A row in the treeview listing the key bindings has been activated.

:param treeview: The treeview listing the key bindings
:param treepath: The path to the activated row
:param treeviewcolumn: A column in the treeview listing the
                       key bindings
rz!Unexpected error, command = "%s" z*self._keybindings_selected_command = "%s"
N)r��get_iterrr|r}�)_create_and_show_keybindings_edit_popover)rTrarbrcr(�iteratorrds       rhr�.SetupUI._on_keybindings_treeview_row_activatedYsr���0�0���>�>�(�+���/�!�$���8�8�8�
�L�L�3�g�=�?��4�4�5�5�
6�
��6�6�8rj�	selectionc�6�UR5up#U(aCX#SUlURRS5 URRS5 gSUlURRS5 URRS5 g)zC
A row in the treeview listing the key bindings has been selected.
rTrFN)�get_selectedrr
rr	)rTrir(rgs    rhr�-SetupUI._on_keybindings_treeview_row_selectedvs���
&�2�2�4����16���1C�D�.��,�,�:�:�4�@��)�)�7�7��=�24�D�.��,�,�:�:�5�A��)�)�7�7��>rj�_listbox�listbox_rowc�J�U(GaUR5R5nUR5nURSSnURnU(a�U(a�X5U;a�X0lUUlUR(aURRS5 UR(aURRUS:�5 UR(a,URRU[XV5S-
:5 gSUlSUlUR(aURRS	5 UR(aURRS	5 UR(aURRS	5 gg)
a
Signal handler for selecting one of the key bindings
for a certain command

:param _listbox: The list box used to select a key binding
:type _listbox: Gtk.ListBox object
:param listbox_row: A row containing a key binding
:type listbox_row: Gtk.ListBoxRow object
rRrATrr'Nrr<F)�	get_childr�	get_indexr�rrrrrrr�len)rTrmrn�
keybindingrarcrds       rh�)_on_keybindings_edit_listbox_row_selected�1SetupUI._on_keybindings_edit_listbox_row_selected�sU��
�$�.�.�0�9�9�;�J��)�)�+�E�#�2�2�=�A�&�I���8�8�G��w��7�";�;�EO�B���H��?�?��@�@�N�N����;�;��<�<�J�J���	�#��=�=��>�>�L�L���$4�$=� >�� B�B�D��=?��:�CE��@��7�7��8�8�F�F�u�M��3�3��4�4�B�B�5�I��5�5��6�6�D�D�U�K�6rjc���[R"US9nUR5nUR5 U[R
R:Xa�URupE[R"USU5n[R"U5nURnURSSn	XyU;a5X�RU5 UR5 URU	5 ggg)uX
Signal handler called when the “Add” button to add
a key binding has been clicked.
)r�rrRrAN)rw�ItKeyInputDialogr�r�rr�r��e�KeyEvent�keyevent_to_keybindingrr�r��&_fill_keybindings_edit_popover_listboxr�)
rTr�key_input_dialogr��keyval�staterrsrdrcs
          rh�/_on_keybindings_edit_popover_add_button_clicked�7SetupUI._on_keybindings_edit_popover_add_button_clicked�s���#�3�3�4�@��#�'�'�)��� � �"��s�'�'�*�*�*�,�.�.�M�F��"�"�6�1�e�4�C� �7�7��<�J��8�8�G�#�2�2�=�A�&�I���'�!:�:� �)�0�0��<��;�;�=��$�$�%5�6�;�
+rjc���URnURnURSSnU(aFU(a>X$U;a5XCRU5 UR	5 URU5 gggg)u^
Signal handler called when the “Remove” button to remove
a key binding has been clicked.
rRrAN)rrr��remover{r�)rTrrsrdrcs     rh�2_on_keybindings_edit_popover_remove_button_clicked�:SetupUI._on_keybindings_edit_popover_remove_button_clicked�sx���G�G�
��4�4���.�.�}�=�f�E���7��7�";�;��%�,�,�Z�8��7�7�9�� � �!1�2�<�#�Jrjc���URnURnURnURSSnSUs=:a[	XS5:dg gXSSUS-
XSU/-XSUS-
/-XSUS-S-XS'URUSS9 UR
5 US-
UlX@lUR(a8URRURRUS-
55 gg)u[
Signal handler called when the “up” button to move
a key binding up has been clicked.
rRrArNr'Tr�
rrrr�rrr�r{r�
select_row�get_row_at_index�rTrrardrsrcs      rh�._on_keybindings_edit_popover_up_button_clicked�6SetupUI._on_keybindings_edit_popover_up_button_clicked�s,���H�H���4�4���G�G�
��.�.�}�=�f�E���5�9�3�/�8�9�9�
�:�
��%�j�u�q�y�1��(��/�0�
1��(����3�4�
5��'���	�
�3�
4�	�!�
	
���-���E��3�3�5�CH�1�9��@�=G�:��1�1��2�2�=�=��6�6�G�G��A�I��
 �2rjc���URnURnURnURSSnSUs=::a[	XS5S-
:dg gXSSUXSUS-/-XSU/-XSUS-S-XS'URUSS9 UR
5 US-UlX@lUR(a8URRURRUS-55 gg)	u_
Signal handler called when the “down” button to move
a key binding down has been clicked.
rRrArr'NrCTrr�r�s      rh�0_on_keybindings_edit_popover_down_button_clicked�8SetupUI._on_keybindings_edit_popover_down_button_clicked�s-���H�H���4�4���G�G�
��.�.�}�=�f�E���E�>�C� 0� 9�:�Q�>�>�
�?�
��%�f�u�-��(����3�4�
5��(��/�0�
1��'���	�
�3�
4�	�!�
	
���-���E��3�3�5�CH�1�9��@�=G�:��1�1��2�2�=�=��6�6�G�G��A�I��
 �2rjc���URSSnURSSnURnU(a<XB;a6X$R5X4'UR5 UR	U5 ggg)um
Signal handler called when the “Default” button to set
the keybindings to the default has been clicked.
rRrrAN)r�rr~r{r��rTrr�rcrds     rh�3_on_keybindings_edit_popover_default_button_clicked�;SetupUI._on_keybindings_edit_popover_default_button_clicked
sz��#�1�1�-�@��K���.�.�}�=�f�E���4�4���w�5�(;�(D�(I�(I�(K��%��7�7�9�� � �!1�2�6�7rjc�P�URc[RS5 gURR5HnURR	U5 M  [
R"5UlURRUR5 SUl	SUl
URRS5 URRS5 URR[
RR5 URR!S5 URR#SUR$5 UR&SSnX R(H�n[
R*"5nUR-[.R0"U55 UR3S5 UR5S	5 S
nUR7U5 UR9U5 UR;U5 UR=U5 URR?US5 M� UR@RCS5 URDRCS5 URFRCS5 URRI5 g)zR
Fill the edit listbox to with the key bindings of the currently
selected command
Nz-self._keybindings_edit_popover_scroll is Nonerr<Tzrow-selectedrRrArr'F)%rr|�debug�get_childrenr�r�ListBoxrr�rrr�r��set_selection_mode�
SelectionMode�SINGLE�set_activate_on_single_clickr�rtr�rr�r�r�r�r�r�r�r�r�r��insertrrrrrQ)rT�childrcrsr6r^s      rhr{�.SetupUI._fill_keybindings_edit_popover_listboxs��
�0�0�8��L�L�H�I���:�:�G�G�I�E��1�1�8�8��?�J�14�����.��-�-�1�1��2�2�	4�=?��:�CE��@��.�.�:�:�4�@��.�.�:�:�4�@��.�.�A�A����$�$�	&��.�.�K�K��	��.�.�6�6��D�J�J�	L��.�.�}�=�f�E��*�+M�+M�N�J��I�I�K�E��N�N�4�;�;�z�2�3�� � ��&����Q���F��"�"�6�*�� � ��(�� � ��(��#�#�F�+��2�2�9�9�%��D�O�	
�4�4�B�B�5�I��0�0�>�>�u�E��2�2�@�@��G��.�.�7�7�9rjc��[R"5UlURc[R	S5 gURRUR5 URR[RR5 URRS5 URRS5 [R"5nURR5 SnUR!U5 UR#U5 UR%U5 UR'U5 UR)U5 [R*"5nUR-[/S5UR0-5 UR3S5 UR5S5 UR7[R8R:5 UR=USSS5 [R>"5Ul UR@RS5 UR@RS5 UR@RCS5 UR@RES5 UR=UR@SSS5 [R"5nURRF5 URIS5 URKU5 [RL"5Ul'[R*"5nUR-S5 UR3S5 URNRKU5 URNRQ[/S	55 URNRSS
URT5 URNRWS5 [RL"5Ul,[R*"5nUR-S5 UR3S5 URXRKU5 URXRQ[/S55 URXRSS
URZ5 URXRWS5 [RL"5Ul.[RL"5Ul/[R*"5nUR-S
5 UR3S5 UR^RKU5 UR^RQ[/S55 UR^RSS
UR`5 [RL"5Ul1[R*"5nUR-S5 UR3S5 URbRKU5 URbRQ[/S55 URbRSS
URd5 [R*"5n	U	R-[/S55 U	R3S5 UR\RKU	5 UR\RQ[/S55 UR\RSS
URf5 UR\RWS5 URKURN5 URKURX5 URKUR^5 URKURb5 URKUR\5 URRKU5 URi5 [jS:�aURRm5 URRo5 g)zD
Create and show the popover to edit the key bindings for a command
Nz&self._keybindings_edit_popover is NoneT�u&Edit key bindings for command “%s”Frz%<span size="xx-large"><b>+</b></span>zAdd a key bindingr7z%<span size="xx-large"><b>-</b></span>zRemove selected key bindingu'<span size="xx-large"><b>↑</b></span>zMove key binding upu'<span size="xx-large"><b>↓</b></span>zMove key binding downrUrV)rD�r)8r�Popoverrr|r��set_relative_tor	�set_position�PositionType�RIGHTr�r�r�r�r�r�r�r�r�r�r�r�r�rrr�r��
set_halign�Align�FILLr�r�r�set_kinetic_scrolling�set_overlay_scrollingr�r�r�r�rr�r�rrrr�rrr�rr�r�r{�GTK_VERSION�popuprQ)
rT�keybindings_edit_popover_vboxr^�keybindings_edit_popover_label�#keybindings_edit_popover_button_box�)keybindings_edit_popover_add_button_label�,keybindings_edit_popover_remove_button_label�(keybindings_edit_popover_up_button_label�*keybindings_edit_popover_down_button_label�-keybindings_edit_popover_default_button_labels
          rhrf�1SetupUI._create_and_show_keybindings_edit_popover@s!��*-�����&��)�)�1��L�L�A�B���&�&�6�6��)�)�	+��&�&�3�3�C�4D�4D�4J�4J�K��&�&�2�2�4�8��&�&�2�2�4�8�(+���	�%�%�5�5��O�O�$�$�	&���%�6�6�v�>�%�4�4�V�<�%�4�4�V�<�%�7�7��?�%�1�1�&�9�),����&�&�/�/�
�6�7�
�
/�
/�
0�	1�	'�5�5�d�;�&�2�2�4�8�&�1�1�#�)�)�.�.�A�%�0�0�*�E�5�!�	=�03�0B�0B�0D��-��-�-�9�9�$�?��-�-�9�9�$�?��-�-�C�C�E�J��-�-�C�C�D�I�%�0�0��1�1�4��q�	B�.1�g�g�i�+�+�;�;��O�O�&�&�	(�+�9�9�%�@�%�)�)�/�	1�47�J�J�L��1�47�I�I�K�1�1�:�:�3�	5�1�@�@��F��1�1�5�5�5�	7��1�1�B�B�
�!�"�	$�	
�1�1�9�9��t�K�K�	M��1�1�?�?��E�7:�z�z�|��4�7:�y�y�{�4�4�=�=�3�	5�4�C�C�D�I��4�4�8�8�8�	:��4�4�E�E�
�+�,�	.�	
�4�4�<�<��t�N�N�	P��4�4�B�B�5�I�8;�
�
���5�36�:�:�<��0�36�9�9�;�0�0�9�9�5�	7�0�?�?��E��0�0�4�4�4�	6��0�0�A�A�
�#�$�	&�	
�0�0�8�8��t�J�J�	L�58�Z�Z�\��2�58�Y�Y�[�2�2�;�;�5�	7�2�A�A�$�G��2�2�6�6�6�	8��2�2�C�C�
�%�&�	(�	
�2�2�:�:��t�L�L�	N�8;�	�	��5�5�>�>�
���	!�5�D�D�T�J��5�5�9�9�9�	;��5�5�F�F�
�A�B�	D�	
�5�5�=�=���D�D�	F�	
�5�5�C�C�D�I�+�/�/��5�5�	7�+�/�/��8�8�	:�+�/�/��4�4�	6�+�/�/��6�6�	8�+�/�/��9�9�	;��&�&�*�*�+H�I��3�3�5��*�$��*�*�0�0�2��&�&�/�/�1rjc�$�UR5 g)uk
Signal handler called when the “edit” button to edit the
key bindings for a command has been clicked.
N)rf�rTrs  rhr�+SetupUI._on_keybindings_edit_button_clicked�s��	
�6�6�8rjc���URSSnURSSnURnU(a,XB;a&X$R5X4'URU5 ggg)u�
Signal handler called when the “Set to default” button to reset the
key bindings for a command to the default has been clicked.
rRrrAN)r�rr~r�r�s     rhr�.SetupUI._on_keybindings_default_button_clicked�sn��#�1�1�-�@��K���.�.�}�=�f�E���4�4���w�5�(;�(D�(I�(I�(K��%�� � �!1�2�6�7rjc�"�URRS5 UR[S55nU[R
R:Xa!URURSS5 URRS5 g)u�
Signal handler called when the “Set all to default” button to reset the
all key bindings top their defaults has been clicked.
FzNDo you really want to set the key bindings for all commands to their defaults?rRrTN)	rrr�rrr�r�r�r�)rTrr�s   rhr�2SetupUI._on_keybindings_all_default_button_clicked�s��	
�,�,�:�:�5�A��0�0�
�2�
3�
4���s�'�'�*�*�*�� � ��!4�!4�]�!C�I�!N�O��,�,�:�:�4�@rjrlrc��[RSX5 UURSS'U(a:URR	S[
RRU55 gURRU5 g)a�Sets the single wildchard character.

:param single_wildcard_char: The character to use as a single wildcard
:param update_gsettings: Whether to write the change to Gsettings.
                         Set this to False if this method is
                         called because the Gsettings key changed
                         to avoid endless loops when the Gsettings
                         key is changed twice in a short time.
�(%s, update_gsettings = %s)rarAN)
r|rr�r�r�r	�Variant�
new_stringr<r�)rTrlrs   rhr{� SetupUI.set_single_wildcard_char�ss��	���)� �	4�
!�	
���0�1�&�9���O�O�%�%�$����'�'�(<�=�
?�
�,�,�5�5�6J�Krjrnc�
�[RSX5 XRSS'U(a:URR	S[
RRU55 gURRU5 g)a�Sets the single wildchard character.

:param multi_wildcard_char: The character to use as a single wildcard
:param update_gsettings: Whether to write the change to Gsettings.
                         Set this to False if this method is
                         called because the Gsettings key changed
                         to avoid endless loops when the Gsettings
                         key is changed twice in a short time.
r�rbrAN)
r|rr�r�r�r	r�r�r@r�)rTrnrs   rhr|�SetupUI.set_multi_wildcard_char	so��	���)��	3�<O���/�0��8���O�O�%�%�#����'�'�(;�<�
>�
�+�+�4�4�5H�Irj�	page_sizec�B�[RSX5 [U5nSUs=::aS::aqO gXRSS'U(a:URRS[RRU55 gURRU5 gg)a�Sets the page size of the lookup table

:param page_size: The page size of the lookup table
                  (1 <= page size <= 10)
:param update_gsettings: Whether to write the change to Gsettings.
                         Set this to False if this method is
                         called because the Gsettings key changed
                         to avoid endless loops when the Gsettings
                         key is changed twice in a short time.
r�r'r9rQrAN)
r|rr�r�r�r�r	r��	new_int32r�)rTr�rs   rhr��SetupUI.set_page_size	s���	���)�9�	H��	�N�	��	��R��AJ��� 5�6�v�>�����)�)�)��L�L�*�*�9�5�7��*�*�4�4�Y�?� rjr)c��[RSX5 [U5nSUs=::aS::a�O gXRSS'U(a:URRS[RRU55 g[UR5H*up4XS:XdMURRU5 M, gg)a�Sets the page size of the lookup table

:param orientation: The orientation of the lookup table
                    (0 < =orientation <= 2)
:param update_gsettings: Whether to write the change to Gsettings.
                         Set this to False if this method is
                         called because the Gsettings key changed
                         to avoid endless loops when the Gsettings
                         key is changed twice in a short time.
r�rrCrPrAr'N)
r|rr�r�r�r�r	r�r�r�r�r�r�)rTr)rrarbs     rhr��$SetupUI.set_lookup_table_orientation1	s���	���)�;�	J��+�&���� �q� �DO��� 8�9�&�A�����)�)�,��L�L�*�*�;�7�9�$-��<�<�$>�K�E�"�1�g�-��?�?�J�J�!�#�$>�!rj�
input_modec��[RSX5 [U5nSUs=::aS::aVO gXRSS'U(a:URRS[RRU55 ggg)aSets whether direct input or the current table is used.

:param input_mode: Whether to use direct input.
                   0: Use direct input.
                   1: Use the current table.
:param update_gsettings: Whether to write the change to Gsettings.
                         Set this to False if this method is
                         called because the Gsettings key changed
                         to avoid endless loops when the Gsettings
                         key is changed twice in a short time.
r�rr'rprAN)	r|rr�r�r�r�r	r�r�)rTr�rs   rhr��SetupUI.set_input_modeN	ss��	���)�:�	I���_�
��
��a��7A����,�V�4�����)�)���L�L�*�*�:�6�8� � rjr,c�p�[RSX5 [U5nXRSS'U(a:URRS[RRU55 g[UR5H*up4XS:XdMURRU5 M, g)a!Sets whether the input mode (direct or table) is remembered

:param remember_input_mode: Whether to remember the input mode.
                            False: Do not remember
                            True:  Remember.
:param update_gsettings: Whether to write the change to Gsettings.
                         Set this to False if this method is
                         called because the Gsettings key changed
                         to avoid endless loops when the Gsettings
                         key is changed twice in a short time.
r�r@rAr'N)
r|rr�r�r�r�r	r��new_booleanr�r�r�r�)rTr,rrarbs     rhr��SetupUI.set_remember_input_modef	s���	���)�+>�	R�"�#6�7��;N���/�0��8���O�O�%�%�#����(�(�)<�=�
?� )��)H�)H�I���&�q�'�1��6�6�A�A�%�H� Jrjr/c��[RSX5 [U5nSUs=::aS::a�O gXRSS'U(a:URRS[RRU55 g[UR5H*up4XS:XdMURRU5 M, gg)a�Sets the candidate filter mode used for Chinese

0 means to show simplified Chinese only
1 means to show traditional Chinese only
2 means to show all characters but show simplified Chinese first
3 means to show all characters but show traditional Chinese first
4 means to show all characters

:param chinese_mode: The Chinese filter mode (0 <= mode <= 4)
:param update_gsettings: Whether to write the change to Gsettings.
                         Set this to False if this method is
                         called because the dconf key changed
                         to avoid endless loops when the dconf
                         key is changed twice in a short time.
r�rrErFrAr'N)
r|rr�r�r�r�r	r�r�r�r�r�r�)rTr/rrarbs     rhr��SetupUI.set_chinese_mode�	s���$	���)�<�	K��<�(����!��!�9E���
�.�v�6�����)�)�!��L�L�*�*�<�8�:�$-�T�-E�-E�#F�K�E�#�A�w�.��3�3�>�>�u�E�$G�"rjr3c�p�[RSX5 [U5nXRSS'U(a:URRS[RRU55 g[UR5H*up4XS:XdMURRU5 M, g)a<Sets whether only single characters should be matched in
the database.

:param mode: Whether only single characters should be matched.
             True: Match only single characters.
             False: Possibly match multiple characters at once.
:param update_gsettings: Whether to write the change to Gsettings.
                         Set this to False if this method is
                         called because the Gsettings key changed
                         to avoid endless loops when the Gsettings
                         key is changed twice in a short time.
r�rZrAr'N)
r|rr�r�r�r�r	r�r�r�r,r+r��rTr3rrarbs     rhr��SetupUI.set_onechar_mode�	s���	���)�4�	C��D�z��15���I�&�v�.���O�O�%�%�����(�(��.�
0� )��)A�)A�B�����7�?��/�/�:�:�5�A� Crjc� �[RSX5 [U5nXRSS'U(a:URRS[RRU55 gURRU5 g)a�Sets whether the first candidate will be selected
automatically during typing.

:param mode: Whether to select the first candidate automatically.
:param update_gsettings: Whether to write the change to Gsettings.
                         Set this to False if this method is
                         called because the Gsettings key changed
                         to avoid endless loops when the Gsettings
                         key is changed twice in a short time.
r�r[rAN)r|rr�r�r�r�r	r�r�r.r��rTr3rs   rhr��SetupUI.set_autoselect_mode�	sr��	���)�4�	C��D�z��48���L�)�&�1���O�O�%�%�����(�(��.�
0�
�-�-�8�8��>rjc�p�[RSX5 [U5nXRSS'U(a:URRS[RRU55 g[UR5H*up4XS:XdMURRU5 M, g)uESets whether automatic commits go into the preëdit or into the
application.

:param mode: Whether automatic commits  go into the  preëdit
             or into the application.
             True: Into the application.
             False: Into the preedit.
:param update_gsettings: Whether to write the change to Gsettings.
                         Set this to False if this method is
                         called because the Gsettings key changed
                         to avoid endless loops when the Gsettings
                         key is changed twice in a short time.
r�r^rAr'N)
r|rr�r�r�r�r	r�r�r�r2r1r�r�s     rhr��SetupUI.set_autocommit_mode�	s��� 	���)�4�	C��D�z��48���L�)�&�1���O�O�%�%�����(�(��.�
0� )��)D�)D�E�����7�?��2�2�=�=�e�D� Frjc��[RSX5 [U5nSUs=::aS::a�O gXRSS'U(a:URRS[RRU55 g[UR5H*up4XS:XdMURRU5 M, gg)alSets the commit invalid mode

This selects what is committed when a character which is not
in the set of valid input characters for the current table is
typed.

0 means to commit the current candidate
1 means to commit the raw characters typed so far

:param mode:             The mode (0 <= mode <= 1)
:param update_gsettings: Whether to write the change to Gsettings.
                         Set this to False if this method is
                         called because the dconf key changed
                         to avoid endless loops when the dconf
                         key is changed twice in a short time.

r�rr'r_rAN)
r|rr�r�r�r�r	r�r�r�r6r5r�r�s     rhr��SetupUI.set_commit_invalid_mode�	s���(	���)�4�	C��4�y����>��>�?C��� 3�4�V�<�����)�)�'��L�L�*�*�4�0�2�$-�T�-L�-L�#M�K�E��A�w���:�:�E�E�e�L�$N�rjc� �[RSX5 [U5nXRSS'U(a:URRS[RRU55 gURRU5 g)a�Sets whether a wildcard should be automatically appended
to the input.

:param mode: Whether to append a wildcard automatically.
:param update_gsettings: Whether to write the change to Gsettings.
                         Set this to False if this method is
                         called because the Gsettings key changed
                         to avoid endless loops when the Gsettings
                         key is changed twice in a short time.
r�r`rAN)r|rr�r�r�r�r	r�r�r8r�r�s   rhr��SetupUI.set_autowildcard_mode
sr��	���)�4�	C��D�z��6:���N�+�F�3���O�O�%�%�����(�(��.�
0�
�/�/�:�:�4�@rjc�p�[RSX5 [U5nXRSS'U(a:URRS[RRU55 g[UR5H*up4XS:XdMURRU5 M, g)u�Sets whether full width letters should be used
while in “Table input” mode

:param mode: Whether to use full width letters
:param update_gsettings: Whether to write the change to Gsettings.
                         Set this to False if this method is
                         called because the Gsettings key changed
                         to avoid endless loops when the Gsettings
                         key is changed twice in a short time.
r�rIrAr'N)
r|rr�r�r�r�r	r�r�r�r�r�r�r�s     rhr��(SetupUI.set_table_full_width_letter_mode,
s���	���)�4�	C��D�z��?C���3�4�V�<���O�O�%�%�'����(�(��.�
0� )��<�<� >�����7�?��?�?�J�J��� >rjc�p�[RSX5 [U5nXRSS'U(a:URRS[RRU55 g[UR5H*up4XS:XdMURRU5 M, g)u�Sets whether full width punctuation should be used
while in “Table input” mode

:param mode: Whether to use full width punctuation
:param update_gsettings: Whether to write the change to Gsettings.
                         Set this to False if this method is
                         called because the Gsettings key changed
                         to avoid endless loops when the Gsettings
                         key is changed twice in a short time.
r�rJrAr'N)
r|rr�r�r�r�r	r�r�r�r�r�r�r�s     rhr��'SetupUI.set_table_full_width_punct_modeI
s���	���)�4�	C��D�z��>B���2�3�F�;���O�O�%�%�&����(�(��.�
0� )��;�;� =�����7�?��>�>�I�I��� =rjc�p�[RSX5 [U5nXRSS'U(a:URRS[RRU55 g[UR5H*up4XS:XdMURRU5 M, g)u�Sets whether full width letters should be used
while in “Direct input” mode

:param mode: Whether to use full width letters
:param update_gsettings: Whether to write the change to Gsettings.
                         Set this to False if this method is
                         called because the Gsettings key changed
                         to avoid endless loops when the Gsettings
                         key is changed twice in a short time.
r�rKrAr'N)
r|rr�r�r�r�r	r�r�r�r�r�r�r�s     rhr��)SetupUI.set_direct_full_width_letter_modef
s���	���)�4�	C��D�z��>B���2�3�F�;���O�O�%�%�&����(�(��.�
0� )��=�=� ?�����7�?��@�@�K�K��� ?rjc�p�[RSX5 [U5nXRSS'U(a:URRS[RRU55 g[UR5H*up4XS:XdMURRU5 M, g)u�Sets whether full width punctuation should be used
while in “Direct input” mode

:param mode: Whether to use full width punctuation
:param update_gsettings: Whether to write the change to Gsettings.
                         Set this to False if this method is
                         called because the Gsettings key changed
                         to avoid endless loops when the Gsettings
                         key is changed twice in a short time.
r�rLrAr'N)
r|rr�r�r�r�r	r�r�r�r�r�r�r�s     rhr��(SetupUI.set_direct_full_width_punct_mode�
s���	���)�4�	C��D�z��=A���1�2�6�:���O�O�%�%�%����(�(��.�
0� )��<�<� >�����7�?��?�?�J�J��� >rjc�
�[RSX5 XRSS'U(a:URR	S[
RRU55 gURRU5 g)a�Sets the whether the lookup table is shown.

:param mode: Whether to show the lookup table
:param update_gsettings: Whether to write the change to Gsettings.
                         Set this to False if this method is
                         called because the Gsettings key changed
                         to avoid endless loops when the Gsettings
                         key is changed twice in a short time.
r�rMrAN)
r|rr�r�r�r	r�r�r�r�r�s   rhr��SetupUI.set_always_show_lookup�
sj��	���)�4�	C�:>���.�/��7���O�O�%�%�"����(�(��.�
0�
�0�0�;�;�D�Arj�use_dark_themec�
�[RSX5 XRSS'U(a:URR	S[
RRU55 gURRU5 g)a�Sets the whether to use the color scheme for dark theme.

:param use_dark_theme: Whether to use the color scheme for dark theme
:param update_gsettings: Whether to write the change to Gsettings.
                         Set this to False if this method is
                         called because the Gsettings key changed
                         to avoid endless loops when the Gsettings
                         key is changed twice in a short time.
r�rcrAN)
r|rr�r�r�r	r�r�rBr�)rTr�rs   rhr��SetupUI.set_dark_theme�
si��	���)�>�	M�3A���K�(��0���O�O�%�%�����(�(��8�
:�
�,�,�7�7��Grjrqc�
�[RSX5 XRSS'U(a:URR	S[
RRU55 gURRU5 g)a�Sets the whether dynamically adjust the candidates according to
how often they are used.

:param dynamic_adjust: Whether to dynamically adjust the candidates
:param update_gsettings: Whether to write the change to Gsettings.
                         Set this to False if this method is
                         called because the Gsettings key changed
                         to avoid endless loops when the Gsettings
                         key is changed twice in a short time.
r�rWrAN)
r|rr�r�r�r	r�r�rr�)rTrqrs   rhr��SetupUI.set_dynamic_adjust�
si��	���)�>�	M�7E���O�,�V�4���O�O�%�%�����(�(��8�
:�
�,�,�7�7��Grj�error_soundc�
�[RSX5 XRSS'U(a:URR	S[
RRU55 gURRU5 g)a�Sets the whether to play a sound on error.

:param error_sound: Whether to play a sound on error
:param update_gsettings: Whether to write the change to Gsettings.
                         Set this to False if this method is
                         called because the Gsettings key changed
                         to avoid endless loops when the Gsettings
                         key is changed twice in a short time.
r�rdrAN)
r|rr�r�r�r	r�r�rDr�)rTr�rs   rhr��SetupUI.set_error_sound�
si��	���)�;�	J�4?���L�)�&�1���O�O�%�%�����(�(��5�
7�
�)�)�4�4�[�Arjr4c���[RSX5 [U[5(dgXRSS'U(a:UR
R
S[RRU55 OURRU5 [R"[RR!URSS5URSSS9UlUR"(aUR"R%5 gg![&a5n[R)SUR*R,U5 SnAgSnAff=f)a�Sets the path of file containing the sound to play on error.

:param path: Full path of the .wav file containing the error sound.
:param update_gsettings: Whether to write the change to Gsettings.
                         Set this to False if this method is
                         called because the Gsettings key changed
                         to avoid endless loops when the Gsettings
                         key is changed twice in a short time.
r�NrerArfrgz"Playing error sound failed: %s: %s)r|r�
isinstancer�r�r�r�r	r�r�rHr�rJrKrnr4rLrM�play�	Exception�	exception�	__class__�__name__)rTr4rr}s    rhr��SetupUI.set_error_sound_file�
s'��	���)�4�	C��$��$�$��8<���,�-�f�5���O�O�%�%� ����'�'��-�
/�
�/�/�8�8��>�#+�#7�#7��G�G���t�2�2�3C�D�V�L�M��-�-�n�=�f�E�$G�� ��#�#�
B��(�(�-�-�/�$���
B�� � �!E�!&���!9�!9�5�B�B��
B�s�D�
E�)+E�E�
sound_backendc���[RSX5 [U[5(dgXRSS:XagXRSS'U(a9UR
R
S[RRU55 [R"[RRURSS5URSSS9Ulg)a�Sets the sound backend to use

:param sound_backend: The name of sound backend to use
:param update_gsettings: Whether to write the change to Gsettings.
                         Set this to False if this method is
                         called because the dconf key changed
                         to avoid endless loops when the dconf
                         key is changed twice in a short time.
r�NrfrArerg)r|rr�r�r�r�r�r	r�r�rJrKrnr4rLrM)rTr�rs   rhr��SetupUI.set_sound_backends���	���)�=�	L��-��-�-���/�/��?��G�G��6C���N�+�F�3���O�O�%�%�����'�'�
�6�
8�$,�#7�#7��G�G���t�2�2�3C�D�V�L�M��-�-�n�=�f�E�$G�� rj�debug_levelc�B�[RSX5 [U5nSUs=::aS::aqO gXRSS'U(a:URRS[RRU55 gURRU5 gg)a�Sets the debug level

:param debug level: The debug level (0 <= level <= 255)
:param update_gsettings: Whether to write the change to Gsettings.
                         Set this to False if this method is
                         called because the Gsettings key changed
                         to avoid endless loops when the Gsettings
                         key is changed twice in a short time.
r�r�rirAN)
r|rr�r�r�r�r	r�r�rO)rTr�rs   rhr��SetupUI.set_debug_level;s���	���)�;�	J��+�&����"�s�"�8C����-�f�5�����)�)� ��L�L�*�*�;�7�9��,�,�6�6�{�C�#rjrRc
��[RSX5 [U[5(dg[R
"U5nURSSn[R"X15 URnUR5nU(aYUH9nURUS5U:XdMURUS[X655 M; URU5nU(aMYU(a�[R "[R""S055n[%U5Hxn[R"R'[R("S5X6Vs/sH"n[R"R+U5PM$ sn5n	UR-Xi5 Mz UR.RSUR155 ggs snf)	a"Set current key bindings

:param keybindings: The key bindings to use
                    Commands which do not already
                    exist in the current key bindings dictionary
                    will be ignored.
:param update_gsettings: Whether to write the change to Gsettings.
                         Set this to False if this method is
                         called because the Gsettings key changed
                         to avoid endless loops when the Gsettings
                         key is changed twice in a short time.
r�NrRrArr'za{sv}�s)r|rr��dictr~rr�rwr�r��get_iter_firstr�r�r�	iter_nextr	�VariantDictr�r�	new_array�VariantTyper��insert_valuer��end)
rTrRrrcr(rgrd�variant_dict�x�
variant_arrays
          rhr��SetupUI.set_keybindingsSs��� 	���)�;�	J��+�t�,�,���m�m�K�0���.�.�}�=�f�E���)�)�*:�H��0�0���'�'�)���+���?�?�8�Q�/�7�:��O�O�H�a�$(�)9�)B�$C�E�,����x�0�H��h���+�+�D�L�L��"�,E�F�L�!�"2�3�� $��� 6� 6��$�$�S�)�.�7�9�7���\�\�,�,�Q�/�7�9�!:�
��)�)�'�A�4�
�O�O�%�%��� � �"�
$���
9s�)G)_�__is_chinese�__is_cjk�__rules�__user_can_define_phraser�r�r1r0r2r.r8r�r�r�r�r�r�r5r4r6rOrNr�r�r�r�r�r�r�rr r"r#rjrDrFrGrHrMr�rrrr
rr	r
rrrrrrrrrrr�rr�r�r�r�r�r�r�r�r@r?r�r+r*r,r�r�r�r�r�r�r�r�r�r�r�r�r<r:r�r�r�r�r�r�rBr�)r)rN)T)r'T)TT)rT)FT)er��
__module__�__qualname__�__firstlineno__�__doc__r�rlr��staticmethodrr��INFOr�r�r�r�r�rr�r�r�r�rr:rSr�r�r;r>rAr�r�r�r�r�r�r-r�r/r3r7r9r�r�r�r�r�rCrr)rErIrPr��TreePathrr�
TreeSelectionrr��
ListBoxRowrtrr�r�r�r�r{rfrrrr{r|r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�rr�r�r�rrr��__static_attributes__�rjrhrrws����ZM�C�ZM��ZM�x L8�\
�-0�O�O�,@�,@�
��
��/�/�
�EI�
��
�!��!��8H�8H�!�F�������������#��$������3�:�:��$����� �\�\��03��8<��(� �#�*�*� �� �� �>��:�:�>�*.�>�06��)�)�6�58�6�=A�6�6��)�)�6�58�6�=A�6�K��>�>�K�.2�K�4��,�,�4�+/�4�<��,�,�<�+/�<�
5����
5��
5�
-����
-��
-�M�c�o�o�M�$�M�-��,�,�-�+/�-�
<�s�|�|�
<�PT�
<�O��/�/�O�.2�O�
-��,�,�-�+/�-�-��,�,�-�+/�-�-��,�,�-�+/�-�-��,�,�-�+/�-�P��/�/�P�.2�P�
H�S�_�_�H��H�L�S�_�_�L��L�?��:�:�?�*.�?�&I�#�/�/�I�d�I�:��:�:�:�*.�:�8#��>�>�#�.2�#�9��|�|�9��l�l�9�!�/�/�	9�59�	9�:?� �.�.�?�37�?� 'L��K�K�'L�69�n�n�'L�IM�'L�R7��:�:�7�*.�7�(
3��:�:�
3�*.�
3� ��:�:� �*.� �8 ��:�:� �*.� �83��:�:�3�*.�3�&:�P2�B9��:�:�9�*.�9�3��:�:�3�*.�3�A��:�:�A�*.�A�*;?�L�7:�L�37�L�CG�L�4:>�J�58�J�26�J�BF�J�204�@�!$�@�(,�@�8<�@�6?C�#�25�#�7;�#�GK�#�<*+�04�8�#&�8�)-�8�9=�8�2=A�9=�I�59�I�26�I�BF�I�8./�26�F�'*�F�+/�F�;?�F�B',�26�B�#�B�+/�B�;?�B�:*/�59�?�"&�?�.2�?�>B�?�2*/�59�E�"&�E�.2�E�>B�E�<&'�26� M�"� M�+/� M�;?� M�F,1�7;�A�$(�A�04�A�@D�A�4�%)����#��/3��>�%)����#��/3��>�%)����#��/3��>�%)����#��/3��>�%)�B��B�#�B�/3�B�2$)�%)�H� �H�#�H�/3�H�4&*�H� �H�#�H�/3�H�6&*�B��B�#�B�/3�B�4&*� B���S��/� B�#� B�/3� B�J&*�G� ��c��?�G�#�G�/3�G�<26�D�%(�D�*.�D�:>�D�6&*�+$��t�C��c��N�3�S�8�9�+$�#�+$�/3�+$�+$rjrc	�v�\rSrSrSrSS\RS\S\SS4SjjrS	\RSS4S
jr
Srg)
�
HelpWindowi�z�
A window to show help

:param parent: The parent object
:param title: Title of the help window
:param contents: Contents of the help window
Nr�r#�contentsrc��[RRXS9 U(a3URU5 UR	U5 URS5 UR
S5 URSS5 [R"5Ul	URR[RR5 URRS5 URUR5 [R"5UlUR R#U5 [R$"5UlUR&R)UR 5 UR&R+S5 UR&R-S5 UR&R/[R0R25 UR&R5[R6R85 [R:"5UlUR<R?S5 UR<RAS5 UR<RUR&5 URRCUR<SSS5 [RD"5Ul#[RH"5Ul%URJRM[OS55 URFRURJ5 URFRQSURR5 [RT"SS	9Ul+URVRYURFSSS5 URRCURVSSS
5 UR[5 g)Nr"TFiXi�rr8r7)�spacing�).rrkrl�
set_parent�set_transient_forrs�set_destroy_with_parent�set_default_sizer��vboxr�r�r�r�r��
TextBuffer�text_buffer�insert_at_cursor�TextView�	text_view�
set_buffer�set_editable�set_cursor_visible�set_justification�
Justification�LEFT�
set_wrap_moder��WORDr��scrolledwindowr�r�r�r��close_buttonr��close_button_labelr�rr��_on_close_button_clickedr!�hboxr�rQ)rTr�r#rs    rhrl�HelpWindow.__init__�s��	�
�
���D��.���O�O�F�#��"�"�6�*�
�N�N�4� ��$�$�U�+����c�3�'��G�G�I��	��	�	�!�!�#�/�/�":�":�;��	�	���a� ���������>�>�+������)�)�(�3����������!�!�$�"2�"2�3����#�#�E�*����)�)�%�0����(�(��):�):�)?�)?�@����$�$�S�\�\�%6�%6�7�!�0�0�2������'�'��-����'�'��-���������/��	�	���T�0�0�$��a�@��J�J�L���"%�)�)�+������6�6�q��{�C������d�5�5�6����!�!�)�T�-J�-J�K��H�H�Q�'��	��	�	���4�,�,�e�U�A�>��	�	���T�Y�Y��u�a�8��
�
�rjrc�$�UR5 g)zE
Close the input method help window when the close button is clicked
N)r�r�s  rhr7�#HelpWindow._on_close_button_clicked�s
��	
���rj)r5r6r8r4r(r+r&)Nrr)r�rrrrrrkr�rlr�r7rrrjrhrr�sW���'+� �!#�&����&��&��&�)-�&�P��
�
��t�rjr�__main__zsetup-debug.log�H��zUTF-8)�when�interval�backupCount�encoding�delay�utc�atTimezP%(asctime)s %(filename)s line %(lineno)d %(funcName)s %(levelname)s: %(message)sz********** STARTING **********z.IBUS-WARNING **: Using the fallback 'C' locale�Czibus is not running.r�r'�IBUS_ENGINE_NAMEz^table:r r)r)er�typingrrrrr~rn�rer��signal�argparse�localer~�logging�logging.handlersr��dbus.service�gir�
gi.repositoryrr	�set_application_name�set_prgnamer
rrr
�i18nrrr�	i18n_init�IMPORT_SIMPLEAUDIO_SUCCESSFUL�simpleaudio�ImportErrorr4r�rprwrJ�	getLoggerr|�get_major_version�get_minor_version�get_micro_versionr��ArgumentParser�PARSER�add_argumentr��
parse_args�_ARGS�UNUSED_OLD_TRANSLATIONSrkrrr��no_debug�NullHandler�LOG_HANDLER_NULLro�
cache_home�LOGFILE�handlers�TimedRotatingFileHandler�LOG_HANDLER_TIME_ROTATE�	Formatter�
LOG_FORMATTER�setFormatter�setLevel�DEBUG�
addHandlerr�SIGINT�SIG_DFL�	setlocale�LC_ALL�Errorr��get_addressr�r�r�r�r�r�r��DIALOGr�r�rr�ENGINE_NAME�environ�subr��
print_help�SETUP_UI�mainrrjrh�<module>rs��0�����
�	�	��
��
���������u�����������2�3����#�$���u�����u�������������)�)� %��*��$(�!�
�H�H�Q�K��$�%����0�������	�	�	�<�	(���$�$�&��$�$�&��$�$�&�(��
�	 �	 �'�
)������/��	�	��"�
�$�����,���!�	�#�	���������~���}����G,$�c�j�j�G,$�RX4����4�l�z���~�~�"�.�.�0���'�'�,�,��*�*�,�.?�A��")�"2�"2�"K�"K���������#L�#�� �)�)�
��
�	 �,�,�]�;�����
�
�&����1�2����4�5�
�M�M�&�-�-����0�-��������+��K�����!��"�"��/�/�'�'����.�.��O�O�&�&��3�4�	6��
	�
�
������������#�#�K��-����;��j�j�!3�4���&�&��R��5�=�=�c�3�G�K�������;�/�H��H�H�J�e��_[	�~�*�$)�!�*��Z\�<�<�-����I�J��������,�-�s$�P$�!P4�$	P1�0P1�4>Q6�5Q6

Filemanager

Name Type Size Permission Actions
i18n.cpython-313.pyc File 1.1 KB 0644
main.cpython-313.pyc File 148.63 KB 0644
version.cpython-313.pyc File 422 B 0644
Filemanager