Browse Source

Minor code improvements. Added utils.h for Legacy app

Ivan Arkhipov 4 years ago
parent
commit
61a9c5dec5

+ 2 - 1
.gitignore

@@ -68,7 +68,8 @@ build/*
 bin/*
 
 *resource*
-
+*.rc
+*.Debug
 !*README*
 
 

+ 0 - 3
Legacy_v2.pro

@@ -18,6 +18,3 @@ SUBDIRS += \
     src/Legacy \ 
     src/Legacy-advanced \
     src/LegacyLauncher
-
-RESOURCES += \
-    src/Legacy/common.qrc

+ 0 - 37
src/Legacy-advanced/Legacy-advanced_resource.rc

@@ -1,37 +0,0 @@
-#include <windows.h>
-
-IDI_ICON1	ICON	DISCARDABLE	"D:\\Programming\\SourceRepos\\Legacy_v2\\resources\\icon_anvil.ico"
-
-VS_VERSION_INFO VERSIONINFO
-	FILEVERSION 0,0,0,0
-	PRODUCTVERSION 0,0,0,0
-	FILEFLAGSMASK 0x3fL
-#ifdef _DEBUG
-	FILEFLAGS VS_FF_DEBUG
-#else
-	FILEFLAGS 0x0L
-#endif
-	FILEOS VOS__WINDOWS32
-	FILETYPE VFT_APP
-	FILESUBTYPE 0x0L
-	BEGIN
-		BLOCK "StringFileInfo"
-		BEGIN
-			BLOCK "040904b0"
-			BEGIN
-				VALUE "CompanyName", "\0"
-				VALUE "FileDescription", "\0"
-				VALUE "FileVersion", "0.0.0.0\0"
-				VALUE "LegalCopyright", "\0"
-				VALUE "OriginalFilename", "Legacy-advanced.exe\0"
-				VALUE "ProductName", "Legacy-advanced\0"
-				VALUE "ProductVersion", "0.0.0.0\0"
-			END
-		END
-		BLOCK "VarFileInfo"
-		BEGIN
-			VALUE "Translation", 0x0409, 1200
-		END
-	END
-/* End of Version info */
-

+ 0 - 28
src/Legacy-advanced/object_script.Legacy-advanced.Debug

@@ -1,28 +0,0 @@
-INPUT(
-./..\..\build\debug\Legacy-advanced\rcc\qrc_backgrounds_advanced.o
-./..\..\build\debug\Legacy-advanced\rcc\qrc_common.o
-./..\..\build\debug\Legacy-advanced\obj\main.o
-./..\..\build\debug\Legacy-advanced\obj\downloader.o
-./..\..\build\debug\Legacy-advanced\obj\filesystem.o
-./..\..\build\debug\Legacy-advanced\obj\lotrodatmanager.o
-./..\..\build\debug\Legacy-advanced\obj\browsewidget.o
-./..\..\build\debug\Legacy-advanced\obj\exportwidget.o
-./..\..\build\debug\Legacy-advanced\obj\importwidget.o
-./..\..\build\debug\Legacy-advanced\obj\mainwindow.o
-./..\..\build\debug\Legacy-advanced\obj\managewidget.o
-./..\..\build\debug\Legacy-advanced\obj\menuentry.o
-./..\..\build\debug\Legacy-advanced\obj\messagedialog.o
-./..\..\build\debug\Legacy-advanced\obj\lotroprogresswidget.o
-./..\..\build\debug\Legacy-advanced\obj\legacy-advanced_plugin_import.o
-./..\..\build\debug\Legacy-advanced\obj\moc_downloader.o
-./..\..\build\debug\Legacy-advanced\obj\moc_filesystem.o
-./..\..\build\debug\Legacy-advanced\obj\moc_lotrodatmanager.o
-./..\..\build\debug\Legacy-advanced\obj\moc_browsewidget.o
-./..\..\build\debug\Legacy-advanced\obj\moc_exportwidget.o
-./..\..\build\debug\Legacy-advanced\obj\moc_importwidget.o
-./..\..\build\debug\Legacy-advanced\obj\moc_mainwindow.o
-./..\..\build\debug\Legacy-advanced\obj\moc_managewidget.o
-./..\..\build\debug\Legacy-advanced\obj\moc_menuentry.o
-./..\..\build\debug\Legacy-advanced\obj\moc_messagedialog.o
-./..\..\build\debug\Legacy-advanced\obj\moc_lotroprogresswidget.o
-);

