File indexing completed on 2024-05-12 04:57:43

0001 /*
0002     This file is part of Choqok, the KDE micro-blogging client
0003 
0004     SPDX-FileCopyrightText: 2010-2012 Andrey Esin <gmlastik@gmail.com>
0005 
0006     SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted-GPL
0007 */
0008 
0009 #include "tinyarro_ws_config.h"
0010 
0011 #include <QComboBox>
0012 #include <QVBoxLayout>
0013 
0014 #include <KAboutData>
0015 #include <KLocalizedString>
0016 #include <KPluginFactory>
0017 #include <KSharedConfig>
0018 
0019 #include "passwordmanager.h"
0020 
0021 #include "tinyarro_ws_settings.h"
0022 
0023 K_PLUGIN_CLASS_WITH_JSON(Tinyarro_ws_Config, "choqok_tinyarro_ws_config.json")
0024 
0025 Tinyarro_ws_Config::Tinyarro_ws_Config(QWidget *parent, const QVariantList &):
0026     KCModule(parent)
0027 {
0028     QVBoxLayout *layout = new QVBoxLayout(this);
0029     QWidget *wd = new QWidget(this);
0030     wd->setObjectName(QLatin1String("mTinyarro_ws_Ctl"));
0031     ui.setupUi(wd);
0032     addConfig(Tinyarro_ws_Settings::self(), wd);
0033     layout->addWidget(wd);
0034     QString domain = QLatin1String(".ws");
0035     hostList.insert(QChar(0x27A8) + domain, QLatin1String("xn--ogi.ws"));
0036     hostList.insert(QChar(0x27AF) + domain, QLatin1String("xn--vgi.ws"));
0037     hostList.insert(QChar(0x2794) + domain, QLatin1String("xn--3fi.ws"));
0038     hostList.insert(QChar(0x279E) + domain, QLatin1String("xn--egi.ws"));
0039     hostList.insert(QChar(0x27BD) + domain, QLatin1String("xn--9gi.ws"));
0040     hostList.insert(QChar(0x27B9) + domain, QLatin1String("xn--5gi.ws"));
0041     hostList.insert(QChar(0x2729) + domain, QLatin1String("xn--1ci.ws"));
0042     hostList.insert(QChar(0x273F) + domain, QLatin1String("xn--odi.ws"));
0043     hostList.insert(QChar(0x2765) + domain, QLatin1String("xn--rei.ws"));
0044     hostList.insert(QChar(0x203A) + domain, QLatin1String("xn--cwg.ws"));
0045     hostList.insert(QChar(0x2318) + domain, QLatin1String("xn--bih.ws"));
0046     hostList.insert(QChar(0x203D) + domain, QLatin1String("xn--fwg.ws"));
0047     hostList.insert(QChar(0x2601) + domain, QLatin1String("xn--l3h.ws"));
0048     hostList.insert(QLatin1String("ta.gd"),                  QLatin1String("ta.gd"));
0049     hostList.insert(i18n("Random host"),    QLatin1String("Random"));
0050 
0051     for (const QString &host: hostList.keys()) {
0052         ui.kcfg_tinyarro_ws_host->addItem(host);
0053     }
0054 
0055     connect(ui.kcfg_tinyarro_ws_host, (void (QComboBox::*)(int))&QComboBox::currentIndexChanged,
0056             this, &Tinyarro_ws_Config::emitChanged);
0057 }
0058 
0059 Tinyarro_ws_Config::~Tinyarro_ws_Config()
0060 {
0061 }
0062 
0063 void Tinyarro_ws_Config::load()
0064 {
0065     KCModule::load();
0066     KConfigGroup grp(KSharedConfig::openConfig(), "Tinyarro.ws Shortener");
0067     ui.kcfg_tinyarro_ws_host->setCurrentIndex(grp.readEntry("tinyarro_ws_host", "0").toInt());
0068 }
0069 
0070 void Tinyarro_ws_Config::save()
0071 {
0072     KCModule::save();
0073     KConfigGroup grp(KSharedConfig::openConfig(), "Tinyarro.ws Shortener");
0074     grp.writeEntry("tinyarro_ws_host", ui.kcfg_tinyarro_ws_host->currentIndex());
0075     grp.writeEntry("tinyarro_ws_host_punny", hostList[ui.kcfg_tinyarro_ws_host->currentText()]);
0076 }
0077 
0078 void Tinyarro_ws_Config::emitChanged()
0079 {
0080     Q_EMIT changed(true);
0081 }
0082 
0083 #include "moc_tinyarro_ws_config.cpp"
0084 #include "tinyarro_ws_config.moc"