Hello community,

here is the log from the commit of package yast2-ycp-ui-bindings for 
openSUSE:Factory checked in at 2020-10-29 09:22:21
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/yast2-ycp-ui-bindings (Old)
 and      /work/SRC/openSUSE:Factory/.yast2-ycp-ui-bindings.new.3463 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "yast2-ycp-ui-bindings"

Thu Oct 29 09:22:21 2020 rev:82 rq:844668 version:4.3.5

Changes:
--------
--- 
/work/SRC/openSUSE:Factory/yast2-ycp-ui-bindings/yast2-ycp-ui-bindings.changes  
    2020-10-18 16:21:11.716484788 +0200
+++ 
/work/SRC/openSUSE:Factory/.yast2-ycp-ui-bindings.new.3463/yast2-ycp-ui-bindings.changes
    2020-10-29 09:22:23.770692927 +0100
@@ -1,0 +2,12 @@
+Wed Oct 28 16:52:12 UTC 2020 - Stefan Hundhammer <shundham...@suse.com>
+
+- Added example for more in-depth MultiSelectionBox testing
+- 4.3.5
+
+-------------------------------------------------------------------
+Thu Oct 15 13:45:24 UTC 2020 - Stefan Hundhammer <shundham...@suse.com>
+
+- Added support for OpenItems property for (nested) tables (bsc#1176402)
+- 4.3.4
+
+-------------------------------------------------------------------

Old:
----
  yast2-ycp-ui-bindings-4.3.3.tar.bz2

New:
----
  yast2-ycp-ui-bindings-4.3.5.tar.bz2

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ yast2-ycp-ui-bindings.spec ++++++
--- /var/tmp/diff_new_pack.oaWLCO/_old  2020-10-29 09:22:24.838693951 +0100
+++ /var/tmp/diff_new_pack.oaWLCO/_new  2020-10-29 09:22:24.842693955 +0100
@@ -21,7 +21,7 @@
 %define yui_so         14
 
 Name:           yast2-ycp-ui-bindings
-Version:        4.3.3
+Version:        4.3.5
 Release:        0
 
 BuildRoot:      %{_tmppath}/%{name}-%{version}-build

++++++ yast2-ycp-ui-bindings-4.3.3.tar.bz2 -> 
yast2-ycp-ui-bindings-4.3.5.tar.bz2 ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/yast2-ycp-ui-bindings-4.3.3/.travis.yml 
new/yast2-ycp-ui-bindings-4.3.5/.travis.yml
--- old/yast2-ycp-ui-bindings-4.3.3/.travis.yml 2020-10-09 16:50:33.000000000 
+0200
+++ new/yast2-ycp-ui-bindings-4.3.5/.travis.yml 2020-10-28 20:43:24.000000000 
+0100
@@ -8,7 +8,7 @@
 script:
   # the "yast-travis-cpp" script is included in the base yastdevel/cpp image
   # see https://github.com/yast/docker-yast-cpp/blob/master/yast-travis-cpp
-  - docker run -it -e TRAVIS=1 -e TRAVIS_JOB_ID="$TRAVIS_JOB_ID" 
yast-ycp-ui-bindings-image yast-travis-cpp
+  - docker run -it -e TRAVIS=1 --privileged -e TRAVIS_JOB_ID="$TRAVIS_JOB_ID" 
yast-ycp-ui-bindings-image yast-travis-cpp
 
 after_success:
   - ./.surge.sh
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/yast2-ycp-ui-bindings-4.3.3/examples/Image1.rb 
new/yast2-ycp-ui-bindings-4.3.5/examples/Image1.rb
--- old/yast2-ycp-ui-bindings-4.3.3/examples/Image1.rb  2020-10-09 
16:50:33.000000000 +0200
+++ new/yast2-ycp-ui-bindings-4.3.5/examples/Image1.rb  2020-10-28 
20:43:24.000000000 +0100
@@ -10,21 +10,13 @@
         VBox(
           Image(
             Id("image"),
-            "/usr/share/YaST2/theme/current/wallpapers/welcome.jpg",
+            "/usr/share/grub2/themes/openSUSE/logo.png",
             "fallback text"
           ),
           PushButton(Opt(:default), "&OK")
         )
       )
       UI.UserInput
