Author: aschnell Date: Thu Apr 24 11:04:13 2008 New Revision: 47019 URL: http://svn.opensuse.org/viewcvs/yast?rev=47019&view=rev Log: - moved more predicate functions to StorageFields Modified: branches/tmp/aschnell/part-redesign/storage/src/include/ep-hd.ycp branches/tmp/aschnell/part-redesign/storage/src/include/ep-lvm.ycp branches/tmp/aschnell/part-redesign/storage/src/include/ep-raid.ycp branches/tmp/aschnell/part-redesign/storage/src/include/ep-unused.ycp branches/tmp/aschnell/part-redesign/storage/src/modules/StorageFields.ycp Modified: branches/tmp/aschnell/part-redesign/storage/src/include/ep-hd.ycp URL: http://svn.opensuse.org/viewcvs/yast/branches/tmp/aschnell/part-redesign/sto... ============================================================================== --- branches/tmp/aschnell/part-redesign/storage/src/include/ep-hd.ycp (original) +++ branches/tmp/aschnell/part-redesign/storage/src/include/ep-hd.ycp Thu Apr 24 11:04:13 2008 @@ -192,19 +192,9 @@ { string device = (string) user_data; - symbol predicate(map disk, map partition) + symbol Predicate(map disk, map partition) { - if (partition == nil) - { - if (disk["device"]:"" == device) - return `showandfollow; - else - return `ignore; - } - else - { - return `show; - } + return StorageFields::PredicateDiskDevice(disk, partition, device); } list<symbol> fields = StorageFields::Filter([ `device, `udev_path, `udev_id, `size, `format, @@ -216,11 +206,10 @@ if (preferred_displayname != `id) fields = filter(symbol field, fields, { return field != `udev_id; }); - term header = StorageFields::TableHeader(fields); - - map<string, map> tg = Storage::GetTargetMap(); - list table_list = StorageFields::TableContents(fields, tg, predicate); + map<string, map> target_map = Storage::GetTargetMap(); + term table_header = StorageFields::TableHeader(fields); + list<term> table_contents = StorageFields::TableContents(fields, target_map, Predicate); list<term> expert_cmds = [ `item(`id(`delete_parttable), @@ -240,8 +229,7 @@ UI::ReplaceWidget(`tab_panel, `VBox( `Table(`id(`table), `opt(`keepSorting, `notify), - header, table_list - ), + table_header, table_contents), `HBox( `PushButton(`id(`add), "Add..."), `PushButton(`id(`edit), "Edit..."), Modified: branches/tmp/aschnell/part-redesign/storage/src/include/ep-lvm.ycp URL: http://svn.opensuse.org/viewcvs/yast/branches/tmp/aschnell/part-redesign/sto... ============================================================================== --- branches/tmp/aschnell/part-redesign/storage/src/include/ep-lvm.ycp (original) +++ branches/tmp/aschnell/part-redesign/storage/src/include/ep-lvm.ycp Thu Apr 24 11:04:13 2008 @@ -117,19 +117,9 @@ { string device = (string) user_data; - symbol predicate(map disk, map partition) + symbol Predicate(map disk, map partition) { - if (partition == nil) - { - if (disk["device"]:"" == device) - return `showandfollow; - else - return `ignore; - } - else - { - return `show; - } + return StorageFields::PredicateDiskDevice(disk, partition, device); } list<symbol> fields = StorageFields::Filter([ `device, `size, `format, `type, @@ -139,7 +129,7 @@ term header = StorageFields::TableHeader(fields); map<string, map> tg = Storage::GetTargetMap(); - list table_list = StorageFields::TableContents(fields, tg, predicate); + list table_list = StorageFields::TableContents(fields, tg, Predicate); UI::ReplaceWidget(`tab_panel, `VBox( @@ -184,21 +174,11 @@ void CreateLvmVgPvsTab(any user_data) { - string part_device = (string) user_data; + string disk_device = (string) user_data; symbol Predicate(map disk, map partition) { - if (partition == nil) - { - return `follow; - } - else - { - if ("/dev/" + partition["used_by"]:"" == part_device) - return `show; - else - return `ignore; - } + return StorageFields::PredicateUsedByDevice(disk, partition, disk_device); } list<symbol> fields = StorageFields::Filter([ `device, `udev_path, `udev_id, `size, Modified: branches/tmp/aschnell/part-redesign/storage/src/include/ep-raid.ycp URL: http://svn.opensuse.org/viewcvs/yast/branches/tmp/aschnell/part-redesign/sto... ============================================================================== --- branches/tmp/aschnell/part-redesign/storage/src/include/ep-raid.ycp (original) +++ branches/tmp/aschnell/part-redesign/storage/src/include/ep-raid.ycp Thu Apr 24 11:04:13 2008 @@ -82,17 +82,7 @@ symbol Predicate(map disk, map partition) { - if (partition == nil) - { - return `follow; - } - else - { - if ("/dev/" + partition["used_by"]:"" == part_device) - return `show; - else - return `ignore; - } + return StorageFields::PredicateUsedByDevice(disk, partition, part_device); } list<symbol> fields = StorageFields::Filter([ `device, `udev_path, `udev_id, `size, Modified: branches/tmp/aschnell/part-redesign/storage/src/include/ep-unused.ycp URL: http://svn.opensuse.org/viewcvs/yast/branches/tmp/aschnell/part-redesign/sto... ============================================================================== --- branches/tmp/aschnell/part-redesign/storage/src/include/ep-unused.ycp (original) +++ branches/tmp/aschnell/part-redesign/storage/src/include/ep-unused.ycp Thu Apr 24 11:04:13 2008 @@ -9,11 +9,11 @@ textdomain "storage"; - symbol predicate_unused(map disk, map part) + symbol PredicateUnused(map disk, map partition) { symbol disk_type = disk["type"]:`CT_UNKNOWN; - if (part == nil) + if (partition == nil) { if (size(disk["partitions"]:[]) == 0 && disk["used_by_type"]:`UB_NONE == `UB_NONE) @@ -25,9 +25,9 @@ } else { - if (part["type"]:`primary != `extended && - part["mount"]:"" == "" && - part["used_by_type"]:`UB_NONE == `UB_NONE) + if (partition["type"]:`primary != `extended && + partition["mount"]:"" == "" && + partition["used_by_type"]:`UB_NONE == `UB_NONE) { return `show; } @@ -41,16 +41,16 @@ { list<symbol> fields = StorageFields::Filter([ `device, `size, `format, `type ]); - term header = StorageFields::TableHeader(fields); - map<string, map> target_map = Storage::GetTargetMap(); - list table_list = StorageFields::TableContents(fields, target_map, predicate_unused); + + term table_header = StorageFields::TableHeader(fields); + list<term> table_contents = StorageFields::TableContents(fields, target_map, PredicateUnused); UI::ReplaceWidget(`tree_panel, `VBox( `Left(`Heading(_("Unused Devices"))), `Table(`id(`table), `opt(`keepSorting), - header, table_list) + table_header, table_contents) )); Wizard::RestoreHelp("Help about view with unused devices"); Modified: branches/tmp/aschnell/part-redesign/storage/src/modules/StorageFields.ycp URL: http://svn.opensuse.org/viewcvs/yast/branches/tmp/aschnell/part-redesign/sto... ============================================================================== --- branches/tmp/aschnell/part-redesign/storage/src/modules/StorageFields.ycp (original) +++ branches/tmp/aschnell/part-redesign/storage/src/modules/StorageFields.ycp Thu Apr 24 11:04:13 2008 @@ -579,7 +579,7 @@ /** - * Predicate for Table and TableContents. + * Predicate function for Table and TableContents. */ global symbol PredicateAll(map disk, map partition) { @@ -588,7 +588,7 @@ /** - * Predicate for Table and TableContents. + * Predicate function for Table and TableContents. */ global symbol PredicateType(map disk, map partition, list<symbol> types) { @@ -607,6 +607,47 @@ /** + * Predicate function for Table and TableContents. + */ + global symbol PredicateDiskDevice(map disk, map partition, string disk_device) + { + if (partition == nil) + { + if (disk["device"]:"" == disk_device) + return `showandfollow; + else + return `ignore; + } + else + { + return `show; + } + } + + + /** + * Predicate function for Table and TableContents. + */ + global symbol PredicateUsedByDevice(map disk, map partition, string device) + { + if (partition == nil) + { + if ("/dev/" + disk["used_by"]:"" == device) + return `showandfollow; + else + return `follow; + } + else + { + if ("/dev/" + partition["used_by"]:"" == device) + return `show; + else + return `ignore; + } + } + + + /** * The predicate function determines whether the disk/partition is * included. The predicate function takes two arguments, disk and * partition. For disks predicate is called with the partitions set to -- To unsubscribe, e-mail: yast-commit+unsubscribe@opensuse.org For additional commands, e-mail: yast-commit+help@opensuse.org