From 5ae46a29fea7599a820c9d7bafb244293bd038dd Mon Sep 17 00:00:00 2001 From: trialuser02 Date: Sat, 29 May 2010 08:23:16 +0000 Subject: fixed problems with transparency settings (Closes issue 317) git-svn-id: http://svn.code.sf.net/p/qmmp-dev/code/trunk/qmmp@1753 90c681e8-e032-0410-971d-27865f9a5e38 --- src/ui/mainwindow.cpp | 23 ++++++++++++++--------- 1 file changed, 14 insertions(+), 9 deletions(-) (limited to 'src/ui/mainwindow.cpp') diff --git a/src/ui/mainwindow.cpp b/src/ui/mainwindow.cpp index f66b21fe4..913a7d46a 100644 --- a/src/ui/mainwindow.cpp +++ b/src/ui/mainwindow.cpp @@ -340,16 +340,21 @@ void MainWindow::readSettings() m_equalizer->setVisible(m_display->isEqualizerVisible()); } #ifdef Q_WS_X11 - WindowSystem::changeWinSticky(this->winId(), m_allDesktops); - if(!WindowSystem::netWindowManagerName().contains("metacity", Qt::CaseInsensitive)) - { -#endif - setWindowOpacity(settings.value("MainWindow/opacity", 1.0).toDouble()); - m_equalizer->setWindowOpacity(settings.value("Equalizer/opacity", 1.0).toDouble()); - m_playlist->setWindowOpacity(settings.value("PlayList/opacity", 1.0).toDouble()); -#ifdef Q_WS_X11 - } + WindowSystem::changeWinSticky(winId(), m_allDesktops); #endif + //Call setWindowOpacity only if needed + double opacity = settings.value("MainWindow/opacity", 1.0).toDouble(); + if(opacity != windowOpacity ()) + setWindowOpacity(opacity); + + opacity = settings.value("Equalizer/opacity", 1.0).toDouble(); + if(opacity != m_equalizer->windowOpacity ()) + m_equalizer->setWindowOpacity(opacity); + + opacity = settings.value("PlayList/opacity", 1.0).toDouble(); + if(opacity != m_playlist->windowOpacity ()) + m_playlist->setWindowOpacity(opacity); + m_hideOnClose = settings.value("MainWindow/hide_on_close", false).toBool(); } -- cgit v1.2.3-13-gbd6f