summaryrefslogtreecommitdiff
path: root/themes/SuSE/dia_lang.inc
blob: 90d816e2420439766f7e6eb7adf06cb1bd7c6b36 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
% - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
%
% Language selection dialog.
%
% - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -


% - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
% Build language list.
%
% ( ) ==> ( )
%
/keytable.init {
  /tmp.kt [ keymaps { 1 get } forall ] def

  /xmenu.keytable .xm_size array def

  /xmenu xmenu.keytable def

  xmenu .xm_current keymaps.default put
  xmenu .xm_list tmp.kt put

  % start with current lang

  /tmp.kt 0 def
  keymaps {
    0 get config.lang eq { xmenu .xm_current tmp.kt put exit } if
    /tmp.kt tmp.kt 1 add def
  } forall

  pmenu.init
} def


% - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
% Update language.
%
% ( ) ==> ( )
%
/keytable.update {
  /xmenu xmenu.keytable def

  keymaps xmenu .xm_current get get 0 get setlang { /window.action actRedraw def } if
  /config.keymap keymaps xmenu .xm_current get get 2 get def

  % Why? --> see dia_install.inc; same there.
  window.action actRedraw eq { pmenu.update } if
} def


% - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
% Show language menu.
%
% ( ) => ( )
%
/panel.keytable {
  "keytable" help.setcontext

  window.xmenu
  dup .xmenu xmenu.keytable put
  dup .xmenu.update /keytable.update put
  dup window.init
      window.show
} def


% - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
% Return width of panel entry.
%
% ( ) => ( width )
%
/panel.keytable.width {
  /xmenu xmenu.keytable def

  pmenu.width
} def


% - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
% Redraw panel entry.
%
% ( panel ) => ( )
%
/panel.keytable.update {
  /xmenu xmenu.keytable def

  pmenu.panel.update
} def