ignore aspect ratio added

This commit is contained in:
Rafael 2016-04-28 00:21:25 +02:00
parent 0ba7638e17
commit 3ac7f4c611
8 changed files with 119 additions and 74 deletions

View File

@ -68,6 +68,7 @@ void ExportThread::run()
cusExportSize.setHeight(1);
}
QString sizeMode = settings.value("ExportSizeMode", "Default").toString();
Qt::AspectRatioMode aspectRatio = (Qt::AspectRatioMode)settings.value("AspectRatio", Qt::KeepAspectRatio).toInt();
settings.endGroup();
// End Picture Settings
@ -94,11 +95,11 @@ void ExportThread::run()
if (sizeMode == "Desktop")
{
QRect desktopResolution = QApplication::desktop()->screenGeometry();
exportPicture = exportPicture.scaled(desktopResolution.width(), desktopResolution.height(), Qt::IgnoreAspectRatio, Qt::SmoothTransformation);
exportPicture = exportPicture.scaled(desktopResolution.width(), desktopResolution.height(), aspectRatio, Qt::SmoothTransformation);
}
else if (sizeMode == "Custom")
{
exportPicture = exportPicture.scaled(cusExportSize, Qt::IgnoreAspectRatio, Qt::SmoothTransformation);
exportPicture = exportPicture.scaled(cusExportSize, aspectRatio, Qt::SmoothTransformation);
}
bool isSaved;

View File

@ -41,6 +41,7 @@ OptionsDialog::OptionsDialog(ProfileDatabase *profileDB, QWidget *parent) :
QRect desktopResolution = QApplication::desktop()->screenGeometry();
int desktopSizeWidth = desktopResolution.width();
int desktopSizeHeight = desktopResolution.height();
aspectRatio = Qt::KeepAspectRatio;
defExportSize = QSize(960, 536);
cusExportSize = defExportSize;
defaultQuality = 100;
@ -232,6 +233,7 @@ void OptionsDialog::applySettings()
settings->setValue("CustomSize", QSize(ui->sbPicExportWidth->value(), ui->sbPicExportHeight->value()));
}
settings->setValue("ExportSizeMode", sizeMode);
settings->setValue("AspectRatio", aspectRatio);
settings->endGroup();
#if QT_VERSION >= 0x050000
@ -347,5 +349,23 @@ void OptionsDialog::setupPictureSettings()
ui->rbPicDefaultRes->setChecked(true);
}
aspectRatio = (Qt::AspectRatioMode)settings->value("AspectRatio", Qt::KeepAspectRatio).toInt();
if (aspectRatio == Qt::IgnoreAspectRatio)
{
ui->cbIgnoreAspectRatio->setChecked(true);
}
settings->endGroup();
}
void OptionsDialog::on_cbIgnoreAspectRatio_toggled(bool checked)
{
if (checked)
{
aspectRatio = Qt::IgnoreAspectRatio;
}
else
{
aspectRatio = Qt::KeepAspectRatio;
}
}

View File

@ -44,6 +44,7 @@ private slots:
void on_rbPicCustomRes_toggled(bool checked);
void on_cbPicCustomQuality_toggled(bool checked);
void on_hsPicQuality_valueChanged(int value);
void on_cbIgnoreAspectRatio_toggled(bool checked);
signals:
void settingsApplied(int contentMode, QString language);
@ -52,6 +53,7 @@ private:
ProfileDatabase *profileDB;
Ui::OptionsDialog *ui;
QList<QTreeWidgetItem*> playerItems;
Qt::AspectRatioMode aspectRatio;
QString currentLanguage;
QString defaultProfile;
QString percentString;

View File

@ -191,6 +191,17 @@
</item>
</layout>
</item>
<item>
<layout class="QHBoxLayout" name="hlAspectRatio">
<item>
<widget class="QCheckBox" name="cbIgnoreAspectRatio">
<property name="text">
<string>Ignore Aspect Ratio</string>
</property>
</widget>
</item>
</layout>
</item>
</layout>
</widget>
</item>

View File

