Author: aschnell
Date: Fri Mar 7 14:23:04 2008
New Revision: 45289
URL: http://svn.opensuse.org/viewcvs/yast?rev=45289&view=rev
Log:
- save open items during update of navigation tree
Modified:
branches/tmp/aschnell/part-redesign/storage/src/include/ep-main.ycp
branches/tmp/aschnell/part-redesign/storage/src/modules/TreePanel.ycp
Modified: branches/tmp/aschnell/part-redesign/storage/src/include/ep-main.ycp
URL: http://svn.opensuse.org/viewcvs/yast/branches/tmp/aschnell/part-redesign/storage/src/include/ep-main.ycp?rev=45289&r1=45288&r2=45289&view=diff
==============================================================================
--- branches/tmp/aschnell/part-redesign/storage/src/include/ep-main.ycp (original)
+++ branches/tmp/aschnell/part-redesign/storage/src/include/ep-main.ycp Fri Mar 7 14:23:04 2008
@@ -53,7 +53,7 @@
map data = $[];
- list<term> MakeNavigationTree()
+ list<term> MakeNavigationTree(map open_items)
{
// TODO: somehow use AlwaysHideDisk and AlwaysHidePartition
@@ -69,6 +69,12 @@
map subtree = $[];
+ boolean open(any id)
+ {
+ return open_items[id]:"" == "ID";
+ }
+
+
void huhu(map disk, symbol type, map a, map b)
{
string disk_device = disk["device"]:"";
@@ -77,13 +83,13 @@
list<term> tmp = [];
foreach(map partition, partitions, {
string part_device = partition["device"]:"";
- tmp = add(tmp, `item(`id(part_device), part_device));
+ tmp = add(tmp, `item(`id(part_device), part_device, open(part_device)));
data = add(data, part_device, union(a, $[ `user_data : part_device ]));
});
if (b != nil)
{
- subtree[type] = add(subtree[type]:[], `item(`id(disk_device), disk_device, tmp));
+ subtree[type] = add(subtree[type]:[], `item(`id(disk_device), disk_device, open(disk_device), tmp));
data = add(data, disk_device, union(b, $[ `user_data : disk_device ]));
}
else
@@ -124,16 +130,16 @@
map tg = Storage::GetTargetMap();
StorageFields::IterateTargetMap(tg, callback);
- list<term> tree = [ `item(`id(`all), "pandora", [
- `item(`id(`hd), "Hard Disks", subtree[`hd]:[]),
- `item(`id(`lvm), "Volume Management", subtree[`lvm]:[]),
- `item(`id(`md), "RAID", subtree[`md]:[]),
- `item(`id(`loop), "Crypt Files", subtree[`loop]:[]),
- `item(`id(`dm), "Device Mapper", subtree[`dm]:[]),
- `item(`id(`nfs), "NFS", subtree[`nfs]:[]),
- `item(`id(`unused), "Unused Devices")
+ list<term> tree = [ `item(`id(`all), "pandora", open(`all), [
+ `item(`id(`hd), "Hard Disks", open(`hd), subtree[`hd]:[]),
+ `item(`id(`lvm), "Volume Management", open(`lvm), subtree[`lvm]:[]),
+ `item(`id(`md), "RAID", open(`md), subtree[`md]:[]),
+ `item(`id(`loop), "Crypt Files", open(`loop), subtree[`loop]:[]),
+ `item(`id(`dm), "Device Mapper", open(`dm), subtree[`dm]:[]),
+ `item(`id(`nfs), "NFS", open(`nfs), subtree[`nfs]:[]),
+ `item(`id(`unused), "Unused Devices", open(`unused))
]),
- `item(`id(`settings), "Settings") ];
+ `item(`id(`settings), "Settings", open(`settings)) ];
return tree;
}
@@ -141,7 +147,8 @@
void UpdateNavigationTree(any new_focus)
{
- list<term> tree = MakeNavigationTree();
+ map open_items = (map) UI::QueryWidget(`id(`tree), `OpenItems);
+ list<term> tree = MakeNavigationTree(open_items);
TreePanel::Update(data, tree, new_focus);
}
@@ -175,7 +182,7 @@
term systemViewTreePanel =
`VBox(
- `Tree(`id(`tree), `opt(`notify), "System View", MakeNavigationTree())
+ `Tree(`id(`tree), `opt(`notify), "System View", MakeNavigationTree($[`all : "ID"]))
);
Modified: branches/tmp/aschnell/part-redesign/storage/src/modules/TreePanel.ycp
URL: http://svn.opensuse.org/viewcvs/yast/branches/tmp/aschnell/part-redesign/storage/src/modules/TreePanel.ycp?rev=45289&r1=45288&r2=45289&view=diff
==============================================================================
--- branches/tmp/aschnell/part-redesign/storage/src/modules/TreePanel.ycp (original)
+++ branches/tmp/aschnell/part-redesign/storage/src/modules/TreePanel.ycp Fri Mar 7 14:23:04 2008
@@ -73,9 +73,7 @@
{
any old_item = current_item;
- any open_items = UI::QueryWidget(`tree, `OpenItems);
UI::ChangeWidget(`tree, `Items, tree);
- UI::ChangeWidget(`tree, `OpenItems, open_items);
if (new_item == nil)
UI::ChangeWidget(`tree, `CurrentItem, current_item);
--
To unsubscribe, e-mail: yast-commit+unsubscribe@opensuse.org
For additional commands, e-mail: yast-commit+help@opensuse.org