14
14
# along with this program; if not, write to the Free Software
15
15
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
17
from gi.repository import Gtk
20
def _message_dialog(type, primary, secondary, parent=None, buttons=Gtk.ButtonsType.OK):
28
""" Display the AboutDialog. """
31
import bzrlib.plugins.gtk
35
version = bzrlib.plugins.gtk.__version__
36
from guifiles import GLADEFILENAME
38
# Load AboutDialog description
39
dglade = gtk.glade.XML(GLADEFILENAME, 'aboutdialog')
40
dialog = dglade.get_widget('aboutdialog')
43
dialog.set_version(version)
49
def _message_dialog(type, primary, secondary):
21
50
""" Display a given type of MessageDialog with the given message.
23
:param type: message dialog type
52
:param type: error | warning | info
25
54
:param message: the message you want to display.
27
dialog = Gtk.MessageDialog(parent=parent, flags=Gtk.DialogFlags.MODAL,
28
type=type, buttons=buttons)
29
dialog.set_markup('<big><b>' + primary + '</b></big>')
30
dialog.format_secondary_text(secondary)
57
dialog = gtk.MessageDialog(flags=gtk.DIALOG_MODAL,
58
type=gtk.MESSAGE_ERROR,
59
buttons=gtk.BUTTONS_OK)
60
dialog.set_markup('<big><b>' + primary + '</b></big>')
61
elif type == 'warning':
62
dialog = gtk.MessageDialog(flags=gtk.DIALOG_MODAL,
63
type=gtk.MESSAGE_WARNING,
64
buttons=gtk.BUTTONS_OK)
65
dialog.set_markup('<big><b>' + primary + '</b></big>')
67
dialog = gtk.MessageDialog(flags=gtk.DIALOG_MODAL,
68
type=gtk.MESSAGE_INFO,
69
buttons=gtk.BUTTONS_OK)
70
dialog.set_markup('<big><b>' + primary + '</b></big>')
71
elif type == 'question':
72
dialog = gtk.MessageDialog(flags=gtk.DIALOG_MODAL,
73
type=gtk.MESSAGE_QUESTION,
74
buttons=gtk.BUTTONS_YES_NO)
75
dialog.set_markup('<big><b>' + primary + '</b></big>')
79
dialog.format_secondary_markup(secondary)
31
81
response = dialog.run()
35
def error_dialog(primary, secondary, parent=None):
86
def error_dialog(primary, secondary):
36
87
""" Display an error dialog with the given message. """
37
return _message_dialog(Gtk.MessageType.ERROR, primary, secondary, parent)
88
return _message_dialog('error', primary, secondary)
39
def info_dialog(primary, secondary, parent=None):
90
def info_dialog(primary, secondary):
40
91
""" Display an info dialog with the given message. """
41
return _message_dialog(Gtk.MessageType.INFO, primary, secondary, parent)
92
return _message_dialog('info', primary, secondary)
43
def warning_dialog(primary, secondary, parent=None):
94
def warning_dialog(primary, secondary):
44
95
""" Display a warning dialog with the given message. """
45
return _message_dialog(Gtk.MessageType.WARNING, primary, secondary, parent)
96
return _message_dialog('warning', primary, secondary)
47
def question_dialog(primary, secondary, parent=None):
98
def question_dialog(primary, secondary):
48
99
""" Display a dialog with the given question. """
49
return _message_dialog(Gtk.MessageType.QUESTION, primary, secondary, parent, Gtk.ButtonsType.YES_NO)
100
return _message_dialog('question', primary, secondary)