Mercurial > libervia-desktop-kivy
annotate cagou/plugins/plugin_wid_settings.py @ 279:aea973de55d9
transfer (file): use native file chooser on desktop:
native file chooser is nicer and often more powerful than Kivy FileChooser.
Kivy FileChooser is still activable with an option, for platforms where native file chooser is not easy/possible to use. Kivy FileChooser is used on Android.
downloads_dir is now used as starting path on Android.
author | Goffi <goffi@goffi.org> |
---|---|
date | Wed, 20 Mar 2019 09:29:44 +0100 |
parents | 0ddd2b20cc6b |
children | 1b835bcfa663 |
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"), |
180
0ddd2b20cc6b
plugins chat, contact_list, settings, widget_selector: changed icons theme
Goffi <goffi@goffi.org>
parents:
126
diff
changeset
|
36 "icon_symbol": u"wrench", |
70
46b5f3ecf6a1
settings: settings widget plugin, first draft
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
37 } |
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 class Settings(quick_widgets.QuickWidget, cagou_widget.CagouWidget): |
46b5f3ecf6a1
settings: settings widget plugin, first draft
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
41 |
46b5f3ecf6a1
settings: settings widget plugin, first draft
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
42 def __init__(self, host, target, profiles): |
46b5f3ecf6a1
settings: settings widget plugin, first draft
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
43 quick_widgets.QuickWidget.__init__(self, G.host, target, profiles) |
46b5f3ecf6a1
settings: settings widget plugin, first draft
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
44 cagou_widget.CagouWidget.__init__(self) |
46b5f3ecf6a1
settings: settings widget plugin, first draft
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
45 # 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
|
46 # then up when the UI is loaded |
46b5f3ecf6a1
settings: settings widget plugin, first draft
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
47 self.loading_widget = Widget() |
46b5f3ecf6a1
settings: settings widget plugin, first draft
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
48 self.add_widget(self.loading_widget) |
46b5f3ecf6a1
settings: settings widget plugin, first draft
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
49 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
|
50 |
46b5f3ecf6a1
settings: settings widget plugin, first draft
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
51 def changeWidget(self, widget): |
46b5f3ecf6a1
settings: settings widget plugin, first draft
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
52 self.clear_widgets([self.loading_widget]) |
46b5f3ecf6a1
settings: settings widget plugin, first draft
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
53 del self.loading_widget |
46b5f3ecf6a1
settings: settings widget plugin, first draft
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
54 self.add_widget(widget) |
46b5f3ecf6a1
settings: settings widget plugin, first draft
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
55 |
46b5f3ecf6a1
settings: settings widget plugin, first draft
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
56 def getParamsUICb(self, xmlui): |
46b5f3ecf6a1
settings: settings widget plugin, first draft
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
57 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
|
58 |
46b5f3ecf6a1
settings: settings widget plugin, first draft
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
59 def getParamsUIEb(self, failure): |
46b5f3ecf6a1
settings: settings widget plugin, first draft
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
60 self.changeWidget(Label( |
46b5f3ecf6a1
settings: settings widget plugin, first draft
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
61 text=_(u"Can't load parameters!"), |
46b5f3ecf6a1
settings: settings widget plugin, first draft
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
62 bold=True, |
46b5f3ecf6a1
settings: settings widget plugin, first draft
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
63 color=(1,0,0,1))) |
46b5f3ecf6a1
settings: settings widget plugin, first draft
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
64 G.host.showDialog(u"Can't load params UI", failure, "error") |