@ -68,6 +68,7 @@ void PictureExport::exportPicture(QWidget *parent, SnapmaticPicture *picture)
cusExportSize.setHeight(1);
}
QString sizeMode = settings.value("ExportSizeMode", "Default").toString();
Qt::AspectRatioMode aspectRatio = (Qt::AspectRatioMode)settings.value("AspectRatio", Qt::KeepAspectRatio).toInt();
settings.endGroup();
// End Picture Settings
@ -157,11 +158,11 @@ fileDialogPreSave:
if (sizeMode == "Desktop")
{
QRect desktopResolution = QApplication::desktop()->screenGeometry();
exportPicture = exportPicture.scaled(desktopResolution.width(), desktopResolution.height(), Qt::IgnoreAspectRatio, Qt::SmoothTransformation);
exportPicture = exportPicture.scaled(desktopResolution.width(), desktopResolution.height(), aspectRatio, Qt::SmoothTransformation);
}
else if (sizeMode == "Custom")
{
exportPicture = exportPicture.scaled(cusExportSize, Qt::IgnoreAspectRatio, Qt::SmoothTransformation);
exportPicture = exportPicture.scaled(cusExportSize, aspectRatio, Qt::SmoothTransformation);
}
bool isSaved;

View File

@ -168,101 +168,106 @@ Copyright &amp;copy; &lt;a href=&quot;https://github.com/Syping/&quot;&gt;Syping
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../OptionsDialog.ui" line="200"/>
<location filename="../OptionsDialog.ui" line="199"/>
<source>Ignore Aspect Ratio</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../OptionsDialog.ui" line="211"/>
<source>Export Quality</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../OptionsDialog.ui" line="206"/>
<location filename="../OptionsDialog.ui" line="217"/>
<source>Enable Custom Quality</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../OptionsDialog.ui" line="218"/>
<location filename="../OptionsDialog.ui" line="229"/>
<source>Quality:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../OptionsDialog.ui" line="247"/>
<location filename="../OptionsDialog.ui" line="258"/>
<source>%1%</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../OptionsDialog.ui" line="276"/>
<location filename="../OptionsDialog.ui" line="287"/>
<source>Players</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../OptionsDialog.ui" line="316"/>
<location filename="../OptionsDialog.ui" line="327"/>
<source>ID</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../OptionsDialog.ui" line="321"/>
<location filename="../OptionsDialog.ui" line="332"/>
<source>Name</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../OptionsDialog.ui" line="330"/>
<location filename="../OptionsDialog.ui" line="336"/>
<location filename="../OptionsDialog.ui" line="341"/>
<location filename="../OptionsDialog.ui" line="347"/>
<source>Language</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../OptionsDialog.ui" line="362"/>
<location filename="../OptionsDialog.ui" line="373"/>
<source>Sync</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../OptionsDialog.ui" line="368"/>
<location filename="../OptionsDialog.ui" line="379"/>
<source>Sync is not implemented at current time</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../OptionsDialog.ui" line="400"/>
<location filename="../OptionsDialog.ui" line="411"/>
<source>&amp;OK</source>
<extracomment>OK, Cancel, Apply</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../OptionsDialog.ui" line="407"/>
<location filename="../OptionsDialog.ui" line="418"/>
<source>&amp;Cancel</source>
<extracomment>OK, Cancel, Apply</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../OptionsDialog.cpp" line="104"/>
<location filename="../OptionsDialog.cpp" line="105"/>
<source>System</source>
<comment>System like PC System</comment>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../OptionsDialog.cpp" line="104"/>
<location filename="../OptionsDialog.cpp" line="105"/>
<source>%1 (%2 if available)</source>
<comment>System like PC System = %1, System Language like Deutsch = %2</comment>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../OptionsDialog.cpp" line="250"/>
<location filename="../OptionsDialog.cpp" line="252"/>
<source>%1</source>
<comment>%1</comment>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../OptionsDialog.cpp" line="250"/>
<location filename="../OptionsDialog.cpp" line="252"/>
<source>The language change will take effect after you restart %1.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../OptionsDialog.cpp" line="260"/>
<location filename="../OptionsDialog.cpp" line="262"/>
<source>No Profile</source>
<comment>No Profile, as default</comment>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../OptionsDialog.cpp" line="268"/>
<location filename="../OptionsDialog.cpp" line="272"/>
<location filename="../OptionsDialog.cpp" line="270"/>
<location filename="../OptionsDialog.cpp" line="274"/>
<location filename="../OptionsDialog.cpp" line="276"/>
<source>Profile: %1</source>
<translation type="unfinished"></translation>
</message>
@ -300,7 +305,7 @@ Copyright &amp;copy; &lt;a href=&quot;https://github.com/Syping/&quot;&gt;Syping
<message>
<location filename="../PictureDialog.ui" line="132"/>
<location filename="../PictureCopy.cpp" line="49"/>
<location filename="../PictureExport.cpp" line="87"/>
<location filename="../PictureExport.cpp" line="88"/>
<source>&amp;Export</source>
<translation type="unfinished"></translation>
</message>
@ -362,31 +367,31 @@ Copyright &amp;copy; &lt;a href=&quot;https://github.com/Syping/&quot;&gt;Syping
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../PictureExport.cpp" line="86"/>
<location filename="../PictureExport.cpp" line="87"/>
<source>Export as JPG picture...</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../PictureExport.cpp" line="90"/>
<location filename="../PictureExport.cpp" line="91"/>
<source>JPEG picture (*.jpg)</source>
<translation>Картинка JPEG (*.jpg)</translation>
</message>
<message>
<location filename="../PictureExport.cpp" line="91"/>
<location filename="../PictureExport.cpp" line="92"/>
<source>Portable Network Graphics (*.png)</source>
<translation>Картинка Portable Network Graphics (*.png)</translation>
</message>
<message>
<location filename="../PictureExport.cpp" line="141"/>
<location filename="../PictureExport.cpp" line="145"/>
<location filename="../PictureExport.cpp" line="179"/>
<location filename="../PictureExport.cpp" line="185"/>
<location filename="../PictureExport.cpp" line="142"/>
<location filename="../PictureExport.cpp" line="146"/>
<location filename="../PictureExport.cpp" line="180"/>
<location filename="../PictureExport.cpp" line="186"/>
<source>Export as JPG picture</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../PictureCopy.cpp" line="72"/>
<location filename="../PictureExport.cpp" line="141"/>
<location filename="../PictureExport.cpp" line="142"/>
<source>Overwrite %1 with current Snapmatic picture?</source>
<translation>Перезаписать %1 текущей картинкой Snapmatic?</translation>
</message>
@ -400,18 +405,18 @@ Copyright &amp;copy; &lt;a href=&quot;https://github.com/Syping/&quot;&gt;Syping
</message>
<message>
<location filename="../PictureCopy.cpp" line="76"/>
<location filename="../PictureExport.cpp" line="145"/>
<location filename="../PictureExport.cpp" line="146"/>
<source>Failed to overwrite %1 with current Snapmatic picture</source>
<translation>Не удалось перезаписать %1 картинкой Snapmatic</translation>
</message>
<message>
<location filename="../PictureExport.cpp" line="179"/>
<location filename="../PictureExport.cpp" line="180"/>
<source>Failed to export current Snapmatic picture</source>
<translation>Не удалось экспортировать текущую картинку Snapmatic</translation>
</message>
<message>
<location filename="../PictureCopy.cpp" line="95"/>
<location filename="../PictureExport.cpp" line="185"/>
<location filename="../PictureExport.cpp" line="186"/>
<source>No valid file is selected</source>
<translation>Выбранный файл неверен</translation>
</message>
@ -668,9 +673,9 @@ Copyright &amp;copy; &lt;a href=&quot;https://github.com/Syping/&quot;&gt;Syping
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../ExportThread.cpp" line="89"/>
<location filename="../ExportThread.cpp" line="126"/>
<location filename="../ExportThread.cpp" line="147"/>
<location filename="../ExportThread.cpp" line="90"/>
<location filename="../ExportThread.cpp" line="127"/>
<location filename="../ExportThread.cpp" line="148"/>
<source>Export file %1 of %2 files</source>
<translation type="unfinished"></translation>
</message>

