From d5909a99378abdd79c6985a7ecaea96cfa86cca8 Mon Sep 17 00:00:00 2001 From: lordmulder Date: Wed, 10 Nov 2010 00:59:50 +0100 Subject: [PATCH] Improve deplayoment script + add very simple NSIS installer (self-extractor) --- etc/Deployment/_paths.bat | 1 + etc/Deployment/release.bat | 64 ++-- etc/NSIS/setup.nsi | 10 + gui/MainWindow.ui | 660 ++++++++++++++++++++++++++++++++----- src/Dialog_MainWindow.cpp | 11 +- src/Resource.h | 2 +- 6 files changed, 631 insertions(+), 117 deletions(-) create mode 100644 etc/NSIS/setup.nsi diff --git a/etc/Deployment/_paths.bat b/etc/Deployment/_paths.bat index 5395c867..5bb1dd38 100644 --- a/etc/Deployment/_paths.bat +++ b/etc/Deployment/_paths.bat @@ -2,5 +2,6 @@ set "PATH_SEVENZ=E:\7-Zip\7z.exe" set "PATH_MPRESS=E:\MPress\mpress.exe" set "PATH_UPXBIN=E:\MPUI\installer\upx.exe" +set "PATH_MKNSIS=E:\NSIS\makensis.exe" set "PATH_MSVC90=D:\Microsoft Visual Studio 9.0" set "PATH_QTMSVC=E:\Qt\MSVC\4.7.0" diff --git a/etc/Deployment/release.bat b/etc/Deployment/release.bat index 6c3e79f1..f18074a7 100644 --- a/etc/Deployment/release.bat +++ b/etc/Deployment/release.bat @@ -1,15 +1,36 @@ @echo off call _paths.bat REM ------------------------------------------ -set "TEMP_DIR=%TEMP%\~LameXP.%DATE%.tmp" set "OUT_PATH=..\..\bin\Release" -set "OUT_FILE=%OUT_PATH%\..\LameXP.%DATE:~6,4%-%DATE:~3,2%-%DATE:~0,2%.Release.zip" +set "OUT_DATE=%DATE:~6,4%-%DATE:~3,2%-%DATE:~0,2%" +set "OUT_FILE=%OUT_PATH%\..\LameXP.%OUT_DATE%.Release" +set "TMP_PATH=%TEMP%\~LameXP.%OUT_DATE%.tmp" REM ------------------------------------------ -del "%OUT_FILE%" -if exist "%OUT_FILE%" ( - echo. +set "VER_LAMEXP_MAJOR=X" +set "VER_LAMEXP_MINOR_HI=X" +set "VER_LAMEXP_MINOR_LO=X" +set "VER_LAMEXP_BUILD=X" +set "VER_LAMEXP_SUFFIX=X" +REM ------------------------------------------ +FOR /F "tokens=2,3" %%s IN (..\..\src\Resource.h) DO ( + if "%%s"=="VER_LAMEXP_MAJOR" set "VER_LAMEXP_MAJOR=%%t" + if "%%s"=="VER_LAMEXP_MINOR_HI" set "VER_LAMEXP_MINOR_HI=%%t" + if "%%s"=="VER_LAMEXP_MINOR_LO" set "VER_LAMEXP_MINOR_LO=%%t" + if "%%s"=="VER_LAMEXP_BUILD" set "VER_LAMEXP_BUILD=%%t" + if "%%s"=="VER_LAMEXP_SUFFIX" set "VER_LAMEXP_SUFFIX=%%t" +) +REM ------------------------------------------ +echo Version: %VER_LAMEXP_MAJOR%.%VER_LAMEXP_MINOR_HI%%VER_LAMEXP_MINOR_LO%, Build #%VER_LAMEXP_BUILD% (%VER_LAMEXP_SUFFIX%) +REM ------------------------------------------ +del "%OUT_FILE%.exe" +del "%OUT_FILE%.zip" +if exist "%OUT_FILE%.exe" ( + echo BUILD HAS FAILED !!! + pause + exit +) +if exist "%OUT_FILE%.zip" ( echo BUILD HAS FAILED !!! - echo. pause exit ) @@ -24,28 +45,29 @@ if not "%LAMEXP_BUILD_SUCCESS%"=="YES" ( exit ) REM ------------------------------------------ -rd /S /Q "%TEMP_DIR%" -mkdir "%TEMP_DIR%" -mkdir "%TEMP_DIR%\imageformats" +rd /S /Q "%TMP_PATH%" +mkdir "%TMP_PATH%" +mkdir "%TMP_PATH%\imageformats" REM ------------------------------------------ -copy "%OUT_PATH%\*.exe" "%TEMP_DIR%" -copy "%QTDIR%\bin\QtCore4.dll" "%TEMP_DIR%" -copy "%QTDIR%\bin\QtGui4.dll" "%TEMP_DIR%" -copy "%QTDIR%\bin\QtXml4.dll" "%TEMP_DIR%" -copy "%QTDIR%\bin\QtSvg4.dll" "%TEMP_DIR%" -copy "%QTDIR%\plugins\imageformats\q???4.dll" "%TEMP_DIR%\imageformats" +copy "%OUT_PATH%\*.exe" "%TMP_PATH%" +copy "%QTDIR%\bin\QtCore4.dll" "%TMP_PATH%" +copy "%QTDIR%\bin\QtGui4.dll" "%TMP_PATH%" +copy "%QTDIR%\bin\QtXml4.dll" "%TMP_PATH%" +copy "%QTDIR%\bin\QtSvg4.dll" "%TMP_PATH%" +copy "%QTDIR%\plugins\imageformats\q???4.dll" "%TMP_PATH%\imageformats" REM ------------------------------------------ -for %%f in ("%TEMP_DIR%\*.exe") do ( +for %%f in ("%TMP_PATH%\*.exe") do ( "%PATH_UPXBIN%" --best --lzma "%%f" ) -for %%f in ("%TEMP_DIR%\*.dll") do ( +for %%f in ("%TMP_PATH%\*.dll") do ( "%PATH_UPXBIN%" --best --lzma "%%f" ) REM ------------------------------------------ -copy "..\Redist\*.*" "%TEMP_DIR%" -copy "..\..\License.txt" "%TEMP_DIR%" +copy "..\Redist\*.*" "%TMP_PATH%" +copy "..\..\License.txt" "%TMP_PATH%" REM ------------------------------------------ -"%PATH_SEVENZ%" a -tzip -r "%OUT_FILE%" "%TEMP_DIR%\*" -rd /S /Q "%TEMP_DIR%" +"%PATH_SEVENZ%" a -tzip -r "%OUT_FILE%.zip" "%TMP_PATH%\*" +"%PATH_MKNSIS%" "/DLAMEXP_SOURCE_PATH=%TMP_PATH%" "/DLAMEXP_OUTPUT_FILE=%OUT_FILE%.exe" "/DLAMEXP_DATE=%OUT_DATE%" "/DLAMEXP_VERSION=%VER_LAMEXP_MAJOR%.%VER_LAMEXP_MINOR_HI%%VER_LAMEXP_MINOR_LO%" "/DLAMEXP_BUILD=%VER_LAMEXP_BUILD%" "/DLAMEXP_SUFFIX=%VER_LAMEXP_SUFFIX%" "..\NSIS\setup.nsi" +rd /S /Q "%TMP_PATH%" REM ------------------------------------------ pause diff --git a/etc/NSIS/setup.nsi b/etc/NSIS/setup.nsi new file mode 100644 index 00000000..348c3ef5 --- /dev/null +++ b/etc/NSIS/setup.nsi @@ -0,0 +1,10 @@ +!define ZIP2EXE_NAME `LameXP v${LAMEXP_VERSION} ${LAMEXP_SUFFIX}, Build #${LAMEXP_BUILD} [${LAMEXP_DATE}]` +!define ZIP2EXE_OUTFILE `${LAMEXP_OUTPUT_FILE}` +!define ZIP2EXE_COMPRESSOR_LZMA +!define ZIP2EXE_COMPRESSOR_SOLID +!define ZIP2EXE_INSTALLDIR `$PROGRAMFILES\${ZIP2EXE_NAME}` +!include `${NSISDIR}\Contrib\zip2exe\Base.nsh` +!include `${NSISDIR}\Contrib\zip2exe\Modern.nsh` +!insertmacro SECTION_BEGIN +File /r `${LAMEXP_SOURCE_PATH}\*.*` +!insertmacro SECTION_END diff --git a/gui/MainWindow.ui b/gui/MainWindow.ui index 3569924d..a0ec2bb7 100644 --- a/gui/MainWindow.ui +++ b/gui/MainWindow.ui @@ -6,8 +6,8 @@ 0 0 - 691 - 539 + 676 + 557 @@ -369,6 +369,554 @@ + + + + :/icons/cd_edit.png:/icons/cd_edit.png + + + Meta Data + + + + + + + + + 50 + false + + + + Meta Information + + + + + + + + + + + + + 85 + 85 + 127 + + + + + + + + + 85 + 85 + 127 + + + + + + + + + 120 + 120 + 120 + + + + + + + + (Copy from Source File) + + + true + + + + + + + Artist: + + + + + + + + + + + + 85 + 85 + 127 + + + + + + + + + 85 + 85 + 127 + + + + + + + + + 120 + 120 + 120 + + + + + + + + (Copy from Source File) + + + true + + + + + + + Album: + + + + + + + + + + + + 85 + 85 + 127 + + + + + + + + + 85 + 85 + 127 + + + + + + + + + 120 + 120 + 120 + + + + + + + + (Copy from Source File) + + + true + + + + + + + + + + + + 85 + 85 + 127 + + + + + + + + + 85 + 85 + 127 + + + + + + + + + 120 + 120 + 120 + + + + + + + + (Copy from Source File) + + + true + + + + + + + Genre: + + + + + + + Year: + + + + + + + Qt::Vertical + + + QSizePolicy::Fixed + + + + 4 + 2 + + + + + + + + + 32 + 16777215 + + + + ... + + + + + + + + 32 + 16777215 + + + + ... + + + + + + + + 32 + 16777215 + + + + ... + + + + + + + + 32 + 16777215 + + + + ... + + + + + + + + + + + + 85 + 85 + 127 + + + + + + + + + 85 + 85 + 127 + + + + + + + + + 120 + 120 + 120 + + + + + + + + (Copy from Source File) + + + true + + + + + + + Comment: + + + + + + + Qt::Vertical + + + QSizePolicy::Fixed + + + + 4 + 2 + + + + + + + + + 32 + 16777215 + + + + ... + + + + + + + + + + + + 85 + 85 + 127 + + + + + + + + + 85 + 85 + 127 + + + + + + + + + 120 + 120 + 120 + + + + + + + + (Copy from Source File) + + + true + + + + + + + + 32 + 16777215 + + + + ... + + + + + + + Position: + + + + + + + + + + + + + 50 + false + + + + Options + + + + + + + + + 50 + false + + + + Automatically generate playlist (.m3u) + + + true + + + + + + + + 50 + false + + + + Write meta information to encoded files + + + true + + + + + + + Qt::Horizontal + + + QSizePolicy::Fixed + + + + 4 + 2 + + + + + + + + + + + + + + + Qt::Vertical + + + + 20 + 40 + + + + + + @@ -458,92 +1006,6 @@ - - - - :/icons/cd_edit.png:/icons/cd_edit.png - - - Meta Data - - - - - - - - QFrame::StyledPanel - - - QFrame::Sunken - - - - - - :/images/Construction.gif - - - Qt::AlignCenter - - - - - - - Qt::Horizontal - - - - 40 - 20 - - - - - - - - Qt::Horizontal - - - - 40 - 20 - - - - - - - - Qt::Vertical - - - - 20 - 40 - - - - - - - - Qt::Vertical - - - - 20 - 40 - - - - - - - - @@ -738,7 +1200,7 @@ 0 0 - 691 + 676 21 @@ -778,8 +1240,8 @@ - + @@ -967,6 +1429,8 @@ + + @@ -1161,5 +1625,21 @@ + + writeMetaDataCheckBox + clicked(bool) + metaDataGroupBox + setEnabled(bool) + + + 177 + 285 + + + 336 + 160 + + + diff --git a/src/Dialog_MainWindow.cpp b/src/Dialog_MainWindow.cpp index ddc5abb0..1fddbd5c 100644 --- a/src/Dialog_MainWindow.cpp +++ b/src/Dialog_MainWindow.cpp @@ -487,10 +487,10 @@ void MainWindow::tabPageChanged(int idx) actionOutputDirectory->setChecked(true); break; case 2: - actionCompression->setChecked(true); + actionMetaData->setChecked(true); break; case 3: - actionMetaData->setChecked(true); + actionCompression->setChecked(true); break; case 4: actionAdvancedOptions->setChecked(true); @@ -507,8 +507,8 @@ void MainWindow::tabActionActivated(QAction *action) if(actionSourceFiles == action) idx = 0; else if(actionOutputDirectory == action) idx = 1; - else if(actionCompression == action) idx = 2; - else if(actionMetaData == action) idx = 3; + else if(actionMetaData == action) idx = 2; + else if(actionCompression == action) idx = 3; else if(actionAdvancedOptions == action) idx = 4; if(idx >= 0) @@ -675,13 +675,14 @@ void MainWindow::handleDelayedFiles(void) } m_delayedFileTimer->stop(); - if(m_delayedFileList->isEmpty()) { return; } QStringList selectedFiles; + tabWidget->setCurrentIndex(0); + while(!m_delayedFileList->isEmpty()) { selectedFiles << QFileInfo(m_delayedFileList->takeFirst()).absoluteFilePath(); diff --git a/src/Resource.h b/src/Resource.h index 6715f0d5..8ae72243 100644 --- a/src/Resource.h +++ b/src/Resource.h @@ -25,7 +25,7 @@ #define VER_LAMEXP_MAJOR 4 #define VER_LAMEXP_MINOR_HI 0 #define VER_LAMEXP_MINOR_LO 0 -#define VER_LAMEXP_BUILD 8 +#define VER_LAMEXP_BUILD 9 #define VER_LAMEXP_SUFFIX TechPreview /*