summaryrefslogtreecommitdiff
path: root/muse2/muse/cobject.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'muse2/muse/cobject.cpp')
-rw-r--r--muse2/muse/cobject.cpp24
1 files changed, 23 insertions, 1 deletions
diff --git a/muse2/muse/cobject.cpp b/muse2/muse/cobject.cpp
index a3b62a80..e25cefdb 100644
--- a/muse2/muse/cobject.cpp
+++ b/muse2/muse/cobject.cpp
@@ -69,6 +69,8 @@ TopWin::TopWin(ToplevelType t, QWidget* parent, const char* name, Qt::WindowFlag
subwinAction->setChecked(isMdiWin());
shareAction->setChecked(_sharesToolsAndMenu);
fullscreenAction->setEnabled(!isMdiWin());
+
+ resize(_widthInit[_type], _heightInit[_type]);
}
@@ -187,10 +189,13 @@ void TopWin::setIsMdiWin(bool val)
if (!isMdiWin())
{
_savedToolbarState = saveState();
-
+ int width_temp=width();
+ int height_temp=height();
bool vis=isVisible();
+
QMdiSubWindow* subwin = createMdiWrapper();
muse->addMdiSubWindow(subwin);
+ subwin->resize(width_temp, height_temp);
subwin->setVisible(vis);
this->QMainWindow::show(); //bypass the delegation to the subwin
@@ -211,13 +216,17 @@ void TopWin::setIsMdiWin(bool val)
{
if (isMdiWin())
{
+ int width_temp=width();
+ int height_temp=height();
bool vis=isVisible();
+
QMdiSubWindow* mdisubwin_temp=mdisubwin;
mdisubwin=NULL;
setParent(NULL);
mdisubwin_temp->hide();
delete mdisubwin_temp;
+ resize(width_temp, height_temp);
setVisible(vis);
if (_sharesToolsAndMenu == _sharesWhenSubwin[_type])
@@ -464,3 +473,16 @@ void TopWin::setFullscreen(bool val)
else
showNormal();
}
+
+void TopWin::resize(int w, int h)
+{
+ QMainWindow::resize(w,h);
+
+ if (isMdiWin())
+ mdisubwin->resize(w,h);
+}
+
+void TopWin::resize(const QSize& s)
+{
+ resize(s.width(), s.height());
+}