Hello community, here is the log from the commit of package libyui-ncurses for openSUSE:Factory checked in at 2015-07-16 17:14:51 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/libyui-ncurses (Old) and /work/SRC/openSUSE:Factory/.libyui-ncurses.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Package is "libyui-ncurses" Changes: -------- --- /work/SRC/openSUSE:Factory/libyui-ncurses/libyui-ncurses.changes 2015-02-20 12:00:34.000000000 +0100 +++ /work/SRC/openSUSE:Factory/.libyui-ncurses.new/libyui-ncurses.changes 2015-07-16 17:14:53.000000000 +0200 @@ -1,0 +2,6 @@ +Wed Jul 8 12:17:12 UTC 2015 - mvidner@suse.com + +- Added NCApplication::openUI/closeUI (boo#937026). +- 2.47.0 + +------------------------------------------------------------------- Old: ---- libyui-ncurses-2.46.10.tar.bz2 New: ---- libyui-ncurses-2.47.0.tar.bz2 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ libyui-ncurses-doc.spec ++++++ --- /var/tmp/diff_new_pack.4ZXIbK/_old 2015-07-16 17:14:54.000000000 +0200 +++ /var/tmp/diff_new_pack.4ZXIbK/_new 2015-07-16 17:14:54.000000000 +0200 @@ -17,7 +17,7 @@ Name: libyui-ncurses-doc -Version: 2.46.10 +Version: 2.47.0 Release: 0 Source: libyui-ncurses-%{version}.tar.bz2 ++++++ libyui-ncurses.spec ++++++ --- /var/tmp/diff_new_pack.4ZXIbK/_old 2015-07-16 17:14:54.000000000 +0200 +++ /var/tmp/diff_new_pack.4ZXIbK/_new 2015-07-16 17:14:54.000000000 +0200 @@ -17,7 +17,7 @@ Name: libyui-ncurses -Version: 2.46.10 +Version: 2.47.0 Release: 0 Source: libyui-ncurses-%{version}.tar.bz2 ++++++ libyui-ncurses-2.46.10.tar.bz2 -> libyui-ncurses-2.47.0.tar.bz2 ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libyui-ncurses-2.46.10/ChangeLog new/libyui-ncurses-2.47.0/ChangeLog --- old/libyui-ncurses-2.46.10/ChangeLog 2015-02-18 14:50:10.000000000 +0100 +++ new/libyui-ncurses-2.47.0/ChangeLog 2015-07-08 17:30:40.000000000 +0200 @@ -1,4 +1,10 @@ ------------------------------------------------------------------- +Wed Jul 8 12:17:12 UTC 2015 - mvidner@suse.com + +- Added NCApplication::openUI/closeUI (boo#937026). +- 2.47.0 + +------------------------------------------------------------------- Tue Feb 17 15:40:07 UTC 2015 - anaselli@linux.it - NCTimeField input validity check diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libyui-ncurses-2.46.10/README.md new/libyui-ncurses-2.47.0/README.md --- old/libyui-ncurses-2.46.10/README.md 2014-02-21 11:37:26.000000000 +0100 +++ new/libyui-ncurses-2.47.0/README.md 2015-07-07 15:15:37.000000000 +0200 @@ -1 +1,22 @@ ![libYUI-boilerplate](http://img191.imageshack.us/img191/9364/libyui.png) + +Libyui is a widget abstraction library providing Qt, GTK and ncurses +frontends. It was developed for [YaST](http://yast.github.io/). + +### Building + +Libyui uses CMake, driven by a slightly complex set of +[CMakefiles](https://github.com/libyui/libyui/tree/master/buildtools). + +For reproducible builds it is best to use +[rubygem-packaging_rake_tasks.rpm](https://github.com/openSUSE/packaging_tasks) +like the [Jenkins CI](https://ci.opensuse.org/view/libyui/) jobs do. + +You need [the base libyui library](https://github.com/libyui/libyui) +checked out in `../libyui` (or point the environment variable `LIBYUI_BASE` +to it). + +Then run: +``` +rake -f ../libyui/Rakefile osc:build +``` diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libyui-ncurses-2.46.10/VERSION.cmake new/libyui-ncurses-2.47.0/VERSION.cmake --- old/libyui-ncurses-2.46.10/VERSION.cmake 2015-02-18 14:50:10.000000000 +0100 +++ new/libyui-ncurses-2.47.0/VERSION.cmake 2015-07-08 17:30:40.000000000 +0200 @@ -1,6 +1,6 @@ SET( VERSION_MAJOR "2" ) -SET( VERSION_MINOR "46" ) -SET( VERSION_PATCH "10" ) +SET( VERSION_MINOR "47" ) +SET( VERSION_PATCH "0" ) SET( VERSION "${VERSION_MAJOR}.${VERSION_MINOR}.${VERSION_PATCH}${GIT_SHA1_VERSION}" ) ##### This is need for the libyui core, ONLY. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libyui-ncurses-2.46.10/src/NCApplication.cc new/libyui-ncurses-2.47.0/src/NCApplication.cc --- old/libyui-ncurses-2.46.10/src/NCApplication.cc 2014-02-21 11:37:26.000000000 +0100 +++ new/libyui-ncurses-2.47.0/src/NCApplication.cc 2015-07-08 17:30:40.000000000 +0200 @@ -169,12 +169,8 @@ language ); } - -int -NCApplication::runInTerminal( const std::string & cmd ) -{ - int ret; - +void +NCApplication::closeUI() { // Save tty modes and end ncurses mode temporarily ::def_prog_mode(); ::endwin(); @@ -183,15 +179,10 @@ // via system() can use them and draw something to the terminal dup2( YNCursesUI::ui()->stdout_save, 1 ); dup2( YNCursesUI::ui()->stderr_save, 2 ); +} - // Call external program - ret = system( cmd.c_str() ); - - if ( ret != 0 ) - { - yuiError() << cmd << " returned:" << ret << std::endl; - } - +void +NCApplication::openUI() { // Redirect stdout and stderr to y2log again YNCursesUI::ui()->RedirectToLog(); @@ -199,6 +190,24 @@ ::reset_prog_mode(); ::refresh(); +} + +int +NCApplication::runInTerminal( const std::string & cmd ) +{ + int ret = 0; + + closeUI(); + + // Call external program + ret = system( cmd.c_str() ); + + if ( ret != 0 ) + { + yuiError() << cmd << " returned:" << ret << std::endl; + } + + openUI(); return ret; } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libyui-ncurses-2.46.10/src/NCApplication.h new/libyui-ncurses-2.47.0/src/NCApplication.h --- old/libyui-ncurses-2.46.10/src/NCApplication.h 2014-02-21 11:37:26.000000000 +0100 +++ new/libyui-ncurses-2.47.0/src/NCApplication.h 2015-07-08 17:30:40.000000000 +0200 @@ -168,6 +168,17 @@ virtual int runInTerminal( const std::string & command ); + /// @{ + /** + * To mix TUI (NCurses) with stdio, enclose the UI parts + * within openUI/closeUI + * + * Reimplemented from YApplication. + */ + virtual void openUI() override; + virtual void closeUI() override; + /// @} + // Display information and UI capabilities. // // All implemented from YApplication.