Compare commits
2 commits
Author | SHA1 | Date | |
---|---|---|---|
|
ccfb4c7ccb | ||
|
2bbeb98005 |
5 changed files with 110 additions and 61 deletions
|
@ -121,9 +121,14 @@ QByteArray AppEnv::getUserAgent()
|
|||
return QString("Mozilla/5.0 (X11; Linux x86_64; rv:45.0) Gecko/20100101 Firefox/45.0 %1/%2").arg(GTA5SYNC_APPSTR, GTA5SYNC_APPVER).toUtf8();
|
||||
}
|
||||
|
||||
// QUrl AppEnv::getCrewFetchingUrl(QString crewID)
|
||||
// {
|
||||
// return QUrl(QString("https://socialclub.rockstargames.com/reference/crewfeed/%1").arg(crewID));
|
||||
// }
|
||||
|
||||
QUrl AppEnv::getCrewFetchingUrl(QString crewID)
|
||||
{
|
||||
return QUrl(QString("https://socialclub.rockstargames.com/reference/crewfeed/%1").arg(crewID));
|
||||
return QUrl(QString("https://socialclub.rockstargames.com/crew/%1/%1").arg(crewID));
|
||||
}
|
||||
|
||||
QUrl AppEnv::getPlayerFetchingUrl(QString crewID, QString pageNumber)
|
||||
|
|
|
@ -82,6 +82,80 @@ void DatabaseThread::run()
|
|||
}
|
||||
}
|
||||
|
||||
// void DatabaseThread::scanCrewReference(QStringList crewList, int requestDelay)
|
||||
// {
|
||||
// foreach (const QString &crewID, crewList)
|
||||
// {
|
||||
// if (threadRunning && crewID != "0")
|
||||
// {
|
||||
// QNetworkAccessManager *netManager = new QNetworkAccessManager();
|
||||
|
||||
// QNetworkRequest netRequest(AppEnv::getCrewFetchingUrl(crewID));
|
||||
// netRequest.setRawHeader("User-Agent", AppEnv::getUserAgent());
|
||||
// netRequest.setRawHeader("Accept", "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8");
|
||||
// netRequest.setRawHeader("Accept-Language", "en-US;q=0.5,en;q=0.3");
|
||||
// netRequest.setRawHeader("Connection", "keep-alive");
|
||||
|
||||
// QNetworkReply *netReply = netManager->get(netRequest);
|
||||
|
||||
// QEventLoop *downloadLoop = new QEventLoop();
|
||||
// QObject::connect(netReply, SIGNAL(finished()), downloadLoop, SLOT(quit()));
|
||||
// QObject::connect(this, SIGNAL(threadEndCommited()), downloadLoop, SLOT(quit()));
|
||||
// QTimer::singleShot(30000, downloadLoop, SLOT(quit()));
|
||||
// downloadLoop->exec();
|
||||
// delete downloadLoop;
|
||||
|
||||
// if (netReply->isFinished())
|
||||
// {
|
||||
// QByteArray crewJson = netReply->readAll();
|
||||
// QJsonDocument crewDocument = QJsonDocument::fromJson(crewJson);
|
||||
// QJsonObject crewObject = crewDocument.object();
|
||||
// QVariantMap crewMap = crewObject.toVariantMap();
|
||||
// QString crewName;
|
||||
// bool isFound = false;
|
||||
|
||||
// if (crewMap.contains("activities"))
|
||||
// {
|
||||
// QList<QVariant> activitiesList = crewMap["activities"].toList();
|
||||
// foreach (const QVariant &activitiesVariant, activitiesList)
|
||||
// {
|
||||
// QMap<QString, QVariant> activityRootMap = activitiesVariant.toMap();
|
||||
// foreach(const QVariant &activityRootVariant, activityRootMap)
|
||||
// {
|
||||
// QMap<QString, QVariant> activityMap = activityRootVariant.toMap();
|
||||
// foreach(const QVariant &activityVariant, activityMap)
|
||||
// {
|
||||
// QMap<QString, QVariant> activityFinalMap = activityVariant.toMap();
|
||||
// if (activityFinalMap.contains("id") && activityFinalMap["id"] == crewID)
|
||||
// {
|
||||
// if (activityFinalMap.contains("name") && isFound == false)
|
||||
// {
|
||||
// isFound = true;
|
||||
// crewName = activityFinalMap["name"].toString();
|
||||
// }
|
||||
// }
|
||||
// }
|
||||
// }
|
||||
// }
|
||||
// }
|
||||
// if (!crewName.isNull())
|
||||
// {
|
||||
// crewDB->setCrewName(crewID.toInt(), crewName);
|
||||
// }
|
||||
// }
|
||||
|
||||
// QEventLoop *waitingLoop = new QEventLoop();
|
||||
// QTimer::singleShot(requestDelay, waitingLoop, SLOT(quit()));
|
||||
// QObject::connect(this, SIGNAL(threadEndCommited()), waitingLoop, SLOT(quit()));
|
||||
// waitingLoop->exec();
|
||||
// delete waitingLoop;
|
||||
|
||||
// delete netReply;
|
||||
// delete netManager;
|
||||
// }
|
||||
// }
|
||||
// }
|
||||
|
||||
void DatabaseThread::scanCrewReference(QStringList crewList, int requestDelay)
|
||||
{
|
||||
foreach (const QString &crewID, crewList)
|
||||
|
@ -91,6 +165,9 @@ void DatabaseThread::scanCrewReference(QStringList crewList, int requestDelay)
|
|||
QNetworkAccessManager *netManager = new QNetworkAccessManager();
|
||||
|
||||
QNetworkRequest netRequest(AppEnv::getCrewFetchingUrl(crewID));
|
||||
#if QT_VERSION >= 0x050600
|
||||
netRequest.setAttribute(QNetworkRequest::FollowRedirectsAttribute, true);
|
||||
#endif
|
||||
netRequest.setRawHeader("User-Agent", AppEnv::getUserAgent());
|
||||
netRequest.setRawHeader("Accept", "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8");
|
||||
netRequest.setRawHeader("Accept-Language", "en-US;q=0.5,en;q=0.3");
|
||||
|
@ -107,38 +184,18 @@ void DatabaseThread::scanCrewReference(QStringList crewList, int requestDelay)
|
|||
|
||||
if (netReply->isFinished())
|
||||
{
|
||||
QByteArray crewJson = netReply->readAll();
|
||||
QJsonDocument crewDocument = QJsonDocument::fromJson(crewJson);
|
||||
QJsonObject crewObject = crewDocument.object();
|
||||
QVariantMap crewMap = crewObject.toVariantMap();
|
||||
QString crewName;
|
||||
bool isFound = false;
|
||||
|
||||
if (crewMap.contains("activities"))
|
||||
QByteArray crewHtml = netReply->readAll();
|
||||
QStringList crewHtmlSplit1 = QString::fromUtf8(crewHtml).split("<title>Rockstar Games Social Club - Crew : ");
|
||||
if (crewHtmlSplit1.length() >= 2)
|
||||
{
|
||||
QList<QVariant> activitiesList = crewMap["activities"].toList();
|
||||
foreach (const QVariant &activitiesVariant, activitiesList)
|
||||
QStringList crewHtmlSplit2 = QString(crewHtmlSplit1.at(1)).split("</title>");
|
||||
if (crewHtmlSplit2.length() >= 1)
|
||||
{
|
||||
QMap<QString, QVariant> activityRootMap = activitiesVariant.toMap();
|
||||
foreach(const QVariant &activityRootVariant, activityRootMap)
|
||||
{
|
||||
QMap<QString, QVariant> activityMap = activityRootVariant.toMap();
|
||||
foreach(const QVariant &activityVariant, activityMap)
|
||||
{
|
||||
QMap<QString, QVariant> activityFinalMap = activityVariant.toMap();
|
||||
if (activityFinalMap.contains("id") && activityFinalMap["id"] == crewID)
|
||||
{
|
||||
if (activityFinalMap.contains("name") && isFound == false)
|
||||
{
|
||||
isFound = true;
|
||||
crewName = activityFinalMap["name"].toString();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
crewName = crewHtmlSplit2.at(0);
|
||||
}
|
||||
}
|
||||
if (!crewName.isNull())
|
||||
if (!crewName.isEmpty())
|
||||
{
|
||||
crewDB->setCrewName(crewID.toInt(), crewName);
|
||||
}
|
||||
|
@ -150,9 +207,7 @@ void DatabaseThread::scanCrewReference(QStringList crewList, int requestDelay)
|
|||
waitingLoop->exec();
|
||||
delete waitingLoop;
|
||||
|
||||
netReply->deleteLater();
|
||||
delete netReply;
|
||||
netManager->deleteLater();
|
||||
delete netManager;
|
||||
}
|
||||
}
|
||||
|
@ -173,6 +228,9 @@ void DatabaseThread::scanCrewMembersList(QStringList crewList, int maxPages, int
|
|||
QNetworkAccessManager *netManager = new QNetworkAccessManager();
|
||||
|
||||
QNetworkRequest netRequest(AppEnv::getPlayerFetchingUrl(crewID, QString::number(currentPage)));
|
||||
#if QT_VERSION >= 0x050600
|
||||
netRequest.setAttribute(QNetworkRequest::FollowRedirectsAttribute, true);
|
||||
#endif
|
||||
netRequest.setRawHeader("User-Agent", AppEnv::getUserAgent());
|
||||
netRequest.setRawHeader("Accept", "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8");
|
||||
netRequest.setRawHeader("Accept-Language", "en-US;q=0.5,en;q=0.3");
|
||||
|
@ -224,9 +282,7 @@ void DatabaseThread::scanCrewMembersList(QStringList crewList, int maxPages, int
|
|||
currentPage++;
|
||||
}
|
||||
|
||||
netReply->deleteLater();
|
||||
delete netReply;
|
||||
netManager->deleteLater();
|
||||
delete netManager;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1079,22 +1079,16 @@ void ProfileInterface::contextMenuTriggeredPIC(QContextMenuEvent *ev)
|
|||
contextMenu.addMenu(&editMenu);
|
||||
contextMenu.addMenu(&exportMenu);
|
||||
contextMenu.addAction(SnapmaticWidget::tr("&Remove"), picWidget, SLOT(on_cmdDelete_clicked()));
|
||||
if (picWidget->isSelected())
|
||||
contextMenu.addSeparator();
|
||||
if (!picWidget->isSelected()) { contextMenu.addAction(SnapmaticWidget::tr("&Select"), picWidget, SLOT(pictureSelected())); }
|
||||
if (picWidget->isSelected()) { contextMenu.addAction(SnapmaticWidget::tr("&Deselect"), picWidget, SLOT(pictureSelected())); }
|
||||
if (selectedWidgets() != widgets.count())
|
||||
{
|
||||
contextMenu.addSeparator();
|
||||
if (!picWidget->isSelected()) { contextMenu.addAction(SnapmaticWidget::tr("&Select"), picWidget, SLOT(pictureSelected())); }
|
||||
if (picWidget->isSelected()) { contextMenu.addAction(SnapmaticWidget::tr("&Deselect"), picWidget, SLOT(pictureSelected())); }
|
||||
contextMenu.addAction(SnapmaticWidget::tr("Select &All"), picWidget, SLOT(selectAllWidgets()), QKeySequence::fromString("Ctrl+A"));
|
||||
if (selectedWidgets() != 0)
|
||||
{
|
||||
contextMenu.addAction(SnapmaticWidget::tr("&Deselect All"), picWidget, SLOT(deselectAllWidgets()), QKeySequence::fromString("Ctrl+D"));
|
||||
}
|
||||
}
|
||||
else
|
||||
if (selectedWidgets() != 0)
|
||||
{
|
||||
contextMenu.addSeparator();
|
||||
contextMenu.addAction(SnapmaticWidget::tr("&Select"), picWidget, SLOT(pictureSelected()));
|
||||
contextMenu.addAction(SnapmaticWidget::tr("Select &All"), picWidget, SLOT(selectAllWidgets()), QKeySequence::fromString("Ctrl+A"));
|
||||
contextMenu.addAction(SnapmaticWidget::tr("&Deselect All"), picWidget, SLOT(deselectAllWidgets()), QKeySequence::fromString("Ctrl+D"));
|
||||
}
|
||||
contextMenu.exec(ev->globalPos());
|
||||
}
|
||||
|
@ -1106,22 +1100,16 @@ void ProfileInterface::contextMenuTriggeredSGD(QContextMenuEvent *ev)
|
|||
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()));
|
||||
if (sgdWidget->isSelected())
|
||||
contextMenu.addSeparator();
|
||||
if (!sgdWidget->isSelected()) { contextMenu.addAction(SavegameWidget::tr("&Select"), sgdWidget, SLOT(savegameSelected())); }
|
||||
if (sgdWidget->isSelected()) { contextMenu.addAction(SavegameWidget::tr("&Deselect"), sgdWidget, SLOT(savegameSelected())); }
|
||||
if (selectedWidgets() != widgets.count())
|
||||
{
|
||||
contextMenu.addSeparator();
|
||||
if (!sgdWidget->isSelected()) { contextMenu.addAction(SavegameWidget::tr("&Select"), this, SLOT(savegameSelected())); }
|
||||
if (sgdWidget->isSelected()) { contextMenu.addAction(SavegameWidget::tr("&Deselect"), this, SLOT(savegameSelected())); }
|
||||
contextMenu.addAction(SavegameWidget::tr("Select &All"), sgdWidget, SLOT(selectAllWidgets()), QKeySequence::fromString("Ctrl+A"));
|
||||
if (selectedWidgets() != 0)
|
||||
{
|
||||
contextMenu.addAction(SavegameWidget::tr("&Deselect All"), sgdWidget, SLOT(deselectAllWidgets()), QKeySequence::fromString("Ctrl+D"));
|
||||
}
|
||||
}
|
||||
else
|
||||
if (selectedWidgets() != 0)
|
||||
{
|
||||
contextMenu.addSeparator();
|
||||
contextMenu.addAction(SavegameWidget::tr("&Select"), sgdWidget, SLOT(savegameSelected()));
|
||||
contextMenu.addAction(SavegameWidget::tr("Select &All"), sgdWidget, SLOT(selectAllWidgets()), QKeySequence::fromString("Ctrl+A"));
|
||||
contextMenu.addAction(SavegameWidget::tr("&Deselect All"), sgdWidget, SLOT(deselectAllWidgets()), QKeySequence::fromString("Ctrl+D"));
|
||||
}
|
||||
contextMenu.exec(ev->globalPos());
|
||||
}
|
||||
|
|
2
config.h
2
config.h
|
@ -50,7 +50,7 @@
|
|||
|
||||
#ifndef GTA5SYNC_APPVER
|
||||
#ifndef GTA5SYNC_DAILYB
|
||||
#define GTA5SYNC_APPVER "1.3.3"
|
||||
#define GTA5SYNC_APPVER "1.3.5"
|
||||
#else
|
||||
#define GTA5SYNC_APPVER QString("%1").arg(GTA5SYNC_DAILYB)
|
||||
#endif
|
||||
|
|
|
@ -7,8 +7,8 @@ CREATEPROCESS_MANIFEST_RESOURCE_ID RT_MANIFEST "gta5view.exe.manifest"
|
|||
#include <windows.h>
|
||||
|
||||
VS_VERSION_INFO VERSIONINFO
|
||||
FILEVERSION 1, 3, 3, 0
|
||||
PRODUCTVERSION 1, 3, 3, 0
|
||||
FILEVERSION 1, 3, 5, 0
|
||||
PRODUCTVERSION 1, 3, 5, 0
|
||||
FILEFLAGSMASK 0x3fL
|
||||
FILEFLAGS 0
|
||||
FILEOS VOS_NT_WINDOWS32
|
||||
|
@ -25,12 +25,12 @@ BEGIN
|
|||
BEGIN
|
||||
VALUE "CompanyName", "Syping"
|
||||
VALUE "FileDescription", "gta5view\0"
|
||||
VALUE "FileVersion", "1.3.3\0"
|
||||
VALUE "FileVersion", "1.3.5\0"
|
||||
VALUE "InternalName", "gta5view\0"
|
||||
VALUE "LegalCopyright", "Copyright © 2016-2017 Syping\0"
|
||||
VALUE "OriginalFilename", "gta5view.exe\0"
|
||||
VALUE "ProductName", "gta5view\0"
|
||||
VALUE "ProductVersion", "1.3.3\0"
|
||||
VALUE "ProductVersion", "1.3.5\0"
|
||||
END
|
||||
END
|
||||
END
|
||||
|
|
Loading…
Reference in a new issue