removal and rework of legacy code
This commit is contained in:
		
							parent
							
								
									a456b06ad3
								
							
						
					
					
						commit
						1528879b42
					
				
					 12 changed files with 115 additions and 177 deletions
				
			
		| 
						 | 
				
			
			@ -95,7 +95,6 @@ set(GTA5VIEW_SOURCES
 | 
			
		|||
 | 
			
		||||
set(GTA5VIEW_HEADERS
 | 
			
		||||
    src/config.h
 | 
			
		||||
    src/wrapper.h
 | 
			
		||||
    src/AboutDialog.h
 | 
			
		||||
    src/AppEnv.h
 | 
			
		||||
    src/CrewDatabase.h
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -21,7 +21,6 @@
 | 
			
		|||
#include "TranslationClass.h"
 | 
			
		||||
#include "StandardPaths.h"
 | 
			
		||||
#include "UserInterface.h"
 | 
			
		||||
#include "wrapper.h"
 | 
			
		||||
#include "AppEnv.h"
 | 
			
		||||
#include "config.h"
 | 
			
		||||
#include <QStringBuilder>
 | 
			
		||||
| 
						 | 
				
			
			@ -65,16 +64,10 @@ OptionsDialog::OptionsDialog(ProfileDatabase *profileDB, QWidget *parent) :
 | 
			
		|||
    ui->cmdCancel->setDefault(true);
 | 
			
		||||
    ui->cmdCancel->setFocus();
 | 
			
		||||
 | 
			
		||||
#if QT_VERSION >= 0x050000
 | 
			
		||||
    qreal screenRatioPR = AppEnv::screenRatioPR();
 | 
			
		||||
    QRect desktopResolution = QApplication::primaryScreen()->geometry();
 | 
			
		||||
    int desktopSizeWidth = qRound((double)desktopResolution.width() * screenRatioPR);
 | 
			
		||||
    int desktopSizeHeight = qRound((double)desktopResolution.height() * screenRatioPR);
 | 
			
		||||
#else
 | 
			
		||||
    QRect desktopResolution = QApplication::desktop()->screenGeometry(this);
 | 
			
		||||
    int desktopSizeWidth = desktopResolution.width();
 | 
			
		||||
    int desktopSizeHeight = desktopResolution.height();
 | 
			
		||||
#endif
 | 
			
		||||
    aspectRatio = Qt::KeepAspectRatio;
 | 
			
		||||
    defExportSize = SnapmaticPicture::getSnapmaticResolution();
 | 
			
		||||
    cusExportSize = defExportSize;
 | 
			
		||||
| 
						 | 
				
			
			@ -560,7 +553,7 @@ void OptionsDialog::setupPictureSettings()
 | 
			
		|||
        ui->rbPicDefaultRes->setChecked(true);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    aspectRatio = (Qt::AspectRatioMode)settings->value("AspectRatio", Qt::KeepAspectRatio).toInt();
 | 
			
		||||
    aspectRatio = static_cast<Qt::AspectRatioMode>(settings->value("AspectRatio", Qt::KeepAspectRatio).toInt());
 | 
			
		||||
    if (aspectRatio == Qt::IgnoreAspectRatio) {
 | 
			
		||||
        ui->cbIgnoreAspectRatio->setChecked(true);
 | 
			
		||||
    }
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -84,7 +84,7 @@
 | 
			
		|||
#define crewID QString::number(picture->getSnapmaticProperties().crewID)
 | 
			
		||||
#define picArea picture->getSnapmaticProperties().location.area
 | 
			
		||||
#define picPath picture->getPictureFilePath()
 | 
			
		||||
#define picTitl StringParser::escapeString(picture->getPictureTitle())
 | 
			
		||||
#define picTitl picture->getPictureTitle().toHtmlEscaped()
 | 
			
		||||
#define plyrsList picture->getSnapmaticProperties().playersList
 | 
			
		||||
#if QT_VERSION >= 0x060000
 | 
			
		||||
#define created QLocale().toString(picture->getSnapmaticProperties().createdDateTime, QLocale::ShortFormat)
 | 
			
		||||
| 
						 | 
				
			
			@ -168,15 +168,15 @@ void PictureDialog::setupPictureDialog()
 | 
			
		|||
 | 
			
		||||
    // Manage menu
 | 
			
		||||
    manageMenu = new QMenu(this);
 | 
			
		||||
    manageMenu->addAction(tr("Export as &Picture..."), this, SLOT(exportSnapmaticPicture()));
 | 
			
		||||
    manageMenu->addAction(tr("Export as &Snapmatic..."), this, SLOT(copySnapmaticPicture()));
 | 
			
		||||
    manageMenu->addAction(tr("Export as &Picture..."), this, &PictureDialog::exportSnapmaticPicture);
 | 
			
		||||
    manageMenu->addAction(tr("Export as &Snapmatic..."), this, &PictureDialog::copySnapmaticPicture);
 | 
			
		||||
    manageMenu->addSeparator();
 | 
			
		||||
    manageMenu->addAction(tr("&Edit Properties..."), this, SLOT(editSnapmaticProperties()));
 | 
			
		||||
    manageMenu->addAction(tr("&Overwrite Image..."), this, SLOT(editSnapmaticImage()));
 | 
			
		||||
    manageMenu->addAction(tr("&Edit Properties..."), this, &PictureDialog::editSnapmaticProperties);
 | 
			
		||||
    manageMenu->addAction(tr("&Overwrite Image..."), this, &PictureDialog::editSnapmaticImage);
 | 
			
		||||
    manageMenu->addSeparator();
 | 
			
		||||
    QAction *openViewerAction = manageMenu->addAction(tr("Open &Map Viewer..."), this, SLOT(openPreviewMap()));
 | 
			
		||||
    QAction *openViewerAction = manageMenu->addAction(tr("Open &Map Viewer..."), this, &PictureDialog::openPreviewMap);
 | 
			
		||||
    openViewerAction->setShortcut(Qt::Key_M);
 | 
			
		||||
    manageMenu->addAction(tr("Open &JSON Editor..."), this, SLOT(editSnapmaticRawJson()));
 | 
			
		||||
    manageMenu->addAction(tr("Open &JSON Editor..."), this, &PictureDialog::editSnapmaticRawJson);
 | 
			
		||||
    ui->cmdManage->setMenu(manageMenu);
 | 
			
		||||
 | 
			
		||||
    // Global map
 | 
			
		||||
| 
						 | 
				
			
			@ -221,8 +221,8 @@ void PictureDialog::addPreviousNextButtons()
 | 
			
		|||
    QToolBar *uiToolbar = new QToolBar("Picture Toolbar", this);
 | 
			
		||||
    uiToolbar->setSizePolicy(QSizePolicy::Minimum, QSizePolicy::Minimum);
 | 
			
		||||
    uiToolbar->setObjectName("UiToolbar");
 | 
			
		||||
    uiToolbar->addAction(QIcon(AppEnv::getImagesFolder() % "/back.svgz"), "", this, SLOT(previousPictureRequestedSlot()));
 | 
			
		||||
    uiToolbar->addAction(QIcon(AppEnv::getImagesFolder() % "/next.svgz"), "", this, SLOT(nextPictureRequestedSlot()));
 | 
			
		||||
    uiToolbar->addAction(QIcon(AppEnv::getImagesFolder() % "/back.svgz"), "", this, &PictureDialog::previousPictureRequestedSlot);
 | 
			
		||||
    uiToolbar->addAction(QIcon(AppEnv::getImagesFolder() % "/next.svgz"), "", this, &PictureDialog::nextPictureRequestedSlot);
 | 
			
		||||
#ifdef Q_OS_MAC
 | 
			
		||||
#if QT_VERSION >= 0x050000
 | 
			
		||||
    uiToolbar->setStyle(QStyleFactory::create("Fusion"));
 | 
			
		||||
| 
						 | 
				
			
			@ -348,12 +348,10 @@ bool PictureDialog::eventFilter(QObject *obj, QEvent *ev)
 | 
			
		|||
                openPreviewMap();
 | 
			
		||||
                returnValue = true;
 | 
			
		||||
                break;
 | 
			
		||||
#if QT_VERSION >= 0x050300
 | 
			
		||||
            case Qt::Key_Exit:
 | 
			
		||||
                ui->cmdClose->click();
 | 
			
		||||
                returnValue = true;
 | 
			
		||||
                break;
 | 
			
		||||
#endif
 | 
			
		||||
            case Qt::Key_Enter: case Qt::Key_Return:
 | 
			
		||||
                on_labPicture_mouseDoubleClicked(Qt::LeftButton);
 | 
			
		||||
                returnValue = true;
 | 
			
		||||
| 
						 | 
				
			
			@ -365,7 +363,6 @@ bool PictureDialog::eventFilter(QObject *obj, QEvent *ev)
 | 
			
		|||
            }
 | 
			
		||||
        }
 | 
			
		||||
