[PATCH] Clean up the code in editLogicalVolume function.

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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

[Index of Archives]     [Kickstart]     [Fedora Users]     [Fedora Legacy List]     [Fedora Maintainers]     [Fedora Desktop]     [Fedora SELinux]     [Big List of Linux Books]     [Yosemite News]     [Yosemite Photos]     [KDE Users]     [Fedora Tools]
  Powered by Linux