Binary file not shown.

View File

@ -213,64 +213,69 @@ Copyright &amp;copy; &lt;a href=&quot;https://github.com/Syping/&quot;&gt;Syping
<translation>x</translation>
</message>
<message>
<location filename="../OptionsDialog.ui" line="200"/>
<location filename="../OptionsDialog.ui" line="199"/>
<source>Ignore Aspect Ratio</source>
<translation>Seitenverhältnis ignorieren</translation>
</message>
<message>
<location filename="../OptionsDialog.ui" line="211"/>
<source>Export Quality</source>
<translation>Export Qualität</translation>
</message>
<message>
<location filename="../OptionsDialog.ui" line="206"/>
<location filename="../OptionsDialog.ui" line="217"/>
<source>Enable Custom Quality</source>
<translation>Eigene Export Qualität benutzen</translation>
</message>
<message>
<location filename="../OptionsDialog.ui" line="218"/>
<location filename="../OptionsDialog.ui" line="229"/>
<source>Quality:</source>
<translation>Qualität:</translation>
</message>
<message>
<location filename="../OptionsDialog.ui" line="247"/>
<location filename="../OptionsDialog.ui" line="258"/>
<source>%1%</source>
<translation>%1%</translation>
</message>
<message>
<location filename="../OptionsDialog.ui" line="276"/>
<location filename="../OptionsDialog.ui" line="287"/>
<source>Players</source>
<translation>Spieler</translation>
</message>
<message>
<location filename="../OptionsDialog.ui" line="316"/>
<location filename="../OptionsDialog.ui" line="327"/>
<source>ID</source>
<translation>ID</translation>
</message>
<message>
<location filename="../OptionsDialog.ui" line="321"/>
<location filename="../OptionsDialog.ui" line="332"/>
<source>Name</source>
<translation>Name</translation>
</message>
<message>
<location filename="../OptionsDialog.ui" line="330"/>
<location filename="../OptionsDialog.ui" line="336"/>
<location filename="../OptionsDialog.ui" line="341"/>
<location filename="../OptionsDialog.ui" line="347"/>
<source>Language</source>
<translation>Sprache</translation>
</message>
<message>
<location filename="../OptionsDialog.ui" line="362"/>
<location filename="../OptionsDialog.ui" line="373"/>
<source>Sync</source>
<translation>Sync</translation>
</message>
<message>
<location filename="../OptionsDialog.ui" line="368"/>
<location filename="../OptionsDialog.ui" line="379"/>
<source>Sync is not implemented at current time</source>
<translation>Sync wurde bisher nicht implementiert</translation>
</message>
<message>
<location filename="../OptionsDialog.ui" line="400"/>
<location filename="../OptionsDialog.ui" line="411"/>
<source>&amp;OK</source>
<extracomment>OK, Cancel, Apply</extracomment>
<translation>&amp;OK</translation>
</message>
<message>
<location filename="../OptionsDialog.ui" line="407"/>
<location filename="../OptionsDialog.ui" line="418"/>
<source>&amp;Cancel</source>
<extracomment>OK, Cancel, Apply</extracomment>
<translation>Abbre&amp;chen</translation>
@ -281,38 +286,38 @@ Copyright &amp;copy; &lt;a href=&quot;https://github.com/Syping/&quot;&gt;Syping
<translation>%1 (%2 wenn verfügbar) [sys]</translation>
</message>
<message>
<location filename="../OptionsDialog.cpp" line="104"/>
<location filename="../OptionsDialog.cpp" line="105"/>
<source>System</source>
<comment>System like PC System</comment>
<translation>System</translation>
</message>
<message>
<location filename="../OptionsDialog.cpp" line="104"/>
<location filename="../OptionsDialog.cpp" line="105"/>
<source>%1 (%2 if available)</source>
<comment>System like PC System = %1, System Language like Deutsch = %2</comment>
<translation>%1 (%2 wenn verfügbar)</translation>
</message>
<message>
<location filename="../OptionsDialog.cpp" line="250"/>
<location filename="../OptionsDialog.cpp" line="252"/>
<source>%1</source>
<comment>%1</comment>
<translation>%1</translation>
</message>
<message>
<location filename="../OptionsDialog.cpp" line="250"/>
<location filename="../OptionsDialog.cpp" line="252"/>
<source>The language change will take effect after you restart %1.</source>
<translation>Die Änderung der Sprache nimmt Effekt sobald du %1 neugestartet hast.</translation>
</message>
<message>
<location filename="../OptionsDialog.cpp" line="260"/>
<location filename="../OptionsDialog.cpp" line="262"/>
<source>No Profile</source>
<comment>No Profile, as default</comment>
<translation>Kein Profil</translation>
</message>
<message>
<location filename="../OptionsDialog.cpp" line="268"/>
<location filename="../OptionsDialog.cpp" line="272"/>
<location filename="../OptionsDialog.cpp" line="270"/>
<location filename="../OptionsDialog.cpp" line="274"/>
<location filename="../OptionsDialog.cpp" line="276"/>
<source>Profile: %1</source>
<translation>Profil: %1</translation>
</message>
@ -342,7 +347,7 @@ Copyright &amp;copy; &lt;a href=&quot;https://github.com/Syping/&quot;&gt;Syping
<message>
<location filename="../PictureDialog.ui" line="132"/>
<location filename="../PictureCopy.cpp" line="49"/>
<location filename="../PictureExport.cpp" line="87"/>
<location filename="../PictureExport.cpp" line="88"/>
<source>&amp;Export</source>
<translation>&amp;Exportieren</translation>
</message>
@ -432,31 +437,31 @@ Copyright &amp;copy; &lt;a href=&quot;https://github.com/Syping/&quot;&gt;Syping
<translation type="obsolete">Exportiere Bild...</translation>
</message>
<message>
<location filename="../PictureExport.cpp" line="86"/>
<location filename="../PictureExport.cpp" line="87"/>
<source>Export as JPG picture...</source>
<translation>Exportiere als JPG Bild...</translation>
</message>
<message>
<location filename="../PictureExport.cpp" line="90"/>
<location filename="../PictureExport.cpp" line="91"/>
<source>JPEG picture (*.jpg)</source>
<translation>JPEG Bild (*.jpg)</translation>
</message>
<message>
<location filename="../PictureExport.cpp" line="91"/>
<location filename="../PictureExport.cpp" line="92"/>
<source>Portable Network Graphics (*.png)</source>
<translation>Portable Network Graphics (*.png)</translation>
</message>
<message>
<location filename="../PictureExport.cpp" line="141"/>
<location filename="../PictureExport.cpp" line="145"/>
<location filename="../PictureExport.cpp" line="179"/>
<location filename="../PictureExport.cpp" line="185"/>
<location filename="../PictureExport.cpp" line="142"/>
<location filename="../PictureExport.cpp" line="146"/>
<location filename="../PictureExport.cpp" line="180"/>
<location filename="../PictureExport.cpp" line="186"/>
<source>Export as JPG picture</source>
<translation>Exportiere als JPG Bild</translation>
</message>
<message>
<location filename="../PictureCopy.cpp" line="72"/>
<location filename="../PictureExport.cpp" line="141"/>
<location filename="../PictureExport.cpp" line="142"/>
<source>Overwrite %1 with current Snapmatic picture?</source>
<translation>Überschreibe %1 mit aktuellen Snapmatic Bild?</translation>
</message>
@ -470,12 +475,12 @@ Copyright &amp;copy; &lt;a href=&quot;https://github.com/Syping/&quot;&gt;Syping
</message>
<message>
<location filename="../PictureCopy.cpp" line="76"/>
<location filename="../PictureExport.cpp" line="145"/>
<location filename="../PictureExport.cpp" line="146"/>
<source>Failed to overwrite %1 with current Snapmatic picture</source>
<translation>Fehlgeschlagen beim Überschreiben von %1 mit aktuellen Snapmatic Bild</translation>
</message>
<message>
<location filename="../PictureExport.cpp" line="179"/>
<location filename="../PictureExport.cpp" line="180"/>
<source>Failed to export current Snapmatic picture</source>
<translation>Fehlgeschlagen beim Exportieren vom aktuellen Snapmatic Bild</translation>
</message>
@ -530,7 +535,7 @@ Copyright &amp;copy; &lt;a href=&quot;https://github.com/Syping/&quot;&gt;Syping
</message>
<message>
<location filename="../PictureCopy.cpp" line="95"/>
<location filename="../PictureExport.cpp" line="185"/>
<location filename="../PictureExport.cpp" line="186"/>
<source>No valid file is selected</source>
<translation>Keine gültige Datei wurde ausgewählt</translation>
</message>
@ -824,9 +829,9 @@ Exportieren als:</translation>
<translation type="obsolete">Aktueller Exportiervorgang: %1</translation>
</message>
<message>
<location filename="../ExportThread.cpp" line="89"/>
<location filename="../ExportThread.cpp" line="126"/>
<location filename="../ExportThread.cpp" line="147"/>
<location filename="../ExportThread.cpp" line="90"/>
<location filename="../ExportThread.cpp" line="127"/>
<location filename="../ExportThread.cpp" line="148"/>
<source>Export file %1 of %2 files</source>
<translation>Exportiere Datei %1 von %2 Dateien</translation>
</message>