Minor fixes in windows manager

This commit is contained in:
2015-04-11 13:49:37 +01:00
parent ebbaaaf876
commit 6fc22dfc04
4 changed files with 45 additions and 44 deletions
+2
View File
@@ -32,6 +32,8 @@ namespace plaYUVer
PlaYUVerMdiSubWindow::PlaYUVerMdiSubWindow( QWidget *parent ) :
QMdiSubWindow( parent )
{
setAttribute( Qt::WA_DeleteOnClose );
setBackgroundRole( QPalette::Background );
}
QSize PlaYUVerMdiSubWindow::sizeHint() const
+39 -40
View File
@@ -33,7 +33,7 @@ namespace plaYUVer
class PlaYUVerMdiArea: public QMdiArea
{
public:
PlaYUVerMdiArea( QWidget *parent ) :
PlaYUVerMdiArea( QWidget *parent = 0 ) :
QMdiArea( parent ),
m_pixmapLogo( ":/images/playuver-backgroud-logo.png" )
{
@@ -44,13 +44,12 @@ protected:
{
QMdiArea::paintEvent( event );
QPainter painter( viewport() );
QPixmap pixFinalLogo = m_pixmapLogo.scaled( 2 * size() / 3, Qt::KeepAspectRatio );
// Calculate the logo position - the bottom right corner of the mdi area.
int x = width() / 2 - pixFinalLogo.width() / 2;
int y = height() / 2 - pixFinalLogo.height() / 2;
painter.drawPixmap( x, y, pixFinalLogo );
// QPoint bottomLeftCorner( 0, viewport()->height() );
}
private:
QPixmap m_pixmapLogo;
@@ -67,22 +66,22 @@ PlaYUVerSubWindowHandle::PlaYUVerSubWindowHandle( QWidget *parent ) :
m_apcMdiSubWindowList.clear();
m_pcApp = qobject_cast<PlaYUVerApp*>( parentWidget() );
//setWindowMode( NormalSubWindows );
setWindowMode( MdiWSubWindows );
//setWindowMode( DETACHEDSUBWINDOWMODE );
setWindowMode( MDISUBWINDOWMODE );
}
Void PlaYUVerSubWindowHandle::resetWindowMode()
{
QList<SubWindowAbstract*> apcSubWindowList = m_apcSubWindowList;
if( m_iWindowMode == NormalSubWindows )
if( m_iWindowMode == DETACHEDSUBWINDOWMODE )
{
}
if( m_iWindowMode == MdiWSubWindows )
if( m_iWindowMode == MDISUBWINDOWMODE )
{
m_cMdiModeWindowPosition = parentWidget()->pos();
m_cMdiModeWindowSize = parentWidget()->size();
m_cMdiModeWindowPosition = m_pcApp->pos();
m_cMdiModeWindowSize = m_pcApp->size();
for( Int i = 0; i < m_apcSubWindowList.size(); i++ )
{
m_apcSubWindowList.at( i )->setParent( NULL );
@@ -108,7 +107,7 @@ Void PlaYUVerSubWindowHandle::setWindowMode( Int iWindowMode )
resetWindowMode();
if( iWindowMode == NormalSubWindows )
if( iWindowMode == DETACHEDSUBWINDOWMODE )
{
for( Int i = 0; i < m_apcSubWindowList.size(); i++ )
{
@@ -118,18 +117,18 @@ Void PlaYUVerSubWindowHandle::setWindowMode( Int iWindowMode )
}
setVisible( false );
parentWidget()->update();
parentWidget()->showNormal();
m_pcApp->showNormal();
qApp->processEvents();
QSize screenSize = QApplication::desktop()->availableGeometry().size();
parentWidget()->move( 0, 0 );
parentWidget()->resize( screenSize.width(), 5 );
parentWidget()->setWindowTitle( QApplication::applicationName() );
m_pcApp->move( 0, 0 );
m_pcApp->resize( screenSize.width(), 5 );
m_pcApp->setWindowTitle( QApplication::applicationName() );
}
if( iWindowMode == MdiWSubWindows )
if( iWindowMode == MDISUBWINDOWMODE )
{
setVisible( true );
m_pcMdiArea = new PlaYUVerMdiArea( this );
m_pcMdiArea = new PlaYUVerMdiArea;
m_pcMdiArea->setActivationOrder( QMdiArea::ActivationHistoryOrder );
connect( m_pcMdiArea, SIGNAL( subWindowActivated(QMdiSubWindow*) ), this, SLOT( updateActiveSubWindow() ) );
m_pcWindowManagerLayout = new QHBoxLayout( this );
@@ -140,11 +139,11 @@ Void PlaYUVerSubWindowHandle::setWindowMode( Int iWindowMode )
addMdiSubWindow( m_apcSubWindowList.at( i ) );
m_apcSubWindowList.at( i )->resize( m_apcSubWindowList.at( i )->sizeHint() );
}
parentWidget()->move( m_cMdiModeWindowPosition );
parentWidget()->resize( m_cMdiModeWindowSize );
m_pcApp->move( m_cMdiModeWindowPosition );
m_pcApp->resize( m_cMdiModeWindowSize );
if( m_pcActiveWindow )
{
parentWidget()->setWindowTitle( QApplication::applicationName() + " :: " + m_pcActiveWindow->getWindowName() );
m_pcApp->setWindowTitle( QApplication::applicationName() + " :: " + m_pcActiveWindow->getWindowName() );
}
}
m_iWindowMode = iWindowMode;
@@ -155,7 +154,7 @@ Void PlaYUVerSubWindowHandle::setWindowMode( Int iWindowMode )
Void PlaYUVerSubWindowHandle::updateActiveSubWindow( SubWindowAbstract *window )
{
if( m_iWindowMode == NormalSubWindows )
if( m_iWindowMode == DETACHEDSUBWINDOWMODE )
{
if( window )
{
@@ -164,7 +163,7 @@ Void PlaYUVerSubWindowHandle::updateActiveSubWindow( SubWindowAbstract *window )
}
}
if( m_iWindowMode == MdiWSubWindows )
if( m_iWindowMode == MDISUBWINDOWMODE )
{
m_pcActiveWindow = NULL;
QMdiSubWindow* mdiSubWindow = m_pcMdiArea->activeSubWindow();
@@ -180,7 +179,7 @@ Void PlaYUVerSubWindowHandle::updateActiveSubWindow( SubWindowAbstract *window )
}
if( m_pcActiveWindow )
{
parentWidget()->setWindowTitle( QApplication::applicationName() + " :: " + m_pcActiveWindow->getWindowName() );
m_pcApp->setWindowTitle( QApplication::applicationName() + " :: " + m_pcActiveWindow->getWindowName() );
}
}
}
@@ -201,12 +200,12 @@ Void PlaYUVerSubWindowHandle::addSubWindow( SubWindowAbstract *window, Qt::Windo
{
connect( window, SIGNAL( updateStatusBar( const QString& ) ), m_pcApp, SLOT( updateStatusBar( const QString& ) ) );
connect( window, SIGNAL( zoomFactorChanged_SWindow( const double, const QPoint ) ), m_pcApp, SLOT( updateZoomFactorSBox() ) );
if( m_iWindowMode == NormalSubWindows )
if( m_iWindowMode == DETACHEDSUBWINDOWMODE )
{
connect( window, SIGNAL( aboutToActivate( SubWindowAbstract* ) ), this, SLOT( updateActiveSubWindow( SubWindowAbstract* ) ) );
connect( window, SIGNAL( aboutToClose( SubWindowAbstract* ) ), this, SLOT( removeSubWindow( SubWindowAbstract* ) ) );
}
if( m_iWindowMode == MdiWSubWindows )
if( m_iWindowMode == MDISUBWINDOWMODE )
{
addMdiSubWindow( window );
}
@@ -218,13 +217,13 @@ Void PlaYUVerSubWindowHandle::removeSubWindow( Int windowIdx )
{
if( windowIdx >= 0 )
{
if( m_iWindowMode == NormalSubWindows )
if( m_iWindowMode == DETACHEDSUBWINDOWMODE )
{
SubWindowAbstract* subWindow = m_apcSubWindowList.at( windowIdx );
m_apcSubWindowList.removeAt( windowIdx );
subWindow->close();
}
if( m_iWindowMode == MdiWSubWindows )
if( m_iWindowMode == MDISUBWINDOWMODE )
{
PlaYUVerMdiSubWindow* mdiSubWindow = m_apcMdiSubWindowList.at( windowIdx );
m_apcMdiSubWindowList.removeAt( windowIdx );
@@ -321,11 +320,11 @@ Void PlaYUVerSubWindowHandle::setActiveSubWindow( QWidget *window )
m_pcActiveWindow = qobject_cast<SubWindowAbstract *>( window );
if( m_iWindowMode == NormalSubWindows )
if( m_iWindowMode == DETACHEDSUBWINDOWMODE )
{
m_pcActiveWindow->window()->activateWindow();
}
if( m_iWindowMode == MdiWSubWindows )
if( m_iWindowMode == MDISUBWINDOWMODE )
{
m_pcActiveWindow->setFocus();
}
@@ -337,7 +336,7 @@ Void PlaYUVerSubWindowHandle::tileSubWindows()
if( numberOfWindows == 0 )
return;
if( m_iWindowMode == NormalSubWindows )
if( m_iWindowMode == DETACHEDSUBWINDOWMODE )
{
QSize screenSize = QApplication::desktop()->availableGeometry().size();
UInt minWindowsInRow = 1;
@@ -345,10 +344,10 @@ Void PlaYUVerSubWindowHandle::tileSubWindows()
{
minWindowsInRow++;
}
parentWidget()->showNormal();
m_pcApp->showNormal();
qApp->processEvents();
parentWidget()->move( 0, 0 );
parentWidget()->resize( screenSize.width(), 5 );
m_pcApp->move( 0, 0 );
m_pcApp->resize( screenSize.width(), 5 );
QSize appSize = m_pcApp->size();
QPoint topLeftCornerWindow( 0, appSize.height() );
//Select the arrangement based on the number of windows
@@ -392,7 +391,7 @@ Void PlaYUVerSubWindowHandle::tileSubWindows()
m_apcSubWindowList.at( i )->move( topLeftCornerWindow + windowRelativePos );
}
}
if( m_iWindowMode == MdiWSubWindows )
if( m_iWindowMode == MDISUBWINDOWMODE )
{
m_pcMdiArea->tileSubWindows();
}
@@ -401,7 +400,7 @@ Void PlaYUVerSubWindowHandle::tileSubWindows()
Void PlaYUVerSubWindowHandle::cascadeSubWindows()
{
if( m_iWindowMode == MdiWSubWindows )
if( m_iWindowMode == MDISUBWINDOWMODE )
{
m_pcMdiArea->cascadeSubWindows();
}
@@ -425,13 +424,13 @@ Void PlaYUVerSubWindowHandle::createActions()
m_arrayActions[NORMAL_SUBWINDOW_MODE_ACT]->setCheckable( true );
m_actionGroupWindowMode->addAction( m_arrayActions[NORMAL_SUBWINDOW_MODE_ACT] );
connect( m_arrayActions[NORMAL_SUBWINDOW_MODE_ACT], SIGNAL( triggered() ), m_mapperWindowMode, SLOT( map() ) );
m_mapperWindowMode->setMapping( m_arrayActions[NORMAL_SUBWINDOW_MODE_ACT], NormalSubWindows );
m_mapperWindowMode->setMapping( m_arrayActions[NORMAL_SUBWINDOW_MODE_ACT], DETACHEDSUBWINDOWMODE );
m_arrayActions[MDI_SUBWINDOW_MODE_ACT] = new QAction( "&MDI SubWindows", this );
m_arrayActions[MDI_SUBWINDOW_MODE_ACT]->setCheckable( true );
m_actionGroupWindowMode->addAction( m_arrayActions[MDI_SUBWINDOW_MODE_ACT] );
connect( m_arrayActions[MDI_SUBWINDOW_MODE_ACT], SIGNAL( triggered() ), m_mapperWindowMode, SLOT( map() ) );
m_mapperWindowMode->setMapping( m_arrayActions[MDI_SUBWINDOW_MODE_ACT], MdiWSubWindows );
m_mapperWindowMode->setMapping( m_arrayActions[MDI_SUBWINDOW_MODE_ACT], MDISUBWINDOWMODE );
m_actionGroupWindowMode->actions().at( m_iWindowMode )->setChecked( true );
@@ -497,9 +496,9 @@ Void PlaYUVerSubWindowHandle::updateMenu()
m_pcMenuWindow->addAction( m_arrayActions[TILE_WINDOWS_ACT] );
m_pcMenuWindow->addAction( m_arrayActions[CASCADE_WINDOWS_ACT] );
m_pcMenuWindow->addSeparator();
m_pcMenuWindow->addAction( m_arrayActions[NEXT_WINDOWS_ACT] );
m_pcMenuWindow->addAction( m_arrayActions[PREVIOUS_WINDOWS_ACT] );
m_pcMenuWindow->addSeparator();
// m_pcMenuWindow->addAction( m_arrayActions[NEXT_WINDOWS_ACT] );
// m_pcMenuWindow->addAction( m_arrayActions[PREVIOUS_WINDOWS_ACT] );
// m_pcMenuWindow->addSeparator();
Int number_windows = m_apcSubWindowList.size();
if( number_windows > 1 )
@@ -541,7 +540,7 @@ Void PlaYUVerSubWindowHandle::readSettings()
QSettings appSettings;
m_cMdiModeWindowPosition = appSettings.value( "SubWindowManager/LastMdiPosition", QPoint( 200, 200 ) ).toPoint();
m_cMdiModeWindowSize = appSettings.value( "SubWindowManager/LastMdiSize", QSize( 500, 400 ) ).toSize();
Int iWindowMode = appSettings.value( "SubWindowManager/SubWindowMode", MdiWSubWindows ).toInt();
Int iWindowMode = appSettings.value( "SubWindowManager/SubWindowMode", MDISUBWINDOWMODE ).toInt();
setWindowMode( iWindowMode );
m_actionGroupWindowMode->actions().at( iWindowMode )->setChecked( true );
}
+2 -2
View File
@@ -64,8 +64,8 @@ public:
enum WindowMode
{
NormalSubWindows = 0,
MdiWSubWindows = 1,
DETACHEDSUBWINDOWMODE = 0,
MDISUBWINDOWMODE = 1,
};
private:
+2 -2
View File
@@ -198,14 +198,14 @@ Void PlotSubWindow::setAxisRange( PlotSubWindow::Axis eAxis, const Int& axisStar
if( eAxis == HORIZONTAL )
{
m_cPlotArea->xAxis->setRange( axisStart, axisEnd );
horizontalScrollBar()->setRange( axisStart * 100, axisEnd * 100 );
//horizontalScrollBar()->setRange( axisStart * 100, axisEnd * 100 );
m_aAxisRange[HORIZONTAL][0] = axisStart;
m_aAxisRange[HORIZONTAL][1] = axisEnd;
}
if( eAxis == VERTICAL )
{
m_cPlotArea->yAxis->setRange( axisStart, axisEnd );
verticalScrollBar()->setRange( axisStart * 100, axisEnd * 100 );
//verticalScrollBar()->setRange( axisStart * 100, axisEnd * 100 );
m_aAxisRange[VERTICAL][0] = axisStart;
m_aAxisRange[VERTICAL][1] = axisEnd;
}