Improve about dialog + nicer method write version info to resource section
This commit is contained in:
parent
8fa0757455
commit
ce41761614
26
LameXP.rc
26
LameXP.rc
@ -47,15 +47,6 @@ END
|
||||
#endif // APSTUDIO_INVOKED
|
||||
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// Icon
|
||||
//
|
||||
|
||||
// Icon with lowest ID value placed first to ensure application icon
|
||||
// remains consistent on all systems.
|
||||
IDI_ICON1 ICON "res\\MainIcon.ico"
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// WAVE
|
||||
@ -69,8 +60,8 @@ IDR_WAVE_ABOUT WAVE "res\\sounds\\uuaarrgh.wav"
|
||||
//
|
||||
|
||||
VS_VERSION_INFO VERSIONINFO
|
||||
FILEVERSION 4,0,0,0
|
||||
PRODUCTVERSION 4,0,0,0
|
||||
FILEVERSION VER_LAMEXP_MAJOR,VER_LAMEXP_MINOR_HI,VER_LAMEXP_MINOR_LO,VER_LAMEXP_BUILD
|
||||
PRODUCTVERSION VER_LAMEXP_MAJOR,VER_LAMEXP_MINOR_HI,VER_LAMEXP_MINOR_LO,VER_LAMEXP_BUILD
|
||||
FILEFLAGSMASK 0x17L
|
||||
#ifdef _DEBUG
|
||||
FILEFLAGS 0x3L
|
||||
@ -88,13 +79,13 @@ BEGIN
|
||||
VALUE "Comments", "This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY"
|
||||
VALUE "CompanyName", "Free Software Foundation"
|
||||
VALUE "FileDescription", "LameXP - Audio Encoder Front-End"
|
||||
VALUE "FileVersion", "4.0.0.0"
|
||||
VALUE "FileVersion", VER_LAMEXP_STR
|
||||
VALUE "InternalName", "LameXP Qt"
|
||||
VALUE "LegalCopyright", "Copyright (C) 2004-2010 LoRd_MuldeR <MuldeR2@GMX.de>"
|
||||
VALUE "LegalTrademarks", "This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License <http://www.gnu.org/>"
|
||||
VALUE "OriginalFilename", "LameXP.exe"
|
||||
VALUE "ProductName", "LameXP - Audio Encoder Front-End"
|
||||
VALUE "ProductVersion", "v4.00 Pre-Alpha"
|
||||
VALUE "ProductVersion", VER_LAMEXP_STR
|
||||
END
|
||||
END
|
||||
BLOCK "VarFileInfo"
|
||||
@ -103,6 +94,15 @@ BEGIN
|
||||
END
|
||||
END
|
||||
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// Icon
|
||||
//
|
||||
|
||||
// Icon with lowest ID value placed first to ensure application icon
|
||||
// remains consistent on all systems.
|
||||
IDI_ICON1 ICON "res\\MainIcon.ico"
|
||||
#endif // German (Germany) resources
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
|
@ -18,8 +18,8 @@
|
||||
<Configurations>
|
||||
<Configuration
|
||||
Name="Debug|Win32"
|
||||
OutputDirectory="$(SolutionDir)out\$(ConfigurationName)"
|
||||
IntermediateDirectory="$(SolutionDir)out\$(ConfigurationName)"
|
||||
OutputDirectory="$(SolutionDir)bin\$(ConfigurationName)"
|
||||
IntermediateDirectory="$(SolutionDir)obj\$(ConfigurationName)"
|
||||
ConfigurationType="1"
|
||||
CharacterSet="1"
|
||||
>
|
||||
@ -69,7 +69,7 @@
|
||||
LinkIncremental="1"
|
||||
AdditionalLibraryDirectories=""$(QTDIR)\lib";"$(QTDIR)\plugins\imageformats""
|
||||
GenerateDebugInformation="true"
|
||||
SubSystem="1"
|
||||
SubSystem="2"
|
||||
TargetMachine="1"
|
||||
/>
|
||||
<Tool
|
||||
@ -96,8 +96,8 @@
|
||||
</Configuration>
|
||||
<Configuration
|
||||
Name="Release|Win32"
|
||||
OutputDirectory="$(SolutionDir)out\$(ConfigurationName)"
|
||||
IntermediateDirectory="$(SolutionDir)out\$(ConfigurationName)"
|
||||
OutputDirectory="$(SolutionDir)bin\$(ConfigurationName)"
|
||||
IntermediateDirectory="$(SolutionDir)obj\$(ConfigurationName)"
|
||||
ConfigurationType="1"
|
||||
CharacterSet="1"
|
||||
>
|
||||
@ -156,7 +156,7 @@
|
||||
GenerateDebugInformation="false"
|
||||
AssemblyDebug="0"
|
||||
MapExports="false"
|
||||
SubSystem="1"
|
||||
SubSystem="2"
|
||||
LinkTimeCodeGeneration="1"
|
||||
TargetMachine="1"
|
||||
/>
|
||||
|
@ -2,7 +2,7 @@
|
||||
call _paths.bat
|
||||
REM ------------------------------------------
|
||||
set "TEMP_DIR=%TEMP%\~LameXP.%DATE%.tmp"
|
||||
set "OUT_PATH=..\..\out\Release"
|
||||
set "OUT_PATH=..\..\bin\Release"
|
||||
set "OUT_FILE=%OUT_PATH%\..\LameXP.%DATE:~6,4%-%DATE:~3,2%-%DATE:~0,2%.Release.zip"
|
||||
REM ------------------------------------------
|
||||
del "%OUT_FILE%"
|
||||
@ -29,8 +29,10 @@ mkdir "%TEMP_DIR%"
|
||||
mkdir "%TEMP_DIR%\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\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"
|
||||
REM ------------------------------------------
|
||||
for %%f in ("%TEMP_DIR%\*.exe") do (
|
||||
|
@ -13,10 +13,6 @@
|
||||
<property name="windowTitle">
|
||||
<string>LameXP - Audio Encoder Front-end</string>
|
||||
</property>
|
||||
<property name="windowIcon">
|
||||
<iconset resource="../res/Icons.qrc">
|
||||
<normaloff>:/MainIcon.ico</normaloff>:/MainIcon.ico</iconset>
|
||||
</property>
|
||||
<widget class="QWidget" name="centralwidget">
|
||||
<layout class="QVBoxLayout" name="verticalLayout_2">
|
||||
<item>
|
||||
@ -848,11 +844,14 @@
|
||||
<property name="text">
|
||||
<string>Visit Official Homepage</string>
|
||||
</property>
|
||||
<property name="toolTip">
|
||||
<string>Visit Official Web-Site</string>
|
||||
</property>
|
||||
</action>
|
||||
<action name="actionCheckUpdates">
|
||||
<property name="icon">
|
||||
<iconset resource="../res/Icons.qrc">
|
||||
<normaloff>:/icons/transmit.png</normaloff>:/icons/transmit.png</iconset>
|
||||
<normaloff>:/icons/transmit_blue.png</normaloff>:/icons/transmit_blue.png</iconset>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Check for Updates</string>
|
||||
@ -898,6 +897,7 @@
|
||||
<include location="../res/Images.qrc"/>
|
||||
<include location="../res/Images.qrc"/>
|
||||
<include location="../res/Images.qrc"/>
|
||||
<include location="../res/Images.qrc"/>
|
||||
</resources>
|
||||
<connections>
|
||||
<connection>
|
||||
|
@ -2,6 +2,7 @@
|
||||
<RCC version="1.0">
|
||||
<qresource>
|
||||
<file>MainIcon.ico</file>
|
||||
<file>MainIcon.png</file>
|
||||
<file>icons/add.png</file>
|
||||
<file>icons/application_view_list.png</file>
|
||||
<file>icons/arrow_down.png</file>
|
||||
@ -42,7 +43,7 @@
|
||||
<file>icons/star.png</file>
|
||||
<file>icons/table_edit.png</file>
|
||||
<file>icons/timeline_marker.png</file>
|
||||
<file>icons/transmit.png</file>
|
||||
<file>icons/transmit_blue.png</file>
|
||||
<file>icons/user.png</file>
|
||||
<file>icons/world.png</file>
|
||||
</qresource>
|
||||
|
@ -9,5 +9,6 @@
|
||||
<file>images/Splash.png</file>
|
||||
<file>images/Thumb.png</file>
|
||||
<file>images/Construction.gif</file>
|
||||
</qresource>
|
||||
<file>images/Qt.svg</file>
|
||||
</qresource>
|
||||
</RCC>
|
||||
|
BIN
res/MainIcon.ico
BIN
res/MainIcon.ico
Binary file not shown.
Before Width: | Height: | Size: 347 KiB After Width: | Height: | Size: 23 KiB |
BIN
res/MainIcon.png
Normal file
BIN
res/MainIcon.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 54 KiB |
BIN
res/images/Qt.png
Normal file
BIN
res/images/Qt.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 17 KiB |
93
res/images/Qt.svg
Normal file
93
res/images/Qt.svg
Normal file
@ -0,0 +1,93 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<svg
|
||||
xmlns:dc="http://purl.org/dc/elements/1.1/"
|
||||
xmlns:cc="http://creativecommons.org/ns#"
|
||||
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
||||
xmlns:svg="http://www.w3.org/2000/svg"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
height="44px"
|
||||
version="1.1"
|
||||
viewBox="0 0 44 44"
|
||||
width="44px"
|
||||
x="0px"
|
||||
y="0px"
|
||||
id="svg2"
|
||||
inkscape:version="0.47 r22583"
|
||||
sodipodi:docname="qt.svg">
|
||||
<metadata
|
||||
id="metadata18">
|
||||
<rdf:RDF>
|
||||
<cc:Work
|
||||
rdf:about="">
|
||||
<dc:format>image/svg+xml</dc:format>
|
||||
<dc:type
|
||||
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
|
||||
</cc:Work>
|
||||
</rdf:RDF>
|
||||
</metadata>
|
||||
<defs
|
||||
id="defs16">
|
||||
<inkscape:perspective
|
||||
sodipodi:type="inkscape:persp3d"
|
||||
inkscape:vp_x="0 : 22 : 1"
|
||||
inkscape:vp_y="0 : 1000 : 0"
|
||||
inkscape:vp_z="44 : 22 : 1"
|
||||
inkscape:persp3d-origin="22 : 14.666667 : 1"
|
||||
id="perspective2836" />
|
||||
</defs>
|
||||
<sodipodi:namedview
|
||||
pagecolor="#ffffff"
|
||||
bordercolor="#666666"
|
||||
borderopacity="1"
|
||||
objecttolerance="10"
|
||||
gridtolerance="10"
|
||||
guidetolerance="10"
|
||||
inkscape:pageopacity="0"
|
||||
inkscape:pageshadow="2"
|
||||
inkscape:window-width="1920"
|
||||
inkscape:window-height="1020"
|
||||
id="namedview14"
|
||||
showgrid="false"
|
||||
inkscape:zoom="21.454545"
|
||||
inkscape:cx="49.412871"
|
||||
inkscape:cy="21.894358"
|
||||
inkscape:window-x="-4"
|
||||
inkscape:window-y="-4"
|
||||
inkscape:window-maximized="1"
|
||||
inkscape:current-layer="g3" />
|
||||
<g
|
||||
transform="matrix(0.18308778,0,0,0.18308778,6.6100946,3.2385199)"
|
||||
id="g3">
|
||||
<path
|
||||
d="M 43.09,0.3586 C 40.94,0.0036 38.84,-0.0824 36.81,0.0776 31.968136,0.39505671 27.122677,0.73638425 22.28,1.0696 9.62,2.0816 0,12.4996 0,26.8896 l 0,169.7 14.19,13.2 28.87,-209.42 0.03,-0.011 z"
|
||||
style="fill:#006225"
|
||||
id="path5"
|
||||
sodipodi:nodetypes="cccccccc" />
|
||||
<path
|
||||
d="m 174.4,160 c 0,12.5 -7.75,24.07 -17.57,25.77 L 14.23,209.73 V 25.93 C 14.23,9.21 27.57,-2.27 43.12,0.3 l 131.3,21.52 v 138.2 z"
|
||||
style="fill:#80c342"
|
||||
id="path7" />
|
||||
<path
|
||||
d="m 154.9,80.96 -12.96,-0.598 0,0.278 6.945,0.32 6.016,0 z"
|
||||
style="fill:#006225"
|
||||
id="path11" />
|
||||
<path
|
||||
d="m 144.6,135.6 c 0.66,0.328 1.43,0.476 2.351,0.476 0.161,0 0.329,-0.004 0.497,-0.016 2.55,-0.148 5.32,-0.933 8.343,-2.308 h -6.015 c -1.821,0.832 -3.532,1.457 -5.176,1.848 z"
|
||||
style="fill:#006225"
|
||||
id="path13" />
|
||||
<path
|
||||
id="path17"
|
||||
style="fill:#ffffff"
|
||||
d="m 91.15,132.4 c 2.351,-6.051 3.511,-17.91 3.511,-35.62 0,-15.89 -1.148,-26.82 -3.484,-32.81 -2.336,-6.027 -5.832,-9.281 -10.52,-9.691 -0.359,-0.031 -0.714,-0.051 -1.058,-0.051 -4.34,0 -7.68,2.535 -10.01,7.625 -2.52,5.543 -3.793,17.04 -3.793,34.44 0,16.82 1.238,28.75 3.734,35.75 2.356,6.672 5.879,9.976 10.5,9.976 0.207,0 0.41,-0.008 0.621,-0.019 4.633,-0.293 8.121,-3.496 10.49,-9.602 m 17.98,3.75 c -4.117,9.707 -10.39,16.06 -18.99,19 0.867,4.449 2.176,7.441 3.922,9.019 1.351,1.211 3.433,1.821 6.222,1.821 0.805,0 1.668,-0.055 2.59,-0.157 v 13.12 l -5.961,0.782 c -1.758,0.23 -3.426,0.343 -5.004,0.343 -5.218,0 -9.445,-1.265 -12.62,-3.824 -4.207,-3.379 -7.308,-9.894 -9.297,-19.54 -9.136,-1.945 -16.26,-7.754 -21.19,-17.5 -5.004,-9.902 -7.551,-24.39 -7.551,-43.34 0,-20.43 3.484,-35.51 10.34,-45.07 5.789,-8.07 13.86,-12.04 24.02,-12.04 1.629,0 3.309,0.102 5.043,0.305 11.95,1.375 20.62,7.016 26.26,16.79 5.535,9.562 8.254,23.27 8.254,41.26 0,16.48 -2,29.45 -6.043,39.02 z M 130.4,45.91 l 11.52,1.238 0,20.21 12.96,0.914 0,12.68 -12.96,-0.598 0,46.33 c 0,4.032 0.445,6.625 1.34,7.789 0.8,1.067 2.046,1.594 3.71,1.594 0.161,0 0.329,-0.004 0.497,-0.016 2.55,-0.148 5.32,-0.933 8.343,-2.308 v 11.65 c -5.136,2.258 -10.18,3.598 -15.12,4.02 -0.718,0.055 -1.41,0.086 -2.078,0.086 -4.48,0 -7.906,-1.301 -10.25,-3.934 -2.73,-3.051 -4.09,-7.949 -4.09,-14.67 V 79.535 L 118.046,79.25 V 65.66 l 7.586,0.547 4.773,-20.3 z" />
|
||||
<path
|
||||
d="m 100.3,166 c 0.809,0 1.672,-0.055 2.59,-0.157 H 98.054 C 98.73,165.949 99.507,166 100.3,166 z"
|
||||
style="fill:#006225"
|
||||
id="path19" />
|
||||
<path
|
||||
id="path21"
|
||||
style="fill:#006225"
|
||||
d="m 84.85,63.98 c 2.336,5.997 3.484,16.92 3.484,32.81 0,17.7 -1.16,29.57 -3.512,35.62 -1.894,4.879 -4.527,7.902 -7.863,9.07 0.965,0.368 1.992,0.551 3.078,0.551 0.207,0 0.41,-0.008 0.621,-0.019 4.633,-0.293 8.121,-3.496 10.49,-9.602 2.351,-6.051 3.511,-17.91 3.511,-35.62 0,-15.89 -1.148,-26.82 -3.484,-32.81 -2.336,-6.027 -5.832,-9.281 -10.52,-9.691 -0.359,-0.031 -0.714,-0.051 -1.058,-0.051 -1.09,0 -2.117,0.16 -3.082,0.481 h -0.004 c 3.601,1.121 6.379,4.215 8.336,9.261 z m -2.344,114.3 c -0.113,-0.05 -0.227,-0.105 -0.336,-0.16 -0.012,-0.004 -0.023,-0.012 -0.035,-0.015 -0.102,-0.051 -0.207,-0.106 -0.309,-0.157 -0.019,-0.011 -0.039,-0.019 -0.058,-0.031 -0.09,-0.051 -0.184,-0.098 -0.278,-0.148 -0.027,-0.016 -0.054,-0.036 -0.086,-0.051 -0.082,-0.043 -0.164,-0.09 -0.242,-0.137 -0.039,-0.023 -0.078,-0.047 -0.113,-0.07 -0.07,-0.039 -0.145,-0.082 -0.215,-0.125 -0.047,-0.031 -0.094,-0.059 -0.14,-0.09 -0.059,-0.039 -0.118,-0.074 -0.176,-0.113 -0.059,-0.039 -0.114,-0.075 -0.168,-0.114 -0.051,-0.031 -0.102,-0.066 -0.149,-0.097 -0.066,-0.047 -0.132,-0.094 -0.195,-0.137 -0.039,-0.027 -0.078,-0.055 -0.113,-0.082 -0.078,-0.055 -0.153,-0.113 -0.231,-0.172 -0.023,-0.016 -0.05,-0.035 -0.078,-0.055 -0.098,-0.078 -0.199,-0.156 -0.297,-0.234 -4.207,-3.379 -7.308,-9.894 -9.297,-19.54 -9.136,-1.945 -16.26,-7.754 -21.19,-17.5 -5.004,-9.902 -7.551,-24.39 -7.551,-43.34 0,-20.43 3.484,-35.51 10.34,-45.07 5.789,-8.07 13.86,-12.04 24.02,-12.04 h -6.351 c -10.15,0.008 -18.22,3.977 -24,12.04 -6.855,9.563 -10.34,24.64 -10.34,45.07 0,18.95 2.547,33.44 7.551,43.34 4.934,9.75 12.05,15.56 21.19,17.5 1.989,9.641 5.09,16.16 9.297,19.54 3.176,2.559 7.403,3.824 12.62,3.824 0.098,0 0.199,0 0.297,-0.004 h 5.539 c -3.406,-0.05 -6.383,-0.66 -8.906,-1.828 L 82.498,178.28 z M 128.4,145.6 c -2.73,-3.051 -4.09,-7.949 -4.09,-14.67 V 79.57 l -6.226,-0.285 v -13.59 h -6.016 v 3.035 c 0.871,3.273 1.555,6.82 2.063,10.64 l 4.164,0.192 v 51.36 c 0,6.723 1.367,11.62 4.09,14.67 2.343,2.633 5.765,3.934 10.25,3.934 h 6.015 c -4.48,0 -7.906,-1.301 -10.25,-3.934 z m 2.043,-99.66 -6.016,0 -4.668,19.88 5.911,0.422 4.773,-20.3 z" />
|
||||
</g>
|
||||
</svg>
|
After Width: | Height: | Size: 6.4 KiB |
@ -42,6 +42,8 @@
|
||||
//Win32 includes
|
||||
#include <Windows.h>
|
||||
|
||||
#define LINK(URL) QString("<a href=\"%1\">%2</a>").arg(URL).arg(URL)
|
||||
|
||||
////////////////////////////////////////////////////////////
|
||||
// Constructor
|
||||
////////////////////////////////////////////////////////////
|
||||
@ -156,11 +158,13 @@ void MainWindow::aboutButtonClicked(void)
|
||||
{
|
||||
QString aboutText;
|
||||
|
||||
aboutText += "<b><font size=\"+1\">LameXP - Audio Encoder Front-end</font></b><br>";
|
||||
aboutText += "Copyright (C) 2004-2010 LoRd_MuldeR <a href=\"mailto:mulder2@gmx.de\"><MuldeR2@GMX.de></a><br>";
|
||||
aboutText += QString().sprintf("Version %d.%02d %s, Build %d [%s]<br><br>", lamexp_version_major(), lamexp_version_minor(), lamexp_version_release(), lamexp_version_build(), lamexp_version_date().toString(Qt::ISODate).toLatin1().constData());
|
||||
aboutText += "Please visit <a href=\"http://mulder.dummwiedeutsch.de/\">http://mulder.dummwiedeutsch.de/</a> for news and updates!<br><hr><br>";
|
||||
aboutText += "This program is free software; you can redistribute it and/or<br>";
|
||||
aboutText += "<h2>LameXP - Audio Encoder Front-end</h2>";
|
||||
aboutText += QString("<b>Copyright (C) 2004-%1 LoRd_MuldeR <MuldeR2@GMX.de>. Some rights reserved.</b><br>").arg(max(lamexp_version_date().year(),QDate::currentDate().year()));
|
||||
aboutText += QString().sprintf("<b>Version %d.%02d %s, Build %d [%s]</b><br><br>", lamexp_version_major(), lamexp_version_minor(), lamexp_version_release(), lamexp_version_build(), lamexp_version_date().toString(Qt::ISODate).toLatin1().constData());
|
||||
aboutText += "<nobr>Please visit the official web-site at ";
|
||||
aboutText += LINK("http://mulder.dummwiedeutsch.de/") += " for news and updates!</nobr><br>";
|
||||
aboutText += "<hr><br>";
|
||||
aboutText += "<nobr><tt>This program is free software; you can redistribute it and/or<br>";
|
||||
aboutText += "modify it under the terms of the GNU General Public License<br>";
|
||||
aboutText += "as published by the Free Software Foundation; either version 2<br>";
|
||||
aboutText += "of the License, or (at your option) any later version.<br><br>";
|
||||
@ -170,26 +174,64 @@ void MainWindow::aboutButtonClicked(void)
|
||||
aboutText += "GNU General Public License for more details.<br><br>";
|
||||
aboutText += "You should have received a copy of the GNU General Public License<br>";
|
||||
aboutText += "along with this program; if not, write to the Free Software<br>";
|
||||
aboutText += "Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.<br><hr><br>";
|
||||
aboutText += "This software uses the 'slick' icon set by <a href=\"http://www.famfamfam.com/lab/icons/silk/\">http://www.famfamfam.com/</a>.<br>";
|
||||
aboutText += "Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.</tt></nobr><br>";
|
||||
aboutText += "<hr><br>";
|
||||
aboutText += "This software uses the 'slick' icon set by Mark James – <a href=\"http://www.famfamfam.com/lab/icons/silk/\">http://www.famfamfam.com/</a>.<br>";
|
||||
aboutText += "Released under the Creative Commons Attribution 2.5 License.<br>";
|
||||
|
||||
QApplication::setOverrideCursor(QCursor(Qt::WaitCursor));
|
||||
PlaySound(MAKEINTRESOURCE(IDR_WAVE_ABOUT), GetModuleHandle(NULL), SND_RESOURCE | SND_SYNC);
|
||||
QApplication::restoreOverrideCursor();
|
||||
QMessageBox *aboutBox = new QMessageBox(this);
|
||||
aboutBox->setText(aboutText);
|
||||
aboutBox->setIconPixmap(dynamic_cast<QApplication*>(QApplication::instance())->windowIcon().pixmap(QSize(64,64)));
|
||||
aboutBox->setWindowTitle("About LameXP");
|
||||
|
||||
QPushButton *firstButton = aboutBox->addButton("More About...", QMessageBox::AcceptRole);
|
||||
firstButton->setIcon(QIcon(":/icons/information.png"));
|
||||
firstButton->setMinimumWidth(120);
|
||||
|
||||
QPushButton *secondButton = aboutBox->addButton("About Qt...", QMessageBox::AcceptRole);
|
||||
secondButton->setIcon(QIcon(":/images/Qt.svg"));
|
||||
secondButton->setMinimumWidth(120);
|
||||
|
||||
QPushButton *thirdButton = aboutBox->addButton("Discard", QMessageBox::AcceptRole);
|
||||
thirdButton->setIcon(QIcon(":/icons/cross.png"));
|
||||
thirdButton->setMinimumWidth(90);
|
||||
|
||||
PlaySound(MAKEINTRESOURCE(IDR_WAVE_ABOUT), GetModuleHandle(NULL), SND_RESOURCE | SND_ASYNC);
|
||||
|
||||
while(1)
|
||||
{
|
||||
switch(QMessageBox::information(this, "About LameXP", aboutText, " More about... ", " About Qt... ", " Discard "))
|
||||
switch(aboutBox->exec())
|
||||
{
|
||||
case 0:
|
||||
{
|
||||
const QString li("<li style=\"margin-left:-25px\">");
|
||||
QString moreAboutText;
|
||||
moreAboutText += "The following third-party software is used in LameXP:<br><br>";
|
||||
moreAboutText += "<b>LAME - OpenSource mp3 Encoder</b><br>Released under the terms of the GNU Leser General Public License.<br><a href=\"http://lame.sourceforge.net/\">http://lame.sourceforge.net/</a><br><br>";
|
||||
moreAboutText += "<b>OggEnc - Ogg Vorbis Encoder</b><br>Completely open and patent-free audio encoding technology.<br><a href=\"http://www.vorbis.com/\">http://www.vorbis.com/</a><br><br>";
|
||||
moreAboutText += "<b>Nero AAC reference MPEG-4 Encoder</b><br>Freeware state-of-the-art HE-AAC encoder with 2-Pass support.<br><a href=\"http://www.nero.com/eng/technologies-aac-codec.html\">http://www.nero.com/eng/technologies-aac-codec.html</a><br>";
|
||||
QMessageBox::information(this, "About third-party tools", moreAboutText, "Discard");
|
||||
moreAboutText += "<h3>The following third-party software is used in LameXP:</h3>";
|
||||
moreAboutText += "<ul>";
|
||||
moreAboutText += li + "<b>LAME - OpenSource mp3 Encoder</b><br>";
|
||||
moreAboutText += "Released under the terms of the GNU Leser General Public License.<br>";
|
||||
moreAboutText += LINK("http://lame.sourceforge.net/");
|
||||
moreAboutText += "<br>";
|
||||
moreAboutText += li + "<b>OggEnc - Ogg Vorbis Encoder</b>";
|
||||
moreAboutText += "<br>Completely open and patent-free audio encoding technology.<br>";
|
||||
moreAboutText += LINK("http://www.vorbis.com/");
|
||||
moreAboutText += "<br>";
|
||||
moreAboutText += li + "<b>Nero AAC reference MPEG-4 Encoder</b><br>";
|
||||
moreAboutText += "Freeware state-of-the-art HE-AAC encoder with 2-Pass support.<br>";
|
||||
moreAboutText += LINK("http://www.nero.com/eng/technologies-aac-codec.html/");
|
||||
moreAboutText += "<br>";
|
||||
moreAboutText += li + "<b>MediaInfo - Media File Analysis Tool</b><br>";
|
||||
moreAboutText += "Released under the terms of the GNU Leser General Public License.<br>";
|
||||
moreAboutText += LINK("http://mediainfo.sourceforge.net/");
|
||||
moreAboutText += "<br></ul>";
|
||||
|
||||
QMessageBox *moreAboutBox = new QMessageBox(this);
|
||||
moreAboutBox->setText(moreAboutText);
|
||||
moreAboutBox->setIconPixmap(dynamic_cast<QApplication*>(QApplication::instance())->windowIcon().pixmap(QSize(64,64)));
|
||||
moreAboutBox->setWindowTitle("About Third-party Software");
|
||||
moreAboutBox->exec();
|
||||
|
||||
LAMEXP_DELETE(moreAboutBox);
|
||||
break;
|
||||
}
|
||||
case 1:
|
||||
@ -199,6 +241,8 @@ void MainWindow::aboutButtonClicked(void)
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
LAMEXP_DELETE(aboutBox);
|
||||
}
|
||||
|
||||
/*
|
||||
|
@ -36,8 +36,14 @@
|
||||
#include <QStringList>
|
||||
|
||||
//LameXP includes
|
||||
#include "Resource.h"
|
||||
#include "LockedFile.h"
|
||||
|
||||
//CRT includes
|
||||
#include <stdio.h>
|
||||
#include <io.h>
|
||||
#include <fcntl.h>
|
||||
|
||||
//Debug only includes
|
||||
#ifdef _DEBUG
|
||||
#include <Psapi.h>
|
||||
@ -48,10 +54,10 @@
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
//Build version
|
||||
static const unsigned int g_lamexp_version_major = 4;
|
||||
static const unsigned int g_lamexp_version_minor = 0;
|
||||
static const unsigned int g_lamexp_version_build = 4;
|
||||
static const char *g_lamexp_version_release = "Pre-Alpha";
|
||||
static const unsigned int g_lamexp_version_major = VER_LAMEXP_MAJOR;
|
||||
static const unsigned int g_lamexp_version_minor = VER_LAMEXP_MINOR;
|
||||
static const unsigned int g_lamexp_version_build = VER_LAMEXP_BUILD;
|
||||
static const char *g_lamexp_version_release = VER_LAMEXP_SUFFIX_STR;
|
||||
|
||||
//Build date
|
||||
static QDate g_lamexp_version_date;
|
||||
@ -79,7 +85,11 @@ unsigned int lamexp_version_major(void) { return g_lamexp_version_major; }
|
||||
unsigned int lamexp_version_minor(void) { return g_lamexp_version_minor; }
|
||||
unsigned int lamexp_version_build(void) { return g_lamexp_version_build; }
|
||||
const char *lamexp_version_release(void) { return g_lamexp_version_release; }
|
||||
bool lamexp_version_demo(void) { return !(strstr(g_lamexp_version_release, "Final") || strstr(g_lamexp_version_release, "Hotfix")); }
|
||||
|
||||
bool lamexp_version_demo(void)
|
||||
{
|
||||
return !(strstr(g_lamexp_version_release, "Final") || strstr(g_lamexp_version_release, "Hotfix"));
|
||||
}
|
||||
|
||||
/*
|
||||
* Get build date date
|
||||
@ -127,6 +137,41 @@ const QDate &lamexp_version_date(void)
|
||||
return g_lamexp_version_date;
|
||||
}
|
||||
|
||||
/*
|
||||
* Initialize the console
|
||||
*/
|
||||
void lamexp_init_console(int argc, char* argv[])
|
||||
{
|
||||
for(int i = 0; i < argc; i++)
|
||||
{
|
||||
if(lamexp_version_demo() || !_stricmp(argv[i], "--console"))
|
||||
{
|
||||
if(AllocConsole())
|
||||
{
|
||||
//See: http://support.microsoft.com/default.aspx?scid=kb;en-us;105305
|
||||
int hCrtStdOut = _open_osfhandle((long) GetStdHandle(STD_OUTPUT_HANDLE), _O_TEXT);
|
||||
int hCrtStdErr = _open_osfhandle((long) GetStdHandle(STD_ERROR_HANDLE), _O_TEXT);
|
||||
FILE *hfStdOut = _fdopen(hCrtStdOut, "w");
|
||||
FILE *hfStderr = _fdopen(hCrtStdErr, "w");
|
||||
*stdout = *hfStdOut;
|
||||
*stderr = *hfStderr;
|
||||
setvbuf(stdout, NULL, _IONBF, 0);
|
||||
setvbuf(stderr, NULL, _IONBF, 0);
|
||||
}
|
||||
|
||||
HMENU hMenu = GetSystemMenu(GetConsoleWindow(), 0);
|
||||
EnableMenuItem(hMenu, SC_CLOSE, MF_BYCOMMAND | MF_GRAYED);
|
||||
RemoveMenu(hMenu, SC_CLOSE, MF_BYCOMMAND);
|
||||
|
||||
SetConsoleCtrlHandler(NULL, TRUE);
|
||||
SetConsoleTitle(L"LameXP - Audio Encoder Front-End | Debug Console");
|
||||
SetConsoleOutputCP(CP_UTF8);
|
||||
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
* Initialize Qt framework
|
||||
*/
|
||||
@ -173,14 +218,15 @@ bool lamexp_init_qt(int argc, char* argv[])
|
||||
application->setApplicationVersion(QString().sprintf("%d.%02d.%04d", lamexp_version_major(), lamexp_version_minor(), lamexp_version_build()));
|
||||
application->setOrganizationName("LoRd_MuldeR");
|
||||
application->setOrganizationDomain("mulder.dummwiedeutsch.de");
|
||||
application->setWindowIcon(QIcon(":/MainIcon.ico"));
|
||||
application->setWindowIcon(QIcon(":/MainIcon.png"));
|
||||
|
||||
//Load plugins from application directory
|
||||
QCoreApplication::setLibraryPaths(QStringList() << QApplication::applicationDirPath());
|
||||
|
||||
qDebug("Library Path:\n%s\n", QApplication::libraryPaths().first().toUtf8().constData());
|
||||
|
||||
//Check for supported image formats
|
||||
QList<QByteArray> supportedFormats = QImageReader::supportedImageFormats();
|
||||
if(!(supportedFormats.contains("png") && supportedFormats.contains("gif") && supportedFormats.contains("ico")))
|
||||
if(!(supportedFormats.contains("png") && supportedFormats.contains("gif") && supportedFormats.contains("ico") && supportedFormats.contains("svg")))
|
||||
{
|
||||
qFatal("Qt initialization error: At least one image format plugin is missing!");
|
||||
return false;
|
||||
@ -219,7 +265,7 @@ bool lamexp_check_instances(void)
|
||||
{
|
||||
QString errorMessage = sharedMemory->errorString();
|
||||
LAMEXP_DELETE(sharedMemory);
|
||||
qFatal("Failed to create shared memory: %s", errorMessage.toLatin1().constData());
|
||||
qFatal("Failed to create shared memory: %s", errorMessage.toUtf8().constData());
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
@ -45,6 +45,7 @@ const char *lamexp_version_release(void);
|
||||
bool lamexp_version_demo(void);
|
||||
|
||||
//Public functions
|
||||
void lamexp_init_console(int argc, char* argv[]);
|
||||
bool lamexp_init_qt(int argc, char* argv[]);
|
||||
bool lamexp_check_instances(void);
|
||||
void lamexp_register_tool(const QString &toolName, LockedFile *file);
|
||||
|
@ -45,7 +45,7 @@ LockedFile::LockedFile(const QString &resourcePath, const QString &outPath, cons
|
||||
{
|
||||
QFile::remove(QFileInfo(outFile).absoluteFilePath());
|
||||
char error_msg[256];
|
||||
strcpy_s(error_msg, 256, QString("File '%1' could not be written!").arg(QFileInfo(outFile).fileName()).toLatin1().constData());
|
||||
strcpy_s(error_msg, 256, QString("File '%1' could not be written!").arg(QFileInfo(outFile).fileName()).toUtf8().constData());
|
||||
throw error_msg;
|
||||
}
|
||||
outFile.close();
|
||||
@ -53,7 +53,7 @@ LockedFile::LockedFile(const QString &resourcePath, const QString &outPath, cons
|
||||
else
|
||||
{
|
||||
char error_msg[256];
|
||||
strcpy_s(error_msg, 256, QString("File '%1' could not be created!").arg(QFileInfo(outFile).fileName()).toLatin1().constData());
|
||||
strcpy_s(error_msg, 256, QString("File '%1' could not be created!").arg(QFileInfo(outFile).fileName()).toUtf8().constData());
|
||||
throw error_msg;
|
||||
}
|
||||
|
||||
|
11
src/Main.cpp
11
src/Main.cpp
@ -36,11 +36,13 @@
|
||||
|
||||
int lamexp_main(int argc, char* argv[])
|
||||
{
|
||||
//Init console
|
||||
lamexp_init_console(argc, argv);
|
||||
|
||||
//Print version info
|
||||
SetConsoleTitle(L"LameXP - Audio Encoder Front-End | DO NOT CLOSE CONSOLE !!!");
|
||||
qDebug("\nLameXP - Audio Encoder Front-End");
|
||||
qDebug("LameXP - Audio Encoder Front-End");
|
||||
qDebug("Version %d.%02d %s, Build %d [%s], MSVC compiler v%02d.%02d", lamexp_version_major(), lamexp_version_minor(), lamexp_version_release(), lamexp_version_build(), lamexp_version_date().toString(Qt::ISODate).toLatin1().constData(), _MSC_VER / 100, _MSC_VER % 100);
|
||||
qDebug("Copyright (C) 2004-2010 LoRd_MuldeR <MuldeR2@GMX.de>\n");
|
||||
qDebug("Copyright (C) 2004-%04d LoRd_MuldeR <MuldeR2@GMX.de>\n", max(lamexp_version_date().year(),QDate::currentDate().year()));
|
||||
|
||||
//print license info
|
||||
qDebug("This program is free software: you can redistribute it and/or modify");
|
||||
@ -60,7 +62,8 @@ int lamexp_main(int argc, char* argv[])
|
||||
qWarning(QString("Note: This demo (pre-release) version of LameXP will expire at %1.\n").arg(expireDate.toString(Qt::ISODate)).toLatin1().constData());
|
||||
if(QDate::currentDate() >= expireDate)
|
||||
{
|
||||
QMessageBox::warning(NULL, "LameXP - Expired", QString("This demo (pre-release) version of LameXP has expired at %1.").arg(expireDate.toString()), "Exit Program");
|
||||
qWarning("Expired !!!");
|
||||
QMessageBox::warning(NULL, "LameXP - Expired", QString("This demo (pre-release) version of LameXP has expired at %1.\nLameXP is free software and release versions won't expire.").arg(expireDate.toString()), "Exit Program");
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
|
@ -1,17 +1,61 @@
|
||||
//{{NO_DEPENDENCIES}}
|
||||
// Microsoft Visual C++ generated include file.
|
||||
// Used by g:\DeLpHi\LameXP_Qt\LameXP\LameXP.rc
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
// LameXP - Audio Encoder Front-End
|
||||
// Copyright (C) 2004-2010 LoRd_MuldeR <MuldeR2@GMX.de>
|
||||
//
|
||||
#define IDI_ICON1 101
|
||||
// This program is free software; you can redistribute it and/or modify
|
||||
// it under the terms of the GNU General Public License as published by
|
||||
// the Free Software Foundation; either version 2 of the License, or
|
||||
// (at your option) any later version.
|
||||
//
|
||||
// This program is distributed in the hope that it will be useful,
|
||||
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
// GNU General Public License for more details.
|
||||
//
|
||||
// You should have received a copy of the GNU General Public License along
|
||||
// with this program; if not, write to the Free Software Foundation, Inc.,
|
||||
// 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
//
|
||||
// http://www.gnu.org/licenses/gpl-2.0.txt
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
/*
|
||||
* LameXP Version Info
|
||||
*/
|
||||
#define VER_LAMEXP_MAJOR 4
|
||||
#define VER_LAMEXP_MINOR_HI 0
|
||||
#define VER_LAMEXP_MINOR_LO 0
|
||||
#define VER_LAMEXP_BUILD 7
|
||||
#define VER_LAMEXP_SUFFIX TechPreview
|
||||
|
||||
/*
|
||||
* Resource ID's
|
||||
*/
|
||||
#define IDI_ICON1 106
|
||||
#define IDR_WAVE_ABOUT 666
|
||||
|
||||
// Next default values for new objects
|
||||
//
|
||||
/*
|
||||
* Next default values for new objects
|
||||
*/
|
||||
#ifdef APSTUDIO_INVOKED
|
||||
#ifndef APSTUDIO_READONLY_SYMBOLS
|
||||
#define _APS_NEXT_RESOURCE_VALUE 102
|
||||
#define _APS_NEXT_RESOURCE_VALUE 107
|
||||
#define _APS_NEXT_COMMAND_VALUE 40001
|
||||
#define _APS_NEXT_CONTROL_VALUE 1001
|
||||
#define _APS_NEXT_SYMED_VALUE 101
|
||||
#endif
|
||||
#endif
|
||||
|
||||
/*
|
||||
* Helper macros (having fun with the C pre-processor)
|
||||
*/
|
||||
#define VER_LAMEXP_STR_HLP1(X) #X
|
||||
#define VER_LAMEXP_STR_HLP2(V,W,X,Y,Z) VER_LAMEXP_STR_HLP1(v##V.W##X Z [Build Y])
|
||||
#define VER_LAMEXP_STR_HLP3(V,W,X,Y,Z) VER_LAMEXP_STR_HLP2(V,W,X,Y,Z)
|
||||
#define VER_LAMEXP_STR VER_LAMEXP_STR_HLP3(VER_LAMEXP_MAJOR,VER_LAMEXP_MINOR_HI,VER_LAMEXP_MINOR_LO,VER_LAMEXP_BUILD,VER_LAMEXP_SUFFIX)
|
||||
#define VER_LAMEXP_SUFFIX_STR_HLP1(X) #X
|
||||
#define VER_LAMEXP_SUFFIX_STR_HLP2(X) VER_LAMEXP_SUFFIX_STR_HLP1(X)
|
||||
#define VER_LAMEXP_SUFFIX_STR VER_LAMEXP_SUFFIX_STR_HLP2(VER_LAMEXP_SUFFIX)
|
||||
#define VER_LAMEXP_MINOR_HLP1(X,Y) X##Y
|
||||
#define VER_LAMEXP_MINOR_HLP2(X,Y) VER_LAMEXP_MINOR_HLP1(X,Y)
|
||||
#define VER_LAMEXP_MINOR VER_LAMEXP_MINOR_HLP2(VER_LAMEXP_MINOR_HI,VER_LAMEXP_MINOR_LO)
|
||||
|
@ -61,9 +61,14 @@ void FileAnalyzer::run()
|
||||
while(!m_inputFiles.isEmpty())
|
||||
{
|
||||
QString currentFile = QDir::fromNativeSeparators(m_inputFiles.takeFirst());
|
||||
qDebug("Adding: %s", currentFile.toLatin1().constData());
|
||||
qDebug("Analyzing: %s", currentFile.toUtf8().constData());
|
||||
emit fileSelected(QFileInfo(currentFile).fileName());
|
||||
AudioFileModel file = analyzeFile(currentFile);
|
||||
if(file.formatContainerType().isEmpty() || file.formatAudioType().isEmpty())
|
||||
{
|
||||
qDebug("Skipped: %s", file.filePath().toUtf8().constData());
|
||||
continue;
|
||||
}
|
||||
emit fileAnalyzed(file);
|
||||
}
|
||||
|
||||
@ -83,7 +88,8 @@ const AudioFileModel FileAnalyzer::analyzeFile(const QString &filePath)
|
||||
QProcess process;
|
||||
process.setProcessChannelMode(QProcess::MergedChannels);
|
||||
process.setReadChannel(QProcess::StandardOutput);
|
||||
process.start(m_mediaInfoBin, QStringList() << filePath);
|
||||
process.start(m_mediaInfoBin, QStringList() << QDir::toNativeSeparators(filePath));
|
||||
process.waitForStarted();
|
||||
|
||||
while(process.state() != QProcess::NotRunning)
|
||||
{
|
||||
@ -154,7 +160,7 @@ void FileAnalyzer::updateSection(const QString §ion)
|
||||
}
|
||||
else
|
||||
{
|
||||
qWarning("Unknown section: %s", section.toLatin1().constData());
|
||||
qWarning("Unknown section: %s", section.toUtf8().constData());
|
||||
}
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user