Window title will be changed on rename track, now

This commit is contained in:
Steffen Baranowsky
2016-09-01 10:24:25 +02:00
parent f14cb687de
commit 129e446322
2 changed files with 25 additions and 2 deletions

View File

@@ -64,6 +64,7 @@ protected:
virtual void moveEvent( QMoveEvent * event );
virtual void resizeEvent( QResizeEvent * event );
virtual void paintEvent( QPaintEvent * pe );
virtual void changeEvent( QEvent * event );
private:
const QSize m_buttonSize;
@@ -82,6 +83,7 @@ private:
static void elideText( QLabel *label, QString text );
bool isMaximized();
void adjustTitleBar();
};
#endif

View File

@@ -121,6 +121,20 @@ void SubWindow::paintEvent( QPaintEvent * )
void SubWindow::changeEvent( QEvent *event )
{
QMdiSubWindow::changeEvent( event );
if( event->type() == QEvent::WindowTitleChange )
{
adjustTitleBar();
}
}
void SubWindow::elideText( QLabel *label, QString text )
{
QFontMetrics metrix( label->font() );
@@ -219,7 +233,7 @@ void SubWindow::moveEvent( QMoveEvent * event )
void SubWindow::resizeEvent( QResizeEvent * event )
void SubWindow::adjustTitleBar()
{
// button adjustments
m_minimizeBtn->hide();
@@ -280,12 +294,19 @@ void SubWindow::resizeEvent( QResizeEvent * event )
elideText( m_windowTitle, widget()->windowTitle() );
m_windowTitle->setTextInteractionFlags( Qt::NoTextInteraction );
m_windowTitle->adjustSize();
}
void SubWindow::resizeEvent( QResizeEvent * event )
{
adjustTitleBar();
QMdiSubWindow::resizeEvent( event );
// if the window was resized and ISN'T minimized/maximized/fullscreen,
// then save the current size
if( !isMax && !isMin && !isFullScreen() )
if( !isMaximized() && !isMinimized() && !isFullScreen() )
{
m_trackedNormalGeom.setSize( event->size() );
}