# HG changeset patch # User Goffi # Date 1527242286 -7200 # Node ID dbd2274fc78b958352055ba2baaaaef478f1e118 # Parent e20796eea8736593c80721fc2e68d58d7559a100 core: new core.dialog module with a ConfirmDialog diff -r e20796eea873 -r dbd2274fc78b cagou/core/dialog.py --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/cagou/core/dialog.py Fri May 25 11:58:06 2018 +0200 @@ -0,0 +1,36 @@ +#!/usr//bin/env python2 +# -*- coding: utf-8 -*- + +# Cagou: desktop/mobile frontend for Salut à Toi XMPP client +# Copyright (C) 2016-2018 Jérôme Poisson (goffi@goffi.org) + +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU Affero General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU Affero General Public License for more details. + +# You should have received a copy of the GNU Affero General Public License +# along with this program. If not, see . + +"""generic dialogs""" + +from sat.core.i18n import _ +from kivy.uix.boxlayout import BoxLayout +from kivy import properties +from sat.core import log as logging + +log = logging.getLogger(__name__) + + +class ConfirmDialog(BoxLayout): + title = properties.StringProperty() + message = properties.StringProperty(_(u"Are you sure?")) + # callback for no/cancel + no_cb = properties.ObjectProperty() + # callback for yes/ok + yes_cb = properties.ObjectProperty() diff -r e20796eea873 -r dbd2274fc78b cagou/kv/dialog.kv --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/cagou/kv/dialog.kv Fri May 25 11:58:06 2018 +0200 @@ -0,0 +1,57 @@ +# Cagou: desktop/mobile frontend for Salut à Toi XMPP client +# Copyright (C) 2016-2018 Jérôme Poisson (goffi@goffi.org) + +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU Affero General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU Affero General Public License for more details. + +# You should have received a copy of the GNU Affero General Public License +# along with this program. If not, see . + +#:import _ sat.core.i18n._ + +: + orientation: "vertical" + spacing: dp(5) + canvas.before: + Color: + rgba: 0, 0, 0, 1 + Rectangle: + pos: self.pos + size: self.size + Label: + size_hint: 1, None + text_size: root.width, None + size: self.texture_size + font_size: sp(20) + padding: dp(5), dp(5) + color: 1, 1, 1, 1 + text: root.title + halign: "center" + italic: True + bold: True + Label: + text: root.message + text_size: root.width, None + size: self.texture_size + font_size: sp(20) + color: 1, 1, 1, 1 + Button: + size_hint: 1, None + height: dp(50) + background_color: 0.33, 1.0, 0.0, 1 + text: _("Yes") + bold: True + on_release: root.yes_cb() if root.yes_cb is not None else None + Button: + size_hint: 1, None + height: dp(50) + text: _("No") + bold: True + on_release: root.no_cb() if root.no_cb is not None else None