Mercurial > libervia-desktop-kivy
annotate cagou/plugins/plugin_wid_settings.py @ 128:d3ebe8caa26b
README: added contribution URIs
author | Goffi <goffi@goffi.org> |
---|---|
date | Fri, 06 Apr 2018 16:10:58 +0200 |
parents | cd99f70ea592 |
children | 0ddd2b20cc6b |
rev | line source |
---|---|
70
46b5f3ecf6a1
settings: settings widget plugin, first draft
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
1 #!/usr/bin/python |
46b5f3ecf6a1
settings: settings widget plugin, first draft
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
2 # -*- coding: utf-8 -*- |
46b5f3ecf6a1
settings: settings widget plugin, first draft
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
3 |
46b5f3ecf6a1
settings: settings widget plugin, first draft
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
4 # Cagou: desktop/mobile frontend for Salut à Toi XMPP client |
126 | 5 # Copyright (C) 2016-2018 Jérôme Poisson (goffi@goffi.org) |
70
46b5f3ecf6a1
settings: settings widget plugin, first draft
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
6 |
46b5f3ecf6a1
settings: settings widget plugin, first draft
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
7 # This program is free software: you can redistribute it and/or modify |
46b5f3ecf6a1
settings: settings widget plugin, first draft
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
8 # it under the terms of the GNU Affero General Public License as published by |
46b5f3ecf6a1
settings: settings widget plugin, first draft
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
9 # the Free Software Foundation, either version 3 of the License, or |
46b5f3ecf6a1
settings: settings widget plugin, first draft
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
10 # (at your option) any later version. |
46b5f3ecf6a1
settings: settings widget plugin, first draft
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
11 |
46b5f3ecf6a1
settings: settings widget plugin, first draft
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
12 # This program is distributed in the hope that it will be useful, |
46b5f3ecf6a1
settings: settings widget plugin, first draft
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
13 # but WITHOUT ANY WARRANTY; without even the implied warranty of |
46b5f3ecf6a1
settings: settings widget plugin, first draft
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
14 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
46b5f3ecf6a1
settings: settings widget plugin, first draft
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
15 # GNU Affero General Public License for more details. |
46b5f3ecf6a1
settings: settings widget plugin, first draft
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
16 |
46b5f3ecf6a1
settings: settings widget plugin, first draft
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
17 # You should have received a copy of the GNU Affero General Public License |
46b5f3ecf6a1
settings: settings widget plugin, first draft
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
18 # along with this program. If not, see <http://www.gnu.org/licenses/>. |
46b5f3ecf6a1
settings: settings widget plugin, first draft
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
19 |
46b5f3ecf6a1
settings: settings widget plugin, first draft
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
20 |
46b5f3ecf6a1
settings: settings widget plugin, first draft
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
21 from sat.core import log as logging |
46b5f3ecf6a1
settings: settings widget plugin, first draft
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
22 log = logging.getLogger(__name__) |
46b5f3ecf6a1
settings: settings widget plugin, first draft
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
23 from sat.core.i18n import _ |
46b5f3ecf6a1
settings: settings widget plugin, first draft
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
24 from sat.core.constants import Const as C |
46b5f3ecf6a1
settings: settings widget plugin, first draft
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
25 from sat_frontends.quick_frontend import quick_widgets |
46b5f3ecf6a1
settings: settings widget plugin, first draft
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
26 from kivy.uix.label import Label |
46b5f3ecf6a1
settings: settings widget plugin, first draft
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
27 from kivy.uix.widget import Widget |
46b5f3ecf6a1
settings: settings widget plugin, first draft
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
28 from cagou.core import cagou_widget |
46b5f3ecf6a1
settings: settings widget plugin, first draft
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
29 from cagou import G |
46b5f3ecf6a1
settings: settings widget plugin, first draft
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
30 |
46b5f3ecf6a1
settings: settings widget plugin, first draft
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
31 |
46b5f3ecf6a1
settings: settings widget plugin, first draft
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
32 PLUGIN_INFO = { |
46b5f3ecf6a1
settings: settings widget plugin, first draft
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
33 "name": _(u"settings"), |
46b5f3ecf6a1
settings: settings widget plugin, first draft
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
34 "main": "Settings", |
46b5f3ecf6a1
settings: settings widget plugin, first draft
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
35 "description": _(u"Cagou/SàT settings"), |
46b5f3ecf6a1
settings: settings widget plugin, first draft
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
36 "icon_small": u"{media}/icons/muchoslava/png/settings_32.png", |
46b5f3ecf6a1
settings: settings widget plugin, first draft
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
37 "icon_medium": u"{media}/icons/muchoslava/png/settings_44.png" |
46b5f3ecf6a1
settings: settings widget plugin, first draft
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
38 } |
46b5f3ecf6a1
settings: settings widget plugin, first draft
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
39 |
46b5f3ecf6a1
settings: settings widget plugin, first draft
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
40 |
46b5f3ecf6a1
settings: settings widget plugin, first draft
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
41 class Settings(quick_widgets.QuickWidget, cagou_widget.CagouWidget): |
46b5f3ecf6a1
settings: settings widget plugin, first draft
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
42 |
46b5f3ecf6a1
settings: settings widget plugin, first draft
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
43 def __init__(self, host, target, profiles): |
46b5f3ecf6a1
settings: settings widget plugin, first draft
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
44 quick_widgets.QuickWidget.__init__(self, G.host, target, profiles) |
46b5f3ecf6a1
settings: settings widget plugin, first draft
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
45 cagou_widget.CagouWidget.__init__(self) |
46b5f3ecf6a1
settings: settings widget plugin, first draft
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
46 # the Widget() avoid CagouWidget header to be down at the beginning |
46b5f3ecf6a1
settings: settings widget plugin, first draft
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
47 # then up when the UI is loaded |
46b5f3ecf6a1
settings: settings widget plugin, first draft
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
48 self.loading_widget = Widget() |
46b5f3ecf6a1
settings: settings widget plugin, first draft
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
49 self.add_widget(self.loading_widget) |
46b5f3ecf6a1
settings: settings widget plugin, first draft
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
50 G.host.bridge.getParamsUI(-1, C.APP_NAME, self.profile, callback=self.getParamsUICb, errback=self.getParamsUIEb) |
46b5f3ecf6a1
settings: settings widget plugin, first draft
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
51 |
46b5f3ecf6a1
settings: settings widget plugin, first draft
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
52 def changeWidget(self, widget): |
46b5f3ecf6a1
settings: settings widget plugin, first draft
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
53 self.clear_widgets([self.loading_widget]) |
46b5f3ecf6a1
settings: settings widget plugin, first draft
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
54 del self.loading_widget |
46b5f3ecf6a1
settings: settings widget plugin, first draft
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
55 self.add_widget(widget) |
46b5f3ecf6a1
settings: settings widget plugin, first draft
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
56 |
46b5f3ecf6a1
settings: settings widget plugin, first draft
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
57 def getParamsUICb(self, xmlui): |
46b5f3ecf6a1
settings: settings widget plugin, first draft
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
58 G.host.actionManager({"xmlui": xmlui}, ui_show_cb=self.changeWidget, profile=self.profile) |
46b5f3ecf6a1
settings: settings widget plugin, first draft
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
59 |
46b5f3ecf6a1
settings: settings widget plugin, first draft
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
60 def getParamsUIEb(self, failure): |
46b5f3ecf6a1
settings: settings widget plugin, first draft
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
61 self.changeWidget(Label( |
46b5f3ecf6a1
settings: settings widget plugin, first draft
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
62 text=_(u"Can't load parameters!"), |
46b5f3ecf6a1
settings: settings widget plugin, first draft
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
63 bold=True, |
46b5f3ecf6a1
settings: settings widget plugin, first draft
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
64 color=(1,0,0,1))) |
46b5f3ecf6a1
settings: settings widget plugin, first draft
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
65 G.host.showDialog(u"Can't load params UI", failure, "error") |