Compare commits

...

3 Commits
1.8.0 ... 1.8.x

Author SHA1 Message Date
Syping fcbe264d63 Small Flatpak fixes, Qt6 beta build fix 1 year ago
Syping f8049c8178 add metainfo 1 year ago
Syping d0899623ad README: add Arch/Manjaro build instruction 1 year ago
  1. 4
      .flatpak/de.syping.gta5view.yaml
  2. 1
      CMakeLists.txt
  3. 2
      PictureWidget.cpp
  4. 17
      README.md
  5. 27
      UserInterface.cpp
  6. 2
      UserInterface.h
  7. 6
      main.cpp
  8. 63
      res/de.syping.gta5view.metainfo.xml

4
.flatpak/de.syping.gta5view.yml → .flatpak/de.syping.gta5view.yaml

@ -6,15 +6,15 @@ command: gta5view
finish-args:
- --share=network
- --share=ipc
- --socket=x11
- --socket=fallback-x11
- --socket=wayland
- --filesystem=host
- --device=dri
modules:
- name: gta5view
buildsystem: cmake-ninja
config-opts:
- -DFLATPAK_BUILD=ON
- -DQCONF_BUILD=ON
sources:
- type: dir
path: ../

1
CMakeLists.txt

@ -340,6 +340,7 @@ target_link_libraries(gta5view PRIVATE Qt5::Network Qt5::Svg Qt5::Widgets ${GTA5
install(TARGETS gta5view DESTINATION bin)
install(FILES res/de.syping.gta5view.desktop DESTINATION share/applications)
install(FILES res/de.syping.gta5view.metainfo.xml DESTINATION share/metainfo)
install(FILES res/gta5view-16.png DESTINATION share/icons/hicolor/16x16/apps RENAME de.syping.gta5view.png)
install(FILES res/gta5view-24.png DESTINATION share/icons/hicolor/24x24/apps RENAME de.syping.gta5view.png)
install(FILES res/gta5view-32.png DESTINATION share/icons/hicolor/32x32/apps RENAME de.syping.gta5view.png)

2
PictureWidget.cpp

@ -47,7 +47,9 @@ PictureWidget::PictureWidget(QWidget *parent) : QDialog(parent)
QObject::connect(pictureLabel, SIGNAL(mouseDoubleClicked(Qt::MouseButton)), this, SLOT(pictureDoubleClicked(Qt::MouseButton)));
QObject::connect(pictureLabel, SIGNAL(customContextMenuRequested(QPoint)), parent, SLOT(exportCustomContextMenuRequested(QPoint)));
#if QT_VERSION < 0x060000
QObject::connect(QApplication::desktop(), SIGNAL(resized(int)), this, SLOT(updateWindowSize(int)));
#endif
setLayout(widgetLayout);
}

17
README.md

@ -23,27 +23,30 @@ Grand Theft Auto V Savegame and Snapmatic viewer/editor
#### Build gta5view for Debian/Ubuntu
sudo apt-get install cmake git gcc g++ libqt5svg5-dev qtbase5-dev qttranslations5-l10n make
sudo apt-get install cmake git gcc g++ libqt5svg5-dev make qtbase5-dev qttranslations5-l10n
git clone https://gitlab.com/Syping/gta5view && cd gta5view
mkdir -p build && cd build
cmake ../
make -j $(nproc --all)
sudo make install
#### Build gta5view for Fedora
#### Build gta5view for Arch/Manjaro
sudo dnf install cmake git gcc gcc-c++ qt5-qtbase-devel qt5-qtsvg-devel qt5-qttranslations make
sudo pacman -S cmake gcc git make qt5-base qt5-svg qt5-tools qt5-translations
git clone https://gitlab.com/Syping/gta5view && cd gta5view
mkdir -p build && cd build
cmake ../
make -j $(nproc --all)
sudo make install
#### Build gta5view for Windows (Beginner)
#### Build gta5view for Fedora
Download the [Qt Framework](https://www.qt.io/) and install the MinGW version.
Download the Source Code over the Repository or with your Git client.
Open the gta5view.pro Project file with Qt Creator and build it over Qt Creator.
sudo dnf install cmake git gcc gcc-c++ make qt5-qtbase-devel qt5-qtsvg-devel qt5-qttranslations
git clone https://gitlab.com/Syping/gta5view && cd gta5view
mkdir -p build && cd build
cmake ../
make -j $(nproc --all)
sudo make install
#### Download Binary Releases

27
UserInterface.cpp

@ -179,7 +179,7 @@ UserInterface::UserInterface(ProfileDatabase *profileDB, CrewDatabase *crewDB, D
ui->vlUserInterface->setContentsMargins(9 * screenRatio, 9 * screenRatio, 9 * screenRatio, 9 * screenRatio);
}
void UserInterface::setupDirEnv()
void UserInterface::setupDirEnv(bool showFolderDialog)
{
// settings init
QSettings settings(GTA5SYNC_APPVENDOR, GTA5SYNC_APPSTR);
@ -192,20 +192,23 @@ void UserInterface::setupDirEnv()
}
else
{
GTAV_Folder = QFileDialog::getExistingDirectory(this, tr("Select GTA V Folder..."), StandardPaths::documentsLocation(), QFileDialog::ShowDirsOnly);
if (QFileInfo(GTAV_Folder).exists())
if (showFolderDialog)
{
folderExists = true;
QDir::setCurrent(GTAV_Folder);
AppEnv::setGameFolder(GTAV_Folder);
// First time folder selection save
settings.beginGroup("dir");
if (settings.value("dir", "").toString().isEmpty())
GTAV_Folder = QFileDialog::getExistingDirectory(this, tr("Select GTA V Folder..."), StandardPaths::documentsLocation(), QFileDialog::ShowDirsOnly);
if (QFileInfo(GTAV_Folder).exists())
{
settings.setValue("dir", GTAV_Folder);
folderExists = true;
QDir::setCurrent(GTAV_Folder);
AppEnv::setGameFolder(GTAV_Folder);
// First time folder selection save
settings.beginGroup("dir");
if (settings.value("dir", "").toString().isEmpty())
{
settings.setValue("dir", GTAV_Folder);
}
settings.endGroup();
}
settings.endGroup();
}
}

2
UserInterface.h

@ -48,7 +48,7 @@ public:
#else
explicit UserInterface(ProfileDatabase *profileDB, CrewDatabase *crewDB, DatabaseThread *threadDB, QWidget *parent = 0);
#endif
void setupDirEnv();
void setupDirEnv(bool showFolderDialog = true);
~UserInterface();
private slots:

6
main.cpp

@ -133,7 +133,7 @@ int main(int argc, char *argv[])
{
if (isFirstStart)
{
QMessageBox::StandardButton button = QMessageBox::information(a.desktop(), QString("%1 %2").arg(GTA5SYNC_APPSTR, GTA5SYNC_APPVER), QApplication::tr("<h4>Welcome to %1!</h4>You want to configure %1 before you start using it?").arg(GTA5SYNC_APPSTR), QMessageBox::Yes | QMessageBox::No, QMessageBox::No);
QMessageBox::StandardButton button = QMessageBox::information(nullptr, QString("%1 %2").arg(GTA5SYNC_APPSTR, GTA5SYNC_APPVER), QApplication::tr("<h4>Welcome to %1!</h4>You want to configure %1 before you start using it?").arg(GTA5SYNC_APPSTR), QMessageBox::Yes | QMessageBox::No, QMessageBox::No);
if (button == QMessageBox::Yes)
{
ProfileDatabase profileDB;
@ -320,7 +320,11 @@ int main(int argc, char *argv[])
UserInterface uiWindow(&profileDB, &crewDB, &threadDB);
#endif
uiWindow.setWindowIcon(IconLoader::loadingAppIcon());
#ifdef GTA5SYNC_FLATPAK
uiWindow.setupDirEnv(false);
#else
uiWindow.setupDirEnv();
#endif
#ifdef Q_OS_ANDROID
uiWindow.showMaximized();
#else

63
res/de.syping.gta5view.metainfo.xml

@ -0,0 +1,63 @@
<?xml version="1.0" encoding="UTF-8"?>
<!-- Copyright 2020 Syping -->
<component type="desktop-application">
<id>de.syping.gta5view</id>
<launchable type="desktop-id">de.syping.gta5view.desktop</launchable>
<metadata_license>CC0-1.0</metadata_license>
<project_license>GPL-3.0+</project_license>
<name>gta5view</name>
<summary>Open and edit GTA V profiles</summary>
<summary xml:lang="de">GTA V Profile öffnen und bearbeiten</summary>
<icon type="remote">https://img.syping.de/gta5view/gta5view.png</icon>
<description>
<p>Open Source Snapmatic picture and Savegame viewer/editor for GTA V</p>
<p>Features</p>
<ul>
<li>View Snapmatics with the ability to disable them in-game</li>
<li>Edit Snapmatic pictures and properties in multiple ways</li>
<li>Import/Export Snapmatics, Savegames and pictures</li>
<li>Choose between multiple Social Club accounts as GTA V profiles IDs</li>
</ul>
</description>
<categories>
<category>Utility</category>
</categories>
<developer_name>Syping</developer_name>
<releases>
<release date="2020-10-11" version="1.8.0" />
</releases>
<screenshots>
<screenshot type="default">
<caption>User Interface</caption>
<image type="source">https://img.syping.de/gta5view/mainui_kde.png</image>
</screenshot>
<screenshot>
<caption>Snapmatic Viewer</caption>
<image type="source">https://img.syping.de/gta5view/picture_kde.png</image>
</screenshot>
<screenshot>
<caption>Picture Importer</caption>
<image type="source">https://img.syping.de/gta5view/import_kde.png</image>
</screenshot>
<screenshot>
<caption>Snapmatic Player Editor</caption>
<image type="source">https://img.syping.de/gta5view/players_kde.png</image>
</screenshot>
<screenshot>
<caption>Snapmatic Property Editor</caption>
<image type="source">https://img.syping.de/gta5view/prop_kde.png</image>
</screenshot>
</screenshots>
<content_rating type="oars-1.1" />
<url type="homepage">https://gta5view.syping.de/</url>
</component>
Loading…
Cancel
Save