Author: coolo
Date: Fri Feb 15 13:42:43 2008
New Revision: 44506
URL: http://svn.opensuse.org/viewcvs/yast?rev=44506&view=rev
Log:
fixing the bindings between -qt and -qt-pkg
Added:
trunk/qt-pkg/src/YQPackageSelectorPluginImpl.cc (contents, props changed)
- copied, changed from r44476, trunk/ncurses-pkg/src/NCPackageSelectorPluginImpl.cc
trunk/qt-pkg/src/YQPackageSelectorPluginImpl.h (contents, props changed)
- copied, changed from r44476, trunk/ncurses-pkg/src/NCPackageSelectorPluginImpl.h
Modified:
trunk/qt-pkg/src/CMakeLists.txt
trunk/qt/src/CMakeLists.txt
trunk/qt/src/YQPackageSelectorPluginIf.h
trunk/qt/src/YQPackageSelectorPluginStub.cc
trunk/qt/src/YQPackageSelectorPluginStub.h
Modified: trunk/qt-pkg/src/CMakeLists.txt
URL: http://svn.opensuse.org/viewcvs/yast/trunk/qt-pkg/src/CMakeLists.txt?rev=44506&r1=44505&r2=44506&view=diff
==============================================================================
--- trunk/qt-pkg/src/CMakeLists.txt (original)
+++ trunk/qt-pkg/src/CMakeLists.txt Fri Feb 15 13:42:43 2008
@@ -55,6 +55,7 @@
YQPkgTextDialog.cc
YQPkgUpdateProblemFilterView.cc
YQPkgVersionsView.cc
+ YQPackageSelectorPluginImpl.cc
)
QT4_AUTOMOC(${qt_yast_pkg_plugin_SRCS})
@@ -67,11 +68,14 @@
TARGET_LINK_LIBRARIES( py2qt_pkg py2qt )
TARGET_LINK_LIBRARIES( py2qt_pkg ${YAST_LIBRARY} )
TARGET_LINK_LIBRARIES( py2qt_pkg ${YAST_YCP_LIBRARY} )
+TARGET_LINK_LIBRARIES( py2qt_pkg ${YAST_YUI_LIBRARY} )
TARGET_LINK_LIBRARIES( py2qt_pkg ${YAST_PLUGIN_WFM_LIBRARY} )
TARGET_LINK_LIBRARIES( py2qt_pkg ${QT_QTCORE_LIBRARY} )
TARGET_LINK_LIBRARIES( py2qt_pkg ${QT_QTGUI_LIBRARY} )
TARGET_LINK_LIBRARIES( py2qt_pkg ${YAST_PLUGIN_UI_LIBRARY} )
+TARGET_LINK_LIBRARIES( py2qt_pkg py2qt )
TARGET_LINK_LIBRARIES( py2qt_pkg ${ZYPP_LIBRARY} )
SET_TARGET_PROPERTIES( py2qt_pkg PROPERTIES SOVERSION 2 )
+SET_TARGET_PROPERTIES( py2qt_pkg PROPERTIES LINK_FLAGS "-Wl,--no-undefined -Wl,-rpath -Wl,${YAST_PLUGIN_DIR}" )
INSTALL(TARGETS py2qt_pkg LIBRARY DESTINATION ${YAST_PLUGIN_DIR} )
Copied: trunk/qt-pkg/src/YQPackageSelectorPluginImpl.cc (from r44476, trunk/ncurses-pkg/src/NCPackageSelectorPluginImpl.cc)
URL: http://svn.opensuse.org/viewcvs/yast/trunk/qt-pkg/src/YQPackageSelectorPluginImpl.cc?p2=trunk/qt-pkg/src/YQPackageSelectorPluginImpl.cc&p1=trunk/ncurses-pkg/src/NCPackageSelectorPluginImpl.cc&r1=44476&r2=44506&rev=44506&view=diff
==============================================================================
--- trunk/ncurses-pkg/src/NCPackageSelectorPluginImpl.cc (original)
+++ trunk/qt-pkg/src/YQPackageSelectorPluginImpl.cc Fri Feb 15 13:42:43 2008
@@ -10,174 +10,114 @@
| (c) SuSE Linux AG |
\----------------------------------------------------------------------/
- File: NCPackageSelectorPluginImpl.cc
+ File: YQPackageSelectorPluginImpl.cc
- Author: Hedgehog Painter
+ Author: Stefan Hundhammer
\\\'>
/-*/
-#include "NCPackageSelectorPluginImpl.h"
-#include "NCPackageSelectorStart.h"
+#include "YQPackageSelectorPluginImpl.h"
+#include "YQPackageSelector.h"
+#include "YQPatternSelector.h"
+#include "YQSimplePatchSelector.h"
-#include
-#include
+#define YUILogComponent "qt-pkg"
+#include
///////////////////////////////////////////////////////////////////
//
//
-// METHOD NAME : NCPackageSelectorPluginStub::createPackageSelector
+// METHOD NAME : YQPackageSelectorPluginStub::createPackageSelector
// METHOD TYPE : YWidget
//
-// DESCRIPTION : Create NCPackageSelectorStart which reads the layout
+// DESCRIPTION : Create YQPackageSelectorStart which reads the layout
// term of the package selection dialog, creates the widget
-// tree and creates the NCPackageSelector.
+// tree and creates the YQPackageSelector.
//
-NCPackageSelectorPluginImpl PSP;
+YQPackageSelectorPluginImpl PSP;
-YPackageSelector * NCPackageSelectorPluginImpl::createPackageSelector( YWidget * parent,
- long modeFlags )
+YPackageSelector * YQPackageSelectorPluginImpl::createPackageSelector( YWidget * parent,
+ long modeFlags )
{
- YWidget * w = 0;
+ /* if ( error() )
+ return 0; */
+
+ YQPackageSelector * packageSelector = 0;
try
{
- w = new NCPackageSelectorStart ( parent, modeFlags, YD_HORIZ );
+ packageSelector = new YQPackageSelector( parent, modeFlags );
}
catch (const std::exception & e)
{
- UIERR << "Caught a std::exception: " << e.what () << endl;
+ yuiError() << "Caught std::exception: " << e.what() << endl;
+ yuiError() << "This is a libzypp problem. Do not file a bug against the UI!" << endl;
}
catch (...)
{
- UIERR << "Caught an unspecified exception" << endl;
+ yuiError() << "Caught unspecified exception." << endl;
+ yuiError() << "This is a libzypp problem. Do not file a bug against the UI!" << endl;
}
- // FIXME - remove debug logging
- YDialog::currentDialog()->dumpWidgetTree();
- NCWidget * firstChild = dynamic_cast(YDialog::currentDialog()->firstChild());
- if ( firstChild )
- NCMIL << "FIRST child: " << firstChild << endl;
- NCMIL << "Selector: " << w << endl;
- // FIXME ???
- return (YPackageSelector *)(w);
+ YUI_CHECK_NEW( packageSelector );
+
+ return packageSelector;
}
-///////////////////////////////////////////////////////////////////
-//
-//
-// METHOD NAME : NCPackageSelectorPluign::createPkgSpecial
-// METHOD TYPE : YWidget
-//
-// DESCRIPTION : creates special widgets used for the package selection
-// dialog (which do not have a corresponding widget in qt-ui)
-//
-YWidget * NCPackageSelectorPluginImpl::createPkgSpecial( YWidget *parent, const string &subwidget )
+
+YWidget *YQPackageSelectorPluginImpl::createPatternSelector( YWidget * parent, long modeFlags )
{
- YWidget * w = 0;
- YTableHeader * tableHeader = new YTableHeader();
-
- if ( subwidget == "pkgTable" )
- {
- NCDBG << "Creating a NCPkgTable" << endl;
- try
- {
- //UIERR << "Tady taky nic neni " << endl;
- w = new NCPkgTable( parent, tableHeader );
- }
- catch (const std::exception & e)
- {
- UIERR << "Caught a std::exception: " << e.what () << endl;
- }
- catch (...)
- {
- UIERR << "Caught an unspecified exception" << endl;
- }
+ /* if ( error() )
+ return 0; */
+
+ YQPatternSelector * patternSelector = 0;
+
+ try
+ {
+ patternSelector = new YQPatternSelector( parent, modeFlags );
}
- else
+ catch (const std::exception & e)
{
- NCERR << "PkgSpecial( " << subwidget << " ) not found - take default `Label" << endl;
- w = new NCLabel( parent, subwidget, false, false );
+ yuiError() << "Caught std::exception: " << e.what() << endl;
+ yuiError() << "This is a libzypp problem. Do not file a bug against the UI!" << endl;
}
+ catch (...)
+ {
+ yuiError() << "Caught unspecified exception." << endl;
+ yuiError() << "This is a libzypp problem. Do not file a bug against the UI!" << endl;
+ }
+
+ YUI_CHECK_NEW( patternSelector );
+
+ return patternSelector;
- return w;
}
-///////////////////////////////////////////////////////////////////
-//
-//
-// METHOD NAME : NCPackageSelectorPLugin::runPkgSelection
-// METHOD TYPE : YEvent *
-//
-// DESCRIPTION : Implementation of UI builtin RunPkgSelection() which
-// has to be called after OpenDialog( `PackageSelector() ).
-//
-YEvent * NCPackageSelectorPluginImpl::runPkgSelection( YDialog * dialog,
- YWidget * selector )
+YWidget *YQPackageSelectorPluginImpl::createSimplePatchSelector( YWidget * parent, long modeFlags )
{
- NCPackageSelectorStart * ncSelector = 0;
+ /* if ( error() )
+ return 0; */
- NCMIL << "Calling runPkgSelection()" << endl;
-
- if ( !dialog )
- {
- UIERR << "ERROR package selection: No dialog existing." << endl;
- return 0;
- }
- if ( !selector )
- {
- UIERR << "ERROR package selection: No package selector existing." << endl;
- return 0;
- }
-
- ncSelector = dynamic_cast( selector );
-
- bool result = true;
-
- // start event loop
- NCursesEvent event = NCursesEvent::cancel;
- NCDialog * ncd = static_cast( dialog );
-
- if ( ncSelector )
- {
- try
- {
- ncSelector->showDefaultList();
- NCMIL << "NCDialog: " << ncd << endl;
- do
- {
- event = ncd->userInput();
- result = ncSelector->handleEvent( event );
- NCDBG << "Result: " << (result?"true":"false") << endl;
- }
- while ( event != NCursesEvent::cancel && result == true );
- }
- catch (const std::exception & e)
- {
- UIERR << "Caught a std::exception: " << e.what () << endl;
- }
- catch (...)
- {
- UIERR << "Caught an unspecified exception" << endl;
- }
- }
- else
- {
- UIERR << "No NCPackageSelectorStart existing" << endl;
- }
-
- if ( event.result != "" )
- {
- // Before returning some value to the YCP client,
- // we must delete (==close) any leftover dialogs,
- // Wizard will not do it for us (#354712)
- while( YDialog::topmostDialog() != dialog ) {
- YDialog::deleteTopmostDialog();
- }
- NCMIL << "Return value: " << event.result << endl;
- return new YMenuEvent( event.result );
+ YQSimplePatchSelector * simplePatchSelector = 0;
+
+ try
+ {
+ simplePatchSelector = new YQSimplePatchSelector( parent, modeFlags );
}
- else
- return new YCancelEvent();
-}
+ catch (const std::exception & e)
+ {
+ yuiError() << "Caught std::exception: " << e.what() << endl;
+ yuiError() << "This is a libzypp problem. Do not file a bug against the UI!" << endl;
+ }
+ catch (...)
+ {
+ yuiError() << "Caught unspecified exception." << endl;
+ yuiError() << "This is a libzypp problem. Do not file a bug against the UI!" << endl;
+ }
+
+ YUI_CHECK_NEW( simplePatchSelector );
+ return simplePatchSelector;
+
+}
Copied: trunk/qt-pkg/src/YQPackageSelectorPluginImpl.h (from r44476, trunk/ncurses-pkg/src/NCPackageSelectorPluginImpl.h)
URL: http://svn.opensuse.org/viewcvs/yast/trunk/qt-pkg/src/YQPackageSelectorPluginImpl.h?p2=trunk/qt-pkg/src/YQPackageSelectorPluginImpl.h&p1=trunk/ncurses-pkg/src/NCPackageSelectorPluginImpl.h&r1=44476&r2=44506&rev=44506&view=diff
==============================================================================
--- trunk/ncurses-pkg/src/NCPackageSelectorPluginImpl.h (original)
+++ trunk/qt-pkg/src/YQPackageSelectorPluginImpl.h Fri Feb 15 13:42:43 2008
@@ -10,30 +10,29 @@
| (c) SuSE Linux AG |
\----------------------------------------------------------------------/
- File: NCPackageSelectorPluginImpl.h
+ File: YQPackageSelectorPluginImpl.h
Author: Hedgehog Painter
-/-*/
+/-*/
-#ifndef NCPackageSelectorPluginImpl_h
-#define NCPackageSelectorPluginImpl_h
+#ifndef YQPackageSelectorPluginImpl_h
+#define YQPackageSelectorPluginImpl_h
-#include "NCPackageSelectorPluginIf.h"
+#include "YQPackageSelectorPluginIf.h"
-class NCPackageSelectorPluginImpl : public NCPackageSelectorPluginIf
+class YQPackageSelectorPluginImpl : public YQPackageSelectorPluginIf
{
public:
- virtual ~NCPackageSelectorPluginImpl() {};
+ virtual ~YQPackageSelectorPluginImpl() {}
virtual YPackageSelector * createPackageSelector( YWidget * parent, long modeFlags);
- virtual YEvent *runPkgSelection (YDialog *currentDialog, YWidget *packageSelector );
-
- virtual YWidget *createPkgSpecial (YWidget *parent, const string &subwidget );
+ virtual YWidget *createPatternSelector( YWidget * parent, long modeFlags );
+ virtual YWidget *createSimplePatchSelector( YWidget * parent, long modeFlags );
};
#endif
Modified: trunk/qt/src/CMakeLists.txt
URL: http://svn.opensuse.org/viewcvs/yast/trunk/qt/src/CMakeLists.txt?rev=44506&r1=44505&r2=44506&view=diff
==============================================================================
--- trunk/qt/src/CMakeLists.txt (original)
+++ trunk/qt/src/CMakeLists.txt Fri Feb 15 13:42:43 2008
@@ -159,7 +159,7 @@
TARGET_LINK_LIBRARIES( py2qt ${YAST_PLUGIN_UI_LIBRARY} )
TARGET_LINK_LIBRARIES( py2qt dl X11 )
SET_TARGET_PROPERTIES( py2qt PROPERTIES SOVERSION 2 )
-#SET_TARGET_PROPERTIES( py2qt PROPERTIES LINK_FLAGS -Wl,--no-undefined )
+SET_TARGET_PROPERTIES( py2qt PROPERTIES LINK_FLAGS "-Wl,--no-undefined -Wl,-rpath -Wl,${YAST_PLUGIN_DIR}" )
INSTALL(TARGETS py2qt LIBRARY DESTINATION ${YAST_PLUGIN_DIR} )
Modified: trunk/qt/src/YQPackageSelectorPluginIf.h
URL: http://svn.opensuse.org/viewcvs/yast/trunk/qt/src/YQPackageSelectorPluginIf.h?rev=44506&r1=44505&r2=44506&view=diff
==============================================================================
--- trunk/qt/src/YQPackageSelectorPluginIf.h (original)
+++ trunk/qt/src/YQPackageSelectorPluginIf.h Fri Feb 15 13:42:43 2008
@@ -29,17 +29,12 @@
public:
- virtual ~YQPackageSelectorPluginIf() = 0;
+ virtual ~YQPackageSelectorPluginIf() {}
virtual YPackageSelector *createPackageSelector( YWidget *parent, long modeFlags ) = 0 ;
- virtual YEvent *runPkgSelection (YDialog *currentDialog, YWidget *packageSelector ) = 0;
-
- virtual YWidget *createPkgSpecial (YWidget *parent, const string &subwidget ) = 0;
-
virtual YWidget *createPatternSelector( YWidget * parent, long modeFlags ) = 0;
virtual YWidget *createSimplePatchSelector( YWidget * parent, long modeFlags ) = 0;
-
};
#endif
Modified: trunk/qt/src/YQPackageSelectorPluginStub.cc
URL: http://svn.opensuse.org/viewcvs/yast/trunk/qt/src/YQPackageSelectorPluginStub.cc?rev=44506&r1=44505&r2=44506&view=diff
==============================================================================
--- trunk/qt/src/YQPackageSelectorPluginStub.cc (original)
+++ trunk/qt/src/YQPackageSelectorPluginStub.cc Fri Feb 15 13:42:43 2008
@@ -36,6 +36,12 @@
impl = (YQPackageSelectorPluginIf*) locateSymbol("PSP");
+ if ( !impl )
+ {
+ yuiError() << "Plugin " << PLUGIN_BASE_NAME << " does not provide PSP symbol" << endl;
+ exit( 1 );
+ }
+
}
@@ -73,32 +79,3 @@
return impl->createSimplePatchSelector( parent, modeFlags );
}
-///////////////////////////////////////////////////////////////////
-//
-//
-// METHOD NAME : YQPackageSelectorPluign::createPkgSpecial
-// METHOD TYPE : YWidget
-//
-// DESCRIPTION : creates special widgets used for the package selection
-// dialog (which do not have a corresponding widget in qt-ui)
-//
-YWidget * YQPackageSelectorPluginStub::createPkgSpecial( YWidget *parent, const string &subwidget )
-{
- return impl->createPkgSpecial( parent, subwidget );
-}
-
-///////////////////////////////////////////////////////////////////
-//
-//
-// METHOD NAME : YQPackageSelectorPLugin::runPkgSelection
-// METHOD TYPE : YEvent *
-//
-// DESCRIPTION : Implementation of UI builtin RunPkgSelection() which
-// has to be called after OpenDialog( `PackageSelector() ).
-//
-YEvent * YQPackageSelectorPluginStub::runPkgSelection( YDialog * dialog,
- YWidget * selector )
-{
- return impl->runPkgSelection( dialog, selector );
-}
-
Modified: trunk/qt/src/YQPackageSelectorPluginStub.h
URL: http://svn.opensuse.org/viewcvs/yast/trunk/qt/src/YQPackageSelectorPluginStub.h?rev=44506&r1=44505&r2=44506&view=diff
==============================================================================
--- trunk/qt/src/YQPackageSelectorPluginStub.h (original)
+++ trunk/qt/src/YQPackageSelectorPluginStub.h Fri Feb 15 13:42:43 2008
@@ -69,19 +69,6 @@
long modeFlags );
- /**
- * Fills the PackageSelector widget (runs the package selection).
- */
- virtual YEvent * runPkgSelection( YDialog *currentDialog,
- YWidget * packageSelector );
-
- /**
- * Create a special widget
- */
- virtual YWidget * createPkgSpecial( YWidget *parent,
- const string &subwidget );
-
-
YQPackageSelectorPluginIf *impl ;
};
--
To unsubscribe, e-mail: yast-commit+unsubscribe@opensuse.org
For additional commands, e-mail: yast-commit+help@opensuse.org