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->btnLanServersColor->setColorHtml(gConfig.doomseeker.lanServersColor);
75 d->cbMarkServersWithBuddies->setChecked(gConfig.doomseeker.bMarkServersWithBuddies);
80 if (!QSystemTrayIcon::isSystemTrayAvailable())
82 gConfig.doomseeker.bUseTrayIcon =
false;
83 gConfig.doomseeker.bCloseToTrayIcon =
false;
84 d->gboUseTrayIcon->setEnabled(
false);
87 d->gboUseTrayIcon->setChecked(gConfig.doomseeker.bUseTrayIcon);
89 d->cbCloseToTrayIcon->setChecked(gConfig.doomseeker.bCloseToTrayIcon);
91 d->cbColorizeConsole->setChecked(gConfig.doomseeker.bColorizeServerConsole);
92 d->cbDrawGridInServerTable->setChecked(gConfig.doomseeker.bDrawGridInServerTable);
94 d->cbHidePasswords->setChecked(gConfig.doomseeker.bHidePasswords);
96 d->cbLookupHosts->setChecked(gConfig.doomseeker.bLookupHosts);
102 d->cbBotsNotPlayers->setChecked(gConfig.doomseeker.bBotsAreNotPlayers);
105 int idxLanguage = d->cboLanguage->findData(gConfig.doomseeker.localization);
106 if (idxLanguage >= 0)
108 d->cboLanguage->setCurrentIndex(idxLanguage);
113 QString
name = gConfig.doomseeker.localization;
114 const QPixmap&
icon = IP2C::instance()->flagUnknown;
115 QString str = tr(
"Unknown language definition \"%1\"").arg(name);
116 d->cboLanguage->addItem(icon, str, name);
117 d->cboLanguage->setCurrentIndex(d->cboLanguage->count() - 1);
123 gConfig.doomseeker.slotStyle = d->slotStyle->currentIndex();
124 gConfig.doomseeker.bMarkServersWithBuddies = d->cbMarkServersWithBuddies->isChecked();
125 gConfig.doomseeker.buddyServersColor = d->btnBuddyServersColor->colorHtml();
126 gConfig.doomseeker.customServersColor = d->btnCustomServersColor->colorHtml();
127 gConfig.doomseeker.lanServersColor = d->btnLanServersColor->colorHtml();
128 gConfig.doomseeker.bUseTrayIcon = d->gboUseTrayIcon->isChecked();
129 gConfig.doomseeker.bCloseToTrayIcon = d->cbCloseToTrayIcon->isChecked();
130 gConfig.doomseeker.bColorizeServerConsole = d->cbColorizeConsole->isChecked();
131 gConfig.doomseeker.bDrawGridInServerTable = d->cbDrawGridInServerTable->isChecked();
132 gConfig.doomseeker.bBotsAreNotPlayers = d->cbBotsNotPlayers->isChecked();
133 gConfig.doomseeker.bHidePasswords = d->cbHidePasswords->isChecked();
134 gConfig.doomseeker.bLookupHosts = d->cbLookupHosts->isChecked();
135 QString localization = d->cboLanguage->itemData(d->cboLanguage->currentIndex()).toString();
136 if (localization != gConfig.doomseeker.localization)
140 gConfig.doomseeker.localization = localization;
141 gLog << tr(
"Loading translation \"%1\"").arg(localization);
142 Localization::loadTranslation(localization);
void readSettings()
Reimplement this to read settings from config into widgets.
QString localeName
Compliant with language_country standard. See QLocale::name()
void appearanceChanged()
Emit to tell Doomseeker to redraw certain widgets.
QString niceName
Name that will be displayed to user.
void saveSettings()
Reimplement this to write settings to config from widgets.
QIcon icon() const
Reimplement this to return a displayable icon for the ConfigPage.
QString countryCodeName
The same as code used for country flags in IP2C.
QString name() const
Reimplement this to return a list-displayable name for this ConfigPage.
Base class for configuration pages.