DPI awareness and latest changes from gta5sync

This commit is contained in:
Syping 2017-05-01 05:05:55 +02:00
parent 6b4f856e4d
commit ed559f3ce9
24 changed files with 343 additions and 213 deletions

View File

@ -24,15 +24,15 @@ before_script:
- echo "Grand Theft Auto V Snapmatic and Savegame viewer" > ./description-pak - echo "Grand Theft Auto V Snapmatic and Savegame viewer" > ./description-pak
script: script:
- qmake -qt=5 "DEFINES+=GTA5SYNC_BUILDTYPE=\\\\\\\"Developer\\\\\\\"" "DEFINES+=GTA5SYNC_DAILYB=\\\\\\\"$PACKAGE_VERSION-dev2\\\\\\\"" ../gta5view.pro - qmake -qt=5 "DEFINES+=GTA5SYNC_BUILDTYPE=\\\\\\\"Developer\\\\\\\"" "DEFINES+=GTA5SYNC_DAILYB=\\\\\\\"$PACKAGE_VERSION-dev4\\\\\\\"" ../gta5view.pro
- make -j 4 - make -j 4
- sudo checkinstall -D --default --nodoc --pkgname=gta5view --pkgversion=$PACKAGE_VERSION --pkgrelease=dev2 --pkggroup=utility --maintainer="Syping on Travis \<travisci@syping.de\>" --requires=libqt5core5a,libqt5gui5,libqt5network5,libqt5widgets5 --pakdir=../package - sudo checkinstall -D --default --nodoc --pkgname=gta5view --pkgversion=$PACKAGE_VERSION --pkgrelease=dev4 --pkggroup=utility --maintainer="Syping on Travis \<travisci@syping.de\>" --requires=libqt5core5a,libqt5gui5,libqt5network5,libqt5widgets5 --pakdir=../package
deploy: deploy:
provider: releases provider: releases
api_key: api_key:
secure: "o7VneEz1aHfdVwZvOZLfopf6uJWNrFsZaBvunTmXFzpmNFhlNS1qwqgMUkIA2yBRbZ3wIzVs4vfwIHv7W9yE/PqK+AYL+R8+AwKGrwlgT4HqJNuk6VM/LNJ6GwT/qkQuaoOVw29bUjmzzgIRdHmw53SlJv6Hh1VE8HphlTT//aex6nCfcFhUZ0BETdZDWz5FSHwL3NalUoqfKfQrJeky5RXzCyCANQC2tKt0bV46GaWIgWrDo2KCTNqPtRWWf5GDmnkXE5IYRMQ3mXvO9iYh0v5Y2jo4PiXGUiFUU6Z3aAWFAiPdGclrBO697cf3lCTzDMhuCETR153qFYsLShUlFf61ITAmCeHAWETjZDri0lmPONo3GoNB6alGfYEA51qw14kXakrTpICtTJj7gw/gtUYOabW6hrzmieNzMBIy62RikDPjyakFnuwW2qNHRlD65e0jYv+6nCpb6E+OV16Ysh1zhV2vTfpfzVmSuyu2J+ELqXD3OZCXRSPpDIih9UQ8335p8FBji6jHORcgym/TRgdgRmENibh8tLzWp+UjpWHuWfcpvZgOskjfwU0iDMCayMJ7tDpOhXHcAhDRnd6XRIiOJ5YZCzflj2nEwmt3YUd7DwXS/AU+WHOmcNQBjXBxF/FJa35XXcy3HKJM5TTKqtph3medo30us5yXHeG6NNg=" secure: "o7VneEz1aHfdVwZvOZLfopf6uJWNrFsZaBvunTmXFzpmNFhlNS1qwqgMUkIA2yBRbZ3wIzVs4vfwIHv7W9yE/PqK+AYL+R8+AwKGrwlgT4HqJNuk6VM/LNJ6GwT/qkQuaoOVw29bUjmzzgIRdHmw53SlJv6Hh1VE8HphlTT//aex6nCfcFhUZ0BETdZDWz5FSHwL3NalUoqfKfQrJeky5RXzCyCANQC2tKt0bV46GaWIgWrDo2KCTNqPtRWWf5GDmnkXE5IYRMQ3mXvO9iYh0v5Y2jo4PiXGUiFUU6Z3aAWFAiPdGclrBO697cf3lCTzDMhuCETR153qFYsLShUlFf61ITAmCeHAWETjZDri0lmPONo3GoNB6alGfYEA51qw14kXakrTpICtTJj7gw/gtUYOabW6hrzmieNzMBIy62RikDPjyakFnuwW2qNHRlD65e0jYv+6nCpb6E+OV16Ysh1zhV2vTfpfzVmSuyu2J+ELqXD3OZCXRSPpDIih9UQ8335p8FBji6jHORcgym/TRgdgRmENibh8tLzWp+UjpWHuWfcpvZgOskjfwU0iDMCayMJ7tDpOhXHcAhDRnd6XRIiOJ5YZCzflj2nEwmt3YUd7DwXS/AU+WHOmcNQBjXBxF/FJa35XXcy3HKJM5TTKqtph3medo30us5yXHeG6NNg="
file: "../package/gta5view_$PACKAGE_VERSION-dev2_amd64.deb" file: "../package/gta5view_$PACKAGE_VERSION-dev4_amd64.deb"
skip_cleanup: true skip_cleanup: true
on: on:
tags: true tags: true

View File

@ -19,6 +19,7 @@
#include <QStringBuilder> #include <QStringBuilder>
#include "AboutDialog.h" #include "AboutDialog.h"
#include "ui_AboutDialog.h" #include "ui_AboutDialog.h"
#include "AppEnv.h"
#include "config.h" #include "config.h"
AboutDialog::AboutDialog(QWidget *parent) : AboutDialog::AboutDialog(QWidget *parent) :
@ -51,6 +52,10 @@ AboutDialog::AboutDialog(QWidget *parent) :
{ {
ui->cmdClose->setIcon(QIcon::fromTheme("dialog-close")); ui->cmdClose->setIcon(QIcon::fromTheme("dialog-close"));
} }
// DPI calculation
qreal screenRatio = AppEnv::screenRatio();
resize(375 * screenRatio, 260 * screenRatio);
} }
AboutDialog::~AboutDialog() AboutDialog::~AboutDialog()

View File

@ -20,10 +20,14 @@
#include "AppEnv.h" #include "AppEnv.h"
#include "StringParser.h" #include "StringParser.h"
#include "StandardPaths.h" #include "StandardPaths.h"
#include <QDir>
#include <QDebug>
#include <QtGlobal> #include <QtGlobal>
#include <QDesktopWidget>
#include <QApplication>
#include <QSettings> #include <QSettings>
#include <QScreen>
#include <QDebug>
#include <QRect>
#include <QDir>
#include <iostream> #include <iostream>
using namespace std; using namespace std;
@ -130,3 +134,13 @@ QUrl AppEnv::getPlayerFetchingUrl(QString crewID, QString pageNumber)
{ {
return QUrl(QString("https://socialclub.rockstargames.com/crewsapi/GetMembersList?crewId=%1&pageNumber=%2").arg(crewID, pageNumber)); return QUrl(QString("https://socialclub.rockstargames.com/crewsapi/GetMembersList?crewId=%1&pageNumber=%2").arg(crewID, pageNumber));
} }
qreal AppEnv::screenRatio()
{
#if QT_VERSION >= 0x050000
qreal dpi = QGuiApplication::primaryScreen()->logicalDotsPerInch();
#else
qreal dpi = qApp->desktop()->logicalDpiX();
#endif
return (dpi / 96);
}

View File

@ -37,6 +37,9 @@ public:
static QByteArray getUserAgent(); static QByteArray getUserAgent();
static QUrl getCrewFetchingUrl(QString crewID); static QUrl getCrewFetchingUrl(QString crewID);
static QUrl getPlayerFetchingUrl(QString crewID, QString pageNumber); static QUrl getPlayerFetchingUrl(QString crewID, QString pageNumber);
// Screen Stuff
static qreal screenRatio();
}; };
#endif // APPENV_H #endif // APPENV_H

View File

@ -18,6 +18,7 @@
#include "ImportDialog.h" #include "ImportDialog.h"
#include "ui_ImportDialog.h" #include "ui_ImportDialog.h"
#include "AppEnv.h"
#include <QPainter> #include <QPainter>
#include <QPixmap> #include <QPixmap>
#include <QImage> #include <QImage>
@ -26,8 +27,6 @@
// IMAGES VALUES // IMAGES VALUES
#define snapmaticResolutionW 960 #define snapmaticResolutionW 960
#define snapmaticResolutionH 536 #define snapmaticResolutionH 536
#define snapmaticResolutionLW 430
#define snapmaticResolutionLH 240
#define snapmaticAvatarResolution 470 #define snapmaticAvatarResolution 470
#define snapmaticAvatarPlacementW 145 #define snapmaticAvatarPlacementW 145
#define snapmaticAvatarPlacementH 66 #define snapmaticAvatarPlacementH 66
@ -50,6 +49,15 @@ ImportDialog::ImportDialog(QWidget *parent) :
} }
ui->rbKeep->setChecked(true); ui->rbKeep->setChecked(true);
qreal screenRatio = AppEnv::screenRatio();
snapmaticResolutionLW = 430 * screenRatio;
snapmaticResolutionLH = 240 * screenRatio;
setMinimumSize(430 * screenRatio, 380 * screenRatio);
setMaximumSize(430 * screenRatio, 380 * screenRatio);
setFixedSize(430 * screenRatio, 380 * screenRatio);
ui->vlButtom->setSpacing(6 * screenRatio);
ui->vlButtom->setContentsMargins(9 * screenRatio, 6 * screenRatio, 9 * screenRatio, 9 * screenRatio);
} }
ImportDialog::~ImportDialog() ImportDialog::~ImportDialog()