#ifdef Q_OS_WIN
 | 
			
		||||
#if QT_VERSION >= 0x050000
 | 
			
		||||
        if (obj != ui->labPicture && naviEnabled) {
 | 
			
		||||
            if (ev->type() == QEvent::MouseButtonPress) {
 | 
			
		||||
                QMouseEvent *mouseEvent = dynamic_cast<QMouseEvent*>(ev);
 | 
			
		||||
| 
						 | 
				
			
			@ -395,7 +392,6 @@ bool PictureDialog::eventFilter(QObject *obj, QEvent *ev)
 | 
			
		|||
                }
 | 
			
		||||
            }
 | 
			
		||||
        }
 | 
			
		||||
#endif
 | 
			
		||||
#endif
 | 
			
		||||
    }
 | 
			
		||||
    return returnValue;
 | 
			
		||||
| 
						 | 
				
			
			@ -485,8 +481,8 @@ void PictureDialog::renderOverlayPicture()
 | 
			
		|||
void PictureDialog::setSnapmaticPicture(SnapmaticPicture *picture, bool readOk, bool _indexed, int _index)
 | 
			
		||||
{
 | 
			
		||||
    if (smpic != nullptr) {
 | 
			
		||||
        QObject::disconnect(smpic, SIGNAL(updated()), this, SLOT(updated()));
 | 
			
		||||
        QObject::disconnect(smpic, SIGNAL(customSignal(QString)), this, SLOT(customSignal(QString)));
 | 
			
		||||
        QObject::disconnect(smpic, &SnapmaticPicture::updated, this, &PictureDialog::updated);
 | 
			
		||||
        QObject::disconnect(smpic, &SnapmaticPicture::customSignal, this, &PictureDialog::customSignal);
 | 
			
		||||
    }
 | 
			
		||||
    snapmaticPicture = QImage();
 | 
			
		||||
    indexed = _indexed;
 | 
			
		||||
| 
						 | 
				
			
			@ -511,14 +507,14 @@ void PictureDialog::setSnapmaticPicture(SnapmaticPicture *picture, bool readOk,
 | 
			
		|||
        }
 | 
			
		||||
        setWindowTitle(windowTitleStr.arg(picTitl));
 | 
			
		||||
        ui->labJSON->setText(jsonDrawString.arg(locX, locY, locZ, generatePlayersString(), generateCrewString(), picTitl, picAreaStr, created));
 | 
			
		||||
        QTimer::singleShot(0, this, SLOT(adaptDialogSize()));
 | 
			
		||||
        QTimer::singleShot(0, this, &PictureDialog::adaptDialogSize);
 | 
			
		||||
    }
 | 
			
		||||
    else {
 | 
			
		||||
        ui->labJSON->setText(jsonDrawString.arg("0", "0", "0", tr("No Players"), tr("No Crew"), tr("Unknown Location")));
 | 
			
		||||
        QTimer::singleShot(0, this, SLOT(adaptDialogSize()));
 | 
			
		||||
        QTimer::singleShot(0, this, &PictureDialog::adaptDialogSize);
 | 
			
		||||
    }
 | 
			
		||||
    QObject::connect(smpic, SIGNAL(updated()), this, SLOT(updated()));
 | 
			
		||||
    QObject::connect(smpic, SIGNAL(customSignal(QString)), this, SLOT(customSignal(QString)));
 | 
			
		||||
    QObject::connect(smpic, &SnapmaticPicture::updated, this, &PictureDialog::updated);
 | 
			
		||||
    QObject::connect(smpic, &SnapmaticPicture::customSignal, this, &PictureDialog::customSignal);
 | 
			
		||||
    emit newPictureCommited(snapmaticPicture);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -573,9 +569,7 @@ void PictureDialog::renderPicture()
 | 
			
		|||
        shownImagePainter.drawImage(3 * screenRatio * screenRatioPR, 3 * screenRatio * screenRatioPR, overlayTempImage, Qt::AutoColor);
 | 
			
		||||
    }
 | 
			
		||||
    shownImagePainter.end();
 | 
			
		||||
#if QT_VERSION >= 0x050600
 | 
			
		||||
    shownImagePixmap.setDevicePixelRatio(screenRatioPR);
 | 
			
		||||
