QApplication less! (#1017)

This commit is contained in:
Leifa 2024-07-11 20:40:21 +02:00 committed by GitHub
parent b74281d8b5
commit c745d0a1b7
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
5 changed files with 21 additions and 19 deletions

View File

@ -16,8 +16,8 @@ void message_handler(QtMsgType type, const QMessageLogContext &context, const QS
original_message_handler(type, context, msg); original_message_handler(type, context, msg);
} }
AOApplication::AOApplication(int &argc, char **argv) AOApplication::AOApplication(QObject *parent)
: QApplication(argc, argv) : QObject(parent)
{ {
net_manager = new NetworkManager(this); net_manager = new NetworkManager(this);
discord = new AttorneyOnline::Discord(); discord = new AttorneyOnline::Discord();
@ -26,9 +26,6 @@ AOApplication::AOApplication(int &argc, char **argv)
message_handler_context = this; message_handler_context = this;
original_message_handler = qInstallMessageHandler(message_handler); original_message_handler = qInstallMessageHandler(message_handler);
setApplicationVersion(get_version_string());
setApplicationDisplayName(tr("Attorney Online %1").arg(applicationVersion()));
} }
AOApplication::~AOApplication() AOApplication::~AOApplication()

View File

@ -9,13 +9,13 @@
#include <bass.h> #include <bass.h>
#include <QApplication>
#include <QColor> #include <QColor>
#include <QCryptographicHash> #include <QCryptographicHash>
#include <QDebug> #include <QDebug>
#include <QDir> #include <QDir>
#include <QElapsedTimer> #include <QElapsedTimer>
#include <QFile> #include <QFile>
#include <QObject>
#include <QRect> #include <QRect>
#include <QScreen> #include <QScreen>
#include <QSettings> #include <QSettings>
@ -48,12 +48,12 @@ inline uint qHash(const VPath &key, uint seed = qGlobalQHashSeed())
return qHash(key.toQString(), seed); return qHash(key.toQString(), seed);
} }
class AOApplication : public QApplication class AOApplication : public QObject
{ {
Q_OBJECT Q_OBJECT
public: public:
AOApplication(int &argc, char **argv); AOApplication(QObject *parent = nullptr);
~AOApplication(); ~AOApplication();
NetworkManager *net_manager; NetworkManager *net_manager;

View File

@ -1182,7 +1182,7 @@ void Courtroom::set_fonts(QString p_char)
QFont new_font = ao_app->default_font; QFont new_font = ao_app->default_font;
int new_font_size = new_font.pointSize() * Options::getInstance().themeScalingFactor(); int new_font_size = new_font.pointSize() * Options::getInstance().themeScalingFactor();
new_font.setPointSize(new_font_size); 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_showname, "", "showname", p_char);
set_font(ui_vp_message, "", "message", 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 // Play the call word sfx on the modcall_player sound container
modcall_player->findAndPlaySfx(ao_app->get_court_sfx("word_call")); modcall_player->findAndPlaySfx(ao_app->get_court_sfx("word_call"));
// Make the window flash // Make the window flash
ao_app->alert(this); QApplication::alert(this);
// Break the loop so we don't spam sound effects // Break the loop so we don't spam sound effects
break; break;
} }
@ -4890,7 +4890,7 @@ void Courtroom::mod_called(QString p_ip)
if (!ui_guard->isChecked()) if (!ui_guard->isChecked())
{ {
modcall_player->findAndPlaySfx(ao_app->get_court_sfx("mod_call")); 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; 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_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 int label_px_width = p_widget->fontMetrics().boundingRect(label_text_tr).width(); // pixel width of our translated text

View File

@ -95,7 +95,7 @@ void Lobby::reset_selection()
void Lobby::loadUI() 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->setWindowIcon(QIcon(":/logo.png"));
this->setWindowFlags((this->windowFlags() | Qt::CustomizeWindowHint)); this->setWindowFlags((this->windowFlags() | Qt::CustomizeWindowHint));

View File

@ -19,7 +19,7 @@ int main(int argc, char *argv[])
qRegisterMetaType<AOPacket>(); qRegisterMetaType<AOPacket>();
AOApplication main_app(argc, argv); QApplication app(argc, argv);
#ifdef ANDROID #ifdef ANDROID
if (QtAndroid::checkPermission("android.permission.READ_EXTERNAL_STORAGE") == QtAndroid::PermissionResult::Denied) if (QtAndroid::checkPermission("android.permission.READ_EXTERNAL_STORAGE") == QtAndroid::PermissionResult::Denied)
@ -28,15 +28,19 @@ int main(int argc, char *argv[])
} }
#endif #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")); 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; main_app.default_font = main_font;
QFont new_font = main_font; QFont new_font = main_font;
int new_font_size = main_app.default_font.pointSize() * Options::getInstance().themeScalingFactor(); int new_font_size = main_app.default_font.pointSize() * Options::getInstance().themeScalingFactor();
new_font.setPointSize(new_font_size); new_font.setPointSize(new_font_size);
main_app.setFont(new_font); app.setFont(new_font);
QFontDatabase fontDatabase; QFontDatabase fontDatabase;
QDirIterator it(get_base_path() + "fonts", QDirIterator::Subdirectories); QDirIterator it(get_base_path() + "fonts", QDirIterator::Subdirectories);
@ -67,16 +71,17 @@ int main(int argc, char *argv[])
QTranslator qtTranslator; QTranslator qtTranslator;
qtTranslator.load("qt_" + p_language, QLibraryInfo::location(QLibraryInfo::TranslationsPath)); qtTranslator.load("qt_" + p_language, QLibraryInfo::location(QLibraryInfo::TranslationsPath));
main_app.installTranslator(&qtTranslator); app.installTranslator(&qtTranslator);
QTranslator appTranslator; QTranslator appTranslator;
qDebug() << ":/data/translations/ao_" + p_language; qDebug() << ":/data/translations/ao_" + p_language;
appTranslator.load("ao_" + p_language, ":/data/translations/"); appTranslator.load("ao_" + p_language, ":/data/translations/");
main_app.installTranslator(&appTranslator); app.installTranslator(&appTranslator);
main_app.construct_lobby(); main_app.construct_lobby();
main_app.net_manager->get_server_list(); main_app.net_manager->get_server_list();
main_app.net_manager->send_heartbeat(); main_app.net_manager->send_heartbeat();
main_app.w_lobby->show(); main_app.w_lobby->show();
return main_app.exec();
return app.exec();
} }