View File

@ -53,6 +53,8 @@ private:
QImage workImage; QImage workImage;
QImage newImage; QImage newImage;
bool doImport; bool doImport;
int snapmaticResolutionLW;
int snapmaticResolutionLH;
}; };
#endif // IMPORTDIALOG_H #endif // IMPORTDIALOG_H

View File

@ -70,6 +70,10 @@ OptionsDialog::OptionsDialog(ProfileDatabase *profileDB, QWidget *parent) :
ui->cmdCancel->setIcon(QIcon::fromTheme("dialog-cancel")); ui->cmdCancel->setIcon(QIcon::fromTheme("dialog-cancel"));
} }
// DPI calculation
qreal screenRatio = AppEnv::screenRatio();
resize(435 * screenRatio, 405 * screenRatio);
setupTreeWidget(); setupTreeWidget();
setupLanguageBox(); setupLanguageBox();
setupRadioButtons(); setupRadioButtons();

View File

@ -26,6 +26,7 @@
#include "StringParser.h" #include "StringParser.h"
#include "GlobalString.h" #include "GlobalString.h"
#include "UiModLabel.h" #include "UiModLabel.h"
#include "AppEnv.h"
#ifdef GTA5SYNC_WIN #ifdef GTA5SYNC_WIN
#if QT_VERSION >= 0x050200 #if QT_VERSION >= 0x050200
@ -118,7 +119,15 @@ void PictureDialog::setupPictureDialog(bool withDatabase_)
withDatabase = withDatabase_; withDatabase = withDatabase_;
// Avatar area // Avatar area
avatarAreaPicture = QImage(":/img/avatararea.png"); qreal screenRatio = AppEnv::screenRatio();
if (screenRatio != 1)
{
avatarAreaPicture = QImage(":/img/avatararea.png").scaledToHeight(536 * screenRatio, Qt::FastTransformation);
}
else
{
avatarAreaPicture = QImage(":/img/avatararea.png");
}
avatarLocX = 145; avatarLocX = 145;
avatarLocY = 66; avatarLocY = 66;
avatarSize = 470; avatarSize = 470;
@ -147,6 +156,7 @@ void PictureDialog::setupPictureDialog(bool withDatabase_)
installEventFilter(this); installEventFilter(this);
installEventFilter(ui->labPicture); installEventFilter(ui->labPicture);
ui->labPicture->setFixedSize(960 * screenRatio, 536 * screenRatio);
ui->labPicture->setFocusPolicy(Qt::StrongFocus); ui->labPicture->setFocusPolicy(Qt::StrongFocus);
} }
@ -343,28 +353,29 @@ void PictureDialog::dialogPreviousPictureRequested()
void PictureDialog::renderOverlayPicture() void PictureDialog::renderOverlayPicture()
{ {
// Generating Overlay Preview // Generating Overlay Preview
QRect preferedRect = QRect(0, 0, 200, 160); qreal screenRatio = AppEnv::screenRatio();
QRect preferedRect = QRect(0, 0, 200 * screenRatio, 160 * screenRatio);
QString overlayText = tr("Key 1 - Avatar Preview Mode\nKey 2 - Toggle Overlay\nArrow Keys - Navigate"); QString overlayText = tr("Key 1 - Avatar Preview Mode\nKey 2 - Toggle Overlay\nArrow Keys - Navigate");
QImage overlayImage(1, 1, QImage::Format_ARGB32_Premultiplied); QImage overlayImage(1, 1, QImage::Format_ARGB32_Premultiplied);
overlayImage.fill(Qt::transparent); overlayImage.fill(Qt::transparent);
QPainter overlayPainter(&overlayImage); QPainter overlayPainter(&overlayImage);
QFont overlayPainterFont; QFont overlayPainterFont;
overlayPainterFont.setPixelSize(12); overlayPainterFont.setPixelSize(12 * screenRatio);
overlayPainter.setFont(overlayPainterFont); overlayPainter.setFont(overlayPainterFont);
QRect overlaySpace = overlayPainter.boundingRect(preferedRect, Qt::AlignLeft | Qt::AlignTop | Qt::TextDontClip | Qt::TextWordWrap, overlayText); QRect overlaySpace = overlayPainter.boundingRect(preferedRect, Qt::AlignLeft | Qt::AlignTop | Qt::TextDontClip | Qt::TextWordWrap, overlayText);
overlayPainter.end(); overlayPainter.end();
int hOverlay = Qt::AlignTop; int hOverlay = Qt::AlignTop;
if (overlaySpace.height() < 74) if (overlaySpace.height() < 74 * screenRatio)
{ {
hOverlay = Qt::AlignVCenter; hOverlay = Qt::AlignVCenter;
preferedRect.setHeight(71); preferedRect.setHeight(71 * screenRatio);
overlaySpace.setHeight(80); overlaySpace.setHeight(80 * screenRatio);
} }
else else
{ {
overlaySpace.setHeight(overlaySpace.height() + 6); overlaySpace.setHeight(overlaySpace.height() + 6 * screenRatio);
} }
overlayImage = overlayImage.scaled(overlaySpace.size()); overlayImage = overlayImage.scaled(overlaySpace.size());
@ -374,13 +385,13 @@ void PictureDialog::renderOverlayPicture()
overlayPainter.drawText(preferedRect, Qt::AlignLeft | hOverlay | Qt::TextDontClip | Qt::TextWordWrap, overlayText); overlayPainter.drawText(preferedRect, Qt::AlignLeft | hOverlay | Qt::TextDontClip | Qt::TextWordWrap, overlayText);
overlayPainter.end(); overlayPainter.end();
if (overlaySpace.width() < 194) if (overlaySpace.width() < 194 * screenRatio)
{ {
overlaySpace.setWidth(200); overlaySpace.setWidth(200 * screenRatio);
} }
else else
{ {
overlaySpace.setWidth(overlaySpace.width() + 6); overlaySpace.setWidth(overlaySpace.width() + 6 * screenRatio);
} }
QImage overlayBorderImage(overlaySpace.width(), overlaySpace.height(), QImage::Format_ARGB6666_Premultiplied); QImage overlayBorderImage(overlaySpace.width(), overlaySpace.height(), QImage::Format_ARGB6666_Premultiplied);
@ -390,7 +401,7 @@ void PictureDialog::renderOverlayPicture()
overlayTempImage.fill(Qt::transparent); overlayTempImage.fill(Qt::transparent);
QPainter overlayTempPainter(&overlayTempImage); QPainter overlayTempPainter(&overlayTempImage);
overlayTempPainter.drawImage(0, 0, overlayBorderImage); overlayTempPainter.drawImage(0, 0, overlayBorderImage);
overlayTempPainter.drawImage(3, 3, overlayImage); overlayTempPainter.drawImage(3 * screenRatio, 3 * screenRatio, overlayImage);
overlayTempPainter.end(); overlayTempPainter.end();
} }
@ -502,35 +513,58 @@ void PictureDialog::setSnapmaticPicture(SnapmaticPicture *picture)
void PictureDialog::renderPicture() void PictureDialog::renderPicture()
{ {
qreal screenRatio = AppEnv::screenRatio();
if (!previewMode) if (!previewMode)
{ {
if (overlayEnabled) if (overlayEnabled)
{ {
QPixmap overlayAreaPixmap(960, 536); QPixmap overlayAreaPixmap(960 * screenRatio, 536 * screenRatio);
overlayAreaPixmap.fill(Qt::transparent); overlayAreaPixmap.fill(Qt::transparent);
QPainter overlayAreaPainter(&overlayAreaPixmap); QPainter overlayAreaPainter(&overlayAreaPixmap);
overlayAreaPainter.drawImage(0, 0, snapmaticPicture); if (screenRatio == 1)
overlayAreaPainter.drawImage(3, 3, overlayTempImage); {
overlayAreaPainter.drawImage(0, 0, snapmaticPicture);
overlayAreaPainter.drawImage(3 * screenRatio, 3 * screenRatio, overlayTempImage);
}
else
{
overlayAreaPainter.drawImage(0, 0, snapmaticPicture.scaledToHeight(536 * screenRatio, Qt::SmoothTransformation));
overlayAreaPainter.drawImage(3 * screenRatio, 3 * screenRatio, overlayTempImage);
}
overlayAreaPainter.end(); overlayAreaPainter.end();
ui->labPicture->setPixmap(overlayAreaPixmap); ui->labPicture->setPixmap(overlayAreaPixmap);
} }
else else
{ {
ui->labPicture->setPixmap(QPixmap::fromImage(snapmaticPicture)); if (screenRatio != 1)
{
ui->labPicture->setPixmap(QPixmap::fromImage(snapmaticPicture.scaledToHeight(536 * screenRatio, Qt::SmoothTransformation)));
}
else
{
ui->labPicture->setPixmap(QPixmap::fromImage(snapmaticPicture));
}
} }
} }
else else
{ {
// Generating Avatar Preview // Generating Avatar Preview
QPixmap avatarPixmap(960, 536); QPixmap avatarPixmap(960 * screenRatio, 536 * screenRatio);
QPainter snapPainter(&avatarPixmap); QPainter snapPainter(&avatarPixmap);
QFont snapPainterFont; QFont snapPainterFont;
snapPainterFont.setPixelSize(12); snapPainterFont.setPixelSize(12 * screenRatio);
snapPainter.drawImage(0, 0, snapmaticPicture); if (screenRatio == 1)
{
snapPainter.drawImage(0, 0, snapmaticPicture);
}
else
{
snapPainter.drawImage(0, 0, snapmaticPicture.scaledToHeight(536 * screenRatio, Qt::SmoothTransformation));
}
snapPainter.drawImage(0, 0, avatarAreaPicture); snapPainter.drawImage(0, 0, avatarAreaPicture);
snapPainter.setPen(QColor::fromRgb(255, 255, 255, 255)); snapPainter.setPen(QColor::fromRgb(255, 255, 255, 255));
snapPainter.setFont(snapPainterFont); snapPainter.setFont(snapPainterFont);
snapPainter.drawText(QRect(3, 3, 140, 60), Qt::AlignLeft | Qt::TextWordWrap, tr("Avatar Preview Mode\nPress 1 for Default View")); snapPainter.drawText(QRect(3 * screenRatio, 3 * screenRatio, 140 * screenRatio, 60 * screenRatio), Qt::AlignLeft | Qt::TextWordWrap, tr("Avatar Preview Mode\nPress 1 for Default View"));
snapPainter.end(); snapPainter.end();
ui->labPicture->setPixmap(avatarPixmap); ui->labPicture->setPixmap(avatarPixmap);
} }

View File

@ -28,6 +28,7 @@
#include "ProfileLoader.h" #include "ProfileLoader.h"
#include "ExportThread.h" #include "ExportThread.h"
#include "ImportDialog.h" #include "ImportDialog.h"
#include "AppEnv.h"
#include "config.h" #include "config.h"
#include <QProgressDialog> #include <QProgressDialog>
#include <QProgressBar> #include <QProgressBar>
@ -73,6 +74,11 @@ ProfileInterface::ProfileInterface(ProfileDatabase *profileDB, CrewDatabase *cre
{ {
ui->cmdCloseProfile->setIcon(QIcon::fromTheme("dialog-close")); ui->cmdCloseProfile->setIcon(QIcon::fromTheme("dialog-close"));
} }
// DPI calculation
qreal screenRatio = AppEnv::screenRatio();
ui->hlButtons->setSpacing(6 * screenRatio);
ui->hlButtons->setContentsMargins(9 * screenRatio, 9 * screenRatio, 9 * screenRatio, 9 * screenRatio);
} }
ProfileInterface::~ProfileInterface() ProfileInterface::~ProfileInterface()

View File

@ -27,7 +27,7 @@
<number>0</number> <number>0</number>
</property> </property>
<property name="bottomMargin"> <property name="bottomMargin">
<number>9</number> <number>0</number>
</property> </property>
<item> <item>
<widget class="QStackedWidget" name="swProfile"> <widget class="QStackedWidget" name="swProfile">
@ -108,8 +108,8 @@
<rect> <rect>
<x>0</x> <x>0</x>
<y>0</y> <y>0</y>
<width>398</width> <width>98</width>
<height>256</height> <height>28</height>
</rect> </rect>
</property> </property>
<layout class="QVBoxLayout" name="vlProfile"> <layout class="QVBoxLayout" name="vlProfile">
@ -160,6 +160,9 @@
<property name="rightMargin"> <property name="rightMargin">
<number>9</number> <number>9</number>
</property> </property>
<property name="bottomMargin">
<number>9</number>
</property>
<item> <item>
<widget class="QLabel" name="labVersion"> <widget class="QLabel" name="labVersion">
<property name="text"> <property name="text">

View File

@ -1,6 +1,7 @@
#include "SavegameDialog.h" #include "SavegameDialog.h"
#include "ui_SavegameDialog.h" #include "ui_SavegameDialog.h"
#include "SavegameCopy.h" #include "SavegameCopy.h"
#include "AppEnv.h"
#include <QMessageBox> #include <QMessageBox>
SavegameDialog::SavegameDialog(QWidget *parent) : SavegameDialog::SavegameDialog(QWidget *parent) :
@ -18,6 +19,10 @@ SavegameDialog::SavegameDialog(QWidget *parent) :
{ {
ui->cmdClose->setIcon(QIcon::fromTheme("dialog-close")); ui->cmdClose->setIcon(QIcon::fromTheme("dialog-close"));
} }
// DPI calculation
qreal screenRatio = AppEnv::screenRatio();
resize(400 * screenRatio, 105 * screenRatio);
} }
SavegameDialog::~SavegameDialog() SavegameDialog::~SavegameDialog()

