QStringList findFiles(const QString& path = QString()) { QStringList files; QDir dir = QDir::current(); if(!path.isEmpty()) dir = QDir(path); dir.setFilter(QDir::Files | QDir::Hidden | QDir::NoSymLinks); #if QT_VERSION >= 0x040000 QFileInfoList list = dir.entryInfoList(); for (int i = 0; i < list.size(); ++i) { QFileInfo fileInfo = list.at(i); files.append(dir.absoluteFilePath(fileInfo.fileName())); } #else const QFileInfoList* list = dir.entryInfoList(); if(list) { QFileInfoListIterator it( *list ); QFileInfo * fi; while( (fi=it.current()) != 0 ) { ++it; files.append(dir.absFilePath(fi->fileName())); } } #endif return files; }
BrowserColDiagram::~BrowserColDiagram() { if (deletedp() && !modifiedp()) { QString fn; fn.sprintf("%d.diagram", get_ident()); QDir d = BrowserView::get_dir(); QFile::remove(d.absFilePath(fn)); } all.remove(get_ident()); delete def; }
BrowserObjectDiagram::~BrowserObjectDiagram() { if (deletedp() && !modifiedp()) { QString fn; fn.sprintf("%d.diagram", get_ident()); QDir d = BrowserView::get_dir(); QFile::remove(d.absFilePath(fn)); } on_close(); // if(window) // window->set_browser_diagram(0); all.remove(get_ident()); delete def; }
// --------------------------------------------------------------- int PackageDialog::extractFile(QFile& PkgFile, Q_UINT32 Count, QDir& currDir) { char *p = (char*)malloc(Count); PkgFile.readBlock(p, Count); QByteArray Content = qUncompress((unsigned char*)p, Count); free(p); p = Content.data(); QFile File(currDir.absFilePath(QString(p))); if(!File.open(QIODevice::WriteOnly)) { MsgText->append(tr("ERROR: Cannot create file \"%1\"!").arg(QString(p))); return -1; } File.writeBlock(p+strlen(p)+1, Content.size()-strlen(p)-1); File.close(); MsgText->append(tr("Create file \"%1\"").arg(QString(p))); return 1; }
BrowserSeqDiagram::~BrowserSeqDiagram() { if (deletedp() && !modifiedp()) { QString fn; fn.sprintf("%d.diagram", get_ident()); QDir d = BrowserView::get_dir(); QFile::remove(d.absFilePath(fn)); } #if 0 // already done before browser->clear if (window) delete window; #endif all.remove(get_ident()); delete def; }
void KImGalleryPlugin::createBody(QTextStream& stream, const QString& sourceDirName, const QStringList& subDirList, const QDir& imageDir, const KURL& url, const QString& imageFormat) { int numOfImages = imageDir.count(); const QString imgGalleryDir = url.directory(); const QString today(KGlobal::locale()->formatDate(QDate::currentDate())); stream << "<body>\n<h1>" << QStyleSheet::escape(m_configDlg->getTitle()) << "</h1><p>" << endl; stream << i18n("<i>Number of images</i>: %1").arg(numOfImages) << "<br/>" << endl; stream << i18n("<i>Created on</i>: %1").arg(today) << "</p>" << endl; stream << "<hr/>" << endl; if (m_recurseSubDirectories && subDirList.count() > 2) { //subDirList.count() is always >= 2 because of the "." and ".." directories stream << i18n("<i>Subfolders</i>:") << "<br>" << endl; for (QStringList::ConstIterator it = subDirList.begin(); it != subDirList.end(); it++) { if (*it == "." || *it == "..") continue; //disregard the "." and ".." directories stream << "<a href=\"" << *it << "/" << url.fileName() << "\">" << *it << "</a><br>" << endl; } stream << "<hr/>" << endl; } stream << "<table>" << endl; //table with images int imgIndex; QFileInfo imginfo; QPixmap imgProp; for (imgIndex = 0; !m_cancelled && (imgIndex < numOfImages);) { stream << "<tr>" << endl; for (int col=0; !m_cancelled && (col < m_imagesPerRow) && (imgIndex < numOfImages); col++) { const QString imgName = imageDir[imgIndex]; if (m_copyFiles) { stream << "<td align='center'>\n<a href=\"images/" << imgName << "\">"; } else { stream << "<td align='center'>\n<a href=\"" << imgName << "\">"; } if (createThumb(imgName, sourceDirName, imgGalleryDir, imageFormat)) { const QString imgPath("thumbs/" + imgName + extension(imageFormat)); stream << "<img src=\"" << imgPath << "\" width=\"" << m_imgWidth << "\" "; stream << "height=\"" << m_imgHeight << "\" alt=\"" << imgPath << "\"/>"; m_progressDlg->setLabelText( i18n("Created thumbnail for: \n%1").arg(imgName) ); } else { kdDebug(90170) << "Creating thumbnail for " << imgName << " failed" << endl; m_progressDlg->setLabelText( i18n("Creating thumbnail for: \n%1\n failed").arg(imgName) ); } stream << "</a>" << endl; if (m_configDlg->printImageName()) { stream << "<div>" << imgName << "</div>" << endl; } if (m_configDlg->printImageProperty()) { imgProp.load( imageDir.absFilePath(imgName,true) ); stream << "<div>" << imgProp.width() << " x " << imgProp.height() << "</div>" << endl; } if (m_configDlg->printImageSize()) { imginfo.setFile( imageDir, imgName ); stream << "<div>(" << (imginfo.size() / 1024) << " " << i18n("KB") << ")" << "</div>" << endl; } if (m_useCommentFile) { QString imgComment = (*m_commentMap)[imgName]; stream << "<div>" << QStyleSheet::escape(imgComment) << "</div>" << endl; } stream << "</td>" << endl; m_progressDlg->setTotalSteps( numOfImages ); m_progressDlg->setProgress( imgIndex ); kapp->processEvents(); imgIndex++; } stream << "</tr>" << endl; } //close the HTML stream << "</table>\n</body>\n</html>" << endl; }
int main(int argc, char ** argv) { QApplication * app = new QApplication(argc, argv); int uid = -1; // note : QFile fp(QDir::home().absFilePath(".boumlrc")) doesn't work // if the path contains non latin1 characters, for instance cyrillic ! QDir homeDir = QDir::home(); QString s = homeDir.absFilePath(".boumlrc"); FILE * fp = fopen((const char *) s, "r"); int cx = -1; int cy = -1; int w = QApplication::desktop()->width(); int h = QApplication::desktop()->height(); if (fp != 0) { char line[512]; while (fgets(line, sizeof(line) - 1, fp) != 0) { remove_crlf(line); if (!strncmp(line, "ID ", 3)) { sscanf(line+3, "%d", &uid); break; } else if (!strncmp(line, "DESKTOP ", 8)) { int l, t, r, b; if (sscanf(line+8, "%d %d %d %d", &l, &t, &r, &b) == 4) { if (!((r == 0) && (t == 0) && (r == 0) && (b == 0)) && !((r < 0) || (t < 0) || (r < 0) || (b < 0)) && !((r <= l) || (b <= t))) { cx = (r + l) / 2; cy = (t + b) / 2; w = r - l; h = b - t; } } } } fclose(fp); } if (uid == -1) QMessageBox::critical(0, "Control project", "Own identifier not defined"); else if ((uid < 2) || (uid > 127)) QMessageBox::critical(0, "Control project", "invalid Identifier"); else { set_user_id(uid, homeDir.dirName()); app->connect(app, SIGNAL(lastWindowClosed()), SLOT(quit()) ); init_pixmaps(); ControlWindow * ww = new ControlWindow(homeDir); ww->resize((w * 3)/5, (h * 3)/5); if (cx != -1) ww->move(ww->x() + cx - (ww->x() + ww->width() / 2), ww->y() + cy - (ww->y() + ww->height() / 2)); ww->show(); app->exec(); } return 0; }
bool is_readonly(QDir & dir, QString fn) { QFileInfo fi(dir.absFilePath(fn)); return fi.exists() && !fi.isWritable(); }
void PMenu::writeConfig( QDir base_dir, PMenuItem *parent_item) { if( parent_item ) if( parent_item->read_only ) return; if( !base_dir.exists() ) { return; } QString name; const QStrList *temp_list = base_dir.entryList("*", QDir::Files); QStrList file_list; file_list.setAutoDelete(TRUE); QStrListIterator temp_it( *temp_list ); while( name = temp_it.current() ) { file_list.append(name); ++temp_it; } temp_list = base_dir.entryList("*", QDir::Dirs); QStrList dir_list; dir_list.setAutoDelete(TRUE); temp_it.toFirst(); while( name = temp_it.current() ) { if(name != "." && name != "..") dir_list.append(name); ++temp_it; } QString sort_order; PMenuItem *item; for( item = list.first(); item != 0; item = list.next() ) { // if( item->read_only ) // continue; if( item->entry_type == separator ) sort_order += ((QString) "SEPARATOR" + ','); else sort_order += (item->real_name + ','); if( item->getType() == submenu ) { if( !item->read_only ) { QDir sub_dir(base_dir); if( !sub_dir.cd(item->real_name) ) { base_dir.mkdir(item->real_name); if( !sub_dir.cd(item->real_name) ) continue; } item->sub_menu->writeConfig( sub_dir, item ); } dir_list.remove(item->real_name); } else { if( item->entry_type != separator ) { if( !item->read_only ) { if( item->real_name.isEmpty() ) item->real_name = uniqueFileName(item->text_name); item->writeConfig(base_dir); } file_list.remove(item->real_name); // + ".kdelnk"); } } } // remove files not in pmenu for( name = file_list.first(); name != 0; name = file_list.next() ) { if( isKdelnkFile(base_dir.absFilePath(name)) ) { //debug("will remove file: %s", (const char *) name ); base_dir.remove(name); } } // remove dirs not in pmenu for( name = dir_list.first(); name != 0; name = dir_list.next() ) { //debug("will remove dir: %s", (const char *) name ); QDir sub_dir(base_dir); if(sub_dir.cd(name)) { PMenu *new_menu = new PMenu; new_menu->writeConfig(sub_dir); delete new_menu; sub_dir.remove(".directory"); } base_dir.rmdir(name); } sort_order.truncate(sort_order.length()-1); QString file = base_dir.absPath(); file += "/.directory"; QFile config(file); if( !config.open(IO_ReadWrite) ) return; config.close(); KConfig kconfig(file); kconfig.setGroup("KDE Desktop Entry"); kconfig.writeEntry("SortOrder", sort_order); if( parent_item ) { kconfig.writeEntry("MiniIcon", parent_item->pixmap_name ); if( parent_item->big_pixmap_name.isEmpty() ) parent_item->big_pixmap_name = "folder.xpm"; kconfig.writeEntry("Icon", parent_item->big_pixmap_name ); kconfig.writeEntry("Name", parent_item->text_name, TRUE, FALSE, TRUE ); } kconfig.sync(); }