#include "clientsyncer.h"
#include "coreconfigwizard.h"
-CoreConnectDlg::CoreConnectDlg(QWidget *parent, bool autoconnect) : QDialog(parent) {
+CoreConnectDlg::CoreConnectDlg(bool autoconnect, QWidget *parent)
+ : QDialog(parent)
+{
ui.setupUi(this);
+ // make it look more native under Mac OS X:
+ setWindowFlags(Qt::Sheet);
+
clientSyncer = new ClientSyncer(this);
wizard = 0;
- setAttribute(Qt::WA_DeleteOnClose);
-
doingAutoConnect = false;
ui.stackedWidget->setCurrentWidget(ui.accountPage);
foreach(AccountId id, s.knownAccounts()) {
if(!id.isValid()) continue;
QVariantMap data = s.retrieveAccountData(id);
+ data["AccountId"] = QVariant::fromValue<AccountId>(id);
accounts[id] = data;
QListWidgetItem *item = new QListWidgetItem(data["AccountName"].toString(), ui.accountList);
item->setData(Qt::UserRole, QVariant::fromValue<AccountId>(id));
connect(clientSyncer, SIGNAL(startCoreSetup(const QVariantList &)), this, SLOT(startCoreConfig(const QVariantList &)));
connect(clientSyncer, SIGNAL(sessionProgress(quint32, quint32)), this, SLOT(coreSessionProgress(quint32, quint32)));
connect(clientSyncer, SIGNAL(networksProgress(quint32, quint32)), this, SLOT(coreNetworksProgress(quint32, quint32)));
- connect(clientSyncer, SIGNAL(channelsProgress(quint32, quint32)), this, SLOT(coreChannelsProgress(quint32, quint32)));
- connect(clientSyncer, SIGNAL(ircUsersProgress(quint32, quint32)), this, SLOT(coreIrcUsersProgress(quint32, quint32)));
connect(clientSyncer, SIGNAL(syncFinished()), this, SLOT(syncFinished()));
connect(ui.user, SIGNAL(textChanged(const QString &)), this, SLOT(setLoginWidgetStates()));
ui.sessionProgress->setValue(0);
ui.networksProgress->setRange(0, 1);
ui.networksProgress->setValue(0);
- ui.channelsProgress->setRange(0, 1);
- ui.channelsProgress->setValue(0);
- ui.ircUsersProgress->setRange(0, 1);
- ui.ircUsersProgress->setValue(0);
ui.stackedWidget->setCurrentWidget(ui.syncPage);
// clean up old page
}
}
-void CoreConnectDlg::coreChannelsProgress(quint32 val, quint32 max) {
- if(max == 0) {
- ui.channelsProgress->setFormat("0/0");
- ui.channelsProgress->setRange(0, 1);
- ui.channelsProgress->setValue(1);
- } else {
- ui.channelsProgress->setFormat("%v/%m");
- ui.channelsProgress->setRange(0, max);
- ui.channelsProgress->setValue(val);
- }
-}
-
-void CoreConnectDlg::coreIrcUsersProgress(quint32 val, quint32 max) {
- if(max == 0) {
- ui.ircUsersProgress->setFormat("0/0");
- ui.ircUsersProgress->setRange(0, 1);
- ui.ircUsersProgress->setValue(1);
- } else {
- if(val % 100) return;
- ui.ircUsersProgress->setFormat("%v/%m");
- ui.ircUsersProgress->setRange(0, max);
- ui.ircUsersProgress->setValue(val);
- }
-}
-
void CoreConnectDlg::syncFinished() {
if(!wizard) accept();
else {
/*****************************************************************************************
* CoreAccountEditDlg
*****************************************************************************************/
-CoreAccountEditDlg::CoreAccountEditDlg(AccountId id, const QVariantMap &acct, const QStringList &_existing, QWidget *parent) : QDialog(parent) {
+CoreAccountEditDlg::CoreAccountEditDlg(AccountId id, const QVariantMap &acct, const QStringList &_existing, QWidget *parent)
+ : QDialog(parent)
+{
ui.setupUi(this);
existing = _existing;
- account = acct;
if(id.isValid()) {
- // add new settings
- if(!acct.contains("useProxy")) {
- account["useProxy"] = false;
- account["proxyHost"] = "localhost";
- account["proxyPort"] = 8080;
- account["proxyType"] = QNetworkProxy::Socks5Proxy;
- account["proxyUser"] = "";
- account["proxyPassword"] = "";
- }
existing.removeAll(acct["AccountName"].toString());
ui.host->setText(acct["Host"].toString());
ui.port->setValue(acct["Port"].toUInt());
ui.useInternal->setChecked(acct["UseInternal"].toBool());
ui.accountName->setText(acct["AccountName"].toString());
#ifndef QT_NO_OPENSSL
- ui.useSsl->setChecked(account["useSsl"].toBool());
+ ui.useSsl->setChecked(acct["useSsl"].toBool());
#else
ui.useSsl->setChecked(false);
ui.useSsl->setEnabled(false);
#endif
- ui.useProxy->setChecked(account["useProxy"].toBool());
- ui.proxyHost->setText(account["proxyHost"].toString());
- ui.proxyPort->setValue(account["proxyPort"].toUInt());
- ui.proxyType->setCurrentIndex(account["proxyType"].toInt() == QNetworkProxy::Socks5Proxy ? 0 : 1);
- ui.proxyHost->setText(account["proxyUser"].toString());
- ui.proxyHost->setText(account["proxyPassword"].toString());
+ ui.useProxy->setChecked(acct["useProxy"].toBool());
+ ui.proxyHost->setText(acct["proxyHost"].toString());
+ ui.proxyPort->setValue(acct["proxyPort"].toUInt());
+ ui.proxyType->setCurrentIndex(acct["proxyType"].toInt() == QNetworkProxy::Socks5Proxy ? 0 : 1);
+ ui.proxyUser->setText(acct["proxyUser"].toString());
+ ui.proxyPassword->setText(acct["proxyPassword"].toString());
} else {
setWindowTitle(tr("Add Core Account"));
+#ifdef QT_NO_OPENSSL
+ ui.useSsl->setChecked(false);
+ ui.useSsl->setEnabled(false);
+#endif
}
+
+#ifndef BUILD_MONO
+ // if we don't have a mono build we hide the option to use the internal connection and force the setting to use remote host
+ ui.useInternal->setChecked(false);
+ ui.useInternal->hide();
+ ui.useRemote->hide();
+ ui.labelUseBuiltinCore->hide();
+#endif
}
QVariantMap CoreAccountEditDlg::accountData() {