View File

@ -7,7 +7,7 @@
<x>0</x> <x>0</x>
<y>0</y> <y>0</y>
<width>400</width> <width>400</width>
<height>104</height> <height>105</height>
</rect> </rect>
</property> </property>
<property name="windowTitle"> <property name="windowTitle">

View File

@ -23,6 +23,7 @@
#include "StandardPaths.h" #include "StandardPaths.h"
#include "SavegameData.h" #include "SavegameData.h"
#include "SavegameCopy.h" #include "SavegameCopy.h"
#include "AppEnv.h"
#include <QFileDialog> #include <QFileDialog>
#include <QMessageBox> #include <QMessageBox>
#include <QSettings> #include <QSettings>
@ -46,6 +47,13 @@ SavegameWidget::SavegameWidget(QWidget *parent) :
ui->cmdDelete->setVisible(false); ui->cmdDelete->setVisible(false);
ui->cbSelected->setVisible(false); ui->cbSelected->setVisible(false);
qreal screenRatio = AppEnv::screenRatio();
ui->labSavegamePic->setFixedSize(48 * screenRatio, 27 * screenRatio);
QPixmap savegamePixmap(":/img/savegame.png");
if (screenRatio != 1) savegamePixmap = savegamePixmap.scaledToHeight(ui->labSavegamePic->height(), Qt::SmoothTransformation);
ui->labSavegamePic->setPixmap(savegamePixmap);
QString exportSavegameStr = tr("Export Savegame..."); QString exportSavegameStr = tr("Export Savegame...");
Q_UNUSED(exportSavegameStr) Q_UNUSED(exportSavegameStr)

View File

@ -50,9 +50,6 @@
<property name="text"> <property name="text">
<string/> <string/>
</property> </property>
<property name="pixmap">
<pixmap resource="res/app.qrc">:/img/savegame.png</pixmap>
</property>
</widget> </widget>
</item> </item>
<item> <item>
@ -130,8 +127,6 @@
</item> </item>
</layout> </layout>
</widget> </widget>
<resources> <resources/>
<include location="res/app.qrc"/>
</resources>
<connections/> <connections/>
</ui> </ui>

View File

@ -20,6 +20,7 @@
#include "ui_SnapmaticEditor.h" #include "ui_SnapmaticEditor.h"
#include "SnapmaticPicture.h" #include "SnapmaticPicture.h"
#include "StringParser.h" #include "StringParser.h"
#include "AppEnv.h"
#include <QTextDocument> #include <QTextDocument>
#include <QInputDialog> #include <QInputDialog>
#include <QMessageBox> #include <QMessageBox>
@ -44,6 +45,10 @@ SnapmaticEditor::SnapmaticEditor(CrewDatabase *crewDB, QWidget *parent) :
snapmaticTitle = ""; snapmaticTitle = "";
smpic = 0; smpic = 0;
// DPI calculation
qreal screenRatio = AppEnv::screenRatio();
resize(400 * screenRatio, 360 * screenRatio);
} }
SnapmaticEditor::~SnapmaticEditor() SnapmaticEditor::~SnapmaticEditor()

View File

@ -813,6 +813,7 @@ bool SnapmaticPicture::exportPicture(const QString &fileName, const QString form
} }
else else
{ {
delete picFile;
return false; return false;
} }
} }

View File

