feat: display git describe version string in app if possible

This commit is contained in:
Gary Wang 2020-09-29 09:45:07 +08:00
parent 4c3e370f70
commit 7c39668eb6
4 changed files with 29 additions and 13 deletions

View File

@ -116,6 +116,9 @@ if (EXISTS "${CMAKE_SOURCE_DIR}/.git")
)
string (REGEX REPLACE "\n" "" _git_describe_long "${_git_describe_long}")
ppic_set_version_via_describe(${_git_describe_long})
target_compile_definitions(${EXE_NAME} PRIVATE
GIT_DESCRIBE_VERSION_STRING="${_git_describe_long}"
)
endif ()
endif ()

View File

@ -33,6 +33,9 @@ AboutDialog::AboutDialog(QWidget *parent)
QStringList aboutStr {
QStringLiteral("<center><img width='128' height='128' src=':/icons/app-icon.svg'/><br/>"),
qApp->applicationDisplayName(),
#ifdef GIT_DESCRIBE_VERSION_STRING
(QStringLiteral("<br/>") + tr("Version: %1").arg(GIT_DESCRIBE_VERSION_STRING)),
#endif // GIT_DESCRIBE_VERSION_STRING
"<hr/>",
tr("Built with Qt %1 (%2)").arg(QT_VERSION_STR, QSysInfo::buildCpuArchitecture()),
QStringLiteral("<br/><a href='%1'>%2</a>").arg("https://github.com/BLumia/pineapple-pictures", tr("Source code")),
@ -103,7 +106,7 @@ SOFTWARE.
this->setLayout(mainLayout);
this->setMinimumSize(361, 161); // not sure why it complain "Unable to set geometry"
this->resize(520, 320);
this->resize(520, 330);
setWindowFlag(Qt::WindowContextHelpButtonHint, false);
}

View File

@ -35,36 +35,41 @@
</message>
<message>
<location filename="../aboutdialog.cpp" line="37"/>
<source>Version: %1</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../aboutdialog.cpp" line="40"/>
<source>Built with Qt %1 (%2)</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../aboutdialog.cpp" line="38"/>
<location filename="../aboutdialog.cpp" line="41"/>
<source>Source code</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../aboutdialog.cpp" line="42"/>
<location filename="../aboutdialog.cpp" line="45"/>
<source>&lt;p&gt;&lt;i&gt;%1&lt;/i&gt; is released under the MIT License.&lt;/p&gt;&lt;p&gt;This license grants people a number of freedoms:&lt;/p&gt;&lt;ul&gt;&lt;li&gt;You are free to use &lt;i&gt;%1&lt;/i&gt;, for any purpose&lt;/li&gt;&lt;li&gt;You are free to distribute &lt;i&gt;%1&lt;/i&gt;&lt;/li&gt;&lt;li&gt;You can study how &lt;i&gt;%1&lt;/i&gt; works and change it&lt;/li&gt;&lt;li&gt;You can distribute changed versions of &lt;i&gt;%1&lt;/i&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;The MIT license guarantees you this freedom. Nobody is ever permitted to take it away.&lt;/p&gt;</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../aboutdialog.cpp" line="55"/>
<location filename="../aboutdialog.cpp" line="58"/>
<source>Your Rights</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../aboutdialog.cpp" line="90"/>
<location filename="../aboutdialog.cpp" line="93"/>
<source>&amp;Help</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../aboutdialog.cpp" line="91"/>
<location filename="../aboutdialog.cpp" line="94"/>
<source>&amp;About</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../aboutdialog.cpp" line="92"/>
<location filename="../aboutdialog.cpp" line="95"/>
<source>&amp;License</source>
<translation type="unfinished"></translation>
</message>

View File

@ -35,36 +35,41 @@
</message>
<message>
<location filename="../aboutdialog.cpp" line="37"/>
<source>Version: %1</source>
<translation>: %1</translation>
</message>
<message>
<location filename="../aboutdialog.cpp" line="40"/>
<source>Built with Qt %1 (%2)</source>
<translation>使 Qt %1 (%2) </translation>
</message>
<message>
<location filename="../aboutdialog.cpp" line="38"/>
<location filename="../aboutdialog.cpp" line="41"/>
<source>Source code</source>
<translation></translation>
</message>
<message>
<location filename="../aboutdialog.cpp" line="42"/>
<location filename="../aboutdialog.cpp" line="45"/>
<source>&lt;p&gt;&lt;i&gt;%1&lt;/i&gt; is released under the MIT License.&lt;/p&gt;&lt;p&gt;This license grants people a number of freedoms:&lt;/p&gt;&lt;ul&gt;&lt;li&gt;You are free to use &lt;i&gt;%1&lt;/i&gt;, for any purpose&lt;/li&gt;&lt;li&gt;You are free to distribute &lt;i&gt;%1&lt;/i&gt;&lt;/li&gt;&lt;li&gt;You can study how &lt;i&gt;%1&lt;/i&gt; works and change it&lt;/li&gt;&lt;li&gt;You can distribute changed versions of &lt;i&gt;%1&lt;/i&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;The MIT license guarantees you this freedom. Nobody is ever permitted to take it away.&lt;/p&gt;</source>
<translation>&lt;p&gt;&lt;i&gt;%1&lt;/i&gt; MIT &lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;ul&gt;&lt;li&gt;使 &lt;i&gt;%1&lt;/i&gt;&lt;/li&gt;&lt;li&gt; &lt;i&gt;%1&lt;/i&gt;&lt;/li&gt;&lt;li&gt; &lt;i&gt;%1&lt;/i&gt; &lt;/li&gt;&lt;li&gt; &lt;i&gt;%1&lt;/i&gt; &lt;/li&gt;&lt;/ul&gt;&lt;p&gt; MIT &lt;/p&gt;</translation>
</message>
<message>
<location filename="../aboutdialog.cpp" line="55"/>
<location filename="../aboutdialog.cpp" line="58"/>
<source>Your Rights</source>
<translation></translation>
</message>
<message>
<location filename="../aboutdialog.cpp" line="90"/>
<location filename="../aboutdialog.cpp" line="93"/>
<source>&amp;Help</source>
<translation>(&amp;H)</translation>
</message>
<message>
<location filename="../aboutdialog.cpp" line="91"/>
<location filename="../aboutdialog.cpp" line="94"/>
<source>&amp;About</source>
<translation>(&amp;A)</translation>
</message>
<message>
<location filename="../aboutdialog.cpp" line="92"/>
<location filename="../aboutdialog.cpp" line="95"/>
<source>&amp;License</source>
<translation>(&amp;L)</translation>
</message>