本文整理汇总了C++中QUrl::url方法的典型用法代码示例。如果您正苦于以下问题:C++ QUrl::url方法的具体用法?C++ QUrl::url怎么用?C++ QUrl::url使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类QUrl
的用法示例。
在下文中一共展示了QUrl::url方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: stat
void MANProtocol::stat( const QUrl& url)
{
qCDebug(KIO_MAN_LOG) << "ENTERING STAT " << url.url();
QString title, section;
if (!parseUrl(url.path(), title, section))
{
error(KIO::ERR_MALFORMED_URL, url.url());
return;
}
qCDebug(KIO_MAN_LOG) << "URL " << url.url() << " parsed to title='" << title << "' section=" << section;
UDSEntry entry;
entry.insert(KIO::UDSEntry::UDS_NAME, title);
entry.insert(KIO::UDSEntry::UDS_FILE_TYPE, S_IFREG);
#if 0 // not useful, is it?
QString newUrl = "man:"+title;
if (!section.isEmpty())
newUrl += QString("(%1)").arg(section);
entry.insert(KIO::UDSEntry::UDS_URL, newUrl);
#endif
entry.insert(KIO::UDSEntry::UDS_MIME_TYPE, QString::fromLatin1("text/html"));
statEntry(entry);
finished();
}
示例2: fileSystemFreeSpace
void SMBSlave::fileSystemFreeSpace(const QUrl& url)
{
qCDebug(KIO_SMB) << url;
SMBUrl smbcUrl = url;
int handle = smbc_opendir(smbcUrl.toSmbcUrl());
if (handle < 0) {
error(KIO::ERR_COULD_NOT_STAT, url.url());
return;
}
struct statvfs dirStat;
memset(&dirStat, 0, sizeof(struct statvfs));
int err = smbc_fstatvfs(handle, &dirStat);
smbc_closedir(handle);
if (err < 0) {
error(KIO::ERR_COULD_NOT_STAT, url.url());
return;
}
KIO::filesize_t blockSize;
if (dirStat.f_frsize != 0) {
blockSize = dirStat.f_frsize;
} else {
blockSize = dirStat.f_bsize;
}
setMetaData("total", QString::number(blockSize * dirStat.f_blocks));
setMetaData("available", QString::number(blockSize * dirStat.f_bavail));
finished();
}
示例3: addPopup
void PopupsBarWidget::addPopup(const QUrl &url)
{
QAction *action(m_popupsMenu->addAction(QString("%1").arg(fontMetrics().elidedText(url.url(), Qt::ElideMiddle, 256))));
action->setData(url.url());
m_ui->messageLabel->setText(tr("%1 wants to open %n pop-up window(s).", "", (m_popupsMenu->actions().count() - 2)).arg(m_parentUrl.host().isEmpty() ? QLatin1String("localhost") : m_parentUrl.host()));
}
示例4: QWidget
//-----------------------------------------------------------------------------
HighscoresWidget::HighscoresWidget(QWidget *parent)
: QWidget(parent),
_scoresUrl(0), _playersUrl(0), _statsTab(0), _histoTab(0)
{
// kDebug(11001) << ": HighscoresWidget";
setObjectName( QLatin1String("show_highscores_widget" ));
const ScoreInfos &s = internal->scoreInfos();
const PlayerInfos &p = internal->playerInfos();
QVBoxLayout *vbox = new QVBoxLayout(this);
vbox->setSpacing(QApplication::fontMetrics().lineSpacing());
_tw = new QTabWidget(this);
connect(_tw, SIGNAL(currentChanged(int)), SLOT(tabChanged()));
vbox->addWidget(_tw);
// scores tab
_scoresList = new HighscoresList(0);
_scoresList->addHeader(s);
_tw->addTab(_scoresList, i18n("Best &Scores"));
// players tab
_playersList = new HighscoresList(0);
_playersList->addHeader(p);
_tw->addTab(_playersList, i18n("&Players"));
// statistics tab
if ( internal->showStatistics ) {
_statsTab = new StatisticsTab(0);
_tw->addTab(_statsTab, i18n("Statistics"));
}
// histogram tab
if ( p.histogram().size()!=0 ) {
_histoTab = new HistogramTab(0);
_tw->addTab(_histoTab, i18n("Histogram"));
}
// url labels
if ( internal->isWWHSAvailable() ) {
QUrl url = internal->queryUrl(ManagerPrivate::Scores);
_scoresUrl = new KUrlLabel(url.url(),
i18n("View world-wide highscores"), this);
connect(_scoresUrl, SIGNAL(leftClickedUrl(QString)),
SLOT(showURL(QString)));
vbox->addWidget(_scoresUrl);
url = internal->queryUrl(ManagerPrivate::Players);
_playersUrl = new KUrlLabel(url.url(),
i18n("View world-wide players"), this);
connect(_playersUrl, SIGNAL(leftClickedUrl(QString)),
SLOT(showURL(QString)));
vbox->addWidget(_playersUrl);
}
load(-1);
}
示例5: listDir
void MANProtocol::listDir(const QUrl &url)
{
qCDebug(KIO_MAN_LOG) << url;
QString title;
QString section;
if ( !parseUrl(url.path(), title, section) ) {
error( KIO::ERR_MALFORMED_URL, url.url() );
return;
}
// stat() and listDir() declared that everything is an html file.
// However we can list man: and man:(1) as a directory (e.g. in dolphin).
// But we cannot list man:ls as a directory, this makes no sense (#154173)
if (!title.isEmpty() && title != "/") {
error(KIO::ERR_IS_FILE, url.url());
return;
}
UDSEntryList uds_entry_list;
if (section.isEmpty()) {
for (QStringList::ConstIterator it = section_names.constBegin(); it != section_names.constEnd(); ++it) {
UDSEntry uds_entry;
QString name = "man:/(" + *it + ')';
uds_entry.insert( KIO::UDSEntry::UDS_NAME, sectionName( *it ) );
uds_entry.insert( KIO::UDSEntry::UDS_URL, name );
uds_entry.insert( KIO::UDSEntry::UDS_FILE_TYPE, S_IFDIR );
uds_entry_list.append( uds_entry );
}
}
QStringList list = findPages( section, QString(), false );
QStringList::Iterator it = list.begin();
QStringList::Iterator end = list.end();
for ( ; it != end; ++it ) {
stripExtension( &(*it) );
UDSEntry uds_entry;
uds_entry.insert( KIO::UDSEntry::UDS_NAME, *it );
uds_entry.insert(KIO::UDSEntry::UDS_FILE_TYPE, S_IFREG);
uds_entry.insert(KIO::UDSEntry::UDS_MIME_TYPE, QString::fromLatin1("text/html"));
uds_entry_list.append( uds_entry );
}
listEntries( uds_entry_list );
finished();
}
示例6: populateVfsList
bool ftp_vfs::populateVfsList(const QUrl &origin, bool showHidden)
{
QString errorMsg;
if (!origin.isValid())
errorMsg = i18n("Malformed URL:\n%1", origin.url());
if (!KProtocolManager::supportsListing(origin)) {
if (origin.scheme() == "ftp" && KProtocolManager::supportsReading(origin))
errorMsg = i18n("Krusader does not support FTP access via HTTP.\nIf it is not the case, please check and change the proxy settings in the System Settings.");
else
errorMsg = i18n("Protocol not supported by Krusader:\n%1", origin.url());
}
if (!errorMsg.isEmpty()) {
printf("error\n");
if (!quietMode)
emit error(errorMsg);
return false;
}
busy = true;
vfs_origin = origin.adjusted(QUrl::StripTrailingSlash);
//QTimer::singleShot( 0,this,SLOT(startLister()) );
listError = false;
// Open the directory marked by origin
KIO::Job *job = KIO::listDir(vfs_origin, KIO::HideProgressInfo, showHidden);
connect(job, SIGNAL(entries(KIO::Job*, const KIO::UDSEntryList&)),
this, SLOT(slotAddFiles(KIO::Job*, const KIO::UDSEntryList&)));
connect(job, SIGNAL(redirection(KIO::Job*, const QUrl&)),
this, SLOT(slotRedirection(KIO::Job*, const QUrl&)));
connect(job, SIGNAL(permanentRedirection(KIO::Job*, const QUrl&, const QUrl&)),
this, SLOT(slotPermanentRedirection(KIO::Job*, const QUrl&, const QUrl&)));
connect(job, SIGNAL(result(KJob*)),
this, SLOT(slotListResult(KJob*)));
if(!parentWindow.isNull()) {
KIO::JobUiDelegate *ui = static_cast<KIO::JobUiDelegate*>(job->uiDelegate());
ui->setWindow(parentWindow);
}
if (!quietMode) {
emit startJob(job);
}
while (busy && vfs_processEvents());
if (listError) return false;
return true;
}
示例7: values
QVariantHash ChooseSamba::values() const
{
QVariantHash ret = m_args;
QString address = ui->addressLE->text().trimmed();
QUrl url;
if (address.startsWith(QLatin1String("//"))) {
url = QUrl(QLatin1String("smb:") % address);
} else if (address.startsWith(QLatin1String("/"))) {
url = QUrl(QLatin1String("smb:/") % address);
} else if (address.startsWith(QLatin1String("://"))) {
url = QUrl(QLatin1String("smb") % address);
} else if (address.startsWith(QLatin1String("smb://"))) {
url = QUrl(address);
} else if (!QUrl::fromUserInput(address).scheme().isEmpty() &&
QUrl::fromUserInput(address).scheme() != QStringLiteral("smb")) {
url = QUrl::fromUserInput(address);
url.setScheme(QStringLiteral("smb"));
} else {
url = QUrl(QStringLiteral("smb://") % address);
}
qDebug() << 1 << url;
if (!ui->usernameLE->text().isEmpty()) {
url.setUserName(ui->usernameLE->text());
}
if (!ui->passwordLE->text().isEmpty()) {
url.setPassword(ui->passwordLE->text());
}
qDebug() << 2 << url;
qDebug() << 3 << url.url() << url.path().section(QLatin1Char('/'), -1, -1);// same as url.fileName()
qDebug() << 4 << url.fileName();
qDebug() << 5 << url.host() << url.url().section(QLatin1Char('/'), 3, 3).toLower();
ret[KCUPS_DEVICE_URI] = url.url();
ret[KCUPS_DEVICE_INFO] = url.fileName();
// if there is 4 '/' means the url is like
// smb://group/host/printer, so the location is at a different place
if (url.url().count(QLatin1Char('/') == 4)) {
ret[KCUPS_DEVICE_LOCATION] = url.url().section(QLatin1Char('/'), 3, 3).toLower();
} else {
ret[KCUPS_DEVICE_LOCATION] = url.host();
}
return ret;
}
示例8: handleGetSaveX
bool Helper::handleGetSaveX( bool url )
{
if( !readArguments( 4 ))
return false;
QString startDir = getArgument();
QString filter = getArgument().replace("/", "\\/"); // TODO: ignored
int selectFilter = getArgument().toInt();
QString title = getArgument();
long wid = getArgumentParent();
if( !allArgumentsUsed())
return false;
if (title.isEmpty())
title = i18n("Save As");
// TODO: confirm overwrite
if (url) {
QUrl result = QFileDialog::getSaveFileUrl(nullptr, title, startDir);
if (result.isValid()) {
outputLine(QStringLiteral("0"));
outputLine(result.url());
return true;
}
} else {
QString result = QFileDialog::getSaveFileName(nullptr, title, startDir);
if (!result.isEmpty()) {
KRecentDocument::add(QUrl::fromLocalFile(result));
outputLine(QStringLiteral("0"));
outputLine(result);
return true;
}
}
return false;
}
示例9:
bool
XinePlayerBackend::openFile(const QString &filePath, bool &playingAfterCall)
{
playingAfterCall = true;
// the volume is adjusted when file playback starts and it's best if it's initially at 0
xine_set_param(m_xineStream, m_softwareMixer ? XINE_PARAM_AUDIO_AMP_LEVEL : XINE_PARAM_AUDIO_VOLUME, 0);
m_streamIsSeekable = false;
QUrl fileUrl;
fileUrl.setScheme("file");
fileUrl.setPath(filePath);
if(!xine_open(m_xineStream, fileUrl.url().toLocal8Bit()))
return false;
// no subtitles
xine_set_param(m_xineStream, XINE_PARAM_SPU_CHANNEL, -1);
if(!xine_play(m_xineStream, 0, 0))
return false;
setPlayerState(VideoPlayer::Playing);
// this methods do nothing if the information is not available
updateVideoData();
updateAudioData();
updatePosition();
m_timesTimer.start(UPDATE_INTERVAL);
return true;
}
示例10: run
void BookmarksRunner::run(const Plasma::RunnerContext &context, const Plasma::QueryMatch &action)
{
Q_UNUSED(context);
const QString term = action.data().toString();
QUrl url = QUrl(term);
//support urls like "kde.org" by transforming them to http://kde.org
if (url.scheme().isEmpty()) {
const int idx = term.indexOf('/');
url.clear();
url.setHost(term.left(idx));
if (idx != -1) {
//allow queries
const int queryStart = term.indexOf('?', idx);
int pathLength = -1;
if ((queryStart > -1) && (idx < queryStart)) {
pathLength = queryStart - idx;
url.setQuery(term.mid(queryStart));
}
url.setPath(term.mid(idx, pathLength));
}
url.setScheme(QStringLiteral("http"));
}
KToolInvocation::invokeBrowser(url.url());
}
示例11: captureImage
void StreamWG::captureImage()
{
QString fmt;
QUrl currentFileURL;
QUrl currentDir(Options::fitsDir());
QTemporaryFile tmpfile;
tmpfile.open();
fmt = imgFormatCombo->currentText();
currentFileURL = QFileDialog::getSaveFileUrl(KStars::Instance(), i18n("Save Image"), currentDir, fmt );
if (currentFileURL.isEmpty()) return;
if ( currentFileURL.isValid() )
{
streamFrame->kPix.save(currentFileURL.toLocalFile(), fmt.toLatin1());
}
else
{
QString message = i18n( "Invalid URL: %1", currentFileURL.url() );
KMessageBox::sorry( 0, message, i18n( "Invalid URL" ) );
}
}
示例12: urlSelected
bool DocumentationViewer::urlSelected(const QString &url, int button, int state, const QString &_target, const KParts::OpenUrlArguments &args, const KParts::BrowserArguments & /* browserArgs */)
{
QUrl cURL = completeURL(url);
QMimeDatabase db;
QString mime = db.mimeTypeForUrl(cURL).name();
//load this URL in the embedded viewer if KHTML can handle it, or when mimetype detection failed
KService::Ptr service = KService::serviceByDesktopName("khtml");
if (db.mimeTypeForUrl(cURL).isDefault() || (service && service->hasServiceType(mime))) {
KHTMLPart::urlSelected(url, button, state, _target, args);
openUrl(cURL);
addToHistory(cURL.url());
}
//KHTML can't handle it, look for an appropriate application
else {
KService::List offers = KMimeTypeTrader::self()->query(mime, "Type == 'Application'");
if(offers.isEmpty()) {
KMessageBox::error(view(), i18n("No KDE service found for the MIME type \"%1\".", mime));
return false;
}
QList<QUrl> lst;
lst.append(cURL);
KRun::runService(*(offers.first()), lst, view());
}
return true;
}
示例13: handleGetDirectoryX
bool Helper::handleGetDirectoryX( bool url )
{
if( !readArguments( 2 ))
return false;
QString startDir = getArgument();
QString title = getArgument();
long wid = getArgumentParent();
if( !allArgumentsUsed())
return false;
if (url) {
QUrl result = QFileDialog::getExistingDirectoryUrl(nullptr, title, startDir);
if (result.isValid()) {
outputLine(result.url());
return true;
}
} else {
QString result = QFileDialog::getExistingDirectory(nullptr, title, startDir);
if (!result.isEmpty()) {
outputLine(QUrl::fromLocalFile(result).url());
return true;
}
}
return false;
}
示例14: checkFileNameOrUrl
void checkFileNameOrUrl(const QString &pInFileNameOrUrl, bool &pOutIsLocalFile,
QString &pOutFileNameOrUrl)
{
// Determine whether pInFileNameOrUrl refers to a local file or a remote
// one, and set pOutIsLocalFile and pOutFileNameOrUrl accordingly
// Note #1: to use QUrl::isLocalFile() is not enough. Indeed, say that
// pInFileNameOrUrl is equal to
// /home/me/mymodel.cellml
// then QUrl(pInFileNameOrUrl).isLocalFile() will be false. For it
// to be true, we would have to initialise the QUrl object using
// QUrl::fromLocalFile(), but we can't do that since we don't know
// whether pInFileNameOrUrl refers to a local file or not. So,
// instead we test for the scheme and host of the QUrl object...
// Note #2: a local file can be passed as a URL. For example,
// file:///home/me/mymodel.cellml
// is a URL, but effectively a local file, hence pOutIsLocalFile is
// to be true and pOutFileNameOrUrl is to be set to
// /home/me/mymodel.cellml
QUrl fileNameOrUrl = pInFileNameOrUrl;
pOutIsLocalFile = !fileNameOrUrl.scheme().compare("file")
|| fileNameOrUrl.host().isEmpty();
pOutFileNameOrUrl = pOutIsLocalFile?
!fileNameOrUrl.scheme().compare("file")?
nativeCanonicalFileName(fileNameOrUrl.toLocalFile()):
nativeCanonicalFileName(pInFileNameOrUrl):
fileNameOrUrl.url();
}
示例15: getXMLData
// Gets specific city XML data
void NOAAIon::getXMLData(const QString& source)
{
foreach (const QString &fetching, m_jobList) {
if (fetching == source) {
// already getting this source and awaiting the data
return;
}
}
QString dataKey = source;
dataKey.remove(QStringLiteral("noaa|weather|"));
const QUrl url(m_places[dataKey].XMLurl);
// If this is empty we have no valid data, send out an error and abort.
if (url.url().isEmpty()) {
setData(source, QStringLiteral("validate"), QStringLiteral("noaa|malformed"));
return;
}
KIO::TransferJob* getJob = KIO::get(url, KIO::Reload, KIO::HideProgressInfo);
m_jobXml.insert(getJob, new QXmlStreamReader);
m_jobList.insert(getJob, source);
connect(getJob, &KIO::TransferJob::data,
this, &NOAAIon::slotDataArrived);
connect(getJob, &KJob::result,
this, &NOAAIon::slotJobFinished);
}