-
-
Notifications
You must be signed in to change notification settings - Fork 53
Expand file tree
/
Copy pathLanguageButton.vala
More file actions
68 lines (64 loc) · 2.81 KB
/
LanguageButton.vala
File metadata and controls
68 lines (64 loc) · 2.81 KB
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
public class LanguageButton : Gtk.MenuButton {
public LanguageButton () {
Object (
image: new Gtk.Image.from_icon_name ("preferences-desktop-locale", Gtk.IconSize.SMALL_TOOLBAR)
) ;
var menu_list = new Gtk.Box (Gtk.Orientation.VERTICAL, 5) ;
var scroll_view = new Gtk.ScrolledWindow (null, null) ;
scroll_view.height_request = 190 ;
scroll_view.width_request = 150 ;
var lang = new LanguageService () ;
var spa = new Gtk.ModelButton () ;
var eng = new Gtk.ModelButton () ;
var chi_sim = new Gtk.ModelButton () ;
var jpn = new Gtk.ModelButton () ;
var rus = new Gtk.ModelButton () ;
var fra = new Gtk.ModelButton () ;
var ara = new Gtk.ModelButton () ;
var nld = new Gtk.ModelButton () ; // Dutch Language is represented as nld
var tur = new Gtk.ModelButton () ;
var deu = new Gtk.ModelButton () ;
var ind = new Gtk.ModelButton () ;
var ita = new Gtk.ModelButton () ;
deu.text = "German" ;
nld.text = "Dutch" ;
tur.text = "Turkish" ;
eng.text = "English" ;
spa.text = "Spanish" ;
chi_sim.text = "Chinese (Simplified)" ;
jpn.text = "Japanese" ;
rus.text = "Russian" ;
fra.text = "French" ;
ara.text = "Arabic" ;
ind.text = "Indonesian" ;
ita.text = "Italiano";
deu.clicked.connect (() => { lang.save_pref_language ("deu") ; }) ;
eng.clicked.connect (() => { lang.save_pref_language ("eng") ; }) ;
chi_sim.clicked.connect (() => { lang.save_pref_language ("chi_sim") ; }) ;
jpn.clicked.connect (() => { lang.save_pref_language ("jpn") ; }) ;
fra.clicked.connect (() => { lang.save_pref_language ("fra") ; }) ;
rus.clicked.connect (() => { lang.save_pref_language ("rus") ; }) ;
ara.clicked.connect (() => { lang.save_pref_language ("ara") ; }) ;
spa.clicked.connect (() => { lang.save_pref_language ("spa") ; }) ;
nld.clicked.connect (() => { lang.save_pref_language ("nld") ; }) ;
tur.clicked.connect (() => { lang.save_pref_language ("tur") ; }) ;
ind.clicked.connect (() => { lang.save_pref_language ("ind") ; }) ;
ita.clicked.connect (() => { lang.save_pref_language ("ita") ; }) ;
menu_list.add (eng) ;
menu_list.add (chi_sim) ;
menu_list.add (jpn) ;
menu_list.add (nld) ;
menu_list.add (deu) ;
menu_list.add (fra) ;
menu_list.add (ara) ;
menu_list.add (tur) ;
menu_list.add (rus) ;
menu_list.add (ind) ;
menu_list.add (ita) ;
scroll_view.add (menu_list) ;
scroll_view.show_all () ;
var popover = new Gtk.Popover (null) ;
popover.add (scroll_view) ;
this.popover = popover ;
}
}