aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSalanto <62221668+Salanto@users.noreply.github.com>2024-07-11 20:40:36 +0200
committerGitHub <noreply@github.com>2024-07-11 20:40:36 +0200
commitb882917af845b4d792daafeadccd05e7840d2395 (patch)
tree6fa06206d6c171c76d069aca372bf1c05110cef4
parent9002d1201de55fd13c3853fece80fec25765b8dd (diff)
parentc745d0a1b78732550ae790fee12bd23b71a4f25e (diff)
Merge branch 'master' into restore-window-position
-rw-r--r--.github/workflows/build.yml2
-rw-r--r--src/aoapplication.cpp7
-rw-r--r--src/aoapplication.h6
-rw-r--r--src/courtroom.cpp8
-rw-r--r--src/lobby.cpp2
-rw-r--r--src/main.cpp17
6 files changed, 22 insertions, 20 deletions
diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml
index 228a76ff..e4589b4e 100644
--- a/.github/workflows/build.yml
+++ b/.github/workflows/build.yml
@@ -80,7 +80,7 @@ jobs:
- name: Build
run: |
- cmake .
+ cmake . -D CMAKE_BUILD_TYPE=Release
cmake --build . --config Release
- name: Deploy Windows
diff --git a/src/aoapplication.cpp b/src/aoapplication.cpp
index 6a0600a0..9abc958c 100644
--- a/src/aoapplication.cpp
+++ b/src/aoapplication.cpp
@@ -16,8 +16,8 @@ void message_handler(QtMsgType type, const QMessageLogContext &context, const QS
original_message_handler(type, context, msg);
}
-AOApplication::AOApplication(int &argc, char **argv)
- : QApplication(argc, argv)
+AOApplication::AOApplication(QObject *parent)
+ : QObject(parent)
{
net_manager = new NetworkManager(this);
discord = new AttorneyOnline::Discord();
@@ -26,9 +26,6 @@ AOApplication::AOApplication(int &argc, char **argv)
message_handler_context = this;
original_message_handler = qInstallMessageHandler(message_handler);
-
- setApplicationVersion(get_version_string());
- setApplicationDisplayName(tr("Attorney Online %1").arg(applicationVersion()));
}
AOApplication::~AOApplication()
diff --git a/src/aoapplication.h b/src/aoapplication.h
index 5d20d96d..b5d7fb5e 100644
--- a/src/aoapplication.h
+++ b/src/aoapplication.h
@@ -9,13 +9,13 @@
#include <bass.h>
-#include <QApplication>
#include <QColor>
#include <QCryptographicHash>
#include <QDebug>
#include <QDir>
#include <QElapsedTimer>
#include <QFile>
+#include <QObject>
#include <QRect>
#include <QScreen>
#include <QSettings>
@@ -48,12 +48,12 @@ inline uint qHash(const VPath &key, uint seed = qGlobalQHashSeed())
return qHash(key.toQString(), seed);
}
-class AOApplication : public QApplication
+class AOApplication : public QObject
{
Q_OBJECT
public:
- AOApplication(int &argc, char **argv);
+ AOApplication(QObject *parent = nullptr);
~AOApplication();
NetworkManager *net_manager;
diff --git a/src/courtroom.cpp b/src/courtroom.cpp
index 06161796..45fb7d61 100644
--- a/src/courtroom.cpp
+++ b/src/courtroom.cpp
@@ -1180,7 +1180,7 @@ void Courtroom::set_fonts(QString p_char)
QFont new_font = ao_app->default_font;
int new_font_size = new_font.pointSize() * Options::getInstance().themeScalingFactor();
new_font.setPointSize(new_font_size);
- ao_app->setFont(new_font);
+ QApplication::setFont(new_font);
set_font(ui_vp_showname, "", "showname", p_char);
set_font(ui_vp_message, "", "message", p_char);
@@ -3369,7 +3369,7 @@ void Courtroom::handle_callwords()
// Play the call word sfx on the modcall_player sound container
modcall_player->findAndPlaySfx(ao_app->get_court_sfx("word_call"));
// Make the window flash
- ao_app->alert(this);
+ QApplication::alert(this);
// Break the loop so we don't spam sound effects
break;
}
@@ -4905,7 +4905,7 @@ void Courtroom::mod_called(QString p_ip)
if (!ui_guard->isChecked())
{
modcall_player->findAndPlaySfx(ao_app->get_court_sfx("mod_call"));
- ao_app->alert(this);
+ QApplication::alert(this);
}
}
@@ -6615,7 +6615,7 @@ void Courtroom::truncate_label_text(QWidget *p_widget, QString p_identifier)
return;
}
- int checkbox_width = AOApplication::style()->pixelMetric(QStyle::PM_IndicatorWidth) + AOApplication::style()->pixelMetric(QStyle::PM_CheckBoxLabelSpacing);
+ int checkbox_width = QApplication::style()->pixelMetric(QStyle::PM_IndicatorWidth) + QApplication::style()->pixelMetric(QStyle::PM_CheckBoxLabelSpacing);
int label_theme_width = (p_label != nullptr ? design_ini_result.width : (design_ini_result.width - checkbox_width));
int label_px_width = p_widget->fontMetrics().boundingRect(label_text_tr).width(); // pixel width of our translated text
diff --git a/src/lobby.cpp b/src/lobby.cpp
index 22a3a5b3..f4da9d54 100644
--- a/src/lobby.cpp
+++ b/src/lobby.cpp
@@ -100,7 +100,7 @@ void Lobby::reset_selection()
void Lobby::loadUI()
{
- this->setWindowTitle(tr("Attorney Online %1").arg(ao_app->applicationVersion()));
+ this->setWindowTitle(tr("Attorney Online %1").arg(QApplication::applicationVersion()));
this->setWindowIcon(QIcon(":/logo.png"));
this->setWindowFlags((this->windowFlags() | Qt::CustomizeWindowHint));
diff --git a/src/main.cpp b/src/main.cpp
index 0cf0ad0b..cb9e138a 100644
--- a/src/main.cpp
+++ b/src/main.cpp
@@ -19,7 +19,7 @@ int main(int argc, char *argv[])
qRegisterMetaType<AOPacket>();
- AOApplication main_app(argc, argv);
+ QApplication app(argc, argv);
#ifdef ANDROID
if (QtAndroid::checkPermission("android.permission.READ_EXTERNAL_STORAGE") == QtAndroid::PermissionResult::Denied)
@@ -28,15 +28,19 @@ int main(int argc, char *argv[])
}
#endif
+ AOApplication main_app;
+ app.setApplicationVersion(AOApplication::get_version_string());
+ app.setApplicationDisplayName(QObject::tr("Attorney Online %1").arg(app.applicationVersion()));
+
QResource::registerResource(main_app.get_asset("themes/" + Options::getInstance().theme() + ".rcc"));
- QFont main_font = main_app.font();
+ QFont main_font = app.font();
main_app.default_font = main_font;
QFont new_font = main_font;
int new_font_size = main_app.default_font.pointSize() * Options::getInstance().themeScalingFactor();
new_font.setPointSize(new_font_size);
- main_app.setFont(new_font);
+ app.setFont(new_font);
QFontDatabase fontDatabase;
QDirIterator it(get_base_path() + "fonts", QDirIterator::Subdirectories);
@@ -67,16 +71,17 @@ int main(int argc, char *argv[])
QTranslator qtTranslator;
qtTranslator.load("qt_" + p_language, QLibraryInfo::location(QLibraryInfo::TranslationsPath));
- main_app.installTranslator(&qtTranslator);
+ app.installTranslator(&qtTranslator);
QTranslator appTranslator;
qDebug() << ":/data/translations/ao_" + p_language;
appTranslator.load("ao_" + p_language, ":/data/translations/");
- main_app.installTranslator(&appTranslator);
+ app.installTranslator(&appTranslator);
main_app.construct_lobby();
main_app.net_manager->get_server_list();
main_app.net_manager->send_heartbeat();
main_app.w_lobby->show();
- return main_app.exec();
+
+ return app.exec();
}