#endif
 | 
			
		||||
    ui->labPicture->setPixmap(shownImagePixmap);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -586,7 +580,7 @@ void PictureDialog::crewNameUpdated()
 | 
			
		|||
    if (crewIDStr == crewStr) {
 | 
			
		||||
        crewStr = crewDB->getCrewName(crewIDStr);
 | 
			
		||||
        ui->labJSON->setText(jsonDrawString.arg(locX, locY, locZ, generatePlayersString(), generateCrewString(), picTitl, picAreaStr, created));
 | 
			
		||||
        QTimer::singleShot(0, this, SLOT(adaptDialogSize()));
 | 
			
		||||
        QTimer::singleShot(0, this, &PictureDialog::adaptDialogSize);
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -595,7 +589,7 @@ void PictureDialog::playerNameUpdated()
 | 
			
		|||
    SnapmaticPicture *picture = smpic; // used by macro
 | 
			
		||||
    if (plyrsList.count() >= 1) {
 | 
			
		||||
        ui->labJSON->setText(jsonDrawString.arg(locX, locY, locZ, generatePlayersString(), generateCrewString(), picTitl, picAreaStr, created));
 | 
			
		||||
        QTimer::singleShot(0, this, SLOT(adaptDialogSize()));
 | 
			
		||||
        QTimer::singleShot(0, this, &PictureDialog::adaptDialogSize);
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -675,9 +669,9 @@ void PictureDialog::on_labPicture_mouseDoubleClicked(Qt::MouseButton button)
 | 
			
		|||
        pictureWidget->setModal(true);
 | 
			
		||||
 | 
			
		||||
        fullscreenWidget = pictureWidget;
 | 
			
		||||
        QObject::connect(this, SIGNAL(newPictureCommited(QImage)), pictureWidget, SLOT(setImage(QImage)));
 | 
			
		||||
        QObject::connect(pictureWidget, SIGNAL(nextPictureRequested()), this, SLOT(dialogNextPictureRequested()));
 | 
			
		||||
        QObject::connect(pictureWidget, SIGNAL(previousPictureRequested()), this, SLOT(dialogPreviousPictureRequested()));
 | 
			
		||||
        QObject::connect(this, &PictureDialog::newPictureCommited, pictureWidget, QOverload<QImage>::of(&PictureWidget::setImage));
 | 
			
		||||
        QObject::connect(pictureWidget, &PictureWidget::nextPictureRequested, this, &PictureDialog::dialogNextPictureRequested);
 | 
			
		||||
        QObject::connect(pictureWidget, &PictureWidget::previousPictureRequested, this, &PictureDialog::dialogPreviousPictureRequested);
 | 
			
		||||
 | 
			
		||||
        pictureWidget->move(desktopRect.x(), desktopRect.y());
 | 
			
		||||
        pictureWidget->resize(desktopRect.width(), desktopRect.height());
 | 
			
		||||
| 
						 | 
				
			
			@ -866,11 +860,7 @@ void PictureDialog::editSnapmaticRawJson()
 | 
			
		|||
    }
 | 
			
		||||
    jsonEditor->setWindowIcon(windowIcon());
 | 
			
		||||
    jsonEditor->setModal(true);
 | 
			
		||||
#ifndef Q_OS_ANDROID
 | 
			
		||||
    jsonEditor->show();
 | 
			
		||||
#else
 | 
			
		||||
    jsonEditor->showMaximized();
 | 
			
		||||
#endif
 | 
			
		||||
    jsonEditor->exec();
 | 
			
		||||
    delete jsonEditor;
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			@ -887,7 +877,7 @@ void PictureDialog::updated()
 | 
			
		|||
    }
 | 
			
		||||
    setWindowTitle(windowTitleStr.arg(picTitl));
 | 
			
		||||
    ui->labJSON->setText(jsonDrawString.arg(locX, locY, locZ, generatePlayersString(), generateCrewString(), picTitl, picAreaStr, created));
 | 
			
		||||
    QTimer::singleShot(0, this, SLOT(adaptDialogSize()));
 | 
			
		||||
    QTimer::singleShot(0, this, &PictureDialog::adaptDialogSize);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
