Clean up style of merged in code

This commit is contained in:
oldmud0 2018-11-10 23:08:43 -06:00
parent c7a58f89b1
commit 56ec03a23a
12 changed files with 432 additions and 440 deletions

View File

@ -97,14 +97,6 @@ QString AOApplication::get_version_string()
QString::number(MINOR_VERSION); QString::number(MINOR_VERSION);
} }
QString AOApplication::get_cccc_version_string()
{
return
QString::number(CCCC_RELEASE) + "." +
QString::number(CCCC_MAJOR_VERSION) + "." +
QString::number(CCCC_MINOR_VERSION);
}
void AOApplication::reload_theme() void AOApplication::reload_theme()
{ {
current_theme = read_theme(); current_theme = read_theme();
@ -165,8 +157,9 @@ void AOApplication::ms_connect_finished(bool connected, bool will_retry)
{ {
if (will_retry) if (will_retry)
{ {
w_lobby->append_error("Error connecting to master server. Will try again in " if (w_lobby != nullptr)
+ QString::number(net_manager->ms_reconnect_delay_ms / 1000.f) + " seconds."); w_lobby->append_error("Error connecting to master server. Will try again in "
+ QString::number(net_manager->ms_reconnect_delay_ms / 1000.f) + " seconds.");
} }
else else
{ {
@ -181,15 +174,12 @@ void AOApplication::ms_connect_finished(bool connected, bool will_retry)
void AOApplication::call_settings_menu() void AOApplication::call_settings_menu()
{ {
AOOptionsDialog* settings = new AOOptionsDialog(nullptr, this); AOOptionsDialog settings(nullptr, this);
settings->exec(); settings.exec();
delete settings;
} }
void AOApplication::call_announce_menu(Courtroom *court) void AOApplication::call_announce_menu(Courtroom *court)
{ {
AOCaseAnnouncerDialog* announcer = new AOCaseAnnouncerDialog(nullptr, this, court); AOCaseAnnouncerDialog announcer(nullptr, this, court);
announcer->exec(); announcer.exec();
delete announcer;
} }

View File

@ -94,16 +94,11 @@ public:
//////////////////versioning/////////////// //////////////////versioning///////////////
int get_release() {return RELEASE;} constexpr int get_release() const { return RELEASE; }
int get_major_version() {return MAJOR_VERSION;} constexpr int get_major_version() const { return MAJOR_VERSION; }
int get_minor_version() {return MINOR_VERSION;} constexpr int get_minor_version() const { return MINOR_VERSION; }
QString get_version_string(); QString get_version_string();
int get_cccc_release() {return CCCC_RELEASE;}
int get_cccc_major_version() {return CCCC_MAJOR_VERSION;}
int get_cccc_minor_version() {return CCCC_MINOR_VERSION;}
QString get_cccc_version_string();
/////////////////////////////////////////// ///////////////////////////////////////////
void set_favorite_list(); void set_favorite_list();
@ -138,11 +133,6 @@ public:
// Instead of reinventing the wheel, we'll use a QSettings class. // Instead of reinventing the wheel, we'll use a QSettings class.
QSettings *configini; QSettings *configini;
//Returns the config value for the passed searchline from a properly formatted config ini file
//QString read_config(QString searchline);
// No longer necessary.
//Reads the theme from config.ini and loads it into the current_theme variable //Reads the theme from config.ini and loads it into the current_theme variable
QString read_theme(); QString read_theme();
@ -302,12 +292,8 @@ public:
private: private:
const int RELEASE = 2; const int RELEASE = 2;
const int MAJOR_VERSION = 4; const int MAJOR_VERSION = 6;
const int MINOR_VERSION = 10; const int MINOR_VERSION = 0;
const int CCCC_RELEASE = 1;
const int CCCC_MAJOR_VERSION = 4;
const int CCCC_MINOR_VERSION = 1;
QString current_theme = "default"; QString current_theme = "default";

View File

@ -1,76 +1,77 @@
#include "aocaseannouncerdialog.h" #include "aocaseannouncerdialog.h"
AOCaseAnnouncerDialog::AOCaseAnnouncerDialog(QWidget *parent, AOApplication *p_ao_app, Courtroom *p_court) AOCaseAnnouncerDialog::AOCaseAnnouncerDialog(QWidget *parent, AOApplication *p_ao_app, Courtroom *p_court)
: QDialog(parent)
{ {
ao_app = p_ao_app; ao_app = p_ao_app;
court = p_court; court = p_court;
setWindowTitle("Case Announcer"); setWindowTitle(tr("Case Announcer"));
resize(405, 235); resize(405, 235);
AnnouncerButtons = new QDialogButtonBox(this); ui_announcer_buttons = new QDialogButtonBox(this);
QSizePolicy sizepolicy(QSizePolicy::Expanding, QSizePolicy::Fixed); QSizePolicy sizepolicy(QSizePolicy::Expanding, QSizePolicy::Fixed);
sizepolicy.setHorizontalStretch(0); sizepolicy.setHorizontalStretch(0);
sizepolicy.setVerticalStretch(0); sizepolicy.setVerticalStretch(0);
sizepolicy.setHeightForWidth(AnnouncerButtons->sizePolicy().hasHeightForWidth()); sizepolicy.setHeightForWidth(ui_announcer_buttons->sizePolicy().hasHeightForWidth());
AnnouncerButtons->setSizePolicy(sizepolicy); ui_announcer_buttons->setSizePolicy(sizepolicy);
AnnouncerButtons->setOrientation(Qt::Horizontal); ui_announcer_buttons->setOrientation(Qt::Horizontal);
AnnouncerButtons->setStandardButtons(QDialogButtonBox::Ok|QDialogButtonBox::Cancel); ui_announcer_buttons->setStandardButtons(QDialogButtonBox::Ok | QDialogButtonBox::Cancel);
QObject::connect(AnnouncerButtons, SIGNAL(accepted()), this, SLOT(ok_pressed())); QObject::connect(ui_announcer_buttons, SIGNAL(accepted()), this, SLOT(on_ok_pressed()));
QObject::connect(AnnouncerButtons, SIGNAL(rejected()), this, SLOT(cancel_pressed())); QObject::connect(ui_announcer_buttons, SIGNAL(rejected()), this, SLOT(cancel_pressed()));
setUpdatesEnabled(false); setUpdatesEnabled(false);
VBoxLayout = new QVBoxLayout(this); ui_vbox_layout = new QVBoxLayout(this);
FormLayout = new QFormLayout(this); ui_form_layout = new QFormLayout(this);
FormLayout->setLabelAlignment(Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter); ui_form_layout->setLabelAlignment(Qt::AlignLeading | Qt::AlignLeft | Qt::AlignVCenter);
FormLayout->setFormAlignment(Qt::AlignLeading|Qt::AlignLeft|Qt::AlignTop); ui_form_layout->setFormAlignment(Qt::AlignLeading | Qt::AlignLeft | Qt::AlignTop);
FormLayout->setContentsMargins(6, 6, 6, 6); ui_form_layout->setContentsMargins(6, 6, 6, 6);
VBoxLayout->addItem(FormLayout); ui_vbox_layout->addItem(ui_form_layout);
VBoxLayout->addWidget(AnnouncerButtons); ui_vbox_layout->addWidget(ui_announcer_buttons);
CaseTitleLabel = new QLabel(this); ui_case_title_label = new QLabel(this);
CaseTitleLabel->setText("Case title:"); ui_case_title_label->setText(tr("Case title:"));
FormLayout->setWidget(0, QFormLayout::LabelRole, CaseTitleLabel); ui_form_layout->setWidget(0, QFormLayout::LabelRole, ui_case_title_label);
CaseTitleLineEdit = new QLineEdit(this); ui_case_title_textbox = new QLineEdit(this);
CaseTitleLineEdit->setMaxLength(50); ui_case_title_textbox->setMaxLength(50);
FormLayout->setWidget(0, QFormLayout::FieldRole, CaseTitleLineEdit); ui_form_layout->setWidget(0, QFormLayout::FieldRole, ui_case_title_textbox);
DefenceNeeded = new QCheckBox(this); ui_defense_needed = new QCheckBox(this);
DefenceNeeded->setText("Defence needed"); ui_defense_needed->setText(tr("Defense needed"));
ProsecutorNeeded = new QCheckBox(this); ui_prosecutor_needed = new QCheckBox(this);
ProsecutorNeeded->setText("Prosecution needed"); ui_prosecutor_needed->setText(tr("Prosecution needed"));
JudgeNeeded = new QCheckBox(this); ui_judge_needed = new QCheckBox(this);
JudgeNeeded->setText("Judge needed"); ui_judge_needed->setText(tr("Judge needed"));
JurorNeeded = new QCheckBox(this); ui_juror_needed = new QCheckBox(this);
JurorNeeded->setText("Jurors needed"); ui_juror_needed->setText(tr("Jurors needed"));
StenographerNeeded = new QCheckBox(this); ui_steno_needed = new QCheckBox(this);
StenographerNeeded->setText("Stenographer needed"); ui_steno_needed->setText(tr("Stenographer needed"));
FormLayout->setWidget(1, QFormLayout::FieldRole, DefenceNeeded); ui_form_layout->setWidget(1, QFormLayout::FieldRole, ui_defense_needed);
FormLayout->setWidget(2, QFormLayout::FieldRole, ProsecutorNeeded); ui_form_layout->setWidget(2, QFormLayout::FieldRole, ui_prosecutor_needed);
FormLayout->setWidget(3, QFormLayout::FieldRole, JudgeNeeded); ui_form_layout->setWidget(3, QFormLayout::FieldRole, ui_judge_needed);
FormLayout->setWidget(4, QFormLayout::FieldRole, JurorNeeded); ui_form_layout->setWidget(4, QFormLayout::FieldRole, ui_juror_needed);
FormLayout->setWidget(5, QFormLayout::FieldRole, StenographerNeeded); ui_form_layout->setWidget(5, QFormLayout::FieldRole, ui_steno_needed);
setUpdatesEnabled(true); setUpdatesEnabled(true);
} }
void AOCaseAnnouncerDialog::ok_pressed() void AOCaseAnnouncerDialog::ok_pressed()
{ {
court->announce_case(CaseTitleLineEdit->text(), court->announce_case(ui_case_title_textbox->text(),
DefenceNeeded->isChecked(), ui_defense_needed->isChecked(),
ProsecutorNeeded->isChecked(), ui_prosecutor_needed->isChecked(),
JudgeNeeded->isChecked(), ui_judge_needed->isChecked(),
JurorNeeded->isChecked(), ui_juror_needed->isChecked(),
StenographerNeeded->isChecked()); ui_steno_needed->isChecked());
done(0); done(0);
} }

View File

@ -23,19 +23,19 @@ private:
AOApplication *ao_app; AOApplication *ao_app;
Courtroom *court; Courtroom *court;
QDialogButtonBox *AnnouncerButtons; QDialogButtonBox *ui_announcer_buttons;
QVBoxLayout *VBoxLayout; QVBoxLayout *ui_vbox_layout;
QFormLayout *FormLayout; QFormLayout *ui_form_layout;
QLabel *CaseTitleLabel; QLabel *ui_case_title_label;
QLineEdit *CaseTitleLineEdit; QLineEdit *ui_case_title_textbox;
QCheckBox *DefenceNeeded; QCheckBox *ui_defense_needed;
QCheckBox *ProsecutorNeeded; QCheckBox *ui_prosecutor_needed;
QCheckBox *JudgeNeeded; QCheckBox *ui_judge_needed;
QCheckBox *JurorNeeded; QCheckBox *ui_juror_needed;
QCheckBox *StenographerNeeded; QCheckBox *ui_steno_needed;
public slots: public slots:
void ok_pressed(); void ok_pressed();

View File

@ -8,51 +8,54 @@ AOOptionsDialog::AOOptionsDialog(QWidget *parent, AOApplication *p_ao_app) : QDi
// Setting up the basics. // Setting up the basics.
// setAttribute(Qt::WA_DeleteOnClose); // setAttribute(Qt::WA_DeleteOnClose);
setWindowTitle("Settings"); setWindowTitle(tr("Settings"));
resize(398, 320); resize(398, 320);
SettingsButtons = new QDialogButtonBox(this); ui_settings_buttons = new QDialogButtonBox(this);
QSizePolicy sizePolicy1(QSizePolicy::Expanding, QSizePolicy::Fixed); QSizePolicy sizePolicy1(QSizePolicy::Expanding, QSizePolicy::Fixed);
sizePolicy1.setHorizontalStretch(0); sizePolicy1.setHorizontalStretch(0);
sizePolicy1.setVerticalStretch(0); sizePolicy1.setVerticalStretch(0);
sizePolicy1.setHeightForWidth(SettingsButtons->sizePolicy().hasHeightForWidth()); sizePolicy1.setHeightForWidth(ui_settings_buttons->sizePolicy().hasHeightForWidth());
SettingsButtons->setSizePolicy(sizePolicy1); ui_settings_buttons->setSizePolicy(sizePolicy1);
SettingsButtons->setOrientation(Qt::Horizontal); ui_settings_buttons->setOrientation(Qt::Horizontal);
SettingsButtons->setStandardButtons(QDialogButtonBox::Cancel|QDialogButtonBox::Save); ui_settings_buttons->setStandardButtons(QDialogButtonBox::Cancel | QDialogButtonBox::Save);
QObject::connect(SettingsButtons, SIGNAL(accepted()), this, SLOT(save_pressed())); QObject::connect(ui_settings_buttons, SIGNAL(accepted()), this, SLOT(save_pressed()));
QObject::connect(SettingsButtons, SIGNAL(rejected()), this, SLOT(discard_pressed())); QObject::connect(ui_settings_buttons, SIGNAL(rejected()), this, SLOT(discard_pressed()));
// We'll stop updates so that the window won't flicker while it's being made. // We'll stop updates so that the window won't flicker while it's being made.
setUpdatesEnabled(false); setUpdatesEnabled(false);
// First of all, we want a tabbed dialog, so let's add some layout. // First of all, we want a tabbed dialog, so let's add some layout.
verticalLayout = new QVBoxLayout(this); ui_vertical_layout = new QVBoxLayout(this);
SettingsTabs = new QTabWidget(this); ui_settings_tabs = new QTabWidget(this);
verticalLayout->addWidget(SettingsTabs); ui_vertical_layout->addWidget(ui_settings_tabs);
verticalLayout->addWidget(SettingsButtons); ui_vertical_layout->addWidget(ui_settings_buttons);
// Let's add the tabs one by one. // Let's add the tabs one by one.
// First, we'll start with 'Gameplay'. // First, we'll start with 'Gameplay'.
GameplayTab = new QWidget(); ui_gameplay_tab = new QWidget();
SettingsTabs->addTab(GameplayTab, "Gameplay"); ui_settings_tabs->addTab(ui_gameplay_tab, tr("Gameplay"));
formLayoutWidget = new QWidget(GameplayTab); ui_form_layout_widget = new QWidget(ui_gameplay_tab);
formLayoutWidget->setGeometry(QRect(10, 10, 361, 211)); ui_form_layout_widget->setGeometry(QRect(10, 10, 361, 211));
GameplayForm = new QFormLayout(formLayoutWidget); ui_gameplay_form = new QFormLayout(ui_form_layout_widget);
GameplayForm->setLabelAlignment(Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter); ui_gameplay_form->setLabelAlignment(Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter);
GameplayForm->setFormAlignment(Qt::AlignLeading|Qt::AlignLeft|Qt::AlignTop); ui_gameplay_form->setFormAlignment(Qt::AlignLeading|Qt::AlignLeft|Qt::AlignTop);
GameplayForm->setContentsMargins(0, 0, 0, 0); ui_gameplay_form->setContentsMargins(0, 0, 0, 0);
ThemeLabel = new QLabel(formLayoutWidget); ui_theme_label = new QLabel(ui_form_layout_widget);
ThemeLabel->setText("Theme:"); ui_theme_label->setText(tr("Theme:"));
ThemeLabel->setToolTip("Allows you to set the theme used ingame. If your theme changes the lobby's look, too, you'll obviously need to reload the lobby somehow for it take effect. Joining a server and leaving it should work."); ui_theme_label->setToolTip(tr("Sets the theme used in-game. If the new theme changes "
GameplayForm->setWidget(0, QFormLayout::LabelRole, ThemeLabel); "the lobby's look as well, you'll need to reload the "
"lobby for the changes to take effect, such as by joining "
"a server and leaving it."));
ui_gameplay_form->setWidget(0, QFormLayout::LabelRole, ui_theme_label);
ThemeCombobox = new QComboBox(formLayoutWidget); ui_theme_combobox = new QComboBox(ui_form_layout_widget);
// Fill the combobox with the names of the themes. // Fill the combobox with the names of the themes.
QDirIterator it(p_ao_app->get_base_path() + "themes", QDir::Dirs, QDirIterator::NoIteratorFlags); QDirIterator it(p_ao_app->get_base_path() + "themes", QDir::Dirs, QDirIterator::NoIteratorFlags);
@ -60,152 +63,160 @@ AOOptionsDialog::AOOptionsDialog(QWidget *parent, AOApplication *p_ao_app) : QDi
{ {
QString actualname = QDir(it.next()).dirName(); QString actualname = QDir(it.next()).dirName();
if (actualname != "." && actualname != "..") if (actualname != "." && actualname != "..")
ThemeCombobox->addItem(actualname); ui_theme_combobox->addItem(actualname);
if (actualname == p_ao_app->read_theme()) if (actualname == p_ao_app->read_theme())
ThemeCombobox->setCurrentIndex(ThemeCombobox->count()-1); ui_theme_combobox->setCurrentIndex(ui_theme_combobox->count()-1);
} }
GameplayForm->setWidget(0, QFormLayout::FieldRole, ThemeCombobox); ui_gameplay_form->setWidget(0, QFormLayout::FieldRole, ui_theme_combobox);
ThemeLogDivider = new QFrame(formLayoutWidget); ui_theme_log_divider = new QFrame(ui_form_layout_widget);
ThemeLogDivider->setMidLineWidth(0); ui_theme_log_divider->setMidLineWidth(0);
ThemeLogDivider->setFrameShape(QFrame::HLine); ui_theme_log_divider->setFrameShape(QFrame::HLine);
ThemeLogDivider->setFrameShadow(QFrame::Sunken); ui_theme_log_divider->setFrameShadow(QFrame::Sunken);
GameplayForm->setWidget(1, QFormLayout::FieldRole, ThemeLogDivider); ui_gameplay_form->setWidget(1, QFormLayout::FieldRole, ui_theme_log_divider);
DownwardsLabel = new QLabel(formLayoutWidget); ui_downwards_lbl = new QLabel(ui_form_layout_widget);
DownwardsLabel->setText("Log goes downwards:"); ui_downwards_lbl->setText(tr("Log goes downwards:"));
DownwardsLabel->setToolTip("If ticked, the IC chatlog will go downwards, in the sense that new messages will appear at the bottom (like the OOC chatlog). The Vanilla behaviour is equivalent to this being unticked."); ui_downwards_lbl->setToolTip(tr("If ticked, new messages will appear at "
"the bottom (like the OOC chatlog). The traditional "
"(AO1) behaviour is equivalent to this being unticked."));
GameplayForm->setWidget(2, QFormLayout::LabelRole, DownwardsLabel); ui_gameplay_form->setWidget(2, QFormLayout::LabelRole, ui_downwards_lbl);
DownwardCheckbox = new QCheckBox(formLayoutWidget); ui_downwards_cb = new QCheckBox(ui_form_layout_widget);
DownwardCheckbox->setChecked(p_ao_app->get_log_goes_downwards()); ui_downwards_cb->setChecked(p_ao_app->get_log_goes_downwards());
GameplayForm->setWidget(2, QFormLayout::FieldRole, DownwardCheckbox); ui_gameplay_form->setWidget(2, QFormLayout::FieldRole, ui_downwards_cb);
LengthLabel = new QLabel(formLayoutWidget); ui_length_lbl = new QLabel(ui_form_layout_widget);
LengthLabel->setText("Log length:"); ui_length_lbl->setText(tr("Log length:"));
LengthLabel->setToolTip("The amount of messages the IC chatlog will keep before getting rid of older messages. A value of 0 or below counts as 'infinite'."); ui_length_lbl->setToolTip(tr("The amount of messages the IC chatlog will keep before "
"deleting older messages. A value of 0 or below counts as 'infinite'."));
GameplayForm->setWidget(3, QFormLayout::LabelRole, LengthLabel); ui_gameplay_form->setWidget(3, QFormLayout::LabelRole, ui_length_lbl);
LengthSpinbox = new QSpinBox(formLayoutWidget); ui_length_spinbox = new QSpinBox(ui_form_layout_widget);
LengthSpinbox->setMaximum(10000); ui_length_spinbox->setMaximum(10000);
LengthSpinbox->setValue(p_ao_app->get_max_log_size()); ui_length_spinbox->setValue(p_ao_app->get_max_log_size());
GameplayForm->setWidget(3, QFormLayout::FieldRole, LengthSpinbox); ui_gameplay_form->setWidget(3, QFormLayout::FieldRole, ui_length_spinbox);
LogNamesDivider = new QFrame(formLayoutWidget); ui_log_names_divider = new QFrame(ui_form_layout_widget);
LogNamesDivider->setFrameShape(QFrame::HLine); ui_log_names_divider->setFrameShape(QFrame::HLine);
LogNamesDivider->setFrameShadow(QFrame::Sunken); ui_log_names_divider->setFrameShadow(QFrame::Sunken);
GameplayForm->setWidget(4, QFormLayout::FieldRole, LogNamesDivider); ui_gameplay_form->setWidget(4, QFormLayout::FieldRole, ui_log_names_divider);
UsernameLabel = new QLabel(formLayoutWidget); ui_username_lbl = new QLabel(ui_form_layout_widget);
UsernameLabel->setText("Default username:"); ui_username_lbl->setText(tr("Default username:"));
UsernameLabel->setToolTip("Your OOC name will be filled in with this string when you join a server."); ui_username_lbl->setToolTip(tr("Your OOC name will be automatically set to this value "
"when you join a server."));
GameplayForm->setWidget(5, QFormLayout::LabelRole, UsernameLabel); ui_gameplay_form->setWidget(5, QFormLayout::LabelRole, ui_username_lbl);
UsernameLineEdit = new QLineEdit(formLayoutWidget); ui_username_textbox = new QLineEdit(ui_form_layout_widget);
UsernameLineEdit->setMaxLength(30); ui_username_textbox->setMaxLength(30);
UsernameLineEdit->setText(p_ao_app->get_default_username()); ui_username_textbox->setText(p_ao_app->get_default_username());
GameplayForm->setWidget(5, QFormLayout::FieldRole, UsernameLineEdit); ui_gameplay_form->setWidget(5, QFormLayout::FieldRole, ui_username_textbox);
ShownameLabel = new QLabel(formLayoutWidget); ui_showname_lbl = new QLabel(ui_form_layout_widget);
ShownameLabel->setText("Custom shownames:"); ui_showname_lbl->setText(tr("Custom shownames:"));
ShownameLabel->setToolTip("Gives the default value for the ingame 'Custom shownames' tickbox, which in turn determines whether your client should display custom shownames or not."); ui_showname_lbl->setToolTip(tr("Gives the default value for the in-game 'Custom shownames' "
"tickbox, which in turn determines whether the client should "
"display custom in-character names."));
GameplayForm->setWidget(6, QFormLayout::LabelRole, ShownameLabel); ui_gameplay_form->setWidget(6, QFormLayout::LabelRole, ui_showname_lbl);
ShownameCheckbox = new QCheckBox(formLayoutWidget); ui_showname_cb = new QCheckBox(ui_form_layout_widget);
ShownameCheckbox->setChecked(p_ao_app->get_showname_enabled_by_default()); ui_showname_cb->setChecked(p_ao_app->get_showname_enabled_by_default());
GameplayForm->setWidget(6, QFormLayout::FieldRole, ShownameCheckbox); ui_gameplay_form->setWidget(6, QFormLayout::FieldRole, ui_showname_cb);
NetDivider = new QFrame(formLayoutWidget); ui_net_divider = new QFrame(ui_form_layout_widget);
NetDivider->setFrameShape(QFrame::HLine); ui_net_divider->setFrameShape(QFrame::HLine);
NetDivider->setFrameShadow(QFrame::Sunken); ui_net_divider->setFrameShadow(QFrame::Sunken);
GameplayForm->setWidget(7, QFormLayout::FieldRole, NetDivider); ui_gameplay_form->setWidget(7, QFormLayout::FieldRole, ui_net_divider);
MasterServerLabel = new QLabel(formLayoutWidget); ui_ms_lbl = new QLabel(ui_form_layout_widget);
MasterServerLabel->setText("Backup MS:"); ui_ms_lbl->setText(tr("Backup MS:"));
MasterServerLabel->setToolTip("After the built-in server lookups fail, the game will try the address given here and use it as a backup masterserver address."); ui_ms_lbl->setToolTip(tr("If the built-in server lookups fail, the game will try the "
"address given here and use it as a backup master server address."));
GameplayForm->setWidget(8, QFormLayout::LabelRole, MasterServerLabel); ui_gameplay_form->setWidget(8, QFormLayout::LabelRole, ui_ms_lbl);
QSettings* configini = ao_app->configini; QSettings* configini = ao_app->configini;
MasterServerLineEdit = new QLineEdit(formLayoutWidget); ui_ms_textbox = new QLineEdit(ui_form_layout_widget);
MasterServerLineEdit->setText(configini->value("master", "").value<QString>()); ui_ms_textbox->setText(configini->value("master", "").value<QString>());
GameplayForm->setWidget(8, QFormLayout::FieldRole, MasterServerLineEdit); ui_gameplay_form->setWidget(8, QFormLayout::FieldRole, ui_ms_textbox);
DiscordLabel = new QLabel(formLayoutWidget); ui_discord_lbl = new QLabel(ui_form_layout_widget);
DiscordLabel->setText("Discord:"); ui_discord_lbl->setText(tr("Discord:"));
DiscordLabel->setToolTip("If true, allows Discord's Rich Presence to read data about your game. These are: what server you are in, what character are you playing, and how long have you been playing for."); ui_discord_lbl->setToolTip(tr("Allows others on Discord to see what server you are in, "
"what character are you playing, and how long you have "
"been playing for."));
GameplayForm->setWidget(9, QFormLayout::LabelRole, DiscordLabel); ui_gameplay_form->setWidget(9, QFormLayout::LabelRole, ui_discord_lbl);
DiscordCheckBox = new QCheckBox(formLayoutWidget); ui_discord_cb = new QCheckBox(ui_form_layout_widget);
DiscordCheckBox->setChecked(ao_app->is_discord_enabled()); ui_discord_cb->setChecked(ao_app->is_discord_enabled());
GameplayForm->setWidget(9, QFormLayout::FieldRole, DiscordCheckBox); ui_gameplay_form->setWidget(9, QFormLayout::FieldRole, ui_discord_cb);
// Here we start the callwords tab. // Here we start the callwords tab.
CallwordsTab = new QWidget(); ui_callwords_tab = new QWidget();
SettingsTabs->addTab(CallwordsTab, "Callwords"); ui_settings_tabs->addTab(ui_callwords_tab, tr("Callwords"));
verticalLayoutWidget = new QWidget(CallwordsTab); ui_callwords_widget = new QWidget(ui_callwords_tab);
verticalLayoutWidget->setGeometry(QRect(10, 10, 361, 211)); ui_callwords_widget->setGeometry(QRect(10, 10, 361, 211));
CallwordsLayout = new QVBoxLayout(verticalLayoutWidget); ui_callwords_layout = new QVBoxLayout(ui_callwords_widget);
CallwordsLayout->setContentsMargins(0,0,0,0); ui_callwords_layout->setContentsMargins(0,0,0,0);
CallwordsTextEdit = new QPlainTextEdit(verticalLayoutWidget); ui_callwords_textbox = new QPlainTextEdit(ui_callwords_widget);
QSizePolicy sizePolicy(QSizePolicy::Expanding, QSizePolicy::Expanding); QSizePolicy sizePolicy(QSizePolicy::Expanding, QSizePolicy::Expanding);
sizePolicy.setHorizontalStretch(0); sizePolicy.setHorizontalStretch(0);
sizePolicy.setVerticalStretch(0); sizePolicy.setVerticalStretch(0);
sizePolicy.setHeightForWidth(CallwordsTextEdit->sizePolicy().hasHeightForWidth()); sizePolicy.setHeightForWidth(ui_callwords_textbox->sizePolicy().hasHeightForWidth());
CallwordsTextEdit->setSizePolicy(sizePolicy); ui_callwords_textbox->setSizePolicy(sizePolicy);
// Let's fill the callwords text edit with the already present callwords. // Let's fill the callwords text edit with the already present callwords.
CallwordsTextEdit->document()->clear(); ui_callwords_textbox->document()->clear();
foreach (QString callword, p_ao_app->get_call_words()) { foreach (QString callword, p_ao_app->get_call_words()) {
CallwordsTextEdit->appendPlainText(callword); ui_callwords_textbox->appendPlainText(callword);
} }
CallwordsLayout->addWidget(CallwordsTextEdit); ui_callwords_layout->addWidget(ui_callwords_textbox);
CallwordsExplainLabel = new QLabel(verticalLayoutWidget); ui_callwords_explain_lbl = new QLabel(ui_callwords_widget);
CallwordsExplainLabel->setWordWrap(true); ui_callwords_explain_lbl->setWordWrap(true);
CallwordsExplainLabel->setText("<html><head/><body>Enter as many callwords as you would like. These are case insensitive. Make sure to leave every callword in its own line!<br>Do not leave a line with a space at the end -- you will be alerted everytime someone uses a space in their messages.</body></html>"); ui_callwords_explain_lbl->setText(tr("<html><head/><body>Enter as many callwords as you would like. These are case insensitive. Make sure to leave every callword in its own line!<br>Do not leave a line with a space at the end -- you will be alerted everytime someone uses a space in their messages.</body></html>"));
CallwordsLayout->addWidget(CallwordsExplainLabel); ui_callwords_layout->addWidget(ui_callwords_explain_lbl);
// The audio tab. // The audio tab.
AudioTab = new QWidget(); ui_audio_tab = new QWidget();
SettingsTabs->addTab(AudioTab, "Audio"); ui_settings_tabs->addTab(ui_audio_tab, tr("Audio"));
formLayoutWidget_2 = new QWidget(AudioTab); ui_audio_widget = new QWidget(ui_audio_tab);
formLayoutWidget_2->setGeometry(QRect(10, 10, 361, 211)); ui_audio_widget->setGeometry(QRect(10, 10, 361, 211));
AudioForm = new QFormLayout(formLayoutWidget_2); ui_audio_layout = new QFormLayout(ui_audio_widget);
AudioForm->setObjectName(QStringLiteral("AudioForm")); ui_audio_layout->setLabelAlignment(Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter);
AudioForm->setLabelAlignment(Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter); ui_audio_layout->setFormAlignment(Qt::AlignLeading|Qt::AlignLeft|Qt::AlignTop);
AudioForm->setFormAlignment(Qt::AlignLeading|Qt::AlignLeft|Qt::AlignTop); ui_audio_layout->setContentsMargins(0, 0, 0, 0);
AudioForm->setContentsMargins(0, 0, 0, 0);
AudioDevideLabel = new QLabel(formLayoutWidget_2); ui_audio_device_lbl = new QLabel(ui_audio_widget);
AudioDevideLabel->setText("Audio device:"); ui_audio_device_lbl->setText(tr("Audio device:"));
AudioDevideLabel->setToolTip("Allows you to set the theme used ingame. If your theme changes the lobby's look, too, you'll obviously need to reload the lobby somehow for it take effect. Joining a server and leaving it should work."); ui_audio_device_lbl->setToolTip(tr("Sets the audio device for all sounds."));
AudioForm->setWidget(0, QFormLayout::LabelRole, AudioDevideLabel); ui_audio_layout->setWidget(0, QFormLayout::LabelRole, ui_audio_device_lbl);
AudioDeviceCombobox = new QComboBox(formLayoutWidget_2); ui_audio_device_combobox = new QComboBox(ui_audio_widget);
// Let's fill out the combobox with the available audio devices. // Let's fill out the combobox with the available audio devices.
int a = 0; int a = 0;
@ -213,219 +224,228 @@ AOOptionsDialog::AOOptionsDialog(QWidget *parent, AOApplication *p_ao_app) : QDi
if (needs_default_audiodev()) if (needs_default_audiodev())
{ {
AudioDeviceCombobox->addItem("Default"); ui_audio_device_combobox->addItem("Default");
} }
for (a = 0; BASS_GetDeviceInfo(a, &info); a++) for (a = 0; BASS_GetDeviceInfo(a, &info); a++)
{ {
AudioDeviceCombobox->addItem(info.name); ui_audio_device_combobox->addItem(info.name);
if (p_ao_app->get_audio_output_device() == info.name) if (p_ao_app->get_audio_output_device() == info.name)
AudioDeviceCombobox->setCurrentIndex(AudioDeviceCombobox->count()-1); ui_audio_device_combobox->setCurrentIndex(ui_audio_device_combobox->count()-1);
} }
AudioForm->setWidget(0, QFormLayout::FieldRole, AudioDeviceCombobox); ui_audio_layout->setWidget(0, QFormLayout::FieldRole, ui_audio_device_combobox);
DeviceVolumeDivider = new QFrame(formLayoutWidget_2); ui_audio_volume_divider = new QFrame(ui_audio_widget);
DeviceVolumeDivider->setFrameShape(QFrame::HLine); ui_audio_volume_divider->setFrameShape(QFrame::HLine);
DeviceVolumeDivider->setFrameShadow(QFrame::Sunken); ui_audio_volume_divider->setFrameShadow(QFrame::Sunken);
AudioForm->setWidget(1, QFormLayout::FieldRole, DeviceVolumeDivider); ui_audio_layout->setWidget(1, QFormLayout::FieldRole, ui_audio_volume_divider);
MusicVolumeLabel = new QLabel(formLayoutWidget_2); ui_music_volume_lbl = new QLabel(ui_audio_widget);
MusicVolumeLabel->setText("Music:"); ui_music_volume_lbl->setText(tr("Music:"));
MusicVolumeLabel->setToolTip("Sets the music's default volume."); ui_music_volume_lbl->setToolTip(tr("Sets the music's default volume."));
AudioForm->setWidget(2, QFormLayout::LabelRole, MusicVolumeLabel); ui_audio_layout->setWidget(2, QFormLayout::LabelRole, ui_music_volume_lbl);
MusicVolumeSpinbox = new QSpinBox(formLayoutWidget_2); ui_music_volume_spinbox = new QSpinBox(ui_audio_widget);
MusicVolumeSpinbox->setValue(p_ao_app->get_default_music()); ui_music_volume_spinbox->setValue(p_ao_app->get_default_music());
MusicVolumeSpinbox->setMaximum(100); ui_music_volume_spinbox->setMaximum(100);
MusicVolumeSpinbox->setSuffix("%"); ui_music_volume_spinbox->setSuffix("%");
AudioForm->setWidget(2, QFormLayout::FieldRole, MusicVolumeSpinbox); ui_audio_layout->setWidget(2, QFormLayout::FieldRole, ui_music_volume_spinbox);
SFXVolumeLabel = new QLabel(formLayoutWidget_2); ui_sfx_volume_lbl = new QLabel(ui_audio_widget);
SFXVolumeLabel->setText("SFX:"); ui_sfx_volume_lbl->setText(tr("SFX:"));
SFXVolumeLabel->setToolTip("Sets the SFX's default volume. Interjections and actual sound effects count as 'SFX'."); ui_sfx_volume_lbl->setToolTip(tr("Sets the SFX's default volume. "
"Interjections and actual sound effects count as 'SFX'."));
AudioForm->setWidget(3, QFormLayout::LabelRole, SFXVolumeLabel); ui_audio_layout->setWidget(3, QFormLayout::LabelRole, ui_sfx_volume_lbl);
SFXVolumeSpinbox = new QSpinBox(formLayoutWidget_2); ui_sfx_volume_spinbox = new QSpinBox(ui_audio_widget);
SFXVolumeSpinbox->setValue(p_ao_app->get_default_sfx()); ui_sfx_volume_spinbox->setValue(p_ao_app->get_default_sfx());
SFXVolumeSpinbox->setMaximum(100); ui_sfx_volume_spinbox->setMaximum(100);
SFXVolumeSpinbox->setSuffix("%"); ui_sfx_volume_spinbox->setSuffix("%");
AudioForm->setWidget(3, QFormLayout::FieldRole, SFXVolumeSpinbox); ui_audio_layout->setWidget(3, QFormLayout::FieldRole, ui_sfx_volume_spinbox);
BlipsVolumeLabel = new QLabel(formLayoutWidget_2); ui_blips_volume_lbl = new QLabel(ui_audio_widget);
BlipsVolumeLabel->setText("Blips:"); ui_blips_volume_lbl->setText(tr("Blips:"));
BlipsVolumeLabel->setToolTip("Sets the volume of the blips, the talking sound effects."); ui_blips_volume_lbl->setToolTip(tr("Sets the volume of the blips, the talking sound effects."));
AudioForm->setWidget(4, QFormLayout::LabelRole, BlipsVolumeLabel); ui_audio_layout->setWidget(4, QFormLayout::LabelRole, ui_blips_volume_lbl);
BlipsVolumeSpinbox = new QSpinBox(formLayoutWidget_2); ui_blips_volume_spinbox = new QSpinBox(ui_audio_widget);
BlipsVolumeSpinbox->setValue(p_ao_app->get_default_blip()); ui_blips_volume_spinbox->setValue(p_ao_app->get_default_blip());
BlipsVolumeSpinbox->setMaximum(100); ui_blips_volume_spinbox->setMaximum(100);
BlipsVolumeSpinbox->setSuffix("%"); ui_blips_volume_spinbox->setSuffix("%");
AudioForm->setWidget(4, QFormLayout::FieldRole, BlipsVolumeSpinbox); ui_audio_layout->setWidget(4, QFormLayout::FieldRole, ui_blips_volume_spinbox);
VolumeBlipDivider = new QFrame(formLayoutWidget_2); ui_volume_blip_divider = new QFrame(ui_audio_widget);
VolumeBlipDivider->setFrameShape(QFrame::HLine); ui_volume_blip_divider->setFrameShape(QFrame::HLine);
VolumeBlipDivider->setFrameShadow(QFrame::Sunken); ui_volume_blip_divider->setFrameShadow(QFrame::Sunken);
AudioForm->setWidget(5, QFormLayout::FieldRole, VolumeBlipDivider); ui_audio_layout->setWidget(5, QFormLayout::FieldRole, ui_volume_blip_divider);
BlipRateLabel = new QLabel(formLayoutWidget_2); ui_bliprate_lbl = new QLabel(ui_audio_widget);
BlipRateLabel->setText("Blip rate:"); ui_bliprate_lbl->setText(tr("Blip rate:"));
BlipRateLabel->setToolTip("Sets the delay between playing the blip sounds."); ui_bliprate_lbl->setToolTip(tr("Sets the delay between playing the blip sounds."));
AudioForm->setWidget(6, QFormLayout::LabelRole, BlipRateLabel); ui_audio_layout->setWidget(6, QFormLayout::LabelRole, ui_bliprate_lbl);
BlipRateSpinbox = new QSpinBox(formLayoutWidget_2); ui_bliprate_spinbox = new QSpinBox(ui_audio_widget);
BlipRateSpinbox->setValue(p_ao_app->read_blip_rate()); ui_bliprate_spinbox->setValue(p_ao_app->read_blip_rate());
BlipRateSpinbox->setMinimum(1); ui_bliprate_spinbox->setMinimum(1);
AudioForm->setWidget(6, QFormLayout::FieldRole, BlipRateSpinbox); ui_audio_layout->setWidget(6, QFormLayout::FieldRole, ui_bliprate_spinbox);
BlankBlipsLabel = new QLabel(formLayoutWidget_2); ui_blank_blips_lbl = new QLabel(ui_audio_widget);
BlankBlipsLabel->setText("Blank blips:"); ui_blank_blips_lbl->setText(tr("Blank blips:"));
BlankBlipsLabel->setToolTip("If true, the game will play a blip sound even when a space is 'being said'."); ui_blank_blips_lbl->setToolTip(tr("If true, the game will play a blip sound even "
"when a space is 'being said'."));
AudioForm->setWidget(7, QFormLayout::LabelRole, BlankBlipsLabel); ui_audio_layout->setWidget(7, QFormLayout::LabelRole, ui_blank_blips_lbl);
BlankBlipsCheckbox = new QCheckBox(formLayoutWidget_2); ui_blank_blips_cb = new QCheckBox(ui_audio_widget);
BlankBlipsCheckbox->setChecked(p_ao_app->get_blank_blip()); ui_blank_blips_cb->setChecked(p_ao_app->get_blank_blip());
AudioForm->setWidget(7, QFormLayout::FieldRole, BlankBlipsCheckbox); ui_audio_layout->setWidget(7, QFormLayout::FieldRole, ui_blank_blips_cb);
// The casing tab! // The casing tab!
CasingTab = new QWidget(); ui_casing_tab = new QWidget();
SettingsTabs->addTab(CasingTab, "Casing"); ui_settings_tabs->addTab(ui_casing_tab, tr("Casing"));
formLayoutWidget_3 = new QWidget(CasingTab); ui_casing_widget = new QWidget(ui_casing_tab);
formLayoutWidget_3->setGeometry(QRect(10,10, 361, 211)); ui_casing_widget->setGeometry(QRect(10,10, 361, 211));
CasingForm = new QFormLayout(formLayoutWidget_3); ui_casing_layout = new QFormLayout(ui_casing_widget);
CasingForm->setObjectName(QStringLiteral("CasingForm")); ui_casing_layout->setLabelAlignment(Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter);
CasingForm->setLabelAlignment(Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter); ui_casing_layout->setFormAlignment(Qt::AlignLeading|Qt::AlignLeft|Qt::AlignTop);
CasingForm->setFormAlignment(Qt::AlignLeading|Qt::AlignLeft|Qt::AlignTop); ui_casing_layout->setContentsMargins(0, 0, 0, 0);
CasingForm->setContentsMargins(0, 0, 0, 0);
// -- SERVER SUPPORTS CASING // -- SERVER SUPPORTS CASING
ServerSupportsCasing = new QLabel(formLayoutWidget_3); ui_casing_supported_lbl = new QLabel(ui_casing_widget);
if (ao_app->casing_alerts_enabled) if (ao_app->casing_alerts_enabled)
ServerSupportsCasing->setText("This server supports case alerts."); ui_casing_supported_lbl->setText(tr("This server supports case alerts."));
else else
ServerSupportsCasing->setText("This server does not support case alerts."); ui_casing_supported_lbl->setText(tr("This server does not support case alerts."));
ServerSupportsCasing->setToolTip("Pretty self-explanatory."); ui_casing_supported_lbl->setToolTip(tr("Pretty self-explanatory."));
CasingForm->setWidget(0, QFormLayout::FieldRole, ServerSupportsCasing); ui_casing_layout->setWidget(0, QFormLayout::FieldRole, ui_casing_supported_lbl);
// -- CASE ANNOUNCEMENTS // -- CASE ANNOUNCEMENTS
CasingEnabledLabel = new QLabel(formLayoutWidget_3); ui_casing_enabled_lbl = new QLabel(ui_casing_widget);
CasingEnabledLabel->setText("Casing:"); ui_casing_enabled_lbl->setText(tr("Casing:"));
CasingEnabledLabel->setToolTip("If checked, you will get alerts about case announcements."); ui_casing_enabled_lbl->setToolTip(tr("If checked, you will get alerts about case "
"announcements."));
CasingForm->setWidget(1, QFormLayout::LabelRole, CasingEnabledLabel); ui_casing_layout->setWidget(1, QFormLayout::LabelRole, ui_casing_enabled_lbl);
CasingEnabledCheckbox = new QCheckBox(formLayoutWidget_3); ui_casing_enabled_cb = new QCheckBox(ui_casing_widget);
CasingEnabledCheckbox->setChecked(ao_app->get_casing_enabled()); ui_casing_enabled_cb->setChecked(ao_app->get_casing_enabled());
CasingForm->setWidget(1, QFormLayout::FieldRole, CasingEnabledCheckbox); ui_casing_layout->setWidget(1, QFormLayout::FieldRole, ui_casing_enabled_cb);
// -- DEFENCE ANNOUNCEMENTS // -- DEFENSE ANNOUNCEMENTS
DefenceLabel = new QLabel(formLayoutWidget_3); ui_casing_def_lbl = new QLabel(ui_casing_widget);
DefenceLabel->setText("Defence:"); ui_casing_def_lbl->setText(tr("Defense:"));
DefenceLabel->setToolTip("If checked, you will get alerts about case announcements if a defence spot is open."); ui_casing_def_lbl->setToolTip(tr("If checked, you will get alerts about case "
"announcements if a defense spot is open."));
CasingForm->setWidget(2, QFormLayout::LabelRole, DefenceLabel); ui_casing_layout->setWidget(2, QFormLayout::LabelRole, ui_casing_def_lbl);
DefenceCheckbox = new QCheckBox(formLayoutWidget_3); ui_casing_def_cb = new QCheckBox(ui_casing_widget);
DefenceCheckbox->setChecked(ao_app->get_casing_defence_enabled()); ui_casing_def_cb->setChecked(ao_app->get_casing_defence_enabled());
CasingForm->setWidget(2, QFormLayout::FieldRole, DefenceCheckbox); ui_casing_layout->setWidget(2, QFormLayout::FieldRole, ui_casing_def_cb);
// -- PROSECUTOR ANNOUNCEMENTS // -- PROSECUTOR ANNOUNCEMENTS
ProsecutorLabel = new QLabel(formLayoutWidget_3); ui_casing_pro_lbl = new QLabel(ui_casing_widget);
ProsecutorLabel->setText("Prosecution:"); ui_casing_pro_lbl->setText(tr("Prosecution:"));
ProsecutorLabel->setToolTip("If checked, you will get alerts about case announcements if a prosecutor spot is open."); ui_casing_pro_lbl->setToolTip(tr("If checked, you will get alerts about case "
"announcements if a prosecutor spot is open."));
CasingForm->setWidget(3, QFormLayout::LabelRole, ProsecutorLabel); ui_casing_layout->setWidget(3, QFormLayout::LabelRole, ui_casing_pro_lbl);
ProsecutorCheckbox = new QCheckBox(formLayoutWidget_3); ui_casing_pro_cb = new QCheckBox(ui_casing_widget);
ProsecutorCheckbox->setChecked(ao_app->get_casing_prosecution_enabled()); ui_casing_pro_cb->setChecked(ao_app->get_casing_prosecution_enabled());
CasingForm->setWidget(3, QFormLayout::FieldRole, ProsecutorCheckbox); ui_casing_layout->setWidget(3, QFormLayout::FieldRole, ui_casing_pro_cb);
// -- JUDGE ANNOUNCEMENTS // -- JUDGE ANNOUNCEMENTS
JudgeLabel = new QLabel(formLayoutWidget_3); ui_casing_jud_lbl = new QLabel(ui_casing_widget);
JudgeLabel->setText("Judge:"); ui_casing_jud_lbl->setText(tr("Judge:"));
JudgeLabel->setToolTip("If checked, you will get alerts about case announcements if the judge spot is open."); ui_casing_jud_lbl->setToolTip(tr("If checked, you will get alerts about case "
"announcements if the judge spot is open."));
CasingForm->setWidget(4, QFormLayout::LabelRole, JudgeLabel); ui_casing_layout->setWidget(4, QFormLayout::LabelRole, ui_casing_jud_lbl);
JudgeCheckbox = new QCheckBox(formLayoutWidget_3); ui_casing_jud_cb = new QCheckBox(ui_casing_widget);
JudgeCheckbox->setChecked(ao_app->get_casing_judge_enabled()); ui_casing_jud_cb->setChecked(ao_app->get_casing_judge_enabled());
CasingForm->setWidget(4, QFormLayout::FieldRole, JudgeCheckbox); ui_casing_layout->setWidget(4, QFormLayout::FieldRole, ui_casing_jud_cb);
// -- JUROR ANNOUNCEMENTS // -- JUROR ANNOUNCEMENTS
JurorLabel = new QLabel(formLayoutWidget_3); ui_casing_jur_lbl = new QLabel(ui_casing_widget);
JurorLabel->setText("Juror:"); ui_casing_jur_lbl->setText(tr("Juror:"));
JurorLabel->setToolTip("If checked, you will get alerts about case announcements if a juror spot is open."); ui_casing_jur_lbl->setToolTip(tr("If checked, you will get alerts about case "
"announcements if a juror spot is open."));
CasingForm->setWidget(5, QFormLayout::LabelRole, JurorLabel); ui_casing_layout->setWidget(5, QFormLayout::LabelRole, ui_casing_jur_lbl);
JurorCheckbox = new QCheckBox(formLayoutWidget_3); ui_casing_jur_cb = new QCheckBox(ui_casing_widget);
JurorCheckbox->setChecked(ao_app->get_casing_juror_enabled()); ui_casing_jur_cb->setChecked(ao_app->get_casing_juror_enabled());
CasingForm->setWidget(5, QFormLayout::FieldRole, JurorCheckbox); ui_casing_layout->setWidget(5, QFormLayout::FieldRole, ui_casing_jur_cb);
// -- STENO ANNOUNCEMENTS // -- STENO ANNOUNCEMENTS
StenographerLabel = new QLabel(formLayoutWidget_3); ui_casing_steno_lbl = new QLabel(ui_casing_widget);
StenographerLabel->setText("Stenographer:"); ui_casing_steno_lbl->setText(tr("Stenographer:"));
StenographerLabel->setToolTip("If checked, you will get alerts about case announcements if a stenographer spot is open."); ui_casing_steno_lbl->setToolTip(tr("If checked, you will get alerts about case "
"announcements if a stenographer spot is open."));
CasingForm->setWidget(6, QFormLayout::LabelRole, StenographerLabel); ui_casing_layout->setWidget(6, QFormLayout::LabelRole, ui_casing_steno_lbl);
StenographerCheckbox = new QCheckBox(formLayoutWidget_3); ui_casing_steno_cb = new QCheckBox(ui_casing_widget);
StenographerCheckbox->setChecked(ao_app->get_casing_steno_enabled()); ui_casing_steno_cb->setChecked(ao_app->get_casing_steno_enabled());
CasingForm->setWidget(6, QFormLayout::FieldRole, StenographerCheckbox); ui_casing_layout->setWidget(6, QFormLayout::FieldRole, ui_casing_steno_cb);
// -- CM ANNOUNCEMENTS // -- CM ANNOUNCEMENTS
CMLabel = new QLabel(formLayoutWidget_3); ui_casing_cm_lbl = new QLabel(ui_casing_widget);
CMLabel->setText("CM:"); ui_casing_cm_lbl->setText(tr("CM:"));
CMLabel->setToolTip("If checked, you will appear amongst the potential CMs on the server."); ui_casing_cm_lbl->setToolTip(tr("If checked, you will appear amongst the potential "
"CMs on the server."));
CasingForm->setWidget(7, QFormLayout::LabelRole, CMLabel); ui_casing_layout->setWidget(7, QFormLayout::LabelRole, ui_casing_cm_lbl);
CMCheckbox = new QCheckBox(formLayoutWidget_3); ui_casing_cm_cb = new QCheckBox(ui_casing_widget);
CMCheckbox->setChecked(ao_app->get_casing_cm_enabled()); ui_casing_cm_cb->setChecked(ao_app->get_casing_cm_enabled());
CasingForm->setWidget(7, QFormLayout::FieldRole, CMCheckbox); ui_casing_layout->setWidget(7, QFormLayout::FieldRole, ui_casing_cm_cb);
// -- CM CASES ANNOUNCEMENTS // -- CM CASES ANNOUNCEMENTS
CMCasesLabel = new QLabel(formLayoutWidget_3); ui_casing_cm_cases_lbl = new QLabel(ui_casing_widget);
CMCasesLabel->setText("Hosting cases:"); ui_casing_cm_cases_lbl->setText(tr("Hosting cases:"));
CMCasesLabel->setToolTip("If you're a CM, enter what cases are you willing to host."); ui_casing_cm_cases_lbl->setToolTip(tr("If you're a CM, enter what cases you are "
"willing to host."));
CasingForm->setWidget(8, QFormLayout::LabelRole, CMCasesLabel); ui_casing_layout->setWidget(8, QFormLayout::LabelRole, ui_casing_cm_cases_lbl);
CMCasesLineEdit = new QLineEdit(formLayoutWidget_3); ui_casing_cm_cases_textbox = new QLineEdit(ui_casing_widget);
CMCasesLineEdit->setText(ao_app->get_casing_can_host_cases()); ui_casing_cm_cases_textbox->setText(ao_app->get_casing_can_host_cases());
CasingForm->setWidget(8, QFormLayout::FieldRole, CMCasesLineEdit); ui_casing_layout->setWidget(8, QFormLayout::FieldRole, ui_casing_cm_cases_textbox);
// When we're done, we should continue the updates! // When we're done, we should continue the updates!
setUpdatesEnabled(true); setUpdatesEnabled(true);
@ -436,13 +456,13 @@ void AOOptionsDialog::save_pressed()
// Save everything into the config.ini. // Save everything into the config.ini.
QSettings* configini = ao_app->configini; QSettings* configini = ao_app->configini;
configini->setValue("theme", ThemeCombobox->currentText()); configini->setValue("theme", ui_theme_combobox->currentText());
configini->setValue("log_goes_downwards", DownwardCheckbox->isChecked()); configini->setValue("log_goes_downwards", ui_downwards_cb->isChecked());
configini->setValue("log_maximum", LengthSpinbox->value()); configini->setValue("log_maximum", ui_length_spinbox->value());
configini->setValue("default_username", UsernameLineEdit->text()); configini->setValue("default_username", ui_username_textbox->text());
configini->setValue("show_custom_shownames", ShownameCheckbox->isChecked()); configini->setValue("show_custom_shownames", ui_showname_cb->isChecked());
configini->setValue("master", MasterServerLineEdit->text()); configini->setValue("master", ui_ms_textbox->text());
configini->setValue("discord", DiscordCheckBox->isChecked()); configini->setValue("discord", ui_discord_cb->isChecked());
QFile* callwordsini = new QFile(ao_app->get_base_path() + "callwords.ini"); QFile* callwordsini = new QFile(ao_app->get_base_path() + "callwords.ini");
@ -453,25 +473,25 @@ void AOOptionsDialog::save_pressed()
else else
{ {
QTextStream out(callwordsini); QTextStream out(callwordsini);
out << CallwordsTextEdit->toPlainText(); out << ui_callwords_textbox->toPlainText();
callwordsini->close(); callwordsini->close();
} }
configini->setValue("default_audio_device", AudioDeviceCombobox->currentText()); configini->setValue("default_audio_device", ui_audio_device_combobox->currentText());
configini->setValue("default_music", MusicVolumeSpinbox->value()); configini->setValue("default_music", ui_music_volume_spinbox->value());
configini->setValue("default_sfx", SFXVolumeSpinbox->value()); configini->setValue("default_sfx", ui_sfx_volume_spinbox->value());
configini->setValue("default_blip", BlipsVolumeSpinbox->value()); configini->setValue("default_blip", ui_blips_volume_spinbox->value());
configini->setValue("blip_rate", BlipRateSpinbox->value()); configini->setValue("blip_rate", ui_bliprate_spinbox->value());
configini->setValue("blank_blip", BlankBlipsCheckbox->isChecked()); configini->setValue("blank_blip", ui_blank_blips_cb->isChecked());
configini->setValue("casing_enabled", CasingEnabledCheckbox->isChecked()); configini->setValue("casing_enabled", ui_casing_enabled_cb->isChecked());
configini->setValue("casing_defence_enabled", DefenceCheckbox->isChecked()); configini->setValue("casing_defence_enabled", ui_casing_def_cb->isChecked());
configini->setValue("casing_prosecution_enabled", ProsecutorCheckbox->isChecked()); configini->setValue("casing_prosecution_enabled", ui_casing_pro_cb->isChecked());
configini->setValue("casing_judge_enabled", JudgeCheckbox->isChecked()); configini->setValue("casing_judge_enabled", ui_casing_jud_cb->isChecked());
configini->setValue("casing_juror_enabled", JurorCheckbox->isChecked()); configini->setValue("casing_juror_enabled", ui_casing_jur_cb->isChecked());
configini->setValue("casing_steno_enabled", StenographerCheckbox->isChecked()); configini->setValue("casing_steno_enabled", ui_casing_steno_cb->isChecked());
configini->setValue("casing_cm_enabled", CMCheckbox->isChecked()); configini->setValue("casing_cm_enabled", ui_casing_cm_cb->isChecked());
configini->setValue("casing_can_host_casees", CMCasesLineEdit->text()); configini->setValue("casing_can_host_cases", ui_casing_cm_cases_textbox->text());
callwordsini->close(); callwordsini->close();
done(0); done(0);

View File

@ -32,76 +32,76 @@ public:
private: private:
AOApplication *ao_app; AOApplication *ao_app;
QVBoxLayout *verticalLayout; QVBoxLayout *ui_vertical_layout;
QTabWidget *SettingsTabs; QTabWidget *ui_settings_tabs;
QWidget *GameplayTab; QWidget *ui_gameplay_tab;
QWidget *formLayoutWidget; QWidget *ui_form_layout_widget;
QFormLayout *GameplayForm; QFormLayout *ui_gameplay_form;
QLabel *ThemeLabel; QLabel *ui_theme_label;
QComboBox *ThemeCombobox; QComboBox *ui_theme_combobox;
QFrame *ThemeLogDivider; QFrame *ui_theme_log_divider;
QLabel *DownwardsLabel; QLabel *ui_downwards_lbl;
QCheckBox *DownwardCheckbox; QCheckBox *ui_downwards_cb;
QLabel *LengthLabel; QLabel *ui_length_lbl;
QSpinBox *LengthSpinbox; QSpinBox *ui_length_spinbox;
QFrame *LogNamesDivider; QFrame *ui_log_names_divider;
QLineEdit *UsernameLineEdit; QLineEdit *ui_username_textbox;
QLabel *UsernameLabel; QLabel *ui_username_lbl;
QLabel *ShownameLabel; QLabel *ui_showname_lbl;
QCheckBox *ShownameCheckbox; QCheckBox *ui_showname_cb;
QFrame *NetDivider; QFrame *ui_net_divider;
QLabel *MasterServerLabel; QLabel *ui_ms_lbl;
QLineEdit *MasterServerLineEdit; QLineEdit *ui_ms_textbox;
QLabel *DiscordLabel; QLabel *ui_discord_lbl;
QCheckBox *DiscordCheckBox; QCheckBox *ui_discord_cb;
QWidget *CallwordsTab; QWidget *ui_callwords_tab;
QWidget *verticalLayoutWidget; QWidget *ui_callwords_widget;
QVBoxLayout *CallwordsLayout; QVBoxLayout *ui_callwords_layout;
QPlainTextEdit *CallwordsTextEdit; QPlainTextEdit *ui_callwords_textbox;
QLabel *CallwordsExplainLabel; QLabel *ui_callwords_explain_lbl;
QCheckBox *CharacterCallwordsCheckbox; QCheckBox *ui_callwords_char_textbox;
QWidget *AudioTab; QWidget *ui_audio_tab;
QWidget *formLayoutWidget_2; QWidget *ui_audio_widget;
QFormLayout *AudioForm; QFormLayout *ui_audio_layout;
QLabel *AudioDevideLabel; QLabel *ui_audio_device_lbl;
QComboBox *AudioDeviceCombobox; QComboBox *ui_audio_device_combobox;
QFrame *DeviceVolumeDivider; QFrame *ui_audio_volume_divider;
QSpinBox *MusicVolumeSpinbox; QSpinBox *ui_music_volume_spinbox;
QLabel *MusicVolumeLabel; QLabel *ui_music_volume_lbl;
QSpinBox *SFXVolumeSpinbox; QSpinBox *ui_sfx_volume_spinbox;
QSpinBox *BlipsVolumeSpinbox; QSpinBox *ui_blips_volume_spinbox;
QLabel *SFXVolumeLabel; QLabel *ui_sfx_volume_lbl;
QLabel *BlipsVolumeLabel; QLabel *ui_blips_volume_lbl;
QFrame *VolumeBlipDivider; QFrame *ui_volume_blip_divider;
QSpinBox *BlipRateSpinbox; QSpinBox *ui_bliprate_spinbox;
QLabel *BlipRateLabel; QLabel *ui_bliprate_lbl;
QCheckBox *BlankBlipsCheckbox; QCheckBox *ui_blank_blips_cb;
QLabel *BlankBlipsLabel; QLabel *ui_blank_blips_lbl;
QDialogButtonBox *SettingsButtons; QDialogButtonBox *ui_settings_buttons;
QWidget *CasingTab; QWidget *ui_casing_tab;
QWidget *formLayoutWidget_3; QWidget *ui_casing_widget;
QFormLayout *CasingForm; QFormLayout *ui_casing_layout;
QLabel *ServerSupportsCasing; QLabel *ui_casing_supported_lbl;
QLabel *CasingEnabledLabel; QLabel *ui_casing_enabled_lbl;
QCheckBox *CasingEnabledCheckbox; QCheckBox *ui_casing_enabled_cb;
QLabel *DefenceLabel; QLabel *ui_casing_def_lbl;
QCheckBox *DefenceCheckbox; QCheckBox *ui_casing_def_cb;
QLabel *ProsecutorLabel; QLabel *ui_casing_pro_lbl;
QCheckBox *ProsecutorCheckbox; QCheckBox *ui_casing_pro_cb;
QLabel *JudgeLabel; QLabel *ui_casing_jud_lbl;
QCheckBox *JudgeCheckbox; QCheckBox *ui_casing_jud_cb;
QLabel *JurorLabel; QLabel *ui_casing_jur_lbl;
QCheckBox *JurorCheckbox; QCheckBox *ui_casing_jur_cb;
QLabel *StenographerLabel; QLabel *ui_casing_steno_lbl;
QCheckBox *StenographerCheckbox; QCheckBox *ui_casing_steno_cb;
QLabel *CMLabel; QLabel *ui_casing_cm_lbl;
QCheckBox *CMCheckbox; QCheckBox *ui_casing_cm_cb;
QLabel *CMCasesLabel; QLabel *ui_casing_cm_cases_lbl;
QLineEdit *CMCasesLineEdit; QLineEdit *ui_casing_cm_cases_textbox;
bool needs_default_audiodev(); bool needs_default_audiodev();

View File

@ -118,11 +118,11 @@ Courtroom::Courtroom(AOApplication *p_ao_app) : QMainWindow()
ui_ic_chat_name = new QLineEdit(this); ui_ic_chat_name = new QLineEdit(this);
ui_ic_chat_name->setFrame(false); ui_ic_chat_name->setFrame(false);
ui_ic_chat_name->setPlaceholderText("Showname"); ui_ic_chat_name->setPlaceholderText(tr("Showname"));
ui_ic_chat_message = new QLineEdit(this); ui_ic_chat_message = new QLineEdit(this);
ui_ic_chat_message->setFrame(false); ui_ic_chat_message->setFrame(false);
ui_ic_chat_message->setPlaceholderText("Message"); ui_ic_chat_message->setPlaceholderText(tr("Message"));
ui_muted = new AOImage(ui_ic_chat_message, ao_app); ui_muted = new AOImage(ui_ic_chat_message, ao_app);
ui_muted->hide(); ui_muted->hide();
@ -193,15 +193,15 @@ Courtroom::Courtroom(AOApplication *p_ao_app) : QMainWindow()
ui_guard->hide(); ui_guard->hide();
ui_casing = new QCheckBox(this); ui_casing = new QCheckBox(this);
ui_casing->setChecked(ao_app->get_casing_enabled()); ui_casing->setChecked(ao_app->get_casing_enabled());
ui_casing->setText("Casing"); ui_casing->setText(tr("Casing"));
ui_casing->hide(); ui_casing->hide();
ui_showname_enable = new QCheckBox(this); ui_showname_enable = new QCheckBox(this);
ui_showname_enable->setChecked(ao_app->get_showname_enabled_by_default()); ui_showname_enable->setChecked(ao_app->get_showname_enabled_by_default());
ui_showname_enable->setText("Shownames"); ui_showname_enable->setText(tr("Shownames"));
ui_pre_non_interrupt = new QCheckBox(this); ui_pre_non_interrupt = new QCheckBox(this);
ui_pre_non_interrupt->setText("No Intrpt"); ui_pre_non_interrupt->setText(tr("No Intrpt"));
ui_pre_non_interrupt->hide(); ui_pre_non_interrupt->hide();
ui_custom_objection = new AOButton(this, ao_app); ui_custom_objection = new AOButton(this, ao_app);

View File

@ -29,8 +29,8 @@ void Discord::state_lobby()
{ {
DiscordRichPresence presence; DiscordRichPresence presence;
std::memset(&presence, 0, sizeof(presence)); std::memset(&presence, 0, sizeof(presence));
presence.largeImageKey = "aa_cc_icon_new"; presence.largeImageKey = "ao2-logo";
presence.largeImageText = "Omit!"; presence.largeImageText = "Objection!";
presence.instance = 1; presence.instance = 1;
presence.state = "In Lobby"; presence.state = "In Lobby";
@ -44,8 +44,8 @@ void Discord::state_server(std::string name, std::string server_id)
DiscordRichPresence presence; DiscordRichPresence presence;
std::memset(&presence, 0, sizeof(presence)); std::memset(&presence, 0, sizeof(presence));
presence.largeImageKey = "aa_cc_icon_new"; presence.largeImageKey = "ao2-logo";
presence.largeImageText = "Omit!"; presence.largeImageText = "Objection!";
presence.instance = 1; presence.instance = 1;
auto timestamp = static_cast<int64_t>(std::time(nullptr)); auto timestamp = static_cast<int64_t>(std::time(nullptr));
@ -70,8 +70,8 @@ void Discord::state_character(std::string name)
DiscordRichPresence presence; DiscordRichPresence presence;
std::memset(&presence, 0, sizeof(presence)); std::memset(&presence, 0, sizeof(presence));
presence.largeImageKey = "aa_cc_icon_new"; presence.largeImageKey = "ao2-logo";
presence.largeImageText = "Omit!"; presence.largeImageText = "Objection!";
presence.instance = 1; presence.instance = 1;
presence.details = this->server_name.c_str(); presence.details = this->server_name.c_str();
presence.matchSecret = this->server_id.c_str(); presence.matchSecret = this->server_id.c_str();
@ -89,8 +89,8 @@ void Discord::state_spectate()
DiscordRichPresence presence; DiscordRichPresence presence;
std::memset(&presence, 0, sizeof(presence)); std::memset(&presence, 0, sizeof(presence));
presence.largeImageKey = "aa_cc_icon_new"; presence.largeImageKey = "ao2-logo";
presence.largeImageText = "Omit!"; presence.largeImageText = "Objection!";
presence.instance = 1; presence.instance = 1;
presence.details = this->server_name.c_str(); presence.details = this->server_name.c_str();
presence.matchSecret = this->server_id.c_str(); presence.matchSecret = this->server_id.c_str();

View File

@ -17,7 +17,7 @@ namespace AttorneyOnline {
class Discord class Discord
{ {
private: private:
const char* APPLICATION_ID = "474362730397302823"; const char* APPLICATION_ID = "399779271737868288";
std::string server_name, server_id; std::string server_name, server_id;
int64_t timestamp; int64_t timestamp;
public: public:

View File

@ -9,7 +9,7 @@ Lobby::Lobby(AOApplication *p_ao_app) : QMainWindow()
{ {
ao_app = p_ao_app; ao_app = p_ao_app;
this->setWindowTitle("Attorney Online 2 -- Case Café Custom Client"); this->setWindowTitle("Attorney Online 2");
ui_background = new AOImage(this, ao_app); ui_background = new AOImage(this, ao_app);
ui_public_servers = new AOButton(this, ao_app); ui_public_servers = new AOButton(this, ao_app);
@ -98,7 +98,7 @@ void Lobby::set_widgets()
ui_connect->set_image("connect.png"); ui_connect->set_image("connect.png");
set_size_and_pos(ui_version, "version"); set_size_and_pos(ui_version, "version");
ui_version->setText("AO Version: " + ao_app->get_version_string() + " | CCCC Version: " + ao_app->get_cccc_version_string()); ui_version->setText("Version: " + ao_app->get_version_string());
set_size_and_pos(ui_about, "about"); set_size_and_pos(ui_about, "about");
ui_about->set_image("about.png"); ui_about->set_image("about.png");

View File

@ -241,7 +241,7 @@ void AOApplication::server_packet_received(AOPacket *p_packet)
courtroom_loaded = false; courtroom_loaded = false;
QString window_title = "Attorney Online 2 -- Case Café Custom Client"; QString window_title = "Attorney Online 2";
int selected_server = w_lobby->get_selected_server(); int selected_server = w_lobby->get_selected_server();
QString server_address = "", server_name = ""; QString server_address = "", server_name = "";
@ -250,7 +250,7 @@ void AOApplication::server_packet_received(AOPacket *p_packet)
if (selected_server >= 0 && selected_server < server_list.size()) { if (selected_server >= 0 && selected_server < server_list.size()) {
auto info = server_list.at(selected_server); auto info = server_list.at(selected_server);
server_name = info.name; server_name = info.name;
server_address = info.ip + info.port; server_address = QString("%1:%2").arg(info.ip, info.port);
window_title += ": " + server_name; window_title += ": " + server_name;
} }
} }
@ -289,8 +289,6 @@ void AOApplication::server_packet_received(AOPacket *p_packet)
if (!courtroom_constructed) if (!courtroom_constructed)
goto end; goto end;
int total_loading_size = char_list_size + evidence_list_size + music_list_size;
for (int n_element = 0 ; n_element < f_contents.size() ; n_element += 2) for (int n_element = 0 ; n_element < f_contents.size() ; n_element += 2)
{ {
if (f_contents.at(n_element).toInt() != loaded_chars) if (f_contents.at(n_element).toInt() != loaded_chars)
@ -447,8 +445,6 @@ void AOApplication::server_packet_received(AOPacket *p_packet)
if (!courtroom_constructed) if (!courtroom_constructed)
goto end; goto end;
int total_loading_size = char_list_size + evidence_list_size + music_list_size;
for (int n_element = 0 ; n_element < f_contents.size() ; ++n_element) for (int n_element = 0 ; n_element < f_contents.size() ; ++n_element)
{ {
QStringList sub_elements = f_contents.at(n_element).split("&"); QStringList sub_elements = f_contents.at(n_element).split("&");
@ -479,7 +475,6 @@ void AOApplication::server_packet_received(AOPacket *p_packet)
if (!courtroom_constructed) if (!courtroom_constructed)
goto end; goto end;
int total_loading_size = char_list_size + evidence_list_size + music_list_size;
bool musics_time = false; bool musics_time = false;
int areas = 0; int areas = 0;

View File

@ -571,6 +571,6 @@ bool AOApplication::get_casing_cm_enabled()
QString AOApplication::get_casing_can_host_cases() QString AOApplication::get_casing_can_host_cases()
{ {
QString result = configini->value("casing_can_host_casees", "Turnabout Check Your Settings").value<QString>(); QString result = configini->value("casing_can_host_cases", "Turnabout Check Your Settings").value<QString>();
return result; return result;
} }