Author: kmachalkova
Date: Wed Jan 14 14:50:33 2009
New Revision: 54617
URL: http://svn.opensuse.org/viewcvs/yast?rev=54617&view=rev
Log:
Wizard widget is now derived from QSplitter in
order to enable hiding/showing steps panel in
installation (bnc#445682, bnc#460739)
Modified:
trunk/qt/package/yast2-qt.changes
trunk/qt/src/YQMainWinDock.cc
trunk/qt/src/YQWizard.cc
trunk/qt/src/YQWizard.h
Modified: trunk/qt/package/yast2-qt.changes
URL: http://svn.opensuse.org/viewcvs/yast/trunk/qt/package/yast2-qt.changes?rev=54617&r1=54616&r2=54617&view=diff
==============================================================================
--- trunk/qt/package/yast2-qt.changes (original)
+++ trunk/qt/package/yast2-qt.changes Wed Jan 14 14:50:33 2009
@@ -1,4 +1,11 @@
-------------------------------------------------------------------
+Wed Jan 14 14:38:55 CET 2009 - kmachalkova@suse.cz
+
+- Wizard widget is now derived from QSplitter, replacing former
+ QFrame. This makes steps/tree panel collapsible (bnc#460739,
+ bnc#445682)
+
+-------------------------------------------------------------------
Tue Jan 13 13:57:01 CET 2009 - tgoettlicher@suse.de
- Fixed bnc #445951: Help dialog untranslated
Modified: trunk/qt/src/YQMainWinDock.cc
URL: http://svn.opensuse.org/viewcvs/yast/trunk/qt/src/YQMainWinDock.cc?rev=54617&r1=54616&r2=54617&view=diff
==============================================================================
--- trunk/qt/src/YQMainWinDock.cc (original)
+++ trunk/qt/src/YQMainWinDock.cc Wed Jan 14 14:50:33 2009
@@ -93,9 +93,9 @@
if ( wizard && wizard->isSecondary() )
{
if ( QApplication::isLeftToRight() )
- rect.setLeft( _sideBarWidth );
+ rect.setLeft( 0 );
else
- rect.setWidth( rect.width() - _sideBarWidth );
+ rect.setWidth( rect.width() );
}
if ( dialog->rect() != rect )
@@ -168,7 +168,8 @@
// untouched; only the right side (the work area) of that wizard is to be
// activated or deactivated.
- YQWizard * wizard = dialog->findWizard();
+ // probably no longer needed, now the windows (even with steps) fully overlap ??
+ /*YQWizard * wizard = dialog->findWizard();
if ( wizard && wizard->wizardMode() == YWizardMode_Steps )
{
@@ -177,7 +178,7 @@
if ( wizardWorkArea )
widget = wizardWorkArea;
// else -> stick with dialog->widgetRep()
- }
+ }*/
if ( widget )
widget->setEnabled( active );
Modified: trunk/qt/src/YQWizard.cc
URL: http://svn.opensuse.org/viewcvs/yast/trunk/qt/src/YQWizard.cc?rev=54617&r1=54616&r2=54617&view=diff
==============================================================================
--- trunk/qt/src/YQWizard.cc (original)
+++ trunk/qt/src/YQWizard.cc Wed Jan 14 14:50:33 2009
@@ -81,7 +81,8 @@
const string & abortButtonLabel,
const string & nextButtonLabel,
YWizardMode wizardMode )
- : QFrame( (QWidget *) parent->widgetRep() )
+ : QSplitter( Qt::Horizontal, (QWidget *) parent->widgetRep() )
+
, YWizard( parent,
backButtonLabel,
abortButtonLabel,
@@ -93,6 +94,7 @@
, _helpDlg ( NULL )
{
setObjectName( "wizard" );
+ setSizePolicy( QSizePolicy( QSizePolicy::Expanding, QSizePolicy::Expanding ) );
QHBoxLayout* layout = new QHBoxLayout( this );
layout->setSpacing( 0 );
@@ -100,7 +102,8 @@
setWidgetRep( this );
- _stepsEnabled = (wizardMode == YWizardMode_Steps);
+ //either main wizard with `opt(`stepsEnabled), or sub-wizard of steps-enabled wizard
+ _stepsEnabled = (wizardMode == YWizardMode_Steps) || (main_wizard && main_wizard->stepsEnabled());
_treeEnabled = (wizardMode == YWizardMode_Tree);
_stepsRegistered = false;
@@ -138,6 +141,9 @@
layout->addLayout( layoutSideBar( this ) );
layout->addWidget( layoutWorkArea( this ) );
+ setStretchFactor(indexOf(_sideBar),0);
+ setStretchFactor(indexOf(_workArea),1);
+
/* If steps are enabled, we want to delay
the registering for after we have steps registered */
if ( !_stepsEnabled )
@@ -149,6 +155,7 @@
}
else if ( main_wizard )
{
+ copySteps( main_wizard );
YQMainWinDock::mainWinDock()->resizeVisibleChild();
}
@@ -159,7 +166,15 @@
{
deleteSteps();
if ( this == main_wizard )
- main_wizard = 0;
+ {
+ main_wizard = 0;
+ }
+ else if ( main_wizard )
+ {
+ //transfer the widget ratio to the main wizard
+ QList <int> sizesSave = sizes();
+ main_wizard->setSizes( sizesSave );
+ }
delete _helpDlg;
@@ -467,6 +482,37 @@
updateStepStates();
}
+void YQWizard::copySteps( YQWizard *wizard)
+{
+ QList