Viewing file: LoopDialog.py (2.67 KB) -rw-r--r-- Select action/file-type: (+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
import gtk import os
from config import * from SummaryModel import SummaryModel, setup_summary_tree from rhpl.translate import _, N_
LOOP_RESPONSE_CANCEL=0 LOOP_RESPONSE_KEEP=1 LOOP_RESPONSE_REMOVE=2
class LoopDialog: def __init__ (self, install_list, remove_list, parent = None):
# get the glade file glade_file = "LoopDialog.glade" if not os.path.isfile(glade_file): glade_file = GLADEDIR + glade_file xml = gtk.glade.XML (glade_file, domain=PROGNAME)
# Set the text if len (install_list) > 1: if len (remove_list) > 1: message = _("Some of the packages selected for addition require some packages selected for removal.") else: message = _("Some of the packages selected for addition require a package selected for removal.") else: if len (remove_list) > 1: message = _("One of the packages selected for addition require some packages selected for removal.") else: message = _("One of the packages selected for addition require a package selected for removal.") xml.get_widget ('info_label').set_text (message)
# Hook up the rest self.dialog = xml.get_widget ('loop_dialog') if parent: self.dialog.set_transient_for (parent) self.details_swindow = xml.get_widget ('details_swindow') self.details_button = xml.get_widget ('details_button') self.details_button.connect ('clicked', self.details_clicked_cb) self.keep_radio = xml.get_widget ('keep_radio') self.remove_radio = xml.get_widget ('remove_radio') model = SummaryModel () tree_view = xml.get_widget ('details_tree_view') setup_summary_tree (tree_view) tree_view.set_model (model) model.set_packages (install_list, remove_list) self.details_swindow.hide () self.dialog.set_resizable (False)
def details_clicked_cb (self, button): if not self.details_swindow.flags () & gtk.VISIBLE: self.details_button.set_label (_("Hide _Details")) self.details_swindow.show () self.dialog.set_resizable (True) else: self.details_button.set_label (_("Show _Details")) self.details_swindow.hide () self.dialog.set_resizable (False)
def run(self): retval = LOOP_RESPONSE_CANCEL result = self.dialog.run () if result == gtk.RESPONSE_OK: if self.keep_radio.get_active (): retval = LOOP_RESPONSE_KEEP else: retval = LOOP_RESPONSE_REMOVE
self.dialog.destroy () return retval
|