kita 0.5.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +7 -0
- data/.gitignore +14 -0
- data/.rspec +3 -0
- data/.rubocop.yml +13 -0
- data/CHANGELOG.md +15 -0
- data/CODE_OF_CONDUCT.md +74 -0
- data/Gemfile +8 -0
- data/Gemfile.lock +120 -0
- data/README.md +1 -0
- data/Rakefile +8 -0
- data/bin/kita +11 -0
- data/kita.gemspec +35 -0
- data/lib/kita.rb +160 -0
- data/lib/kita/audio.rb +33 -0
- data/lib/kita/config.rb +8 -0
- data/lib/kita/hiragana.rb +59 -0
- data/lib/kita/katakana.rb +59 -0
- data/lib/kita/version.rb +5 -0
- data/snapcraft.yaml +18 -0
- data/sounds/he.ogg +0 -0
- data/sounds/he2.ogg +0 -0
- data/sounds/tofix.txt +2 -0
- data/sounds//343/201/202.ogg +0 -0
- data/sounds//343/201/2022.ogg +0 -0
- data/sounds//343/201/204.ogg +0 -0
- data/sounds//343/201/2042.ogg +0 -0
- data/sounds//343/201/206.ogg +0 -0
- data/sounds//343/201/2062.ogg +0 -0
- data/sounds//343/201/210.ogg +0 -0
- data/sounds//343/201/2102.ogg +0 -0
- data/sounds//343/201/212.ogg +0 -0
- data/sounds//343/201/2122.ogg +0 -0
- data/sounds//343/201/213.ogg +0 -0
- data/sounds//343/201/2132.ogg +0 -0
- data/sounds//343/201/214.ogg +0 -0
- data/sounds//343/201/2142.ogg +0 -0
- data/sounds//343/201/215.ogg +0 -0
- data/sounds//343/201/2152.ogg +0 -0
- data/sounds//343/201/216.ogg +0 -0
- data/sounds//343/201/2162.ogg +0 -0
- data/sounds//343/201/217.ogg +0 -0
- data/sounds//343/201/2172.ogg +0 -0
- data/sounds//343/201/220.ogg +0 -0
- data/sounds//343/201/2202.ogg +0 -0
- data/sounds//343/201/221.ogg +0 -0
- data/sounds//343/201/2212.ogg +0 -0
- data/sounds//343/201/222.ogg +0 -0
- data/sounds//343/201/2222.ogg +0 -0
- data/sounds//343/201/223.ogg +0 -0
- data/sounds//343/201/2232.ogg +0 -0
- data/sounds//343/201/223/343/202/214/343/201/257/345/214/227/343/201/247/343/201/231.ogg +0 -0
- data/sounds//343/201/224.ogg +0 -0
- data/sounds//343/201/2242.ogg +0 -0
- data/sounds//343/201/225.ogg +0 -0
- data/sounds//343/201/2252.ogg +0 -0
- data/sounds//343/201/226.ogg +0 -0
- data/sounds//343/201/2262.ogg +0 -0
- data/sounds//343/201/227.ogg +0 -0
- data/sounds//343/201/2272.ogg +0 -0
- data/sounds//343/201/230.ogg +0 -0
- data/sounds//343/201/2302.ogg +0 -0
- data/sounds//343/201/231.ogg +0 -0
- data/sounds//343/201/2312.ogg +0 -0
- data/sounds//343/201/232.ogg +0 -0
- data/sounds//343/201/2322.ogg +0 -0
- data/sounds//343/201/233.ogg +0 -0
- data/sounds//343/201/2332.ogg +0 -0
- data/sounds//343/201/234.ogg +0 -0
- data/sounds//343/201/2342.ogg +0 -0
- data/sounds//343/201/235.ogg +0 -0
- data/sounds//343/201/2352.ogg +0 -0
- data/sounds//343/201/236.ogg +0 -0
- data/sounds//343/201/2362.ogg +0 -0
- data/sounds//343/201/237.ogg +0 -0
- data/sounds//343/201/2372.ogg +0 -0
- data/sounds//343/201/240.ogg +0 -0
- data/sounds//343/201/2402.ogg +0 -0
- data/sounds//343/201/241.ogg +0 -0
- data/sounds//343/201/2412.ogg +0 -0
- data/sounds//343/201/242.ogg +0 -0
- data/sounds//343/201/2422.ogg +0 -0
- data/sounds//343/201/244.ogg +0 -0
- data/sounds//343/201/2442.ogg +0 -0
- data/sounds//343/201/245.ogg +0 -0
- data/sounds//343/201/2452.ogg +0 -0
- data/sounds//343/201/246.ogg +0 -0
- data/sounds//343/201/2462.ogg +0 -0
- data/sounds//343/201/247.ogg +0 -0
- data/sounds//343/201/2472.ogg +0 -0
- data/sounds//343/201/250.ogg +0 -0
- data/sounds//343/201/2502.ogg +0 -0
- data/sounds//343/201/251.ogg +0 -0
- data/sounds//343/201/2512.ogg +0 -0
- data/sounds//343/201/252.ogg +0 -0
- data/sounds//343/201/2522.ogg +0 -0
- data/sounds//343/201/253.ogg +0 -0
- data/sounds//343/201/2532.ogg +0 -0
- data/sounds//343/201/254.ogg +0 -0
- data/sounds//343/201/2542.ogg +0 -0
- data/sounds//343/201/255.ogg +0 -0
- data/sounds//343/201/2552.ogg +0 -0
- data/sounds//343/201/256.ogg +0 -0
- data/sounds//343/201/2562.ogg +0 -0
- data/sounds//343/201/257.ogg +0 -0
- data/sounds//343/201/2572.ogg +0 -0
- data/sounds//343/201/260.ogg +0 -0
- data/sounds//343/201/2602.ogg +0 -0
- data/sounds//343/201/261.ogg +0 -0
- data/sounds//343/201/2612.ogg +0 -0
- data/sounds//343/201/262.ogg +0 -0
- data/sounds//343/201/2622.ogg +0 -0
- data/sounds//343/201/263.ogg +0 -0
- data/sounds//343/201/2632.ogg +0 -0
- data/sounds//343/201/264.ogg +0 -0
- data/sounds//343/201/2642.ogg +0 -0
- data/sounds//343/201/265.ogg +0 -0
- data/sounds//343/201/2652.ogg +0 -0
- data/sounds//343/201/266.ogg +0 -0
- data/sounds//343/201/2662.ogg +0 -0
- data/sounds//343/201/267.ogg +0 -0
- data/sounds//343/201/2672.ogg +0 -0
- data/sounds//343/201/270.ogg +0 -0
- data/sounds//343/201/2702.ogg +0 -0
- data/sounds//343/201/271.ogg +0 -0
- data/sounds//343/201/2712.ogg +0 -0
- data/sounds//343/201/272.ogg +0 -0
- data/sounds//343/201/2722.ogg +0 -0
- data/sounds//343/201/273.ogg +0 -0
- data/sounds//343/201/2732.ogg +0 -0
- data/sounds//343/201/274.ogg +0 -0
- data/sounds//343/201/2742.ogg +0 -0
- data/sounds//343/201/275.ogg +0 -0
- data/sounds//343/201/2752.ogg +0 -0
- data/sounds//343/201/276.ogg +0 -0
- data/sounds//343/201/2762.ogg +0 -0
- data/sounds//343/201/277.ogg +0 -0
- data/sounds//343/201/2772.ogg +0 -0
- data/sounds//343/202/200.ogg +0 -0
- data/sounds//343/202/2002.ogg +0 -0
- data/sounds//343/202/201.ogg +0 -0
- data/sounds//343/202/2012.ogg +0 -0
- data/sounds//343/202/202.ogg +0 -0
- data/sounds//343/202/2022.ogg +0 -0
- data/sounds//343/202/204.ogg +0 -0
- data/sounds//343/202/2042.ogg +0 -0
- data/sounds//343/202/206.ogg +0 -0
- data/sounds//343/202/2062.ogg +0 -0
- data/sounds//343/202/210.ogg +0 -0
- data/sounds//343/202/2102.ogg +0 -0
- data/sounds//343/202/211.ogg +0 -0
- data/sounds//343/202/2112.ogg +0 -0
- data/sounds//343/202/212.ogg +0 -0
- data/sounds//343/202/2122.ogg +0 -0
- data/sounds//343/202/213.ogg +0 -0
- data/sounds//343/202/2132.ogg +0 -0
- data/sounds//343/202/214.ogg +0 -0
- data/sounds//343/202/2142.ogg +0 -0
- data/sounds//343/202/215.ogg +0 -0
- data/sounds//343/202/2152.ogg +0 -0
- data/sounds//343/202/217.ogg +0 -0
- data/sounds//343/202/2172.ogg +0 -0
- data/sounds//343/202/222.ogg +0 -0
- data/sounds//343/202/2222.ogg +0 -0
- data/sounds//343/202/223.ogg +0 -0
- data/sounds//343/202/2232.ogg +0 -0
- data/test-notify.rb +33 -0
- data/ui/builder.ui +384 -0
- data/ui/kita.svg +137 -0
- metadata +297 -0
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
data/test-notify.rb
ADDED
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
#!/usr/bin/ruby
|
|
2
|
+
|
|
3
|
+
require 'gir_ffi'
|
|
4
|
+
|
|
5
|
+
GirFFI.setup :Notify
|
|
6
|
+
|
|
7
|
+
# Both Gtk and Notify need to be init'ed.
|
|
8
|
+
Notify.init 'notification test'
|
|
9
|
+
|
|
10
|
+
# Basic set up of the notification.
|
|
11
|
+
nf = Notify::Notification.new 'Hello!', 'Hi there.', '/home/dan/logos.svg'
|
|
12
|
+
nf.timeout = 3000
|
|
13
|
+
nf.urgency = :critical
|
|
14
|
+
|
|
15
|
+
# Show a button 'Test' in the notification, with a callback function.
|
|
16
|
+
nf.add_action('test', 'Test') do |_obj, action, _user_data|
|
|
17
|
+
puts "Action #{action} clicked."
|
|
18
|
+
end
|
|
19
|
+
|
|
20
|
+
# Show a button 'Test' in the notification, with a callback function.
|
|
21
|
+
nf.add_action('snooze', 'Snooze') do |_obj, action, _user_data|
|
|
22
|
+
puts "Action #{action} clicked."
|
|
23
|
+
end
|
|
24
|
+
|
|
25
|
+
# In this case, we want the program to end once the notification is gone,
|
|
26
|
+
# but not before.
|
|
27
|
+
nf.signal_connect('closed') do
|
|
28
|
+
puts 'Notification closed.'
|
|
29
|
+
Gtk.main_quit
|
|
30
|
+
end
|
|
31
|
+
|
|
32
|
+
# Show the notification.
|
|
33
|
+
nf.show
|
data/ui/builder.ui
ADDED
|
@@ -0,0 +1,384 @@
|
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8"?>
|
|
2
|
+
<!-- Generated with glade 3.22.2
|
|
3
|
+
|
|
4
|
+
Copyright (C)
|
|
5
|
+
|
|
6
|
+
This file is part of Kita.
|
|
7
|
+
|
|
8
|
+
Kita is free software: you can redistribute it and/or modify
|
|
9
|
+
it under the terms of the GNU General Public License as published by
|
|
10
|
+
the Free Software Foundation, either version 3 of the License, or
|
|
11
|
+
(at your option) any later version.
|
|
12
|
+
|
|
13
|
+
Kita is distributed in the hope that it will be useful,
|
|
14
|
+
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
15
|
+
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
16
|
+
GNU General Public License for more details.
|
|
17
|
+
|
|
18
|
+
You should have received a copy of the GNU General Public License
|
|
19
|
+
along with Kita. If not, see <http://www.gnu.org/licenses/>.
|
|
20
|
+
|
|
21
|
+
Author: Dan Bishop <d@nbishop.uk>
|
|
22
|
+
|
|
23
|
+
-->
|
|
24
|
+
<interface>
|
|
25
|
+
<requires lib="gtk+" version="3.20"/>
|
|
26
|
+
<!-- interface-license-type gplv3 -->
|
|
27
|
+
<!-- interface-name Kita -->
|
|
28
|
+
<!-- interface-authors Dan Bishop <d@nbishop.uk> -->
|
|
29
|
+
<object class="GtkAboutDialog" id="about_box">
|
|
30
|
+
<property name="can_focus">False</property>
|
|
31
|
+
<property name="type_hint">dialog</property>
|
|
32
|
+
<property name="program_name">Kita</property>
|
|
33
|
+
<property name="version">0.5</property>
|
|
34
|
+
<property name="copyright" translatable="yes">© 2020 Dan Bishop</property>
|
|
35
|
+
<property name="comments" translatable="yes">A simple tool to help Japanese language learners.</property>
|
|
36
|
+
<property name="website">danbishop.uk</property>
|
|
37
|
+
<property name="website_label" translatable="yes">danbishop.org</property>
|
|
38
|
+
<property name="authors">Dan Bishop <d@nbishop.uk></property>
|
|
39
|
+
<property name="artists">Dan Bishop <d@nbishop.uk></property>
|
|
40
|
+
<property name="logo">kita.svg</property>
|
|
41
|
+
<property name="license_type">gpl-3-0</property>
|
|
42
|
+
<child type="titlebar">
|
|
43
|
+
<placeholder/>
|
|
44
|
+
</child>
|
|
45
|
+
<child internal-child="vbox">
|
|
46
|
+
<object class="GtkBox">
|
|
47
|
+
<property name="can_focus">False</property>
|
|
48
|
+
<property name="orientation">vertical</property>
|
|
49
|
+
<property name="spacing">2</property>
|
|
50
|
+
<child internal-child="action_area">
|
|
51
|
+
<object class="GtkButtonBox">
|
|
52
|
+
<property name="can_focus">False</property>
|
|
53
|
+
<property name="layout_style">end</property>
|
|
54
|
+
<child>
|
|
55
|
+
<placeholder/>
|
|
56
|
+
</child>
|
|
57
|
+
</object>
|
|
58
|
+
<packing>
|
|
59
|
+
<property name="expand">False</property>
|
|
60
|
+
<property name="fill">False</property>
|
|
61
|
+
<property name="position">0</property>
|
|
62
|
+
</packing>
|
|
63
|
+
</child>
|
|
64
|
+
</object>
|
|
65
|
+
</child>
|
|
66
|
+
</object>
|
|
67
|
+
<object class="GtkPopoverMenu" id="primary_menu">
|
|
68
|
+
<property name="can_focus">False</property>
|
|
69
|
+
<child>
|
|
70
|
+
<object class="GtkBox">
|
|
71
|
+
<property name="visible">True</property>
|
|
72
|
+
<property name="can_focus">False</property>
|
|
73
|
+
<property name="orientation">vertical</property>
|
|
74
|
+
<child>
|
|
75
|
+
<object class="GtkBox">
|
|
76
|
+
<property name="visible">True</property>
|
|
77
|
+
<property name="can_focus">False</property>
|
|
78
|
+
<child>
|
|
79
|
+
<object class="GtkLabel">
|
|
80
|
+
<property name="visible">True</property>
|
|
81
|
+
<property name="can_focus">False</property>
|
|
82
|
+
<property name="margin_left">5</property>
|
|
83
|
+
<property name="margin_right">5</property>
|
|
84
|
+
<property name="margin_top">5</property>
|
|
85
|
+
<property name="margin_bottom">5</property>
|
|
86
|
+
<property name="label" translatable="yes">Hiragana</property>
|
|
87
|
+
</object>
|
|
88
|
+
<packing>
|
|
89
|
+
<property name="expand">False</property>
|
|
90
|
+
<property name="fill">True</property>
|
|
91
|
+
<property name="position">0</property>
|
|
92
|
+
</packing>
|
|
93
|
+
</child>
|
|
94
|
+
<child>
|
|
95
|
+
<object class="GtkSwitch" id="hiragana_switch">
|
|
96
|
+
<property name="visible">True</property>
|
|
97
|
+
<property name="can_focus">False</property>
|
|
98
|
+
<property name="margin_left">10</property>
|
|
99
|
+
<property name="margin_top">5</property>
|
|
100
|
+
<property name="margin_bottom">5</property>
|
|
101
|
+
<property name="active">True</property>
|
|
102
|
+
</object>
|
|
103
|
+
<packing>
|
|
104
|
+
<property name="expand">False</property>
|
|
105
|
+
<property name="fill">True</property>
|
|
106
|
+
<property name="padding">5</property>
|
|
107
|
+
<property name="pack_type">end</property>
|
|
108
|
+
<property name="position">1</property>
|
|
109
|
+
</packing>
|
|
110
|
+
</child>
|
|
111
|
+
</object>
|
|
112
|
+
<packing>
|
|
113
|
+
<property name="expand">False</property>
|
|
114
|
+
<property name="fill">True</property>
|
|
115
|
+
<property name="position">0</property>
|
|
116
|
+
</packing>
|
|
117
|
+
</child>
|
|
118
|
+
<child>
|
|
119
|
+
<object class="GtkBox">
|
|
120
|
+
<property name="visible">True</property>
|
|
121
|
+
<property name="can_focus">False</property>
|
|
122
|
+
<child>
|
|
123
|
+
<object class="GtkLabel">
|
|
124
|
+
<property name="visible">True</property>
|
|
125
|
+
<property name="can_focus">False</property>
|
|
126
|
+
<property name="margin_left">5</property>
|
|
127
|
+
<property name="margin_right">5</property>
|
|
128
|
+
<property name="margin_top">5</property>
|
|
129
|
+
<property name="margin_bottom">5</property>
|
|
130
|
+
<property name="label" translatable="yes">Katakana</property>
|
|
131
|
+
</object>
|
|
132
|
+
<packing>
|
|
133
|
+
<property name="expand">False</property>
|
|
134
|
+
<property name="fill">True</property>
|
|
135
|
+
<property name="position">0</property>
|
|
136
|
+
</packing>
|
|
137
|
+
</child>
|
|
138
|
+
<child>
|
|
139
|
+
<object class="GtkSwitch" id="katakana_switch">
|
|
140
|
+
<property name="visible">True</property>
|
|
141
|
+
<property name="can_focus">False</property>
|
|
142
|
+
<property name="margin_left">10</property>
|
|
143
|
+
<property name="margin_top">5</property>
|
|
144
|
+
<property name="margin_bottom">5</property>
|
|
145
|
+
</object>
|
|
146
|
+
<packing>
|
|
147
|
+
<property name="expand">False</property>
|
|
148
|
+
<property name="fill">True</property>
|
|
149
|
+
<property name="padding">5</property>
|
|
150
|
+
<property name="pack_type">end</property>
|
|
151
|
+
<property name="position">1</property>
|
|
152
|
+
</packing>
|
|
153
|
+
</child>
|
|
154
|
+
</object>
|
|
155
|
+
<packing>
|
|
156
|
+
<property name="expand">False</property>
|
|
157
|
+
<property name="fill">True</property>
|
|
158
|
+
<property name="position">1</property>
|
|
159
|
+
</packing>
|
|
160
|
+
</child>
|
|
161
|
+
<child>
|
|
162
|
+
<object class="GtkBox">
|
|
163
|
+
<property name="visible">True</property>
|
|
164
|
+
<property name="can_focus">False</property>
|
|
165
|
+
<child>
|
|
166
|
+
<object class="GtkLabel">
|
|
167
|
+
<property name="visible">True</property>
|
|
168
|
+
<property name="can_focus">False</property>
|
|
169
|
+
<property name="margin_left">5</property>
|
|
170
|
+
<property name="margin_right">5</property>
|
|
171
|
+
<property name="margin_top">5</property>
|
|
172
|
+
<property name="margin_bottom">5</property>
|
|
173
|
+
<property name="label" translatable="yes">Sound</property>
|
|
174
|
+
</object>
|
|
175
|
+
<packing>
|
|
176
|
+
<property name="expand">False</property>
|
|
177
|
+
<property name="fill">True</property>
|
|
178
|
+
<property name="position">0</property>
|
|
179
|
+
</packing>
|
|
180
|
+
</child>
|
|
181
|
+
<child>
|
|
182
|
+
<object class="GtkSwitch" id="sound_switch">
|
|
183
|
+
<property name="visible">True</property>
|
|
184
|
+
<property name="can_focus">False</property>
|
|
185
|
+
<property name="margin_left">10</property>
|
|
186
|
+
<property name="margin_top">5</property>
|
|
187
|
+
<property name="margin_bottom">5</property>
|
|
188
|
+
<property name="active">True</property>
|
|
189
|
+
</object>
|
|
190
|
+
<packing>
|
|
191
|
+
<property name="expand">False</property>
|
|
192
|
+
<property name="fill">True</property>
|
|
193
|
+
<property name="padding">5</property>
|
|
194
|
+
<property name="pack_type">end</property>
|
|
195
|
+
<property name="position">1</property>
|
|
196
|
+
</packing>
|
|
197
|
+
</child>
|
|
198
|
+
</object>
|
|
199
|
+
<packing>
|
|
200
|
+
<property name="expand">False</property>
|
|
201
|
+
<property name="fill">True</property>
|
|
202
|
+
<property name="position">2</property>
|
|
203
|
+
</packing>
|
|
204
|
+
</child>
|
|
205
|
+
<child>
|
|
206
|
+
<object class="GtkModelButton" id="menu_about">
|
|
207
|
+
<property name="visible">True</property>
|
|
208
|
+
<property name="can_focus">True</property>
|
|
209
|
+
<property name="receives_default">True</property>
|
|
210
|
+
<property name="margin_top">5</property>
|
|
211
|
+
<property name="margin_bottom">5</property>
|
|
212
|
+
<property name="text" translatable="yes">About Kita</property>
|
|
213
|
+
</object>
|
|
214
|
+
<packing>
|
|
215
|
+
<property name="expand">False</property>
|
|
216
|
+
<property name="fill">True</property>
|
|
217
|
+
<property name="position">3</property>
|
|
218
|
+
</packing>
|
|
219
|
+
</child>
|
|
220
|
+
</object>
|
|
221
|
+
<packing>
|
|
222
|
+
<property name="submenu">main</property>
|
|
223
|
+
<property name="position">1</property>
|
|
224
|
+
</packing>
|
|
225
|
+
</child>
|
|
226
|
+
</object>
|
|
227
|
+
<object class="GtkWindow" id="window">
|
|
228
|
+
<property name="can_focus">False</property>
|
|
229
|
+
<property name="modal">True</property>
|
|
230
|
+
<property name="window_position">center</property>
|
|
231
|
+
<property name="icon">kita.svg</property>
|
|
232
|
+
<property name="urgency_hint">True</property>
|
|
233
|
+
<property name="gravity">center</property>
|
|
234
|
+
<child type="titlebar">
|
|
235
|
+
<object class="GtkHeaderBar">
|
|
236
|
+
<property name="visible">True</property>
|
|
237
|
+
<property name="can_focus">False</property>
|
|
238
|
+
<property name="spacing">7</property>
|
|
239
|
+
<property name="show_close_button">True</property>
|
|
240
|
+
<property name="decoration_layout">menu:minimize,maximize,close</property>
|
|
241
|
+
<child>
|
|
242
|
+
<object class="GtkButton" id="new_question">
|
|
243
|
+
<property name="label" translatable="yes">New</property>
|
|
244
|
+
<property name="visible">True</property>
|
|
245
|
+
<property name="can_focus">True</property>
|
|
246
|
+
<property name="receives_default">True</property>
|
|
247
|
+
<property name="always_show_image">True</property>
|
|
248
|
+
</object>
|
|
249
|
+
</child>
|
|
250
|
+
<child>
|
|
251
|
+
<object class="GtkButton" id="speak">
|
|
252
|
+
<property name="visible">True</property>
|
|
253
|
+
<property name="can_focus">True</property>
|
|
254
|
+
<property name="receives_default">True</property>
|
|
255
|
+
<child>
|
|
256
|
+
<object class="GtkImage">
|
|
257
|
+
<property name="visible">True</property>
|
|
258
|
+
<property name="can_focus">False</property>
|
|
259
|
+
<property name="icon_name">audio-volume-high</property>
|
|
260
|
+
</object>
|
|
261
|
+
</child>
|
|
262
|
+
</object>
|
|
263
|
+
<packing>
|
|
264
|
+
<property name="position">2</property>
|
|
265
|
+
</packing>
|
|
266
|
+
</child>
|
|
267
|
+
<child>
|
|
268
|
+
<object class="GtkMenuButton" id="menu_button">
|
|
269
|
+
<property name="visible">True</property>
|
|
270
|
+
<property name="can_focus">False</property>
|
|
271
|
+
<property name="receives_default">False</property>
|
|
272
|
+
<property name="popover">primary_menu</property>
|
|
273
|
+
<child>
|
|
274
|
+
<object class="GtkImage">
|
|
275
|
+
<property name="visible">True</property>
|
|
276
|
+
<property name="can_focus">False</property>
|
|
277
|
+
<property name="icon_name">open-menu-symbolic</property>
|
|
278
|
+
<property name="icon_size">1</property>
|
|
279
|
+
</object>
|
|
280
|
+
</child>
|
|
281
|
+
</object>
|
|
282
|
+
<packing>
|
|
283
|
+
<property name="pack_type">end</property>
|
|
284
|
+
<property name="position">1</property>
|
|
285
|
+
</packing>
|
|
286
|
+
</child>
|
|
287
|
+
</object>
|
|
288
|
+
</child>
|
|
289
|
+
<child>
|
|
290
|
+
<object class="GtkBox">
|
|
291
|
+
<property name="visible">True</property>
|
|
292
|
+
<property name="can_focus">False</property>
|
|
293
|
+
<property name="orientation">vertical</property>
|
|
294
|
+
<child>
|
|
295
|
+
<object class="GtkLabel" id="question">
|
|
296
|
+
<property name="visible">True</property>
|
|
297
|
+
<property name="can_focus">False</property>
|
|
298
|
+
<property name="track_visited_links">False</property>
|
|
299
|
+
<attributes>
|
|
300
|
+
<attribute name="weight" value="bold"/>
|
|
301
|
+
<attribute name="scale" value="2"/>
|
|
302
|
+
</attributes>
|
|
303
|
+
</object>
|
|
304
|
+
<packing>
|
|
305
|
+
<property name="expand">True</property>
|
|
306
|
+
<property name="fill">True</property>
|
|
307
|
+
<property name="position">0</property>
|
|
308
|
+
</packing>
|
|
309
|
+
</child>
|
|
310
|
+
<child>
|
|
311
|
+
<object class="GtkActionBar">
|
|
312
|
+
<property name="visible">True</property>
|
|
313
|
+
<property name="can_focus">False</property>
|
|
314
|
+
<child>
|
|
315
|
+
<object class="GtkButton" id="answer_a">
|
|
316
|
+
<property name="label">a</property>
|
|
317
|
+
<property name="visible">True</property>
|
|
318
|
+
<property name="can_focus">False</property>
|
|
319
|
+
<property name="receives_default">True</property>
|
|
320
|
+
<property name="hexpand">True</property>
|
|
321
|
+
<accelerator key="a" signal="clicked"/>
|
|
322
|
+
<accelerator key="KP_1" signal="clicked"/>
|
|
323
|
+
<accelerator key="1" signal="clicked"/>
|
|
324
|
+
</object>
|
|
325
|
+
<packing>
|
|
326
|
+
<property name="position">0</property>
|
|
327
|
+
</packing>
|
|
328
|
+
</child>
|
|
329
|
+
<child>
|
|
330
|
+
<object class="GtkButton" id="answer_b">
|
|
331
|
+
<property name="label">b</property>
|
|
332
|
+
<property name="visible">True</property>
|
|
333
|
+
<property name="can_focus">False</property>
|
|
334
|
+
<property name="receives_default">True</property>
|
|
335
|
+
<property name="hexpand">True</property>
|
|
336
|
+
<accelerator key="s" signal="clicked"/>
|
|
337
|
+
<accelerator key="KP_2" signal="clicked"/>
|
|
338
|
+
<accelerator key="2" signal="clicked"/>
|
|
339
|
+
</object>
|
|
340
|
+
<packing>
|
|
341
|
+
<property name="position">0</property>
|
|
342
|
+
</packing>
|
|
343
|
+
</child>
|
|
344
|
+
<child>
|
|
345
|
+
<object class="GtkButton" id="answer_c">
|
|
346
|
+
<property name="label">c</property>
|
|
347
|
+
<property name="visible">True</property>
|
|
348
|
+
<property name="can_focus">False</property>
|
|
349
|
+
<property name="receives_default">True</property>
|
|
350
|
+
<property name="hexpand">True</property>
|
|
351
|
+
<accelerator key="d" signal="clicked"/>
|
|
352
|
+
<accelerator key="KP_3" signal="clicked"/>
|
|
353
|
+
<accelerator key="3" signal="clicked"/>
|
|
354
|
+
</object>
|
|
355
|
+
<packing>
|
|
356
|
+
<property name="position">0</property>
|
|
357
|
+
</packing>
|
|
358
|
+
</child>
|
|
359
|
+
<child>
|
|
360
|
+
<object class="GtkButton" id="answer_d">
|
|
361
|
+
<property name="label">d</property>
|
|
362
|
+
<property name="visible">True</property>
|
|
363
|
+
<property name="can_focus">False</property>
|
|
364
|
+
<property name="receives_default">True</property>
|
|
365
|
+
<property name="hexpand">True</property>
|
|
366
|
+
<accelerator key="f" signal="clicked"/>
|
|
367
|
+
<accelerator key="KP_4" signal="clicked"/>
|
|
368
|
+
<accelerator key="4" signal="clicked"/>
|
|
369
|
+
</object>
|
|
370
|
+
<packing>
|
|
371
|
+
<property name="position">0</property>
|
|
372
|
+
</packing>
|
|
373
|
+
</child>
|
|
374
|
+
</object>
|
|
375
|
+
<packing>
|
|
376
|
+
<property name="expand">False</property>
|
|
377
|
+
<property name="fill">True</property>
|
|
378
|
+
<property name="position">1</property>
|
|
379
|
+
</packing>
|
|
380
|
+
</child>
|
|
381
|
+
</object>
|
|
382
|
+
</child>
|
|
383
|
+
</object>
|
|
384
|
+
</interface>
|