/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:
54
54
def question_dialog(primary, secondary):
55
55
    """ Display a dialog with the given question. """
56
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