-      if UI.WidgetExists(Id("image"))
-        UI.ChangeWidget(Id("image"), :Enabled, false)
-        UI.UserInput
-        UI.ChangeWidget(Id("image"), :Enabled, true)
-        UI.UserInput
-      else
-        Builtins.y2error("No such widget id")
-      end
       UI.CloseDialog
 
       nil
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/yast2-ycp-ui-bindings-4.3.3/examples/MultiSelectionBox-test.rb 
new/yast2-ycp-ui-bindings-4.3.5/examples/MultiSelectionBox-test.rb
--- old/yast2-ycp-ui-bindings-4.3.3/examples/MultiSelectionBox-test.rb  
1970-01-01 01:00:00.000000000 +0100
+++ new/yast2-ycp-ui-bindings-4.3.5/examples/MultiSelectionBox-test.rb  
2020-10-28 20:43:24.000000000 +0100
@@ -0,0 +1,146 @@
+# encoding: utf-8
+
+# Example for table with single-selection and nested items
+#
+# This is also used in the NCurses UI test suite.
+# When changing this example, make sure that test suite does not fail!
+
+module Yast
+  class MultiSelectionBoxTest < Client
+    Yast.import "UI"
+    include Yast::Logger
+
+    def main
+      UI.OpenDialog(main_dialog)
+      update_output_fields
+      handle_events
+      UI.CloseDialog
+    end
+
+    def main_dialog
+      MinSize(
+        75, 16,
+        MarginBox(
+          1, 0.4,
+          VBox(
+            Left(
+              Heading("Pizza Selector")
+            ),
+            VSpacing(0.2),
+            multi_selection_box,
+            VSpacing(0.2),
+            Left(
+              CheckBox(Id(:veggie), Opt(:notify), "&Vegetarian", false)
+            ),
+            VSpacing(1),
+            output_fields,
+            VSpacing(0.3),
+            Right(
+              PushButton(Id(:close), "&Close")
+            )
+          )
+        )
+      )
+    end
+
+    def multi_selection_box
+      MultiSelectionBox(
+        Id(:multi_sel),
+        Opt(:notify),
+        "Select toppings:",
+        all_toppings
+      )
+    end
+
+    def all_toppings
+      [
+        Item(Id(:cheese), "Cheese", true),
+        Item(Id(:tomatoes), "Tomatoes", true),
+        Item(Id(:mushrooms), "Mushrooms"),
+        Item(Id(:onions), "Onions"),
+        Item(Id(:salami), "Salami"),
+        Item(Id(:ham), "Ham")
+      ]
+    end
+
+    def veggie_toppings
+      [
+        Item(Id(:cheese), "Cheese", true),
+        Item(Id(:tomatoes), "Tomatoes", true),
+        Item(Id(:mushrooms), "Mushrooms"),
+        Item(Id(:onions), "Onions")
+      ]
+    end
+
+    def output_fields
+      VBox(
+        HBox(
+          # Putting both in one line to enable grepping for NCurses UI tests
+          HSquash(MinWidth(12, Label("Selected: "))),
+          Label(Id(:selected_items), Opt(:outputField, :hstretch), "...")
+        ),
+        HBox(
+          # Putting both in one line to enable grepping for NCurses UI tests
+          HSquash(MinWidth(12, Label("Current: "))),
+          Label(Id(:current_item), Opt(:outputField, :hstretch), "...")
+        )
+      )
+    end
+
+    def handle_events
+      while true
+        id = UI.UserInput
+        case id
+
+        when :close, :cancel # :cancel is WM_CLOSE
+          break # leave event loop
+        when :multi_sel
+          update_output_fields
+        when :veggie
+          change_toppings
+        end
+        id
+      end
+    end
+
+    def current_item
+      UI.QueryWidget(Id(:multi_sel), :CurrentItem)
+    end
+
+    def selected_items
+      UI.QueryWidget(Id(:multi_sel), :SelectedItems)
+    end
+
+    def update_current_item(id)
+      UI.ChangeWidget(Id(:current_item), :Value, id.inspect)
+    end
+
+    def update_selected_items(ids)
+      UI.ChangeWidget(Id(:selected_items), :Value, ids.inspect)
+    end
+
+    def update_output_fields
+      update_selected_items(selected_items)
+      update_current_item(current_item)
+    end
+
+    def veggie?
+      UI.QueryWidget(Id(:veggie), :Value)
+    end
+
+    def change_toppings
+      veg = veggie?
+      UI.ChangeWidget(Id(:multi_sel), :Items, veg ? veggie_toppings : 
all_toppings)
+
+      # Select one extra topping and make it the current item
+      extra = veg ? :mushrooms : :salami
+      UI.ChangeWidget(Id(:multi_sel), :SelectedItems, selected_items << extra )
+      UI.ChangeWidget(Id(:multi_sel), :CurrentItem, extra)
+
+      update_output_fields
+      UI.SetFocus(Id(:multi_sel))
+    end
+  end
+end
+
+Yast::MultiSelectionBoxTest.new.main
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/yast2-ycp-ui-bindings-4.3.3/examples/Table-nested-items.rb 
new/yast2-ycp-ui-bindings-4.3.5/examples/Table-nested-items.rb
--- old/yast2-ycp-ui-bindings-4.3.3/examples/Table-nested-items.rb      
2020-10-09 16:50:33.000000000 +0200
+++ new/yast2-ycp-ui-bindings-4.3.5/examples/Table-nested-items.rb      
2020-10-28 20:43:24.000000000 +0100
@@ -5,10 +5,12 @@
 module Yast
   class TableNestedItems < Client
     Yast.import "UI"