+ 0 - 26
src/Legacy-advanced/object_script.Legacy-advanced.Release

@@ -1,26 +0,0 @@
-INPUT(
-./..\..\build\release\Legacy-advanced\obj\main.o
-./..\..\build\release\Legacy-advanced\obj\downloader.o
-./..\..\build\release\Legacy-advanced\obj\filesystem.o
-./..\..\build\release\Legacy-advanced\obj\lotrodatmanager.o
-./..\..\build\release\Legacy-advanced\obj\browsewidget.o
-./..\..\build\release\Legacy-advanced\obj\exportwidget.o
-./..\..\build\release\Legacy-advanced\obj\importwidget.o
-./..\..\build\release\Legacy-advanced\obj\mainwindow.o
-./..\..\build\release\Legacy-advanced\obj\managewidget.o
-./..\..\build\release\Legacy-advanced\obj\menuentry.o
-./..\..\build\release\Legacy-advanced\obj\messagedialog.o
-./..\..\build\release\Legacy-advanced\obj\lotroprogresswidget.o
-./..\..\build\release\Legacy-advanced\obj\legacy-advanced_plugin_import.o
-./..\..\build\release\Legacy-advanced\obj\moc_downloader.o
-./..\..\build\release\Legacy-advanced\obj\moc_filesystem.o
-./..\..\build\release\Legacy-advanced\obj\moc_lotrodatmanager.o
-./..\..\build\release\Legacy-advanced\obj\moc_browsewidget.o
-./..\..\build\release\Legacy-advanced\obj\moc_exportwidget.o
-./..\..\build\release\Legacy-advanced\obj\moc_importwidget.o
-./..\..\build\release\Legacy-advanced\obj\moc_mainwindow.o
-./..\..\build\release\Legacy-advanced\obj\moc_managewidget.o
-./..\..\build\release\Legacy-advanced\obj\moc_menuentry.o
-./..\..\build\release\Legacy-advanced\obj\moc_messagedialog.o
-./..\..\build\release\Legacy-advanced\obj\moc_lotroprogresswidget.o
-);

+ 1 - 0
src/Legacy/Legacy.pro

@@ -47,6 +47,7 @@ HEADERS += \
     models/filesystem.h \
     models/lotrodatmanager.h \
     models/selfupdater.h \
+    utils.h \
     widgets/helpwidget.h \
     widgets/mainwindow.h \
     widgets/menuentry.h \

+ 2 - 2
src/Legacy/Legacy_resource.rc

@@ -1,6 +1,6 @@
 #include <windows.h>
 
-IDI_ICON1	ICON	DISCARDABLE	"D:\\Programming\\SourceRepos\\Legacy_v2\\resources\\appicon.ico"
+IDI_ICON1	ICON	DISCARDABLE	"D:\\Programming\\Projects\\Legacy_v2\\resources\\appicon.ico"
 
 VS_VERSION_INFO VERSIONINFO
 	FILEVERSION 0,0,0,0
@@ -12,7 +12,7 @@ VS_VERSION_INFO VERSIONINFO
 	FILEFLAGS 0x0L
 #endif
 	FILEOS VOS__WINDOWS32
-	FILETYPE VFT_APP
+	FILETYPE VFT_DLL
 	FILESUBTYPE 0x0L
 	BEGIN
 		BLOCK "StringFileInfo"

+ 11 - 11
src/Legacy/fonts.cpp

