/b-gtk/fix-viz

To get this branch, use:
bzr branch http://gegoxaren.bato24.eu/bzr/b-gtk/fix-viz

« back to all changes in this revision

Viewing changes to dialog.py

  • Committer: Javier Derderian
  • Date: 2008-04-11 20:28:08 UTC
  • mfrom: (461.1.3 trunk)
  • mto: (465.1.1 gtk.patch)
  • mto: This revision was merged to the branch mainline in revision 466.
  • Revision ID: javierder@gmail.com-20080411202808-1b11f86go14pik5o
Merged from patch

Show diffs side-by-side

added added

removed removed

Lines of Context:
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
16
16
 
17
 
from gi.repository import Gtk
18
 
 
19
 
 
20
 
def _message_dialog(type, primary, secondary, parent=None, buttons=Gtk.ButtonsType.OK):
 
17
try:
 
18
    import pygtk
 
19
    pygtk.require("2.0")
 
20
except:
 
21
    pass
 
22
 
 
23
import gtk
 
24
import gtk.glade
 
25
 
 
26
 
 
27
def _message_dialog(type, primary, secondary, buttons=gtk.BUTTONS_OK):
21
28
    """ Display a given type of MessageDialog with the given message.
22
 
 
 
29
    
23
30
    :param type: message dialog type
24
 
 
 
31
    
25
32
    :param message: the message you want to display.
26
33
    """
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,
 
35
                               buttons=buttons)
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()
32
39
    dialog.destroy()
33
40
    return response
34
41
 
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)
38
45
 
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)
42
49
 
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)
46
53
 
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)
 
57
 
 
58
def _chooserevison_dialog(history):
 
59
    """ Display a dialog with list of revisions. """
 
60
    dialog = gtk.Dialog()
 
61
    hbox = gtk.HBox()
 
62
    dialog.vbox.pack_start(hbox)
 
63
    dialog.vbox.set_spacing(2)
 
64
    
 
65
    img = gtk.Image()
 
66
    img.set_from_stock(gtk.STOCK_DIALOG_QUESTION,gtk.ICON_SIZE_DIALOG)
 
67
    hbox.pack_start(img)
 
68
    
 
69
    hbox.set_spacing(10)
 
70
    vbox = gtk.VBox()
 
71
    vbox.set_spacing(10)
 
72
    hbox.pack_start(vbox)
 
73
    
 
74
    lbl = gtk.Label("<b>Select a revision</b>")
 
75
    lbl.set_use_markup(True)
 
76
    lbl.set_alignment(0,0)
 
77
    vbox.pack_start(lbl)
 
78
    
 
79
    revisioncombo = gtk.ComboBox()
 
80
    model = gtk.ListStore(str,str)
 
81
    revisioncombo.set_model(model)
 
82
    
 
83
    for item in history:
 
84
        numver = ""
 
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)
 
87
        numver = numver[0:-1]
 
88
        model.append((item[1],numver))
 
89
    
 
90
    cell = gtk.CellRendererText()
 
91
    revisioncombo.pack_start(cell, True)
 
92
    revisioncombo.add_attribute(cell, 'text', 1)
 
93
    
 
94
    vbox.pack_start(revisioncombo)
 
95
    
 
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
 
102
    else:
 
103
        val = ''
 
104
        
 
105
    dialog.destroy()
 
106
    
 
107
    return (returncode, val) #return dialog return code and selected revision ID