本文整理汇总了C++中QUrlQuery::setEncodedUrl方法的典型用法代码示例。如果您正苦于以下问题:C++ QUrlQuery::setEncodedUrl方法的具体用法?C++ QUrlQuery::setEncodedUrl怎么用?C++ QUrlQuery::setEncodedUrl使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类QUrlQuery
的用法示例。
在下文中一共展示了QUrlQuery::setEncodedUrl方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: openUrl
bool WulforUtil::openUrl(const QString &url){
if (url.startsWith("http://") || url.startsWith("www.") || url.startsWith(("ftp://")) || url.startsWith("https://")){
if (!SETTING(MIME_HANDLER).empty())
QProcess::startDetached(_q(SETTING(MIME_HANDLER)), QStringList(url));
else
QDesktopServices::openUrl(QUrl::fromEncoded(url.toUtf8()));
}
else if (url.startsWith("adc://") || url.startsWith("adcs://")){
MainWindow::getInstance()->newHubFrame(url, "UTF-8");
}
else if (url.startsWith("dchub://") || url.startsWith("nmdcs://")){
MainWindow::getInstance()->newHubFrame(url, WSGET(WS_DEFAULT_LOCALE));
}
else if (url.startsWith("magnet:") && url.contains("urn:tree:tiger")){
QString magnet = url;
Magnet *m = new Magnet(MainWindow::getInstance());
m->setLink(magnet);
m->exec();
m->deleteLater();
}
else if (url.startsWith("magnet:")){
const QString magnet = url;
#if QT_VERSION >= 0x050000
QUrlQuery u;
#else
QUrl u;
#endif
if (!magnet.contains("+")) {
#if QT_VERSION >= 0x050000
u.setQuery(magnet.toUtf8());
#else
u.setEncodedUrl(magnet.toUtf8());
#endif
} else {
QString _l = magnet;
_l.replace("+", "%20");
#if QT_VERSION >= 0x050000
u.setQuery(_l.toUtf8());
#else
u.setEncodedUrl(_l.toUtf8());
#endif
}
if (u.hasQueryItem("kt")) {
QString keywords = u.queryItemValue("kt");
QString hub = u.hasQueryItem("xs")? u.queryItemValue("xs") : "";
if (!(hub.startsWith("dchub://", Qt::CaseInsensitive) ||
hub.startsWith("nmdcs://", Qt::CaseInsensitive) ||
hub.startsWith("adc://", Qt::CaseInsensitive) ||
hub.startsWith("adcs://", Qt::CaseInsensitive)) && !hub.isEmpty())
hub.prepend("dchub://");
if (keywords.isEmpty())
return false;
if (!hub.isEmpty())
WulforUtil::openUrl(hub);
SearchFrame *sfr = ArenaWidgetFactory().create<SearchFrame>();
sfr->fastSearch(keywords, false);
}
else {
if (!SETTING(MIME_HANDLER).empty())
QProcess::startDetached(_q(SETTING(MIME_HANDLER)), QStringList(url));
else
QDesktopServices::openUrl(QUrl::fromEncoded(url.toUtf8()));
}
}
else
return false;
return true;
}