diff --git a/CrewDatabase.cpp b/CrewDatabase.cpp
index c4fb1f1..11e3a97 100755
--- a/CrewDatabase.cpp
+++ b/CrewDatabase.cpp
@@ -60,7 +60,9 @@ QStringList CrewDatabase::getCrews()
QString CrewDatabase::getCrewName(int crewID)
{
- return crewDB->value(QString::number(crewID), crewID).toString();
+ QString crewStr = crewDB->value(QString::number(crewID), crewID).toString();
+ if (crewID == 0) crewStr = tr("No Crew", "");
+ return crewStr;
}
void CrewDatabase::setCrewName(int crewID, QString crewName)
diff --git a/ExportThread.cpp b/ExportThread.cpp
index a2437bd..5c39bc0 100755
--- a/ExportThread.cpp
+++ b/ExportThread.cpp
@@ -137,7 +137,7 @@ void ExportThread::run()
QString exportFilePath = exportDirectory + "/" + exportFileName;
if (QFile::exists(exportFilePath)) {QFile::remove(exportFilePath);}
- if (!picture->exportPicture(exportDirectory + "/" + exportFileName, true))
+ if (!picture->exportPicture(exportDirectory + "/" + exportFileName, "G5E"))
{
failedCopyPictures.append(exportFileName);
}
diff --git a/PictureExport.cpp b/PictureExport.cpp
index 3a25d26..ad20e9a 100755
--- a/PictureExport.cpp
+++ b/PictureExport.cpp
@@ -259,7 +259,7 @@ fileDialogPreSave: //Work?
if (selectedFile.right(4) == ".g5e")
{
- bool isExported = picture->exportPicture(selectedFile, true);
+ bool isExported = picture->exportPicture(selectedFile, "G5E");
if (!isExported)
{
QMessageBox::warning(parent, PictureDialog::tr("Export as GTA Snapmatic"), PictureDialog::tr("Failed to export current Snapmatic picture"));
@@ -280,7 +280,7 @@ fileDialogPreSave: //Work?
{
selectedFile.remove(".rem");
}
- bool isCopied = picture->exportPicture(selectedFile, false);
+ bool isCopied = picture->exportPicture(selectedFile, "PGTA");
if (!isCopied)
{
QMessageBox::warning(parent, PictureDialog::tr("Export as GTA Snapmatic"), PictureDialog::tr("Failed to export current Snapmatic picture"));
diff --git a/ProfileInterface.cpp b/ProfileInterface.cpp
index 4cb0929..8a74524 100755
--- a/ProfileInterface.cpp
+++ b/ProfileInterface.cpp
@@ -701,7 +701,7 @@ bool ProfileInterface::importSnapmaticPicture(SnapmaticPicture *picture, bool wa
if (warn) QMessageBox::warning(this, tr("Import"), tr("Failed to import the Snapmatic picture, the picture is already in the game"));
return false;
}
- else if (picture->exportPicture(profileFolder + QDir::separator() + adjustedFileName, false))
+ else if (picture->exportPicture(profileFolder + QDir::separator() + adjustedFileName, "PGTA"))
{
picture->setPicFilePath(profileFolder + QDir::separator() + adjustedFileName);
pictureLoaded(picture, true);
diff --git a/ProfileInterface.ui b/ProfileInterface.ui
index 1186939..0e33355 100755
--- a/ProfileInterface.ui
+++ b/ProfileInterface.ui
@@ -27,7 +27,7 @@
0
- 0
+ 9
-
@@ -108,8 +108,8 @@
0
0
- 98
- 28
+ 398
+ 256
@@ -160,9 +160,6 @@
9
-
- 9
-
-
diff --git a/SavegameWidget.cpp b/SavegameWidget.cpp
index e7940d3..200713d 100755
--- a/SavegameWidget.cpp
+++ b/SavegameWidget.cpp
@@ -151,9 +151,13 @@ void SavegameWidget::on_cmdView_clicked()
SavegameDialog *savegameDialog = new SavegameDialog(this);
savegameDialog->setSavegameData(sgdata, sgdPath, true);
savegameDialog->setModal(true);
+#ifdef Q_OS_ANDROID
+ // Android ...
+ savegameDialog->showMaximized();
+#else
savegameDialog->show();
+#endif
savegameDialog->exec();
- savegameDialog->deleteLater();
delete savegameDialog;
}
diff --git a/SnapmaticEditor.cpp b/SnapmaticEditor.cpp
index 2daf948..b4cbb0a 100644
--- a/SnapmaticEditor.cpp
+++ b/SnapmaticEditor.cpp
@@ -26,14 +26,11 @@
#include
#include
-SnapmaticEditor::SnapmaticEditor(QWidget *parent) :
- QDialog(parent),
+SnapmaticEditor::SnapmaticEditor(CrewDatabase *crewDB, QWidget *parent) :
+ QDialog(parent), crewDB(crewDB),
ui(new Ui::SnapmaticEditor)
{
ui->setupUi(this);
- ui->cbSelfie->setVisible(false);
- ui->cbMugshot->setVisible(false);
- ui->cbEditor->setVisible(false);
ui->cmdApply->setDefault(true);
if (QIcon::hasThemeIcon("dialog-apply"))
@@ -54,63 +51,45 @@ SnapmaticEditor::~SnapmaticEditor()
delete ui;
}
-void SnapmaticEditor::on_cbSelfie_toggled(bool checked)
+void SnapmaticEditor::selfie_toggled(bool checked)
{
if (checked)
{
- ui->cbMugshot->setEnabled(false);
- ui->cbEditor->setEnabled(false);
+ isSelfie = true;
}
- else if (!ui->cbDirector->isChecked())
+ else
{
- ui->cbMugshot->setEnabled(true);
- ui->cbEditor->setEnabled(true);
+ isSelfie = false;
}
}
-void SnapmaticEditor::on_cbMugshot_toggled(bool checked)
+void SnapmaticEditor::mugshot_toggled(bool checked)
{
if (checked)
{
- ui->cbSelfie->setEnabled(false);
- ui->cbEditor->setEnabled(false);
+ isMugshot = true;
ui->cbDirector->setEnabled(false);
+ ui->cbDirector->setChecked(false);
}
else
{
- ui->cbSelfie->setEnabled(true);
- ui->cbEditor->setEnabled(true);
+ isMugshot = false;
ui->cbDirector->setEnabled(true);
}
}
-void SnapmaticEditor::on_cbDirector_toggled(bool checked)
+void SnapmaticEditor::editor_toggled(bool checked)
{
if (checked)
{
- ui->cbMugshot->setEnabled(false);
- ui->cbEditor->setEnabled(false);
- }
- else if (!ui->cbSelfie->isChecked())
- {
- ui->cbMugshot->setEnabled(true);
- ui->cbEditor->setEnabled(true);
- }
-}
-
-void SnapmaticEditor::on_cbEditor_toggled(bool checked)
-{
- if (checked)
- {
- ui->cbSelfie->setEnabled(false);
- ui->cbMugshot->setEnabled(false);
+ isEditor = true;
ui->cbDirector->setEnabled(false);
+ ui->cbDirector->setChecked(false);
}
else
{
- ui->cbSelfie->setEnabled(true);
- ui->cbMugshot->setEnabled(true);
+ isEditor = false;
ui->cbDirector->setEnabled(true);
}
}
@@ -119,9 +98,9 @@ void SnapmaticEditor::on_rbSelfie_toggled(bool checked)
{
if (checked)
{
- ui->cbMugshot->setChecked(false);
- ui->cbEditor->setChecked(false);
- ui->cbSelfie->setChecked(true);
+ mugshot_toggled(false);
+ editor_toggled(false);
+ selfie_toggled(true);
}
}
@@ -129,10 +108,9 @@ void SnapmaticEditor::on_rbMugshot_toggled(bool checked)
{
if (checked)
{
- ui->cbSelfie->setChecked(false);
- ui->cbEditor->setChecked(false);
- ui->cbDirector->setChecked(false);
- ui->cbMugshot->setChecked(true);
+ selfie_toggled(false);
+ editor_toggled(false);
+ mugshot_toggled(true);
}
}
@@ -140,10 +118,9 @@ void SnapmaticEditor::on_rbEditor_toggled(bool checked)
{
if (checked)
{
- ui->cbSelfie->setChecked(false);
- ui->cbMugshot->setChecked(false);
- ui->cbDirector->setChecked(false);
- ui->cbEditor->setChecked(true);
+ selfie_toggled(false);
+ mugshot_toggled(false);
+ editor_toggled(true);
}
}
@@ -151,9 +128,9 @@ void SnapmaticEditor::on_rbCustom_toggled(bool checked)
{
if (checked)
{
- ui->cbSelfie->setChecked(false);
- ui->cbMugshot->setChecked(false);
- ui->cbEditor->setChecked(false);
+ selfie_toggled(false);
+ mugshot_toggled(false);
+ editor_toggled(false);
}
}
@@ -162,20 +139,21 @@ void SnapmaticEditor::setSnapmaticPicture(SnapmaticPicture *picture)
smpic = picture;
localSpJson = smpic->getSnapmaticProperties();
ui->rbCustom->setChecked(true);
- ui->cbSelfie->setChecked(localSpJson.isSelfie);
- ui->cbMugshot->setChecked(localSpJson.isMug);
- ui->cbEditor->setChecked(localSpJson.isFromRSEditor);
+ crewID = localSpJson.crewID;
+ isSelfie = localSpJson.isSelfie;
+ isMugshot = localSpJson.isMug;
+ isEditor = localSpJson.isFromRSEditor;
ui->cbDirector->setChecked(localSpJson.isFromDirector);
ui->cbMeme->setChecked(localSpJson.isMeme);
- if (ui->cbSelfie->isChecked())
+ if (isSelfie)
{
ui->rbSelfie->setChecked(true);
}
- else if (ui->cbMugshot->isChecked())
+ else if (isMugshot)
{
ui->rbMugshot->setChecked(true);
}
- else if (ui->cbEditor->isChecked())
+ else if (isEditor)
{
ui->rbEditor->setChecked(true);
}
@@ -183,6 +161,7 @@ void SnapmaticEditor::setSnapmaticPicture(SnapmaticPicture *picture)
{
ui->rbCustom->setChecked(true);
}
+ setSnapmaticCrew(returnCrewName(crewID));
setSnapmaticTitle(picture->getPictureTitle());
}
@@ -209,6 +188,18 @@ void SnapmaticEditor::setSnapmaticTitle(const QString &title)
}
}
+void SnapmaticEditor::setSnapmaticCrew(const QString &crew)
+{
+ QString editStr = QString("%1").arg(tr("Edit"));
+ QString crewStr = tr("Crew: %1 (%2)").arg(StringParser::escapeString(crew), editStr);
+ ui->labCrew->setText(crewStr);
+}
+
+QString SnapmaticEditor::returnCrewName(int crewID_)
+{
+ return crewDB->getCrewName(crewID_);
+}
+
void SnapmaticEditor::on_cmdCancel_clicked()
{
close();
@@ -220,9 +211,10 @@ void SnapmaticEditor::on_cmdApply_clicked()
{
qualifyAvatar();
}
- localSpJson.isSelfie = ui->cbSelfie->isChecked();
- localSpJson.isMug = ui->cbMugshot->isChecked();
- localSpJson.isFromRSEditor = ui->cbEditor->isChecked();
+ localSpJson.crewID = crewID;
+ localSpJson.isSelfie = isSelfie;
+ localSpJson.isMug = isMugshot;
+ localSpJson.isFromRSEditor = isEditor;
localSpJson.isFromDirector = ui->cbDirector->isChecked();
localSpJson.isMeme = ui->cbMeme->isChecked();
if (smpic)
@@ -301,3 +293,38 @@ void SnapmaticEditor::on_labTitle_linkActivated(const QString &link)
}
}
}
+
+void SnapmaticEditor::on_labCrew_linkActivated(const QString &link)
+{
+ if (link == "g5e://editcrew")
+ {
+ bool ok;
+ int indexNum = 0;
+ QStringList itemList;
+ QStringList crewList = crewDB->getCrews();
+ crewList.sort();
+ foreach(const QString &crew, crewList)
+ {
+ itemList.append(QString("%1 (%2)").arg(crew, returnCrewName(crew.toInt())));
+ }
+ if (crewList.contains(QString::number(crewID)))
+ {
+ indexNum = crewList.indexOf(QRegExp(QString::number(crewID)));
+ }
+ QString newCrew = QInputDialog::getItem(this, tr("Snapmatic Crew"), tr("New Snapmatic crew:"), itemList, indexNum, true, &ok, windowFlags());
+ if (ok && !newCrew.isEmpty())
+ {
+ if (newCrew.contains(" ")) newCrew = newCrew.split(" ").at(0);
+ if (newCrew.length() > 10) return;
+ foreach (const QChar &crewChar, newCrew)
+ {
+ if (!crewChar.isNumber())
+ {
+ return;
+ }
+ }
+ crewID = newCrew.toInt();
+ setSnapmaticCrew(returnCrewName(crewID));
+ }
+ }
+}
diff --git a/SnapmaticEditor.h b/SnapmaticEditor.h
index 4a2d6f4..d2f41ee 100644
--- a/SnapmaticEditor.h
+++ b/SnapmaticEditor.h
@@ -20,6 +20,7 @@
#define SNAPMATICEDITOR_H
#include
+#include "CrewDatabase.h"
#include "SnapmaticPicture.h"
namespace Ui {
@@ -31,16 +32,14 @@ class SnapmaticEditor : public QDialog
Q_OBJECT
public:
- explicit SnapmaticEditor(QWidget *parent = 0);
+ explicit SnapmaticEditor(CrewDatabase *crewDB, QWidget *parent = 0);
void setSnapmaticPicture(SnapmaticPicture *picture);
void setSnapmaticTitle(const QString &title);
+ void setSnapmaticCrew(const QString &crew = "");
+ QString returnCrewName(int crewID);
~SnapmaticEditor();
private slots:
- void on_cbSelfie_toggled(bool checked);
- void on_cbMugshot_toggled(bool checked);
- void on_cbDirector_toggled(bool checked);
- void on_cbEditor_toggled(bool checked);
void on_rbSelfie_toggled(bool checked);
void on_rbMugshot_toggled(bool checked);
void on_rbEditor_toggled(bool checked);
@@ -49,12 +48,21 @@ private slots:
void on_cmdApply_clicked();
void on_cbQualify_toggled(bool checked);
void on_labTitle_linkActivated(const QString &link);
+ void on_labCrew_linkActivated(const QString &link);
private:
+ CrewDatabase *crewDB;
Ui::SnapmaticEditor *ui;
SnapmaticProperties localSpJson;
SnapmaticPicture *smpic;
QString snapmaticTitle;
+ int crewID;
+ bool isSelfie;
+ bool isMugshot;
+ bool isEditor;
+ void selfie_toggled(bool checked);
+ void mugshot_toggled(bool checked);
+ void editor_toggled(bool checked);
void qualifyAvatar();
};
diff --git a/SnapmaticEditor.ui b/SnapmaticEditor.ui
index 0e361ff..46ffa60 100644
--- a/SnapmaticEditor.ui
+++ b/SnapmaticEditor.ui
@@ -7,7 +7,7 @@
0
0
400
- 350
+ 362
@@ -81,13 +81,6 @@
Snapmatic Properties
-
-
-
-
- Editor
-
-
-
-
@@ -102,37 +95,30 @@
- -
-
-
- Selfie
-
-
-
- -
-
-
- Mugshot
-
-
-
-
-
+
- Snapmatic Title
+ Snapmatic Values
-
-
-
-
- 0
- 0
-
+
+
+ Qt::NoContextMenu
+
+ Crew: %1 (%2)
+
+
+ true
+
+
+
+ -
+
Qt::NoContextMenu
@@ -146,12 +132,6 @@
-
-
-
- 0
- 0
-
-
Appropriate: %1
diff --git a/SnapmaticPicture.cpp b/SnapmaticPicture.cpp
index ec7c737..b13aff0 100755
--- a/SnapmaticPicture.cpp
+++ b/SnapmaticPicture.cpp
@@ -69,6 +69,7 @@ void SnapmaticPicture::reset()
// INIT PIC
rawPicContent = "";
cachePicture = QImage();
+ jpegRawContentSizeE = 0;
jpegRawContentSize = 0;
picExportFileName = "";
isCustomFormat = 0;
@@ -105,7 +106,6 @@ bool SnapmaticPicture::readingPicture(bool writeEnabled_, bool cacheEnabled_, bo
if (!picFile->open(QFile::ReadOnly))
{
lastStep = "1;/1,OpenFile," + StringParser::convertDrawStringForLog(picFilePath);
- picFile->deleteLater();
delete picFile;
return false;
}
@@ -190,7 +190,6 @@ bool SnapmaticPicture::readingPicture(bool writeEnabled_, bool cacheEnabled_, bo
{
lastStep = "2;/3,ReadingFile," + StringParser::convertDrawStringForLog(picFilePath) + ",1,NOHEADER";
picStream->close();
- picStream->deleteLater();
delete picStream;
return false;
}
@@ -202,7 +201,6 @@ bool SnapmaticPicture::readingPicture(bool writeEnabled_, bool cacheEnabled_, bo
{
lastStep = "2;/3,ReadingFile," + StringParser::convertDrawStringForLog(picFilePath) + ",2,NOHEADER";
picStream->close();
- picStream->deleteLater();
delete picStream;
return false;
}
@@ -214,7 +212,6 @@ bool SnapmaticPicture::readingPicture(bool writeEnabled_, bool cacheEnabled_, bo
{
lastStep = "2;/3,ReadingFile," + StringParser::convertDrawStringForLog(picFilePath) + ",2,NOJPEG";
picStream->close();
- picStream->deleteLater();
delete picStream;
return false;
}
@@ -224,7 +221,6 @@ bool SnapmaticPicture::readingPicture(bool writeEnabled_, bool cacheEnabled_, bo
{
lastStep = "2;/3,ReadingFile," + StringParser::convertDrawStringForLog(picFilePath) + ",2,NOPIC";
picStream->close();
- picStream->deleteLater();
delete picStream;
return false;
}
@@ -232,6 +228,7 @@ bool SnapmaticPicture::readingPicture(bool writeEnabled_, bool cacheEnabled_, bo
if (jpegRawContent.contains(QByteArray::fromHex("FFD9")))
{
int jpegRawContentSizeT = jpegRawContent.indexOf(QByteArray::fromHex("FFD9")) + 2;
+ jpegRawContentSizeE = jpegRawContentSizeT;
jpegRawContentSize = jpegRawContentSizeT;
if (jpegRawContent.contains(QByteArray::fromHex("FF454F49")))
{
@@ -267,7 +264,6 @@ bool SnapmaticPicture::readingPicture(bool writeEnabled_, bool cacheEnabled_, bo
{
lastStep = "2;/3,ReadingFile," + StringParser::convertDrawStringForLog(picFilePath) + ",3,NOJSON";
picStream->close();
- picStream->deleteLater();
delete picStream;
return false;
}
@@ -275,7 +271,6 @@ bool SnapmaticPicture::readingPicture(bool writeEnabled_, bool cacheEnabled_, bo
{
lastStep = "2;/3,ReadingFile," + StringParser::convertDrawStringForLog(picFilePath) + ",3,CTJSON";
picStream->close();
- picStream->deleteLater();
delete picStream;
return false;
}
@@ -287,7 +282,6 @@ bool SnapmaticPicture::readingPicture(bool writeEnabled_, bool cacheEnabled_, bo
{
lastStep = "2;/3,ReadingFile," + StringParser::convertDrawStringForLog(picFilePath) + ",4,NOTITL";
picStream->close();
- picStream->deleteLater();
delete picStream;
return false;
}
@@ -295,7 +289,6 @@ bool SnapmaticPicture::readingPicture(bool writeEnabled_, bool cacheEnabled_, bo
{
lastStep = "2;/3,ReadingFile," + StringParser::convertDrawStringForLog(picFilePath) + ",4,CTTITL";
picStream->close();
- picStream->deleteLater();
delete picStream;
return false;
}
@@ -306,7 +299,6 @@ bool SnapmaticPicture::readingPicture(bool writeEnabled_, bool cacheEnabled_, bo
{
lastStep = "2;/3,ReadingFile," + StringParser::convertDrawStringForLog(picFilePath) + ",5,NODESC";
picStream->close();
- picStream->deleteLater();
delete picStream;
return picOk;
}
@@ -314,7 +306,6 @@ bool SnapmaticPicture::readingPicture(bool writeEnabled_, bool cacheEnabled_, bo
{
lastStep = "2;/3,ReadingFile," + StringParser::convertDrawStringForLog(picFilePath) + ",5,CTDESC";
picStream->close();
- picStream->deleteLater();
delete picStream;
return false;
}
@@ -324,7 +315,6 @@ bool SnapmaticPicture::readingPicture(bool writeEnabled_, bool cacheEnabled_, bo
updateStrings();
picStream->close();
- picStream->deleteLater();
delete picStream;
if (!writeEnabled) { rawPicContent.clear(); }
return picOk;
@@ -577,7 +567,6 @@ QImage SnapmaticPicture::getImage()
if (!picFile->open(QFile::ReadOnly))
{
lastStep = "1;/1,OpenFile," + StringParser::convertDrawStringForLog(picFilePath);
- picFile->deleteLater();
delete picFile;
return QImage(0, 0, QImage::Format_RGB888);
}
@@ -766,19 +755,12 @@ bool SnapmaticPicture::setSnapmaticProperties(SnapmaticProperties newSpJson)
// FILE MANAGEMENT
-bool SnapmaticPicture::exportPicture(const QString &fileName, bool customFormat)
+bool SnapmaticPicture::exportPicture(const QString &fileName, const QString format)
{
QFile *picFile = new QFile(fileName);
if (picFile->open(QIODevice::WriteOnly))
{
- if (!customFormat)
- {
- // Classic straight export
- picFile->write(rawPicContent);
- picFile->close();
- picFile->deleteLater();
- }
- else
+ if (format == "G5E")
{
// Modern compressed export
QByteArray stockFileNameUTF8 = picFileName.toUtf8();
@@ -801,7 +783,31 @@ bool SnapmaticPicture::exportPicture(const QString &fileName, bool customFormat)
picFile->write("COM"); // Before Compressed
picFile->write(qCompress(rawPicContent, 9)); // Compressed Snapmatic
picFile->close();
- picFile->deleteLater();
+ delete picFile;
+ }
+ else if (format == "JPG")
+ {
+ // JPEG export
+ QBuffer snapmaticStream(&rawPicContent);
+ snapmaticStream.open(QIODevice::ReadOnly);
+ if (snapmaticStream.seek(jpegStreamEditorBegin))
+ {
+ QByteArray jpegRawContent = snapmaticStream.read(jpegPicStreamLength);
+ if (jpegRawContentSizeE != 0)
+ {
+ jpegRawContent = jpegRawContent.left(jpegRawContentSizeE);
+ }
+ picFile->write(jpegRawContent);
+ }
+ picFile->close();
+ delete picFile;
+ }
+ else
+ {
+ // Classic straight export
+ picFile->write(rawPicContent);
+ picFile->close();
+ delete picFile;
}
return true;
}
diff --git a/SnapmaticPicture.h b/SnapmaticPicture.h
index 37d8880..6567dad 100755
--- a/SnapmaticPicture.h
+++ b/SnapmaticPicture.h
@@ -75,7 +75,7 @@ public:
void emitUpdate();
// FILE MANAGEMENT
- bool exportPicture(const QString &fileName, bool customFormat = false);
+ bool exportPicture(const QString &fileName, const QString format = "PGTA");
void setPicFileName(const QString &picFileName);
void setPicFilePath(const QString &picFilePath);
bool deletePicFile();
@@ -122,6 +122,7 @@ private:
bool cacheEnabled;
bool isCustomFormat;
int jpegRawContentSize;
+ int jpegRawContentSizeE;
// PICTURE STREAM
QByteArray rawPicContent;
diff --git a/SnapmaticWidget.cpp b/SnapmaticWidget.cpp
index c9fdc97..4f28c0c 100755
--- a/SnapmaticWidget.cpp
+++ b/SnapmaticWidget.cpp
@@ -125,11 +125,16 @@ void SnapmaticWidget::on_cmdView_clicked()
if (navigationBar) picDialog->addPreviousNextButtons();
// show picture dialog
+#ifdef Q_OS_ANDROID
+ // Android ...
+ picDialog->showMaximized();
+#else
picDialog->show();
if (navigationBar) picDialog->stylizeDialog();
//picDialog->adaptNewDialogSize();
picDialog->setMinimumSize(picDialog->size());
picDialog->setMaximumSize(picDialog->size());
+#endif
picDialog->exec();
delete picDialog;
}
@@ -283,7 +288,7 @@ void SnapmaticWidget::makePictureVisibleSlot()
void SnapmaticWidget::editSnapmaticProperties()
{
- SnapmaticEditor *snapmaticEditor = new SnapmaticEditor(this);
+ SnapmaticEditor *snapmaticEditor = new SnapmaticEditor(crewDB, this);
snapmaticEditor->setWindowFlags(snapmaticEditor->windowFlags()^Qt::WindowContextHelpButtonHint);
snapmaticEditor->setSnapmaticPicture(smpic);
snapmaticEditor->setModal(true);
diff --git a/StringParser.cpp b/StringParser.cpp
index 85ed417..ec55853 100755
--- a/StringParser.cpp
+++ b/StringParser.cpp
@@ -19,7 +19,9 @@
#include "StringParser.h"
#include "config.h"
#include
+#ifndef GTA5VIEW_CMD
#include
+#endif
#include
#include
#include
@@ -52,6 +54,7 @@ QString StringParser::convertLogStringForDraw(const QString &inputStr)
return outputStr.replace("&c;",",").replace("&u;","&");
}
+#ifndef GTA5VIEW_CMD
QString StringParser::convertBuildedString(const QString &buildedStr)
{
QString outputStr = buildedStr;
@@ -61,6 +64,7 @@ QString StringParser::convertBuildedString(const QString &buildedStr)
outputStr.replace("$SEPARATOR", QDir::separator());
return outputStr;
}
+#endif
QString StringParser::escapeString(const QString &toEscape)
{
diff --git a/StringParser.h b/StringParser.h
index 3815a34..a9505f6 100755
--- a/StringParser.h
+++ b/StringParser.h
@@ -29,7 +29,9 @@ public:
static QString parseTitleString(const QByteArray &commitBytes, int maxLength);
static QString convertDrawStringForLog(const QString &inputStr);
static QString convertLogStringForDraw(const QString &inputStr);
+#ifndef GTA5VIEW_CMD
static QString convertBuildedString(const QString &buildedStr);
+#endif
static QString escapeString(const QString &toEscape);
};
diff --git a/UserInterface.cpp b/UserInterface.cpp
index 0c51f88..d546bfd 100755
--- a/UserInterface.cpp
+++ b/UserInterface.cpp
@@ -68,13 +68,13 @@ UserInterface::UserInterface(ProfileDatabase *profileDB, CrewDatabase *crewDB, D
}
if (QIcon::hasThemeIcon("preferences-system"))
{
-#ifndef Q_WS_MAC // Setting icon for preferences/settings/options lead to a crash in Mac OS X
+#ifndef Q_OS_MACOS // Setting icon for preferences/settings/options lead to a crash in Mac OS X
ui->actionOptions->setIcon(QIcon::fromTheme("preferences-system"));
#endif
}
if (QIcon::hasThemeIcon("application-exit"))
{
-#ifndef Q_WS_MAC // Setting icon for exit/quit lead to a crash in Mac OS X
+#ifndef Q_OS_MACOS // Setting icon for exit/quit lead to a crash in Mac OS X
ui->actionExit->setIcon(QIcon::fromTheme("application-exit"));
#endif
}
@@ -249,7 +249,12 @@ void UserInterface::on_actionAbout_gta5sync_triggered()
AboutDialog *aboutDialog = new AboutDialog(this);
aboutDialog->setWindowIcon(windowIcon());
aboutDialog->setModal(true);
+#ifdef Q_OS_ANDROID
+ // Android ...
+ aboutDialog->showMaximized();
+#else
aboutDialog->show();
+#endif
aboutDialog->exec();
delete aboutDialog;
}
@@ -300,7 +305,12 @@ void UserInterface::on_actionOptions_triggered()
QObject::connect(optionsDialog, SIGNAL(settingsApplied(int, QString)), this, SLOT(settingsApplied(int, QString)));
optionsDialog->setModal(true);
+#ifdef Q_OS_ANDROID
+ // Android ...
+ optionsDialog->showMaximized();
+#else
optionsDialog->show();
+#endif
optionsDialog->exec();
delete optionsDialog;
@@ -437,9 +447,14 @@ void UserInterface::openSnapmaticFile(SnapmaticPicture *picture)
QObject::connect(threadDB, SIGNAL(playerNameFound(int, QString)), profileDB, SLOT(setPlayerName(int, QString)));
QObject::connect(threadDB, SIGNAL(playerNameUpdated()), &picDialog, SLOT(playerNameUpdated()));
+#ifdef Q_OS_ANDROID
+ // Android optimization should be put here
+ picDialog.showMaximized();
+#else
picDialog.show();
picDialog.setMinimumSize(picDialog.size());
picDialog.setMaximumSize(picDialog.size());
+#endif
picDialog.exec();
}
@@ -449,7 +464,12 @@ void UserInterface::openSavegameFile(SavegameData *savegame)
SavegameDialog sgdDialog(this);
sgdDialog.setSavegameData(savegame, savegame->getSavegameFileName(), true);
sgdDialog.setModal(true);
+#ifdef Q_OS_ANDROID
+ // Android optimization should be put here
+ sgdDialog.showMaximized();
+#else
sgdDialog.show();
+#endif
sgdDialog.exec();
}
diff --git a/config.h b/config.h
index 4eba476..71257a2 100755
--- a/config.h
+++ b/config.h
@@ -50,7 +50,7 @@
#ifndef GTA5SYNC_APPVER
#ifndef GTA5SYNC_DAILYB
-#define GTA5SYNC_APPVER "1.4.0-dev2"
+#define GTA5SYNC_APPVER "1.4.0-dev3"
#else
#define GTA5SYNC_APPVER QString("%1").arg(GTA5SYNC_DAILYB)
#endif
diff --git a/main.cpp b/main.cpp
index c90f498..0a6593b 100755
--- a/main.cpp
+++ b/main.cpp
@@ -480,7 +480,11 @@ int main(int argc, char *argv[])
UserInterface uiWindow(&profileDB, &crewDB, &threadDB);
uiWindow.setWindowIcon(IconLoader::loadingAppIcon());
uiWindow.setupDirEnv();
+#ifdef Q_OS_ANDROID
+ uiWindow.showMaximized();
+#else
uiWindow.show();
+#endif
threadLoop.exec();
diff --git a/res/app.rc b/res/app.rc
index 9d25b64..1f7cbcb 100755
--- a/res/app.rc
+++ b/res/app.rc
@@ -25,12 +25,12 @@ BEGIN
BEGIN
VALUE "CompanyName", "Syping"
VALUE "FileDescription", "gta5view\0"
- VALUE "FileVersion", "1.4.0-dev2\0"
+ VALUE "FileVersion", "1.4.0-dev3\0"
VALUE "InternalName", "gta5view\0"
VALUE "LegalCopyright", "Copyright © 2016-2017 Syping\0"
VALUE "OriginalFilename", "gta5view.exe\0"
VALUE "ProductName", "gta5view\0"
- VALUE "ProductVersion", "1.4.0-dev2\0"
+ VALUE "ProductVersion", "1.4.0-dev3\0"
END
END
END
diff --git a/res/gta5sync_de.qm b/res/gta5sync_de.qm
index 2a5912f..2dabad6 100755
Binary files a/res/gta5sync_de.qm and b/res/gta5sync_de.qm differ
diff --git a/res/gta5sync_de.ts b/res/gta5sync_de.ts
index 5210bf9..c0fc62b 100755
--- a/res/gta5sync_de.ts
+++ b/res/gta5sync_de.ts
@@ -103,20 +103,34 @@ Copyright © <a href="%5">%6</a> %7<br/>%8 i
<span style=" font-weight:600;">gta5sync</span><br/><br/>Ein Projekt zum ansehen und synchronisieren von Grand Theft Auto 5 Snapmatic Bilder und Spielständen<br/><br/>Projektversion: %1<br/>Gebaut mit Qt %2<br/>Läuft auf Qt %3<br/><br/>Copyright © <a href="https://github.com/Syping/">Syping</a> 2016<br/>gta5sync is lizenziert unter <a href="https://www.gnu.org/licenses/gpl-3.0.html#content">GNU GPLv3</a>
-
+
Ein Projekt zum ansehen von Grand Theft Auto V<br/>
Snapmatic Bilder und Spielständen
-
+
Ein Projekt zum ansehen und synchronisieren von<br/>
Grand Theft Auto V Snapmatic Bilder und Spielständen
+
+ CrewDatabase
+
+
+
+ Keine Crew
+
+
+
+ Crew Free (means no crew)
+ Crew Keine (bedeutet keine Crew)
+ Keine
+
+
ExportDialog
@@ -421,26 +435,26 @@ Grand Theft Auto V Snapmatic Bilder und Spielständen
%1 (%2 wenn verfügbar) [sys]
-
+
System like PC System
System
-
+
System like PC System = %1, System Language like Deutsch = %2
%1 (%2 wenn verfügbar)
-
+
%1
%1
-
+
Der eigene Ordner wird initialisiert sobald du %1 neugestartet hast.
@@ -449,20 +463,20 @@ Grand Theft Auto V Snapmatic Bilder und Spielständen
Der eigene Ordner initialisiert sobald du %1 neugestartet hast.
-
+
Die Änderung der Sprache nimmt Effekt sobald du %1 neugestartet hast.
-
+
No Profile, as default
Kein Profil
-
-
+
+
Profil: %1
@@ -511,7 +525,6 @@ Grand Theft Auto V Snapmatic Bilder und Spielständen
-
&Exportieren
@@ -546,6 +559,7 @@ Grand Theft Auto V Snapmatic Bilder und Spielständen
+
Exportieren
@@ -559,17 +573,17 @@ Grand Theft Auto V Snapmatic Bilder und Spielständen
Schließen
-
+
Exportiere als &JPG Bild...
-
+
Exportiere als >A Snapmatic...
-
+
@@ -578,19 +592,19 @@ Taste 2 - Overlay umschalten
Pfeiltasten - Navigieren
-
-
+
+
Snapmatic Bildansicht
-
-
+
+
Fehlgeschlagen bei %1
-
+
Avatar Vorschaumodus
@@ -627,19 +641,19 @@ Drücke A für Standardansicht
Avatar Vorschaumodus<br>Drücke A für Standardansicht
-
-
+
+
Keine Spieler
-
-
+
+
Keine Crew
-
+
Unbekannter Standort
@@ -786,27 +800,27 @@ Drücke A für Standardansicht
Lade Datei %1 von %2 Dateien
-
+
%1 %2
-
+
Importiere exportierte Datei
-
+
&Importieren...
-
+
Profil schließen
-
+
S&chließen
@@ -827,29 +841,29 @@ Drücke A für Standardansicht
Profil schließen
-
+
Lade...
-
-
+
+
Importieren...
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
Importieren
@@ -858,41 +872,41 @@ Drücke A für Standardansicht
Alle Profildateien (SGTA* PGTA*)
-
+
Importfähige Dateien (*.g5e *.jpg *.png SGTA* PGTA*)
-
-
+
+
Spielstanddateien (SGTA*)
-
-
+
+
Snapmatic Bilder (PGTA*)
-
+
Alle Bilddateien (*.jpg *.png)
-
-
+
+
Alle Dateien (**)
-
+
Importiere Datei %1 von %2 Dateien
-
+
@@ -901,46 +915,46 @@ Drücke A für Standardansicht
%1
-
-
+
+
Fehler beim Lesen vom Snapmatic Bild
-
-
+
+
Fehler beim Lesen von Spielstanddatei
-
+
Kann %1 nicht importieren weil das Dateiformat nicht gültig ist
-
+
Fehlgeschlagen beim Importieren vom Snapmatic Bild, Datei beginnt nicht mit PGTA oder endet mit .g5e
-
+
Fehlgeschlagen beim Importieren vom Snapmatic Bild, dieses Bild ist bereits im Spiel
-
+
%1Exportiere Snapmatic Bilder%2<br><br>JPG Bilder machen es möglich sie mit ein Bildansicht Programm zu öffnen<br>Das GTA Snapmatic Format macht es möglich sie wieder ins Game zu importieren<br><br>Exportieren als:
-
-
-
+
+
+
Keine gültige Datei wurde ausgewählt
-
+
Aktivierte Bilder: %1 von %2
@@ -949,35 +963,35 @@ Drücke A für Standardansicht
Fehlgeschlagen beim Importieren vom Snapmatic Bild, Datei beginnt nicht mit PGTA
-
+
Fehlgeschlagen beim Importieren vom Snapmatic Bild, kann Snapmatic Bild nicht ins Profil kopieren
-
+
Fehlgeschlagen beim Importieren vom Spielstand, kann Spielstanddatei nicht ins Profil kopieren
-
+
Fehlgeschlagen beim Importieren vom Spielstand, kein Spielstandslot mehr frei
-
-
+
+
JPG Bilder und GTA Snapmatic
-
-
+
+
Nur JPG Bilder
-
-
+
+
Nur GTA Snapmatic
@@ -996,25 +1010,25 @@ Das GTA Snapmatic Format macht es möglich sie wieder ins Game zu importieren
Exportieren als:
-
-
+
+
Keine Snapmatic Bilder oder Spielstände ausgewählt
-
-
-
+
+
+
Auswahl löschen
-
+
Möchtest du wirklich die ausgewählten Snapmatic Bilder und Spielstanddateien löschen?
-
+
Fehlgeschlagen beim kompletten entfernen der ausgewählten Snapmatic Bilder und/oder der Spielstanddateien
@@ -1035,10 +1049,10 @@ Exportieren als:
Fehlgeschlagenen beim Import vom Spielstand weil kein Spielstandslot mehr übrig ist
-
-
-
-
+
+
+
+
Auswahl exportieren
@@ -1059,12 +1073,12 @@ Exportieren als:
Wie sollen wir mit den Snapmatic Bilder umgehen?
-
+
Auswahl exportieren...
-
+
Initialisiere Export...
@@ -1073,7 +1087,7 @@ Exportieren als:
Initialisierung...
-
+
@@ -1103,13 +1117,13 @@ Exportieren als:
Exportiere Datei %1 von %2 Dateien
-
+
Alle Profildateien (*.g5e SGTA* PGTA*)
-
-
+
+
GTA V Export (*.g5e)
@@ -1131,7 +1145,7 @@ Exportieren als:
SavegameDialog
-
+
Spielstandanzeiger
@@ -1163,7 +1177,7 @@ Exportieren als:
Schließen
-
+
Fehlgeschlagen bei %1
@@ -1266,34 +1280,34 @@ Exportieren als:
Fehlgeschlagen beim Löschen %1 von deinen Spielständen
-
+
A&nsehen
-
+
Entfe&rnen
-
-
+
+
Au&swählen
-
+
A&bwählen
-
-
+
+
&Alles auswählen
-
+
Alles a&bwählen
@@ -1332,7 +1346,7 @@ Exportieren als:
Spielstand kopieren
-
+
&Exportieren
@@ -1408,7 +1422,7 @@ Exportieren als:
-
+
Snapmatic Eigenschaften
@@ -1419,13 +1433,11 @@ Exportieren als:
-
Editor
-
Selbstporträt
@@ -1436,7 +1448,6 @@ Exportieren als:
-
Fahndungsfoto
@@ -1445,56 +1456,66 @@ Exportieren als:
Eigenes
-
+
Director
-
+
Meme
-
-
+
Snapmatic Titel
-
-
+
+
+ Snapmatic Werte
+
+
+
+
+
+ Crew: %1 (%2)
+
+
+
+
Titel: %1 (%2)
-
-
-
+
+
+
Angemessen: %1
-
+
Extras
-
+
Beim Ãœbernehmen als Avatar qualifizieren
-
+
Das Qualifizieren als Avatar erlaubt dir dieses Snapmatic als Social Club Profilbild zu nutzen
-
+
&Ãœbernehmen
-
+
Abbre&chen
@@ -1507,37 +1528,48 @@ Exportieren als:
Cancel
-
+
+
Bearbeiten
-
+
Yes, should work fine
Ja
-
+
No, could lead to issues
Nein
-
+
Patchen von Snapmatic Eigenschaften fehlgeschlagen wegen I/O Fehler
-
+
Neuer Snapmatic Titel:
+
+
+
+ Snapmatic Crew
+
+
+
+
+ Neue Snapmatic Crew:
+
SnapmaticPicture
-
+
FOTO - %1
@@ -1576,18 +1608,18 @@ Exportieren als:
-
-
+
+
Bild löschen
-
+
Bist du sicher %1 von deinen Snapmatic Bilder zu löschen?
-
+
Bearbei&ten
@@ -1600,7 +1632,7 @@ Exportieren als:
&Im Spiel deaktivieren
-
+
&Exportieren
@@ -1613,12 +1645,12 @@ Exportieren als:
Exportiere als >A Snapmatic
-
+
&Im Spiel anzeigen
-
+
&Im Spiel ausblenden
@@ -1631,49 +1663,49 @@ Exportieren als:
FOTO - %1
-
+
&Eigenschaften bearbeiten...
-
+
Exportiere als &JPG Bild...
-
+
Exportiere als >A Snapmatic...
-
+
A&nsehen
-
+
Entfe&rnen
-
-
+
+
Au&swählen
-
+
A&bwählen
-
-
+
+
Alles &auswählen
-
+
Alles a&bwählen
@@ -1721,7 +1753,7 @@ Exportieren als:
Bist du sicher %1 von deinen Snapmatic Bilder zu löschen?
-
+
Fehlgeschlagen beim Löschen %1 von deinen Snapmatic Bildern
@@ -2001,15 +2033,15 @@ Exportieren als:
-
+
Profil auswählen
-
+
-
+
Wähle GTA V Ordner...
@@ -2018,7 +2050,7 @@ Exportieren als:
Wähle GTA V &Ordner...
-
+
Datei öffnen...
@@ -2039,15 +2071,15 @@ Exportieren als:
&Ãœber %1
-
-
-
-
+
+
+
+
Datei öffnen
-
+
Kann nicht %1 öffnen weil Dateiformat nicht gültig ist
diff --git a/res/gta5sync_fr.ts b/res/gta5sync_fr.ts
index 89f9aab..2fcb28e 100644
--- a/res/gta5sync_fr.ts
+++ b/res/gta5sync_fr.ts
@@ -67,20 +67,28 @@ Copyright © <a href="%5">%6</a> %7<br/>
&Fermer
-
+
Un outil pour gérer les photos Snapmatic<br/>
et les fichiers de sauvegarde de Grand Theft Auto V
-
+
Un outil pour gérer et synchroniser les photos Snapmatic<br/>
et les fichiers de sauvegarde de Grand Theft Auto V
+
+ CrewDatabase
+
+
+
+
+
+
ExportDialog
@@ -344,44 +352,44 @@ et les fichiers de sauvegarde de Grand Theft Auto V
&Annuler
-
+
System like PC System = %1, System Language like Deutsch = %2
%1 (%2 si disponible)
-
+
System like PC System
Système
-
+
%1
%1
-
+
Le répertoire personnalisé sera actif au prochain lancement de %1.
-
+
Le changement de langue sera actif au prochain lancement de %1.
-
+
No Profile, as default
Aucun profil
-
-
+
+
Profil : %1
@@ -411,7 +419,6 @@ et les fichiers de sauvegarde de Grand Theft Auto V
-
&Exporter
@@ -487,17 +494,17 @@ et les fichiers de sauvegarde de Grand Theft Auto V
Fichier invalide
-
+
Exporter comme image &JPG...
-
+
Exporter comme >A Snapmatic...
-
+
@@ -506,19 +513,19 @@ Touche 2 - Activer/désactiver l'overlay
Touches fléchées - Naviguer
-
-
+
+
Visionneuse de photo Snapmatic
-
-
+
+
Echec de %1
-
+
Mode Aperçu Avatar
@@ -529,19 +536,19 @@ Appuyer sur 1 pour le mode par défaut
Aperçu avatar<br>Appuyer sur A pour la vue par défaut
-
-
+
+
Aucun joueur
-
-
+
+
Aucun crew
-
+
Emplacement inconnu
@@ -552,6 +559,7 @@ Appuyer sur 1 pour le mode par défaut
+
Exporter
@@ -594,27 +602,27 @@ Appuyer sur 1 pour le mode par défaut
Chargement du fichier %1 sur %2
-
+
%1 %2
-
+
Importer un profil
-
+
&Importer...
-
+
Fermer
-
+
&Fermer
@@ -626,34 +634,34 @@ Appuyer sur 1 pour le mode par défaut
Copie du fichier %1 sur %2
-
+
Photos activées : %1 sur %2
-
+
Chargement...
-
-
+
+
Importer...
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
Importer
@@ -662,31 +670,31 @@ Appuyer sur 1 pour le mode par défaut
Fichiers de profil GTA (SGTA* PGTA*)
-
-
+
+
Fichiers de sauvegarde GTA (SGTA*)
-
-
+
+
Photos Snapmatic (PGTA*)
-
-
+
+
Tous les fichiers (**)
-
+
Importation du fichier %1 sur %2
-
+
@@ -695,26 +703,26 @@ Appuyer sur 1 pour le mode par défaut
%1
-
-
-
+
+
+
Fichier invalide
-
-
+
+
Impossible d'ouvrir la photo Snapmatic
-
-
+
+
Impossible de lire le fichier de sauvegarde
-
+
Impossible d'importer %1, format invalide
@@ -723,83 +731,83 @@ Appuyer sur 1 pour le mode par défaut
Impossible d'importer la photo Snapmatic,nom de fichier incorrect (PGTA*)
-
+
Fichiers importables (*.g5e *.jpg *.png SGTA* PGTA*)
-
+
Tous les fichiers image (*.jpg *.png)
-
+
Impossible d'importer la photo Snapmatic,nom de fichier incorrect (PGTA*, *.g5e)
-
+
Impossible d'importer la photo Snapmatic, un fichier du même nom existe déjÃ
-
+
Impossible d'importer la photo Snapmatic, impossible de copier le fichier dans le profil
-
+
Impossible d'importer la sauvegarde, impossible de copier le fichier dans le profil
-
+
Impossible d'importer la sauvegarde, aucun emplacement libre
-
-
-
-
+
+
+
+
Exporter la sélection
-
-
+
+
Images JPG et GTA Snapmatic
-
-
+
+
Images JPG seulement
-
-
+
+
GTA Snapmatic seulement
-
+
%1Exporter les photos Snapmatic%2<br><br>Les fichiers JPG permettent d'ouvrir les photos avec une visionneuse d'images<br>Les GTA Snapmatic permettent d'importer les photos dans le jeu<br><br>Exporter comme :
-
+
Exporter la sélection...
-
+
Initialisation de l'export...
-
+
@@ -808,36 +816,36 @@ Appuyer sur 1 pour le mode par défaut
%1
-
-
+
+
Aucun fichier de sauvegarde ou photo Snapmatic sélectionné
-
-
-
+
+
+
Supprimer la sélection
-
+
Supprimer la sélection ?
-
+
Impossible de supprimer la sélection
-
+
Tous les fichiers de profil (*.g5e SGTA* PGTA*)
-
-
+
+
GTA V Export (*.g5e)
@@ -859,7 +867,7 @@ Appuyer sur 1 pour le mode par défaut
SavegameDialog
-
+
Gestionnaire de sauvegardes
@@ -879,7 +887,7 @@ Appuyer sur 1 pour le mode par défaut
&Fermer
-
+
Échec de %1
@@ -930,7 +938,7 @@ Appuyer sur 1 pour le mode par défaut
Supprimer
-
+
&Exporter
@@ -1013,34 +1021,34 @@ Appuyer sur 1 pour le mode par défaut
Impossible de supprimer %1
-
+
&Voir
-
+
&Supprimer
-
-
+
+
&Sélectionner
-
+
&Déselectionner
-
-
+
+
Sélectionner to&ut
-
+
&Déselectionner tout
@@ -1050,7 +1058,7 @@ Appuyer sur 1 pour le mode par défaut
-
+
Propriétés Snapmatic
@@ -1061,13 +1069,11 @@ Appuyer sur 1 pour le mode par défaut
-
Éditeur
-
Selfie
@@ -1078,7 +1084,6 @@ Appuyer sur 1 pour le mode par défaut
-
Photo d'identité
@@ -1087,93 +1092,114 @@ Appuyer sur 1 pour le mode par défaut
Personnalisé
-
+
Director
-
+
Meme
-
-
+
Titre Snapmatic
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
Titre : %1 (%2)
-
-
-
+
+
+
Valide : %1
-
+
Extras
-
+
Qualifier comme Avatar
-
+
Qualifier comme Avatar permet d'utiliser cette image en tant que photo de profil sur le Social Club
-
+
A&ppliquer
-
+
A&nnuler
-
+
+
Éditer
-
+
Yes, should work fine
Oui, devrait fonctionner
Oui
-
+
No, could lead to issues
Non, pourrait causer des erreurs
Non
-
+
La modification des propriétés Snapmatic a échoué : erreur d'entrée/sortie
-
+
Nouveau titre Snapmatic :
+
+
+
+
+
+
+
+
+
+
SnapmaticPicture
-
+
PHOTO - %1
@@ -1222,8 +1248,8 @@ Appuyer sur 1 pour le mode par défaut
-
-
+
+
Supprimer la photo
@@ -1233,79 +1259,79 @@ Appuyer sur 1 pour le mode par défaut
Supprimer
-
+
Supprimer %1 ?
-
+
Impossible de supprimer %1
-
+
Édi&ter
-
+
&Visible en jeu
-
+
&Invisible en jeu
-
+
Modifier les &propriétés...
-
+
&Exporter
-
+
Exporter comme image &JPG...
-
+
Exporter comme >A Snapmatic...
-
+
&Voir
-
+
S&upprimer
-
-
+
+
&Sélectionner
-
+
&Déselectionner
-
-
+
+
Sélectionner &tout
-
+
&Déselectionner tout
@@ -1468,9 +1494,9 @@ Appuyer sur 1 pour le mode par défaut
-
+
-
+
Modifier l'emplacement de GTA V...
@@ -1518,25 +1544,25 @@ Appuyer sur 1 pour le mode par défaut
-
+
Sélectionner un profil
-
+
Ouvrir...
-
-
-
-
+
+
+
+
Ouvrir
-
+
Impossible d'ouvrir %1, format invalide