@@ -125,17 +125,17 @@ void constructFonts() {
 }
 
 void updateFonts(double coefficient) {
-    pixels_in_16_pt = round(default_pixels_in_16_pt * coefficient + 0.0001);
-    pixels_in_15_pt = round(default_pixels_in_15_pt * coefficient + 0.0001);
-    pixels_in_14_pt = round(default_pixels_in_14_pt * coefficient + 0.0001);
-    pixels_in_13_pt = round(default_pixels_in_13_pt * coefficient + 0.0001);
-    pixels_in_12_pt = round(default_pixels_in_12_pt * coefficient + 0.0001);
-    pixels_in_11_pt = round(default_pixels_in_11_pt * coefficient + 0.0001);
-    pixels_in_10_pt = round(default_pixels_in_10_pt * coefficient + 0.0001);
-    pixels_in_9_pt = round(default_pixels_in_9_pt * coefficient + 0.0001);
-    pixels_in_8_pt = round(default_pixels_in_8_pt * coefficient + 0.0001);
-    pixels_in_7_pt = round(default_pixels_in_7_pt * coefficient + 0.0001);
-    pixels_in_6_pt = round(default_pixels_in_6_pt * coefficient + 0.0001);
+    pixels_in_16_pt = qRound(default_pixels_in_16_pt * coefficient + 0.0001);
+    pixels_in_15_pt = qRound(default_pixels_in_15_pt * coefficient + 0.0001);
+    pixels_in_14_pt = qRound(default_pixels_in_14_pt * coefficient + 0.0001);
+    pixels_in_13_pt = qRound(default_pixels_in_13_pt * coefficient + 0.0001);
+    pixels_in_12_pt = qRound(default_pixels_in_12_pt * coefficient + 0.0001);
+    pixels_in_11_pt = qRound(default_pixels_in_11_pt * coefficient + 0.0001);
+    pixels_in_10_pt = qRound(default_pixels_in_10_pt * coefficient + 0.0001);
+    pixels_in_9_pt = qRound(default_pixels_in_9_pt * coefficient + 0.0001);
+    pixels_in_8_pt = qRound(default_pixels_in_8_pt * coefficient + 0.0001);
+    pixels_in_7_pt = qRound(default_pixels_in_7_pt * coefficient + 0.0001);
+    pixels_in_6_pt = qRound(default_pixels_in_6_pt * coefficient + 0.0001);
 
     garamond_6pt.setPixelSize(pixels_in_6_pt);
     garamond_7pt.setPixelSize(pixels_in_7_pt);

+ 11 - 89
src/Legacy/legacyapplication.cpp

@@ -8,89 +8,11 @@
 #include <QResource>
 #include <QFontDatabase>
 #include <QMessageLogContext>
-#include <QTextStream>
-#include <QTcpSocket>
 
-extern Q_CORE_EXPORT int qt_ntfs_permission_lookup;
-
-bool urlExists(QUrl theurl){
-    QTextStream out(stdout);
-    QTcpSocket socket;
-    QByteArray buffer;
-
-    socket.connectToHost(theurl.host(), 80);
-    if (socket.waitForConnected()) {
-        //Standard http request
-        socket.write("GET / HTTP/1.1\r\n"
-                 "host: " + theurl.host().toUtf8() + "\r\n\r\n");
-        if (socket.waitForReadyRead()) {
-            while(socket.bytesAvailable()){
-                buffer.append(socket.readAll());
-                int packetSize=buffer.size();
-                while(packetSize>0)
-                {
-                    //Output server response for debugging
-                    out << "[" << buffer.data() << "]" <<endl;
-
-                    //set Url if 200, 301, or 302 response given assuming that server will redirect
-                    if (buffer.contains("200 OK") ||
-                        buffer.contains("302 Found") ||
-                        buffer.contains("301 Moved")) {
-                        return true;
-                    }
-                    buffer.remove(0,packetSize);
-                    //packetSize=getPacketSize(buffer);
-                    packetSize=buffer.size();
-
-                } //while packet size >0
-            } //while socket.bytesavail
-
-        } //socket wait for ready read
-    }//socket write
-return false;
-}
+#include "utils.h"
 
-void logMessageHandler(QtMsgType type, const QMessageLogContext &context, const QString &msg)
-{
-    QString message_type;
-
-    switch (type) {
-    case QtDebugMsg:
-        message_type = "[DEBG]";
-        break;
-    case QtInfoMsg:
-        message_type = "[INFO]";
-        break;
-    case QtWarningMsg:
-        message_type = "[WARN]";
-        break;
-    case QtCriticalMsg:
-        message_type = "[CRIT]";
-        break;
-    case QtFatalMsg:
-        message_type = "[FATL]";
-        break;
-    default:
-        message_type = "[UNKN]";
-        break;
-    }
+extern Q_CORE_EXPORT int qt_ntfs_permission_lookup;
 
-    QString filename = context.category;
-    QString function = context.function;
-    QString line_number = QString::number(context.line);
-
-    QString s = QString("%1: %2\n")
-                .arg(message_type)
-                .arg(msg);
-
-    QFile log_file("legacy_v2.log");
-    log_file.open(QIODevice::ReadWrite | QIODevice::Append);
-    QTextStream stream(&log_file);
-    stream << s;
-    log_file.close();
-    fprintf(stderr, "%s", qUtf8Printable(s));
-    fflush(stderr);
-}
 
 LegacyApplication::LegacyApplication(int &argc, char **argv)
     : QApplication(argc, argv)
@@ -231,7 +153,7 @@ LegacyApplication::ErrorStatus LegacyApplication::CheckErrorStatus()
         }
     }
 
