本文整理汇总了C++中KURL::directory方法的典型用法代码示例。如果您正苦于以下问题:C++ KURL::directory方法的具体用法?C++ KURL::directory怎么用?C++ KURL::directory使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类KURL
的用法示例。
在下文中一共展示了KURL::directory方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: move
bool TrashImpl::move( const TQString& src, const TQString& dest )
{
if ( directRename( src, dest ) ) {
// This notification is done by TDEIO::moveAs when using the code below
// But if we do a direct rename we need to do the notification ourselves
KDirNotify_stub allDirNotify( "*", "KDirNotify*" );
KURL urlDest; urlDest.setPath( dest );
urlDest.setPath( urlDest.directory() );
allDirNotify.FilesAdded( urlDest );
return true;
}
if ( m_lastErrorCode != TDEIO::ERR_UNSUPPORTED_ACTION )
return false;
KURL urlSrc, urlDest;
urlSrc.setPath( src );
urlDest.setPath( dest );
kdDebug() << k_funcinfo << urlSrc << " -> " << urlDest << endl;
TDEIO::CopyJob* job = TDEIO::moveAs( urlSrc, urlDest, false );
#ifdef TDEIO_COPYJOB_HAS_SETINTERACTIVE
job->setInteractive( false );
#endif
connect( job, TQT_SIGNAL( result(TDEIO::Job *) ),
this, TQT_SLOT( jobFinished(TDEIO::Job *) ) );
tqApp->eventLoop()->enterLoop();
return m_lastErrorCode == 0;
}
示例2: QString
AtomicURL::AtomicURL( const KURL &url )
{
if( url.isEmpty() )
return;
QString s = url.protocol() + "://";
QString host = url.host();
if( url.hasUser() )
{
s += url.user();
host.prepend("@");
}
if( url.hasPass() )
s += ':' + url.pass();
if( url.port() )
host += QString(":") + QString::number( url.port() );
m_beginning = s + host;
m_directory = url.directory();
m_filename = url.fileName();
m_end = url.query();
if( url.hasRef() )
m_end += QString("#") + url.ref();
if (url != this->url())
{
debug() << "from: " << url << endl;
debug() << "to: " << this->url() << endl;
}
}
示例3: mkdir
void TrashProtocol::mkdir( const KURL& url, int /*permissions*/ )
{
INIT_IMPL;
// create info about deleted dir
// ############ Problem: we don't know the original path.
// Let's try to avoid this case (we should get to copy() instead, for local files)
kdDebug() << "mkdir: " << url << endl;
QString dir = url.directory();
if ( dir.length() <= 1 ) // new toplevel entry
{
// ## we should use TrashImpl::parseURL to give the right filename to createInfo
int trashId;
QString fileId;
if ( !impl.createInfo( url.path(), trashId, fileId ) ) {
error( impl.lastErrorCode(), impl.lastErrorMessage() );
} else {
if ( !impl.mkdir( trashId, fileId, permissions ) ) {
(void)impl.deleteInfo( trashId, fileId );
error( impl.lastErrorCode(), impl.lastErrorMessage() );
} else
finished();
}
} else {
// Well it's not allowed to add a directory to an existing deleted directory.
error( KIO::ERR_ACCESS_DENIED, url.prettyURL() );
}
}
示例4: slotCreateFile
void BaseTreeView::slotCreateFile()
{
bool ok;
QString fileName = KInputDialog::getText(i18n("Create New File"), i18n("File name:"), "", &ok, this);
if (ok)
{
KURL url = currentURL();
if (currentKFileTreeViewItem()->isDir())
url.setPath(url.path() + "/" + fileName);
else
url.setPath(url.directory() + "/" + fileName);
if (QExtFileInfo::exists(url, false, this))
{
KMessageBox::error(this, i18n("<qt>Cannot create file, because a file named <b>%1</b> already exists.</qt>").arg(fileName), i18n("Error Creating File"));
return;
}
KTempFile *tempFile = new KTempFile(tmpDir);
tempFile->setAutoDelete(true);
tempFile->close();
if (QuantaNetAccess::copy(KURL::fromPathOrURL(tempFile->name()), url, this))
{
emit openFile(url);
}
delete tempFile;
}
}
示例5: startSearch
void SearchManager::startSearch(KURL const& root, SearchMode const& modo)
{
canceled_ = false;
//time_.restart();
time_.start();
Q_ASSERT(root.isValid());
//Q_ASSERT(root.protocol() == "http" || root.protocol() == "https");
if(root.hasHost() && (domain_.isNull() || domain_.isEmpty()))
{
setDomain(root.host() + root.directory());
kdDebug(23100) << "Domain: " << domain_ << endl;
}
root_.setIsRoot(true);
root_.setDepth(0);
root_.setOriginalUrl(root.prettyURL());
root_.setAbsoluteUrl(root);
root_.setOnlyCheckHeader(false);
root_.setRootUrl(root);
search_mode_ = modo;
if(modo == depth)
Q_ASSERT(depth_ != -1);
else if(modo == domain)
Q_ASSERT(depth_ == -1);
else
Q_ASSERT(depth_ != -1);
searching_ = true;
//Q_ASSERT(domain_ != QString::null);
checkRoot();
}
示例6: deleteCancelledGallery
void KImGalleryPlugin::deleteCancelledGallery(const KURL& url, const QString& sourceDirName, int recursionLevel, const QString& imageFormat)
{
if (m_recurseSubDirectories && (recursionLevel >= 0)) {
QStringList subDirList;
QDir toplevel_dir = QDir( sourceDirName );
toplevel_dir.setFilter( QDir::Dirs );
subDirList = toplevel_dir.entryList();
for (QStringList::ConstIterator it = subDirList.begin(); it != subDirList.end(); it++) {
if (*it == "." || *it == ".." || *it == "thumbs" || (m_copyFiles && *it == "images")) {
continue; //disregard the "." and ".." directories
}
deleteCancelledGallery( KURL( url.directory() + "/" + *it + "/" + url.fileName() ),
sourceDirName + "/" + *it,
recursionLevel > 1 ? recursionLevel - 1 : 0, imageFormat);
}
}
const QString imgGalleryDir = url.directory();
QDir thumb_dir( imgGalleryDir + QString::fromLatin1("/thumbs/"));
QDir images_dir( imgGalleryDir + QString::fromLatin1("/images/"));
QDir imageDir( sourceDirName, "*.png *.PNG *.gif *.GIF *.jpg *.JPG *.jpeg *.JPEG *.bmp *.BMP",
QDir::Name|QDir::IgnoreCase, QDir::Files|QDir::Readable);
QFile file( url.path() );
// Remove the image file ..
file.remove();
// ..all the thumbnails ..
for (uint i=0; i < imageDir.count(); i++) {
const QString imgName = imageDir[i];
const QString imgNameFormat = imgName + extension(imageFormat);
bool isRemoved = thumb_dir.remove(imgNameFormat);
kdDebug(90170) << "removing: " << thumb_dir.path() << "/" << imgNameFormat << "; "<< isRemoved << endl;
}
// ..and the thumb directory
thumb_dir.rmdir(thumb_dir.path());
// ..and the images directory if images were to be copied
if (m_copyFiles) {
for (uint i=0; i < imageDir.count(); i++) {
const QString imgName = imageDir[i];
bool isRemoved = images_dir.remove(imgName);
kdDebug(90170) << "removing: " << images_dir.path() << "/" << imgName << "; "<< isRemoved << endl;
}
images_dir.rmdir(images_dir.path());
}
}
示例7: saveAs
void KexiImageContextMenu::saveAs()
{
QString origFilename, fileExtension;
bool dataIsEmpty = false;
emit aboutToSaveAsRequested(origFilename, fileExtension, dataIsEmpty);
if (dataIsEmpty) {
kdWarning() << "KexiImageContextMenu::saveAs(): no data!" << endl;
return;
}
if (!origFilename.isEmpty())
origFilename = QString("/") + origFilename;
if (fileExtension.isEmpty()) {
// PNG data is the default
fileExtension = "png";
}
#ifdef Q_WS_WIN
QString recentDir;
QString fileName = QFileDialog::getSaveFileName(
KFileDialog::getStartURL(":LastVisitedImagePath", recentDir).path() + origFilename,
convertKFileDialogFilterToQFileDialogFilter(KImageIO::pattern(KImageIO::Writing)),
this, 0, i18n("Save Image to File"));
#else
//! @todo add originalFileName! (requires access to KRecentDirs)
QString fileName = KFileDialog::getSaveFileName(
":LastVisitedImagePath", KImageIO::pattern(KImageIO::Writing), this, i18n("Save Image to File"));
#endif
if (fileName.isEmpty())
return;
if (QFileInfo(fileName).extension().isEmpty())
fileName += (QString(".")+fileExtension);
kdDebug() << fileName << endl;
KURL url;
url.setPath( fileName );
#ifdef Q_WS_WIN
//save last visited path
if (url.isLocalFile())
KRecentDirs::add(":LastVisitedImagePath", url.directory());
#endif
QFile f(fileName);
if (f.exists() && KMessageBox::Yes != KMessageBox::warningYesNo(this,
"<qt>"+i18n("File \"%1\" already exists."
"<p>Do you want to replace it with a new one?")
.arg(QDir::convertSeparators(fileName))+"</qt>",0,
KGuiItem(i18n("&Replace")), KGuiItem(i18n("&Don't Replace"))))
{
return;
}
//! @todo use KURL?
emit saveAsRequested(fileName);
}
示例8: insertFile
void Project::insertFile(const KURL& nameURL, bool repaint )
{
if (d->excludeRx.exactMatch(nameURL.path()))
return;
KURL url = nameURL;
if ( !d->baseURL.isParentOf(url) )
{
KURLRequesterDlg *urlRequesterDlg = new KURLRequesterDlg( d->baseURL.prettyURL(), d->m_mainWindow, "");
urlRequesterDlg->setCaption(i18n("%1: Copy to Project").arg(nameURL.prettyURL(0, KURL::StripFileProtocol)));
urlRequesterDlg->urlRequester()->setMode( KFile::Directory | KFile::ExistingOnly);
urlRequesterDlg->exec();
KURL destination = urlRequesterDlg->selectedURL();
if (destination.isLocalFile())
{
QDir dir(destination.path());
destination.setPath(dir.canonicalPath());
}
delete urlRequesterDlg;
if ( !destination.isEmpty() )
{
CopyTo *dlg = new CopyTo(d->baseURL);
connect(dlg, SIGNAL(deleteDialog(CopyTo*)), d,
SLOT(slotDeleteCopytoDlg(CopyTo*)));
url = dlg->copy( nameURL, destination );
}
else // Copy canceled, addition aborted
{
return;
}
}
QDomElement el;
while ( d->baseURL.isParentOf(url) )
{
if ( !d->m_projectFiles.contains(url) )
{
el = d->dom.createElement("item");
el.setAttribute("url", QuantaCommon::qUrl( QExtFileInfo::toRelative(url, d->baseURL) ));
d->dom.firstChild().firstChild().appendChild( el );
KURL u = url.upURL();
ProjectURL *parentURL = d->m_projectFiles.find(u);
int uploadStatus = 1;
if (parentURL)
uploadStatus = parentURL->uploadStatus;
d->m_projectFiles.insert( new ProjectURL(url, "", uploadStatus, false, el) );
}
url.setPath(url.directory(false));
}
emit eventHappened("after_project_add", url.url(), QString::null);
setModified();
if ( repaint )
{
emit reloadTree( &(d->m_projectFiles), false, QStringList());
emit newStatus();
}
}
示例9: realStreamUrl
KURL Proxy::realStreamUrl( KURL fakeStream, int sessionId )
{
KURL realStream;
realStream.setProtocol( "http" );
realStream.setHost(fakeStream.host());
realStream.setPort(fakeStream.port());
realStream.setPath( "/databases" + fakeStream.directory() + "/items/" + fakeStream.fileName() );
realStream.setQuery( QString("?session-id=") + QString::number(sessionId) );
return realStream;
}
示例10:
void
ScriptManager::slotConfigureScript()
{
const QString name = m_gui->listView->currentItem()->text( 0 );
if( !m_scripts[name].process ) return;
const KURL url = m_scripts[name].url;
QDir::setCurrent( url.directory() );
m_scripts[name].process->writeStdin( "configure" );
}
示例11: setPath
void AtomicURL::setPath( const QString &path )
{
KURL url;
url.setPath( path );
if( m_beginning->isEmpty() )
*this = url;
else
{
m_directory = url.directory();
m_filename = url.fileName();
}
}
示例12: showPreview
void FilePreview::showPreview(const KURL &url)
{
if (!url.isLocalFile()){
showPreview(NULL);
return;
}
QString fileName = url.directory(false, false);
if (!fileName.isEmpty() && (fileName[fileName.length() - 1] != '/'))
fileName += '/';
fileName += url.fileName(false);
showPreview((const char*)fileName.local8Bit());
}
示例13: slotCreateFolder
void BaseTreeView::slotCreateFolder()
{
bool ok;
QString folderName = KInputDialog::getText(i18n("Create New Folder"), i18n("Folder name:"), "", &ok, this);
if (ok)
{
KURL url = currentURL();
if (currentKFileTreeViewItem()->isDir())
url.setPath(url.path() + "/" + folderName + "/");
else
url.setPath(url.directory() + "/" + folderName +"/");
QuantaNetAccess::mkdir(url, this, -1);
}
}
示例14: addURL
void KonqSidebarTree::addURL(KonqSidebarTreeTopLevelItem* item, const KURL & url)
{
QString path;
if (item)
path = item->path();
else
path = m_dirtreeDir.dir.path();
KURL destUrl;
if (url.isLocalFile() && url.fileName().endsWith(".desktop"))
{
QString filename = findUniqueFilename(path, url.fileName());
destUrl.setPath(filename);
KIO::NetAccess::copy(url, destUrl, this);
}
else
{
QString name = url.host();
if (name.isEmpty())
name = url.fileName();
QString filename = findUniqueFilename(path, name);
destUrl.setPath(filename);
KDesktopFile cfg(filename);
cfg.writeEntry("Encoding", "UTF-8");
cfg.writeEntry("Type","Link");
cfg.writeEntry("URL", url.url());
QString icon = "folder";
if (!url.isLocalFile())
icon = KMimeType::favIconForURL(url);
if (icon.isEmpty())
icon = KProtocolInfo::icon( url.protocol() );
cfg.writeEntry("Icon", icon);
cfg.writeEntry("Name", name);
cfg.writeEntry("Open", false);
cfg.sync();
}
KDirNotify_stub allDirNotify( "*", "KDirNotify*" );
destUrl.setPath( destUrl.directory() );
allDirNotify.FilesAdded( destUrl );
if (item)
item->setOpen(true);
}
示例15: insertFromFile
void KexiImageContextMenu::insertFromFile()
{
// QWidget *focusWidget = qApp->focusWidget();
#ifdef Q_WS_WIN
QString recentDir;
QString fileName = QFileDialog::getOpenFileName(
KFileDialog::getStartURL(":LastVisitedImagePath", recentDir).path(),
convertKFileDialogFilterToQFileDialogFilter(KImageIO::pattern(KImageIO::Reading)),
this, 0, i18n("Insert Image From File"));
KURL url;
if (!fileName.isEmpty())
url.setPath( fileName );
#else
KURL url( KFileDialog::getImageOpenURL(
":LastVisitedImagePath", this, i18n("Insert Image From File")) );
// QString fileName = url.isLocalFile() ? url.path() : url.prettyURL();
//! @todo download the file if remote, then set fileName properly
#endif
if (!url.isValid()) {
//focus the app again because to avoid annoying the user with unfocused main window
if (qApp->mainWidget()) {
//focusWidget->raise();
//focusWidget->setFocus();
qApp->mainWidget()->raise();
}
return;
}
kexipluginsdbg << "fname=" << url.prettyURL() << endl;
#ifdef Q_WS_WIN
//save last visited path
// KURL url(fileName);
if (url.isLocalFile())
KRecentDirs::add(":LastVisitedImagePath", url.directory());
#endif
emit insertFromFileRequested(url);
if (qApp->mainWidget()) {
// focusWidget->raise();
// focusWidget->setFocus();
qApp->mainWidget()->raise();
}
}