Merge branch 'master' of github.com:lordmulder/LameXP
This commit is contained in:
commit
a696b31eda
@ -16,6 +16,13 @@ a:visited { color: #0000EE; }
|
||||
<body>
|
||||
<h3>LameXP - Version History</h3><br>
|
||||
|
||||
<a name="4.06"></a>Changes between v4.05 and v4.06 [<font color="darkred">unreleased</font>]:<br><ul>
|
||||
<li>Updated Qt runtime libraries to v4.8.3 (2012-09-13), compiled with MSVC 10.0
|
||||
<li>Updated MediaInfo to v0.7.60 (2012-09-07), compiled with ICL 12.1.7 and MSVC 10.0
|
||||
<li>Fixed a bug with the "Store temporary files in your system's default TEMP director" checkbox
|
||||
<li>Reworked the "About..." dialog (now using a custom dialog instead of message boxes)
|
||||
</ul><br>
|
||||
|
||||
<a name="4.05"></a>Changes between v4.04 and v4.05 [2012-09-03]:<br><ul>
|
||||
<li>Added support for Opus Audio Codec, based on Opus-Tools v0.1.4 (2012-08-16) by Xiph.org/Mozilla
|
||||
<li>Added Swedish translation, thanks to Åke Engelbrektson <eson57@gmail.com>
|
||||
|
@ -20,7 +20,7 @@ a:visited { color: #0000EE; }
|
||||
<br>
|
||||
<h3>Prerequisites:</h3>
|
||||
<p>LameXP v4.xx is a complete re-write of LameXP. This time LameXP is developed in C++ and it is based on the <a href="http://qt.nokia.com/products/" target="_blank">Qt</a> cross-platform application framework. The good news for translators is that Qt provides <i>full Unicode support</i>, which was also one of the main reasons for the re-write. Consequently there will be no more headache with different Codepages! Furthermore the Qt framework provides a sophisticated translation system, which allows for easy internationalization and localization. There even is an easy-to-use graphical tool for translating Qt application, the <a href="http://doc.qt.nokia.com/latest/linguist-manual.html" target="_blank">Qt Linguist</a>. So before you start translating, you should make yourself familiar with the <i>Qt Linguist</i> application. As a translator, having a quick look at the <a href="http://doc.qt.nokia.com/latest/linguist-translators.html" target="_blank">guide for translators</a> is sufficient.</p>
|
||||
<p>You can download <i>Qt Linguist</i> as a part of the Qt Framework (SDK), which is available as a free download from the <a href="http://qt.nokia.com/downloads" target="_blank">Qt download site</a>. You should pick the "Qt SDK" and download the "Online installer" (∼15 MB), but you do <b>not</b> need to worry about a "commercial" license. In the Qt SDK Setup wizard, make sure you select the "Custom" install type. Then un-check all components, except for "Qt SDK" ⇒ "Development Tools" ⇒ "Qt Liguist". Alternatively, if you don't want to install the Qt SDK on your computer, you can find Qt Linguist for Windows as a <i>stand-alone</i> download at <a href="http://sourceforge.net/projects/lamexp/files/Miscellaneous/Qt%20Linguist/" target="_blank">this</a> location (only ∼4 MB). The stand-alone Linguist version has been built using <i>static</i> Qt libraries and thus should work "out of the box", just unzip the ZIP file and run the "linguist.exe" file.</p>
|
||||
<p>You can download <i>Qt Linguist</i> as a part of the "Qt SDK" or the "Qt libraries", which are available as a free download from the <a href="http://qt-project.org/downloads" target="_blank">Qt download site</a>. We recommend picking the "Qt SDK" and download the "Online installer" (∼15 MB), but you do <b>not</b> need to worry about a "commercial" license. In the Qt SDK Setup wizard, make sure you select the "Custom" install type. Then un-check all components, except for "Qt SDK" ⇒ "Development Tools" ⇒ "Qt Liguist". Alternatively, if you don't want to install the Qt SDK on your computer, you can find Qt Linguist for Windows as a <i>stand-alone</i> download at <a href="http://sourceforge.net/projects/lamexp/files/Miscellaneous/Qt%20Linguist/" target="_blank"><b>this</b></a> location (only ∼4 MB). This stand-alone version of Linguist has been built using <i>static</i> Qt libraries and thus should work "out of the box" <i>without</i> any dependencies - just unzip the ZIP file and run the "linguist.exe" file.</p>
|
||||
<br>
|
||||
<h3>Editing the language file:</h3>
|
||||
<p>LameXP v4.xx translations are created as TS (translation) files, which can be edited using the <i>Qt Linguist</i> application. For new translations an empty TS file ("Blank.ts") is provided in the LameXP Git repository. When you open the empty TS file for the first time, Qt Linguist will ask for some basic settings. Here you must keep the "Source language" options at "English" and "Any Country". Change the "Target language" options to whatever language (region) you are going to translate to. Once you have edited all (or some) text strings, you can save your work to a TS file again. It is recommended to save your work to "LameXP_XX.ts", where <i>XX</i> should be replaced with the suitable upper-case <a href="http://www.loc.gov/standards/iso639-2/php/code_list.php" target="_blank">ISO 639-1</a> Code for the representation of names of languages (for example the German translation is saved as "LameXP_DE.ts", because the corresponding ISO 639-1 code is DE). You can re-open your TS file at any time in order to continue with your work. In case you want to improve an existing LameXP translation, simply download the corresponding TS file from the LameXP Git repository and edit it using the Qt Linguist tool.</p>
|
||||
|
File diff suppressed because it is too large
Load Diff
@ -169,7 +169,7 @@
|
||||
</message>
|
||||
<message>
|
||||
<source>Note: This demo (pre-release) version of LameXP will expire at %1. Still %2 days left.</source>
|
||||
<translation>Hinweise: Diese Demo (Test) Version von LameXP läuft am %1 ab. Noch %2 Tage übrig.</translation>
|
||||
<translation>Hinweis: Diese Demo (Test) Version von LameXP läuft am %1 ab. Noch %2 Tage übrig.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Aften - A/52 audio encoder</source>
|
||||
@ -283,6 +283,10 @@
|
||||
<source>Marius Hudea</source>
|
||||
<translation></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>UPX - The Ultimate Packer for eXecutables</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>AudioFileModel</name>
|
||||
|
@ -283,6 +283,10 @@
|
||||
<source>Marius Hudea</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>UPX - The Ultimate Packer for eXecutables</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>AudioFileModel</name>
|
||||
|
@ -287,6 +287,10 @@
|
||||
<source>Marius Hudea</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>UPX - The Ultimate Packer for eXecutables</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>AudioFileModel</name>
|
||||
|
@ -283,6 +283,10 @@
|
||||
<source>Marius Hudea</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>UPX - The Ultimate Packer for eXecutables</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>AudioFileModel</name>
|
||||
|
@ -283,6 +283,10 @@
|
||||
<source>Marius Hudea</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>UPX - The Ultimate Packer for eXecutables</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>AudioFileModel</name>
|
||||
|
File diff suppressed because it is too large
Load Diff
@ -283,6 +283,10 @@
|
||||
<source>Marius Hudea</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>UPX - The Ultimate Packer for eXecutables</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>AudioFileModel</name>
|
||||
|
File diff suppressed because it is too large
Load Diff
@ -283,6 +283,10 @@
|
||||
<source>Marius Hudea</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>UPX - The Ultimate Packer for eXecutables</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>AudioFileModel</name>
|
||||
|
@ -284,6 +284,10 @@
|
||||
<source>Marius Hudea</source>
|
||||
<translation>Marius Hudea</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>UPX - The Ultimate Packer for eXecutables</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>AudioFileModel</name>
|
||||
|
@ -283,6 +283,10 @@
|
||||
<source>Marius Hudea</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>UPX - The Ultimate Packer for eXecutables</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>AudioFileModel</name>
|
||||
|
@ -19,9 +19,6 @@
|
||||
<property name="windowTitle">
|
||||
<string>About LameXP</string>
|
||||
</property>
|
||||
<property name="modal">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
<layout class="QVBoxLayout" name="verticalLayout">
|
||||
<item>
|
||||
<widget class="QTabWidget" name="tabWidget">
|
||||
@ -65,7 +62,7 @@
|
||||
</property>
|
||||
<layout class="QHBoxLayout" name="horizontalLayout">
|
||||
<property name="spacing">
|
||||
<number>24</number>
|
||||
<number>18</number>
|
||||
</property>
|
||||
<property name="leftMargin">
|
||||
<number>8</number>
|
||||
@ -74,7 +71,7 @@
|
||||
<number>12</number>
|
||||
</property>
|
||||
<property name="rightMargin">
|
||||
<number>12</number>
|
||||
<number>8</number>
|
||||
</property>
|
||||
<property name="bottomMargin">
|
||||
<number>12</number>
|
||||
@ -163,7 +160,7 @@
|
||||
</property>
|
||||
<layout class="QHBoxLayout" name="horizontalLayout_3">
|
||||
<property name="spacing">
|
||||
<number>24</number>
|
||||
<number>18</number>
|
||||
</property>
|
||||
<property name="leftMargin">
|
||||
<number>8</number>
|
||||
@ -172,7 +169,7 @@
|
||||
<number>12</number>
|
||||
</property>
|
||||
<property name="rightMargin">
|
||||
<number>12</number>
|
||||
<number>8</number>
|
||||
</property>
|
||||
<property name="bottomMargin">
|
||||
<number>12</number>
|
||||
@ -261,7 +258,7 @@
|
||||
</property>
|
||||
<layout class="QHBoxLayout" name="horizontalLayout_5">
|
||||
<property name="spacing">
|
||||
<number>24</number>
|
||||
<number>18</number>
|
||||
</property>
|
||||
<property name="leftMargin">
|
||||
<number>8</number>
|
||||
@ -270,7 +267,7 @@
|
||||
<number>12</number>
|
||||
</property>
|
||||
<property name="rightMargin">
|
||||
<number>12</number>
|
||||
<number>8</number>
|
||||
</property>
|
||||
<property name="bottomMargin">
|
||||
<number>12</number>
|
||||
|
Binary file not shown.
@ -27,10 +27,10 @@
|
||||
|
||||
#define VER_LAMEXP_MAJOR 4
|
||||
#define VER_LAMEXP_MINOR_HI 0
|
||||
#define VER_LAMEXP_MINOR_LO 5
|
||||
#define VER_LAMEXP_TYPE Final
|
||||
#define VER_LAMEXP_PATCH 2
|
||||
#define VER_LAMEXP_BUILD 1117
|
||||
#define VER_LAMEXP_MINOR_LO 6
|
||||
#define VER_LAMEXP_TYPE Alpha
|
||||
#define VER_LAMEXP_PATCH 1
|
||||
#define VER_LAMEXP_BUILD 1122
|
||||
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
// Tool versions (minimum expected versions!)
|
||||
|
@ -385,6 +385,20 @@ void AboutDialog::moveDisque(void)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void AboutDialog::adjustSize(void)
|
||||
{
|
||||
int maximumHeight = QApplication::desktop()->availableGeometry().height();
|
||||
|
||||
int delta = infoScrollArea->widget()->height() - infoScrollArea->viewport()->height();
|
||||
if(delta > 0)
|
||||
{
|
||||
this->resize(this->width(), qMin(this->height() + delta, maximumHeight));
|
||||
this->move(this->x(), this->y() - (delta/2));
|
||||
this->setMinimumHeight(qMax(this->minimumHeight(), this->height()));
|
||||
}
|
||||
}
|
||||
|
||||
////////////////////////////////////////////////////////////
|
||||
// Protected Functions
|
||||
////////////////////////////////////////////////////////////
|
||||
@ -403,6 +417,8 @@ void AboutDialog::showEvent(QShowEvent *e)
|
||||
QTimer::singleShot(5000, this, SLOT(enableButtons()));
|
||||
setCursor(QCursor(Qt::WaitCursor));
|
||||
}
|
||||
|
||||
QTimer::singleShot(0, this, SLOT(adjustSize()));
|
||||
}
|
||||
|
||||
void AboutDialog::closeEvent(QCloseEvent *e)
|
||||
@ -732,6 +748,13 @@ void AboutDialog::initSoftwareTab(void)
|
||||
"http://www.gnu.org/software/wget/"
|
||||
);
|
||||
moreAboutText += makeToolText
|
||||
(
|
||||
tr("UPX - The Ultimate Packer for eXecutables"),
|
||||
QString(), "v3.08",
|
||||
tr("Released under the terms of the GNU Lesser General Public License."),
|
||||
"http://upx.sourceforge.net/"
|
||||
);
|
||||
moreAboutText += makeToolText
|
||||
(
|
||||
tr("Silk Icons - Over 700 icons in PNG format"),
|
||||
QString(), "v1.3",
|
||||
@ -770,7 +793,7 @@ void AboutDialog::initLicenseTab(void)
|
||||
if(!bIsBlank) licenseText += QString("<font size=\"+2\">%1</font><br>").arg(line.simplified());
|
||||
break;
|
||||
case 1:
|
||||
if(!bIsBlank) licenseText += QString("<font size=\"+1\">%1</font><br>").arg(line.simplified());
|
||||
if(!bIsBlank) licenseText += QString("<font size=\"+1\">%1 − %2</font><br>").arg(line.simplified(), LINK("http://www.gnu.org/licenses/gpl-2.0.html"));
|
||||
break;
|
||||
default:
|
||||
TRIM_RIGHT(line);
|
||||
@ -780,7 +803,7 @@ void AboutDialog::initLicenseTab(void)
|
||||
|
||||
if(!bIsBlank) counter++;
|
||||
}
|
||||
licenseText += QString("<br><br>%1").arg(LINK("http://www.gnu.org/licenses/gpl-2.0.html"));
|
||||
licenseText += QString("<br>");
|
||||
stream.device()->close();
|
||||
}
|
||||
else
|
||||
|
@ -43,6 +43,7 @@ public slots:
|
||||
void showAboutQt(void);
|
||||
void moveDisque(void);
|
||||
void tabChanged(int index);
|
||||
void adjustSize(void);
|
||||
|
||||
protected:
|
||||
virtual void showEvent(QShowEvent *e);
|
||||
|
@ -1537,31 +1537,28 @@ void MainWindow::tabPageChanged(int idx)
|
||||
}
|
||||
|
||||
int initialWidth = this->width();
|
||||
int maximumWidth = QApplication::desktop()->width();
|
||||
int maximumWidth = QApplication::desktop()->availableGeometry().width();
|
||||
|
||||
//Make sure all tab headers are fully visible
|
||||
if(this->isVisible())
|
||||
{
|
||||
while(tabWidget->width() < tabWidget->sizeHint().width())
|
||||
int delta = tabWidget->sizeHint().width() - tabWidget->width();
|
||||
if(delta > 0)
|
||||
{
|
||||
int previousWidth = this->width();
|
||||
this->resize(this->width() + 1, this->height());
|
||||
if(this->frameGeometry().width() >= maximumWidth) break;
|
||||
if(this->width() <= previousWidth) break;
|
||||
this->resize(qMin(this->width() + delta, maximumWidth), this->height());
|
||||
}
|
||||
}
|
||||
|
||||
//Tab specific operations
|
||||
if(idx == tabWidget->indexOf(tabOptions) && scrollArea->widget() && this->isVisible())
|
||||
{
|
||||
for(int i = 0; i < 2; i++)
|
||||
scrollArea->widget()->updateGeometry();
|
||||
scrollArea->viewport()->updateGeometry();
|
||||
qApp->processEvents();
|
||||
int delta = scrollArea->widget()->width() - scrollArea->viewport()->width();
|
||||
if(delta > 0)
|
||||
{
|
||||
QApplication::processEvents();
|
||||
while(scrollArea->viewport()->width() < scrollArea->widget()->width())
|
||||
{
|
||||
int previousWidth = this->width();
|
||||
this->resize(this->width() + 1, this->height());
|
||||
if(this->frameGeometry().width() >= maximumWidth) break;
|
||||
if(this->width() <= previousWidth) break;
|
||||
}
|
||||
this->resize(qMin(this->width() + delta, maximumWidth), this->height());
|
||||
}
|
||||
}
|
||||
else if(idx == tabWidget->indexOf(tabSourceFiles))
|
||||
@ -1580,6 +1577,7 @@ void MainWindow::tabPageChanged(int idx)
|
||||
}
|
||||
}
|
||||
|
||||
//Center window around previous position
|
||||
if(initialWidth < this->width())
|
||||
{
|
||||
QPoint prevPos = this->pos();
|
||||
|
Loading…
Reference in New Issue
Block a user