+    include Yast::Logger
 
     def main
       UI.OpenDialog(main_dialog)
       update_selected(current_table_item)
+      update_open_items(open_items)
       handle_events
       UI.CloseDialog
     end
@@ -25,8 +27,16 @@
             VSpacing(0.2),
             table,
             VSpacing(0.2),
-            Left(Label("Selected:")),
-            Label(Id(:selected), Opt(:outputField, :hstretch), "..."),
+            HBox(
+              # Putting both in one line to enable grepping for NCurses UI 
tests
+              HSquash(MinWidth(12, Label("Selected: "))),
+              Label(Id(:selected), Opt(:outputField, :hstretch), "...")
+            ),
+            HBox(
+              # Putting both in one line to enable grepping for NCurses UI 
tests
+              HSquash(MinWidth(12, Label("Open Items: "))),
+              Label(Id(:open_items), Opt(:outputField, :hstretch), "...")
+            ),
             VSpacing(0.3),
             Right(
               PushButton(Id(:close), "&Close")
@@ -87,6 +97,7 @@
           break # leave event loop
         when :table
           update_selected(current_table_item)
+          update_open_items(open_items)
         end
         id
       end
@@ -100,6 +111,14 @@
       id ||= "<nil>"
       UI.ChangeWidget(Id(:selected), :Value, id.to_s)
     end
+
+    def open_items
+      UI.QueryWidget(Id(:table), :OpenItems).keys
+    end
+
+    def update_open_items(ids)
+      UI.ChangeWidget(Id(:open_items), :Value, ids.inspect)
+    end
   end
 end
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/yast2-ycp-ui-bindings-4.3.3/package/yast2-ycp-ui-bindings.changes 
new/yast2-ycp-ui-bindings-4.3.5/package/yast2-ycp-ui-bindings.changes
--- old/yast2-ycp-ui-bindings-4.3.3/package/yast2-ycp-ui-bindings.changes       
2020-10-09 16:50:33.000000000 +0200
+++ new/yast2-ycp-ui-bindings-4.3.5/package/yast2-ycp-ui-bindings.changes       
2020-10-28 20:43:24.000000000 +0100
@@ -1,4 +1,16 @@
 -------------------------------------------------------------------
+Wed Oct 28 16:52:12 UTC 2020 - Stefan Hundhammer <shundham...@suse.com>
+
+- Added example for more in-depth MultiSelectionBox testing
+- 4.3.5
+
+-------------------------------------------------------------------
+Thu Oct 15 13:45:24 UTC 2020 - Stefan Hundhammer <shundham...@suse.com>
+
+- Added support for OpenItems property for (nested) tables (bsc#1176402)
+- 4.3.4
+
+-------------------------------------------------------------------
 Fri Oct  9 12:04:21 UTC 2020 - José Iván López González <jlo...@suse.com>
 
 - Added Nested Tables (bsc#1176402)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/yast2-ycp-ui-bindings-4.3.3/package/yast2-ycp-ui-bindings.spec 
new/yast2-ycp-ui-bindings-4.3.5/package/yast2-ycp-ui-bindings.spec
--- old/yast2-ycp-ui-bindings-4.3.3/package/yast2-ycp-ui-bindings.spec  
2020-10-09 16:50:33.000000000 +0200
+++ new/yast2-ycp-ui-bindings-4.3.5/package/yast2-ycp-ui-bindings.spec  
2020-10-28 20:43:24.000000000 +0100
@@ -20,7 +20,7 @@
 %define yui_so         14
 
 Name:           yast2-ycp-ui-bindings
-Version:        4.3.3
+Version:        4.3.5
 Release:        0
 
 BuildRoot:      %{_tmppath}/%{name}-%{version}-build
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/yast2-ycp-ui-bindings-4.3.3/src/YCPPropertyHandler.cc 
new/yast2-ycp-ui-bindings-4.3.5/src/YCPPropertyHandler.cc
--- old/yast2-ycp-ui-bindings-4.3.3/src/YCPPropertyHandler.cc   2020-10-09 
16:50:33.000000000 +0200
+++ new/yast2-ycp-ui-bindings-4.3.5/src/YCPPropertyHandler.cc   2020-10-28 
20:43:24.000000000 +0100
@@ -1,7 +1,7 @@
 /****************************************************************************
 
 Copyright (c) 2000 - 2010 Novell, Inc.
-Copyright (c) 2019 SUSE LLC
+Copyright (c) 2019 - 2020 SUSE LLC
 All Rights Reserved.
 
 This program is free software; you can redistribute it and/or
@@ -220,7 +220,7 @@
     }
     else if ( propertyName == YUIProperty_OpenItems )
     {
-       val = tryGetTreeOpenItems       ( widget );     if ( ! val.isNull() ) 
return val;
+       val = tryGetOpenItems           ( widget );     if ( ! val.isNull() ) 
return val;
     }
     else if ( propertyName == YUIProperty_CurrentBranch )
     {
@@ -1261,24 +1261,24 @@
 
 
 YCPValue
-YCPPropertyHandler::tryGetTreeOpenItems( YWidget * widget )
+YCPPropertyHandler::tryGetOpenItems( YWidget * widget )
 {
-    YTree * tree = dynamic_cast<YTree *> (widget);
+    YSelectionWidget * selWidget = dynamic_cast<YSelectionWidget *> (widget);
 
-    if ( ! tree )
+    if ( ! selWidget )
        return YCPNull();
 
     YCPMap openItems;
-    getTreeOpenItems( openItems, tree->itemsBegin(), tree->itemsEnd() );
+    getOpenItems( openItems, selWidget->itemsBegin(), selWidget->itemsEnd() );
 
     return openItems;
 }
 
 
 void
-YCPPropertyHandler::getTreeOpenItems( YCPMap &                 openItems,
-                                     YItemConstIterator        begin,
-                                     YItemConstIterator        end )
+YCPPropertyHandler::getOpenItems( YCPMap &              openItems,
+                                  YItemConstIterator   begin,
+                                  YItemConstIterator   end )
 {
     for ( YItemConstIterator it = begin; it != end; ++it )
     {
@@ -1286,18 +1286,35 @@
 
        if ( item )
        {
-           YCPTreeItem * ycpTreeItem = dynamic_cast<YCPTreeItem *> (item);
+            YTreeItem * yTreeItem = dynamic_cast<YTreeItem *> (item);
 
-           if ( item->isOpen() )
+           if ( yTreeItem->isOpen() )
            {
-               if ( ycpTreeItem && ycpTreeItem->hasId() )
-                   openItems.add( ycpTreeItem->id(), YCPString( "ID" ) );
-               else
-                   openItems.add( YCPString( item->label() ), YCPString( 
"Text" ) );
+                YCPTableItem * ycpTableItem = dynamic_cast<YCPTableItem *> 
(item);
+
+                if ( ycpTableItem )
+                {
+                    if ( ycpTableItem->hasId() )
+                        openItems.add( ycpTableItem->id(), YCPString( "ID" ) );
+                    else
+                        openItems.add( ycpTableItem->label( 0 ), YCPString( 
"Text" ) );
+                }
+                else
+                {
+                    YCPTreeItem * ycpTreeItem  = dynamic_cast<YCPTreeItem *> 
(item);
+
+                    if ( ycpTreeItem )
+                    {
+                        if ( ycpTreeItem->hasId() )
+                            openItems.add( ycpTreeItem->id(), YCPString( "ID" 
) );
+                        else
+                            openItems.add( ycpTreeItem->label(), YCPString( 
"Text" ) );
+                    }
+                }
            }
 
            if ( item->hasChildren() )
-               getTreeOpenItems( openItems, item->childrenBegin(), 
item->childrenEnd() );
+               getOpenItems( openItems, item->childrenBegin(), 
item->childrenEnd() );
        }
     }
 }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/yast2-ycp-ui-bindings-4.3.3/src/YCPPropertyHandler.h 
new/yast2-ycp-ui-bindings-4.3.5/src/YCPPropertyHandler.h
--- old/yast2-ycp-ui-bindings-4.3.3/src/YCPPropertyHandler.h    2020-10-09 
16:50:33.000000000 +0200
+++ new/yast2-ycp-ui-bindings-4.3.5/src/YCPPropertyHandler.h    2020-10-28 
20:43:24.000000000 +0100
@@ -1,7 +1,7 @@
 /****************************************************************************
 
 Copyright (c) 2000 - 2010 Novell, Inc.
-Copyright (c) 2019 SUSE LLC
+Copyright (c) 2019 - 2020  SUSE LLC
 All Rights Reserved.
 
 This program is free software; you can redistribute it and/or
@@ -148,7 +148,7 @@
     static YCPValue tryGetTableSelectedItems           ( YWidget * widget );
     static YCPValue tryGetTreeSelectedItems            ( YWidget * widget );
     static YCPValue tryGetMultiSelectionBoxCurrentItem ( YWidget * widget );
-    static YCPValue tryGetTreeOpenItems                        ( YWidget * 
widget );
+    static YCPValue tryGetOpenItems                    ( YWidget * widget );
     static YCPValue tryGetTreeCurrentBranch            ( YWidget * widget );
     static YCPValue tryGetWizardCurrentItem            ( YWidget * widget );
     static YCPValue tryGetTableCell                    ( YWidget * widget, 
const YCPTerm & propertyTerm );
@@ -180,12 +180,12 @@
                                  const YCPValue &      newEnabled );
 
     /**
-     * Helper function for tryGetTreeOpenItems(): Get any open tree items
+     * Helper function for tryGetOpenItems(): Get any open tree items
      * between iterators 'begin' and 'end' and add them to the 'openItems' map.
      **/
-    static void getTreeOpenItems( YCPMap &             openItems,
-                                 YItemConstIterator    begin,
-                                 YItemConstIterator    end );
+    static void getOpenItems( YCPMap &                  openItems,
+                              YItemConstIterator       begin,
+                              YItemConstIterator       end );
 
     /**
      * Helper function for tryGetMenuWidgetEnabledItems(): Get the enabled /
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/yast2-ycp-ui-bindings-4.3.3/src/YCP_UI.cc 
new/yast2-ycp-ui-bindings-4.3.5/src/YCP_UI.cc
--- old/yast2-ycp-ui-bindings-4.3.3/src/YCP_UI.cc       2020-10-09 
16:50:33.000000000 +0200
+++ new/yast2-ycp-ui-bindings-4.3.5/src/YCP_UI.cc       2020-10-28 
20:43:24.000000000 +0100
@@ -681,16 +681,16 @@
                                                idValue->toString().c_str() ) );
        }
 
-       YCPValue        id      = YCPDialogParser::parseIdTerm( idValue );
-       YWidget *       widget  = YCPDialogParser::findWidgetWithId( id,
-                                                                    true ); // 
throw if not found
+       YCPValue   id     = YCPDialogParser::parseIdTerm( idValue );
+       YWidget *  widget = YCPDialogParser::findWidgetWithId( id,
+                                                               true ); // 
throw if not found
 
        YPropertySet propSet = widget->propertySet();
 
        if ( property->isSymbol() )
        {
            string oldShortcutString = widget->shortcutString();
-           string propertyName  = property->asSymbol()->symbol();
+           string propertyName      = property->asSymbol()->symbol();
 
            YPropertyValue val;
 
@@ -715,8 +715,8 @@
        }
        else if ( property->isTerm() )
        {
-           bool success        = YCPPropertyHandler::setComplexProperty( 
widget, property->asTerm(), newValue );
-           ret         = YCPBoolean( success );
+           bool success = YCPPropertyHandler::setComplexProperty( widget, 
property->asTerm(), newValue );
+           ret  = YCPBoolean( success );
        }
        else
        {


Reply via email to