void Processor::setBugListQuery( KURL &url, const Package &product, const QString &component ) { if ( mServer->serverConfig().bugzillaVersion() == "Bugworld" ) { url.setFileName( "bugworld.cgi" ); } else { url.setFileName( "xmlquery.cgi" ); } QString user = mServer->serverConfig().user(); if ( component.isEmpty() ) url.setQuery( "?user="******"&product=" + product.name() ); else url.setQuery( "?user="******"&product=" + product.name() + "&component=" + component ); }
void ThumbView::slImageChanged( KFileItem *kfit ) { if( ! kfit ) return; // kdDebug(28000) << "changes to one thumbnail!" << endl; KURL thumbDir = currentDir(); KURL itemUrl = kfit->url(); /* delete filename */ itemUrl.setFileName( QString()); if( !itemUrl.equals( thumbDir, true )) { // kdDebug(28000) << "returning, because directory does not match: " << itemUrl.prettyURL() << endl; // kdDebug(28000) << "and my URL: " << thumbDir.prettyURL() << endl; return; } if( deleteImage( kfit )) { kdDebug(28000) << "was changed, deleted first!" << endl; } /* Trigger a new reading */ KFileItemList li; li.append( kfit ); slNewFileItems( li ); }
KalziumDataObject::KalziumDataObject() { QDomDocument doc( "datadocument" ); KURL url; url.setPath( locate("data", "kalzium/data/")); url.setFileName( "data.xml" ); QFile layoutFile( url.path() ); if (!layoutFile.exists()) { kdDebug() << "data.xml not found, exiting" << endl; kapp->exit(0); return; } if (!layoutFile.open(IO_ReadOnly)) { kdDebug() << "data.xml IO-error" << endl; return; } // Check if the document is well-formed if (!doc.setContent(&layoutFile)) { kdDebug() << "wrong xml" << endl; layoutFile.close(); return; } layoutFile.close(); ElementList = readData( doc ); m_numOfElements = ElementList.count(); }
void KfindWindow::openFolder() { KFileItem fileitem = ((KfFileLVI *)currentItem())->fileitem; KURL url = fileitem.url(); url.setFileName(TQString::null); (void) new KRun(url); }
void KJumpingCube::saveGame(bool saveAs) { if(saveAs || gameURL.isEmpty()) { int result=0; KURL url; do { url = KFileDialog::getSaveURL(gameURL.url(),"*.kjc",this,0); if(url.isEmpty()) return; // check filename QRegExp pattern("*.kjc",true,true); if(!pattern.exactMatch(url.filename())) { url.setFileName( url.filename()+".kjc" ); } if(KIO::NetAccess::exists(url,false,this)) { QString mes=i18n("The file %1 exists.\n" "Do you want to overwrite it?").arg(url.url()); result = KMessageBox::warningContinueCancel(this, mes, QString::null, i18n("Overwrite")); if(result==KMessageBox::Cancel) return; } } while(result==KMessageBox::No); gameURL=url; } KTempFile tempFile; tempFile.setAutoDelete(true); KSimpleConfig config(tempFile.name()); config.setGroup("KJumpingCube"); config.writeEntry("Version",KJC_VERSION); config.setGroup("Game"); view->saveGame(&config); config.sync(); if(KIO::NetAccess::upload( tempFile.name(),gameURL,this )) { QString s=i18n("game saved as %1"); s=s.arg(gameURL.url()); statusBar()->message(s,MESSAGE_TIME); } else { KMessageBox::sorry(this,i18n("There was an error in saving file\n%1").arg(gameURL.url())); } }
void BaseTreeView::slotPaste() { if (currentItem()) { QClipboard *cb = QApplication::clipboard(); KURL::List list( QStringList::split( QChar('\n'), cb->text() ) ); KURL url = currentURL(); if ( ! currentKFileTreeViewItem()->isDir() ) url.setFileName(""); // don't paste on files but in dirs QuantaNetAccess::dircopy(list, url, m_parent, true); } }
QXsldbgDoc::QXsldbgDoc(QWidget *parent, KURL url) : QObject(0L, "QXsldbgDoc"), kDoc(0L),kView(0L), locked(false) { kDoc = KTextEditor::createDocument("libkatepart", 0L,"KTextEditor::Document"); connect(kDoc, SIGNAL(started(KIO::Job *)), this, SLOT(lockDoc())); connect(kDoc, SIGNAL(completed()), this, SLOT(unlockDoc())); if (kDoc){ kView = kDoc->createView(parent, "QXsldbgDocView"); KURL cleanUrl; // convert paths relative to PWD into a absolute path QString relUrl = url.prettyURL(); if (!relUrl.contains(":/")){ if (!(relUrl.left(1) == "/")) relUrl.prepend(QDir::currentDirPath() + "/"); cleanUrl.setFileName(relUrl); }else{ cleanUrl = url; } kDoc->openURL(cleanUrl); } }
void BaseTreeView::doRename(KFileTreeViewItem* kftvi, const QString & newName) { if (! kftvi) return; KURL oldURL = kftvi->url(); KURL newURL = oldURL; if (kftvi->isDir()) { newURL.setPath(QFileInfo(oldURL.path(-1)).dirPath() + '/' + newName + '/'); oldURL.adjustPath(1); } else { newURL.setFileName(newName); } if ( oldURL != newURL ) { bool proceed = true; if (QExtFileInfo::exists(newURL, false, this)) { proceed = KMessageBox::warningContinueCancel(this, i18n("<qt>The file <b>%1</b> already exists.<br>Do you want to overwrite it?</qt>").arg(newURL.prettyURL(0, KURL::StripFileProtocol)),i18n("Overwrite"), i18n("Overwrite")) == KMessageBox::Continue; } if (proceed) { //start the rename job oldURL.adjustPath(-1); newURL.adjustPath(-1); if (!QuantaNetAccess::file_move(oldURL, newURL, -1, true, false, m_parent, true)) { kftvi->setText(0, kftvi->fileItem()->text()); // reset the text } } else { kftvi->setText(0, kftvi->fileItem()->text()); // reset the text } } }
void KSnapshot::autoincFilename() { // Extract the filename from the path QString name= filename.fileName(); // If the name contains a number then increment it QRegExp numSearch("[0-9]+"); // Does it have a number? int start = numSearch.search(name); if (start != -1) { // It has a number, increment it int len = numSearch.matchedLength(); QString numAsStr= name.mid(start, len); QString number = QString::number(numAsStr.toInt() + 1); number = number.rightJustify( len, '0'); name.replace(start, len, number ); } else { // no number start = name.findRev('.'); if (start != -1) { // has a . somewhere, e.g. it has an extension name.insert(start, '1'); } else { // no extension, just tack it on to the end name += '1'; } } //Rebuild the path KURL newURL = filename; newURL.setFileName( name ); setURL( newURL.url() ); }
bool KEduVocDocument::saveAs(QObject * /*parent*/, const KURL & url, FileType ft, const QString & generator) { // connect( this, SIGNAL(progressChanged(KEduVocDocument*,int)), parent, SLOT(slotProgress(KEduVocDocument*,int)) ); KURL tmp (url); if (ft == automatic) { if (tmp.path().right(strlen("." KVTML_EXT)) == "." KVTML_EXT) ft = kvtml; else if (tmp.path().right(strlen("." VT5_LEX_EXT)) == "." VT5_LEX_EXT) ft = vt_lex; else if (tmp.path().right(strlen("." VCB_EXT)) == "." VCB_EXT) ft = vt_vcb; else if (tmp.path().right(strlen("." CSV_EXT)) == "." CSV_EXT) ft = csv; else { tmp.setFileName(tmp.path() + "." KVTML_EXT); ft = kvtml; } } bool saved = false; while (!saved) { QFile f(tmp.path()); if (!f.open(IO_WriteOnly)) { KMessageBox::error(0, i18n("<qt>Cannot write to file<br><b>%1</b></qt>").arg(tmp.path())); return false; } QApplication::setOverrideCursor( waitCursor ); switch (ft) { case kvtml: { KEduVocKvtmlWriter kvtmlWriter(&f); saved = kvtmlWriter.writeDoc(this, generator); } break; case vt_lex: { QTextStream os( &f ); // serialize using f //TODO saved = saveToLex(os, title); } break; case vt_vcb: { QTextStream os( &f ); // serialize using f //TODO saved = saveToVcb(os, title); } break; case csv: { QTextStream os( &f ); // serialize using f //TODO saved = saveToCsv(os, title); } break; default: { kdError() << "kvcotrainDoc::saveAs(): unknown filetype" << endl; } break; } f.close(); QApplication::restoreOverrideCursor(); if (!saved) { // TODO new writers provide an explicite error message // the two messages should be merged QString format = i18n("Could not save \"%1\"\nDo you want to try again?"); QString msg = format.arg(tmp.path()); int result = KMessageBox::warningContinueCancel(0, msg, kapp->makeStdCaption(i18n("I/O Failure")), i18n("&Retry")); if ( result == KMessageBox::Cancel ) return false; } } doc_url = tmp; dirty = false; emit docModified(false); return true; }
bool ReportManager::showReport(QListViewItem* lvi, bool& showReportTab) { ManagedReportInfo* mr = 0; showReportTab = true; if (!lvi) { /* If the lvi is null then we try to show the current report or the * first interactive report. */ if (browser->currentItem()) lvi = browser->currentItem(); else if (qtReports->firstChild()) lvi = (qtReports->firstChild()); } for (std::list<ManagedReportInfo*>::const_iterator mri = reports.begin(); mri != reports.end(); ++mri) if ((*mri)->getBrowserEntry() == lvi) mr = *mri; if (!mr) { /* In case there is no corresponding list view entry we show the * summary report. The summary report has no report definition, so it * can be identified by a 0 pointer. */ for (std::list<ManagedReportInfo*>::const_iterator mri = reports.begin(); mri != reports.end(); ++mri) if ((*mri)->getProjectReport() == 0) { mr = *mri; break; } } TjUIReportBase* tjr = mr->getReport(); Report *rep = mr->getProjectReport(); const char * type = rep ? rep->getType() : ""; bool result = true; if (tjr == 0) { if (rep == 0) tjr = new TjSummaryReport(reportStack, this, project); else if (strcmp(type, "QtTaskReport") == 0) tjr = new TjTaskReport(reportStack, this, rep); else if (strcmp(type, "QtResourceReport") == 0) tjr = new TjResourceReport(reportStack, this, rep); else if (strncmp(type, "CSV", 3) == 0) { if (!rep->generate()) result = false; // show the CSV file in preferred CSV handler QString baseDir; if (rep->getFileName()[0].latin1() == '/') baseDir = "/"; else baseDir = rep->getDefinitionFile(); KURL reportUrl = KURL::fromPathOrURL(baseDir); reportUrl.setFileName(rep->getFileName()); changeStatusBar(i18n("Displaying CSV report: '%1'") .arg(rep->getFileName())); KRun::runURL(reportUrl, "text/x-csv"); } else if (strncmp(type, "SVG", 3) == 0) { if (!rep->generate()) result = false; // show the SVG file in preferred SVG handler KURL reportUrl = KURL::fromPathOrURL(rep->getDefinitionFile()); reportUrl.setFileName(rep->getFileName()); changeStatusBar(i18n("Displaying SVG report: '%1'") .arg(rep->getFileName())); KRun::runURL(reportUrl, "image/svg+xml"); } else if (strncmp(type, "HTML", 4) == 0) tjr = new TjHTMLReport(reportStack, this, rep); else if (strncmp(type, "ICal", 4) == 0) { if (!rep->generate()) result = false; else { // show the TODO list in Korganizer KURL reportUrl = KURL::fromPathOrURL(rep->getDefinitionFile()); reportUrl.setFileName(rep->getFileName()); changeStatusBar(i18n("Displaying iCalendar: '%1'") .arg(rep->getFileName())); KRun::runURL(reportUrl, "text/calendar"); } } else if (strncmp(type, "Export", 6) == 0) { // Generate the report file if (!rep->generate()) result = false; else { // Get the full file name as URL and show it in the editor KURL reportUrl = KURL::fromPathOrURL(rep->getFullFileName()); if (reportUrl.url().right(4) == ".tjp") { changeStatusBar(i18n("Starting new TaskJuggler for '%1'") .arg(rep->getFileName())); KRun::runURL(reportUrl, "application/x-tjp"); } else { emit signalEditFile(reportUrl); showReportTab = false; } } } else if (strncmp(type, "XMLReport", 9) == 0) { bool result = rep->generate(); if (result) { KMessageBox::information (mainWindow, i18n("The report '%1' has been generated.") .arg(rep->getFileName()), QString::null, "XMLReportGeneratedInfo"); changeStatusBar(i18n("The report '%1' has been generated") .arg(rep->getFileName())); } else changeStatusBar(i18n("Could not generated report '%1'") .arg(rep->getFileName())); } else { kdDebug() << "Report type " << type << " not yet supported" << endl; result = false; } if (!tjr) { /* A report with no widget that can be embedded in the report view * has been selected. We fall back to show the summary report and * unselect the selected browser item. */ if (browser->currentItem()) browser->setSelected(browser->currentItem(), false); tjr = new TjSummaryReport(reportStack, this, project); } connect(tjr, SIGNAL(signalChangeStatusBar(const QString&)), this, SLOT(changeStatusBar(const QString&))); connect(tjr, SIGNAL(signalEditCoreAttributes(CoreAttributes*)), this, SLOT(editCoreAttributes(CoreAttributes*))); if (!tjr->generateReport()) { delete tjr; if (browser->currentItem()) browser->setSelected(browser->currentItem(), false); return false; } reportStack->addWidget(tjr); mr->setReport(tjr); } // in older versions of KDE, this produces a (seemingly harmless) warning // ASSERT: "id < (int)d->m_list.count()" in ./kdeui/kactionclasses.cpp (433) reportStack->raiseWidget(tjr); return result; }
void Processor::setBugDetailsQuery( KURL &url, const Bug &bug ) { url.setFileName( "xml.cgi" ); url.setQuery( "?id=" + bug.number() ); }
void Processor::setPackageListQuery( KURL &url ) { url.setFileName( "xml.cgi" ); url.setQuery( "?data=versiontable" ); }
bool TrashImpl::createInfo( const TQString& origPath, int& trashId, TQString& fileId ) { kdDebug() << k_funcinfo << origPath << endl; // Check source const TQCString origPath_c( TQFile::encodeName( origPath ) ); KDE_struct_stat buff_src; if ( KDE_lstat( origPath_c.data(), &buff_src ) == -1 ) { if ( errno == EACCES ) error( TDEIO::ERR_ACCESS_DENIED, origPath ); else error( TDEIO::ERR_DOES_NOT_EXIST, origPath ); return false; } // Choose destination trash trashId = findTrashDirectory( origPath ); if ( trashId < 0 ) { kdWarning() << "OUCH - internal error, TrashImpl::findTrashDirectory returned " << trashId << endl; return false; // ### error() needed? } kdDebug() << k_funcinfo << "trashing to " << trashId << endl; // Grab original filename KURL url; url.setPath( origPath ); const TQString origFileName = url.fileName(); // Make destination file in info/ url.setPath( infoPath( trashId, origFileName ) ); // we first try with origFileName KURL baseDirectory; baseDirectory.setPath( url.directory() ); // Here we need to use O_EXCL to avoid race conditions with other tdeioslave processes int fd = 0; do { kdDebug() << k_funcinfo << "trying to create " << url.path() << endl; fd = ::open( TQFile::encodeName( url.path() ), O_WRONLY | O_CREAT | O_EXCL, 0600 ); if ( fd < 0 ) { if ( errno == EEXIST ) { url.setFileName( TDEIO::RenameDlg::suggestName( baseDirectory, url.fileName() ) ); // and try again on the next iteration } else { error( TDEIO::ERR_COULD_NOT_WRITE, url.path() ); return false; } } } while ( fd < 0 ); const TQString infoPath = url.path(); fileId = url.fileName(); Q_ASSERT( fileId.endsWith( ".trashinfo" ) ); fileId.truncate( fileId.length() - 10 ); // remove .trashinfo from fileId FILE* file = ::fdopen( fd, "w" ); if ( !file ) { // can't see how this would happen error( TDEIO::ERR_COULD_NOT_WRITE, infoPath ); return false; } // Contents of the info file. We could use KSimpleConfig, but that would // mean closing and reopening fd, i.e. opening a race condition... TQCString info = "[Trash Info]\n"; info += "Path="; // Escape filenames according to the way they are encoded on the filesystem // All this to basically get back to the raw 8-bit representation of the filename... if ( trashId == 0 ) // home trash: absolute path info += KURL::encode_string( origPath, m_mibEnum ).latin1(); else info += KURL::encode_string( makeRelativePath( topDirectoryPath( trashId ), origPath ), m_mibEnum ).latin1(); info += "\n"; info += "DeletionDate="; info += TQDateTime::currentDateTime().toString( Qt::ISODate ).latin1(); info += "\n"; size_t sz = info.size() - 1; // avoid trailing 0 from QCString size_t written = ::fwrite(info.data(), 1, sz, file); if ( written != sz ) { ::fclose( file ); TQFile::remove( infoPath ); error( TDEIO::ERR_DISK_FULL, infoPath ); return false; } ::fclose( file ); kdDebug() << k_funcinfo << "info file created in trashId=" << trashId << " : " << fileId << endl; return true; }