Commit | Line | Data |
---|---|---|
4baeda09 D |
1 | (function () {\r |
2 | var View = Backbone.View.extend({\r | |
3 | events: {\r | |
4 | 'click .save': 'saveSettings'\r | |
5 | },\r | |
19cc6364 | 6 | \r |
4baeda09 D |
7 | initialize: function (options) {\r |
8 | this.$el = $($('#tmpl_applet_settings').html());\r | |
5bed0536 | 9 | \r |
69ae0848 D |
10 | // Incase any settings change while we have this open, update them\r |
11 | _kiwi.global.settings.on('change', this.loadSettings, this);\r | |
12 | \r | |
13 | // Now actually show the current settings\r | |
14 | this.loadSettings();\r | |
da848c4f D |
15 | \r |
16 | \r | |
69ae0848 D |
17 | },\r |
18 | \r | |
19 | \r | |
20 | loadSettings: function () {\r | |
21 | var settings = _kiwi.global.settings;\r | |
22 | \r | |
039a3156 D |
23 | // TODO: Tidy this up\r |
24 | var theme = settings.get('theme') || 'relaxed';\r | |
25 | this.$el.find('.setting-theme option').filter(function() {\r | |
26 | return $(this).val() === theme;\r | |
27 | }).attr('selected', true);\r | |
28 | \r | |
29 | var list_style = settings.get('channel_list_style') || 'tabs';\r | |
30 | this.$el.find('.setting-channel_list_style option').filter(function() {\r | |
31 | return $(this).val() === list_style;\r | |
32 | }).attr('selected', true);\r | |
33 | \r | |
69ae0848 | 34 | this.$el.find('.setting-scrollback').val(settings.get('scrollback') || '250');\r |
ddd74e86 D |
35 | \r |
36 | if (typeof settings.get('show_joins_parts') === 'undefined' || settings.get('show_joins_parts')) {\r | |
37 | this.$el.find('.setting-show_joins_parts').attr('checked', true);\r | |
38 | } else {\r | |
39 | this.$el.find('.setting-show_joins_parts').attr('checked', false);\r | |
40 | }\r | |
4baeda09 | 41 | },\r |
69ae0848 D |
42 | \r |
43 | \r | |
4baeda09 | 44 | saveSettings: function () {\r |
5bed0536 | 45 | var settings = _kiwi.global.settings;\r |
19cc6364 | 46 | \r |
039a3156 D |
47 | // Stop settings being updated while we're saving one by one\r |
48 | _kiwi.global.settings.off('change', this.loadSettings, this);\r | |
49 | \r | |
93fa049c | 50 | settings.set('theme', $('.setting-theme', this.$el).val());\r |
039a3156 | 51 | settings.set('channel_list_style', $('.setting-channel_list_style', this.$el).val());\r |
93fa049c | 52 | settings.set('scrollback', $('.setting-scrollback', this.$el).val());\r |
ddd74e86 | 53 | settings.set('show_joins_parts', $('.setting-show_joins_parts', this.$el).is(':checked'));\r |
19cc6364 | 54 | \r |
5bed0536 | 55 | settings.save();\r |
039a3156 D |
56 | \r |
57 | // Continue listening for setting changes\r | |
58 | _kiwi.global.settings.on('change', this.loadSettings, this);\r | |
4baeda09 D |
59 | }\r |
60 | });\r | |
61 | \r | |
62 | \r | |
63 | \r | |
da848c4f | 64 | var Applet = Backbone.Model.extend({\r |
4baeda09 D |
65 | initialize: function () {\r |
66 | this.set('title', 'Settings');\r | |
67 | this.view = new View();\r | |
4baeda09 D |
68 | }\r |
69 | });\r | |
da848c4f D |
70 | \r |
71 | \r | |
72 | _kiwi.model.Applet.register('kiwi_settings', Applet);\r | |
4baeda09 | 73 | })(); |