diff options
| author | Ivan Alejandro <ivanalejandro0@gmail.com> | 2014-09-22 16:17:02 -0300 | 
|---|---|---|
| committer | Ivan Alejandro <ivanalejandro0@gmail.com> | 2014-09-22 16:17:02 -0300 | 
| commit | c1fa3959fbffb381e067dcd619d528412e235401 (patch) | |
| tree | 72662a8d2102dd782d68006d69e3b3058d8bd899 /src/leap/bitmask/gui/flashable.py | |
| parent | 30fe51fa5c90a5ec08491b6d3f8524838ec75ac2 (diff) | |
| parent | 668a9f9aa327c3c055b9e0f641f8c33d59e1c452 (diff) | |
Merge remote-tracking branch 'elijah/feature/prefui' into develop
Diffstat (limited to 'src/leap/bitmask/gui/flashable.py')
| -rw-r--r-- | src/leap/bitmask/gui/flashable.py | 76 | 
1 files changed, 76 insertions, 0 deletions
| diff --git a/src/leap/bitmask/gui/flashable.py b/src/leap/bitmask/gui/flashable.py new file mode 100644 index 00000000..a26d1ec6 --- /dev/null +++ b/src/leap/bitmask/gui/flashable.py @@ -0,0 +1,76 @@ +# -*- coding: utf-8 -*- +# Copyright (C) 2014 LEAP +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU 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 General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program.  If not, see <http://www.gnu.org/licenses/>. + + +class Flashable(object): + +    """ +    An abstract super class to give a QWidget handy methods for diplaying +    alert messages inline. The widget inheriting from this class must have +    label named 'flash_label' available at self.ui.flash_label, or pass +    the QLabel object in the constructor. +    """ + +    def __init__(self, widget=None): +        self._setup(widget) + +    def _setup(self, widget=None): +        if not hasattr(self, 'widget'): +            if widget: +                self.widget = widget +            else: +                self.widget = self.ui.flash_label +            self.widget.setVisible(False) + +    def flash_error(self, message): +        """ +        Sets string for the flash message. + +        :param message: the text to be displayed +        :type message: str +        """ +        self._setup() +        message = "<font color='red'><b>%s</b></font>" % (message,) +        self.widget.setVisible(True) +        self.widget.setText(message) + +    def flash_success(self, message): +        """ +        Sets string for the flash message. + +        :param message: the text to be displayed +        :type message: str +        """ +        self._setup() +        message = "<font color='green'><b>%s</b></font>" % (message,) +        self.widget.setVisible(True) +        self.widget.setText(message) + +    def flash_message(self, message): +        """ +        Sets string for the flash message. + +        :param message: the text to be displayed +        :type message: str +        """ +        self._setup() +        message = "<b>%s</b>" % (message,) +        self.widget.setVisible(True) +        self.widget.setText(message) + +    def hide_flash(self): +        self._setup() +        self.widget.setVisible(False) | 
