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):
27
def _message_dialog(type, primary, secondary, buttons=gtk.BUTTONS_OK):
21
28
""" Display a given type of MessageDialog with the given message.
23
30
:param type: message dialog type
25
32
:param message: the message you want to display.
27
dialog = Gtk.MessageDialog(parent=parent, flags=Gtk.DialogFlags.MODAL,
28
type=type, buttons=buttons)
34
dialog = gtk.MessageDialog(flags=gtk.DIALOG_MODAL, type=type,
29
36
dialog.set_markup('<big><b>' + primary + '</b></big>')
30
dialog.format_secondary_text(secondary)
37
dialog.format_secondary_markup(secondary)
31
38
response = dialog.run()
35
def error_dialog(primary, secondary, parent=None):
42
def error_dialog(primary, secondary):
36
43
""" Display an error dialog with the given message. """
37
return _message_dialog(Gtk.MessageType.ERROR, primary, secondary, parent)
44
return _message_dialog(gtk.MESSAGE_ERROR, primary, secondary)
39
def info_dialog(primary, secondary, parent=None):
46
def info_dialog(primary, secondary):
40
47
""" Display an info dialog with the given message. """
41
return _message_dialog(Gtk.MessageType.INFO, primary, secondary, parent)
48
return _message_dialog(gtk.MESSAGE_INFO, primary, secondary)
43
def warning_dialog(primary, secondary, parent=None):
50
def warning_dialog(primary, secondary):
44
51
""" Display a warning dialog with the given message. """
45
return _message_dialog(Gtk.MessageType.WARNING, primary, secondary, parent)
52
return _message_dialog(gtk.MESSAGE_WARNING, primary, secondary)
47
def question_dialog(primary, secondary, parent=None):
54
def question_dialog(primary, secondary):
48
55
""" Display a dialog with the given question. """
49
return _message_dialog(Gtk.MessageType.QUESTION, primary, secondary, parent, Gtk.ButtonsType.YES_NO)
56
return _message_dialog(gtk.MESSAGE_QUESTION, primary, secondary, gtk.BUTTONS_YES_NO)
58
def _chooserevison_dialog(history):
59
""" Display a dialog with list of revisions. """
62
dialog.vbox.pack_start(hbox)
63
dialog.vbox.set_spacing(2)
66
img.set_from_stock(gtk.STOCK_DIALOG_QUESTION,gtk.ICON_SIZE_DIALOG)
74
lbl = gtk.Label("<b>Select a revision</b>")
75
lbl.set_use_markup(True)
76
lbl.set_alignment(0,0)
79
revisioncombo = gtk.ComboBox()
80
model = gtk.ListStore(str,str)
81
revisioncombo.set_model(model)
85
for ver in item[3]: # item 3 contains a list with revision number and subnumbers
86
numver = numver + str(ver) + "." # here we make a 'readable' version number (IE: 30.1.5)
88
model.append((item[1],numver))
90
cell = gtk.CellRendererText()
91
revisioncombo.pack_start(cell, True)
92
revisioncombo.add_attribute(cell, 'text', 1)
94
vbox.pack_start(revisioncombo)
96
dialog.vbox.show_all()
97
dialog.add_buttons(gtk.STOCK_CANCEL,gtk.RESPONSE_REJECT,gtk.STOCK_OK,gtk.RESPONSE_OK)
98
returncode = dialog.run()
99
active_iter = revisioncombo.get_active_iter()
100
if active_iter != None:
101
val = model.get_value(active_iter,0) # get selected revision id from model
107
return (returncode, val) #return dialog return code and selected revision ID