本文整理汇总了C++中KFileDialog::currentFilter方法的典型用法代码示例。如果您正苦于以下问题:C++ KFileDialog::currentFilter方法的具体用法?C++ KFileDialog::currentFilter怎么用?C++ KFileDialog::currentFilter使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类KFileDialog
的用法示例。
在下文中一共展示了KFileDialog::currentFilter方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: saveResults
void KFindTreeView::saveResults()
{
KFileDialog *dlg = new KFileDialog(QUrl(), QString(), this);
dlg->setOperationMode (KFileDialog::Saving);
dlg->setWindowTitle( i18nc("@title:window", "Save Results As") );
dlg->setFilter( QString::fromLatin1("*.html|%1\n*.txt|%2").arg( i18n("HTML page"), i18n("Text file") ) );
dlg->setConfirmOverwrite(true);
dlg->exec();
QUrl u = dlg->selectedUrl();
QString filter = dlg->currentFilter();
delete dlg;
if (!u.isValid() || !u.isLocalFile())
return;
QString filename = u.toLocalFile();
QFile file(filename);
if ( !file.open(QIODevice::WriteOnly) )
{
KMessageBox::error(parentWidget(),
i18n("Unable to save results."));
}
else
{
QTextStream stream( &file );
stream.setCodec( QTextCodec::codecForLocale() );
QList<KFindItem> itemList = m_model->getItemList();
if ( filter == QLatin1String("*.html") )
{
stream << QString::fromLatin1("<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Strict//EN\""
"\"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd\"><html xmlns=\"http://www.w3.org/1999/xhtml\">\n"
"<head>\n"
"<title>%2</title></head>\n"
"<meta charset=\"%1\">\n"
"<body>\n<h1>%2</h1>\n"
"<dl>\n")
.arg(QString::fromLatin1(QTextCodec::codecForLocale()->name()))
.arg(i18n("KFind Results File"));
Q_FOREACH( const KFindItem & item, itemList )
{
const KFileItem fileItem = item.getFileItem();
stream << QString::fromLatin1("<dt><a href=\"%1\">%2</a></dt>\n").arg(
fileItem.url().url(), fileItem.url().toDisplayString() );
}
stream << QString::fromLatin1("</dl>\n</body>\n</html>\n");
}
else
{
示例2: exportRecipes
void RecipeActionsHandler::exportRecipes( const QList<int> &ids, const QString & caption, const QString &selection, RecipeDB *database )
{
KFileDialog * fd = new KFileDialog( KUrl(),
QString( "*.kre|%1 (*.kre)\n"
"*.kreml|Krecipes (*.kreml)\n"
"*.txt|%3 (*.txt)\n"
//"*.cml|CookML (*.cml)\n"
"*|%4\n"
"*.html|%2 (*.html)\n"
"*.mmf|Meal-Master (*.mmf)\n"
"*.xml|RecipeML (*.xml)\n"
"*.mx2|MasterCook (*.mx2)\n"
"*.rk|Rezkonv (*.rk)"
).arg( i18n( "Compressed Krecipes format" ) )
.arg( i18n( "Web page" ) )
.arg( i18n("Plain Text") )
.arg( i18n("Web Book") ),
0 );
fd->setObjectName( "export_dlg" );
fd->setModal( true );
fd->setCaption( caption );
fd->setOperationMode( KFileDialog::Saving );
fd->setSelection( selection );
fd->setMode( KFile::File | KFile::Directory );
if ( fd->exec() == KFileDialog::Accepted ) {
QString fileName = fd->selectedFile();
if ( !fileName.isEmpty() ) {
BaseExporter * exporter;
if ( fd->currentFilter() == "*.xml" )
exporter = new RecipeMLExporter( fileName, fd->currentFilter() );
else if ( fd->currentFilter() == "*.mx2" )
exporter = new MX2Exporter( fileName, fd->currentFilter() );
else if ( fd->currentFilter() == "*.mmf" )
exporter = new MMFExporter( fileName, fd->currentFilter() );
else if ( fd->currentFilter() == "*" ) {
CategoryTree *cat_structure = new CategoryTree;
database->loadCategories( cat_structure );
exporter = new HTMLBookExporter( cat_structure, fd->baseUrl().path(), "*.html" );
}
else if ( fd->currentFilter() == "*.html" ) {
exporter = new HTMLExporter( fileName, fd->currentFilter() );
XSLTExporter exporter_junk( fileName, "*.html" ); // AGH, i don't get build systems...
}
else if ( fd->currentFilter() == "*.cml" )
exporter = new CookMLExporter( fileName, fd->currentFilter() );
else if ( fd->currentFilter() == "*.txt" )
exporter = new PlainTextExporter( fileName, fd->currentFilter() );
else if ( fd->currentFilter() == "*.rk" )
exporter = new RezkonvExporter( fileName, fd->currentFilter() );
else {
CategoryTree *cat_structure = new CategoryTree;
database->loadCategories( cat_structure );
exporter = new KreExporter( cat_structure, fileName, fd->currentFilter() );
}
int overwrite = -1;
if ( QFile::exists( exporter->fileName() ) ) {
overwrite = KMessageBox::warningYesNo( 0, i18n( "File \"%1\" exists. Are you sure you want to overwrite it?" , exporter->fileName()), i18nc( "@title:window", "Saving recipe" ) );
}
if ( overwrite == KMessageBox::Yes || overwrite == -1 ) {
KProgressDialog progress_dialog( 0, QString(), i18nc( "@info:progress", "Saving recipes..." ) );
progress_dialog.setObjectName("export_progress_dialog");
exporter->exporter( ids, database, &progress_dialog );
}
delete exporter;
}
}
delete fd;
}