@ -24,6 +24,7 @@
#include "PictureDialog.h" #include "PictureDialog.h"
#include "PictureExport.h" #include "PictureExport.h"
#include "StringParser.h" #include "StringParser.h"
#include "AppEnv.h"
#include "config.h" #include "config.h"
#include <QMessageBox> #include <QMessageBox>
#include <QPixmap> #include <QPixmap>
@ -87,6 +88,9 @@ void SnapmaticWidget::setSnapmaticPicture(SnapmaticPicture *picture)
picStr = picture->getPictureStr(); picStr = picture->getPictureStr();
QObject::connect(picture, SIGNAL(updated()), this, SLOT(snapmaticUpdated())); QObject::connect(picture, SIGNAL(updated()), this, SLOT(snapmaticUpdated()));
qreal screenRatio = AppEnv::screenRatio();
ui->labPicture->setFixedSize(48 * screenRatio, 27 * screenRatio);
QPixmap SnapmaticPixmap = QPixmap::fromImage(picture->getImage().scaled(ui->labPicture->width(), ui->labPicture->height(), Qt::IgnoreAspectRatio, Qt::SmoothTransformation), Qt::AutoColor); QPixmap SnapmaticPixmap = QPixmap::fromImage(picture->getImage().scaled(ui->labPicture->width(), ui->labPicture->height(), Qt::IgnoreAspectRatio, Qt::SmoothTransformation), Qt::AutoColor);
ui->labPicStr->setText(picStr + "\n" + picTitl + ""); ui->labPicStr->setText(picStr + "\n" + picTitl + "");
ui->labPicture->setPixmap(SnapmaticPixmap); ui->labPicture->setPixmap(SnapmaticPixmap);

View File