-    if (!urlExists(QUrl(Settings::getValue("Network/patch_updates_url").toString()))) {
+    if (!checkInternetConnection(QUrl(Settings::getValue("Network/patch_updates_url").toString()))) {
         status |= E_NO_SERVER_CONNECTION;
     }
 
@@ -270,14 +192,14 @@ QDebug operator<<(QDebug dbg, const LegacyApplication::ErrorStatus &status)
     bool dat_file_incorrect = (status & LegacyApplication::E_DAT_FILE_INCORRECT);
     bool no_server_connection = (status & LegacyApplication::E_NO_SERVER_CONNECTION);
 
-    dbg << "ErrorStatus( "
-        << (wrong_game_folder ? "Wrong game folder!" : "")
-        << (dat_files_missing ? "Dat files missing!" : "")
-        << (wrong_file_permissions ? "Wrong file permissions!" : "")
-        << (cannot_access_dat_files ? "Cannot access dat files!" : "")
-        << (dat_file_incorrect ? "Incorrect dat file!" : "")
-        << (no_server_connection ? "No server connection!" : "")
-        <<")";
+    dbg.nospace() << "ErrorStatus ( "
+        << (wrong_game_folder ? "Wrong game folder! " : "")
+        << (dat_files_missing ? "Dat files missing! " : "")
+        << (wrong_file_permissions ? "Wrong file permissions! " : "")
+        << (cannot_access_dat_files ? "Cannot access dat files! " : "")
+        << (dat_file_incorrect ? "Incorrect dat file! " : "")
+        << (no_server_connection ? "No server connection! " : "")
+        << ")";
 
     return dbg;
 }

+ 78 - 0
src/Legacy/utils.h

@@ -0,0 +1,78 @@
+/*
+ * This file contains minor utility functions
+ */
+
+#ifndef UTILS_H
+#define UTILS_H
+
+#include <QNetworkAccessManager>
+#include <QNetworkReply>
+#include <QEventLoop>
+#include <QFile>
+#include <QTimer>
+
+bool checkInternetConnection(QUrl url) {
+    QNetworkAccessManager nam;
+    QNetworkRequest req(url);
+    QNetworkReply* reply = nam.get(req);
+    QEventLoop loop;
+    QObject::connect(reply, &QNetworkReply::finished, &loop, &QEventLoop::quit);
+
+    QTimer request_timeout_timer;
+    QObject::connect(&request_timeout_timer, &QTimer::timeout, &loop, &QEventLoop::quit);
+    request_timeout_timer.start(5000); // 5 seconds connection timeout
+    qDebug() << "LOLOLOLOL";
+    loop.exec();
+    qDebug() << "END OF LOLOLOLOLO";
+    return reply->bytesAvailable();
+}
+
+void logMessageHandler(QtMsgType type, const QMessageLogContext &context, const QString &msg)
+{
+    QString message_type;
+
+    switch (type) {
+    case QtDebugMsg:
+        message_type = "[DEBG]";
+        break;
+    case QtInfoMsg:
+        message_type = "[INFO]";
+        break;
+    case QtWarningMsg:
+        message_type = "[WARN]";
+        break;
+    case QtCriticalMsg:
+        message_type = "[CRIT]";
+        break;
+    case QtFatalMsg:
+        message_type = "[FATL]";
+        break;
+    default:
+        message_type = "[UNKN]";
+        break;
+    }
+
+    QString filename = context.category;
+    QString function = context.function;
+    QString line_number = QString::number(context.line);
+
+    QString s = QString("%1: %2 ||| %3:%4 %5\n")
+                .arg(message_type)
+                .arg(msg)
+                .arg(filename)
+                .arg(line_number)
+                .arg(function);
+
+#ifdef QT_DEBUG
+    QFile log_file("legacy_v2.log");
+    log_file.open(QIODevice::ReadWrite | QIODevice::Append);
+    QTextStream stream(&log_file);
+    stream << s;
+    log_file.close();
+#endif
+
+    fprintf(stderr, "%s", qUtf8Printable(s));
+    fflush(stderr);
+}
+
+#endif // UTILS_H