From 6a131d2a704d62983149bba27dcaed007e0609e9 Mon Sep 17 00:00:00 2001 From: Jacob Alexander Date: Thu, 6 Nov 2008 16:32:36 -0800 Subject: [PATCH] More progress on Widget Moving (Bus-Dev) --- src/Baulk/Control/control.cpp | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/src/Baulk/Control/control.cpp b/src/Baulk/Control/control.cpp index be2415f..ce2890a 100644 --- a/src/Baulk/Control/control.cpp +++ b/src/Baulk/Control/control.cpp @@ -478,10 +478,12 @@ void BaulkControl::moveInc() { void BaulkControl::moveLayoutDec() { int curPos = dynBotIndex(); int curLayoutPos = dynTopLayout->indexOf( dynBotLayout ); + int newPos = curPos; QWidget *widget = dynTopLayout->widget( curPos ); // Last Layout, and more than one widget if ( curLayoutPos == 0 ) { + qCritical("BLA"); // Only Widget in Layout if ( dynBotLayout->count() == 1 ) return; @@ -493,17 +495,23 @@ void BaulkControl::moveLayoutDec() { curLayoutPos = 1; } + qCritical("BLA1"); // Normal Case QSplitter *prevLayout = dynBotLayout; dynBotLayout = qobject_cast( dynTopLayout->widget( curLayoutPos - 1 ) ); + qCritical("BLA2 - %d", curPos ); // Widget Placement, use same index if possible - if ( curPos >= dynBotLayout->count() - 1 ) - curPos = dynBotLayout->count() - 1; - dynBotLayout->insertWidget( curPos, widget ); + if ( curPos >= dynBotLayout->count() - 1 ) { + newPos = newPos <= 0 ? 0 : dynBotLayout->count() - 1; + qCritical("BLAa"); + } + dynBotLayout->insertWidget( newPos, prevLayout->widget( curPos ) ); + qCritical("BLA3"); // First Layout, and only Widget if ( prevLayout->count() == 0 ) { + qCritical("BLA4"); prevLayout->hide(); topVLayout->addWidget( prevLayout ); prevLayout->close(); -- 2.11.4.GIT