PropertiesEditor::PropertiesEditor(QWidget* parent, const arrayElement& ae, bool (*extractMapData) (QMap<QString,QVariant>&,const QVariant&)) : QDialog(parent) { // Setup the user interface ui.setupUi(this); // Data members objpath = ae.objpath; objmap = ae.objmap; // Setup the address validator and apply it to any ui QLineEdit. // The lev validator will validate an IP address or up to one white space character (to allow // editing of the line edit). QString s_ip4 = "(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9]?[0-9])"; QString s_ip6 = "(?:[0-9a-fA-F]{1,4})"; // QLineEdits that allow single address QRegularExpression rx4("\\s?|^" + s_ip4 + "(?:\." + s_ip4 + "){3}" + "$"); QRegularExpression rx6("\\s?|^" + s_ip6 + "(?::" + s_ip6 + "){7}" + "$"); QRegularExpressionValidator* lev_4 = new QRegularExpressionValidator(rx4, this); QRegularExpressionValidator* lev_6 = new QRegularExpressionValidator(rx6, this); ui.lineEdit_ipv4address->setValidator(lev_4); ui.lineEdit_ipv4netmask->setValidator(lev_4); ui.lineEdit_ipv4gateway->setValidator(lev_4); ui.lineEdit_ipv6address->setValidator(lev_6); ui.lineEdit_ipv6gateway->setValidator(lev_6); // now QLineEdits that allow multiple addresses QRegularExpression rx46("\\s?|((" + s_ip4 + "(?:\." + s_ip4 + "){3}|" + s_ip6 + "(?::" + s_ip6 + "){7})(\\s*[,|;|\\s]\\s*))+");
// Slot to set the lineedit validator. If plural is true multiple values can // be supplied separated by comma, semi-colon or white space void shared::ValidatingDialog::setValidator(const int& vd, bool plural) { // setup a switch to set the validator const QString s_ip4 = "(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9]?[0-9])"; const QString s_ip6 = "(?:[0-9a-fA-F]{1,4})"; const QString s_mac = "(?:[0-9a-fA-F]{1,2})"; const QString s_hex = "[0-9a-fA-F]*"; const QString s_int = "[0-9]*"; const QString s_dom = "((?!-)[A-Za-z0-9-]{1,63}(?<!-)\\.)+[A-Za-z]{2,6}"; const QString s_wd = "[0-9,a-zA-Z_\\.\\!\\@\\#\\$\\%\\^\\&\\*\\+\\-]*"; const QString s_ch = "\\S"; const QString s_start = (plural ? "\\s?|(" : "^"); const QString s_end = (plural ? "(\\s*|[,|;|\\s]\\s*|$))+" : "$"); switch (vd){ case CMST::ValDialog_IPv4: { QRegularExpression rx4(s_start + s_ip4 + "(?:\\." + s_ip4 + "){3}" + s_end); QRegularExpressionValidator* lev_4 = new QRegularExpressionValidator(rx4, this); lineedit->setValidator(lev_4); } break; case CMST::ValDialog_IPv6: { QRegularExpression rx6(s_start + s_ip6 + "(?::" + s_ip6 + "){7}" + s_end); QRegularExpressionValidator* lev_6 = new QRegularExpressionValidator(rx6, this); lineedit->setValidator(lev_6); } break; case CMST::ValDialog_MAC: { QRegularExpression rxm(s_start + s_mac + "(?::" + s_mac + "){5}" + s_end); QRegularExpressionValidator* lev_m = new QRegularExpressionValidator(rxm, this); lineedit->setValidator(lev_m); } break; case CMST::ValDialog_46: { QRegularExpression rx46(s_start + "(" + s_ip4 + "(?:\\." + s_ip4 + "){3}|" + s_ip6 + "(?::" + s_ip6 + "){7})" + s_end); QRegularExpressionValidator* lev_46 = new QRegularExpressionValidator(rx46, this); lineedit->setValidator(lev_46); } break; case CMST::ValDialog_Hex: { QRegularExpression rxh(s_start + s_hex + s_end); QRegularExpressionValidator* lev_h = new QRegularExpressionValidator(rxh, this); lineedit->setValidator(lev_h); } break; case CMST::ValDialog_Int: { QRegularExpression rxint(s_start + s_int + s_end); QRegularExpressionValidator* lev_int = new QRegularExpressionValidator(rxint, this); lineedit->setValidator(lev_int); } break; case CMST::ValDialog_Dom: { QRegularExpression rxdom(s_start + s_dom + s_end); QRegularExpressionValidator* lev_dom = new QRegularExpressionValidator(rxdom, this); lineedit->setValidator(lev_dom); } break; case CMST::ValDialog_Wd: { QRegularExpression rxwd(s_start + s_wd + s_end); QRegularExpressionValidator* lev_wd = new QRegularExpressionValidator(rxwd, this); lineedit->setValidator(lev_wd); } break; case CMST::ValDialog_min1ch: { QRegularExpression rx1char(s_start + s_ch + "{1,}" + s_end); QRegularExpressionValidator* lev_1char = new QRegularExpressionValidator(rx1char, this); lineedit->setValidator(lev_1char); } break; case CMST::ValDialog_min8ch: { QRegularExpression rx8char(s_start + s_ch + "{8,}" + s_end); QRegularExpressionValidator* lev_8char = new QRegularExpressionValidator(rx8char, this); lineedit->setValidator(lev_8char); } break; case CMST::ValDialog_46d: { QRegularExpression rx46d(s_start + "(" + s_ip4 + "(?:\\." + s_ip4 + "){3}|" + s_ip6 + "(?::" + s_ip6 + "){7}|" + s_dom + ")" + s_end); QRegularExpressionValidator* lev_46d = new QRegularExpressionValidator(rx46d, this); lineedit->setValidator(lev_46d); } break; default: lineedit->setValidator(0); break; } // switch return; }
PropertiesEditor::PropertiesEditor(QWidget* parent, const arrayElement& ae) : QDialog(parent) { // Setup the user interface ui.setupUi(this); // Data members objpath = ae.objpath; objmap = ae.objmap; sl_ipv4_method << "dhcp" << "manual" << "off"; sl_ipv6_method << "auto" << "manual" << "off"; sl_ipv6_privacy << "disabled" << "enabled" << "prefered"; // misspelling prefered is necessary sl_proxy_method << "direct" << "auto" << "manual"; // Setup comboboxes ui.comboBox_ipv4method->addItems(TranslateStrings::cmtr_sl(sl_ipv4_method) ); ui.comboBox_ipv6method->addItems(TranslateStrings::cmtr_sl(sl_ipv6_method) ); ui.comboBox_ipv6privacy->addItems(TranslateStrings::cmtr_sl(sl_ipv6_privacy) ); ui.comboBox_proxymethod->addItems(TranslateStrings::cmtr_sl(sl_proxy_method) ); // Setup the address validator and apply it to any ui QLineEdit. // The lev validator will validate an IP address or up to one white space character (to allow // editing of the line edit). const QString s_ip4 = "(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9]?[0-9])"; const QString s_ip6 = "(?:[0-9a-fA-F]{1,4})"; const QString s_dom = "((?!-)[A-Za-z0-9-]{1,63}(?<!-)\\.)+[A-Za-z]{2,6}"; // QLineEdits that allow single address QRegularExpression rx4("\\s?|^" + s_ip4 + "(?:\\." + s_ip4 + "){3}" + "$"); QRegularExpression rx6("\\s?|^" + s_ip6 + "(?::" + s_ip6 + "){7}" + "$"); QRegularExpressionValidator* lev_4 = new QRegularExpressionValidator(rx4, this); QRegularExpressionValidator* lev_6 = new QRegularExpressionValidator(rx6, this); ui.lineEdit_ipv4address->setValidator(lev_4); ui.lineEdit_ipv4netmask->setValidator(lev_4); ui.lineEdit_ipv4gateway->setValidator(lev_4); ui.lineEdit_ipv6address->setValidator(lev_6); ui.lineEdit_ipv6gateway->setValidator(lev_6); // now QLineEdits that allow multiple addresses QRegularExpression rx46d("\\s?|((" + s_ip4 + "(?:\\." + s_ip4 + "){3}|"+ s_ip6 + "(?::" + s_ip6 + "){7}|" + s_dom + ")(\\s*[,|;|\\s]\\s*))+"); QRegularExpressionValidator* lev_m = new QRegularExpressionValidator(rx46d, this); ui.lineEdit_nameservers->setValidator(lev_m); ui.lineEdit_timeservers->setValidator(lev_m); // initialize and populate submaps ipv4map.clear(); ipv6map.clear(); proxmap.clear(); shared::extractMapData(ipv4map, objmap.value("IPv4.Configuration") ); shared::extractMapData(ipv6map, objmap.value("IPv6.Configuration") ); shared::extractMapData(proxmap, objmap.value("Proxy.Configuration") ); // Seed initial values in the dialog. ui.checkBox_autoconnect->setChecked(objmap.value("AutoConnect").toBool() ); ui.lineEdit_nameservers->setText(objmap.value("Nameservers.Configuration").toStringList().join("\n") ); ui.lineEdit_timeservers->setText(objmap.value("Timeservers.Configuration").toStringList().join("\n")); ui.lineEdit_domains->setText(objmap.value("Domains.Configuration").toStringList().join("\n")); // ipv4 page if (! ipv4map.value("Method").toString().isEmpty() ) { ui.comboBox_ipv4method->setCurrentIndex(sl_ipv4_method.indexOf(QRegExp(ipv4map.value("Method").toString())) ); } ui.lineEdit_ipv4address->setText(ipv4map.value("Address").toString() ); ui.lineEdit_ipv4netmask->setText(ipv4map.value("Netmask").toString() ); ui.lineEdit_ipv4gateway->setText(ipv4map.value("Gateway").toString() ); // ipv6 page if (! ipv6map.value("Method").toString().isEmpty() ) { ui.comboBox_ipv6method->setCurrentIndex(sl_ipv6_method.indexOf(QRegularExpression(ipv6map.value("Method").toString())) ); } ui.spinBox_ipv6prefixlength->setValue(ipv6map.value("PrefixLength").toUInt() ); ui.lineEdit_ipv6address->setText(ipv6map.value("Address").toString() ); ui.lineEdit_ipv6gateway->setText(ipv6map.value("Gateway").toString() ); if (! ipv6map.value("Privacy").toString().isEmpty() ) { ui.comboBox_ipv6privacy->setCurrentIndex(sl_ipv6_privacy.indexOf(QRegularExpression(ipv6map.value("Privacy").toString())) ); } // proxy page if (! proxmap.value("Method").toString().isEmpty() ) { ui.comboBox_proxymethod->setCurrentIndex(sl_proxy_method.indexOf(QRegularExpression(proxmap.value("Method").toString())) ); } ui.lineEdit_proxyservers->setText(proxmap.value("Servers").toStringList().join("\n") ); ui.lineEdit_proxyexcludes->setText(proxmap.value("Excludes").toStringList().join("\n") ); ui.lineEdit_proxyurl->setText(proxmap.value("URL").toString() ); // connect signals to slots connect(ui.toolButton_whatsthis, SIGNAL(clicked()), this, SLOT(showWhatsThis())); connect(ui.pushButton_resetpage, SIGNAL(clicked()), this, SLOT(resetPage())); connect(ui.pushButton_resetall, SIGNAL(clicked()), this, SLOT(resetAll())); connect(ui.pushButton_ok, SIGNAL(clicked()), this, SLOT(updateConfiguration())); }
// ======================================================== int init1 ( ) { BL_FUNC_DEBUG PluginBl_Report *mcont = new PluginBl_Report; QMenu *pPluginMenu = NULL; /// Miramos si existe un menu Informes pPluginMenu = g_pluginbl_report->menuBar()->findChild<QMenu *> ( "menuInformes" ); QMenu *pPluginVer = g_pluginbl_report->menuBar()->findChild<QMenu *> ( "menuVentana" ); /// Buscamos ficheros adecuados QDir dir ( g_confpr->value( CONF_DIR_OPENREPORTS ) ); dir.setFilter ( QDir::Files | QDir::NoSymLinks ); dir.setSorting ( QDir::Size | QDir::Reversed ); /// Hacemos un filtrado de busqueda QStringList filters; filters << "inf_*.txt"; dir.setNameFilters ( filters ); QFileInfoList list = dir.entryInfoList(); for ( int i = 0; i < list.size(); ++i ) { QFileInfo fileInfo = list.at ( i ); QFile file; file.setFileName ( g_confpr->value( CONF_DIR_OPENREPORTS ) + fileInfo.fileName() ); file.open ( QIODevice::ReadOnly ); QTextStream stream ( &file ); QString buff = stream.readAll(); file.close(); /// Buscamos el titulo QString titulo = fileInfo.fileName(); QRegExp rx3 ( " title\\s*=\\s*\"(.*)\"" ); rx3.setMinimal ( true ); if ( rx3.indexIn ( buff, 0 ) != -1 ) { titulo = rx3.cap ( 1 ); } // end while QString pathtitulo = fileInfo.fileName(); QRegExp rx1 ( "pathtitle\\s*=\\s*\"(.*)\"" ); rx1.setMinimal ( true ); if ( rx1.indexIn ( buff, 0 ) != -1 ) { pathtitulo = rx1.cap ( 1 ); } else { pathtitulo = titulo; } // end while /// Buscamos el icono QString icon = ":/Images/template2rml.png"; QRegExp rx6 ( " icon\\s*=\\s*\"(.*)\"" ); rx6.setMinimal ( true ); if ( rx6.indexIn ( buff, 0 ) != -1 ) { icon = rx6.cap ( 1 ); } // end while QMenuBar *menubar =g_pluginbl_report->menuBar(); QMenu *menu = NULL; QStringList path = pathtitulo.split("\\"); if (path.size() > 1) { QList<QMenu *> allPButtons = menubar->findChildren<QMenu *>(); bool encontrado = false; for (int j = 0; j < allPButtons.size(); ++j) { if (allPButtons.at(j)->title() == path[0]) { encontrado = true; menu = allPButtons.at(j); } // end if } // end for if (!encontrado) { QMenu *pPluginMenu1 = new QMenu (path[0] , menubar ); menubar->insertMenu ( pPluginVer->menuAction(), pPluginMenu1 ); menu = pPluginMenu1; } // end if } else { if (!pPluginMenu) { pPluginMenu = new QMenu ( _ ( "Informes" ), g_pluginbl_report->menuBar() ); pPluginMenu->setObjectName ( QString::fromUtf8 ( "menuInformes" ) ); g_pluginbl_report->menuBar()->insertMenu ( pPluginVer->menuAction(), pPluginMenu ); } // end if menu = pPluginMenu; } // end if for (int i = 1; i < path.size()-1; ++i) { QList<QMenu *> allPButtons = menu->findChildren<QMenu *>(); bool encontrado = false; for (int j = 0; j < allPButtons.size(); ++j) { if (allPButtons.at(j)->title() == path[i]) { encontrado = true; menu = allPButtons.at(j); } // end if } // end for if (!encontrado) { QMenu *pPluginMenu1 = new QMenu ( path[i] , menu ); menu->addMenu ( pPluginMenu1 ); menu = pPluginMenu1; } // end if } // end for /// Creamos el menú. QAction *accion = new QAction ( path[path.size()-1], 0 ); accion->setIcon(QIcon(icon)); accion->setObjectName ( fileInfo.fileName() ); accion->setStatusTip ( titulo); accion->setWhatsThis ( titulo ); mcont->connect ( accion, SIGNAL ( activated() ), mcont, SLOT ( elslot2() ) ); menu->addAction ( accion ); } // end for return 0; }
void Videoner_Handler::populateWebViewMenu(QMenu* menu, WebView* view, const QWebHitTestResult &r) { m_view = view; if (m_pageyt) { QRegExp rx1("v=([^&]+)|youtu.be/([^&]+)|y2u.be/([^&]+)|youtube.com/embed/([^&]+)"); QString videoId1; rx1.indexIn(r.linkUrl().toString()); for (int i = 1; i < 4; ++i) { if (!rx1.cap(i).isEmpty()) { videoId1 = rx1.cap(i); break; } } if (videoId1.isEmpty()) { rx1.indexIn(view->url().toString()); for (int i = 1; i < 4; ++i) { if (!rx1.cap(i).isEmpty()) { videoId1 = rx1.cap(i); break; } } } if (!videoId1.isEmpty()) { QString videoPage1; videoPage1 = "http://www.youtube.com/watch?v=" + videoId1; menu->addAction(QIcon(":/videoner/data/videoner.png"), tr("Videonize!"), this, (m_sepyth ? SLOT(startExternalHandlerYt()) : SLOT(startExternalHandler())))->setData(videoPage1); } } if (m_pagevm) { QRegExp rx2("://vimeo.com/([^d]{8})"); QString videoId2; rx2.indexIn(r.linkUrl().toString()); for (int i = 1; i < 4; ++i) { if (!rx2.cap(i).isEmpty()) { videoId2 = rx2.cap(i); break; } } if (videoId2.isEmpty()) { rx2.indexIn(view->url().toString()); for (int i = 1; i < 4; ++i) { if (!rx2.cap(i).isEmpty()) { videoId2 = rx2.cap(i); break; } } } if (!videoId2.isEmpty()) { QString videoPage2; videoPage2 = "http://vimeo.com/" + videoId2; menu->addAction(QIcon(":/videoner/data/videoner.png"), tr("Videonize!"), this, SLOT(startExternalHandler()))->setData(videoPage2); } } if (m_pagell) { QRegExp rx3("www.liveleak.com/view?i=([a-z0-9]{3})_([^&]+)"); QString videoId3; rx3.indexIn(r.linkUrl().toString()); for (int i = 1; i < 4; ++i) { if (!rx3.cap(i).isEmpty()) { videoId3 = rx3.cap(i); break; } } if (videoId3.isEmpty()) { rx3.indexIn(view->url().toString()); for (int i = 1; i < 4; ++i) { if (!rx3.cap(i).isEmpty()) { videoId3 = rx3.cap(i); break; } } } if (!videoId3.isEmpty()) { QString videoPage3; videoPage3 = "http://www.liveleak.com/view?i=" + videoId3; menu->addAction(QIcon(":/videoner/data/videoner.png"), tr("Videonize!"), this, SLOT(startExternalHandler()))->setData(videoPage3); } } if (m_pagemc) { QRegExp rx4("www.metacafe.com/watch/([^d]+)/([^&]+)"); QString videoId4; rx4.indexIn(r.linkUrl().toString()); for (int i = 1; i < 4; ++i) { if (!rx4.cap(i).isEmpty()) { videoId4 = rx4.cap(i); break; } } if (videoId4.isEmpty()) { rx4.indexIn(view->url().toString()); for (int i = 1; i < 4; ++i) { if (!rx4.cap(i).isEmpty()) { videoId4 = rx4.cap(i); break; } } } if (!videoId4.isEmpty()) { QString videoPage4; videoPage4 = "http://www.metacafe.com/watch/" + videoId4; menu->addAction(QIcon(":/videoner/data/videoner.png"), tr("Videonize!"), this, SLOT(startExternalHandler()))->setData(videoPage4); } } if (m_pagedm) { QRegExp rx5("dailymotion.com/video/([a-z0-9]+_[^&]+)"); QString videoId5; rx5.indexIn(r.linkUrl().toString()); for (int i = 1; i < 4; ++i) { if (!rx5.cap(i).isEmpty()) { videoId5 = rx5.cap(i); break; } } if (videoId5.isEmpty()) { rx5.indexIn(view->url().toString()); for (int i = 1; i < 4; ++i) { if (!rx5.cap(i).isEmpty()) { videoId5 = rx5.cap(i); break; } } } if (!videoId5.isEmpty()) { QString videoPage5; videoPage5 = "http://www.dailymotion.com/video/" + videoId5; menu->addAction(QIcon(":/videoner/data/videoner.png"), tr("Videonize!"), this, SLOT(startExternalHandler()))->setData(videoPage5); } } if (m_pagebr) { QRegExp rx6("www.break.com/video/([^&]+)"); QString videoId6; rx6.indexIn(r.linkUrl().toString()); for (int i = 1; i < 4; ++i) { if (!rx6.cap(i).isEmpty()) { videoId6 = rx6.cap(i); break; } } if (videoId6.isEmpty()) { rx6.indexIn(view->url().toString()); for (int i = 1; i < 4; ++i) { if (!rx6.cap(i).isEmpty()) { videoId6 = rx6.cap(i); break; } } } if (!videoId6.isEmpty()) { QString videoPage6; videoPage6 = "www.break.com/video/" + videoId6; menu->addAction(QIcon(":/videoner/data/videoner.png"), tr("Videonize!"), this, SLOT(startExternalHandler()))->setData(videoPage6); } } if (m_pagehu) { QRegExp rx7("www.hulu.com/watch/([^d]+)"); QString videoId7; rx7.indexIn(r.linkUrl().toString()); for (int i = 1; i < 4; ++i) { if (!rx7.cap(i).isEmpty()) { videoId7 = rx7.cap(i); break; } } if (videoId7.isEmpty()) { rx7.indexIn(view->url().toString()); for (int i = 1; i < 4; ++i) { if (!rx7.cap(i).isEmpty()) { videoId7 = rx7.cap(i); break; } } } if (!videoId7.isEmpty()) { QString videoPage7; videoPage7 = "http://www.hulu.com/watch/" + videoId7; menu->addAction(QIcon(":/videoner/data/videoner.png"), tr("Videonize!"), this, SLOT(startExternalHandler()))->setData(videoPage7); } } if (m_medel) { if (r.element().tagName().toLower() == QLatin1String("video") || r.element().tagName().toLower() == QLatin1String("audio")) { QUrl mediaLink = r.element().evaluateJavaScript("this.currentSrc").toUrl(); menu->addAction(QIcon(":/videoner/data/videoner.png"), tr("Videonize!"), this, (m_sepmedel ? SLOT(startExternalHandlerMed()) : SLOT(startExternalHandler())))->setData(mediaLink); } } }
PropertiesEditor::PropertiesEditor(QWidget* parent, const arrayElement& ae, bool (*extractMapData) (QMap<QString,QVariant>&,const QVariant&)) : QDialog(parent) { // Setup the user interface ui.setupUi(this); // Data members objpath = ae.objpath; objmap = ae.objmap; // Setup the address validator and apply it to any ui QLineEdit. // The lev validator will validate an IP address or up to one white space character (to allow // editing of the line edit). QString s_ip4 = "(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9]?[0-9])"; QString s_ip6 = "(?:[0-9a-fA-F]{1,4})"; // QLineEdits that allow single address QRegularExpression rx4("\\s?|^" + s_ip4 + "(?:\\." + s_ip4 + "){3}" + "$"); QRegularExpression rx6("\\s?|^" + s_ip6 + "(?::" + s_ip6 + "){7}" + "$"); QRegularExpressionValidator* lev_4 = new QRegularExpressionValidator(rx4, this); QRegularExpressionValidator* lev_6 = new QRegularExpressionValidator(rx6, this); ui.lineEdit_ipv4address->setValidator(lev_4); ui.lineEdit_ipv4netmask->setValidator(lev_4); ui.lineEdit_ipv4gateway->setValidator(lev_4); ui.lineEdit_ipv6address->setValidator(lev_6); ui.lineEdit_ipv6gateway->setValidator(lev_6); // now QLineEdits that allow multiple addresses QRegularExpression rx46("\\s?|((" + s_ip4 + "(?:\\." + s_ip4 + "){3}|" + s_ip6 + "(?::" + s_ip6 + "){7})(\\s*[,|;|\\s]\\s*))+"); QRegularExpressionValidator* lev_m = new QRegularExpressionValidator(rx46, this); ui.lineEdit_nameservers->setValidator(lev_m); ui.lineEdit_timeservers->setValidator(lev_m); // initialize and populate submaps ipv4map.clear(); ipv6map.clear(); proxmap.clear(); extractMapData(ipv4map, objmap.value("IPv4.Configuration") ); extractMapData(ipv6map, objmap.value("IPv6.Configuration") ); extractMapData(proxmap, objmap.value("Proxy.Configuration") ); // Seed initial values in the dialog. ui.checkBox_autoconnect->setChecked(objmap.value("AutoConnect").toBool() ); ui.lineEdit_nameservers->setText(objmap.value("Nameservers.Configuration").toStringList().join("\n") ); ui.lineEdit_timeservers->setText(objmap.value("Timeservers.Configuration").toStringList().join("\n")); ui.lineEdit_domains->setText(objmap.value("Domains.Configuration").toStringList().join("\n")); // ipv4 page if (! ipv4map.value("Method").toString().isEmpty() ) { ui.comboBox_ipv4method->setCurrentIndex(ui.comboBox_ipv4method->findText(ipv4map.value("Method").toString(), Qt::MatchFixedString) ); } ui.lineEdit_ipv4address->setText(ipv4map.value("Address").toString() ); ui.lineEdit_ipv4netmask->setText(ipv4map.value("Netmask").toString() ); ui.lineEdit_ipv4gateway->setText(ipv4map.value("Gateway").toString() ); // ipv6 page if (! ipv6map.value("Method").toString().isEmpty() ) { ui.comboBox_ipv6method->setCurrentIndex(ui.comboBox_ipv6method->findText(ipv6map.value("Method").toString(), Qt::MatchFixedString) ); } ui.spinBox_ipv6prefixlength->setValue(ipv6map.value("PrefixLength").toUInt() ); ui.lineEdit_ipv6address->setText(ipv6map.value("Address").toString() ); ui.lineEdit_ipv6gateway->setText(ipv6map.value("Gateway").toString() ); if (! ipv6map.value("Privacy").toString().isEmpty() ) { ui.comboBox_ipv6privacy->setCurrentIndex(ui.comboBox_ipv6privacy->findText(ipv6map.value("Privacy").toString(), Qt::MatchFixedString) ); } // proxy page if (! proxmap.value("Method").toString().isEmpty() ) { ui.comboBox_proxymethod->setCurrentIndex(ui.comboBox_proxymethod->findText(proxmap.value("Method").toString(), Qt::MatchFixedString) ); } ui.lineEdit_proxyservers->setText(proxmap.value("Servers").toStringList().join("\n") ); ui.lineEdit_proxyexcludes->setText(proxmap.value("Excludes").toStringList().join("\n") ); ui.lineEdit_proxyurl->setText(proxmap.value("URL").toString() ); // connect signals to slots connect(ui.toolButton_whatsthis, SIGNAL(clicked()), this, SLOT(showWhatsThis())); connect(ui.pushButton_resetpage, SIGNAL(clicked()), this, SLOT(resetPage())); connect(ui.pushButton_resetall, SIGNAL(clicked()), this, SLOT(resetAll())); connect(ui.pushButton_ok, SIGNAL(clicked()), this, SLOT(updateConfiguration())); }