|
|
|
@ -8,51 +8,54 @@ AOOptionsDialog::AOOptionsDialog(QWidget *parent, AOApplication *p_ao_app) : QDi
|
|
|
|
|
|
|
|
|
|
// Setting up the basics.
|
|
|
|
|
// setAttribute(Qt::WA_DeleteOnClose);
|
|
|
|
|
setWindowTitle("Settings");
|
|
|
|
|
setWindowTitle(tr("Settings"));
|
|
|
|
|
resize(398, 320);
|
|
|
|
|
|
|
|
|
|
SettingsButtons = new QDialogButtonBox(this);
|
|
|
|
|
ui_settings_buttons = new QDialogButtonBox(this);
|
|
|
|
|
|
|
|
|
|
QSizePolicy sizePolicy1(QSizePolicy::Expanding, QSizePolicy::Fixed);
|
|
|
|
|
sizePolicy1.setHorizontalStretch(0);
|
|
|
|
|
sizePolicy1.setVerticalStretch(0);
|
|
|
|
|
sizePolicy1.setHeightForWidth(SettingsButtons->sizePolicy().hasHeightForWidth());
|
|
|
|
|
SettingsButtons->setSizePolicy(sizePolicy1);
|
|
|
|
|
SettingsButtons->setOrientation(Qt::Horizontal);
|
|
|
|
|
SettingsButtons->setStandardButtons(QDialogButtonBox::Cancel|QDialogButtonBox::Save);
|
|
|
|
|
sizePolicy1.setHeightForWidth(ui_settings_buttons->sizePolicy().hasHeightForWidth());
|
|
|
|
|
ui_settings_buttons->setSizePolicy(sizePolicy1);
|
|
|
|
|
ui_settings_buttons->setOrientation(Qt::Horizontal);
|
|
|
|
|
ui_settings_buttons->setStandardButtons(QDialogButtonBox::Cancel | QDialogButtonBox::Save);
|
|
|
|
|
|
|
|
|
|
QObject::connect(SettingsButtons, SIGNAL(accepted()), this, SLOT(save_pressed()));
|
|
|
|
|
QObject::connect(SettingsButtons, SIGNAL(rejected()), this, SLOT(discard_pressed()));
|
|
|
|
|
QObject::connect(ui_settings_buttons, SIGNAL(accepted()), this, SLOT(save_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.
|
|
|
|
|
setUpdatesEnabled(false);
|
|
|
|
|
|
|
|
|
|
// First of all, we want a tabbed dialog, so let's add some layout.
|
|
|
|
|
verticalLayout = new QVBoxLayout(this);
|
|
|
|
|
SettingsTabs = new QTabWidget(this);
|
|
|
|
|
ui_vertical_layout = new QVBoxLayout(this);
|
|
|
|
|
ui_settings_tabs = new QTabWidget(this);
|
|
|
|
|
|
|
|
|
|
verticalLayout->addWidget(SettingsTabs);
|
|
|
|
|
verticalLayout->addWidget(SettingsButtons);
|
|
|
|
|
ui_vertical_layout->addWidget(ui_settings_tabs);
|
|
|
|
|
ui_vertical_layout->addWidget(ui_settings_buttons);
|
|
|
|
|
|
|
|
|
|
// Let's add the tabs one by one.
|
|
|
|
|
// First, we'll start with 'Gameplay'.
|
|
|
|
|
GameplayTab = new QWidget();
|
|
|
|
|
SettingsTabs->addTab(GameplayTab, "Gameplay");
|
|
|
|
|
ui_gameplay_tab = new QWidget();
|
|
|
|
|
ui_settings_tabs->addTab(ui_gameplay_tab, tr("Gameplay"));
|
|
|
|
|
|
|
|
|
|
formLayoutWidget = new QWidget(GameplayTab);
|
|
|
|
|
formLayoutWidget->setGeometry(QRect(10, 10, 361, 211));
|
|
|
|
|
ui_form_layout_widget = new QWidget(ui_gameplay_tab);
|
|
|
|
|
ui_form_layout_widget->setGeometry(QRect(10, 10, 361, 211));
|
|
|
|
|
|
|
|
|
|
GameplayForm = new QFormLayout(formLayoutWidget);
|
|
|
|
|
GameplayForm->setLabelAlignment(Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter);
|
|
|
|
|
GameplayForm->setFormAlignment(Qt::AlignLeading|Qt::AlignLeft|Qt::AlignTop);
|
|
|
|
|
GameplayForm->setContentsMargins(0, 0, 0, 0);
|
|
|
|
|
ui_gameplay_form = new QFormLayout(ui_form_layout_widget);
|
|
|
|
|
ui_gameplay_form->setLabelAlignment(Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter);
|
|
|
|
|
ui_gameplay_form->setFormAlignment(Qt::AlignLeading|Qt::AlignLeft|Qt::AlignTop);
|
|
|
|
|
ui_gameplay_form->setContentsMargins(0, 0, 0, 0);
|
|
|
|
|
|
|
|
|
|
ThemeLabel = new QLabel(formLayoutWidget);
|
|
|
|
|
ThemeLabel->setText("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.");
|
|
|
|
|
GameplayForm->setWidget(0, QFormLayout::LabelRole, ThemeLabel);
|
|
|
|
|
ui_theme_label = new QLabel(ui_form_layout_widget);
|
|
|
|
|
ui_theme_label->setText(tr("Theme:"));
|
|
|
|
|
ui_theme_label->setToolTip(tr("Sets the theme used in-game. If the new theme changes "
|
|
|
|
|
"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.
|
|
|
|
|
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();
|
|
|
|
|
if (actualname != "." && actualname != "..")
|
|
|
|
|
ThemeCombobox->addItem(actualname);
|
|
|
|
|
ui_theme_combobox->addItem(actualname);
|
|
|
|
|
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);
|
|
|
|
|
ThemeLogDivider->setMidLineWidth(0);
|
|
|
|
|
ThemeLogDivider->setFrameShape(QFrame::HLine);
|
|
|
|
|
ThemeLogDivider->setFrameShadow(QFrame::Sunken);
|
|
|
|
|
ui_theme_log_divider = new QFrame(ui_form_layout_widget);
|
|
|
|
|
ui_theme_log_divider->setMidLineWidth(0);
|
|
|
|
|
ui_theme_log_divider->setFrameShape(QFrame::HLine);
|
|
|
|
|
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);
|
|
|
|
|
DownwardsLabel->setText("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 = new QLabel(ui_form_layout_widget);
|
|
|
|
|
ui_downwards_lbl->setText(tr("Log goes downwards:"));
|
|
|
|
|
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);
|
|
|
|
|
DownwardCheckbox->setChecked(p_ao_app->get_log_goes_downwards());
|
|
|
|
|
ui_downwards_cb = new QCheckBox(ui_form_layout_widget);
|
|
|
|
|
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);
|
|
|
|
|
LengthLabel->setText("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 = new QLabel(ui_form_layout_widget);
|
|
|
|
|
ui_length_lbl->setText(tr("Log length:"));
|
|
|
|
|
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);
|
|
|
|
|
LengthSpinbox->setMaximum(10000);
|
|
|
|
|
LengthSpinbox->setValue(p_ao_app->get_max_log_size());
|
|
|
|
|
ui_length_spinbox = new QSpinBox(ui_form_layout_widget);
|
|
|
|
|
ui_length_spinbox->setMaximum(10000);
|
|
|
|
|
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);
|
|
|
|
|
LogNamesDivider->setFrameShape(QFrame::HLine);
|
|
|
|
|
LogNamesDivider->setFrameShadow(QFrame::Sunken);
|
|
|
|
|
ui_log_names_divider = new QFrame(ui_form_layout_widget);
|
|
|
|
|
ui_log_names_divider->setFrameShape(QFrame::HLine);
|
|
|
|
|
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);
|
|
|
|
|
UsernameLabel->setText("Default username:");
|
|
|
|
|
UsernameLabel->setToolTip("Your OOC name will be filled in with this string when you join a server.");
|
|
|
|
|
ui_username_lbl = new QLabel(ui_form_layout_widget);
|
|
|
|
|
ui_username_lbl->setText(tr("Default username:"));
|
|
|
|
|
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);
|
|
|
|
|
UsernameLineEdit->setMaxLength(30);
|
|
|
|
|
UsernameLineEdit->setText(p_ao_app->get_default_username());
|
|
|
|
|
ui_username_textbox = new QLineEdit(ui_form_layout_widget);
|
|
|
|
|
ui_username_textbox->setMaxLength(30);
|
|
|
|
|
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);
|
|
|
|
|
ShownameLabel->setText("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 = new QLabel(ui_form_layout_widget);
|
|
|
|
|
ui_showname_lbl->setText(tr("Custom shownames:"));
|
|
|
|
|
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);
|
|
|
|
|
ShownameCheckbox->setChecked(p_ao_app->get_showname_enabled_by_default());
|
|
|
|
|
ui_showname_cb = new QCheckBox(ui_form_layout_widget);
|
|
|
|
|
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);
|
|
|
|
|
NetDivider->setFrameShape(QFrame::HLine);
|
|
|
|
|
NetDivider->setFrameShadow(QFrame::Sunken);
|
|
|
|
|
ui_net_divider = new QFrame(ui_form_layout_widget);
|
|
|
|
|
ui_net_divider->setFrameShape(QFrame::HLine);
|
|
|
|
|
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);
|
|
|
|
|
MasterServerLabel->setText("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 = new QLabel(ui_form_layout_widget);
|
|
|
|
|
ui_ms_lbl->setText(tr("Backup MS:"));
|
|
|
|
|
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;
|
|
|
|
|
MasterServerLineEdit = new QLineEdit(formLayoutWidget);
|
|
|
|
|
MasterServerLineEdit->setText(configini->value("master", "").value<QString>());
|
|
|
|
|
ui_ms_textbox = new QLineEdit(ui_form_layout_widget);
|
|
|
|
|
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);
|
|
|
|
|
DiscordLabel->setText("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 = new QLabel(ui_form_layout_widget);
|
|
|
|
|
ui_discord_lbl->setText(tr("Discord:"));
|
|
|
|
|
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);
|
|
|
|
|
DiscordCheckBox->setChecked(ao_app->is_discord_enabled());
|
|
|
|
|
ui_discord_cb = new QCheckBox(ui_form_layout_widget);
|
|
|
|
|
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.
|
|
|
|
|
CallwordsTab = new QWidget();
|
|
|
|
|
SettingsTabs->addTab(CallwordsTab, "Callwords");
|
|
|
|
|
ui_callwords_tab = new QWidget();
|
|
|
|
|
ui_settings_tabs->addTab(ui_callwords_tab, tr("Callwords"));
|
|
|
|
|
|
|
|
|
|
verticalLayoutWidget = new QWidget(CallwordsTab);
|
|
|
|
|
verticalLayoutWidget->setGeometry(QRect(10, 10, 361, 211));
|
|
|
|
|
ui_callwords_widget = new QWidget(ui_callwords_tab);
|
|
|
|
|
ui_callwords_widget->setGeometry(QRect(10, 10, 361, 211));
|
|
|
|
|
|
|
|
|
|
CallwordsLayout = new QVBoxLayout(verticalLayoutWidget);
|
|
|
|
|
CallwordsLayout->setContentsMargins(0,0,0,0);
|
|
|
|
|
ui_callwords_layout = new QVBoxLayout(ui_callwords_widget);
|
|
|
|
|
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);
|
|
|
|
|
sizePolicy.setHorizontalStretch(0);
|
|
|
|
|
sizePolicy.setVerticalStretch(0);
|
|
|
|
|
sizePolicy.setHeightForWidth(CallwordsTextEdit->sizePolicy().hasHeightForWidth());
|
|
|
|
|
CallwordsTextEdit->setSizePolicy(sizePolicy);
|
|
|
|
|
sizePolicy.setHeightForWidth(ui_callwords_textbox->sizePolicy().hasHeightForWidth());
|
|
|
|
|
ui_callwords_textbox->setSizePolicy(sizePolicy);
|
|
|
|
|
|
|
|
|
|
// 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()) {
|
|
|
|
|
CallwordsTextEdit->appendPlainText(callword);
|
|
|
|
|
ui_callwords_textbox->appendPlainText(callword);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
CallwordsLayout->addWidget(CallwordsTextEdit);
|
|
|
|
|
ui_callwords_layout->addWidget(ui_callwords_textbox);
|
|
|
|
|
|
|
|
|
|
CallwordsExplainLabel = new QLabel(verticalLayoutWidget);
|
|
|
|
|
CallwordsExplainLabel->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 = new QLabel(ui_callwords_widget);
|
|
|
|
|
ui_callwords_explain_lbl->setWordWrap(true);
|
|
|
|
|
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.
|
|
|
|
|
AudioTab = new QWidget();
|
|
|
|
|
SettingsTabs->addTab(AudioTab, "Audio");
|
|
|
|
|
ui_audio_tab = new QWidget();
|
|
|
|
|
ui_settings_tabs->addTab(ui_audio_tab, tr("Audio"));
|
|
|
|
|
|
|
|
|
|
formLayoutWidget_2 = new QWidget(AudioTab);
|
|
|
|
|
formLayoutWidget_2->setGeometry(QRect(10, 10, 361, 211));
|
|
|
|
|
ui_audio_widget = new QWidget(ui_audio_tab);
|
|
|
|
|
ui_audio_widget->setGeometry(QRect(10, 10, 361, 211));
|
|
|
|
|
|
|
|
|
|
AudioForm = new QFormLayout(formLayoutWidget_2);
|
|
|
|
|
AudioForm->setObjectName(QStringLiteral("AudioForm"));
|
|
|
|
|
AudioForm->setLabelAlignment(Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter);
|
|
|
|
|
AudioForm->setFormAlignment(Qt::AlignLeading|Qt::AlignLeft|Qt::AlignTop);
|
|
|
|
|
AudioForm->setContentsMargins(0, 0, 0, 0);
|
|
|
|
|
ui_audio_layout = new QFormLayout(ui_audio_widget);
|
|
|
|
|
ui_audio_layout->setLabelAlignment(Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter);
|
|
|
|
|
ui_audio_layout->setFormAlignment(Qt::AlignLeading|Qt::AlignLeft|Qt::AlignTop);
|
|
|
|
|
ui_audio_layout->setContentsMargins(0, 0, 0, 0);
|
|
|
|
|
|
|
|
|
|
AudioDevideLabel = new QLabel(formLayoutWidget_2);
|
|
|
|
|
AudioDevideLabel->setText("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 = new QLabel(ui_audio_widget);
|
|
|
|
|
ui_audio_device_lbl->setText(tr("Audio device:"));
|
|
|
|
|
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.
|
|
|
|
|
int a = 0;
|
|
|
|
@ -213,219 +224,228 @@ AOOptionsDialog::AOOptionsDialog(QWidget *parent, AOApplication *p_ao_app) : QDi
|
|
|
|
|
|
|
|
|
|
if (needs_default_audiodev())
|
|
|
|
|
{
|
|
|
|
|
AudioDeviceCombobox->addItem("Default");
|
|
|
|
|
ui_audio_device_combobox->addItem("Default");
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
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)
|
|
|
|
|
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);
|
|
|
|
|
DeviceVolumeDivider->setFrameShape(QFrame::HLine);
|
|
|
|
|
DeviceVolumeDivider->setFrameShadow(QFrame::Sunken);
|
|
|
|
|
ui_audio_volume_divider = new QFrame(ui_audio_widget);
|
|
|
|
|
ui_audio_volume_divider->setFrameShape(QFrame::HLine);
|
|
|
|
|
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);
|
|
|
|
|
MusicVolumeLabel->setText("Music:");
|
|
|
|
|
MusicVolumeLabel->setToolTip("Sets the music's default volume.");
|
|
|
|
|
ui_music_volume_lbl = new QLabel(ui_audio_widget);
|
|
|
|
|
ui_music_volume_lbl->setText(tr("Music:"));
|
|
|
|
|
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);
|
|
|
|
|
MusicVolumeSpinbox->setValue(p_ao_app->get_default_music());
|
|
|
|
|
MusicVolumeSpinbox->setMaximum(100);
|
|
|
|
|
MusicVolumeSpinbox->setSuffix("%");
|
|
|
|
|
ui_music_volume_spinbox = new QSpinBox(ui_audio_widget);
|
|
|
|
|
ui_music_volume_spinbox->setValue(p_ao_app->get_default_music());
|
|
|
|
|
ui_music_volume_spinbox->setMaximum(100);
|
|
|
|
|
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);
|
|
|
|
|
SFXVolumeLabel->setText("SFX:");
|
|
|
|
|
SFXVolumeLabel->setToolTip("Sets the SFX's default volume. Interjections and actual sound effects count as 'SFX'.");
|
|
|
|
|
ui_sfx_volume_lbl = new QLabel(ui_audio_widget);
|
|
|
|
|
ui_sfx_volume_lbl->setText(tr("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);
|
|
|
|
|
SFXVolumeSpinbox->setValue(p_ao_app->get_default_sfx());
|
|
|
|
|
SFXVolumeSpinbox->setMaximum(100);
|
|
|
|
|
SFXVolumeSpinbox->setSuffix("%");
|
|
|
|
|
ui_sfx_volume_spinbox = new QSpinBox(ui_audio_widget);
|
|
|
|
|
ui_sfx_volume_spinbox->setValue(p_ao_app->get_default_sfx());
|
|
|
|
|
ui_sfx_volume_spinbox->setMaximum(100);
|
|
|
|
|
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);
|
|
|
|
|
BlipsVolumeLabel->setText("Blips:");
|
|
|
|
|
BlipsVolumeLabel->setToolTip("Sets the volume of the blips, the talking sound effects.");
|
|
|
|
|
ui_blips_volume_lbl = new QLabel(ui_audio_widget);
|
|
|
|
|
ui_blips_volume_lbl->setText(tr("Blips:"));
|
|
|
|
|
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);
|
|
|
|
|
BlipsVolumeSpinbox->setValue(p_ao_app->get_default_blip());
|
|
|
|
|
BlipsVolumeSpinbox->setMaximum(100);
|
|
|
|
|
BlipsVolumeSpinbox->setSuffix("%");
|
|
|
|
|
ui_blips_volume_spinbox = new QSpinBox(ui_audio_widget);
|
|
|
|
|
ui_blips_volume_spinbox->setValue(p_ao_app->get_default_blip());
|
|
|
|
|
ui_blips_volume_spinbox->setMaximum(100);
|
|
|
|
|
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);
|
|
|
|
|
VolumeBlipDivider->setFrameShape(QFrame::HLine);
|
|
|
|
|
VolumeBlipDivider->setFrameShadow(QFrame::Sunken);
|
|
|
|
|
ui_volume_blip_divider = new QFrame(ui_audio_widget);
|
|
|
|
|
ui_volume_blip_divider->setFrameShape(QFrame::HLine);
|
|
|
|
|
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);
|
|
|
|
|
BlipRateLabel->setText("Blip rate:");
|
|
|
|
|
BlipRateLabel->setToolTip("Sets the delay between playing the blip sounds.");
|
|
|
|
|
ui_bliprate_lbl = new QLabel(ui_audio_widget);
|
|
|
|
|
ui_bliprate_lbl->setText(tr("Blip rate:"));
|
|
|
|
|
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);
|
|
|
|
|
BlipRateSpinbox->setValue(p_ao_app->read_blip_rate());
|
|
|
|
|
BlipRateSpinbox->setMinimum(1);
|
|
|
|
|
ui_bliprate_spinbox = new QSpinBox(ui_audio_widget);
|
|
|
|
|
ui_bliprate_spinbox->setValue(p_ao_app->read_blip_rate());
|
|
|
|
|
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);
|
|
|
|
|
BlankBlipsLabel->setText("Blank blips:");
|
|
|
|
|
BlankBlipsLabel->setToolTip("If true, the game will play a blip sound even when a space is 'being said'.");
|
|
|
|
|
ui_blank_blips_lbl = new QLabel(ui_audio_widget);
|
|
|
|
|
ui_blank_blips_lbl->setText(tr("Blank blips:"));
|
|
|
|
|
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);
|
|
|
|
|
BlankBlipsCheckbox->setChecked(p_ao_app->get_blank_blip());
|
|
|
|
|
ui_blank_blips_cb = new QCheckBox(ui_audio_widget);
|
|
|
|
|
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!
|
|
|
|
|
CasingTab = new QWidget();
|
|
|
|
|
SettingsTabs->addTab(CasingTab, "Casing");
|
|
|
|
|
ui_casing_tab = new QWidget();
|
|
|
|
|
ui_settings_tabs->addTab(ui_casing_tab, tr("Casing"));
|
|
|
|
|
|
|
|
|
|
formLayoutWidget_3 = new QWidget(CasingTab);
|
|
|
|
|
formLayoutWidget_3->setGeometry(QRect(10,10, 361, 211));
|
|
|
|
|
ui_casing_widget = new QWidget(ui_casing_tab);
|
|
|
|
|
ui_casing_widget->setGeometry(QRect(10,10, 361, 211));
|
|
|
|
|
|
|
|
|
|
CasingForm = new QFormLayout(formLayoutWidget_3);
|
|
|
|
|
CasingForm->setObjectName(QStringLiteral("CasingForm"));
|
|
|
|
|
CasingForm->setLabelAlignment(Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter);
|
|
|
|
|
CasingForm->setFormAlignment(Qt::AlignLeading|Qt::AlignLeft|Qt::AlignTop);
|
|
|
|
|
CasingForm->setContentsMargins(0, 0, 0, 0);
|
|
|
|
|
ui_casing_layout = new QFormLayout(ui_casing_widget);
|
|
|
|
|
ui_casing_layout->setLabelAlignment(Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter);
|
|
|
|
|
ui_casing_layout->setFormAlignment(Qt::AlignLeading|Qt::AlignLeft|Qt::AlignTop);
|
|
|
|
|
ui_casing_layout->setContentsMargins(0, 0, 0, 0);
|
|
|
|
|
|
|
|
|
|
// -- SERVER SUPPORTS CASING
|
|
|
|
|
|
|
|
|
|
ServerSupportsCasing = new QLabel(formLayoutWidget_3);
|
|
|
|
|
ui_casing_supported_lbl = new QLabel(ui_casing_widget);
|
|
|
|
|
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
|
|
|
|
|
ServerSupportsCasing->setText("This server does not support case alerts.");
|
|
|
|
|
ServerSupportsCasing->setToolTip("Pretty self-explanatory.");
|
|
|
|
|
ui_casing_supported_lbl->setText(tr("This server does not support case alerts."));
|
|
|
|
|
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
|
|
|
|
|
|
|
|
|
|
CasingEnabledLabel = new QLabel(formLayoutWidget_3);
|
|
|
|
|
CasingEnabledLabel->setText("Casing:");
|
|
|
|
|
CasingEnabledLabel->setToolTip("If checked, you will get alerts about case announcements.");
|
|
|
|
|
ui_casing_enabled_lbl = new QLabel(ui_casing_widget);
|
|
|
|
|
ui_casing_enabled_lbl->setText(tr("Casing:"));
|
|
|
|
|
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);
|
|
|
|
|
CasingEnabledCheckbox->setChecked(ao_app->get_casing_enabled());
|
|
|
|
|
ui_casing_enabled_cb = new QCheckBox(ui_casing_widget);
|
|
|
|
|
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);
|
|
|
|
|
DefenceLabel->setText("Defence:");
|
|
|
|
|
DefenceLabel->setToolTip("If checked, you will get alerts about case announcements if a defence spot is open.");
|
|
|
|
|
ui_casing_def_lbl = new QLabel(ui_casing_widget);
|
|
|
|
|
ui_casing_def_lbl->setText(tr("Defense:"));
|
|
|
|
|
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);
|
|
|
|
|
DefenceCheckbox->setChecked(ao_app->get_casing_defence_enabled());
|
|
|
|
|
ui_casing_def_cb = new QCheckBox(ui_casing_widget);
|
|
|
|
|
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
|
|
|
|
|
|
|
|
|
|
ProsecutorLabel = new QLabel(formLayoutWidget_3);
|
|
|
|
|
ProsecutorLabel->setText("Prosecution:");
|
|
|
|
|
ProsecutorLabel->setToolTip("If checked, you will get alerts about case announcements if a prosecutor spot is open.");
|
|
|
|
|
ui_casing_pro_lbl = new QLabel(ui_casing_widget);
|
|
|
|
|
ui_casing_pro_lbl->setText(tr("Prosecution:"));
|
|
|
|
|
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);
|
|
|
|
|
ProsecutorCheckbox->setChecked(ao_app->get_casing_prosecution_enabled());
|
|
|
|
|
ui_casing_pro_cb = new QCheckBox(ui_casing_widget);
|
|
|
|
|
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
|
|
|
|
|
|
|
|
|
|
JudgeLabel = new QLabel(formLayoutWidget_3);
|
|
|
|
|
JudgeLabel->setText("Judge:");
|
|
|
|
|
JudgeLabel->setToolTip("If checked, you will get alerts about case announcements if the judge spot is open.");
|
|
|
|
|
ui_casing_jud_lbl = new QLabel(ui_casing_widget);
|
|
|
|
|
ui_casing_jud_lbl->setText(tr("Judge:"));
|
|
|
|
|
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);
|
|
|
|
|
JudgeCheckbox->setChecked(ao_app->get_casing_judge_enabled());
|
|
|
|
|
ui_casing_jud_cb = new QCheckBox(ui_casing_widget);
|
|
|
|
|
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
|
|
|
|
|
|
|
|
|
|
JurorLabel = new QLabel(formLayoutWidget_3);
|
|
|
|
|
JurorLabel->setText("Juror:");
|
|
|
|
|
JurorLabel->setToolTip("If checked, you will get alerts about case announcements if a juror spot is open.");
|
|
|
|
|
ui_casing_jur_lbl = new QLabel(ui_casing_widget);
|
|
|
|
|
ui_casing_jur_lbl->setText(tr("Juror:"));
|
|
|
|
|
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);
|
|
|
|
|
JurorCheckbox->setChecked(ao_app->get_casing_juror_enabled());
|
|
|
|
|
ui_casing_jur_cb = new QCheckBox(ui_casing_widget);
|
|
|
|
|
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
|
|
|
|
|
|
|
|
|
|
StenographerLabel = new QLabel(formLayoutWidget_3);
|
|
|
|
|
StenographerLabel->setText("Stenographer:");
|
|
|
|
|
StenographerLabel->setToolTip("If checked, you will get alerts about case announcements if a stenographer spot is open.");
|
|
|
|
|
ui_casing_steno_lbl = new QLabel(ui_casing_widget);
|
|
|
|
|
ui_casing_steno_lbl->setText(tr("Stenographer:"));
|
|
|
|
|
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);
|
|
|
|
|
StenographerCheckbox->setChecked(ao_app->get_casing_steno_enabled());
|
|
|
|
|
ui_casing_steno_cb = new QCheckBox(ui_casing_widget);
|
|
|
|
|
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
|
|
|
|
|
|
|
|
|
|
CMLabel = new QLabel(formLayoutWidget_3);
|
|
|
|
|
CMLabel->setText("CM:");
|
|
|
|
|
CMLabel->setToolTip("If checked, you will appear amongst the potential CMs on the server.");
|
|
|
|
|
ui_casing_cm_lbl = new QLabel(ui_casing_widget);
|
|
|
|
|
ui_casing_cm_lbl->setText(tr("CM:"));
|
|
|
|
|
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);
|
|
|
|
|
CMCheckbox->setChecked(ao_app->get_casing_cm_enabled());
|
|
|
|
|
ui_casing_cm_cb = new QCheckBox(ui_casing_widget);
|
|
|
|
|
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
|
|
|
|
|
|
|
|
|
|
CMCasesLabel = new QLabel(formLayoutWidget_3);
|
|
|
|
|
CMCasesLabel->setText("Hosting cases:");
|
|
|
|
|
CMCasesLabel->setToolTip("If you're a CM, enter what cases are you willing to host.");
|
|
|
|
|
ui_casing_cm_cases_lbl = new QLabel(ui_casing_widget);
|
|
|
|
|
ui_casing_cm_cases_lbl->setText(tr("Hosting cases:"));
|
|
|
|
|
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);
|
|
|
|
|
CMCasesLineEdit->setText(ao_app->get_casing_can_host_cases());
|
|
|
|
|
ui_casing_cm_cases_textbox = new QLineEdit(ui_casing_widget);
|
|
|
|
|
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!
|
|
|
|
|
setUpdatesEnabled(true);
|
|
|
|
@ -436,13 +456,13 @@ void AOOptionsDialog::save_pressed()
|
|
|
|
|
// Save everything into the config.ini.
|
|
|
|
|
QSettings* configini = ao_app->configini;
|
|
|
|
|
|
|
|
|
|
configini->setValue("theme", ThemeCombobox->currentText());
|
|
|
|
|
configini->setValue("log_goes_downwards", DownwardCheckbox->isChecked());
|
|
|
|
|
configini->setValue("log_maximum", LengthSpinbox->value());
|
|
|
|
|
configini->setValue("default_username", UsernameLineEdit->text());
|
|
|
|
|
configini->setValue("show_custom_shownames", ShownameCheckbox->isChecked());
|
|
|
|
|
configini->setValue("master", MasterServerLineEdit->text());
|
|
|
|
|
configini->setValue("discord", DiscordCheckBox->isChecked());
|
|
|
|
|
configini->setValue("theme", ui_theme_combobox->currentText());
|
|
|
|
|
configini->setValue("log_goes_downwards", ui_downwards_cb->isChecked());
|
|
|
|
|
configini->setValue("log_maximum", ui_length_spinbox->value());
|
|
|
|
|
configini->setValue("default_username", ui_username_textbox->text());
|
|
|
|
|
configini->setValue("show_custom_shownames", ui_showname_cb->isChecked());
|
|
|
|
|
configini->setValue("master", ui_ms_textbox->text());
|
|
|
|
|
configini->setValue("discord", ui_discord_cb->isChecked());
|
|
|
|
|
|
|
|
|
|
QFile* callwordsini = new QFile(ao_app->get_base_path() + "callwords.ini");
|
|
|
|
|
|
|
|
|
@ -453,25 +473,25 @@ void AOOptionsDialog::save_pressed()
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
QTextStream out(callwordsini);
|
|
|
|
|
out << CallwordsTextEdit->toPlainText();
|
|
|
|
|
out << ui_callwords_textbox->toPlainText();
|
|
|
|
|
callwordsini->close();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
configini->setValue("default_audio_device", AudioDeviceCombobox->currentText());
|
|
|
|
|
configini->setValue("default_music", MusicVolumeSpinbox->value());
|
|
|
|
|
configini->setValue("default_sfx", SFXVolumeSpinbox->value());
|
|
|
|
|
configini->setValue("default_blip", BlipsVolumeSpinbox->value());
|
|
|
|
|
configini->setValue("blip_rate", BlipRateSpinbox->value());
|
|
|
|
|
configini->setValue("blank_blip", BlankBlipsCheckbox->isChecked());
|
|
|
|
|
configini->setValue("default_audio_device", ui_audio_device_combobox->currentText());
|
|
|
|
|
configini->setValue("default_music", ui_music_volume_spinbox->value());
|
|
|
|
|
configini->setValue("default_sfx", ui_sfx_volume_spinbox->value());
|
|
|
|
|
configini->setValue("default_blip", ui_blips_volume_spinbox->value());
|
|
|
|
|
configini->setValue("blip_rate", ui_bliprate_spinbox->value());
|
|
|
|
|
configini->setValue("blank_blip", ui_blank_blips_cb->isChecked());
|
|
|
|
|
|
|
|
|
|
configini->setValue("casing_enabled", CasingEnabledCheckbox->isChecked());
|
|
|
|
|
configini->setValue("casing_defence_enabled", DefenceCheckbox->isChecked());
|
|
|
|
|
configini->setValue("casing_prosecution_enabled", ProsecutorCheckbox->isChecked());
|
|
|
|
|
configini->setValue("casing_judge_enabled", JudgeCheckbox->isChecked());
|
|
|
|
|
configini->setValue("casing_juror_enabled", JurorCheckbox->isChecked());
|
|
|
|
|
configini->setValue("casing_steno_enabled", StenographerCheckbox->isChecked());
|
|
|
|
|
configini->setValue("casing_cm_enabled", CMCheckbox->isChecked());
|
|
|
|
|
configini->setValue("casing_can_host_casees", CMCasesLineEdit->text());
|
|
|
|
|
configini->setValue("casing_enabled", ui_casing_enabled_cb->isChecked());
|
|
|
|
|
configini->setValue("casing_defence_enabled", ui_casing_def_cb->isChecked());
|
|
|
|
|
configini->setValue("casing_prosecution_enabled", ui_casing_pro_cb->isChecked());
|
|
|
|
|
configini->setValue("casing_judge_enabled", ui_casing_jud_cb->isChecked());
|
|
|
|
|
configini->setValue("casing_juror_enabled", ui_casing_jur_cb->isChecked());
|
|
|
|
|
configini->setValue("casing_steno_enabled", ui_casing_steno_cb->isChecked());
|
|
|
|
|
configini->setValue("casing_cm_enabled", ui_casing_cm_cb->isChecked());
|
|
|
|
|
configini->setValue("casing_can_host_cases", ui_casing_cm_cases_textbox->text());
|
|
|
|
|
|
|
|
|
|
callwordsini->close();
|
|
|
|
|
done(0);
|
|
|
|
|