Hello community,

here is the log from the commit of package libyui-qt for openSUSE:Factory 
checked in at 2019-12-14 12:03:28
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/libyui-qt (Old)
 and      /work/SRC/openSUSE:Factory/.libyui-qt.new.4691 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "libyui-qt"

Sat Dec 14 12:03:28 2019 rev:66 rq:755635 version:2.52.0

Changes:
--------
--- /work/SRC/openSUSE:Factory/libyui-qt/libyui-qt.changes      2019-11-20 
10:26:33.954554256 +0100
+++ /work/SRC/openSUSE:Factory/.libyui-qt.new.4691/libyui-qt.changes    
2019-12-14 12:04:18.367394366 +0100
@@ -1,0 +2,27 @@
+Mon Dec  9 10:57:10 UTC 2019 - Rodion Iafarov <[email protected]>
+
+- Add support to operate on many widgets with rest-api (bsc#1132247)
+- Increase SO version to 11
+- 2.52.0
+
+-------------------------------------------------------------------
+Wed Dec  4 11:55:04 CET 2019 - [email protected]
+
+- Added a banner on the upper/right side of the YaST layout.
+  The label can be set by the environment variable YAST_BANNER
+  (jsc#SLE-9424).
+- 2.51.7
+
+-------------------------------------------------------------------
+Thu Nov 28 11:11:41 UTC 2019 - Stefan Hundhammer <[email protected]>
+
+- Fixed Qt 5.14 deprecated warnings (bsc#1155550)
+- 2.51.6
+
+-------------------------------------------------------------------
+Wed Nov 20 16:26:49 UTC 2019 - Stefan Hundhammer <[email protected]>
+
+- Prevent crash on [PrintScreen] of a main window (bsc#1157170)
+- 2.51.5
+
+-------------------------------------------------------------------
@@ -2250 +2276,0 @@
-
@@ -2405 +2430,0 @@
-
@@ -2512 +2536,0 @@
-

Old:
----
  libyui-qt-2.51.4.tar.bz2

New:
----
  libyui-qt-2.52.0.tar.bz2

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

Other differences:
------------------
++++++ libyui-qt-doc.spec ++++++
--- /var/tmp/diff_new_pack.KIedJ5/_old  2019-12-14 12:04:20.099394065 +0100
+++ /var/tmp/diff_new_pack.KIedJ5/_new  2019-12-14 12:04:20.139394059 +0100
@@ -17,11 +17,11 @@
 
 
 %define parent libyui-qt
-%define so_version 10
+%define so_version 11
 
 Name:           %{parent}-doc
 # DO NOT manually bump the version here; instead, use   rake version:bump
-Version:        2.51.4
+Version:        2.52.0
 Release:        0
 Source:         %{parent}-%{version}.tar.bz2
 

++++++ libyui-qt.spec ++++++
--- /var/tmp/diff_new_pack.KIedJ5/_old  2019-12-14 12:04:20.463394002 +0100
+++ /var/tmp/diff_new_pack.KIedJ5/_new  2019-12-14 12:04:20.479393999 +0100
@@ -18,11 +18,11 @@
 
 Name:           libyui-qt
 # DO NOT manually bump the version here; instead, use   rake version:bump
-Version:        2.51.4
+Version:        2.52.0
 Release:        0
 Source:         %{name}-%{version}.tar.bz2
 
-%define so_version 10
+%define so_version 11
 %define bin_name %{name}%{so_version}
 
 BuildRequires:  boost-devel
@@ -30,7 +30,7 @@
 BuildRequires:  gcc-c++
 BuildRequires:  pkg-config
 
-%define libyui_devel_version libyui-devel >= 3.8.3
+%define libyui_devel_version libyui-devel >= 3.9.0
 BuildRequires:  %{libyui_devel_version}
 BuildRequires:  fontconfig-devel
 BuildRequires:  pkgconfig(Qt5Core)

++++++ libyui-qt-2.51.4.tar.bz2 -> libyui-qt-2.52.0.tar.bz2 ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libyui-qt-2.51.4/Dockerfile 
new/libyui-qt-2.52.0/Dockerfile
--- old/libyui-qt-2.51.4/Dockerfile     2019-11-14 12:41:29.000000000 +0100
+++ new/libyui-qt-2.52.0/Dockerfile     2019-12-10 17:07:37.000000000 +0100
@@ -1,4 +1,4 @@
-# Use the libyui/devel image as the base
-FROM libyui/devel
+# Use the libyui-devel image as the base
+FROM 
registry.opensuse.org/devel/libraries/libyui/containers/libyui-devel:latest
 
 COPY . /usr/src/app
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libyui-qt-2.51.4/VERSION.cmake 
new/libyui-qt-2.52.0/VERSION.cmake
--- old/libyui-qt-2.51.4/VERSION.cmake  2019-11-14 12:41:29.000000000 +0100
+++ new/libyui-qt-2.52.0/VERSION.cmake  2019-12-10 17:07:37.000000000 +0100
@@ -1,11 +1,11 @@
 SET(VERSION_MAJOR "2")
-SET(VERSION_MINOR "51")
-SET(VERSION_PATCH "4")
+SET(VERSION_MINOR "52")
+SET(VERSION_PATCH "0")
 SET( VERSION 
"${VERSION_MAJOR}.${VERSION_MINOR}.${VERSION_PATCH}${GIT_SHA1_VERSION}" )
 
 ##### This is needed for the libyui-qt core ONLY.
 ##### These will be overridden from exports in LibyuiConfig.cmake
-SET( SONAME_MAJOR "10" )
+SET( SONAME_MAJOR "11" )
 SET( SONAME_MINOR "0" )
 SET( SONAME_PATCH "0" )
 SET( SONAME "${SONAME_MAJOR}.${SONAME_MINOR}.${SONAME_PATCH}" )
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libyui-qt-2.51.4/package/libyui-qt-doc.spec 
new/libyui-qt-2.52.0/package/libyui-qt-doc.spec
--- old/libyui-qt-2.51.4/package/libyui-qt-doc.spec     2019-11-14 
12:41:29.000000000 +0100
+++ new/libyui-qt-2.52.0/package/libyui-qt-doc.spec     2019-12-10 
17:07:37.000000000 +0100
@@ -17,11 +17,11 @@
 
 
 %define parent libyui-qt
-%define so_version 10
+%define so_version 11
 
 Name:           %{parent}-doc
 # DO NOT manually bump the version here; instead, use   rake version:bump
-Version:        2.51.4
+Version:        2.52.0
 Release:        0
 Source:         %{parent}-%{version}.tar.bz2
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libyui-qt-2.51.4/package/libyui-qt.changes 
new/libyui-qt-2.52.0/package/libyui-qt.changes
--- old/libyui-qt-2.51.4/package/libyui-qt.changes      2019-11-14 
12:41:29.000000000 +0100
+++ new/libyui-qt-2.52.0/package/libyui-qt.changes      2019-12-10 
17:07:37.000000000 +0100
@@ -1,4 +1,31 @@
 -------------------------------------------------------------------
+Mon Dec  9 10:57:10 UTC 2019 - Rodion Iafarov <[email protected]>
+
+- Add support to operate on many widgets with rest-api (bsc#1132247)
+- Increase SO version to 11
+- 2.52.0
+
+-------------------------------------------------------------------
+Wed Dec  4 11:55:04 CET 2019 - [email protected]
+
+- Added a banner on the upper/right side of the YaST layout.
+  The label can be set by the environment variable YAST_BANNER
+  (jsc#SLE-9424).
+- 2.51.7
+
+-------------------------------------------------------------------
+Thu Nov 28 11:11:41 UTC 2019 - Stefan Hundhammer <[email protected]>
+
+- Fixed Qt 5.14 deprecated warnings (bsc#1155550)
+- 2.51.6
+
+-------------------------------------------------------------------
+Wed Nov 20 16:26:49 UTC 2019 - Stefan Hundhammer <[email protected]>
+
+- Prevent crash on [PrintScreen] of a main window (bsc#1157170)
+- 2.51.5
+
+-------------------------------------------------------------------
 Thu Nov 14 11:31:34 UTC 2019 - Stefan Hundhammer <[email protected]>
 
 - Mirror layout direction in Farsi (bsc#1156437)
@@ -53,7 +80,7 @@
 Tue May  7 09:39:02 UTC 2019 - Stefan Hundhammer <[email protected]>
 
 - Check for correct Qt version to fix build with Qt 5.13 (bsc#1130502)
-- 2.50.3 
+- 2.50.3
 
 -------------------------------------------------------------------
 Thu Apr 18 11:53:38 UTC 2019 - Ladislav Slezak <[email protected]>
@@ -2247,7 +2274,6 @@
   packages as newer
 - Display patch category in patches view
 
-
 -------------------------------------------------------------------
 Thu Mar  9 18:28:55 CET 2006 - [email protected]
 
@@ -2402,7 +2428,6 @@
 
 - Migrated pkg description popup (for hyperlinks) in PkgSel to ZYPP
 
-
 -------------------------------------------------------------------
 Tue Feb 14 19:14:42 CET 2006 - [email protected]
 
@@ -2510,7 +2535,6 @@
   - RPM groups
   - Search
 
-
 -------------------------------------------------------------------
 Wed Nov 16 14:57:56 CET 2005 - [email protected]
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libyui-qt-2.51.4/package/libyui-qt.spec 
new/libyui-qt-2.52.0/package/libyui-qt.spec
--- old/libyui-qt-2.51.4/package/libyui-qt.spec 2019-11-14 12:41:29.000000000 
+0100
+++ new/libyui-qt-2.52.0/package/libyui-qt.spec 2019-12-10 17:07:37.000000000 
+0100
@@ -18,11 +18,11 @@
 
 Name:           libyui-qt
 # DO NOT manually bump the version here; instead, use   rake version:bump
-Version:        2.51.4
+Version:        2.52.0
 Release:        0
 Source:         %{name}-%{version}.tar.bz2
 
-%define so_version 10
+%define so_version 11
 %define bin_name %{name}%{so_version}
 
 BuildRequires:  boost-devel
@@ -30,7 +30,7 @@
 BuildRequires:  gcc-c++
 BuildRequires:  pkg-config
 
-%define libyui_devel_version libyui-devel >= 3.8.3
+%define libyui_devel_version libyui-devel >= 3.9.0
 BuildRequires:  %{libyui_devel_version}
 BuildRequires:  fontconfig-devel
 BuildRequires:  pkgconfig(Qt5Core)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libyui-qt-2.51.4/src/QY2DiskUsageList.cc 
new/libyui-qt-2.52.0/src/QY2DiskUsageList.cc
--- old/libyui-qt-2.51.4/src/QY2DiskUsageList.cc        2019-11-14 
12:41:29.000000000 +0100
+++ new/libyui-qt-2.52.0/src/QY2DiskUsageList.cc        2019-12-10 
17:07:37.000000000 +0100
@@ -361,8 +361,12 @@
        painter->fillRect( x, y,  fillWidth, h,
                           fillColor );
 
-        QString percentageText;
-       percentageText.sprintf( "%d%%", usedPercent() );
+        QString percentageText = QString( "%1%" ).arg( usedPercent() );
+
+        // Yes, really one % to get a literal percent sign: Unlike most similar
+        // functions like printf(), QString::arg() does not require (or allow)
+        // a literal percent sign to be duplicated; that would result in two
+        // percent signs in the output.
 
         if ( usedPercent() > 50 ) {
             painter->setPen( treeWidget()->palette().color( QPalette::Base ) );
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libyui-qt-2.51.4/src/YQCheckBoxFrame.cc 
new/libyui-qt-2.52.0/src/YQCheckBoxFrame.cc
--- old/libyui-qt-2.51.4/src/YQCheckBoxFrame.cc 2019-11-14 12:41:29.000000000 
+0100
+++ new/libyui-qt-2.52.0/src/YQCheckBoxFrame.cc 2019-12-10 17:07:37.000000000 
+0100
@@ -152,15 +152,14 @@
 
     if ( hasChildren() )
     {
-        int left, top, right, bottom;
-        getContentsMargins( &left, &top, &right, &bottom );
-       int newChildWidth  = newWidth - left - right;
-       int newChildHeight = newHeight - bottom - top;
+       QMargins margins = contentsMargins();
+       int newChildWidth  = newWidth  - margins.left() - margins.right();
+       int newChildHeight = newHeight - margins.bottom() - margins.top();
 
        firstChild()->setSize( newChildWidth, newChildHeight );
 
        QWidget * qChild = (QWidget *) firstChild()->widgetRep();
-       qChild->move( left, top );
+       qChild->move( margins.left(), margins.top() );
     }
 }
 
@@ -168,20 +167,18 @@
 int YQCheckBoxFrame::preferredWidth()
 {
     int preferredWidth = hasChildren() ? firstChild()->preferredWidth() : 0;
-    int left, top, right, bottom;
-    getContentsMargins( &left, &top, &right, &bottom );
+    QMargins margins = contentsMargins();
 
-    return preferredWidth + left + right;
+    return preferredWidth + margins.left() + margins.right();
 }
 
 
 int YQCheckBoxFrame::preferredHeight()
 {
     int preferredHeight = hasChildren() ? firstChild()->preferredHeight() : 0;
-    int left, top, right, bottom;
-    getContentsMargins( &left, &top, &right, &bottom );
+    QMargins margins = contentsMargins();
 
-    return preferredHeight + top + left;
+    return preferredHeight + margins.top() + margins.left();
 }
 
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libyui-qt-2.51.4/src/YQCustomStatusItemSelector.cc 
new/libyui-qt-2.52.0/src/YQCustomStatusItemSelector.cc
--- old/libyui-qt-2.51.4/src/YQCustomStatusItemSelector.cc      2019-11-14 
12:41:29.000000000 +0100
+++ new/libyui-qt-2.52.0/src/YQCustomStatusItemSelector.cc      2019-12-10 
17:07:37.000000000 +0100
@@ -141,6 +141,13 @@
 }
 
 
+void YQCustomStatusItemSelector::activateItem( YItem * item )
+{
+    // send an activation event for this widget
+    if ( notify() )
+        YQUI::ui()->sendEvent( new YMenuEvent( item ) );
+}
+
 
 
 //-----------------------------------------------------------------------------
@@ -230,4 +237,3 @@
 {
     emit clicked( this );
 }
-
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libyui-qt-2.51.4/src/YQCustomStatusItemSelector.h 
new/libyui-qt-2.52.0/src/YQCustomStatusItemSelector.h
--- old/libyui-qt-2.51.4/src/YQCustomStatusItemSelector.h       2019-11-14 
12:41:29.000000000 +0100
+++ new/libyui-qt-2.52.0/src/YQCustomStatusItemSelector.h       2019-12-10 
17:07:37.000000000 +0100
@@ -74,6 +74,12 @@
      **/
     const QIcon & statusIcon( int status ) const;
 
+    /**
+     * Activate selected item. Can be used in tests to simulate user input.
+     *
+     * Derived classes are required to implement this.
+     **/
+    virtual void activateItem( YItem * item );
 
 protected slots:
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libyui-qt-2.51.4/src/YQDumbTab.cc 
new/libyui-qt-2.52.0/src/YQDumbTab.cc
--- old/libyui-qt-2.51.4/src/YQDumbTab.cc       2019-11-14 12:41:29.000000000 
+0100
+++ new/libyui-qt-2.52.0/src/YQDumbTab.cc       2019-12-10 17:07:37.000000000 
+0100
@@ -233,3 +233,11 @@
     }
 }
 
+
+void
+YQDumbTab::activate()
+{
+    // send an activation event for this widget
+    if ( notify() )
+        YQUI::ui()->sendEvent( new YWidgetEvent( this,YEvent::Activated ) );
+}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libyui-qt-2.51.4/src/YQDumbTab.h 
new/libyui-qt-2.52.0/src/YQDumbTab.h
--- old/libyui-qt-2.51.4/src/YQDumbTab.h        2019-11-14 12:41:29.000000000 
+0100
+++ new/libyui-qt-2.52.0/src/YQDumbTab.h        2019-12-10 17:07:37.000000000 
+0100
@@ -112,6 +112,13 @@
      **/
     virtual void setSize( int newWidth, int newHeight );
 
+    /**
+    * Activate selected tab. Can be used in tests to simulate user input.
+    *
+    * Derived classes are required to implement this.
+    **/
+    virtual void activate();
+
 public slots:
 
     /**
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libyui-qt-2.51.4/src/YQFrame.cc 
new/libyui-qt-2.52.0/src/YQFrame.cc
--- old/libyui-qt-2.51.4/src/YQFrame.cc 2019-11-14 12:41:29.000000000 +0100
+++ new/libyui-qt-2.52.0/src/YQFrame.cc 2019-12-10 17:07:37.000000000 +0100
@@ -65,15 +65,14 @@
 
     if ( hasChildren() )
     {
-        int left, top, right, bottom;
-        getContentsMargins( &left, &top, &right, &bottom );
-       int newChildWidth  = newWidth - left - right;
-       int newChildHeight = newHeight - bottom - top;
+       QMargins margins = contentsMargins();
+       int newChildWidth  = newWidth  - margins.left() - margins.right();
+       int newChildHeight = newHeight - margins.bottom() - margins.top();
 
        firstChild()->setSize( newChildWidth, newChildHeight );
 
        QWidget * qChild = (QWidget *) firstChild()->widgetRep();
-       qChild->move( left, top );
+       qChild->move( margins.left(), margins.top() );
     }
 }
 
@@ -89,10 +88,9 @@
 int YQFrame::preferredWidth()
 {
     int preferredWidth = hasChildren() ? firstChild()->preferredWidth() : 0;
-    int left, top, right, bottom;
-    getContentsMargins( &left, &top, &right, &bottom );
+    QMargins margins = contentsMargins();
 
-    preferredWidth += left + right;
+    preferredWidth += margins.left() + margins.right();
 
     if ( minimumSizeHint().width() >  preferredWidth )
        preferredWidth = minimumSizeHint().width();
@@ -104,9 +102,8 @@
 int YQFrame::preferredHeight()
 {
     int preferredHeight = hasChildren() ? firstChild()->preferredHeight() : 0;
-    int left, top, right, bottom;
-    getContentsMargins( &left, &top, &right, &bottom );
+    QMargins margins = contentsMargins();
 
-    return preferredHeight + top + left;
+    return preferredHeight + margins.top() + margins.left();
 }
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libyui-qt-2.51.4/src/YQItemSelector.cc 
new/libyui-qt-2.52.0/src/YQItemSelector.cc
--- old/libyui-qt-2.51.4/src/YQItemSelector.cc  2019-11-14 12:41:29.000000000 
+0100
+++ new/libyui-qt-2.52.0/src/YQItemSelector.cc  2019-12-10 17:07:37.000000000 
+0100
@@ -292,6 +292,12 @@
 }
 
 
+void YQItemSelector::activateItem( YItem * item )
+{
+    if( notify() )
+        YQUI::ui()->sendEvent( new YWidgetEvent( this, YEvent::ValueChanged ) 
);
+}
+
 //-----------------------------------------------------------------------------
 
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libyui-qt-2.51.4/src/YQItemSelector.h 
new/libyui-qt-2.52.0/src/YQItemSelector.h
--- old/libyui-qt-2.51.4/src/YQItemSelector.h   2019-11-14 12:41:29.000000000 
+0100
+++ new/libyui-qt-2.52.0/src/YQItemSelector.h   2019-12-10 17:07:37.000000000 
+0100
@@ -145,6 +145,12 @@
      **/
     void addItemWidget( YQSelectorItemWidget * itemWidget );
 
+    /**
+     * Activate selected item. Can be used in tests to simulate user input.
+     *
+     * Derived classes are required to implement this.
+     **/
+    virtual void activateItem( YItem * item );
 
 protected slots:
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libyui-qt-2.51.4/src/YQMenuButton.cc 
new/libyui-qt-2.52.0/src/YQMenuButton.cc
--- old/libyui-qt-2.51.4/src/YQMenuButton.cc    2019-11-14 12:41:29.000000000 
+0100
+++ new/libyui-qt-2.52.0/src/YQMenuButton.cc    2019-12-10 17:07:37.000000000 
+0100
@@ -225,3 +225,11 @@
 
     return true;
 }
+
+
+void
+YQMenuButton::activateItem( YMenuItem * item )
+{
+    if ( item )
+        YQUI::ui()->sendEvent( new YMenuEvent( item ) );
+}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libyui-qt-2.51.4/src/YQMenuButton.h 
new/libyui-qt-2.52.0/src/YQMenuButton.h
--- old/libyui-qt-2.51.4/src/YQMenuButton.h     2019-11-14 12:41:29.000000000 
+0100
+++ new/libyui-qt-2.52.0/src/YQMenuButton.h     2019-12-10 17:07:37.000000000 
+0100
@@ -97,6 +97,12 @@
      **/
     virtual bool setKeyboardFocus();
 
+    /**
+    * Activate the item selected in the tree. Can be used in tests to simulate 
user input.
+    *
+    * Derived classes are required to implement this.
+    **/
+    virtual void activateItem( YMenuItem * item );
 
 protected slots:
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libyui-qt-2.51.4/src/YQRichText.cc 
new/libyui-qt-2.52.0/src/YQRichText.cc
--- old/libyui-qt-2.51.4/src/YQRichText.cc      2019-11-14 12:41:29.000000000 
+0100
+++ new/libyui-qt-2.52.0/src/YQRichText.cc      2019-12-10 17:07:37.000000000 
+0100
@@ -154,6 +154,12 @@
 }
 
 
+void YQRichText::activateLink( const string & url )
+{
+    YQUI::ui()->sendEvent( new YMenuEvent( url ) );
+}
+
+
 void YQRichText::linkClicked( const QUrl & url )
 {
     // yuiDebug() << "Selected hyperlink \"" << url.toString() << "\" << endl;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libyui-qt-2.51.4/src/YQRichText.h 
new/libyui-qt-2.52.0/src/YQRichText.h
--- old/libyui-qt-2.51.4/src/YQRichText.h       2019-11-14 12:41:29.000000000 
+0100
+++ new/libyui-qt-2.52.0/src/YQRichText.h       2019-12-10 17:07:37.000000000 
+0100
@@ -151,6 +151,12 @@
      **/
     virtual void setHScrollValue( const std::string & newValue ) override;
 
+    /**
+     * Derived classes should implement this, method is used to trigger event
+     * like user has clicked link in the RichText
+     **/
+    virtual void activateLink( const std::string & url );
+
 protected slots:
 
     /**
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libyui-qt-2.51.4/src/YQTree.cc 
new/libyui-qt-2.52.0/src/YQTree.cc
--- old/libyui-qt-2.51.4/src/YQTree.cc  2019-11-14 12:41:29.000000000 +0100
+++ new/libyui-qt-2.52.0/src/YQTree.cc  2019-12-10 17:07:37.000000000 +0100
@@ -47,10 +47,10 @@
 
 
 
-YQTree::YQTree( YWidget *       parent,
-                const string &  label,
-                bool            multiSelectionMode,
-                bool            recursiveSelectionMode  )
+YQTree::YQTree( YWidget *      parent,
+               const string &  label,
+               bool            multiSelectionMode,
+               bool            recursiveSelectionMode  )
     : QFrame( (QWidget *) parent->widgetRep() )
     , YTree( parent, label, multiSelectionMode, recursiveSelectionMode )
 {
@@ -147,10 +147,10 @@
            clone = new YQTreeItem( this, _qt_treeWidget, orig, _nextSerialNo++ 
);
 
        YUI_CHECK_NEW( clone );
-       
+
        if (orig->selected())
        {
-            selectItem(clone);
+           selectItem(clone);
        }
 
        if ( orig->hasChildren() )
@@ -191,8 +191,8 @@
        _qt_treeWidget->setCurrentItem( item );
        item->setSelected( true );
 
-        if ( hasMultiSelection() )
-            item->setCheckState( 0, Qt::Checked );
+       if ( hasMultiSelection() )
+           item->setCheckState( 0, Qt::Checked );
 
        if ( item->parent() )
            openBranch( (YQTreeItem *) item->parent() );
@@ -246,18 +246,18 @@
 
     if ( hasMultiSelection() )
     {
-        QTreeWidgetItemIterator it( _qt_treeWidget);
-        while (*it)
-        {
-            YQTreeItem * treeItem = dynamic_cast<YQTreeItem *> (*it);
-
-            if ( treeItem )
-            {
-                treeItem->setCheckState( 0, Qt::Unchecked );
-                treeItem->origItem()->setSelected( false );
-            }
-            ++it;
-        }
+       QTreeWidgetItemIterator it( _qt_treeWidget);
+       while (*it)
+       {
+           YQTreeItem * treeItem = dynamic_cast<YQTreeItem *> (*it);
+
+           if ( treeItem )
+           {
+               treeItem->setCheckState( 0, Qt::Unchecked );
+               treeItem->origItem()->setSelected( false );
+           }
+           ++it;
+       }
     }
 
 }
@@ -303,27 +303,27 @@
     if ( hasMultiSelection() )
     {
        if ( recursiveSelection() )
-           YQUI::ui()->busyCursor();
+           YQUI::ui()->busyCursor();
 
        if ( item->checkState(0) == Qt::Checked )
            YQTree::selectItem( item, true, recursiveSelection() );
-        else
+       else
            YQTree::selectItem( item, false, recursiveSelection() );
 
 
        if ( recursiveSelection() )
-           YQUI::ui()->normalCursor();
+           YQUI::ui()->normalCursor();
 
     }
     else
     {
-        QList<QTreeWidgetItem *> items = _qt_treeWidget->selectedItems ();
+       QList<QTreeWidgetItem *> items = _qt_treeWidget->selectedItems ();
 
-        if ( ! items.empty() )
-        {
-           QTreeWidgetItem *qItem = items.first();
+       if ( ! items.empty() )
+       {
+           QTreeWidgetItem *qItem = items.first();
            selectItem( dynamic_cast<YQTreeItem *> (qItem) );
-        }
+       }
     }
 
 
@@ -347,8 +347,8 @@
 
     if ( ! hasMultiSelection() && ! items.empty() )
     {
-        QTreeWidgetItem *qItem = items.first();
-        selectItem( dynamic_cast<YQTreeItem *> (qItem) );
+       QTreeWidgetItem *qItem = items.first();
+       selectItem( dynamic_cast<YQTreeItem *> (qItem) );
     }
 
 
@@ -408,7 +408,7 @@
 
 void YQTree::slotContextMenu ( const QPoint & pos )
 {
-    if  ( ! _qt_treeWidget ||  ! _qt_treeWidget->viewport() )
+    if ( ! _qt_treeWidget ||  ! _qt_treeWidget->viewport() )
        return;
 
     YQUI::yqApp()->setContextMenuPos( _qt_treeWidget->viewport()->mapToGlobal( 
pos ) );
@@ -425,16 +425,22 @@
 
     if ( currentQItem )
     {
-        YQTreeItem * item = dynamic_cast<YQTreeItem *> (currentQItem);
+       YQTreeItem * item = dynamic_cast<YQTreeItem *> (currentQItem);
 
-        if ( item )
-            return item->origItem();
+       if ( item )
+           return item->origItem();
     }
 
     return 0;
 }
 
 
+void YQTree::activate()
+{
+    // send an activation event for this widget
+    if ( notify() )
+        YQUI::ui()->sendEvent( new YWidgetEvent( this,YEvent::Activated ) );
+}
 
 
/*============================================================================*/
 
@@ -489,17 +495,17 @@
 
     if ( _origItem->hasIconName() )
     {
-        QIcon icon = QIcon( _tree->iconFullPath( _origItem ).c_str() );
-        
-        if ( icon.isNull() )
-            icon = YQUI::ui()->loadIcon( _origItem->iconName() );
+       QIcon icon = QIcon( _tree->iconFullPath( _origItem ).c_str() );
+
+       if ( icon.isNull() )
+           icon = YQUI::ui()->loadIcon( _origItem->iconName() );
 
        if ( !icon.isNull() )
            setData( 0, Qt::DecorationRole, icon );
     }
 
     if ( tree->hasMultiSelection() )
-        setCheckState(0,Qt::Unchecked);
+       setCheckState(0,Qt::Unchecked);
 }
 
 
@@ -522,8 +528,10 @@
      * by names (ASCII sort). Better let the application handle this.
      */
 
-    QString strKey;
-    strKey.sprintf( "%08d", _serialNo );
+    QString strKey = QString( "%1" ).arg( _serialNo,
+                                         8,               // fieldWidth 
(positive aligns right)
+                                         10,              // base
+                                         QChar( '0' ) );  // fillChar
 
     return strKey;
 }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libyui-qt-2.51.4/src/YQTree.h 
new/libyui-qt-2.52.0/src/YQTree.h
--- old/libyui-qt-2.51.4/src/YQTree.h   2019-11-14 12:41:29.000000000 +0100
+++ new/libyui-qt-2.52.0/src/YQTree.h   2019-12-10 17:07:37.000000000 +0100
@@ -134,7 +134,13 @@
      * Reimplemented from YMultiSelectionBox.
      **/
     virtual YTreeItem * currentItem();
-
+    
+    /**
+    * Activate the item selected in the tree. Can be used in tests to simulate 
user input.
+    *
+    * Derived classes are required to implement this.
+    **/
+    virtual void activate();
 
 
 protected slots:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libyui-qt-2.51.4/src/YQUI.cc 
new/libyui-qt-2.52.0/src/YQUI.cc
--- old/libyui-qt-2.51.4/src/YQUI.cc    2019-11-14 12:41:29.000000000 +0100
+++ new/libyui-qt-2.52.0/src/YQUI.cc    2019-12-10 17:07:37.000000000 +0100
@@ -109,7 +109,6 @@
     _fatalError                        = false;
     _fullscreen                        = false;
     _noborder                  = false;
-    screenShotNameTemplate     = "";
     _blockedLevel              = 0;
 
     qInstallMessageHandler( qMessageHandler );
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libyui-qt-2.51.4/src/YQUI.h 
new/libyui-qt-2.52.0/src/YQUI.h
--- old/libyui-qt-2.51.4/src/YQUI.h     2019-11-14 12:41:29.000000000 +0100
+++ new/libyui-qt-2.52.0/src/YQUI.h     2019-12-10 17:07:37.000000000 +0100
@@ -360,7 +360,6 @@
     static YQUI *      _ui;
 
     QMap<QString, int> screenShotNo;
-    QString            screenShotNameTemplate;
 
     bool               _fullscreen;
     bool               _noborder;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libyui-qt-2.51.4/src/YQUI_builtins.cc 
new/libyui-qt-2.52.0/src/YQUI_builtins.cc
--- old/libyui-qt-2.51.4/src/YQUI_builtins.cc   2019-11-14 12:41:29.000000000 
+0100
+++ new/libyui-qt-2.52.0/src/YQUI_builtins.cc   2019-12-10 17:07:37.000000000 
+0100
@@ -100,7 +100,11 @@
     //
 
     QWidget * dialog = (QWidget *) YDialog::currentDialog()->widgetRep();
-    QWindow * window = dialog->windowHandle();
+    YUI_CHECK_PTR( dialog );
+    QWidget * topLevelWidget = dialog->window();
+    YUI_CHECK_PTR( topLevelWidget );
+    QWindow * window = topLevelWidget->windowHandle();
+    YUI_CHECK_PTR( window );
     QPixmap screenShot = window->screen()->grabWindow( window->winId() );
     XSync( QX11Info::display(), false );
     QString fileName ( stl_filename.c_str() );
@@ -110,70 +114,70 @@
     {
        interactive = true;
 
-        // Open a file selection box. Figure out a reasonable default
-        // directory / file name.
+       // Open a file selection box. Figure out a reasonable default
+       // directory / file name.
 
-        if ( screenShotNameTemplate.isEmpty() )
-        {
-            //
-            // Initialize screen shot directory
-            //
-
-            QString home = QDir::homePath();
-            char * ssdir = getenv( "Y2SCREENSHOTS" );
-            QString dir  = ssdir ? fromUTF8( ssdir ) : "yast2-screen-shots";
-
-            if ( home == "/" )
-            {
-                // Special case: $HOME is not set. This is normal in the 
inst-sys.
-                // In this case, rather than simply dumping all screen shots 
into
-                // /tmp which is world-writable, let's try to create a 
subdirectory
-                // below /tmp with restrictive permissions.
-                // If that fails, trust nobody - in particular, do not suggest 
/tmp
-                // as the default in the file selection box.
-
-                dir = "/tmp/" + dir;
-
-                if ( mkdir( toUTF8( dir ).c_str(), 0700 ) == -1 )
-                    dir = "";
-            }
-            else
-            {
-                // For all others let's create a directory 
~/yast2-screen-shots and
-                // simply ignore if this is already present. This gives the 
user a
-                // chance to create symlinks to a better location if he wishes 
so.
-
-                dir = home + "/" + dir;
-                (void) mkdir( toUTF8( dir ).c_str(), 0750 );
-            }
-
-            screenShotNameTemplate = dir + "/%s-%03d.png";
-        }
-
-
-        //
-        // Figure out a file name
-        //
-
-        const char * baseName = "yast2";
-
-        int no = screenShotNo[ baseName ];
-        fileName.sprintf( qPrintable( screenShotNameTemplate ), baseName, no );
-        yuiDebug() << "Screenshot: " << fileName << endl;
+       //
+       // Initialize screen shot directory
+       //
+
+       QString home = QDir::homePath();
+       char * ssdir = getenv( "Y2SCREENSHOTS" );
+       QString dir  = ssdir ? fromUTF8( ssdir ) : "yast2-screen-shots";
 
+       if ( home == "/" )
        {
-           fileName = YQApplication::askForSaveFileName( fileName,
-                                                         QString( "*.png" ) ,
-                                                         _( "Save screen shot 
to..." ) );
+           // Special case: $HOME is not set. This is normal in the inst-sys.
+           // In this case, rather than simply dumping all screen shots into
+           // /tmp which is world-writable, let's try to create a subdirectory
+           // below /tmp with restrictive permissions.
+           // If that fails, trust nobody - in particular, do not suggest /tmp
+           // as the default in the file selection box.
+
+           dir = "/tmp/" + dir;
+
+           if ( mkdir( toUTF8( dir ).c_str(), 0700 ) == -1 )
+               dir = "";
+       }
+       else
+       {
+           // For all others let's create a directory ~/yast2-screen-shots and
+           // simply ignore if this is already present. This gives the user a
+           // chance to create symlinks to a better location if he wishes so.
+
+           dir = home + "/" + dir;
+           (void) mkdir( toUTF8( dir ).c_str(), 0750 );
        }
 
-        if ( fileName.isEmpty() )
-        {
-            yuiDebug() << "Save screen shot canceled by user" << endl;
-            return;
-        }
 
-        screenShotNo.insert( baseName, ++no );
+       //
+       // Figure out a file name
+       //
+
+       const char * baseName = "yast2";
+
+       int no = screenShotNo[ baseName ];
+       fileName = QString( "%1/%2-%3.png" )
+            .arg( dir )         // %1
+           .arg( baseName )    // %2
+           .arg( no,           // %3
+                  3,                    // fieldWidth (positive aligns right)
+                  10,                   // base
+                  QChar( '0' ) );       // fillChar
+
+       yuiDebug() << "Screenshot: " << fileName << endl;
+
+        fileName = YQApplication::askForSaveFileName( fileName,
+                                                      QString( "*.png" ) ,
+                                                      _( "Save screen shot 
to..." ) );
+
+       if ( fileName.isEmpty() )
+       {
+           yuiDebug() << "Save screen shot canceled by user" << endl;
+           return;
+       }
+
+       screenShotNo.insert( baseName, ++no );
     } // if fileName.isEmpty()
 
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libyui-qt-2.51.4/src/YQWizard.cc 
new/libyui-qt-2.52.0/src/YQWizard.cc
--- old/libyui-qt-2.51.4/src/YQWizard.cc        2019-11-14 12:41:29.000000000 
+0100
+++ new/libyui-qt-2.52.0/src/YQWizard.cc        2019-12-10 17:07:37.000000000 
+0100
@@ -135,6 +135,7 @@
     _menuBar           = 0;
     _dialogIcon                = 0;
     _dialogLogo         = 0;
+    _dialogBanner       = 0;
     _dialogHeading     = 0;
     _contents          = 0;
     _backButton                = 0;
@@ -714,7 +715,16 @@
         _dialogLogo->setSizePolicy( QSizePolicy( QSizePolicy::Fixed, 
QSizePolicy::Fixed ) ); // hor/vert
        _dialogLogo->setMinimumHeight(59); // FIXME: control size via 
stylesheet, did not find how
        _dialogLogo->setMinimumWidth(100);
+
         logoHBox->addStretch();
+
+        _dialogBanner = new QLabel( _workArea );
+        _dialogBanner->setText( QString( getenv( "YAST_BANNER" ) ) );
+        YUI_CHECK_NEW( _dialogBanner );
+        logoHBox->addWidget( _dialogBanner );
+        _dialogBanner->setObjectName( "DialogBanner" );
+        _dialogBanner->setAlignment( Qt::AlignCenter );
+        QY2Styler::styler()->registerChildWidget( this, _dialogBanner );
     }
 
     //
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libyui-qt-2.51.4/src/YQWizard.h 
new/libyui-qt-2.52.0/src/YQWizard.h
--- old/libyui-qt-2.51.4/src/YQWizard.h 2019-11-14 12:41:29.000000000 +0100
+++ new/libyui-qt-2.52.0/src/YQWizard.h 2019-12-10 17:07:37.000000000 +0100
@@ -612,6 +612,7 @@
     QMenuBar *                 _menuBar;
     QLabel *               _dialogIcon;
     QLabel *               _dialogLogo;
+    QLabel *               _dialogBanner;    
     QLabel *               _dialogHeading;
     YQAlignment *          _contents;
     YQWizardButton *       _backButton;


Reply via email to