Author: coolo
Date: Thu Dec 6 21:24:43 2007
New Revision: 42773
URL: http://svn.opensuse.org/viewcvs/yast?rev=42773&view=rev
Log:
fix docking
Modified:
trunk/qt4/src/YQDialog.cc
trunk/qt4/src/YQMainWinDock.cc
Modified: trunk/qt4/src/YQDialog.cc
URL: http://svn.opensuse.org/viewcvs/yast/trunk/qt4/src/YQDialog.cc?rev=42773&r1=42772&r2=42773&view=diff
==============================================================================
--- trunk/qt4/src/YQDialog.cc (original)
+++ trunk/qt4/src/YQDialog.cc Thu Dec 6 21:24:43 2007
@@ -39,31 +39,26 @@
// like "Above", "Below" etc. that clash with some Qt headers.
#include
-#define YQMainDialogWFlags Qt::Window
+#define YQMainDialogWFlags Qt::Widget
-#define YQPopupDialogWFlags Qt::Widget
-
-/* FIXME
-#define YQPopupDialogWFlags \
- ( Qt::WStyle_Customize | \
- Qt::WStyle_Dialog | \
- Qt::WShowModal | \
- Qt::WType_Modal | \
- Qt::WStyle_DialogBorder )
-*/
+#define YQPopupDialogWFlags Qt::Dialog
YQDialog::YQDialog( YDialogType dialogType,
YDialogColorMode colorMode )
- : QWidget( chooseParent( dialogType ),
- dialogType == YMainDialog ? YQMainDialogWFlags : YQPopupDialogWFlags )
+// we first initialize without parent and then set a parent, so we can choose a parent
+// based on the YDialog constructor
+ : QWidget( 0 )
, YDialog( dialogType, colorMode )
{
+ setWidgetRep( this );
+ QWidget::setParent( chooseParent( dialogType ),
+ dialogType == YMainDialog ? YQMainDialogWFlags : YQPopupDialogWFlags );
+
_userResized = false;
_focusButton = 0;
_defaultButton = 0;
- setWidgetRep( this );
setWindowTitle( "YaST2" );
setFocusPolicy( Qt::StrongFocus );
@@ -107,14 +102,14 @@
YQDialog::chooseParent( YDialogType dialogType )
{
QWidget * parent = 0;
-
+
if ( dialogType == YMainDialog &&
YQMainWinDock::mainWinDock()->couldDock() )
{
y2debug( "Adding dialog to mainWinDock" );
parent = YQMainWinDock::mainWinDock();
}
-
+
return parent;
}
Modified: trunk/qt4/src/YQMainWinDock.cc
URL: http://svn.opensuse.org/viewcvs/yast/trunk/qt4/src/YQMainWinDock.cc?rev=42773&r1=42772&r2=42773&view=diff
==============================================================================
--- trunk/qt4/src/YQMainWinDock.cc (original)
+++ trunk/qt4/src/YQMainWinDock.cc Thu Dec 6 21:24:43 2007
@@ -32,7 +32,7 @@
YQMainWinDock::mainWinDock()
{
static YQMainWinDock * mainWinDock = 0;
-
+
if ( ! mainWinDock )
mainWinDock = new YQMainWinDock();
@@ -44,7 +44,7 @@
: QWidget( 0, // parent, name
YQUI::ui()->noBorder() ?
Qt::Widget :
- Qt::Window )
+ Qt::Window )
{
setWindowTitle( "YaST2" );
@@ -76,7 +76,7 @@
add( widget );
}
}
-
+
QWidget::childEvent( event );
}
@@ -112,12 +112,12 @@
YQMainWinDock::show()
{
QWidget::show();
-
+
if ( ! _widgetStack.empty() )
{
QWidget * dialog = _widgetStack.back();
- dialog->raise();
-
+ dialog->raise();
+
if ( dialog->isHidden() )
dialog->show();
}
@@ -135,7 +135,7 @@
y2debug( "Adding dialog %p to mainWinDock", dialog );
_widgetStack.push_back( dialog );
resizeVisibleChild();
-
+
if ( isHidden() )
show();
}
@@ -181,7 +181,7 @@
y2warning( "Found dialog somewhere in the middle of the widget stack" );
y2debug( "Removing dialog %p from mainWinDock", dialog );
-
+
_widgetStack.erase( pos );
}
@@ -224,9 +224,6 @@
bool
YQMainWinDock::couldDock()
{
- //FIXME
- return false;
-
YDialog * topDialog = YDialog::topmostDialog( false ); // don't throw
if ( ! topDialog ) // No dialog at all?
--
To unsubscribe, e-mail: yast-commit+unsubscribe@opensuse.org
For additional commands, e-mail: yast-commit+help@opensuse.org