From 1f98e90244019c5f7b489819fe26dbbf8a050d3b Mon Sep 17 00:00:00 2001 From: LoRd_MuldeR Date: Sun, 24 Nov 2013 00:02:32 +0100 Subject: [PATCH] More improvements to Splash Screen. --- etc/Translation/LameXP_UK.ts | 6 +-- gui/SplashScreen.ui | 31 +++++++------- res/Images.qrc | 43 +++++++++---------- res/images/Background.jpg | Bin 0 -> 15749 bytes src/Config.h | 2 +- src/Dialog_SplashScreen.cpp | 22 ++++++---- src/Global_Win32.cpp | 79 ++++++++++++++++++++++++++--------- 7 files changed, 114 insertions(+), 69 deletions(-) create mode 100644 res/images/Background.jpg diff --git a/etc/Translation/LameXP_UK.ts b/etc/Translation/LameXP_UK.ts index 9ca7adf7..5cd002ec 100644 --- a/etc/Translation/LameXP_UK.ts +++ b/etc/Translation/LameXP_UK.ts @@ -294,11 +294,11 @@ BerliOS Developer - Розробник BerliOS + CodePlex - CodePlex + @@ -2751,7 +2751,7 @@ Initializing, please wait... - Ініціалізація, будь ласка, зачекайте... + Ініціалізація, будь ласка, зачекайте... diff --git a/gui/SplashScreen.ui b/gui/SplashScreen.ui index 2de3a726..476d5598 100644 --- a/gui/SplashScreen.ui +++ b/gui/SplashScreen.ui @@ -2,6 +2,9 @@ SplashScreen + + Qt::ApplicationModal + 0 @@ -34,9 +37,9 @@ - 0 - 0 - 0 + 41 + 58 + 86 @@ -63,9 +66,9 @@ - 0 - 0 - 0 + 41 + 58 + 86 @@ -83,18 +86,18 @@ - 0 - 0 - 0 + 41 + 58 + 86 - 0 - 0 - 0 + 41 + 58 + 86 @@ -104,10 +107,6 @@ LameXP is launching... - - - :/images/Loading2.gif:/images/Loading2.gif - true diff --git a/res/Images.qrc b/res/Images.qrc index cba56566..fe9e9739 100644 --- a/res/Images.qrc +++ b/res/Images.qrc @@ -1,31 +1,32 @@ - - images/Announcement.png - images/Busy.gif - images/Cartoon.png - images/CD.png - images/Disque.png - images/DropBox.png + + images/Announcement.png + images/Background.jpg + images/Busy.gif + images/Cartoon.png + images/CD.png + images/Disque.png + images/DropBox.png images/DropZone.png images/HeaderIcon_CueImport.png - images/HeaderIcon_LogFile.png - images/HeaderIcon_MetaInfo.png - images/Label.png - images/Loading.gif - images/Loading2.gif - images/Loading3.gif + images/HeaderIcon_LogFile.png + images/HeaderIcon_MetaInfo.png + images/Label.png + images/Loading.gif + images/Loading2.gif + images/Loading3.gif images/Loading4.gif images/Logo.png - images/Logo_Contributors.png - images/Logo_GNU.png - images/Logo_Software.png - images/Qt.svg - images/Splash.png + images/Logo_Contributors.png + images/Logo_GNU.png + images/Logo_Software.png + images/Qt.svg + images/Splash.png images/Sound.png images/Starting.png images/Thumb.png - images/Wizard.png - images/Working.gif - + images/Wizard.png + images/Working.gif + diff --git a/res/images/Background.jpg b/res/images/Background.jpg new file mode 100644 index 0000000000000000000000000000000000000000..3aec0e2ebf58417830c0009c1fbca212350ac755 GIT binary patch literal 15749 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 VJvADmiq`YOUKb&;| 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 BMnnJr literal 0 HcmV?d00001 diff --git a/src/Config.h b/src/Config.h index a5e4232f..2b4edc06 100644 --- a/src/Config.h +++ b/src/Config.h @@ -35,7 +35,7 @@ #define VER_LAMEXP_MINOR_LO 9 #define VER_LAMEXP_TYPE Alpha #define VER_LAMEXP_PATCH 8 -#define VER_LAMEXP_BUILD 1462 +#define VER_LAMEXP_BUILD 1464 #define VER_LAMEXP_CONFG 1348 /////////////////////////////////////////////////////////////////////////////// diff --git a/src/Dialog_SplashScreen.cpp b/src/Dialog_SplashScreen.cpp index afb9b8ee..2584641a 100644 --- a/src/Dialog_SplashScreen.cpp +++ b/src/Dialog_SplashScreen.cpp @@ -61,8 +61,8 @@ SplashScreen::SplashScreen(QWidget *parent) setupUi(this); //Make size fixed - setFixedSize(this->maximumSize()); - + setFixedSize(this->size()); + //Create event loop m_loop = new QEventLoop(this); @@ -75,7 +75,10 @@ SplashScreen::SplashScreen(QWidget *parent) connect(m_timer, SIGNAL(timeout()), this, SLOT(updateHandler())); //Enable "sheet of glass" effect on splash screen - lamexp_sheet_of_glass(this); + if(!lamexp_sheet_of_glass(this)) + { + setStyleSheet("background-image: url(:/images/Background.jpg)"); + } //Start animation m_working = new QMovie(":/images/Loading4.gif"); @@ -83,9 +86,6 @@ SplashScreen::SplashScreen(QWidget *parent) labelLoading->setMovie(m_working); m_working->start(); - //Set wait cursor - setCursor(Qt::WaitCursor); - //Init status m_canClose = false; m_status = STATUS_FADE_IN; @@ -116,11 +116,14 @@ SplashScreen::~SplashScreen(void) void SplashScreen::showSplash(QThread *thread) { SplashScreen *splashScreen = new SplashScreen(); - + //Show splash splashScreen->setWindowOpacity(OPACITY_DELTA); splashScreen->show(); + //Set wait cursor + QApplication::setOverrideCursor(QCursor(Qt::WaitCursor)); + //Wait for window to show QApplication::processEvents(QEventLoop::ExcludeUserInputEvents); splashScreen->repaint(); @@ -136,7 +139,7 @@ void SplashScreen::showSplash(QThread *thread) //Start the thread splashScreen->m_timer->start(FADE_DELAY); QTimer::singleShot(8*60*1000, splashScreen->m_loop, SLOT(quit())); - QTimer::singleShot(0, thread, SLOT(start())); + QTimer::singleShot(333, thread, SLOT(start())); //Start event handling! const int ret = splashScreen->m_loop->exec(QEventLoop::ExcludeUserInputEvents); @@ -151,6 +154,9 @@ void SplashScreen::showSplash(QThread *thread) //Restore taskbar SET_TASKBAR_STATE(splashScreen, splashScreen->m_taskBarInit, false); + //Restore cursor + QApplication::restoreOverrideCursor(); + //Hide splash splashScreen->m_canClose = true; splashScreen->close(); diff --git a/src/Global_Win32.cpp b/src/Global_Win32.cpp index 19cf3beb..8bbb91cc 100644 --- a/src/Global_Win32.cpp +++ b/src/Global_Win32.cpp @@ -169,6 +169,17 @@ static struct } g_lamexp_themes_enabled; +//Win32 DWM API functions +static struct +{ + bool bInitialized; + QLibrary *dwmapi_dll; + HRESULT (__stdcall *dwmExtendFrameIntoClientArea)(HWND hWnd, const MARGINS* pMarInset); + HRESULT (__stdcall *dwmEnableBlurBehindWindow)(HWND hWnd, const DWM_BLURBEHIND* pBlurBehind); + QReadWriteLock lock; +} +g_lamexp_dwmapi; + //Image formats static const char *g_lamexp_imageformats[] = {"bmp", "png", "jpg", "gif", "ico", "xpm", NULL}; //"svg" @@ -1846,39 +1857,61 @@ bool lamexp_open_media_file(const QString &mediaFilePath) return false; } -bool lamexp_sheet_of_glass(QWidget *window) +static void lamexp_init_dwmapi(void) { - typedef HRESULT (__stdcall *dwmExtendFrameIntoClientArea_t)(HWND hWnd, const MARGINS* pMarInset); - typedef HRESULT (__stdcall *dwmEnableBlurBehindWindow_t)(HWND hWnd, const DWM_BLURBEHIND* pBlurBehind); + QReadLocker writeLock(&g_lamexp_dwmapi.lock); + + //Not initialized yet? + if(g_lamexp_dwmapi.bInitialized) + { + return; + } //Does OS support DWM? - if(lamexp_get_os_version() < lamexp_winver_vista) + if(lamexp_get_os_version() >= lamexp_winver_vista) { - return false; + //Load DWMAPI.DLL + g_lamexp_dwmapi.dwmapi_dll = new QLibrary("dwmapi.dll"); + if(g_lamexp_dwmapi.dwmapi_dll->load()) + { + //Lookup required functions + g_lamexp_dwmapi.dwmExtendFrameIntoClientArea = (HRESULT (__stdcall*)(HWND, const MARGINS*)) g_lamexp_dwmapi.dwmapi_dll->resolve("DwmExtendFrameIntoClientArea"); + g_lamexp_dwmapi.dwmEnableBlurBehindWindow = (HRESULT (__stdcall*)(HWND, const DWM_BLURBEHIND*)) g_lamexp_dwmapi.dwmapi_dll->resolve("DwmEnableBlurBehindWindow"); + } + else + { + LAMEXP_DELETE(g_lamexp_dwmapi.dwmapi_dll); + qWarning("Failed to load DWMAPI.DLL on a DWM-enabled system!"); + } } - //Load DWMAPI.DLL - QLibrary libDwm("dwmapi.dll"); - if(!libDwm.load()) - { - qWarning("Failed to load DWMAPI.DLL on a DWM-enabled system!"); - return false; - } + g_lamexp_dwmapi.bInitialized = true; +} - //Lookup required functions - dwmExtendFrameIntoClientArea_t dwmExtendFrameIntoClientArea = (dwmExtendFrameIntoClientArea_t) libDwm.resolve("DwmExtendFrameIntoClientArea"); - dwmEnableBlurBehindWindow_t dwmEnableBlurBehindWindow = (dwmEnableBlurBehindWindow_t) libDwm.resolve("DwmEnableBlurBehindWindow"); +/* + * Enable "sheet of glass" effect on the given Window + */ +bool lamexp_sheet_of_glass(QWidget *window) +{ + QReadLocker readLock(&g_lamexp_dwmapi.lock); + + //Initialize the DWM API + while(!g_lamexp_dwmapi.bInitialized) + { + readLock.unlock(); + lamexp_init_dwmapi(); + readLock.relock(); + } - //Check function pointers - if((dwmExtendFrameIntoClientArea == NULL) || (dwmEnableBlurBehindWindow == NULL)) + //Required functions available? + if((g_lamexp_dwmapi.dwmExtendFrameIntoClientArea == NULL) || (g_lamexp_dwmapi.dwmEnableBlurBehindWindow == NULL)) { - qWarning("Required functions are missing from DWMAPI.DLL on a DWM-enabled system!"); return false; } //Enable the "sheet of glass" effect on this window MARGINS margins = {-1, -1, -1, -1}; - if(HRESULT hr = dwmExtendFrameIntoClientArea(window->winId(), &margins)) + if(HRESULT hr = g_lamexp_dwmapi.dwmExtendFrameIntoClientArea(window->winId(), &margins)) { qWarning("DwmExtendFrameIntoClientArea function has failed! (error %d)", hr); return false; @@ -1889,7 +1922,7 @@ bool lamexp_sheet_of_glass(QWidget *window) memset(&bb, 0, sizeof(DWM_BLURBEHIND)); bb.fEnable = TRUE; bb.dwFlags = DWM_BB_ENABLE; - if(HRESULT hr = dwmEnableBlurBehindWindow(window->winId(), &bb)) + if(HRESULT hr = g_lamexp_dwmapi.dwmEnableBlurBehindWindow(window->winId(), &bb)) { qWarning("DwmEnableBlurBehindWindow function has failed! (error %d)", hr); return false; @@ -1975,6 +2008,11 @@ void lamexp_finalization(void) QApplication *application = dynamic_cast(QApplication::instance()); LAMEXP_DELETE(application); + //Release DWM API + g_lamexp_dwmapi.dwmEnableBlurBehindWindow = NULL; + g_lamexp_dwmapi.dwmExtendFrameIntoClientArea = NULL; + LAMEXP_DELETE(g_lamexp_dwmapi.dwmapi_dll); + //Detach from shared memory lamexp_ipc_exit(); @@ -2062,4 +2100,5 @@ extern "C" void _lamexp_global_init_win32(void) LAMEXP_ZERO_MEMORY(g_lamexp_os_version); LAMEXP_ZERO_MEMORY(g_lamexp_wine); LAMEXP_ZERO_MEMORY(g_lamexp_themes_enabled); + LAMEXP_ZERO_MEMORY(g_lamexp_dwmapi); }