From 189c2def1996c6a25a8182794f2d6efbbf712867 Mon Sep 17 00:00:00 2001 From: Manuel Nickschas Date: Tue, 18 Mar 2008 16:15:01 +0000 Subject: [PATCH] Make server/network encoding configurable --- src/common/main.cpp | 2 +- .../settingspages/networkssettingspage.cpp | 7 ++ .../settingspages/networkssettingspage.ui | 73 +++++++++++++++---- version.inc | 2 +- 4 files changed, 66 insertions(+), 18 deletions(-) diff --git a/src/common/main.cpp b/src/common/main.cpp index a8421e89..d958e7a0 100644 --- a/src/common/main.cpp +++ b/src/common/main.cpp @@ -93,7 +93,7 @@ int main(int argc, char **argv) { quasselTranslator.load(QString(":i18n/quassel_%1").arg(locale.name())); app.installTranslator(&quasselTranslator); - Network::setDefaultCodecForServer("ISO-8859-15"); + Network::setDefaultCodecForServer("ISO-8859-1"); Network::setDefaultCodecForEncoding("UTF-8"); Network::setDefaultCodecForDecoding("ISO-8859-15"); diff --git a/src/qtui/settingspages/networkssettingspage.cpp b/src/qtui/settingspages/networkssettingspage.cpp index 8cd8715d..edfcbf5c 100644 --- a/src/qtui/settingspages/networkssettingspage.cpp +++ b/src/qtui/settingspages/networkssettingspage.cpp @@ -42,9 +42,11 @@ NetworksSettingsPage::NetworksSettingsPage(QWidget *parent) : SettingsPage(tr("G QByteArray codec = QTextCodec::codecForMib(mib)->name(); ui.sendEncoding->addItem(codec); ui.recvEncoding->addItem(codec); + ui.serverEncoding->addItem(codec); } ui.sendEncoding->model()->sort(0); ui.recvEncoding->model()->sort(0); + ui.serverEncoding->model()->sort(0); currentId = 0; setEnabled(Client::isConnected()); // need a core connection! setWidgetStates(); @@ -63,6 +65,7 @@ NetworksSettingsPage::NetworksSettingsPage(QWidget *parent) : SettingsPage(tr("G connect(ui.useDefaultEncodings, SIGNAL(clicked(bool)), this, SLOT(widgetHasChanged())); connect(ui.sendEncoding, SIGNAL(currentIndexChanged(int)), this, SLOT(widgetHasChanged())); connect(ui.recvEncoding, SIGNAL(currentIndexChanged(int)), this, SLOT(widgetHasChanged())); + connect(ui.serverEncoding, SIGNAL(currentIndexChanged(int)), this, SLOT(widgetHasChanged())); connect(ui.autoReconnect, SIGNAL(clicked(bool)), this, SLOT(widgetHasChanged())); connect(ui.reconnectInterval, SIGNAL(valueChanged(int)), this, SLOT(widgetHasChanged())); connect(ui.reconnectRetries, SIGNAL(valueChanged(int)), this, SLOT(widgetHasChanged())); @@ -425,10 +428,12 @@ void NetworksSettingsPage::displayNetwork(NetworkId id) { if(info.codecForEncoding.isEmpty()) { ui.sendEncoding->setCurrentIndex(ui.sendEncoding->findText(Network::defaultCodecForEncoding())); ui.recvEncoding->setCurrentIndex(ui.recvEncoding->findText(Network::defaultCodecForDecoding())); + ui.serverEncoding->setCurrentIndex(ui.serverEncoding->findText(Network::defaultCodecForServer())); ui.useDefaultEncodings->setChecked(true); } else { ui.sendEncoding->setCurrentIndex(ui.sendEncoding->findText(info.codecForEncoding)); ui.recvEncoding->setCurrentIndex(ui.recvEncoding->findText(info.codecForDecoding)); + ui.serverEncoding->setCurrentIndex(ui.serverEncoding->findText(info.codecForServer)); ui.useDefaultEncodings->setChecked(false); } ui.autoReconnect->setChecked(info.useAutoReconnect); @@ -459,9 +464,11 @@ void NetworksSettingsPage::saveToNetworkInfo(NetworkInfo &info) { if(ui.useDefaultEncodings->isChecked()) { info.codecForEncoding.clear(); info.codecForDecoding.clear(); + info.codecForServer.clear(); } else { info.codecForEncoding = ui.sendEncoding->currentText().toLatin1(); info.codecForDecoding = ui.recvEncoding->currentText().toLatin1(); + info.codecForServer = ui.serverEncoding->currentText().toLatin1(); } info.useAutoReconnect = ui.autoReconnect->isChecked(); info.autoReconnectInterval = ui.reconnectInterval->value(); diff --git a/src/qtui/settingspages/networkssettingspage.ui b/src/qtui/settingspages/networkssettingspage.ui index 75a1fa1f..e18f9db9 100644 --- a/src/qtui/settingspages/networkssettingspage.ui +++ b/src/qtui/settingspages/networkssettingspage.ui @@ -165,6 +165,10 @@ true + + This specifies how control messages, nicks and servernames are encoded. +Unless you *really* know what you do, leave this as ISO-8859-1! + 0 @@ -454,24 +458,24 @@ Advanced - + true - Network Encoding + Encodings - + - + - Sending: + Send messages in: @@ -493,8 +497,11 @@ + + Incoming messages encoded in Utf8 will always be treated as such. This setting defines the encoding for messages that are not Utf8. + - Receiving: + Receive fallback: @@ -514,6 +521,24 @@ + + + + This specifies how control messages, nicks and servernames are encoded. +Unless you *really* know what you do, leave this as ISO-8859-1! + + + Server encoding: + + + + + + + false + + + @@ -523,8 +548,8 @@ - 40 - 20 + 58 + 61 @@ -681,8 +706,8 @@ setDisabled(bool) - 647 - 238 + 659 + 262 471 @@ -697,8 +722,8 @@ setDisabled(bool) - 658 - 238 + 659 + 262 471 @@ -713,12 +738,28 @@ setDisabled(bool) - 443 - 336 + 512 + 373 + + + 420 + 377 + + + + + useDefaultEncodings + toggled(bool) + serverEncoding + setDisabled(bool) + + + 396 + 251 - 390 - 338 + 456 + 230 diff --git a/version.inc b/version.inc index 67b4af87..fda46767 100644 --- a/version.inc +++ b/version.inc @@ -5,7 +5,7 @@ quasselVersion = "0.2.0-alpha4-pre"; quasselDate = "2008-03-18"; - quasselBuild = 644; + quasselBuild = 646; //! Minimum client build number the core needs clientBuildNeeded = 642; -- 2.20.1