aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorLeifa <26681464+TrickyLeifa@users.noreply.github.com>2024-07-11 20:40:21 +0200
committerGitHub <noreply@github.com>2024-07-11 20:40:21 +0200
commitc745d0a1b78732550ae790fee12bd23b71a4f25e (patch)
tree8827fb1c80b4365a67b669803cec1fe10e7313b9 /src
parentb74281d8b59c86507a9929276d2b3963dde2e8ce (diff)
QApplication less! (#1017)
Diffstat (limited to 'src')
-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
5 files changed, 21 insertions, 19 deletions
diff --git a/src/aoapplication.cpp b/src/aoapplication.cpp
index 7a8e4ea3..0b73575b 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 75f45570..7a439586 100644
--- a/src/courtroom.cpp
+++ b/src/courtroom.cpp
@@ -1182,7 +1182,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);
@@ -3354,7 +3354,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;
}
@@ -4890,7 +4890,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);
}
}
@@ -6600,7 +6600,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 9918ca3d..5fb0f506 100644
--- a/src/lobby.cpp
+++ b/src/lobby.cpp
@@ -95,7 +95,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();
}