23 #include "cfgappearance.h"
24 #include "ui_cfgappearance.h"
26 #include "configuration/doomseekerconfig.h"
27 #include <QColorDialog>
28 #include <QSystemTrayIcon>
29 #include "ip2c/ip2c.h"
30 #include "localization.h"
34 DClass<CFGAppearance> :
public Ui::CFGAppearance
46 CFGAppearance::~CFGAppearance()
50 void CFGAppearance::initLanguagesList()
52 const QList<LocalizationInfo>& localizations = Main::localizations;
56 const QString& translationName = obj.
localeName;
57 const QString& displayName = obj.
niceName;
59 QPixmap flag = IP2C::instance()->flag(flagName);
60 d->cboLanguage->addItem(flag, displayName, translationName);
66 if (d->cboLanguage->count() == 0)
70 d->slotStyle->setCurrentIndex(gConfig.doomseeker.slotStyle);
72 d->btnCustomServersColor->setColorHtml(gConfig.doomseeker.customServersColor);
73 d->btnBuddyServersColor->setColorHtml(gConfig.doomseeker.buddyServersColor);
74 d->cbMarkServersWithBuddies->setChecked(gConfig.doomseeker.bMarkServersWithBuddies);
79 if (!QSystemTrayIcon::isSystemTrayAvailable())
81 gConfig.doomseeker.bUseTrayIcon =
false;
82 gConfig.doomseeker.bCloseToTrayIcon =
false;
83 d->gboUseTrayIcon->setEnabled(
false);
86 d->gboUseTrayIcon->setChecked(gConfig.doomseeker.bUseTrayIcon);
88 d->cbCloseToTrayIcon->setChecked(gConfig.doomseeker.bCloseToTrayIcon);
90 d->cbColorizeConsole->setChecked(gConfig.doomseeker.bColorizeServerConsole);
91 d->cbDrawGridInServerTable->setChecked(gConfig.doomseeker.bDrawGridInServerTable);
93 d->cbHidePasswords->setChecked(gConfig.doomseeker.bHidePasswords);
95 d->cbLookupHosts->setChecked(gConfig.doomseeker.bLookupHosts);
101 d->cbBotsNotPlayers->setChecked(gConfig.doomseeker.bBotsAreNotPlayers);
104 int idxLanguage = d->cboLanguage->findData(gConfig.doomseeker.localization);
105 if (idxLanguage >= 0)
107 d->cboLanguage->setCurrentIndex(idxLanguage);
112 QString
name = gConfig.doomseeker.localization;
113 const QPixmap&
icon = IP2C::instance()->flagUnknown;
114 QString str = tr(
"Unknown language definition \"%1\"").arg(name);
115 d->cboLanguage->addItem(icon, str, name);
116 d->cboLanguage->setCurrentIndex(d->cboLanguage->count() - 1);
122 gConfig.doomseeker.slotStyle = d->slotStyle->currentIndex();
123 gConfig.doomseeker.bMarkServersWithBuddies = d->cbMarkServersWithBuddies->isChecked();
124 gConfig.doomseeker.buddyServersColor = d->btnBuddyServersColor->colorHtml();
125 gConfig.doomseeker.customServersColor = d->btnCustomServersColor->colorHtml();
126 gConfig.doomseeker.bUseTrayIcon = d->gboUseTrayIcon->isChecked();
127 gConfig.doomseeker.bCloseToTrayIcon = d->cbCloseToTrayIcon->isChecked();
128 gConfig.doomseeker.bColorizeServerConsole = d->cbColorizeConsole->isChecked();
129 gConfig.doomseeker.bDrawGridInServerTable = d->cbDrawGridInServerTable->isChecked();
130 gConfig.doomseeker.bBotsAreNotPlayers = d->cbBotsNotPlayers->isChecked();
131 gConfig.doomseeker.bHidePasswords = d->cbHidePasswords->isChecked();
132 gConfig.doomseeker.bLookupHosts = d->cbLookupHosts->isChecked();
133 QString localization = d->cboLanguage->itemData(d->cboLanguage->currentIndex()).toString();
134 if (localization != gConfig.doomseeker.localization)
138 gConfig.doomseeker.localization = localization;
139 gLog << tr(
"Loading translation \"%1\"").arg(localization);
140 Localization::loadTranslation(localization);
void readSettings()
Reimplement this to read settings from config into widgets.
QString localeName
Compliant with language_country standard. See QLocale::name()
QString niceName
Name that will be displayed to user.
void saveSettings()
Reimplement this to write settings to config from widgets.
void appearanceChanged()
Emit to tell Doomseeker to redraw certain widgets.
QIcon icon() const
Reimplement this to return a displayable icon for the ConfigurationBaseBox.
QString countryCodeName
The same as code used for country flags in IP2C.
Base class for configuration pages.
QString name() const
Reimplement this to return a list-displayable name for this ConfigurationBaseBox. ...