void PictureDialog::customSignal(QString signal)
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1632,7 +1632,7 @@ void ProfileInterface::contextMenuTriggeredPIC(QContextMenuEvent *ev)
 | 
			
		|||
    SnapmaticWidget *picWidget = qobject_cast<SnapmaticWidget*>(sender());
 | 
			
		||||
    if (picWidget != previousWidget) {
 | 
			
		||||
        if (previousWidget != nullptr) {
 | 
			
		||||
            previousWidget->setStyleSheet(QLatin1String(""));
 | 
			
		||||
            previousWidget->setStyleSheet(QString());
 | 
			
		||||
        }
 | 
			
		||||
        picWidget->setStyleSheet(QString("QFrame#SnapmaticFrame{background-color:palette(highlight)}QLabel#labPicStr{color:palette(highlighted-text)}"));
 | 
			
		||||
        previousWidget = picWidget;
 | 
			
		||||
| 
						 | 
				
			
			@ -1642,69 +1642,81 @@ void ProfileInterface::contextMenuTriggeredPIC(QContextMenuEvent *ev)
 | 
			
		|||
    if (contentMode < 20 || selectedCount == 0) {
 | 
			
		||||
        QMenu editMenu(SnapmaticWidget::tr("Edi&t"), picWidget);
 | 
			
		||||
        if (picWidget->isHidden()) {
 | 
			
		||||
            editMenu.addAction(SnapmaticWidget::tr("Show &In-game"), picWidget, SLOT(makePictureVisibleSlot()));
 | 
			
		||||
            editMenu.addAction(SnapmaticWidget::tr("Show &In-game"), picWidget, &SnapmaticWidget::makePictureVisibleSlot);
 | 
			
		||||
        }
 | 
			
		||||
        else {
 | 
			
		||||
            editMenu.addAction(SnapmaticWidget::tr("Hide &In-game"), picWidget, SLOT(makePictureHiddenSlot()));
 | 
			
		||||
            editMenu.addAction(SnapmaticWidget::tr("Hide &In-game"), picWidget, &SnapmaticWidget::makePictureHiddenSlot);
 | 
			
		||||
        }
 | 
			
		||||
        editMenu.addAction(PictureDialog::tr("&Edit Properties..."), picWidget, SLOT(editSnapmaticProperties()));
 | 
			
		||||
        editMenu.addAction(PictureDialog::tr("&Overwrite Image..."), picWidget, SLOT(editSnapmaticImage()));
 | 
			
		||||
        editMenu.addAction(PictureDialog::tr("&Edit Properties..."), picWidget, &SnapmaticWidget::editSnapmaticProperties);
 | 
			
		||||
        editMenu.addAction(PictureDialog::tr("&Overwrite Image..."), picWidget, &SnapmaticWidget::editSnapmaticImage);
 | 
			
		||||
        editMenu.addSeparator();
 | 
			
		||||
        editMenu.addAction(PictureDialog::tr("Open &Map Viewer..."), picWidget, SLOT(openMapViewer()));
 | 
			
		||||
        editMenu.addAction(PictureDialog::tr("Open &JSON Editor..."), picWidget, SLOT(editSnapmaticRawJson()));
 | 
			
		||||
        editMenu.addAction(PictureDialog::tr("Open &Map Viewer..."), picWidget, &SnapmaticWidget::openMapViewer);
 | 
			
		||||
        editMenu.addAction(PictureDialog::tr("Open &JSON Editor..."), picWidget, &SnapmaticWidget::editSnapmaticRawJson);
 | 
			
		||||
        QMenu exportMenu(SnapmaticWidget::tr("&Export"), this);
 | 
			
		||||
        exportMenu.addAction(PictureDialog::tr("Export as &Picture..."), picWidget, SLOT(on_cmdExport_clicked()));
 | 
			
		||||
        exportMenu.addAction(PictureDialog::tr("Export as &Snapmatic..."), picWidget, SLOT(on_cmdCopy_clicked()));
 | 
			
		||||
        contextMenu.addAction(SnapmaticWidget::tr("&View"), picWidget, SLOT(on_cmdView_clicked()));
 | 
			
		||||
        exportMenu.addAction(PictureDialog::tr("Export as &Picture..."), picWidget, &SnapmaticWidget::on_cmdExport_clicked);
 | 
			
		||||
        exportMenu.addAction(PictureDialog::tr("Export as &Snapmatic..."), picWidget, &SnapmaticWidget::on_cmdCopy_clicked);
 | 
			
		||||
        contextMenu.addAction(SnapmaticWidget::tr("&View"), picWidget, &SnapmaticWidget::on_cmdView_clicked);
 | 
			
		||||
        contextMenu.addMenu(&editMenu);
 | 
			
		||||
        contextMenu.addMenu(&exportMenu);
 | 
			
		||||
        contextMenu.addAction(SnapmaticWidget::tr("&Remove"), picWidget, SLOT(on_cmdDelete_clicked()));
 | 
			
		||||
        contextMenu.addAction(SnapmaticWidget::tr("&Remove"), picWidget, &SnapmaticWidget::on_cmdDelete_clicked);
 | 
			
		||||
        contextMenu.addSeparator();
 | 
			
		||||
        if (!picWidget->isSelected())
 | 
			
		||||
            contextMenu.addAction(SnapmaticWidget::tr("&Select"), picWidget, SLOT(pictureSelected()));
 | 
			
		||||
            contextMenu.addAction(SnapmaticWidget::tr("&Select"), picWidget, &SnapmaticWidget::pictureSelected);
 | 
			
		||||
        else {
 | 
			
		||||
            contextMenu.addAction(SnapmaticWidget::tr("&Deselect"), picWidget, SLOT(pictureSelected()));
 | 
			
		||||
            contextMenu.addAction(SnapmaticWidget::tr("&Deselect"), picWidget, &SnapmaticWidget::pictureSelected);
 | 
			
		||||
        }
 | 
			
		||||
        if (selectedCount != widgets.count()) {
 | 
			
		||||
            contextMenu.addAction(SnapmaticWidget::tr("Select &All"), picWidget, SLOT(selectAllWidgets()), QKeySequence::fromString("Ctrl+A"));
 | 
			
		||||
            QAction *action = contextMenu.addAction(SnapmaticWidget::tr("Select &All"), picWidget, &SnapmaticWidget::selectAllWidgets);
 | 
			
		||||
            action->setShortcut(QKeySequence::fromString("Ctrl+A"));
 | 
			
		||||
        }
 | 
			
		||||
        if (selectedCount != 0) {
 | 
			
		||||
            contextMenu.addAction(SnapmaticWidget::tr("&Deselect All"), picWidget, SLOT(deselectAllWidgets()), QKeySequence::fromString("Ctrl+D"));
 | 
			
		||||
            QAction *action = contextMenu.addAction(SnapmaticWidget::tr("&Deselect All"), picWidget, &SnapmaticWidget::deselectAllWidgets);
 | 
			
		||||
            action->setShortcut(QKeySequence::fromString("Ctrl+D"));
 | 
			
		||||
        }
 | 
			
		||||
        contextMenuOpened = true;
 | 
			
		||||
        contextMenu.exec(ev->globalPos());
 | 
			
		||||
        contextMenuOpened = false;
 | 
			
		||||
        QTimer::singleShot(0, this, SLOT(hoverProfileWidgetCheck()));
 | 
			
		||||
        QTimer::singleShot(0, this, &ProfileInterface::hoverProfileWidgetCheck);
 | 
			
		||||
    }
 | 
			
		||||
    else {
 | 
			
		||||
        QMenu editMenu(SnapmaticWidget::tr("Edi&t"), picWidget);
 | 
			
		||||
        editMenu.addAction(QApplication::translate("UserInterface", "&Qualify as Avatar"), this, SLOT(massToolQualify()), QKeySequence::fromString("Shift+Q"));
 | 
			
		||||
        editMenu.addAction(QApplication::translate("UserInterface", "Change &Players..."), this, SLOT(massToolPlayers()), QKeySequence::fromString("Shift+P"));
 | 
			
		||||
        editMenu.addAction(QApplication::translate("UserInterface", "Change &Crew..."), this, SLOT(massToolCrew()), QKeySequence::fromString("Shift+C"));
 | 
			
		||||
        editMenu.addAction(QApplication::translate("UserInterface", "Change &Title..."), this, SLOT(massToolTitle()), QKeySequence::fromString("Shift+T"));
 | 
			
		||||
        QAction *action = editMenu.addAction(QApplication::translate("UserInterface", "&Qualify as Avatar"), this, &ProfileInterface::massToolQualify);
 | 
			
		||||
        action->setShortcut(QKeySequence::fromString("Shift+Q"));
 | 
			
		||||
        action = editMenu.addAction(QApplication::translate("UserInterface", "Change &Players..."), this, &ProfileInterface::massToolPlayers);
 | 
			
		||||
        action->setShortcut(QKeySequence::fromString("Shift+P"));
 | 
			
		||||
        action = editMenu.addAction(QApplication::translate("UserInterface", "Change &Crew..."), this, &ProfileInterface::massToolCrew);
 | 
			
		||||
        action->setShortcut(QKeySequence::fromString("Shift+C"));
 | 
			
		||||
        action = editMenu.addAction(QApplication::translate("UserInterface", "Change &Title..."), this, &ProfileInterface::massToolTitle);
 | 
			
		||||
        action->setShortcut(QKeySequence::fromString("Shift+T"));
 | 
			
		||||
        editMenu.addSeparator();
 | 
			
		||||
        editMenu.addAction(SnapmaticWidget::tr("Show &In-game"), this, SLOT(enableSelected()), QKeySequence::fromString("Shift+E"));
 | 
			
		||||
        editMenu.addAction(SnapmaticWidget::tr("Hide &In-game"), this, SLOT(disableSelected()), QKeySequence::fromString("Shift+D"));
 | 
			
		||||
        action = editMenu.addAction(SnapmaticWidget::tr("Show &In-game"), this, &ProfileInterface::enableSelected);
 | 
			
		||||
        action->setShortcut(QKeySequence::fromString("Shift+E"));
 | 
			
		||||
        action = editMenu.addAction(SnapmaticWidget::tr("Hide &In-game"), this, &ProfileInterface::disableSelected);
 | 
			
		||||
        action->setShortcut(QKeySequence::fromString("Shift+D"));
 | 
			
		||||
        contextMenu.addMenu(&editMenu);
 | 
			
		||||
        contextMenu.addAction(SavegameWidget::tr("&Export"), this, SLOT(exportSelected()), QKeySequence::fromString("Ctrl+E"));
 | 
			
		||||
        contextMenu.addAction(SavegameWidget::tr("&Remove"), this, SLOT(deleteSelectedR()), QKeySequence::fromString("Ctrl+Del"));
 | 
			
		||||
        action = contextMenu.addAction(SavegameWidget::tr("&Export"), this, &ProfileInterface::exportSelected);
 | 
			
		||||
        action->setShortcut(QKeySequence::fromString("Ctrl+E"));
 | 
			
		||||
        action = contextMenu.addAction(SavegameWidget::tr("&Remove"), this, &ProfileInterface::deleteSelectedR);
 | 
			
		||||
        action->setShortcut(QKeySequence::fromString("Ctrl+Del"));
 | 
			
		||||
        contextMenu.addSeparator();
 | 
			
		||||
        if (!picWidget->isSelected()) {
 | 
			
		||||
            contextMenu.addAction(SnapmaticWidget::tr("&Select"), picWidget, SLOT(pictureSelected()));
 | 
			
		||||
            contextMenu.addAction(SnapmaticWidget::tr("&Select"), picWidget, &SnapmaticWidget::pictureSelected);
 | 
			
		||||
        }
 | 
			
		||||
        else {
 | 
			
		||||
            contextMenu.addAction(SnapmaticWidget::tr("&Deselect"), picWidget, SLOT(pictureSelected()));
 | 
			
		||||
            contextMenu.addAction(SnapmaticWidget::tr("&Deselect"), picWidget, &SnapmaticWidget::pictureSelected);
 | 
			
		||||
        }
 | 
			
		||||
        if (selectedCount != widgets.count()) {
 | 
			
		||||
            contextMenu.addAction(SnapmaticWidget::tr("Select &All"), picWidget, SLOT(selectAllWidgets()), QKeySequence::fromString("Ctrl+A"));
 | 
			
		||||
            action = contextMenu.addAction(SnapmaticWidget::tr("Select &All"), picWidget, &SnapmaticWidget::selectAllWidgets);
 | 
			
		||||
            action->setShortcut(QKeySequence::fromString("Ctrl+A"));
 | 
			
		||||
        }
 | 
			
		||||
        if (selectedCount != 0) {
 | 
			
		||||
            contextMenu.addAction(SnapmaticWidget::tr("&Deselect All"), picWidget, SLOT(deselectAllWidgets()), QKeySequence::fromString("Ctrl+D"));
 | 
			
		||||
            action = contextMenu.addAction(SnapmaticWidget::tr("&Deselect All"), picWidget, &SnapmaticWidget::deselectAllWidgets);
 | 
			
		||||
            action->setShortcut(QKeySequence::fromString("Ctrl+D"));
 | 
			
		||||
        }
 | 
			
		||||
        contextMenuOpened = true;
 | 
			
		||||
        contextMenu.exec(ev->globalPos());
 | 
			
		||||
        contextMenuOpened = false;
 | 
			
		||||
        QTimer::singleShot(0, this, SLOT(hoverProfileWidgetCheck()));
 | 
			
		||||
        QTimer::singleShot(0, this, &ProfileInterface::hoverProfileWidgetCheck);
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -1721,55 +1733,67 @@ void ProfileInterface::contextMenuTriggeredSGD(QContextMenuEvent *ev)
 | 
			
		|||
    QMenu contextMenu(sgdWidget);
 | 
			
		||||
    const int selectedCount = selectedWidgets();
 | 
			
		||||
    if (contentMode < 20 || selectedCount == 0) {
 | 
			
		||||
        contextMenu.addAction(SavegameWidget::tr("&View"), sgdWidget, SLOT(on_cmdView_clicked()));
 | 
			
		||||
        contextMenu.addAction(SavegameWidget::tr("&Export"), sgdWidget, SLOT(on_cmdCopy_clicked()));
 | 
			
		||||
        contextMenu.addAction(SavegameWidget::tr("&Remove"), sgdWidget, SLOT(on_cmdDelete_clicked()));
 | 
			
		||||
        contextMenu.addAction(SavegameWidget::tr("&View"), sgdWidget, &SavegameWidget::on_cmdView_clicked);
 | 
			
		||||
        contextMenu.addAction(SavegameWidget::tr("&Export"), sgdWidget, &SavegameWidget::on_cmdCopy_clicked);
 | 
			
		||||
        contextMenu.addAction(SavegameWidget::tr("&Remove"), sgdWidget, &SavegameWidget::on_cmdDelete_clicked);
 | 
			
		||||
        contextMenu.addSeparator();
 | 
			
		||||
        if (!sgdWidget->isSelected()) {
 | 
			
		||||
            contextMenu.addAction(SavegameWidget::tr("&Select"), sgdWidget, SLOT(savegameSelected()));
 | 
			
		||||
            contextMenu.addAction(SavegameWidget::tr("&Select"), sgdWidget, &SavegameWidget::savegameSelected);
 | 
			
		||||
        }
 | 
			
		||||
        else {
 | 
			
		||||
            contextMenu.addAction(SavegameWidget::tr("&Deselect"), sgdWidget, SLOT(savegameSelected()));
 | 
			
		||||
            contextMenu.addAction(SavegameWidget::tr("&Deselect"), sgdWidget, &SavegameWidget::savegameSelected);
 | 
			
		||||
        }
 | 
			
		||||
        if (selectedCount != widgets.count()) {
 | 
			
		||||
            contextMenu.addAction(SavegameWidget::tr("Select &All"), sgdWidget, SLOT(selectAllWidgets()), QKeySequence::fromString("Ctrl+A"));
 | 
			
		||||
            QAction *action = contextMenu.addAction(SavegameWidget::tr("Select &All"), sgdWidget, &SavegameWidget::selectAllWidgets);
 | 
			
		||||
            action->setShortcut(QKeySequence::fromString("Ctrl+A"));
 | 
			
		||||
        }
 | 
			
		||||
        if (selectedCount != 0) {
 | 
			
		||||
            contextMenu.addAction(SavegameWidget::tr("&Deselect All"), sgdWidget, SLOT(deselectAllWidgets()), QKeySequence::fromString("Ctrl+D"));
 | 
			
		||||
            QAction *action = contextMenu.addAction(SavegameWidget::tr("&Deselect All"), sgdWidget, &SavegameWidget::deselectAllWidgets);
 | 
			
		||||
            action->setShortcut(QKeySequence::fromString("Ctrl+D"));
 | 
			
		||||
        }
 | 
			
		||||
        contextMenuOpened = true;
 | 
			
		||||
        contextMenu.exec(ev->globalPos());
 | 
			
		||||
        contextMenuOpened = false;
 | 
			
		||||
        QTimer::singleShot(0, this, SLOT(hoverProfileWidgetCheck()));
 | 
			
		||||
        QTimer::singleShot(0, this, &ProfileInterface::hoverProfileWidgetCheck);
 | 
			
		||||
    }
 | 
			
		||||
    else {
 | 
			
		||||
        QMenu editMenu(SnapmaticWidget::tr("Edi&t"), sgdWidget);
 | 
			
		||||
        editMenu.addAction(QApplication::translate("UserInterface", "&Qualify as Avatar"), this, SLOT(massToolQualify()), QKeySequence::fromString("Shift+Q"));
 | 
			
		||||
        editMenu.addAction(QApplication::translate("UserInterface", "Change &Players..."), this, SLOT(massToolPlayers()), QKeySequence::fromString("Shift+P"));
 | 
			
		||||
        editMenu.addAction(QApplication::translate("UserInterface", "Change &Crew..."), this, SLOT(massToolCrew()), QKeySequence::fromString("Shift+C"));
 | 
			
		||||
        editMenu.addAction(QApplication::translate("UserInterface", "Change &Title..."), this, SLOT(massToolTitle()), QKeySequence::fromString("Shift+T"));
 | 
			
		||||
        QAction *action = editMenu.addAction(QApplication::translate("UserInterface", "&Qualify as Avatar"), this, &ProfileInterface::massToolQualify);
 | 
			
		||||
        action->setShortcut(QKeySequence::fromString("Shift+Q"));
 | 
			
		||||
        action = editMenu.addAction(QApplication::translate("UserInterface", "Change &Players..."), this, &ProfileInterface::massToolPlayers);
 | 
			
		||||
        action->setShortcut(QKeySequence::fromString("Shift+P"));
 | 
			
		||||
        action = editMenu.addAction(QApplication::translate("UserInterface", "Change &Crew..."), this, &ProfileInterface::massToolCrew);
 | 
			
		||||
        action->setShortcut(QKeySequence::fromString("Shift+C"));
 | 
			
		||||
        action = editMenu.addAction(QApplication::translate("UserInterface", "Change &Title..."), this, &ProfileInterface::massToolTitle);
 | 
			
		||||
        action->setShortcut(QKeySequence::fromString("Shift+T"));
 | 
			
		||||
        editMenu.addSeparator();
 | 
			
		||||
        editMenu.addAction(SnapmaticWidget::tr("Show &In-game"), this, SLOT(enableSelected()), QKeySequence::fromString("Shift+E"));
 | 
			
		||||
        editMenu.addAction(SnapmaticWidget::tr("Hide &In-game"), this, SLOT(disableSelected()), QKeySequence::fromString("Shift+D"));
 | 
			
		||||
        action = editMenu.addAction(SnapmaticWidget::tr("Show &In-game"), this, &ProfileInterface::enableSelected);
 | 
			
		||||
        action->setShortcut(QKeySequence::fromString("Shift+E"));
 | 
			
		||||
        action = editMenu.addAction(SnapmaticWidget::tr("Hide &In-game"), this, &ProfileInterface::disableSelected);
 | 
			
		||||
        action->setShortcut(QKeySequence::fromString("Shift+D"));
 | 
			
		||||
        contextMenu.addMenu(&editMenu);
 | 
			
		||||
        contextMenu.addAction(SavegameWidget::tr("&Export"), this, SLOT(exportSelected()), QKeySequence::fromString("Ctrl+E"));
 | 
			
		||||
        contextMenu.addAction(SavegameWidget::tr("&Remove"), this, SLOT(deleteSelectedR()), QKeySequence::fromString("Ctrl+Del"));
 | 
			
		||||
        action = contextMenu.addAction(SavegameWidget::tr("&Export"), this, &ProfileInterface::exportSelected);
 | 
			
		||||
        action->setShortcut(QKeySequence::fromString("Ctrl+E"));
 | 
			
		||||
        action = contextMenu.addAction(SavegameWidget::tr("&Remove"), this, &ProfileInterface::deleteSelectedR);
 | 
			
		||||
        action->setShortcut(QKeySequence::fromString("Ctrl+Del"));
 | 
			
		||||
        contextMenu.addSeparator();
 | 
			
		||||
        if (!sgdWidget->isSelected())
 | 
			
		||||
            contextMenu.addAction(SavegameWidget::tr("&Select"), sgdWidget, SLOT(savegameSelected()));
 | 
			
		||||
            contextMenu.addAction(SavegameWidget::tr("&Select"), sgdWidget, &SavegameWidget::savegameSelected);
 | 
			
		||||
        else {
 | 
			
		||||
            contextMenu.addAction(SavegameWidget::tr("&Deselect"), sgdWidget, SLOT(savegameSelected()));
 | 
			
		||||
            contextMenu.addAction(SavegameWidget::tr("&Deselect"), sgdWidget, &SavegameWidget::savegameSelected);
 | 
			
		||||
        }
 | 
			
		||||
        if (selectedCount != widgets.count()) {
 | 
			
		||||
            contextMenu.addAction(SavegameWidget::tr("Select &All"), sgdWidget, SLOT(selectAllWidgets()), QKeySequence::fromString("Ctrl+A"));
 | 
			
		||||
            action = contextMenu.addAction(SavegameWidget::tr("Select &All"), sgdWidget, &SavegameWidget::selectAllWidgets);
 | 
			
		||||
            action->setShortcut(QKeySequence::fromString("Ctrl+A"));
 | 
			
		||||
        }
 | 
			
		||||
        if (selectedCount != 0) {
 | 
			
		||||
            contextMenu.addAction(SavegameWidget::tr("&Deselect All"), sgdWidget, SLOT(deselectAllWidgets()), QKeySequence::fromString("Ctrl+D"));
 | 
			
		||||
            action = contextMenu.addAction(SavegameWidget::tr("&Deselect All"), sgdWidget, &SavegameWidget::deselectAllWidgets);
 | 
			
		||||
            action->setShortcut(QKeySequence::fromString("Ctrl+D"));
 | 
			
		||||
        }
 | 
			
		||||
        contextMenuOpened = true;
 | 
			
		||||
        contextMenu.exec(ev->globalPos());
 | 
			
		||||
        contextMenuOpened = false;
 | 
			
		||||
        QTimer::singleShot(0, this, SLOT(hoverProfileWidgetCheck()));
 | 
			
		||||
        QTimer::singleShot(0, this, &ProfileInterface::hoverProfileWidgetCheck);
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -20,7 +20,6 @@
 | 
			
		|||
#include "ProfileLoader.h"
 | 
			
		||||
#include "SavegameData.h"
 | 
			
		||||
#include "CrewDatabase.h"
 | 
			
		||||
#include "wrapper.h"
 | 
			
		||||
#include <QStringBuilder>
 | 
			
		||||
#include <QVector>
 | 
			
		||||
#include <QString>
 | 
			
		||||
| 
						 | 
				
			
			@ -29,9 +28,9 @@
 | 
			
		|||
#include <QDir>
 | 
			
		||||
#include <QList>
 | 
			
		||||
#else
 | 
			
		||||
#include "sys/types.h"
 | 
			
		||||
#include "sys/stat.h"
 | 
			
		||||
#include "dirent.h"
 | 
			
		||||
#include <sys/types.h>
 | 
			
		||||
#include <sys/stat.h>
 | 
			
		||||
#include <dirent.h>
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
ProfileLoader::ProfileLoader(QString profileFolder, CrewDatabase *crewDB, QObject *parent) : QThread(parent), profileFolder(profileFolder), crewDB(crewDB)
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,6 +1,6 @@
 | 
			
		|||
/*****************************************************************************
 | 
			
		||||
* gta5view Grand Theft Auto V Profile Viewer
 | 
			
		||||
* Copyright (C) 2016-2017 Syping
 | 
			
		||||
* Copyright (C) 2016-2023 Syping
 | 
			
		||||
*
 | 
			
		||||
* This program is free software: you can redistribute it and/or modify
 | 
			
		||||
* it under the terms of the GNU General Public License as published by
 | 
			
		||||
| 
						 | 
				
			
			@ -44,15 +44,17 @@ public:
 | 
			
		|||
    void retranslate();
 | 
			
		||||
    ~SavegameWidget();
 | 
			
		||||
 | 
			
		||||
private slots:
 | 
			
		||||
public slots:
 | 
			
		||||
    void on_cmdView_clicked();
 | 
			
		||||
    void on_cmdCopy_clicked();
 | 
			
		||||
    void on_cmdDelete_clicked();
 | 
			
		||||
    void on_cbSelected_stateChanged(int arg1);
 | 
			
		||||
    void savegameSelected();
 | 
			
		||||
    void selectAllWidgets();
 | 
			
		||||
    void deselectAllWidgets();
 | 
			
		||||
 | 
			
		||||
private slots:
 | 
			
		||||
    void on_cbSelected_stateChanged(int arg1);
 | 
			
		||||
 | 
			
		||||
protected:
 | 
			
		||||
    void mouseDoubleClickEvent(QMouseEvent *ev);
 | 
			
		||||
    void mouseReleaseEvent(QMouseEvent *ev);
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -21,7 +21,6 @@
 | 
			
		|||
#include "SnapmaticPicture.h"
 | 
			
		||||
#include "PlayerListDialog.h"
 | 
			
		||||
#include "StringParser.h"
 | 
			
		||||
#include "wrapper.h"
 | 
			
		||||
#include "AppEnv.h"
 | 
			
		||||
#include "config.h"
 | 
			
		||||
#include <QStringBuilder>
 | 
			
		||||
| 
						 | 
				
			
			@ -42,11 +41,7 @@ SnapmaticEditor::SnapmaticEditor(CrewDatabase *crewDB, ProfileDatabase *profileD
 | 
			
		|||
    ui(new Ui::SnapmaticEditor)
 | 
			
		||||
{
 | 
			
		||||
    // Set Window Flags
 | 
			
		||||
#if QT_VERSION >= 0x050900
 | 
			
		||||
    setWindowFlag(Qt::WindowContextHelpButtonHint, false);
 | 
			
		||||
#else
 | 
			
		||||
    setWindowFlags(windowFlags()^Qt::WindowContextHelpButtonHint);
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
    ui->setupUi(this);
 | 
			
		||||
    ui->cmdCancel->setDefault(true);
 | 
			
		||||
| 
						 | 
				
			
			@ -236,7 +231,7 @@ void SnapmaticEditor::setSnapmaticTitle(const QString &title)
 | 
			
		|||
        snapmaticTitle = title;
 | 
			
		||||
    }
 | 
			
		||||
    QString editStr = QString("<a href=\"g5e://edittitle\" style=\"text-decoration: none;\">%1</a>").arg(tr("Edit"));
 | 
			
		||||
    QString titleStr = tr("Title: %1 (%2)").arg(StringParser::escapeString(snapmaticTitle), editStr);
 | 
			
		||||
    QString titleStr = tr("Title: %1 (%2)").arg(snapmaticTitle.toHtmlEscaped(), editStr);
 | 
			
		||||
    ui->labTitle->setText(titleStr);
 | 
			
		||||
    if (SnapmaticPicture::verifyTitle(snapmaticTitle)) {
 | 
			
		||||
        ui->labAppropriate->setText(tr("Appropriate: %1").arg(QString("<span style=\"color: green\">%1</span>").arg(tr("Yes", "Yes, should work fine"))));
 | 
			
		||||
| 
						 | 
				
			
			@ -244,25 +239,21 @@ void SnapmaticEditor::setSnapmaticTitle(const QString &title)
 | 
			
		|||
    else {
 | 
			
		||||
        ui->labAppropriate->setText(tr("Appropriate: %1").arg(QString("<span style=\"color: red\">%1</span>").arg(tr("No", "No, could lead to issues"))));
 | 
			
		||||
    }
 | 
			
		||||
#ifndef Q_OS_ANDROID
 | 
			
		||||
    ui->gbValues->resize(ui->gbValues->width(), ui->gbValues->heightForWidth(ui->gbValues->width()));
 | 
			
		||||
    ui->frameWidget->resize(ui->gbValues->width(), ui->frameWidget->heightForWidth(ui->frameWidget->width()));
 | 
			
		||||
    if (heightForWidth(width()) > height())
 | 
			
		||||
        resize(width(), heightForWidth(width()));
 | 
			
		||||
#endif
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
void SnapmaticEditor::setSnapmaticCrew(const QString &crew)
 | 
			
		||||
{
 | 
			
		||||
    QString editStr = QString("<a href=\"g5e://editcrew\" style=\"text-decoration: none;\">%1</a>").arg(tr("Edit"));
 | 
			
		||||
    QString crewStr = tr("Crew: %1 (%2)").arg(StringParser::escapeString(crew), editStr);
 | 
			
		||||
    QString crewStr = tr("Crew: %1 (%2)").arg(crew.toHtmlEscaped(), editStr);
 | 
			
		||||
    ui->labCrew->setText(crewStr);
 | 
			
		||||
#ifndef Q_OS_ANDROID
 | 
			
		||||
    ui->gbValues->resize(ui->gbValues->width(), ui->gbValues->heightForWidth(ui->gbValues->width()));
 | 
			
		||||
    ui->frameWidget->resize(ui->gbValues->width(), ui->frameWidget->heightForWidth(ui->frameWidget->width()));
 | 
			
		||||
    if (heightForWidth(width()) > height())
 | 
			
		||||
        resize(width(), heightForWidth(width()));
 | 
			
		||||
#endif
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
QString SnapmaticEditor::returnCrewName(int crewID_)
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,6 +1,6 @@
 | 
			
		|||
/*****************************************************************************
 | 
			
		||||
* gta5view Grand Theft Auto V Profile Viewer
 | 
			
		||||
* Copyright (C) 2016-2017 Syping
 | 
			
		||||
* Copyright (C) 2016-2023 Syping
 | 
			
		||||
*
 | 
			
		||||
* This program is free software: you can redistribute it and/or modify
 | 
			
		||||
* it under the terms of the GNU General Public License as published by
 | 
			
		||||
| 
						 | 
				
			
			@ -53,24 +53,26 @@ public:
 | 
			
		|||
    void retranslate();
 | 
			
		||||
    ~SnapmaticWidget();
 | 
			
		||||
 | 
			
		||||
private slots:
 | 
			
		||||
public slots:
 | 
			
		||||
    void on_cmdView_clicked();
 | 
			
		||||
    void on_cmdCopy_clicked();
 | 
			
		||||
    void on_cmdExport_clicked();
 | 
			
		||||
    void on_cmdDelete_clicked();
 | 
			
		||||
    void on_cbSelected_stateChanged(int arg1);
 | 
			
		||||
    void adjustTextColor();
 | 
			
		||||
    void pictureSelected();
 | 
			
		||||
    void selectAllWidgets();
 | 
			
		||||
    void deselectAllWidgets();
 | 
			
		||||
    void dialogNextPictureRequested();
 | 
			
		||||
    void dialogPreviousPictureRequested();
 | 
			
		||||
    void makePictureVisibleSlot();
 | 
			
		||||
    void makePictureHiddenSlot();
 | 
			
		||||
    void editSnapmaticProperties();
 | 
			
		||||
    void editSnapmaticRawJson();
 | 
			
		||||
    void editSnapmaticImage();
 | 
			
		||||
    void openMapViewer();
 | 
			
		||||
 | 
			
		||||
private slots:
 | 
			
		||||
    void on_cbSelected_stateChanged(int arg1);
 | 
			
		||||
    void adjustTextColor();
 | 
			
		||||
    void dialogNextPictureRequested();
 | 
			
		||||
    void dialogPreviousPictureRequested();
 | 
			
		||||
    void snapmaticUpdated();
 | 
			
		||||
    void customSignal(QString signal);
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -27,15 +27,6 @@
 | 
			
		|||
#include <QList>
 | 
			
		||||
#include <QDir>
 | 
			
		||||
 | 
			
		||||
QString StringParser::escapeString(const QString &toEscape)
 | 
			
		||||
{
 | 
			
		||||
#if QT_VERSION >= 0x050000
 | 
			
		||||
    return toEscape.toHtmlEscaped();
 | 
			
		||||
#else
 | 
			
		||||
    return Qt::escape(toEscape);
 | 
			
		||||
#endif
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
QString StringParser::convertBuildedString(const QString &buildedStr)
 | 
			
		||||
{
 | 
			
		||||
    QString outputStr = buildedStr;
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -25,7 +25,6 @@
 | 
			
		|||
class StringParser
 | 
			
		||||
{
 | 
			
		||||
public:
 | 
			
		||||
    static QString escapeString(const QString &toEscape);
 | 
			
		||||
    static QString convertBuildedString(const QString &buildedStr);
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -305,9 +305,7 @@ UserInterface::UserInterface(ProfileDatabase *profileDB, CrewDatabase *crewDB, D
 | 
			
		|||
 | 
			
		||||
    // DPI calculation
 | 
			
		||||
    qreal screenRatio = AppEnv::screenRatio();
 | 
			
		||||
#ifndef Q_QS_ANDROID
 | 
			
		||||
    resize(625 * screenRatio, 500 * screenRatio);
 | 
			
		||||
#endif
 | 
			
		||||
    ui->vlUserInterface->setSpacing(6 * screenRatio);
 | 
			
		||||
    ui->vlUserInterface->setContentsMargins(9 * screenRatio, 9 * screenRatio, 9 * screenRatio, 9 * screenRatio);
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			@ -496,12 +494,7 @@ 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;
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			@ -544,12 +537,7 @@ void UserInterface::on_actionOptions_triggered()
 | 
			
		|||
    QObject::connect(optionsDialog, SIGNAL(settingsApplied(int, bool)), this, SLOT(settingsApplied(int, bool)));
 | 
			
		||||
 | 
			
		||||
    optionsDialog->setModal(true);
 | 
			
		||||
#ifdef Q_OS_ANDROID
 | 
			
		||||
    // Android ...
 | 
			
		||||
    optionsDialog->showMaximized();
 | 
			
		||||
#else
 | 
			
		||||
    optionsDialog->show();
 | 
			
		||||
#endif
 | 
			
		||||
    optionsDialog->exec();
 | 
			
		||||
 | 
			
		||||
    delete optionsDialog;
 | 
			
		||||
| 
						 | 
				
			
			@ -606,7 +594,7 @@ bool UserInterface::openFile(QString selectedFile, bool warn)
 | 
			
		|||
{
 | 
			
		||||
    QString selectedFileName = QFileInfo(selectedFile).fileName();
 | 
			
		||||
    if (QFile::exists(selectedFile)) {
 | 
			
		||||
        if (selectedFileName.left(4) == "PGTA" || selectedFileName.right(4) == ".g5e") {
 | 
			
		||||
        if (selectedFileName.startsWith("PGTA5") || selectedFileName.startsWith("PRDR3") || selectedFileName.endsWith(".g5e")) {
 | 
			
		||||
            SnapmaticPicture *picture = new SnapmaticPicture(selectedFile);
 | 
			
		||||
            if (picture->readingPicture()) {
 | 
			
		||||
                openSnapmaticFile(picture);
 | 
			
		||||
| 
						 | 
				
			
			@ -676,14 +664,9 @@ void UserInterface::openSnapmaticFile(SnapmaticPicture *picture)
 | 
			
		|||
    QObject::connect(threadDB, SIGNAL(crewNameUpdated()), &picDialog, SLOT(crewNameUpdated()));
 | 
			
		||||
    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();
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			@ -693,12 +676,7 @@ 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();
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,30 +0,0 @@
 | 
			
		|||
/*****************************************************************************
 | 
			
		||||
* gta5view Grand Theft Auto V Profile Viewer
 | 
			
		||||
* Copyright (C) 2021 Syping
 | 
			
		||||
*
 | 
			
		||||
* This program is free software: you can redistribute it and/or modify
 | 
			
		||||
* it under the terms of the GNU General Public License as published by
 | 
			
		||||
* the Free Software Foundation, either version 3 of the License, or
 | 
			
		||||
* (at your option) any later version.
 | 
			
		||||
*
 | 
			
		||||
* This program is distributed in the hope that it will be useful,
 | 
			
		||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
 | 
			
		||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 | 
			
		||||
* GNU General Public License for more details.
 | 
			
		||||
*
 | 
			
		||||
* You should have received a copy of the GNU General Public License
 | 
			
		||||
* along with this program.  If not, see <http://www.gnu.org/licenses/>.
 | 
			
		||||
*****************************************************************************/
 | 
			
		||||
 | 
			
		||||
#ifndef WRAPPER_H
 | 
			
		||||
#define WRAPPER_H
 | 
			
		||||
 | 
			
		||||
#if QT_VERSION < 0x050700
 | 
			
		||||
#if __cplusplus > 201703L
 | 
			
		||||
#define qAsConst(x) std::as_const(x)
 | 
			
		||||
#else
 | 
			
		||||
#define qAsConst
 | 
			
		||||
#endif
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
#endif // WRAPPER_H
 | 
			
		||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue