On Thu, Apr 09, 2009 at 12:14:27PM -0500, David Lehman wrote: > On Thu, 2009-04-09 at 16:58 +0200, Joel Granados wrote: > > This patch contains an error when trying to add a lv. I will adjust. > > But I would still like someone to comment on the idea. To me it just > > seem cleaner when implemented this way. > > Basically you have made it so there is only one "if lv.exists:...else" > block instead of several? If so, I definitely like the idea. The dialogs > are all such a mess in this way. Yep, your correct. will push then. > > Dave > > > > > regards. > > On Thu, Apr 09, 2009 at 04:49:03PM +0200, Joel Granados Moreno wrote: > > > Separate the logic from the actual constructing of the gtk stuff is very > > > helpful when trying to debug, develop these files. This commit doesn't > > > actually change any behavior in the file. > > > --- > > > iw/lvm_dialog_gui.py | 170 +++++++++++++++++++++++++++++++------------------ > > > 1 files changed, 107 insertions(+), 63 deletions(-) > > > > > > diff --git a/iw/lvm_dialog_gui.py b/iw/lvm_dialog_gui.py > > > index 431341f..a9223b4 100644 > > > --- a/iw/lvm_dialog_gui.py > > > +++ b/iw/lvm_dialog_gui.py > > > @@ -367,23 +367,33 @@ class VolumeGroupEditor: > > > return iter > > > > > > def editLogicalVolume(self, lv, isNew = 0): > > > + # Mixing logical code and gtk code is confusing to me. So I am going > > > + # to do the logic first and then create all the gtk crap! > > > + # > > > + # lv -- whatever self.logvolstore.get_value returns > > > + > > > + #newfstypelabel = None # File system type label & combo > > > + #newfstypeCombo = None > > > + newfslabellabel = None # File system Label label & combo > > > + newfslableCombo = None > > > + #lvnamelabel = None # Logical Volume name label & entry > > > + #lvnameentry = None > > > + #lvsizelabel = None # Logical Volume size label & entry > > > + #lvsizeentry = None > > > + maxsizelabel = None # Maximum size label > > > + #mountCombo = None # Mount Point Combo Box > > > + #tstr = None # String that appears on top of the window > > > + > > > + # Define the string > > > if isNew: > > > tstr = _("Make Logical Volume") > > > else: > > > tstr = _("Edit Logical Volume: %s") % lv['name'] > > > > > > - dialog = gtk.Dialog(tstr, self.parent) > > > - gui.addFrame(dialog) > > > - dialog.add_button('gtk-cancel', 2) > > > - dialog.add_button('gtk-ok', 1) > > > - dialog.set_position(gtk.WIN_POS_CENTER) > > > - > > > - maintable = gtk.Table() > > > - maintable.set_row_spacings(5) > > > - maintable.set_col_spacings(5) > > > - row = 0 > > > - > > > - tempvg = self.getTempVG() > > > + # Create the mountCombo. This is the box where the mountpoint will > > > + # appear. Note that if the format is swap or Raiddevice, the mount > > > + # point is none-sense. > > > + tempvg = self.getTempVG() # copy of self.vg > > > templv = None > > > templuks = None > > > usedev = None > > > @@ -403,75 +413,106 @@ class VolumeGroupEditor: > > > format = self.luks[lv['name']] > > > else: > > > format = lv['format'] > > > - > > > - lbl = createAlignedLabel(_("_Mount Point:")) > > > - maintable.attach(lbl, 0, 1, row,row+1) > > > mountCombo = createMountPointCombo(usedev, excludeMountPoints=["/boot"]) > > > - lbl.set_mnemonic_widget(mountCombo) > > > - maintable.attach(mountCombo, 1, 2, row, row + 1) > > > - row += 1 > > > > > > + > > > + # Stuff appears differently when the lv exists and when the lv is new. > > > + # here we make that difference. Except for newfslabelCombo, and > > > + # maxsizelabel all vars will have a value != None. > > > if not lv['exists']: > > > - lbl = createAlignedLabel(_("_File System Type:")) > > > - maintable.attach(lbl, 0, 1, row, row + 1) > > > + # File system type lables & combo > > > + newfstypelabel = createAlignedLabel(_("_File System Type:")) > > > newfstypeCombo = createFSTypeMenu(format, fstypechangeCB,mountCombo, > > > ignorefs = ["software RAID", "physical volume (LVM)", > > > "efi", "PPC PReP Boot", "Apple Bootstrap"]) > > > - lbl.set_mnemonic_widget(newfstypeCombo) > > > - maintable.attach(newfstypeCombo, 1, 2, row, row + 1) > > > - row += 1 > > > + newfstypeCombo.set_mnemonic_widget(newfstypeCombo) > > > + > > > + # Logical Volume name label & entry > > > + lvnamelabel = createAlignedLabel(_("_Logical Volume Name:")) > > > + lvnameentry = gtk.Entry(32) > > > + lvnamelabel.set_mnemonic_widget(lvnameentry) > > > + if lv['name']: > > > + lvnameentry.set_text(lv['name']) > > > + else: > > > + lvnameentry.set_text(self.storage.createSuggestedLVName(self.getTempVG())) > > > + > > > + # Logical Volume size label & entry > > > + lvsizelabel = createAlignedLabel(_("_Size (MB):")) > > > + lvsizeentry = gtk.Entry(16) > > > + lvsizelabel.set_mnemonic_widget(lvsizeentry) > > > + lvsizeentry.set_text("%Ld" % lv['size']) > > > + > > > + # Maximum size label > > > + maxsizelabel = createAlignedLabel(_("(Max size is %s MB)") % > > > + min(lvm.getMaxLVSize(), lv['size'] + tempvg.freeSpace)) > > > + > > > else: > > > - maintable.attach(createAlignedLabel(_("Original File System Type:")), > > > - 0, 1, row, row + 1) > > > + # File system type lable & combo > > > + newfstypelabel = createAlignedLabel(_("Original File System Type:")) > > > if format.type: > > > newfstypeCombo = gtk.Label(format.name) > > > else: > > > newfstypeCombo = gtk.Label(_("Unknown")) > > > > > > - maintable.attach(newfstypeCombo, 1, 2, row, row + 1) > > > - row += 1 > > > - > > > + # File system label label & combo > > > if getattr(format, "label", None): > > > - maintable.attach(createAlignedLabel(_("Original File System " > > > - "Label:")), > > > - 0, 1, row, row + 1) > > > - maintable.attach(gtk.Label(format.label), > > > - 1, 2, row, row + 1) > > > - row += 1 > > > + newfslabellabel = createAlignedLabel(_("Original File System " > > > + "Label:")) > > > + newfslableCombo = gtk.Label(format.label) > > > > > > - if not lv['exists']: > > > - lbl = createAlignedLabel(_("_Logical Volume Name:")) > > > - lvnameEntry = gtk.Entry(32) > > > - lbl.set_mnemonic_widget(lvnameEntry) > > > - if lv['name']: > > > - lvnameEntry.set_text(lv['name']) > > > - else: > > > - lvnameEntry.set_text(self.storage.createSuggestedLVName(self.getTempVG())) > > > - else: > > > - lbl = createAlignedLabel(_("Logical Volume Name:")) > > > - lvnameEntry = gtk.Label(lv['name']) > > > + # Logical Volume name label & entry > > > + lvnamelabel = createAlignedLabel(_("Logical Volume Name:")) > > > + lvnameentry = gtk.Label(lv['name']) > > > > > > - maintable.attach(lbl, 0, 1, row, row + 1) > > > - maintable.attach(lvnameEntry, 1, 2, row, row + 1) > > > + # Logical Volume size label & entry > > > + lvsizelabel = createAlignedLabel(_("Size (MB):")) > > > + lvsizeentry = gtk.Label(str(lv['size'])) > > > + > > > + > > > + # Here is where the gtk crap begins. > > > + dialog = gtk.Dialog(tstr, self.parent) > > > + gui.addFrame(dialog) > > > + dialog.add_button('gtk-cancel', 2) > > > + dialog.add_button('gtk-ok', 1) > > > + dialog.set_position(gtk.WIN_POS_CENTER) > > > + > > > + # Initialize main table > > > + maintable = gtk.Table() > > > + maintable.set_row_spacings(5) > > > + maintable.set_col_spacings(5) > > > + row = 0 > > > + > > > + # Add the mountCombo that we previously created > > > + lbl = createAlignedLabel(_("_Mount Point:")) > > > + maintable.attach(lbl, 0, 1, row,row+1) > > > + lbl.set_mnemonic_widget(mountCombo) > > > + maintable.attach(mountCombo, 1, 2, row, row + 1) > > > row += 1 > > > > > > - if not lv['exists']: > > > - lbl = createAlignedLabel(_("_Size (MB):")) > > > - sizeEntry = gtk.Entry(16) > > > - lbl.set_mnemonic_widget(sizeEntry) > > > - sizeEntry.set_text("%Ld" % lv['size']) > > > - else: > > > - lbl = createAlignedLabel(_("Size (MB):")) > > > - sizeEntry = gtk.Label(str(lv['size'])) > > > + # Add the filesystem combo labels. > > > + maintable.attach(newfstypelabel, 0, 1, row, row + 1) > > > + maintable.attach(newfstypeCombo, 1, 2, row, row + 1) > > > + row += 1 > > > + > > > + # If there is a File system lable, add it. > > > + if newfslabellabel is not None and newfslableCombo is not None: > > > + maintable.attach(newfslabellabel, 0, 1, row, row + 1) > > > + maintable.attach(newfslableCombo, 1, 2, row, row + 1) > > > + row += 1 > > > > > > - maintable.attach(lbl, 0, 1, row, row+1) > > > - maintable.attach(sizeEntry, 1, 2, row, row + 1) > > > + # Add the logical volume name > > > + maintable.attach(lvnamelabel, 0, 1, row, row + 1) > > > + maintable.attach(lvnameentry, 1, 2, row, row + 1) > > > row += 1 > > > > > > - if not lv['exists']: > > > - maxlv = min(lvm.getMaxLVSize(), lv['size'] + tempvg.freeSpace) > > > - maxlabel = createAlignedLabel(_("(Max size is %s MB)") % (maxlv,)) > > > - maintable.attach(maxlabel, 1, 2, row, row + 1) > > > + # Add the logical volume size > > > + maintable.attach(lvsizelabel, 0, 1, row, row + 1) > > > + maintable.attach(lvsizeentry, 1, 2, row, row + 1) > > > + row += 1 > > > + > > > + # If there is a maxsize, add it. > > > + if maxsizelabel is not None: > > > + maintable.attach(maxsizelabel, 1, 2, row, row + 1) > > > > > > self.fsoptionsDict = {} > > > if lv['exists']: > > > @@ -487,7 +528,10 @@ class VolumeGroupEditor: > > > templuks = None > > > break > > > > > > - (row, self.fsoptionsDict) = createPreExistFSOptionSection(reallv, maintable, row, mountCombo, self.storage, ignorefs = ["software RAID", "physical volume (LVM)", "vfat"], luksdev=templuks) > > > + (row, self.fsoptionsDict) = createPreExistFSOptionSection(reallv, > > > + maintable, row, mountCombo, self.storage, > > > + ignorefs = ["software RAID", "physical volume (LVM)", "vfat"], > > > + luksdev=templuks) > > > > > > # checkbutton for encryption using dm-crypt/LUKS > > > if not lv['exists']: > > > @@ -532,7 +576,7 @@ class VolumeGroupEditor: > > > mountpoint = mountCombo.get_children()[0].get_text().strip() > > > > > > # validate logical volume name > > > - lvname = lvnameEntry.get_text().strip() > > > + lvname = lvnameentry.get_text().strip() > > > if not templv.exists: > > > err = sanityCheckLogicalVolumeName(lvname) > > > if err: > > > -- > > > 1.6.0.6 > > > > > > _______________________________________________ > > > Anaconda-devel-list mailing list > > > Anaconda-devel-list@xxxxxxxxxx > > > https://www.redhat.com/mailman/listinfo/anaconda-devel-list > > > > _______________________________________________ > Anaconda-devel-list mailing list > Anaconda-devel-list@xxxxxxxxxx > https://www.redhat.com/mailman/listinfo/anaconda-devel-list -- Joel Andres Granados Brno, Czech Republic, Red Hat. _______________________________________________ Anaconda-devel-list mailing list Anaconda-devel-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/anaconda-devel-list