Hello community, here is the log from the commit of package yast2-ycp-ui-bindings for openSUSE:Factory checked in at 2020-10-18 16:20:53 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/yast2-ycp-ui-bindings (Old) and /work/SRC/openSUSE:Factory/.yast2-ycp-ui-bindings.new.3486 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "yast2-ycp-ui-bindings" Sun Oct 18 16:20:53 2020 rev:81 rq:840449 version:4.3.3 Changes: -------- --- /work/SRC/openSUSE:Factory/yast2-ycp-ui-bindings/yast2-ycp-ui-bindings.changes 2020-08-14 13:10:17.953232372 +0200 +++ /work/SRC/openSUSE:Factory/.yast2-ycp-ui-bindings.new.3486/yast2-ycp-ui-bindings.changes 2020-10-18 16:21:11.716484788 +0200 @@ -1,0 +2,7 @@ +Fri Oct 9 12:04:21 UTC 2020 - José Iván López González <jlo...@suse.com> + +- Added Nested Tables (bsc#1176402) +- Require libyui.so.14 +- 4.3.3 + +------------------------------------------------------------------- Old: ---- yast2-ycp-ui-bindings-4.3.2.tar.bz2 New: ---- yast2-ycp-ui-bindings-4.3.3.tar.bz2 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ yast2-ycp-ui-bindings.spec ++++++ --- /var/tmp/diff_new_pack.Ovbujp/_old 2020-10-18 16:21:12.736485242 +0200 +++ /var/tmp/diff_new_pack.Ovbujp/_new 2020-10-18 16:21:12.740485244 +0200 @@ -1,7 +1,7 @@ # # spec file for package yast2-ycp-ui-bindings # -# Copyright (c) 2020 SUSE LINUX GmbH, Nuernberg, Germany. +# Copyright (c) 2020 SUSE LLC # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -12,16 +12,16 @@ # license that conforms to the Open Source Definition (Version 1.9) # published by the Open Source Initiative. -# Please submit bugfixes or comments via http://bugs.opensuse.org/ +# Please submit bugfixes or comments via https://bugs.opensuse.org/ # # YUIWidget_MenuBar %define min_yui_version 3.11.0 -%define yui_so 13 +%define yui_so 14 Name: yast2-ycp-ui-bindings -Version: 4.3.2 +Version: 4.3.3 Release: 0 BuildRoot: %{_tmppath}/%{name}-%{version}-build ++++++ yast2-ycp-ui-bindings-4.3.2.tar.bz2 -> yast2-ycp-ui-bindings-4.3.3.tar.bz2 ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-ycp-ui-bindings-4.3.2/examples/Events.rb new/yast2-ycp-ui-bindings-4.3.3/examples/Events.rb --- old/yast2-ycp-ui-bindings-4.3.2/examples/Events.rb 2020-08-12 16:43:34.000000000 +0200 +++ new/yast2-ycp-ui-bindings-4.3.3/examples/Events.rb 2020-10-09 16:50:33.000000000 +0200 @@ -1,6 +1,6 @@ # encoding: utf-8 -# (Advanced) YCP example for various UI events: +# (Advanced) example for various UI events: # # Create a dialog with all kinds of widgets that can generate events and # display any event nicely formatted in a RichText widget. @@ -32,7 +32,7 @@ @delivery = Tree( Id(:delivery_service), - Opt(:notify, :notifyContextMenu), + Opt(:notify, :immediate, :notifyContextMenu), "&Delivery Service", [ Item( diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-ycp-ui-bindings-4.3.2/examples/Table-flat-items.rb new/yast2-ycp-ui-bindings-4.3.3/examples/Table-flat-items.rb --- old/yast2-ycp-ui-bindings-4.3.2/examples/Table-flat-items.rb 1970-01-01 01:00:00.000000000 +0100 +++ new/yast2-ycp-ui-bindings-4.3.3/examples/Table-flat-items.rb 2020-10-09 16:50:33.000000000 +0200 @@ -0,0 +1,91 @@ +# encoding: utf-8 + +# Example for table with single-selection and with flat items (no nesting) + +module Yast + class TableFlatItems < Client + Yast.import "UI" + + def main + UI.OpenDialog(main_dialog) + update_selected(current_table_item) + handle_events + UI.CloseDialog + end + + def main_dialog + MinSize( + 74, 17, + MarginBox( + 1, 0.4, + VBox( + Left( + Heading("Storage Overview") + ), + VSpacing(0.2), + table, + VSpacing(0.2), + Left(Label("Selected:")), + Label(Id(:selected), Opt(:outputField, :hstretch), "..."), + VSpacing(0.3), + Right( + PushButton(Id(:close), "&Close") + ) + ) + ) + ) + end + + def table + Table( + Id(:table), + Opt(:notify, :immediate), + Header("Device", "Size", "Type", "Mount Point"), + items + ) + end + + def items + [ + Item(Id(:sda), "/dev/sda", "931.5G"), + Item(Id(:sda1), "/dev/sda1", "97.7G", "ntfs", "/win/boot" ), + Item(Id(:sda2), "/dev/sda2", "833.9G", "ntfs", "/win/app" ), + Item(Id(:sdb), "/dev/sdb", "931.5G"), + Item(Id(:sdb1), "/dev/sdb1", "2.0G", "swap" ), + Item(Id(:sdb2), "/dev/sdb2", "29.4G", "ext4", "/hd-root-leap-42" ), + Item(Id(:sdb3), "/dev/sdb3", "29.4G", "ext4", "/hd-root-leap-15-0" ), + Item(Id(:sdb4), "/dev/sdb4", "855.8G", "xfs", "/work" ), + Item(Id(:sdc), "/dev/sdc", "232.9G"), + Item(Id(:sdc1), "/dev/sdc1", "2.0G", "swap", "[swap]" ), + Item(Id(:sdc2), "/dev/sdc2", "29.4G", "ext4", "/ssd-root-leap-15-1" ), + Item(Id(:sdc3), "/dev/sdc3", "29.4G", "ext4", "/" ), + Item(Id(:sdc4), "/dev/sdc4", "167.2G", "ext4", "/ssd-work" ) + ] + end + + def handle_events + while true + id = UI.UserInput + case id + + when :close, :cancel # :cancel is WM_CLOSE + break # leave event loop + when :table + update_selected(current_table_item) + end + id + end + end + + def current_table_item + UI.QueryWidget(Id(:table), :CurrentItem) + end + + def update_selected(id) + id ||= "<nil>" + UI.ChangeWidget(Id(:selected), :Value, id.to_s) + end + end +end + +Yast::TableFlatItems.new.main diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-ycp-ui-bindings-4.3.2/examples/Table-flat-multiSel.rb new/yast2-ycp-ui-bindings-4.3.3/examples/Table-flat-multiSel.rb --- old/yast2-ycp-ui-bindings-4.3.2/examples/Table-flat-multiSel.rb 1970-01-01 01:00:00.000000000 +0100 +++ new/yast2-ycp-ui-bindings-4.3.3/examples/Table-flat-multiSel.rb 2020-10-09 16:50:33.000000000 +0200 @@ -0,0 +1,90 @@ +# encoding: utf-8 + +# Example for table with multi-selection and flat items (no nestig) + +module Yast + class TableFlatMultiSel < Client + Yast.import "UI" + + def main + UI.OpenDialog(main_dialog) + update_selected(selected_items) + handle_events + UI.CloseDialog + end + + def main_dialog + MinSize( + 74, 17, + MarginBox( + 1, 0.4, + VBox( + Left( + Heading("Storage Overview") + ), + VSpacing(0.2), + table, + VSpacing(0.2), + Left(Label("Selected:")), + Label(Id(:selected), Opt(:outputField, :hstretch), "..."), + VSpacing(0.3), + Right( + PushButton(Id(:close), "&Close") + ) + ) + ) + ) + end + + def table + Table( + Id(:table), + Opt(:notify, :immediate, :multiSelection), + Header("Device", "Size", "Type", "Mount Point"), + items + ) + end + + def items + [ + Item(Id(:sda), "/dev/sda", "931.6G"), + Item(Id(:sda1), "/dev/sda1", "97.7G", "ntfs", "/win/boot" ), + Item(Id(:sda2), "/dev/sda2", "833.9G", "ntfs", "/win/app" ), + Item(Id(:sdb), "/dev/sdb", "931.5G"), + Item(Id(:sdb1), "/dev/sdb1", "2.0G", "swap" ), + Item(Id(:sdb2), "/dev/sdb2", "29.4G", "ext4", "/hd-root-leap-42" ), + Item(Id(:sdb3), "/dev/sdb3", "29.4G", "ext4", "/hd-root-leap-15-0" ), + Item(Id(:sdb4), "/dev/sdb4", "855.8G", "xfs", "/work" ), + Item(Id(:sdc), "/dev/sdc", "232.9G"), + Item(Id(:sdc1), "/dev/sdc1", "2.0G", "swap", "[swap]" ), + Item(Id(:sdc2), "/dev/sdc2", "29.4G", "ext4", "/ssd-root-leap-15-1" ), + Item(Id(:sdc3), "/dev/sdc3", "29.4G", "ext4", "/" ), + Item(Id(:sdc4), "/dev/sdc4", "167.2G", "ext4", "/ssd-work" ) + ] + end + + def handle_events + while true + id = UI.UserInput + case id + + when :close, :cancel # :cancel is WM_CLOSE + break # leave event loop + when :table + update_selected(selected_items) + end + id + end + end + + def selected_items + UI.QueryWidget(Id(:table), :SelectedItems) + end + + def update_selected(ids) + UI.ChangeWidget(Id(:selected), :Value, ids.join(", ")) + end + end +end + +Yast::TableFlatMultiSel.new.main diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-ycp-ui-bindings-4.3.2/examples/Table-nested-items.rb new/yast2-ycp-ui-bindings-4.3.3/examples/Table-nested-items.rb --- old/yast2-ycp-ui-bindings-4.3.2/examples/Table-nested-items.rb 1970-01-01 01:00:00.000000000 +0100 +++ new/yast2-ycp-ui-bindings-4.3.3/examples/Table-nested-items.rb 2020-10-09 16:50:33.000000000 +0200 @@ -0,0 +1,106 @@ +# encoding: utf-8 + +# Example for table with single-selection and nested items + +module Yast + class TableNestedItems < Client + Yast.import "UI" + + def main + UI.OpenDialog(main_dialog) + update_selected(current_table_item) + handle_events + UI.CloseDialog + end + + def main_dialog + MinSize( + 74, 17, + MarginBox( + 1, 0.4, + VBox( + Left( + Heading("Storage Overview") + ), + VSpacing(0.2), + table, + VSpacing(0.2), + Left(Label("Selected:")), + Label(Id(:selected), Opt(:outputField, :hstretch), "..."), + VSpacing(0.3), + Right( + PushButton(Id(:close), "&Close") + ) + ) + ) + ) + end + + def table + Table( + Id(:table), + Opt(:notify, :immediate), + Header("Device", "Size", "Type", "Mount Point"), + disk_items + ) + end + + def disk_items + [ + Item(Id(:sda), "/dev/sda", "931.5G", "", "", sda_items, :open), + Item(Id(:sdb), "/dev/sdb", "931.5G", "", "", sdb_items, :closed), + Item(Id(:sdc), "/dev/sdc", "232.9G", "", "", sdc_items, :open) + ] + end + + def sda_items + [ + Item(Id(:sda1), "/dev/sda1", "97.7G", "ntfs", "/win/boot" ), + Item(Id(:sda2), "/dev/sda2", "833.9G", "ntfs", "/win/app" ) + ] + end + + def sdb_items + [ + Item(Id(:sdb1), "/dev/sdb1", "2.0G", "swap" ), + Item(Id(:sdb2), "/dev/sdb2", "29.4G", "ext4", "/hd-root-leap-42" ), + Item(Id(:sdb3), "/dev/sdb3", "29.4G", "ext4", "/hd-root-leap-15-0" ), + Item(Id(:sdb4), "/dev/sdb4", "855.8G", "xfs", "/work" ) + ] + end + + def sdc_items + [ + Item(Id(:sdc1), "/dev/sdc1", "2.0G", "swap", "[swap]" ), + Item(Id(:sdc2), "/dev/sdc2", "29.4G", "ext4", "/ssd-root-leap-15-1" ), + Item(Id(:sdc3), "/dev/sdc3", "29.4G", "ext4", "/" ), + Item(Id(:sdc4), "/dev/sdc4", "167.2G", "ext4", "/ssd-work" ) + ] + end + + def handle_events + while true + id = UI.UserInput + case id + + when :close, :cancel # :cancel is WM_CLOSE + break # leave event loop + when :table + update_selected(current_table_item) + end + id + end + end + + def current_table_item + UI.QueryWidget(Id(:table), :CurrentItem) + end + + def update_selected(id) + id ||= "<nil>" + UI.ChangeWidget(Id(:selected), :Value, id.to_s) + end + end +end + +Yast::TableNestedItems.new.main diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-ycp-ui-bindings-4.3.2/examples/Table-nested-multiSel.rb new/yast2-ycp-ui-bindings-4.3.3/examples/Table-nested-multiSel.rb --- old/yast2-ycp-ui-bindings-4.3.2/examples/Table-nested-multiSel.rb 1970-01-01 01:00:00.000000000 +0100 +++ new/yast2-ycp-ui-bindings-4.3.3/examples/Table-nested-multiSel.rb 2020-10-09 16:50:33.000000000 +0200 @@ -0,0 +1,105 @@ +# encoding: utf-8 + +# Example for table with multi-selection and nested items + +module Yast + class TableNestedMultiSel < Client + Yast.import "UI" + + def main + UI.OpenDialog(main_dialog) + update_selected(selected_items) + handle_events + UI.CloseDialog + end + + def main_dialog + MinSize( + 74, 17, + MarginBox( + 1, 0.4, + VBox( + Left( + Heading("Storage Overview") + ), + VSpacing(0.2), + table, + VSpacing(0.2), + Left(Label("Selected:")), + Label(Id(:selected), Opt(:outputField, :hstretch), "..."), + VSpacing(0.3), + Right( + PushButton(Id(:close), "&Close") + ) + ) + ) + ) + end + + def table + Table( + Id(:table), + Opt(:notify, :immediate, :multiSelection), + Header("Device", "Size", "Type", "Mount Point"), + disk_items + ) + end + + def disk_items + [ + Item(Id(:sda), "/dev/sda", "931.5G", "", "", sda_items, :open), + Item(Id(:sdb), "/dev/sdb", "931.5G", "", "", sdb_items, :closed), + Item(Id(:sdc), "/dev/sdc", "232.9G", "", "", sdc_items, :open) + ] + end + + def sda_items + [ + Item(Id(:sda1), "/dev/sda1", "97.7G", "ntfs", "/win/boot" ), + Item(Id(:sda2), "/dev/sda2", "833.9G", "ntfs", "/win/app" ) + ] + end + + def sdb_items + [ + Item(Id(:sdb1), "/dev/sdb1", "2.0G", "swap" ), + Item(Id(:sdb2), "/dev/sdb2", "29.4G", "ext4", "/hd-root-leap-42" ), + Item(Id(:sdb3), "/dev/sdb3", "29.4G", "ext4", "/hd-root-leap-15-0" ), + Item(Id(:sdb4), "/dev/sdb4", "855.8G", "xfs", "/work" ) + ] + end + + def sdc_items + [ + Item(Id(:sdc1), "/dev/sdc1", "2.0G", "swap", "[swap]" ), + Item(Id(:sdc2), "/dev/sdc2", "29.4G", "ext4", "/ssd-root-leap-15-1" ), + Item(Id(:sdc3), "/dev/sdc3", "29.4G", "ext4", "/" ), + Item(Id(:sdc4), "/dev/sdc4", "167.2G", "ext4", "/ssd-work" ) + ] + end + + def handle_events + while true + id = UI.UserInput + case id + + when :close, :cancel # :cancel is WM_CLOSE + break # leave event loop + when :table + update_selected(selected_items) + end + id + end + end + + def selected_items + UI.QueryWidget(Id(:table), :SelectedItems) + end + + def update_selected(ids) + UI.ChangeWidget(Id(:selected), :Value, ids.join(", ")) + end + end +end + +Yast::TableNestedMultiSel.new.main diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-ycp-ui-bindings-4.3.2/examples/Tree-Checkbox.rb new/yast2-ycp-ui-bindings-4.3.3/examples/Tree-Checkbox.rb --- old/yast2-ycp-ui-bindings-4.3.2/examples/Tree-Checkbox.rb 2020-08-12 16:43:34.000000000 +0200 +++ new/yast2-ycp-ui-bindings-4.3.3/examples/Tree-Checkbox.rb 1970-01-01 01:00:00.000000000 +0100 @@ -1,64 +0,0 @@ -# encoding: utf-8 - -# Tree with icons -module Yast - class TreeCheckboxClient < Client - def main - Yast.import "UI" - UI.OpenDialog( - VBox( - Heading("YaST2 Mini Control Center"), - Tree( - Id(:mod), - Opt(:multiSelection), - "Modules", - [ - Item( - Id("country"), - term(:icon, "yast-yast-language.png"), - "Localization", - true, - [ - Item( - Id("keyboard"), - term(:icon, "yast-keyboard.png"), - "Keyboard" - ), - Item( - Id("timezone"), - term(:icon, "yast-timezone.png"), - "Time zone" - ) - ] - ), - Item(Id("mouse"), term(:icon, "yast-mouse.png"), "Mouse"), - Item(Id("lan"), term(:icon, "yast-lan.png"), "Network"), - Item(Id(:xmas), term(:icon, "yast-software.png"), "Merry X-Mas"), - Item( - Id(:newyear), - term(:icon, "yast-software.png"), - "Happy New Year" - ) - ] - ), - PushButton(Id(:ok), Opt(:default), "&OK") - ) - ) - - UI.ChangeWidget(:mod, :SelectedItems, [:xmas, :newyear]) - - @id = nil - begin - @id = UI.TimeoutUserInput(300) - @selected_items = Convert.to_list( - UI.QueryWidget(Id(:mod), :SelectedItems) - ) - Builtins.y2warning("Selected items: %1", @selected_items) - end until @id == :ok - - nil - end - end -end - -Yast::TreeCheckboxClient.new.main diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-ycp-ui-bindings-4.3.2/examples/Tree-Checkbox1.rb new/yast2-ycp-ui-bindings-4.3.3/examples/Tree-Checkbox1.rb --- old/yast2-ycp-ui-bindings-4.3.2/examples/Tree-Checkbox1.rb 1970-01-01 01:00:00.000000000 +0100 +++ new/yast2-ycp-ui-bindings-4.3.3/examples/Tree-Checkbox1.rb 2020-10-09 16:50:33.000000000 +0200 @@ -0,0 +1,67 @@ +# encoding: utf-8 + +# Tree with icons +module Yast + class TreeCheckboxClient < Client + def main + Yast.import "UI" + + UI.OpenDialog( + MinSize( 40, 15, + VBox( + Heading("YaST2 Mini Control Center"), + Tree( + Id(:mod), + Opt(:multiSelection), + "Modules", + [ + Item( + Id("country"), + term(:icon, "yast-yast-language.png"), + "Localization", + true, + [ + Item( + Id("keyboard"), + term(:icon, "yast-keyboard.png"), + "Keyboard" + ), + Item( + Id("timezone"), + term(:icon, "yast-timezone.png"), + "Time zone" + ) + ] + ), + Item(Id("mouse"), term(:icon, "yast-mouse.png"), "Mouse"), + Item(Id("lan"), term(:icon, "yast-lan.png"), "Network"), + Item(Id(:xmas), term(:icon, "yast-software.png"), "Merry X-Mas"), + Item( + Id(:newyear), + term(:icon, "yast-software.png"), + "Happy New Year" + ) + ] + ), + PushButton(Id(:ok), Opt(:default), "&OK") + ) + ) + ) + + UI.ChangeWidget(:mod, :SelectedItems, [:xmas, :newyear]) + + @id = nil + begin + @id = UI.TimeoutUserInput(300) + @selected_items = Convert.to_list( + UI.QueryWidget(Id(:mod), :SelectedItems) + ) + Builtins.y2warning("Selected items: %1", @selected_items) + end until @id == :ok + + nil + end + end +end + +Yast::TreeCheckboxClient.new.main diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-ycp-ui-bindings-4.3.2/examples/Tree-Checkbox2.rb new/yast2-ycp-ui-bindings-4.3.3/examples/Tree-Checkbox2.rb --- old/yast2-ycp-ui-bindings-4.3.2/examples/Tree-Checkbox2.rb 2020-08-12 16:43:34.000000000 +0200 +++ new/yast2-ycp-ui-bindings-4.3.3/examples/Tree-Checkbox2.rb 2020-10-09 16:50:33.000000000 +0200 @@ -5,45 +5,48 @@ class TreeCheckbox2Client < Client def main Yast.import "UI" + UI.OpenDialog( - VBox( - Heading("YaST2 Mini Control Center"), - Tree( - Id(:mod), - Opt(:notify, :multiSelection, :immediate), - "Modules", - [ - Item( - Id("country"), - term(:icon, "yast-yast-language.png"), - "Localization", - false, - [ - Item( - Id("keyboard"), - term(:icon, "yast-keyboard.png"), - "Keyboard" - ), - Item( - Id("timezone"), - term(:icon, "yast-timezone.png"), - "Time zone" - ) - ] - ), - Item(Id("mouse"), term(:icon, "yast-mouse.png"), "Mouse"), - Item(Id("lan"), term(:icon, "yast-lan.png"), "Network"), - Item(Id("xmas"), term(:icon, "yast-software.png"), "Merry X-Mas"), - Item( - Id("newyear"), - term(:icon, "yast-software.png"), - "Happy New Year" - ) - ] - ), - HBox( - PushButton(Id(:ok), Opt(:default), "&OK"), - PushButton(Id(:deselect), "&Log selected") + MinSize( 40, 15, + VBox( + Heading("YaST2 Mini Control Center"), + Tree( + Id(:mod), + Opt(:notify, :multiSelection, :immediate), + "Modules", + [ + Item( + Id("country"), + term(:icon, "yast-yast-language.png"), + "Localization", + false, + [ + Item( + Id("keyboard"), + term(:icon, "yast-keyboard.png"), + "Keyboard" + ), + Item( + Id("timezone"), + term(:icon, "yast-timezone.png"), + "Time zone" + ) + ] + ), + Item(Id("mouse"), term(:icon, "yast-mouse.png"), "Mouse"), + Item(Id("lan"), term(:icon, "yast-lan.png"), "Network"), + Item(Id("xmas"), term(:icon, "yast-software.png"), "Merry X-Mas"), + Item( + Id("newyear"), + term(:icon, "yast-software.png"), + "Happy New Year" + ) + ] + ), + HBox( + PushButton(Id(:ok), Opt(:default), "&OK"), + PushButton(Id(:deselect), "&Log selected") + ) ) ) ) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-ycp-ui-bindings-4.3.2/examples/Tree-Checkbox4.rb new/yast2-ycp-ui-bindings-4.3.3/examples/Tree-Checkbox4.rb --- old/yast2-ycp-ui-bindings-4.3.2/examples/Tree-Checkbox4.rb 2020-08-12 16:43:34.000000000 +0200 +++ new/yast2-ycp-ui-bindings-4.3.3/examples/Tree-Checkbox4.rb 2020-10-09 16:50:33.000000000 +0200 @@ -6,38 +6,38 @@ def main Yast.import "UI" - - UI.OpenDialog( - VBox( - Heading("YaST2 Mini Control Center"), - Tree( - Id(:mod), - Opt(:multiSelection, :notify, :immediate, :recursiveSelection), - "Modules", - [ - Item(Id("unselected"), "Unseleted"), - Item( - Id("country"), - "Localization", - true, - [ - Item(Id("keyboard"), "Keyboard"), - Item( - Id("timezone"), - "Time zone", - true, - [Item(Id(:europe), "Europe"), Item(Id(:asia), "Asia")] - ) - ] - ), - Item(Id(:mouse), "Mouse"), - Item(Id(:lan), "Network"), - Item(Id(:xmas), "Merry X-Mas"), - Item(Id(:newyear), "Happy New Year") - ] - ), - PushButton(Id(:ok), Opt(:default), "&OK") + MinSize( 40, 15, + VBox( + Heading("YaST2 Mini Control Center"), + Tree( + Id(:mod), + Opt(:multiSelection, :notify, :immediate, :recursiveSelection), + "Modules", + [ + Item(Id("unselected"), "Unseleted"), + Item( + Id("country"), + "Localization", + true, + [ + Item(Id("keyboard"), "Keyboard"), + Item( + Id("timezone"), + "Time zone", + true, + [Item(Id(:europe), "Europe"), Item(Id(:asia), "Asia")] + ) + ] + ), + Item(Id(:mouse), "Mouse"), + Item(Id(:lan), "Network"), + Item(Id(:xmas), "Merry X-Mas"), + Item(Id(:newyear), "Happy New Year") + ] + ), + PushButton(Id(:ok), Opt(:default), "&OK") + ) ) ) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-ycp-ui-bindings-4.3.2/examples/start-pm new/yast2-ycp-ui-bindings-4.3.3/examples/start-pm --- old/yast2-ycp-ui-bindings-4.3.2/examples/start-pm 2020-08-12 16:43:34.000000000 +0200 +++ new/yast2-ycp-ui-bindings-4.3.3/examples/start-pm 1970-01-01 01:00:00.000000000 +0100 @@ -1 +0,0 @@ -y2base PackageSelector.ycp qt -geometry 1024x768+0+0 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-ycp-ui-bindings-4.3.2/examples/start-you new/yast2-ycp-ui-bindings-4.3.3/examples/start-you --- old/yast2-ycp-ui-bindings-4.3.2/examples/start-you 2020-08-12 16:43:34.000000000 +0200 +++ new/yast2-ycp-ui-bindings-4.3.3/examples/start-you 1970-01-01 01:00:00.000000000 +0100 @@ -1 +0,0 @@ -y2base PackageSelector-YOU.ycp qt -geometry 1024x768+0+0 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-ycp-ui-bindings-4.3.2/examples/start_glyphs new/yast2-ycp-ui-bindings-4.3.3/examples/start_glyphs --- old/yast2-ycp-ui-bindings-4.3.2/examples/start_glyphs 2020-08-12 16:43:34.000000000 +0200 +++ new/yast2-ycp-ui-bindings-4.3.3/examples/start_glyphs 1970-01-01 01:00:00.000000000 +0100 @@ -1,2 +0,0 @@ -#!/bin/sh -y2base Glyphs.ycp qt -font '-gnu-unifont-medium-r-normal--16-160-75-75-p-80-iso10646-1' diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-ycp-ui-bindings-4.3.2/package/yast2-ycp-ui-bindings.changes new/yast2-ycp-ui-bindings-4.3.3/package/yast2-ycp-ui-bindings.changes --- old/yast2-ycp-ui-bindings-4.3.2/package/yast2-ycp-ui-bindings.changes 2020-08-12 16:43:34.000000000 +0200 +++ new/yast2-ycp-ui-bindings-4.3.3/package/yast2-ycp-ui-bindings.changes 2020-10-09 16:50:33.000000000 +0200 @@ -1,4 +1,11 @@ ------------------------------------------------------------------- +Fri Oct 9 12:04:21 UTC 2020 - José Iván López González <jlo...@suse.com> + +- Added Nested Tables (bsc#1176402) +- Require libyui.so.14 +- 4.3.3 + +------------------------------------------------------------------- Wed Aug 12 12:12:01 UTC 2020 - Stefan Hundhammer <shundham...@suse.com> - Use new syntax (MenuBar(), Menu()) in MenuBar example (bsc#1175115) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-ycp-ui-bindings-4.3.2/package/yast2-ycp-ui-bindings.spec new/yast2-ycp-ui-bindings-4.3.3/package/yast2-ycp-ui-bindings.spec --- old/yast2-ycp-ui-bindings-4.3.2/package/yast2-ycp-ui-bindings.spec 2020-08-12 16:43:34.000000000 +0200 +++ new/yast2-ycp-ui-bindings-4.3.3/package/yast2-ycp-ui-bindings.spec 2020-10-09 16:50:33.000000000 +0200 @@ -17,10 +17,10 @@ # YUIWidget_MenuBar %define min_yui_version 3.11.0 -%define yui_so 13 +%define yui_so 14 Name: yast2-ycp-ui-bindings -Version: 4.3.2 +Version: 4.3.3 Release: 0 BuildRoot: %{_tmppath}/%{name}-%{version}-build diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-ycp-ui-bindings-4.3.2/src/YCPTableItemParser.cc new/yast2-ycp-ui-bindings-4.3.3/src/YCPTableItemParser.cc --- old/yast2-ycp-ui-bindings-4.3.2/src/YCPTableItemParser.cc 2020-08-12 16:43:34.000000000 +0200 +++ new/yast2-ycp-ui-bindings-4.3.3/src/YCPTableItemParser.cc 2020-10-09 16:50:33.000000000 +0200 @@ -95,6 +95,7 @@ { YCPTableItem * item = new YCPTableItem(); YUI_CHECK_NEW( item ); + YItemCollection children; const char * usage = "Expected: `item(`id(`myID), (\"MyLabelText\"|`cell(...)), ... )"; @@ -144,6 +145,30 @@ { item->addCell( YCPString("") ); } + else if ( arg->isList() ) // child items list + { + // A children list should be the next-to-last or the last + // argument of the term, but it doesn't really matter where, so + // let's just allow it anywhere. It is still best practice to + // specifiy it at the end of the term, and better yet, it + // should be followed by one of :open or :closed. + + children = parseTableItemList( arg->asList() ); + } + else if ( arg->isSymbol() && // :open or :closed + ( arg->asSymbol()->symbol() == YUISymbol_open || + arg->asSymbol()->symbol() == YUISymbol_closed ) ) + { + // This is a lot less strict than it could be, and this is + // intentional: + // + // An application may specify :open or :closed anywhere in the + // term, no matter if a children list was already specifed or + // if there is one at all. If there are no children, setting + // the item to open or closed does not do any harm. + + item->setOpen( arg->asSymbol()->symbol() == YUISymbol_open ); + } else { YUI_THROW( YCPDialogSyntaxErrorException( usage, itemTerm ) ); @@ -169,6 +194,12 @@ throw; } + + // If there were any child items, add them to this item + + for ( YItemIterator it = children.begin(); it != children.end(); ++it ) + item->addChild( *it ); + return item; } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-ycp-ui-bindings-4.3.2/src/YCPTableItemParser.h new/yast2-ycp-ui-bindings-4.3.3/src/YCPTableItemParser.h --- old/yast2-ycp-ui-bindings-4.3.2/src/YCPTableItemParser.h 2020-08-12 16:43:34.000000000 +0200 +++ new/yast2-ycp-ui-bindings-4.3.3/src/YCPTableItemParser.h 2020-10-09 16:50:33.000000000 +0200 @@ -46,9 +46,21 @@ * * [ * `item(`id(`myID1 ), "Label1", "Label2", "Label3" ), - * `item(`id(`myID1 ), "Label1", `cell("Label2"), "Label3" ), - * `item(`id(`myID2 ), "Label1", `cell(`icon( "icon2.png"), "Label2" ), "Label3" ), - * `item(`id(`myID2 ), "Label1", `cell( "Label2", `icon( "icon2.png")), "Label3" ) + * `item(`id(`myID2 ), "Label1", `cell("Label2"), "Label3" ), + * `item(`id(`myID3 ), "Label1", `cell(`icon( "icon2.png"), "Label2" ), "Label3" ), + * `item(`id(`myID4 ), "Label1", `cell( "Label2", `icon( "icon2.png")), "Label3" ), + * `item(`id(`myID5 ), "Label1", "Label2", "Label3", + * [ + * `item(`id(`myId51, "Label1", "Label2", "Label3")), + * `item(`id(`myId52, "Label1", "Label2", "Label3")) + * ], + * `open), + * `item(`id(`myID6 ), "Label1", "Label2", "Label3", + * [ + * `item(`id(`myId61, "Label1", "Label2", "Label3")), + * `item(`id(`myId62, "Label1", "Label2", "Label3")) + * ], + * `closed), * ] * * Return a list of newly created YTableItem-derived objects. @@ -61,12 +73,26 @@ protected: /** - * Parse an item term: + * Parse an item term; one of: * * `item(`id(`myID1 ), "Label1", "Label2", "Label3" ) - * `item(`id(`myID1 ), "Label1", `cell( "Label2" ), "Label3" ) - * `item(`id(`myID2 ), "Label1", `cell(`icon( "icon2.png" ), "Label2" ), "Label3" ) - * `item(`id(`myID2 ), "Label1", `cell( "Label2", `icon( "icon2.png")), "Label3" ) + * `item(`id(`myID2 ), "Label1", `cell( "Label2" ), "Label3" ) + * `item(`id(`myID3 ), "Label1", `cell(`icon( "icon2.png" ), "Label2" ), "Label3" ) + * `item(`id(`myID4 ), "Label1", `cell( "Label2", `icon( "icon2.png")), "Label3" ) + * + * `item(`id(`myID5 ), "Label1", "Label2", "Label3", + * [ + * `item(`id(`myId51, "Label1", "Label2", "Label3")), + * `item(`id(`myId52, "Label1", "Label2", "Label3")) + * ], + * `open) + * + * `item(`id(`myID6 ), "Label1", "Label2", "Label3", + * [ + * `item(`id(`myId61, "Label1", "Label2", "Label3")), + * `item(`id(`myId62, "Label1", "Label2", "Label3")) + * ], + * `closed) * * `cell() is optional if there is only a label and no icon for that cell. *