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 | 7 | initialize: function (options) {\r |
0935901c | 8 | this.$el = $($('#tmpl_applet_settings').html().trim());\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 | 17 | },\r |
69ae0848 D |
18 | \r |
19 | loadSettings: function () {\r | |
20 | var settings = _kiwi.global.settings;\r | |
21 | \r | |
039a3156 D |
22 | // TODO: Tidy this up\r |
23 | var theme = settings.get('theme') || 'relaxed';\r | |
24 | this.$el.find('.setting-theme option').filter(function() {\r | |
25 | return $(this).val() === theme;\r | |
0935901c | 26 | }).prop('selected', true);\r |
039a3156 D |
27 | \r |
28 | var list_style = settings.get('channel_list_style') || 'tabs';\r | |
29 | this.$el.find('.setting-channel_list_style option').filter(function() {\r | |
30 | return $(this).val() === list_style;\r | |
0935901c | 31 | }).prop('selected', true);\r |
039a3156 | 32 | \r |
69ae0848 | 33 | this.$el.find('.setting-scrollback').val(settings.get('scrollback') || '250');\r |
ddd74e86 D |
34 | \r |
35 | if (typeof settings.get('show_joins_parts') === 'undefined' || settings.get('show_joins_parts')) {\r | |
0935901c | 36 | this.$el.find('.setting-show_joins_parts').prop('checked', true);\r |
ddd74e86 | 37 | } else {\r |
0935901c | 38 | this.$el.find('.setting-show_joins_parts').prop('checked', false);\r |
ddd74e86 | 39 | }\r |
2bbb5225 D |
40 | \r |
41 | if (typeof settings.get('show_timestamps') === 'undefined' || !settings.get('show_timestamps')) {\r | |
0935901c | 42 | this.$el.find('.setting-show_timestamps').prop('checked', false);\r |
2bbb5225 | 43 | } else {\r |
0935901c | 44 | this.$el.find('.setting-show_timestamps').prop('checked', true);\r |
2bbb5225 | 45 | }\r |
b2f25f45 D |
46 | \r |
47 | if (typeof settings.get('mute_sounds') === 'undefined' || settings.get('mute_sounds')) {\r | |
0935901c | 48 | this.$el.find('.setting-mute_sounds').prop('checked', true);\r |
b2f25f45 | 49 | } else {\r |
0935901c | 50 | this.$el.find('.setting-mute_sounds').prop('checked', false);\r |
b2f25f45 | 51 | }\r |
4baeda09 | 52 | },\r |
69ae0848 D |
53 | \r |
54 | \r | |
4baeda09 | 55 | saveSettings: function () {\r |
18aaad59 JA |
56 | var settings = _kiwi.global.settings,\r |
57 | feedback;\r | |
19cc6364 | 58 | \r |
039a3156 | 59 | // Stop settings being updated while we're saving one by one\r |
1cfc4800 | 60 | settings.off('change', this.loadSettings, this);\r |
039a3156 | 61 | \r |
93fa049c | 62 | settings.set('theme', $('.setting-theme', this.$el).val());\r |
039a3156 | 63 | settings.set('channel_list_style', $('.setting-channel_list_style', this.$el).val());\r |
93fa049c | 64 | settings.set('scrollback', $('.setting-scrollback', this.$el).val());\r |
ddd74e86 | 65 | settings.set('show_joins_parts', $('.setting-show_joins_parts', this.$el).is(':checked'));\r |
2bbb5225 | 66 | settings.set('show_timestamps', $('.setting-show_timestamps', this.$el).is(':checked'));\r |
b2f25f45 | 67 | settings.set('mute_sounds', $('.setting-mute_sounds', this.$el).is(':checked'));\r |
19cc6364 | 68 | \r |
5bed0536 | 69 | settings.save();\r |
039a3156 | 70 | \r |
18aaad59 JA |
71 | feedback = $('.feedback', this.$el);\r |
72 | feedback.fadeIn('slow', function () {\r | |
73 | feedback.fadeOut('slow');\r | |
1cfc4800 | 74 | });\r |
18aaad59 | 75 | \r |
039a3156 | 76 | // Continue listening for setting changes\r |
1cfc4800 | 77 | settings.on('change', this.loadSettings, this);\r |
4baeda09 D |
78 | }\r |
79 | });\r | |
80 | \r | |
81 | \r | |
82 | \r | |
da848c4f | 83 | var Applet = Backbone.Model.extend({\r |
4baeda09 D |
84 | initialize: function () {\r |
85 | this.set('title', 'Settings');\r | |
86 | this.view = new View();\r | |
4baeda09 D |
87 | }\r |
88 | });\r | |
da848c4f D |
89 | \r |
90 | \r | |
91 | _kiwi.model.Applet.register('kiwi_settings', Applet);\r | |
4baeda09 | 92 | })(); |