@ -78,6 +78,12 @@ UserInterface::UserInterface(ProfileDatabase *profileDB, CrewDatabase *crewDB, D
ui->actionExit->setIcon(QIcon::fromTheme("application-exit")); ui->actionExit->setIcon(QIcon::fromTheme("application-exit"));
#endif #endif
} }
// DPI calculation
qreal screenRatio = AppEnv::screenRatio();
resize(625 * screenRatio, 500 * screenRatio);
ui->vlUserInterface->setSpacing(6 * screenRatio);
ui->vlUserInterface->setContentsMargins(9 * screenRatio, 9 * screenRatio, 9 * screenRatio, 9 * screenRatio);
} }
void UserInterface::setupDirEnv() void UserInterface::setupDirEnv()
@ -139,11 +145,12 @@ void UserInterface::setupDirEnv()
void UserInterface::setupProfileUi() void UserInterface::setupProfileUi()
{ {
qreal screenRatio = AppEnv::screenRatio();
if (GTAV_Profiles.length() == 0) if (GTAV_Profiles.length() == 0)
{ {
QPushButton *changeDirBtn = new QPushButton(tr("Select &GTA V Folder..."), ui->swSelection); QPushButton *changeDirBtn = new QPushButton(tr("Select &GTA V Folder..."), ui->swSelection);
changeDirBtn->setObjectName("cmdChangeDir"); changeDirBtn->setObjectName("cmdChangeDir");
changeDirBtn->setMinimumSize(0, 40); changeDirBtn->setMinimumSize(0, 40 * screenRatio);
changeDirBtn->setAutoDefault(true); changeDirBtn->setAutoDefault(true);
ui->vlButtons->addWidget(changeDirBtn); ui->vlButtons->addWidget(changeDirBtn);
profileBtns.append(changeDirBtn); profileBtns.append(changeDirBtn);
@ -154,7 +161,7 @@ void UserInterface::setupProfileUi()
{ {
QPushButton *profileBtn = new QPushButton(GTAV_Profile, ui->swSelection); QPushButton *profileBtn = new QPushButton(GTAV_Profile, ui->swSelection);
profileBtn->setObjectName(GTAV_Profile); profileBtn->setObjectName(GTAV_Profile);
profileBtn->setMinimumSize(0, 40); profileBtn->setMinimumSize(0, 40 * screenRatio);
profileBtn->setAutoDefault(true); profileBtn->setAutoDefault(true);
ui->vlButtons->addWidget(profileBtn); ui->vlButtons->addWidget(profileBtn);
profileBtns.append(profileBtn); profileBtns.append(profileBtn);

View File

@ -1,5 +1,5 @@
/***************************************************************************** /*****************************************************************************
* gta5sync GRAND THEFT AUTO V SYNC * gta5view Grand Theft Auto V Profile Viewer
* Copyright (C) 2016-2017 Syping * Copyright (C) 2016-2017 Syping
* *
* This program is free software: you can redistribute it and/or modify * This program is free software: you can redistribute it and/or modify
@ -50,7 +50,7 @@
#ifndef GTA5SYNC_APPVER #ifndef GTA5SYNC_APPVER
#ifndef GTA5SYNC_DAILYB #ifndef GTA5SYNC_DAILYB
#define GTA5SYNC_APPVER "1.4.0-dev3" #define GTA5SYNC_APPVER "1.4.0-dev4"
#else #else
#define GTA5SYNC_APPVER QString("%1").arg(GTA5SYNC_DAILYB) #define GTA5SYNC_APPVER QString("%1").arg(GTA5SYNC_DAILYB)
#endif #endif

View File

@ -21,11 +21,10 @@ QT += core gui network
greaterThan(QT_MAJOR_VERSION, 4): QT += widgets greaterThan(QT_MAJOR_VERSION, 4): QT += widgets
greaterThan(QT_MAJOR_VERSION, 4): greaterThan(QT_MINOR_VERSION, 1): win32: QT += winextras greaterThan(QT_MAJOR_VERSION, 4): greaterThan(QT_MINOR_VERSION, 1): win32: QT += winextras
DEFINES += GTA5SYNC_DISABLED # disabling sync (remove it for building gta5sync) DEFINES += GTA5SYNC_DISABLED
DEPLOYMENT.display_name = gta5view DEPLOYMENT.display_name = gta5view
TARGET = gta5view TARGET = gta5view
TEMPLATE = app TEMPLATE = app
SOURCES += main.cpp \ SOURCES += main.cpp \
@ -118,6 +117,7 @@ DISTFILES += res/app.rc \
res/gta5sync_de.ts \ res/gta5sync_de.ts \
res/gta5sync_fr.ts \ res/gta5sync_fr.ts \
res/gta5view.exe.manifest \ res/gta5view.exe.manifest \
res/gta5view.png \
lang/qtbase_ru.qm \ lang/qtbase_ru.qm \
lang/gta5sync_ru.ts \ lang/gta5sync_ru.ts \
lang/qt_ru.qm \ lang/qt_ru.qm \
@ -157,6 +157,6 @@ isEqual(QT_MAJOR_VERSION, 4): SOURCES += qjson4/QJsonArray.cpp \
unix: !macx: appfiles.path = $$(INSTALL_PATH)/share/applications unix: !macx: appfiles.path = $$(INSTALL_PATH)/share/applications
unix: !macx: appfiles.files = $$PWD/res/gta5view.desktop unix: !macx: appfiles.files = $$PWD/res/gta5view.desktop
unix: !macx: pixmaps.path = $$(INSTALL_PATH)/share/pixmaps unix: !macx: pixmaps.path = $$(INSTALL_PATH)/share/pixmaps
unix: !macx: pixmaps.files = $$PWD/res/gta5view.xpm unix: !macx: pixmaps.files = $$PWD/res/gta5view.png
unix: !macx: target.path = $$(INSTALL_PATH)/bin unix: !macx: target.path = $$(INSTALL_PATH)/bin
unix: !macx: INSTALLS += target pixmaps appfiles unix: !macx: INSTALLS += target pixmaps appfiles

View File

@ -40,18 +40,26 @@ Copyright &amp;copy; &lt;a href=&quot;%5&quot;&gt;%6&lt;/a&gt; %7&lt;br/&gt;%8 i
<translation type="obsolete">Закрыть</translation> <translation type="obsolete">Закрыть</translation>
</message> </message>
<message> <message>
<location filename="../AboutDialog.cpp" line="39"/> <location filename="../AboutDialog.cpp" line="40"/>
<source>A project for viewing Grand Theft Auto V Snapmatic&lt;br/&gt; <source>A project for viewing Grand Theft Auto V Snapmatic&lt;br/&gt;
Pictures and Savegames</source> Pictures and Savegames</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../AboutDialog.cpp" line="37"/> <location filename="../AboutDialog.cpp" line="38"/>
<source>A project for viewing and sync Grand Theft Auto V Snapmatic&lt;br/&gt; <source>A project for viewing and sync Grand Theft Auto V Snapmatic&lt;br/&gt;
Pictures and Savegames</source> Pictures and Savegames</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
</context> </context>
<context>
<name>CrewDatabase</name>
<message>
<location filename="../CrewDatabase.cpp" line="64"/>
<source>No Crew</source>
<translation type="unfinished"></translation>
</message>
</context>
<context> <context>
<name>ExportDialog</name> <name>ExportDialog</name>
<message> <message>
@ -315,44 +323,44 @@ Pictures and Savegames</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../OptionsDialog.cpp" line="125"/> <location filename="../OptionsDialog.cpp" line="129"/>
<source>System</source> <source>System</source>
<comment>System like PC System</comment> <comment>System like PC System</comment>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../OptionsDialog.cpp" line="125"/> <location filename="../OptionsDialog.cpp" line="129"/>
<source>%1 (%2 if available)</source> <source>%1 (%2 if available)</source>
<comment>System like PC System = %1, System Language like Deutsch = %2</comment> <comment>System like PC System = %1, System Language like Deutsch = %2</comment>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../OptionsDialog.cpp" line="284"/>
<location filename="../OptionsDialog.cpp" line="288"/> <location filename="../OptionsDialog.cpp" line="288"/>
<location filename="../OptionsDialog.cpp" line="292"/>
<source>%1</source> <source>%1</source>
<comment>%1</comment> <comment>%1</comment>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../OptionsDialog.cpp" line="284"/> <location filename="../OptionsDialog.cpp" line="288"/>
<source>The new Custom Folder will initialize after you restart %1.</source> <source>The new Custom Folder will initialize after you restart %1.</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../OptionsDialog.cpp" line="288"/> <location filename="../OptionsDialog.cpp" line="292"/>
<source>The language change will take effect after you restart %1.</source> <source>The language change will take effect after you restart %1.</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../OptionsDialog.cpp" line="298"/> <location filename="../OptionsDialog.cpp" line="302"/>
<source>No Profile</source> <source>No Profile</source>
<comment>No Profile, as default</comment> <comment>No Profile, as default</comment>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../OptionsDialog.cpp" line="306"/>
<location filename="../OptionsDialog.cpp" line="310"/> <location filename="../OptionsDialog.cpp" line="310"/>
<location filename="../OptionsDialog.cpp" line="312"/> <location filename="../OptionsDialog.cpp" line="314"/>
<location filename="../OptionsDialog.cpp" line="316"/>
<source>Profile: %1</source> <source>Profile: %1</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
@ -389,7 +397,6 @@ Pictures and Savegames</source>
</message> </message>
<message> <message>
<location filename="../PictureDialog.ui" line="167"/> <location filename="../PictureDialog.ui" line="167"/>
<location filename="../PictureExport.cpp" line="221"/>
<source>&amp;Export</source> <source>&amp;Export</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
@ -400,6 +407,7 @@ Pictures and Savegames</source>
</message> </message>
<message> <message>
<location filename="../PictureExport.cpp" line="89"/> <location filename="../PictureExport.cpp" line="89"/>
<location filename="../PictureExport.cpp" line="221"/>
<source>Export</source> <source>Export</source>
<translation type="unfinished">Экспорт</translation> <translation type="unfinished">Экспорт</translation>
</message> </message>
@ -413,54 +421,54 @@ Pictures and Savegames</source>
<translation>Закрыть</translation> <translation>Закрыть</translation>
</message> </message>
<message> <message>
<location filename="../PictureDialog.cpp" line="128"/> <location filename="../PictureDialog.cpp" line="132"/>
<source>Export as &amp;JPG picture...</source> <source>Export as &amp;JPG picture...</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../PictureDialog.cpp" line="129"/> <location filename="../PictureDialog.cpp" line="133"/>
<source>Export as &amp;GTA Snapmatic...</source> <source>Export as &amp;GTA Snapmatic...</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../PictureDialog.cpp" line="343"/> <location filename="../PictureDialog.cpp" line="347"/>
<source>Key 1 - Avatar Preview Mode <source>Key 1 - Avatar Preview Mode
Key 2 - Toggle Overlay Key 2 - Toggle Overlay
Arrow Keys - Navigate</source> Arrow Keys - Navigate</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../PictureDialog.cpp" line="402"/> <location filename="../PictureDialog.cpp" line="406"/>
<location filename="../PictureDialog.cpp" line="474"/> <location filename="../PictureDialog.cpp" line="478"/>
<source>Snapmatic Picture Viewer</source> <source>Snapmatic Picture Viewer</source>
<translation>Просмотрщик фотографий Snapmatic</translation> <translation>Просмотрщик фотографий Snapmatic</translation>
</message> </message>
<message> <message>
<location filename="../PictureDialog.cpp" line="402"/> <location filename="../PictureDialog.cpp" line="406"/>
<location filename="../PictureDialog.cpp" line="474"/> <location filename="../PictureDialog.cpp" line="478"/>
<source>Failed at %1</source> <source>Failed at %1</source>
<translation>Ошибка при %1</translation> <translation>Ошибка при %1</translation>
</message> </message>
<message> <message>
<location filename="../PictureDialog.cpp" line="529"/> <location filename="../PictureDialog.cpp" line="533"/>
<source>Avatar Preview Mode <source>Avatar Preview Mode
Press 1 for Default View</source> Press 1 for Default View</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../PictureDialog.cpp" line="463"/> <location filename="../PictureDialog.cpp" line="467"/>
<location filename="../PictureDialog.cpp" line="473"/> <location filename="../PictureDialog.cpp" line="477"/>
<source>No player</source> <source>No player</source>
<translation>Игроков нет</translation> <translation>Игроков нет</translation>
</message> </message>
<message> <message>
<location filename="../PictureDialog.cpp" line="466"/> <location filename="../PictureDialog.cpp" line="470"/>
<location filename="../PictureDialog.cpp" line="473"/> <location filename="../PictureDialog.cpp" line="477"/>
<source>No crew</source> <source>No crew</source>
<translation>Без группы</translation> <translation>Без группы</translation>
</message> </message>
<message> <message>
<location filename="../PictureDialog.cpp" line="473"/> <location filename="../PictureDialog.cpp" line="477"/>
<source>Unknown Location</source> <source>Unknown Location</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
@ -573,27 +581,27 @@ Press 1 for Default View</source>
<translation>Загружается файл %1 из %2</translation> <translation>Загружается файл %1 из %2</translation>
</message> </message>
<message> <message>
<location filename="../ProfileInterface.ui" line="169"/> <location filename="../ProfileInterface.ui" line="166"/>
<source>%1 %2</source> <source>%1 %2</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../ProfileInterface.ui" line="195"/> <location filename="../ProfileInterface.ui" line="192"/>
<source>Import exported file</source> <source>Import exported file</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../ProfileInterface.ui" line="198"/> <location filename="../ProfileInterface.ui" line="195"/>
<source>&amp;Import...</source> <source>&amp;Import...</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../ProfileInterface.ui" line="214"/> <location filename="../ProfileInterface.ui" line="211"/>
<source>Close profile</source> <source>Close profile</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../ProfileInterface.ui" line="217"/> <location filename="../ProfileInterface.ui" line="214"/>
<source>&amp;Close</source> <source>&amp;Close</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
@ -606,29 +614,29 @@ Press 1 for Default View</source>
<translation type="obsolete">Закрыть профиль</translation> <translation type="obsolete">Закрыть профиль</translation>
</message> </message>
<message> <message>
<location filename="../ProfileInterface.cpp" line="111"/> <location filename="../ProfileInterface.cpp" line="108"/>
<source>Loading...</source> <source>Loading...</source>
<translation>Загрузка...</translation> <translation>Загрузка...</translation>
</message> </message>
<message> <message>
<location filename="../ProfileInterface.cpp" line="369"/> <location filename="../ProfileInterface.cpp" line="384"/>
<location filename="../ProfileInterface.cpp" line="406"/> <location filename="../ProfileInterface.cpp" line="421"/>
<source>Import...</source> <source>Import...</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../ProfileInterface.cpp" line="370"/> <location filename="../ProfileInterface.cpp" line="385"/>
<location filename="../ProfileInterface.cpp" line="460"/> <location filename="../ProfileInterface.cpp" line="475"/>
<location filename="../ProfileInterface.cpp" line="465"/> <location filename="../ProfileInterface.cpp" line="480"/>
<location filename="../ProfileInterface.cpp" line="492"/> <location filename="../ProfileInterface.cpp" line="507"/>
<location filename="../ProfileInterface.cpp" line="508"/> <location filename="../ProfileInterface.cpp" line="523"/>
<location filename="../ProfileInterface.cpp" line="658"/> <location filename="../ProfileInterface.cpp" line="673"/>
<location filename="../ProfileInterface.cpp" line="663"/> <location filename="../ProfileInterface.cpp" line="678"/>
<location filename="../ProfileInterface.cpp" line="681"/> <location filename="../ProfileInterface.cpp" line="696"/>
<location filename="../ProfileInterface.cpp" line="686"/> <location filename="../ProfileInterface.cpp" line="701"/>
<location filename="../ProfileInterface.cpp" line="697"/> <location filename="../ProfileInterface.cpp" line="712"/>
<location filename="../ProfileInterface.cpp" line="734"/> <location filename="../ProfileInterface.cpp" line="749"/>
<location filename="../ProfileInterface.cpp" line="740"/> <location filename="../ProfileInterface.cpp" line="755"/>
<source>Import</source> <source>Import</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
@ -637,138 +645,138 @@ Press 1 for Default View</source>
<translation type="vanished">Все файлы профиля (SGTA* PGTA*)</translation> <translation type="vanished">Все файлы профиля (SGTA* PGTA*)</translation>
</message> </message>
<message> <message>
<location filename="../ProfileInterface.cpp" line="375"/> <location filename="../ProfileInterface.cpp" line="390"/>
<location filename="../UserInterface.cpp" line="335"/> <location filename="../UserInterface.cpp" line="344"/>
<source>Savegames files (SGTA*)</source> <source>Savegames files (SGTA*)</source>
<translation>Файлы сохранения (SGTA*)</translation> <translation>Файлы сохранения (SGTA*)</translation>
</message> </message>
<message> <message>
<location filename="../ProfileInterface.cpp" line="376"/> <location filename="../ProfileInterface.cpp" line="391"/>
<location filename="../UserInterface.cpp" line="336"/> <location filename="../UserInterface.cpp" line="345"/>
<source>Snapmatic pictures (PGTA*)</source> <source>Snapmatic pictures (PGTA*)</source>
<translation>Картинка Snapmatic (PGTA*)</translation> <translation>Картинка Snapmatic (PGTA*)</translation>
</message> </message>
<message> <message>
<location filename="../ProfileInterface.cpp" line="378"/> <location filename="../ProfileInterface.cpp" line="393"/>
<location filename="../UserInterface.cpp" line="337"/> <location filename="../UserInterface.cpp" line="346"/>
<source>All files (**)</source> <source>All files (**)</source>
<translation>Все файлы (**)</translation> <translation>Все файлы (**)</translation>
</message> </message>
<message> <message>
<location filename="../ProfileInterface.cpp" line="407"/>
<location filename="../ProfileInterface.cpp" line="422"/> <location filename="../ProfileInterface.cpp" line="422"/>
<location filename="../ProfileInterface.cpp" line="437"/>
<source>Import file %1 of %2 files</source> <source>Import file %1 of %2 files</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../ProfileInterface.cpp" line="460"/> <location filename="../ProfileInterface.cpp" line="475"/>
<source>Import failed with... <source>Import failed with...
%1</source> %1</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../ProfileInterface.cpp" line="492"/> <location filename="../ProfileInterface.cpp" line="507"/>
<location filename="../UserInterface.cpp" line="377"/> <location filename="../UserInterface.cpp" line="386"/>
<source>Failed to read Snapmatic picture</source> <source>Failed to read Snapmatic picture</source>
<translation>Не удалось загрузить картинку Snapmatic</translation> <translation>Не удалось загрузить картинку Snapmatic</translation>
</message> </message>
<message> <message>
<location filename="../ProfileInterface.cpp" line="508"/> <location filename="../ProfileInterface.cpp" line="523"/>
<location filename="../UserInterface.cpp" line="393"/> <location filename="../UserInterface.cpp" line="402"/>
<source>Failed to read Savegame file</source> <source>Failed to read Savegame file</source>
<translation>Не удалось загрузить файл сохранения</translation> <translation>Не удалось загрузить файл сохранения</translation>
</message> </message>
<message> <message>
<location filename="../ProfileInterface.cpp" line="658"/> <location filename="../ProfileInterface.cpp" line="673"/>
<source>Can&apos;t import %1 because of not valid file format</source> <source>Can&apos;t import %1 because of not valid file format</source>
<translation>Не получилось импортировать %1 из-за неправильного формата файла</translation> <translation>Не получилось импортировать %1 из-за неправильного формата файла</translation>
</message> </message>
<message> <message>
<location filename="../ProfileInterface.cpp" line="465"/> <location filename="../ProfileInterface.cpp" line="480"/>
<location filename="../ProfileInterface.cpp" line="663"/> <location filename="../ProfileInterface.cpp" line="678"/>
<location filename="../UserInterface.cpp" line="425"/> <location filename="../UserInterface.cpp" line="434"/>
<source>No valid file is selected</source> <source>No valid file is selected</source>
<translation>Выбранный файл неверен</translation> <translation>Выбранный файл неверен</translation>
</message> </message>
<message> <message>
<location filename="../ProfileInterface.cpp" line="60"/> <location filename="../ProfileInterface.cpp" line="61"/>
<source>Enabled pictures: %1 of %2</source> <source>Enabled pictures: %1 of %2</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../ProfileInterface.cpp" line="373"/> <location filename="../ProfileInterface.cpp" line="388"/>
<source>Importable files (*.g5e *.jpg *.png SGTA* PGTA*)</source> <source>Importable files (*.g5e *.jpg *.png SGTA* PGTA*)</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../ProfileInterface.cpp" line="377"/> <location filename="../ProfileInterface.cpp" line="392"/>
<source>All image files (*.jpg *.png)</source> <source>All image files (*.jpg *.png)</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../ProfileInterface.cpp" line="681"/> <location filename="../ProfileInterface.cpp" line="696"/>
<source>Failed to import the Snapmatic picture, file not begin with PGTA or end with .g5e</source> <source>Failed to import the Snapmatic picture, file not begin with PGTA or end with .g5e</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../ProfileInterface.cpp" line="686"/> <location filename="../ProfileInterface.cpp" line="701"/>
<source>Failed to import the Snapmatic picture, the picture is already in the game</source> <source>Failed to import the Snapmatic picture, the picture is already in the game</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../ProfileInterface.cpp" line="697"/> <location filename="../ProfileInterface.cpp" line="712"/>
<source>Failed to import the Snapmatic picture, can&apos;t copy the file into profile</source> <source>Failed to import the Snapmatic picture, can&apos;t copy the file into profile</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../ProfileInterface.cpp" line="734"/> <location filename="../ProfileInterface.cpp" line="749"/>
<source>Failed to import the Savegame, can&apos;t copy the file into profile</source> <source>Failed to import the Savegame, can&apos;t copy the file into profile</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../ProfileInterface.cpp" line="740"/> <location filename="../ProfileInterface.cpp" line="755"/>
<source>Failed to import the Savegame, no Savegame slot is left</source> <source>Failed to import the Savegame, no Savegame slot is left</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../ProfileInterface.cpp" line="826"/> <location filename="../ProfileInterface.cpp" line="841"/>
<location filename="../ProfileInterface.cpp" line="844"/> <location filename="../ProfileInterface.cpp" line="859"/>
<source>JPG pictures and GTA Snapmatic</source> <source>JPG pictures and GTA Snapmatic</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../ProfileInterface.cpp" line="827"/> <location filename="../ProfileInterface.cpp" line="842"/>
<location filename="../ProfileInterface.cpp" line="849"/> <location filename="../ProfileInterface.cpp" line="864"/>
<source>JPG pictures only</source> <source>JPG pictures only</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../ProfileInterface.cpp" line="828"/> <location filename="../ProfileInterface.cpp" line="843"/>
<location filename="../ProfileInterface.cpp" line="853"/> <location filename="../ProfileInterface.cpp" line="868"/>
<source>GTA Snapmatic only</source> <source>GTA Snapmatic only</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../ProfileInterface.cpp" line="940"/> <location filename="../ProfileInterface.cpp" line="953"/>
<location filename="../ProfileInterface.cpp" line="983"/> <location filename="../ProfileInterface.cpp" line="995"/>
<source>No Snapmatic pictures or Savegames files are selected</source> <source>No Snapmatic pictures or Savegames files are selected</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../ProfileInterface.cpp" line="948"/> <location filename="../ProfileInterface.cpp" line="961"/>
<location filename="../ProfileInterface.cpp" line="977"/> <location filename="../ProfileInterface.cpp" line="989"/>
<location filename="../ProfileInterface.cpp" line="983"/> <location filename="../ProfileInterface.cpp" line="995"/>
<source>Remove selected</source> <source>Remove selected</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../ProfileInterface.cpp" line="948"/> <location filename="../ProfileInterface.cpp" line="961"/>
<source>You really want remove the selected Snapmatic picutres and Savegame files?</source> <source>You really want remove the selected Snapmatic picutres and Savegame files?</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../ProfileInterface.cpp" line="977"/> <location filename="../ProfileInterface.cpp" line="989"/>
<source>Failed at remove the complete selected Snapmatic pictures and/or Savegame files</source> <source>Failed at remove the complete selected Snapmatic pictures and/or Savegame files</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
@ -789,30 +797,30 @@ Press 1 for Default View</source>
<translation type="obsolete">Не получилось имортировать копию сохранения, потому что не осталось свободных под них слотов</translation> <translation type="obsolete">Не получилось имортировать копию сохранения, потому что не осталось свободных под них слотов</translation>
</message> </message>
<message> <message>
<location filename="../ProfileInterface.cpp" line="803"/> <location filename="../ProfileInterface.cpp" line="818"/>
<location filename="../ProfileInterface.cpp" line="841"/> <location filename="../ProfileInterface.cpp" line="856"/>
<location filename="../ProfileInterface.cpp" line="918"/> <location filename="../ProfileInterface.cpp" line="933"/>
<location filename="../ProfileInterface.cpp" line="940"/> <location filename="../ProfileInterface.cpp" line="953"/>
<source>Export selected</source> <source>Export selected</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../ProfileInterface.cpp" line="841"/> <location filename="../ProfileInterface.cpp" line="856"/>
<source>%1Export Snapmatic pictures%2&lt;br&gt;&lt;br&gt;JPG pictures make it possible to open the picture with a Image Viewer&lt;br&gt;GTA Snapmatic make it possible to import the picture into the game&lt;br&gt;&lt;br&gt;Export as:</source> <source>%1Export Snapmatic pictures%2&lt;br&gt;&lt;br&gt;JPG pictures make it possible to open the picture with a Image Viewer&lt;br&gt;GTA Snapmatic make it possible to import the picture into the game&lt;br&gt;&lt;br&gt;Export as:</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../ProfileInterface.cpp" line="884"/> <location filename="../ProfileInterface.cpp" line="899"/>
<source>Export selected...</source> <source>Export selected...</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../ProfileInterface.cpp" line="885"/> <location filename="../ProfileInterface.cpp" line="900"/>
<source>Initializing export...</source> <source>Initializing export...</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../ProfileInterface.cpp" line="918"/> <location filename="../ProfileInterface.cpp" line="933"/>
<source>Export failed with... <source>Export failed with...
%1</source> %1</source>
@ -826,13 +834,13 @@ Press 1 for Default View</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../UserInterface.cpp" line="333"/> <location filename="../UserInterface.cpp" line="342"/>
<source>All profile files (*.g5e SGTA* PGTA*)</source> <source>All profile files (*.g5e SGTA* PGTA*)</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../ProfileInterface.cpp" line="374"/> <location filename="../ProfileInterface.cpp" line="389"/>
<location filename="../UserInterface.cpp" line="334"/> <location filename="../UserInterface.cpp" line="343"/>
<source>GTA V Export (*.g5e)</source> <source>GTA V Export (*.g5e)</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
@ -854,7 +862,7 @@ Press 1 for Default View</source>
<name>SavegameDialog</name> <name>SavegameDialog</name>
<message> <message>
<location filename="../SavegameDialog.ui" line="14"/> <location filename="../SavegameDialog.ui" line="14"/>
<location filename="../SavegameDialog.cpp" line="29"/> <location filename="../SavegameDialog.cpp" line="33"/>
<source>Savegame Viewer</source> <source>Savegame Viewer</source>
<translation>Просмотрщик сохранений</translation> <translation>Просмотрщик сохранений</translation>
</message> </message>
@ -882,7 +890,7 @@ Press 1 for Default View</source>
<translation type="obsolete">Закрыть</translation> <translation type="obsolete">Закрыть</translation>
</message> </message>
<message> <message>
<location filename="../SavegameDialog.cpp" line="29"/> <location filename="../SavegameDialog.cpp" line="33"/>
<source>Failed at %1</source> <source>Failed at %1</source>
<translation>Ошибка при %1</translation> <translation>Ошибка при %1</translation>
</message> </message>
@ -974,34 +982,34 @@ Press 1 for Default View</source>
<translation>Не удалось удалить сохранение %1</translation> <translation>Не удалось удалить сохранение %1</translation>
</message> </message>
<message> <message>
<location filename="../ProfileInterface.cpp" line="1106"/> <location filename="../ProfileInterface.cpp" line="1118"/>
<source>&amp;View</source> <source>&amp;View</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../ProfileInterface.cpp" line="1108"/> <location filename="../ProfileInterface.cpp" line="1120"/>
<source>&amp;Remove</source> <source>&amp;Remove</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../ProfileInterface.cpp" line="1112"/> <location filename="../ProfileInterface.cpp" line="1124"/>
<location filename="../ProfileInterface.cpp" line="1123"/> <location filename="../ProfileInterface.cpp" line="1135"/>
<source>&amp;Select</source> <source>&amp;Select</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../ProfileInterface.cpp" line="1113"/> <location filename="../ProfileInterface.cpp" line="1125"/>
<source>&amp;Deselect</source> <source>&amp;Deselect</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../ProfileInterface.cpp" line="1114"/> <location filename="../ProfileInterface.cpp" line="1126"/>
<location filename="../ProfileInterface.cpp" line="1124"/> <location filename="../ProfileInterface.cpp" line="1136"/>
<source>Select &amp;All</source> <source>Select &amp;All</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../ProfileInterface.cpp" line="1117"/> <location filename="../ProfileInterface.cpp" line="1129"/>
<source>&amp;Deselect All</source> <source>&amp;Deselect All</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
@ -1011,7 +1019,7 @@ Press 1 for Default View</source>
<translation>Копировать сохранение</translation> <translation>Копировать сохранение</translation>
</message> </message>
<message> <message>
<location filename="../ProfileInterface.cpp" line="1107"/> <location filename="../ProfileInterface.cpp" line="1119"/>
<source>&amp;Export</source> <source>&amp;Export</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
@ -1071,7 +1079,7 @@ Press 1 for Default View</source>
<message> <message>
<location filename="../SnapmaticEditor.ui" line="14"/> <location filename="../SnapmaticEditor.ui" line="14"/>
<location filename="../SnapmaticEditor.ui" line="81"/> <location filename="../SnapmaticEditor.ui" line="81"/>
<location filename="../SnapmaticEditor.cpp" line="247"/> <location filename="../SnapmaticEditor.cpp" line="239"/>
<source>Snapmatic Properties</source> <source>Snapmatic Properties</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
@ -1082,13 +1090,11 @@ Press 1 for Default View</source>
</message> </message>
<message> <message>
<location filename="../SnapmaticEditor.ui" line="50"/> <location filename="../SnapmaticEditor.ui" line="50"/>
<location filename="../SnapmaticEditor.ui" line="87"/>
<source>Editor</source> <source>Editor</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../SnapmaticEditor.ui" line="57"/> <location filename="../SnapmaticEditor.ui" line="57"/>
<location filename="../SnapmaticEditor.ui" line="108"/>
<source>Selfie</source> <source>Selfie</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
@ -1099,96 +1105,116 @@ Press 1 for Default View</source>
</message> </message>
<message> <message>
<location filename="../SnapmaticEditor.ui" line="71"/> <location filename="../SnapmaticEditor.ui" line="71"/>
<location filename="../SnapmaticEditor.ui" line="115"/>
<source>Mugshot</source> <source>Mugshot</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../SnapmaticEditor.ui" line="101"/> <location filename="../SnapmaticEditor.ui" line="94"/>
<source>Director</source> <source>Director</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../SnapmaticEditor.ui" line="94"/> <location filename="../SnapmaticEditor.ui" line="104"/>
<source>Snapmatic Values</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../SnapmaticEditor.ui" line="113"/>
<location filename="../SnapmaticEditor.cpp" line="194"/>
<source>Crew: %1 (%2)</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../SnapmaticEditor.ui" line="87"/>
<source>Meme</source> <source>Meme</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../SnapmaticEditor.ui" line="125"/> <location filename="../SnapmaticEditor.cpp" line="289"/>
<location filename="../SnapmaticEditor.cpp" line="297"/>
<source>Snapmatic Title</source> <source>Snapmatic Title</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../SnapmaticEditor.ui" line="140"/> <location filename="../SnapmaticEditor.ui" line="126"/>
<location filename="../SnapmaticEditor.cpp" line="200"/> <location filename="../SnapmaticEditor.cpp" line="179"/>
<source>Title: %1 (%2)</source> <source>Title: %1 (%2)</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../SnapmaticEditor.ui" line="156"/> <location filename="../SnapmaticEditor.ui" line="136"/>
<location filename="../SnapmaticEditor.cpp" line="204"/> <location filename="../SnapmaticEditor.cpp" line="183"/>
<location filename="../SnapmaticEditor.cpp" line="208"/> <location filename="../SnapmaticEditor.cpp" line="187"/>
<source>Appropriate: %1</source> <source>Appropriate: %1</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../SnapmaticEditor.ui" line="169"/> <location filename="../SnapmaticEditor.ui" line="149"/>
<source>Extras</source> <source>Extras</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../SnapmaticEditor.ui" line="175"/> <location filename="../SnapmaticEditor.ui" line="155"/>
<source>Qualify as Avatar automatically at apply</source> <source>Qualify as Avatar automatically at apply</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../SnapmaticEditor.ui" line="188"/> <location filename="../SnapmaticEditor.ui" line="168"/>
<source>Qualify as Avatar allows you to use this Snapmatic as a Social Club profile picture</source> <source>Qualify as Avatar allows you to use this Snapmatic as a Social Club profile picture</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../SnapmaticEditor.ui" line="238"/> <location filename="../SnapmaticEditor.ui" line="218"/>
<source>&amp;Apply</source> <source>&amp;Apply</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../SnapmaticEditor.ui" line="251"/> <location filename="../SnapmaticEditor.ui" line="231"/>
<source>&amp;Cancel</source> <source>&amp;Cancel</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../SnapmaticEditor.cpp" line="199"/> <location filename="../SnapmaticEditor.cpp" line="178"/>
<location filename="../SnapmaticEditor.cpp" line="193"/>
<source>Edit</source> <source>Edit</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../SnapmaticEditor.cpp" line="204"/> <location filename="../SnapmaticEditor.cpp" line="183"/>
<source>Yes</source> <source>Yes</source>
<comment>Yes, should work fine</comment> <comment>Yes, should work fine</comment>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../SnapmaticEditor.cpp" line="208"/> <location filename="../SnapmaticEditor.cpp" line="187"/>
<source>No</source> <source>No</source>
<comment>No, could lead to issues</comment> <comment>No, could lead to issues</comment>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../SnapmaticEditor.cpp" line="247"/> <location filename="../SnapmaticEditor.cpp" line="239"/>
<source>Patching of Snapmatic Properties failed because of I/O Error</source> <source>Patching of Snapmatic Properties failed because of I/O Error</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../SnapmaticEditor.cpp" line="297"/> <location filename="../SnapmaticEditor.cpp" line="289"/>
<source>New Snapmatic title:</source> <source>New Snapmatic title:</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message>
<location filename="../SnapmaticEditor.cpp" line="314"/>
<source>Snapmatic Crew</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../SnapmaticEditor.cpp" line="314"/>
<source>New Snapmatic crew:</source>
<translation type="unfinished"></translation>
</message>
</context> </context>
<context> <context>
<name>SnapmaticPicture</name> <name>SnapmaticPicture</name>
<message> <message>
<location filename="../SnapmaticPicture.cpp" line="370"/> <location filename="../SnapmaticPicture.cpp" line="363"/>
<source>PHOTO - %1</source> <source>PHOTO - %1</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
@ -1232,85 +1258,85 @@ Press 1 for Default View</source>
</message> </message>
<message> <message>
<location filename="../SnapmaticWidget.ui" line="149"/> <location filename="../SnapmaticWidget.ui" line="149"/>
<location filename="../SnapmaticWidget.cpp" line="150"/> <location filename="../SnapmaticWidget.cpp" line="159"/>
<location filename="../SnapmaticWidget.cpp" line="163"/> <location filename="../SnapmaticWidget.cpp" line="168"/>
<source>Delete picture</source> <source>Delete picture</source>
<translation>Удалить картинку</translation> <translation>Удалить картинку</translation>
</message> </message>
<message> <message>
<location filename="../SnapmaticWidget.cpp" line="150"/> <location filename="../SnapmaticWidget.cpp" line="159"/>
<source>Are you sure to delete %1 from your Snapmatic pictures?</source> <source>Are you sure to delete %1 from your Snapmatic pictures?</source>
<translation>Уверены, что хотите удалить %1 из коллекции картинок Snapmatic?</translation> <translation>Уверены, что хотите удалить %1 из коллекции картинок Snapmatic?</translation>
</message> </message>
<message> <message>
<location filename="../SnapmaticWidget.cpp" line="163"/> <location filename="../SnapmaticWidget.cpp" line="168"/>
<source>Failed at deleting %1 from your Snapmatic pictures</source> <source>Failed at deleting %1 from your Snapmatic pictures</source>
<translation>Не удалось удалить %1 из колелкции картинок Snapmatic </translation> <translation>Не удалось удалить %1 из колелкции картинок Snapmatic </translation>
</message> </message>
<message> <message>
<location filename="../ProfileInterface.cpp" line="1065"/> <location filename="../ProfileInterface.cpp" line="1077"/>
<source>Edi&amp;t</source> <source>Edi&amp;t</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../ProfileInterface.cpp" line="1068"/> <location filename="../ProfileInterface.cpp" line="1080"/>
<source>Show &amp;In-game</source> <source>Show &amp;In-game</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../ProfileInterface.cpp" line="1072"/> <location filename="../ProfileInterface.cpp" line="1084"/>
<source>Hide &amp;In-game</source> <source>Hide &amp;In-game</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../ProfileInterface.cpp" line="1074"/> <location filename="../ProfileInterface.cpp" line="1086"/>
<source>&amp;Edit Properties...</source> <source>&amp;Edit Properties...</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../ProfileInterface.cpp" line="1075"/> <location filename="../ProfileInterface.cpp" line="1087"/>
<source>&amp;Export</source> <source>&amp;Export</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../ProfileInterface.cpp" line="1076"/> <location filename="../ProfileInterface.cpp" line="1088"/>
<source>Export as &amp;JPG picture...</source> <source>Export as &amp;JPG picture...</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../ProfileInterface.cpp" line="1077"/> <location filename="../ProfileInterface.cpp" line="1089"/>
<source>Export as &amp;GTA Snapmatic...</source> <source>Export as &amp;GTA Snapmatic...</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../ProfileInterface.cpp" line="1078"/> <location filename="../ProfileInterface.cpp" line="1090"/>
<source>&amp;View</source> <source>&amp;View</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../ProfileInterface.cpp" line="1081"/> <location filename="../ProfileInterface.cpp" line="1093"/>
<source>&amp;Remove</source> <source>&amp;Remove</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../ProfileInterface.cpp" line="1085"/> <location filename="../ProfileInterface.cpp" line="1097"/>
<location filename="../ProfileInterface.cpp" line="1096"/> <location filename="../ProfileInterface.cpp" line="1108"/>
<source>&amp;Select</source> <source>&amp;Select</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../ProfileInterface.cpp" line="1086"/> <location filename="../ProfileInterface.cpp" line="1098"/>
<source>&amp;Deselect</source> <source>&amp;Deselect</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../ProfileInterface.cpp" line="1087"/> <location filename="../ProfileInterface.cpp" line="1099"/>
<location filename="../ProfileInterface.cpp" line="1097"/> <location filename="../ProfileInterface.cpp" line="1109"/>
<source>Select &amp;All</source> <source>Select &amp;All</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../ProfileInterface.cpp" line="1090"/> <location filename="../ProfileInterface.cpp" line="1102"/>
<source>&amp;Deselect All</source> <source>&amp;Deselect All</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
@ -1520,15 +1546,15 @@ Press 1 for Default View</source>
</message> </message>
<message> <message>
<location filename="../UserInterface.cpp" line="62"/> <location filename="../UserInterface.cpp" line="62"/>
<location filename="../UserInterface.cpp" line="214"/> <location filename="../UserInterface.cpp" line="213"/>
<source>Select Profile</source> <source>Select Profile</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../UserInterface.ui" line="306"/> <location filename="../UserInterface.ui" line="306"/>
<location filename="../OptionsDialog.cpp" line="444"/> <location filename="../OptionsDialog.cpp" line="448"/>
<location filename="../UserInterface.cpp" line="93"/> <location filename="../UserInterface.cpp" line="93"/>
<location filename="../UserInterface.cpp" line="474"/> <location filename="../UserInterface.cpp" line="488"/>
<source>Select GTA V Folder...</source> <source>Select GTA V Folder...</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
@ -1545,20 +1571,20 @@ Press 1 for Default View</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../UserInterface.cpp" line="330"/> <location filename="../UserInterface.cpp" line="339"/>
<source>Open File...</source> <source>Open File...</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../UserInterface.cpp" line="377"/> <location filename="../UserInterface.cpp" line="386"/>
<location filename="../UserInterface.cpp" line="393"/> <location filename="../UserInterface.cpp" line="402"/>
<location filename="../UserInterface.cpp" line="420"/> <location filename="../UserInterface.cpp" line="429"/>
<location filename="../UserInterface.cpp" line="425"/> <location filename="../UserInterface.cpp" line="434"/>
<source>Open File</source> <source>Open File</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../UserInterface.cpp" line="420"/> <location filename="../UserInterface.cpp" line="429"/>
<source>Can&apos;t open %1 because of not valid file format</source> <source>Can&apos;t open %1 because of not valid file format</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>

View File

@ -7,8 +7,8 @@ CREATEPROCESS_MANIFEST_RESOURCE_ID RT_MANIFEST "gta5view.exe.manifest"
#include <windows.h> #include <windows.h>
VS_VERSION_INFO VERSIONINFO VS_VERSION_INFO VERSIONINFO
FILEVERSION 1, 4, 0, 0 FILEVERSION 1, 4, 0, 4
PRODUCTVERSION 1, 4, 0, 0 PRODUCTVERSION 1, 4, 0, 4
FILEFLAGSMASK 0x3fL FILEFLAGSMASK 0x3fL
FILEFLAGS 0 FILEFLAGS 0
FILEOS VOS_NT_WINDOWS32 FILEOS VOS_NT_WINDOWS32
@ -25,12 +25,12 @@ BEGIN
BEGIN BEGIN
VALUE "CompanyName", "Syping" VALUE "CompanyName", "Syping"
VALUE "FileDescription", "gta5view\0" VALUE "FileDescription", "gta5view\0"
VALUE "FileVersion", "1.4.0-dev3\0" VALUE "FileVersion", "1.4.0-dev4\0"
VALUE "InternalName", "gta5view\0" VALUE "InternalName", "gta5view\0"
VALUE "LegalCopyright", "Copyright © 2016-2017 Syping\0" VALUE "LegalCopyright", "Copyright © 2016-2017 Syping\0"
VALUE "OriginalFilename", "gta5view.exe\0" VALUE "OriginalFilename", "gta5view.exe\0"
VALUE "ProductName", "gta5view\0" VALUE "ProductName", "gta5view\0"
VALUE "ProductVersion", "1.4.0-dev3\0" VALUE "ProductVersion", "1.4.0-dev4\0"
END END
END END
END END

View File

@ -1,11 +1,11 @@
[Desktop Entry] [Desktop Entry]
Version=1.0 Version=1.0
Encoding=UTF-8 Encoding=UTF-8
Type=Application Type=Application
Name=gta5view Name=gta5view
Comment=gta5view Comment=gta5view
Categories=Qt;Application;Utility; Categories=Qt;Application;Utility;
Exec=gta5view Exec=gta5view
Icon=gta5view Icon=gta5view
Terminal=false Terminal=false
StartupNotify=false StartupNotify=false

BIN
res/gta5view.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.0 KiB