| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
| |
|
|
|
|
|
|
|
| |
For some reason, gtk cycles backwards through the radio buttons under our
old UI arrangement, which was a table with one column and three rows, and
then an HBox packed into one of the rows with two columns in it. Instead,
just use a 2x3 table.
|
|
|
|
|
|
| |
This patch allows the user to select "Minimal" from the task list and get
just a bare minimum of packages. Note that the first task to have all its
groups selected by default will be the only one selected in the task list.
|
| |
|
| |
|
|\ |
|
| | |
|
|/
|
|
|
|
| |
If we just iterate over the task list selecting and deselecting groups,
then we'll deselect groups we want if a later task also contains those
groups. So deselect all unchecked tasks, then select all checked tasks.
|
|
|
|
|
|
|
|
|
|
| |
With present UI, edit repos, not base repos (methodstr). Works with
assumption that base repo (repo/method) url points to a single repo, which is
true for Fedora (as opposed to RHEL5 where we various repos in directories).
dgregor told me that the target for RHEL6 is to have just one repo and handle
product differentiation by comps. If we had to work with multirepo base
urls, the UI for repo editing would need to be redesigned and rewritten because
now we are mixing base urls with repo urls there.
|
|
|
|
| |
We need to pass dummy repo object. Also pass methodstr as argument.
|
|
|
|
|
| |
We need it for repo editing or correction of repo= arguments in UI, especially
in case of nfs: or cdrom: which can't be stored in AnacondaYum.baseurl,
|
|
|
|
|
| |
I'd set insensitive also the other elements instead of hiding them which makes
the dialog desert. The dialog probably needs some more polishing.
|
| |
|
|
|
|
|
|
|
|
|
|
| |
This patch fixes 2 issues with the parsing of the optional portnr in
iscsi target IP's:
1) We don't want to include the : in the portno, so port = target[idx:]
should be port = target[idx+1:]
2) An IPV6 IP always includes the : character, so specifying the port
was mandatory with IPV6, this patch looks for "]:" inside the
string to determine if a port is present for IPV6 strings.
|
|
|
|
|
|
| |
If we are editing, not creating, we overwite several attributes
instead of creating a new device/action pair. Since these changes
have no corresponding action they need to be reversed manually.
|
| |
|
|
|
|
|
|
| |
Duplicates code in configBaseURL, I'd like to do all the media scanning in
configBaseURL and guard only methodstr syntax in methodstr editing dialog -
perhaps next step if it proves doable.
|
|
|
|
|
|
|
|
|
| |
When editing a pre-existing mdraid set and selecting /usr (or any of
the other mountpoints listed in formatByDefault()) as mountpoint, anaconda
always tells that this mountpoint should be formatted before installation.
This patch makes anaconda not give this warning when the user has already
selected "Format as:" (ext4, ...).
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
When double clicking on a free space from a 'normal' device, anaconda
should display a dialog to create a new partition. When double clicking
on a free space from a volume group, anaconda should display a dialog to
create a new logical volume.
* iw/partition_gui.py (getSelectedSlice): New function that returns the
slice that is selected in the stripe.
(_createStripe): Always pass the self.cCB and self.dcCB to the Slice
class.
(barviewActivateCB): New function to handle the double click on the bar
slices.
(treeSelectCB): Make sure to pass the new barviewActivateCB function
instead of the editCB function to the stripeGraph objects.
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The stripe graph classes do not need the tree object and should treat
the editCB as a double click call back (dcCB). This is all done to be
more consistent with the logic behind the graph classes.
* iw/partition_gui.py (DiskStripeGraph, LVMStripeGraph)
(MDRaidArrayStripeGraph): Remove the tree and editCB as arguments. Add
one click call back (cCB) and the double click call back (dcCB) to the
__init__ method.
(treeSelectCB): Pass the self.editCB as dcCB. Pass the
self.selectRowFromObj as cCB.
|
|
|
|
|
|
|
| |
* iw/partition_gui.py (treeActivateCB): When we are sure that the tree
view has a "free row" selected, use the parent of that row to display a
create screen. So, if one double clicks on a VG free space, a create LV
window will pop up.
|
|
|
|
|
|
|
|
|
|
|
|
| |
One of the ways of knowing where we are in the tree view is to ask for
the parent of the current row. If there is no parent, then we know that
we are in a root row. Additionally, when we click on free space, we
need the parent to know what to put in the bar view.
* iw/partition_gui.py (getCurrentDevice): Access the PyObject directly
from the model (model[iter]["PyObject"]). If there is not PyObject then
it will contain None.
(getCurrentDeviceParent): Use model.iter_parent(iter) to get the parent
from iter. Will return None if no parent is found.
|
| |
|
|
|
|
|
| |
* iw/partition_gui.py (treeSelectCB): Display the bar view corresponding
to the rows parent.
|
|
|
|
|
| |
* iw/partition_gui.py (populate): Use vg.freeSpace property to add the
LVM free space row.
|
|
|
|
|
| |
This patch separates actions done with the storage object and puts them
before the actions done with the treeview gtk object.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This is a cleanup for the po files. xgettext displays the following
messages for some Python files:
warning: 'msgid' format string with unnamed arguments cannot be properly localized:
The translator cannot reorder the arguments.
Please consider using a format string with named arguments,
and a mapping instead of a tuple for the arguments.
This patch modifies the reported format strings to use named parameters
per the warning message. We were already using these style format
strings in users.py and possibly other files. Basically when there is
more than one parameter in the format string, we should use a hash table
with named parameters.
|
|
|
|
|
|
| |
This originally came from bug 119479, which only complained of small
free space partitions created by partition magic. Small partitions still
will not be represented in the graph.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* iw/datacombo.py (set_active_text): Make sure we return False when we
don't find 't'.
* iw/partition_gui.py (createCB): Activate the 'create lv' radio button
only when there is free space in a Volume Group. Create a Combo box
with a list of the Volume Group(s) that have free space. Pre-select the
Volume group that the user has selected in the tree view.
(editCB): Call the editLVMLogicalVolume with its new parameters.
(editLVMLogicalVolume): Change the parameters for this function.
(device, isNew = False) -> (lv = None, vg = None). In this way if lv is
none and vg is a Volume Group we are creating a new LV in the vg Volume
Group. If lv is not None, we are editing lv.
* ui/create-storage.glade: Put the 'create lv' radio button in a
Horizontal box so we can fit the Volume Group Combo Box.
|
|
|
|
|
|
|
| |
For all the elements that are not showable in the bar view, we should
show the information graph. The "Please select a device" message
instead of a device. The 'edit' and 'delete' buttons should be
non-sensitive as well.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
When users click on stuff that is not editable or deletable we should
not let them click on the edit and/or the delete buttons. It is still
possible to click edit or delete for a partition that is part of a
Volume Group or a RAID device. In this case the user will be presented
with a message that describes the reason for not editing or deleting.
This behavior is on purpose so the user is not confused when the
"delete" or the "edit" button are not active on something that could be
thought as editable or deletable. Also, I want to avoid going down to
the storage class every time the user clicks on the GUI.
Now we are sure that we receive a device in these functions and
therefore don't need checks in deleteCB and editCB.
* iw/partition_gui.py (treeSelectCB): set_sensitive(True) when user
clicks on something that is editable or deletable.
(getScreen): make the edit button and the delete button part of the
class variables so we can access them in treeSelectCB.
* iw/partition_gui.py (deleteCB, editCB): Stop checking to see if what
is selected is a device.
|
|
|
|
|
|
|
|
|
|
| |
Previously these were no-op actions. Now that editCB can handle LV, VG
and RAID, we should activate this in the custom screen.
* iw/partition_gui.py (treeActivateCB): Add
storage.LVMLogicalVolumeDevice, storage.LVMVolumeGroupDevice and
storage.MDRaidArrayDevice to the types of devices that we react to when
double clicking the tree view.
|
|
|
|
|
|
|
|
|
|
|
|
| |
Now that the tree view has much more space than before, there is no need
to hide the RAID or LVM. In the worst case scenario the user can
manually hide the RAID, LVM or Device lists by using the horizontal
arrow beside the device type title.
* iw/partition_gui.py (populate, getScreen, appendToHiddenPartitionsList
(clearHiddenPartitionsList, resetSelection, viewButtonCB): Removed
clearHiddenPartitionList and appendToHiddenPartitionList. Also removed
self.show_uneditable.
|
|
|
|
|
|
|
|
|
| |
* iw/partition_gui.py (MessageGraph): New class that handles the
message.
(treeSelectCB): Every time a device is selected in the tree, destroy the
message object and replace it with the device stripe graph.
(getScreen): Initialize the new Message object and put it in
self.messageGraph.
|
|
|
|
|
|
|
|
|
|
|
| |
* iw/partition_gui.py (l_d_g, r_d_g, p_d_g): Use aliases for modules
with long names: l_d_g -> lvm_dialog_gui, r_d_g -> raid_dialog_gui,
p_d_g -> partition_dialog_gui. This allows for better line formating
when using these modules.
(createCB, editRaidArray, editPartition, editLVMVolumeGroup)
(editLVMLogicalVolume, lvm_dialog_gui, parteditor, partition_dialog_gui)
(raid_dialog_gui, raideditor): Use boolean when passing the isNew value.
while 1: -> while True:
|
|
|
|
|
| |
* iw/partition_gui.py (__init__, _createStripe): Handle the
initialization of self.tree and self.editCB in the child clases.
|
|
|
|
|
| |
* iw/partition_gui.py (_createStripe): Uset "%.0f" to output the size
values.
|
|
|
|
|
|
| |
* iw/partition_gui.py (_createStripe): We add a "free space" sliece to
the extended partition when the last offset of the last logical
parition is less then the end of the extended partition.
|
|
|
|
|
|
|
|
|
| |
The message was being munged and it was overly long, grabbing attention
from the drive lists.
* iw/raid_dialog_gui.py (__init__): Reduce message length. Introduce
some padding for the drive lists. The gtk reference suggests to use
set_default_size instead of set_size_request
http://www.pygtk.org/docs/pygtk/class-gtkwindow.html#method-gtkwindow--set-default-size
|
| |
|
|
|
|
|
|
|
| |
* iw/partition_gui.py (_createStripe): Add the new call back function.
(selectRowFromObj): New call back function. More general than the
previous one
(selectPartition): Remove old callback function.
|
|
|
|
|
|
|
| |
* iw/partition_gui.py (StripeGraph, method, getCanvas, setDisplayed)
(_createStripe, __init__): The canvas used to paint the graphs will be
the same for all the classes. Access the canvas through getCanvas,
which is a classmethod now.
|
|
|
|
|
|
|
|
| |
* iw/partition_gui.py (treeSelectCB): Make sure that the graph is being
painted by the right StripeGraph class. We decide which graph to use
based on the device we receive.
(resetCB, refresh, viewButtonCB, getScreen, populate): Change the custom
screen graph name from diskStripeGraph to stripeGraph.
|
|
|
|
|
|
| |
* iw/partition_gui.py (LVMStripeGraph) : New class to handle the LVM
graphs.
(MDRaidArrayStripeGraph) : New class to handle the md RAID graphs.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The reason behind this change is to make the code ready for LVM and
RAID.
* iw/partition_gui.py (Slice, Stripe, StripeGraph): New classes that
replace the old ones. These new clases do not depend on partition
objects. The only accept offsets and lengths.
(Slice.eventHandler): Introduce a oneClick and doubleClick call back
funcitons. The one click call back will be used for selecting the tree
device when the bar device is clicked.
(DiskStripeGraph): Make the new DiskStripeGraph use the generic bar view
clases.
(Stripe.putOnCanvas, Slice.putOnCanvas): New function. It separates
the creation of the class from the drawing of whatever the class
represents. When this function is called, the drawing occurs.
(Slice.select, Slice.deselect): Change color on the bar view when
(de)selecting slices.
(addSlice): New function that handle the addition of slices to stripes.
(DiskStripeGraph.setDisplayed, DiskStripeGraph.getDisplayed): New
functions to handle the shown "device".
(DiskStripeGraph.display): Expects a storage.DiskDevice. Creates Stripe
and draws immediately. Will remove whatever was previously on bar view.
(shutDown): Mark the currentDisplayed as None.
|
|
|
|
|
|
| |
* iw/partition_gui.py (display): Pass the device instead of just the
name.
(add): Use the device to display the path, instead of "/dev/" + name.
|
|
|
|
|
|
|
| |
* iw/partition_gui.py (__init__): For the "Device" cell renderer, use
'markup' instead of just text.
(populate): Use pango markup to chaqnge the size and color of the
device paths for 'normal' devices and raid devices.
|
|
|
|
|
|
|
|
|
|
|
|
| |
* iw/partition_gui.py (__init__): Add variable to track the displayed
storage element.
(getDisplayed, setDisplayed): New functions that manage the
varialbe holding the current displayed storage element.
(display): New function that handles the display of a disk.
(populate): Show only one disk in the bar view.
(treeSelectCB): When the user clicks on one of the disks or the
partitions, modify the bar view if needed.
(getScreen): A vertical Pane is not needed anymore.
|
|
|
|
|
| |
* iw/partition_gui.py (editCB): Fix indentation on the "Unable to edit"
message.
|